NSTextView 在断字时总是使用系统语言?
NSTextView always uses system language when hyphenating?
在我看来,如果 macOS 中的系统语言设置为英语,则英文文本会得到更好的断字。事情是,很难确定,用新的系统语言重新启动很麻烦,所以我没有对此进行彻底的测试,但我有理由相信我只看到“somet-hing”和类似的东西系统设置为瑞典语。
这是在 macOS Big Sur 上的 NSTextView 中,通过在 NSAttributedString 中的 NSParagraphStyle 对象上将 hyphenationFactor 设置为 1 来打开连字符。它不是网络视图。该应用程序未本地化,因此即使系统设置为瑞典语,应用程序语言也是英语。将 NSAccessibilityLanguageTextAttribute 设置为“en-US”似乎没有任何效果。
我想知道是否有人可以证实这一点,如果可以,可以做些什么吗?
来自 hyphenationFactor
的文档:
This property detects the user-selected language by examining the first item in preferredLanguages.
+[NSLocale preferredLanguages]
从 -[NSAttributedString lineBreakByHyphenatingBeforeIndex:withinRange:]
调用一次,但在此之前使用键 NSHyphenationLanguage
从 NSUserDefaults
读取语言。使用
设置语言
[NSUserDefaults.standardUserDefaults setObject:@"en" forKey:@"NSHyphenationLanguage"]
似乎有效,但没有记录,因此使用它需要您自担风险。
在我看来,如果 macOS 中的系统语言设置为英语,则英文文本会得到更好的断字。事情是,很难确定,用新的系统语言重新启动很麻烦,所以我没有对此进行彻底的测试,但我有理由相信我只看到“somet-hing”和类似的东西系统设置为瑞典语。
这是在 macOS Big Sur 上的 NSTextView 中,通过在 NSAttributedString 中的 NSParagraphStyle 对象上将 hyphenationFactor 设置为 1 来打开连字符。它不是网络视图。该应用程序未本地化,因此即使系统设置为瑞典语,应用程序语言也是英语。将 NSAccessibilityLanguageTextAttribute 设置为“en-US”似乎没有任何效果。
我想知道是否有人可以证实这一点,如果可以,可以做些什么吗?
来自 hyphenationFactor
的文档:
This property detects the user-selected language by examining the first item in preferredLanguages.
+[NSLocale preferredLanguages]
从 -[NSAttributedString lineBreakByHyphenatingBeforeIndex:withinRange:]
调用一次,但在此之前使用键 NSHyphenationLanguage
从 NSUserDefaults
读取语言。使用
[NSUserDefaults.standardUserDefaults setObject:@"en" forKey:@"NSHyphenationLanguage"]
似乎有效,但没有记录,因此使用它需要您自担风险。