如何更改默认的后备字体(适用于非拉丁语言)


20

我的问题是:如何更改泰语(或其他非拉丁语言)的默认后备字体,以使终端应用程序在保持英文字体的同时显示我选择的泰语字体。

原谅那些冗长的细节,但是我确实在Mac OS 10.11.1上停留在这里,并且我的终端字体设置为Menlo,字体大小对我来说很舒服。门罗没有任何泰语字符,在我双重检查Fontbook > View > Repertoire,并通过Menu bar > Show Emoji and Symbols。(但有趣的是老挝人。)但是,当我在终端中键入泰文字符时,奇迹般出现了泰文。显然,存在系统范围的默认后备字体。但是,一个泰语字符不能正确显示。(Sara Am,สระอำ)我可以将终端字体更改为CS Prajad,泰文看起来很好,包括问题字符。然而,英语字体丑陋且不能用作编程字体。

我禁用了SIP(系统完整性保护)以修改DefaultFontFallbacks.plist位于以下位置的xml文件

/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/Resources然后重新启动以为这可以解决我的问题。但是,原始的默认泰语字体仍显示在终端中。

(我对进行的更改DefaultFontFallbacks.plist。)

替换默认字符串。

<default>...
    ...
    <string>Thonburi</string> to <string>CSPrajad</string> (no space)
    ...
</default>

根据汉文和韩文xml字符串,将CS Prajad添加为等宽字体。

<monospace>
    ...
    <array>
        ...
        <array>
            <string>th</string>
            <string>CSPrajad-Regular</string>
        </array>
        ...
    </array>
    ...
</monospace>

如何更改泰语(或与此有关的任何非拉丁语言)的默认后备字体,以使终端应用程序在保持英文字体的同时显示我选择的泰语字体。


奇怪的是,Menlo的老挝和阿拉伯字形没有附加到unicode值上,因此不能用于输入/显示。
Tom Gewecke

您要使用的字体是否已为系统安装?或作为用户字体?另外,它是否以TrueType字体安装?
user3052786

Answers:


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.