微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NSTextView 在断字时总是使用系统语言?

如何解决NSTextView 在断字时总是使用系统语言?

在我看来,如果 macOS 中的系统语言设置为英语,英文文本会得到更好的断字。事实是,很难确定,使用新的系统语言重新启动很麻烦,所以我没有彻底测试过,但我有理由确信我只看到了“somet-hing”和类似的系统设置为瑞典语。

这是在 macOS Big Sur 上的 NSTextView 中,通过在 NSAttributedString 中的 NSParagraphStyle 对象上将 hyphenationFactor 设置为 1 来打开断字。它不是网络视图。该应用程序未本地化,因此即使系统设置为瑞典语,应用程序语言也是英语。将 NSAccessibilityLanguageTextAttribute 设置为“en-US”似乎没有效果

我想知道是否有人可以证实这一点,如果可以,可以采取什么措施吗?

解决方法

来自 hyphenationFactor 的文档:

此属性通过检查 preferredLanguages 中的第一项来检测用户选择的语言。

+[NSLocale preferredLanguages]-[NSAttributedString lineBreakByHyphenatingBeforeIndex:withinRange:] 调用一次,但在此之前使用键 NSUserDefaultsNSHyphenationLanguage 读取语言。用

设置语言
[NSUserDefaults.standardUserDefaults setObject:@"en" forKey:@"NSHyphenationLanguage"]

似乎有效,但没有记录,因此使用风险自负。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。