希腊字母显示问题
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
我想在 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