在将其加载到richTextBox之前,我需要在.txt文件(或.rtf)中设置字体集。如果我不这样做,则设置默认字体,并且richTextBox.Text的字体与原始.txt文件中设置的字体不同...
我正在处理从RichTextBox继承的自定义TextPanel。
if (File.Exists(file))
{
if (Path.GetExtension(file) == ".txt")
{
// I need to get the font here from the path "file" .txt document
textPanel = new TextPanel(file, this);
textPanel.LoadFile(file, RichTextBoxStreamType.PlainText);
我确信有一种简单的方法可以做到这一点,但是找不到它:(
答案 0 :(得分:4)
Thomas,.txt不存储字体信息,除非您有自定义文件格式,而您没有注意到该问题。更改NotePad中的文本只是一个显示功能,对文件本身没有任何作用。
RTF会存储字体信息,并在将其推送到RTB时加载。
干杯。
答案 1 :(得分:1)
TXT文件没有标题。它们是纯文本文件,没有任何其他文件结构或隐式格式(如RTF)。例如,您可以在打开应用程序时使用应用程序的默认字体样式...或默认的NotePad字体(Lucida Console,普通,10)。
答案 2 :(得分:1)
纯文本文件不存储字体信息。 (它们是普通文本文件,这意味着它们只存储文本。)当它们被加载时,它们使用它们显示的容器的字体。
如果实际的richtext(.rtf
)文件包含字体信息,并且它作为.rtf文件加载(请勿使用RichTextBoxStreamType.PlainText
,而是使用RichTextBoxStreamType.RichText
),{ {1}}应自动为您设置字体,不涉及任何代码。