fcharset2字体字符显示为符号字符

时间:2014-08-28 23:48:43

标签: delphi rtf trichedit

下面的RTF与RTF类似,在过去十年中,一些用户使用delphi应用程序通过自定义wordpad(如使用Delphi附带的样本建模)使用trichedit控件使用delphi应用程序。该应用程序已在Delphi 7中实现,并在XP和Windows 7上运行。

我将rtf片段保存到rtf文件中,当我在word或wordpad中打开它时,它们会显示符号字符而不是文本。在我看来,它是有道理的,因为使用的fcharset是2,这是符号。

    {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 SansSerif;}{\f1\fnil\fcharset0 Calibri;}}
    {\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang9\f0\fs22 Line 1\f1\par
    }

我查看了应用程序中保存的一些RTF文档实例,其中使用了fcharset2,我看到了以下模式:fcharset2 SansSerif,fcharset2 Symbol和fcharset2 Romantic。 fcharset2符号对我来说很有意义,例如,它用于列表项目符号。

我不明白,因此我的帖子是,fcharset2 Romantic是如何进入rtf的?我假设某些用户有一个名为Romantic的字体,他/她键入文本,突出显示它并将字体更改为Romantic。但为什么富编辑控件保存fcharset2而不是fcharset0?

由于

1 个答案:

答案 0 :(得分:0)

\fcharsetN标识字体的字符集。 N的值是字符集的标识符。此页面列出了N的值:http://msdn.microsoft.com/en-us/library/cc194829.aspx

如您所见,值2表示SYMBOL_CHARSET。因此,每当您看到\fcharset2表示该字体使用符号字符集时。