【问题标题】:Unicode Font Support - WinForms LabelUnicode 字体支持 - WinForms 标签
【发布时间】:2016-09-01 11:46:24
【问题描述】:

我有一个 WinForms 标签控件,它从 JSON 对象读取数据并设置文本属性。

我还没有找到正确支持某些字形的字体。

在我的情况下,我只与欧洲国家打交道,所以没有中国人或日本人。

这是一个如何在标签控件中呈现它的示例:

但是,当我在 Visual Studio 中打开 JSON 文件并使用 Consolas 进行渲染时,它看起来很好:

即使我将标签设置为 Consolas 字体,它也与 Visual Studio 显示的不匹配。

我必须在这里做什么才能使标签正确呈现这些字形?

【问题讨论】:

  • 与字体无关,这是文本编码问题。它是用 utf-8 编码的,但由于某种原因它不是这样读取的。

标签: c# winforms unicode internationalization globalization


【解决方案1】:

感谢@HansPassant,我意识到这里的问题所在。

有问题的 JSON 文件是嵌入式资源,并设置为 FileType.Binary

这是不必要的,所以我将其更改为FileType.Text,这样就可以设置Encoding 属性。

EncodingUnicode (UTF-8) - 代码页 65001,现在按预期显示。

【讨论】:

    猜你喜欢
    • 2010-12-19
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 2017-12-13
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 2020-08-17
    相关资源
    最近更新 更多