印刷できない文字を表示することを選択したときに、MS Word がレンダリングするように、通常のスペース、改行なしのスペース、およびその他の書式設定文字 (左から右へのマークなど) をレンダリングする方法が必要です。
私は2つのアプローチを試みました:
1) 文字をめったに使用されない文字に置き換えます。動作しますが、この場合、改行不可能なスペースの「改行しない」動作が失われます (また、LTR および RTL マークも機能しなくなります)。
2) カスタムフォントを使用する
ノンブレーク スペースと LTR/RTL マークの特別な動作を保持できますが、何らかの奇妙な理由で、WPF はノンブレーク スペースを通常のスペース グリフでレンダリングします。
WinForms RichTextBox は、同じフォントのテキストを正しくレンダリングします。
この問題は、スペースと非改行スペースに異なるスペース グリフを持つ別のフォントを適用することで解決できますが、グリフを追加しても LTR および RTL マークはまったくレンダリングされません。
「LTR」、「RTL」、「非破壊的」動作を維持しながら、目に見えるグリフでその文字をレンダリングする方法について何か考えはありますか?