希腊字母显示问题

Greek letter display issue

我想在 richtextbox (winforms 4.5.2) 中显示希腊字母 lambda。

我的 RTF 将如下所示:

richTextBox1.Rtf = "{\rtf1\ansi\deff0{\fonttbl{\f0\fswiss\fcharset0 Arial;}}\uc1\pard\f0\fs24 pdioxaborolan-2-yl)phenyl]-λ⁶-sulfane}";

但它总是将 λ⁶ 显示为两个 ?? (问号)

我也试过直接用 \u03BB 代替希腊符号,输出没有任何变化。

请帮助显示希腊字母。

如果我直接分配文本就可以了。

richTextBox1.Text = "pdioxaborolan-2-yl)phenyl]-λ⁶-sulfane";

(在这种情况下,lambda 显示为希腊字母,但上标显示为方框)

谢谢...

简短的回答是你显示的 RTF 不支持字符,我猜是字体。

作为测试,我向 richtextbox(RTB) 添加了一些文本。 RTB 的字体不支持这些字符。使用此代码,我能够将您的文本正确添加到 RTB

的末尾
    RichTextBox1.SelectionStart = RichTextBox1.TextLength - 1
    RichTextBox1.SelectionLength = 0

    RichTextBox1.SelectedRtf = "{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}{\f1\fnil\fcharset161{\*\fname Times New Roman;}Times New Roman Greek;}}\uc1\pard\f0\fs24 pdioxaborolan-2-yl)phenyl]-\f1\'eb\f0\u8310?-sulfane}"

结果

sd              486
sdivs             1
------------
Total           531

Other           540  e.g. text, comment

pdioxaborolan-2-yl)phenyl]-λ⁶-sulfane