Cómo cambiar la fuente alternativa predeterminada (para idiomas no latinos)

Mi pregunta es: ¿Cómo cambio la fuente alternativa predeterminada para tailandés (o cualquier idioma no latino) para que la aplicación de terminal muestre la fuente tailandesa de mi elección y mantenga la fuente en inglés?

Perdone los detalles adicionales largos, pero estoy realmente atrapado aquí en Mac OS 10.11.1 y la fuente de mi terminal está configurada en Menlo en un tamaño de fuente que me resulta cómodo. Menlo no tiene caracteres tailandeses, lo verifiqué dos veces Fontbook > View > Repertoirey también a través del archivo Menu bar > Show Emoji and Symbols. (Pero curiosamente tiene Lao.) Sin embargo, cuando escribo caracteres tailandeses en la terminal, milagrosamente aparece Thai. Aparentemente, hay una fuente alternativa predeterminada en todo el sistema. Sin embargo, un carácter tailandés no se muestra correctamente. (Sara Am, สระ อำ) Puedo cambiar la fuente del terminal a CS Prajad y el tailandés se ve muy bien, incluido el carácter problemático. Sin embargo, la fuente inglesa es terriblemente fea y es inútil como fuente de programación.

Deshabilité SIP (Protección de integridad del sistema) para modificar el archivo xml DefaultFontFallbacks.plistubicado en

/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/Resourcesluego reinicié pensando que esto resolvería mi problema. Sin embargo, la fuente tailandesa predeterminada original todavía se muestra en la terminal.

(Cambios que hice en DefaultFontFallbacks.plist.)

Sustituya la cadena predeterminada.

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

agregue CS Prajad como fuente monoespaciada según las cadenas xml de chino Han y coreano.

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

¿Cómo cambio la fuente de respaldo predeterminada para tailandés (o cualquier idioma no latino) para que la aplicación de terminal muestre la fuente tailandesa de mi elección mientras mantiene la fuente en inglés?

Extrañamente, Menlo tiene glifos para laosiano y árabe que no están adjuntos a valores Unicode y, por lo tanto, no se pueden usar para entrada/visualización.
¿La fuente que está tratando de usar está instalada para el sistema? o como una fuente de usuario? Además, ¿está instalado como fuente TrueType?

Respuestas (1)

¡Ya casi estabas allí!

Añádalo a la Lista alternativa de idiomas preferidos como lo hizo, pero asegúrese de que está utilizando el nombre PostScript para la fuente. ¡Tiene que ser exacto!

<array>
    <!-- for Thai  -->
    <string>th</string>
    <!-- below is the case sensitive PostScript name  -->
    <string>CSPraJad</string>
</array>

Referencias:
https://gist.github.com/Moligaloo/3180490
https://github.com/zerustech/font-fallbacks-tutorial
https://github.com/zonble/tcfail/