【问题标题】:fcharset2 font characters show up as symbol charsfcharts2 字体字符显示为符号图表
【发布时间】:2014-08-28 23:48:43
【问题描述】:

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

我将 rtf sn-p 保存到一个 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 Romantic 是如何进入 rtf 的?我假设某个用户有一种名为浪漫的字体,他/她输入了文本,突出显示它并将字体更改为浪漫。但是为什么富编辑控件保存的是 fcharset2 而不是 fcharset0?

谢谢

【问题讨论】:

    标签: delphi rtf trichedit


    【解决方案1】:

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

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

    【讨论】:

    • 这也是我的理解。我不明白的是用户的操作是什么触发了在 rtf 中保存 \fcharset2 我知道如果您在字体对话框中选择符号字体,则使用 \fcharset2,但其他字体?这些东西可以来自word粘贴吗?另一件事是,这跨越了十年。用户经历了不同的操作系统,不同版本的软件等。我基本上没有用户要问。我在我的电脑上尝试了几种字体:Symbol、Wingdings 用 \fcharset2 保存,其他用 \fcharset0 保存。
    • 创建这个明确使用的符号字符集的人使用的字体。
    • 我认为我的困惑来自这样一个事实,即这些字体显然是用 charset 2 指定的,但是,它们包含普通字母、数字等。我有点期望如果字体与 charset 2 相关联, 它只包含符号。
    • 那么,你有这个字体吗?
    • 是的,我设法找到了 SansSerif 和其他一些字体。在我将它们安装到我的计算机上后,内容显示正常。
    猜你喜欢
    • 2019-04-22
    • 2019-05-20
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 2016-02-07
    • 1970-01-01
    • 2020-06-20
    • 2021-11-07
    相关资源
    最近更新 更多