NSControl对象内部的日语字体显示不正确

时间:2018-08-20 08:57:01

标签: objective-c swift macos cocoa localization

我正在macOS中构建具有动态本地化的UI应用程序(这意味着可以在应用程序运行时切换语言)。

我注意到,如果将初始语言配置为日语,并且即时切换为英语,则控件上的文本将显示为正常。 但是,在相反的情况下,当初始语言为英语并且我即时切换到日语时,文本字段上的日语符号会稍微扩大一点。 (请参见下图以强调区别-左侧代码段是原始渲染,而右侧代码段则代表放大版本)

The original text The enlarged text

对于任何特定的控件,只需将本地化的字符串(借助于NSLocalizedString函数获得的字符串)分配给控件的stringValue属性即可更改语言。

这些结果出现在我测试过的所有版本(10.13和10.12)上。

也许有人遇到过类似的结果吗?我应该如何解决?

1 个答案:

答案 0 :(得分:0)

因此,如果在Language and Regions -> Preferred Languages

下的计算机上正确安装了语言,则显然可以解决渲染问题。