代码之家  ›  专栏  ›  技术社区  ›  Peter Lee

在RichTextBox中显示特殊字符(朝鲜语字母)

  •  1
  • Peter Lee  · 技术社区  · 15 年前

    我的问题可能有点困惑,但我认为还是值得注意的。

    基本上,我正在设计一个程序来显示RichTextBox中所有可打印的Unicode字符。

    我使用的是VC 2010速成版。

    但是,richtextbox有一个关键问题:某些特殊字符无法正确显示。

    For example, some Korean Characters (ᄀᄁᆪᄂᆬᆭᄃᄄᄅᆰᆱᆲᆳᆴᆵᄚᄆᄇᄈᄡᄉᄊᄋᄌᄍᄎᄏᄐᄑᄒ), can be displayed correctly in Microsoft Word. 复制到richtextbox后,字符无法正确显示。但是,当我复制回Microsoft Word时,它可以正确显示。

    因此,这是一个显示问题(字符本身是正确的)。我想这可能是字体问题。

    一些相关的属性信息: richtextbox.font.gdichase文本框 RichTextBox.字体

    我怎么解决?以便所有可打印的Unicode字符都能正确显示(可以对不同的字符集使用不同的字体)。

    实际上,在粘贴时删除所有格式时,我需要进一步的帮助 rtbxfilecontent.paste(dataformats.getformat(dataformats.text));//dataformats.unicodetext

    我仍然需要正确显示所有可打印字符,但不需要任何格式(字体除外)。

    谢谢。

    希望我能让自己明白。

    2 回复  |  直到 12 年前
        1
  •  1
  •   cofiem    15 年前

    我不喜欢听起来像Office Clippy女士,但你的问题似乎很像 this one .

    本质上,你不是疯了,这很难。您可以尝试手动读/写文本,使用 UTF8Encoding BinaryWriter / BinaryReader .

        2
  •  0
  •   Peter Lee    15 年前

    我发现字体“ArialUnicodeMS”几乎可以解决我的问题,但是字符集的一些字符在我看来很奇怪。(另外,如果用户计算机没有安装字体“Arial Unicode MS”,该怎么办?

    所以我仍然在寻找一个更好的通用解决方案来解决我的问题:自动为richtextbox中的不同字符集使用不同的字体。

    谢谢。