Come cambiare il carattere di fallback predefinito (per le lingue non latine)

20

La mia domanda è: come cambio il font di fallback predefinito per Thai (o qualsiasi altra lingua non latina per quella materia) in modo che l'app terminale mostri il font Thai della mia scelta mantenendo il Carattere inglese.

Perdona i lunghi dettagli extra, ma sono davvero bloccato qui su Mac OS 10.11.1 e il mio carattere terminale è impostato su Menlo con una dimensione di carattere che mi è comoda. Menlo non ha caratteri tailandesi, che ho ricontrollato in Fontbook > View > Repertoire e anche tramite Menu bar > Show Emoji and Symbols . (Ma è interessante notare che Lao). Tuttavia, quando digito caratteri tailandesi nel terminale, appare miracolosamente Thai. Apparentemente, c'è un font di fallback di default del sistema. Tuttavia, un personaggio tailandese non viene visualizzato correttamente. (Sara Am, สระ อำ) Posso cambiare il carattere del terminale in CS Prajad e il Thai sembra molto buono, compreso il problema. Tuttavia il font inglese è orribilmente brutto ed è inutile come font di programmazione.

Ho disabilitato SIP (System Integrity Protection) per modificare il file xml DefaultFontFallbacks.plist situato in

/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/Resources quindi riavviato pensando che questo avrebbe risolto il mio problema. Tuttavia, il carattere tailandese predefinito originale viene ancora visualizzato nel terminale.

(Modifiche apportate a DefaultFontFallbacks.plist .)

Sostituisci stringa predefinita.

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

aggiungi CS Prajad come font monospace secondo le stringhe xml cinesi e coreane di Han.

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

Come faccio a cambiare il font di fallback predefinito per Thai (o qualsiasi altra lingua non latina per quella materia) in modo che l'app terminale mostri il font Thai di mia scelta mantenendo il font inglese.

    
posta BrianWilson 11.11.2015 - 17:50
fonte

1 risposta

1

Eri quasi arrivato!

Aggiungilo nella Lista di fallback di lingua preferita come hai fatto, ma assicurati di utilizzare il nome PostScript per il carattere. Deve essere esatto!

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

Riferimenti: link
link
link

    
risposta data 01.03.2018 - 21:13
fonte

Leggi altre domande sui tag