Moje pytanie brzmi: jak zmienić domyślną czcionkę zastępczą dla języka tajskiego (lub dowolnego innego niż łaciński język), aby aplikacja terminalowa wyświetlała wybraną czcionkę tajską, zachowując czcionkę angielską.
Wybaczcie mi długie dodatkowe szczegóły, ale tak naprawdę utknąłem tutaj w systemie Mac OS 10.11.1, a czcionka mojego terminalu jest ustawiona na Menlo w rozmiarze, który jest dla mnie wygodny. Menlo nie ma żadnych tajskich znaków, które sprawdziłem dwukrotnie, Fontbook > View > Repertoire
a także za pośrednictwem Menu bar > Show Emoji and Symbols
. (Ale co ciekawe ma Lao.) Jednak gdy piszę w terminalu tajskie znaki, pojawia się cudownie tajski. Najwyraźniej istnieje systemowa domyślna czcionka zastępcza. Jednak jedna postać z Tajlandii nie wyświetla się poprawnie. (Sara Am, สระ อำ) Mogę zmienić czcionkę terminalową na CS Prajad, a język tajski wygląda bardzo dobrze, łącznie z postacią problemową. Jednak angielska czcionka jest strasznie brzydka i jest bezużyteczna jako czcionka programująca.
Wyłączyłem SIP (System Integrity Protection), aby zmodyfikować plik XML DefaultFontFallbacks.plist
znajdujący się w
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/Resources
następnie zrestartowałem myśląc, że to rozwiąże mój problem. Jednak oryginalna domyślna czcionka tajlandzka nadal wyświetla się w terminalu.
(Zmiany, które wprowadziłem DefaultFontFallbacks.plist
.)
Zastąp ciąg domyślny.
<default>...
...
<string>Thonburi</string> to <string>CSPrajad</string> (no space)
...
</default>
dodaj CS Prajad jako czcionkę monospace zgodnie z chińskimi i koreańskimi ciągami xml.
<monospace>
...
<array>
...
<array>
<string>th</string>
<string>CSPrajad-Regular</string>
</array>
...
</array>
...
</monospace>
Jak zmienić domyślną czcionkę zastępczą dla języka tajskiego (lub dowolnego języka innego niż łaciński), aby aplikacja terminalowa wyświetlała wybraną czcionkę tajską, zachowując czcionkę angielską.