RichTextBox不使用RTF字体名称

时间:2014-05-16 19:47:10

标签: wpf rtf

我有一个WPF RichTextBox

<RichTextBox x:Name="txtMain" IsReadOnly="True" />

我通过DataFormats.Rtf

为其分配了一些RTF格式的文字
string rtf = "\\li90{\\cf0 Marc Says:}\\par\\li180{{\\fonttbl {\\f0\\fnil\\fcharset0 Consolas;}}\\cf2\\fs18 Test font name}\\par"

FlowDocument fd = new FlowDocument();
MemoryStream ms = new MemoryStream(Encoding.ASCII.GetBytes(rtf));
TextRange textRange = new TextRange(fd.ContentStart, fd.ContentEnd);
textRange.Load(ms, DataFormats.Rtf);
txtMain.Document = fd;

但是,RichTextBox使用默认指定的 Segoe UI 字体名称,而不是使用RTF字体名称 Consolas

想法?

1 个答案:

答案 0 :(得分:0)

更改

MemoryStream ms = new MemoryStream(Encoding.ASCII.GetBytes(rtf));

MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(rtf));

还要确保RTF正确无误。