-1

下面的 RTF 类似于过去十年中一些用户通过自定义写字板使用 delphi 应用程序保存的 RTF,例如使用 trichedit 控件的小应用程序(仿照 Delphi 附带的示例)。该应用程序已在 Delphi 7 中实现,可在 XP 和 windows 7 上运行。

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

    {\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 Roman。fcharset2 符号对我来说很有意义,例如,它用于列表项目符号。

例如,我不明白的是,fcharset2 Roman 是如何进入 rtf 的?我假设某个用户有一种名为浪漫的字体,他/她输入了文本,突出显示它并将字体更改为浪漫。但是为什么富编辑控件保存的是 fcharset2 而不是 fcharset0?

谢谢

4

1 回答 1

0

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

如您所见,值为 2 表示SYMBOL_CHARSET. 所以,每当你看到\fcharset2这意味着字体使用符号字符集。

于 2014-08-29T07:02:00.993 回答