当您选择显示不可打印字符时,我需要渲染常规空格、不间断空格和一些其他格式字符(如从左到右标记)的方法,例如 MS Word 渲染它们。
我尝试了两种方法:
1)用很少使用的字符替换字符。它有效,但在这种情况下,我们失去了不可破坏空间的“非破坏”行为(并且 LTR 和 RTL 标记也停止工作)
2)使用自定义字体
它允许保留不间断空格和 LTR/RTL 标记的特殊行为,但出于某种奇怪的原因,WPF 会使用通常的空格字形呈现不间断空格。
WinForms RichTextBox 正确呈现具有相同字体的文本。
这个问题可以通过为空格和不间断空格应用具有不同空格字形的不同字体来解决,但是即使我为它们添加字形,也根本不会渲染 LTR 和 RTL 标记。
你有什么想法我可以用可见的字形渲染这些字符,保留它们的“LTR”、“RTL”、“不间断”行为吗?