下面的 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?
谢谢