Cách thay đổi phông chữ dự phòng mặc định (đối với các ngôn ngữ không phải là tiếng Latin)


20

Câu hỏi của tôi là: Làm cách nào để thay đổi phông chữ dự phòng mặc định cho tiếng Thái (hoặc bất kỳ ngôn ngữ phi Latinh nào cho vấn đề đó) để ứng dụng đầu cuối hiển thị phông chữ tiếng Thái mà tôi chọn trong khi vẫn giữ phông chữ tiếng Anh.

Tha thứ cho các chi tiết bổ sung dài, nhưng tôi thực sự bị mắc kẹt ở đây trên Mac OS 10.11.1 và phông chữ đầu cuối của tôi được đặt thành Menlo ở cỡ chữ phù hợp với tôi. Menlo không có bất kỳ ký tự tiếng Thái nào, mà tôi đã kiểm tra kỹ Fontbook > View > Repertoirevà cũng thông qua Menu bar > Show Emoji and Symbols. (Nhưng thú vị là có tiếng Lào.) Tuy nhiên, khi tôi gõ các ký tự tiếng Thái trong thiết bị đầu cuối, tiếng Thái kỳ diệu xuất hiện. Rõ ràng, có một phông chữ dự phòng mặc định rộng hệ thống. Tuy nhiên, một ký tự tiếng Thái không hiển thị đúng. (Sara Am, สระ อำ) Tôi có thể thay đổi phông chữ đầu cuối thành CS Prajad và người Thái trông rất tốt bao gồm cả nhân vật có vấn đề. Tuy nhiên, phông chữ tiếng Anh cực kỳ xấu và vô dụng như một phông chữ lập trình.

Tôi đã tắt SIP (Bảo vệ toàn vẹn hệ thống) để sửa đổi tệp xml DefaultFontFallbacks.plistnằm trong

/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/Resourcessau đó khởi động lại nghĩ rằng điều này sẽ giải quyết vấn đề của tôi. Tuy nhiên, phông chữ mặc định ban đầu của Thái Lan vẫn hiển thị trong thiết bị đầu cuối.

(Những thay đổi tôi đã thực hiện DefaultFontFallbacks.plist.)

Thay thế chuỗi mặc định.

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

thêm CS Prajad làm phông chữ đơn cách theo chuỗi xml của Trung Quốc và Hàn Quốc.

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

Làm cách nào để thay đổi phông chữ dự phòng mặc định cho tiếng Thái (hoặc bất kỳ ngôn ngữ phi Latinh nào cho vấn đề đó) để ứng dụng đầu cuối hiển thị phông chữ tiếng Thái mà tôi chọn trong khi vẫn giữ phông chữ tiếng Anh.


Oddly Menlo có glyphs cho tiếng Lào và tiếng Ả Rập không được gắn với các giá trị unicode và do đó không thể được sử dụng cho đầu vào / hiển thị.
Tom Gewecke

Là phông chữ bạn đang cố sử dụng được cài đặt cho hệ thống? hoặc là một phông chữ người dùng? Ngoài ra, nó có được cài đặt như một phông chữ TrueType không?
dùng3052786

Câu trả lời:


1

Bạn đã gần như ở đó!

Thêm nó vào Danh sách dự phòng ngôn ngữ ưa thích như bạn đã làm, nhưng hãy chắc chắn rằng bạn đang sử dụng tên PostScript cho phông chữ. Nó phải chính xác!

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

Tài liệu tham khảo:
https://gist.github.com/Moligaloo/3180490
https://github.com/zerustech/font-fallbacks-tutorial
https://github.com/zonble/tcfail/

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.