標籤:

如何修改 OS X 的系統默認中文字體?

姊妹問題:

該如何修改Safari的字體、使其跟隨系統字體設定?

OS X Yosemite 如何修改系統字體為冬青黑體?

如何將 OS X 系統介面的 CJK 字體全部換成思源黑體?


【我默認大家已經知道如何停用 System Integrity Protection,且我沒義務在這答案當中教大家怎樣停用、重新啟用 System Integrity Protection;另外,該答案只是點明一個非常基礎的思路。至於該答案怎樣套用到 macOS El Capitan、Sierra 及之後的系統內,則需要你自己去嘗試、去舉一反三。

我這次更新的答案完全可以解決所有目前可以預料到的 Yosemite 字體修改問題。

另外請注意在修改 plist 之前確保你能修改(這包括了 El Capitan 開始的系統完整性保護模式,但我無義務在此說明關閉該模式的方法、請善用知乎搜尋功能)。

----------

強烈推薦各位收看OSXCJKFontFallbackPlists專頁

----------

如果你要修改成思源黑體

如何將 OS X 系統介面的 CJK 字體全部換成思源黑體?

如果你要修改成冬青黑體(包括梁海在內的一些人非常喜歡冬青黑體):

OS X Yosemite 如何修改系統中文字體為冬青黑體?

我仍舊不建議使用改過行高的冬青黑體。

行高可以在Word裡面自己設定,

但如果因為修改版字體而導致同一份文檔在不同電腦上的排版效果不同的話、咱就蛋疼了。

另外需要藉由自訂CSS規則的方式、使Safari的字體跟隨系統字體設定

該如何修改Safari的字體、使其跟隨系統字體設定?請如下文撰寫CSS:

body {-webkit-font-smoothing: subpixel-antialiased !important; }

@font-face {
font-family: sans-serif;
src: local("Helvetica");
}

@font-face {
font-family: serif;
src: local("Times");
}

存檔之後再交給Safari讀取就行了(套用於Safari偏好設定當中的「進階-&>樣式表」)。Chrome和Opera用戶請一定要單獨指定網頁字體為:

「Helvetica Neue, Georgia, Helvetica Neue, Menlo」

Opera用戶恐怕還需要從系統當中徹底移除華文黑體(參見本文一開始提到的Github視訊)。

----------------------

論及上述兩個方法的修改原理(plist修改方法)

請自己用PlistEditPro或XCode分析下述檔案,

推薦結合我的CTPresetFallbacks.plist的分析報告一起閱讀:CTPresetFallbackAnalysis

(TextWrangler免費,但卻是以源碼的角度編輯plist檔案,會稍微費勁一些,無大礙)

「/System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreText.framework/Resources/DefaultFontFallbacks.plist」

「/System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreText.framework/Resources/CTPresetFallbacks.plist」

後者主管Mavericks/Yosemite系統程式介面的字體(比如選單和Finder的字體),

而前者主管其它的系統字體顯示部分(比如iTunes專輯名稱的顯示,等)。

一些細節方面的注意事項:

  1. 這兩個plist當中的字體名稱都是PostScript名稱,

    可藉由系統內建的字體簿應用來查詢之。
  2. 從OS X Mountain Lion開始,

    為節省硬碟空間佔用,這類plist全部被改成了二進位格式。

    您可以考慮使用PlistEdit轉成XML格式,但不轉也可以:

    不轉格式的話,確實可以直接被PlistEdit或TextWrangler正常編輯。

以思源黑體的plist修改過程完整錄影為例供大家分析(供舉一反三):

https://www.youtube.com/watch?v=OhCFLPTYubg

Step 2 - Plist Configuration //Change Yosemite"s Default CJK GUI font_土豆

在自己動手修改之前,一定要先自己研究一下這兩個plist是怎樣安排字體顯示的…

總之請確保自己每一步修改都心中有數。

-------------------------

? 你可能會遇到這種錯誤

? 能出現這種錯誤的原因只有這幾個(只要有一個條件滿足,就會出現這個錯誤):

  1. ? 字體並未擺在「/System/Library/Fonts/」或者公用字體資料夾「/Library/Fonts」之內(亦指它們的子目錄)。(比如用戶字體資料夾「~/Library/Fonts」)
  2. ? 沒有將字體的許可權設定成「root:wheel+644」:

  3. ? 尚未最後一步清理字體緩存/快取:「sudo atsutil databases -remove」。

? 在確定自己要換用的新字體之後、套用修改過的plist之前

確保新字體在如下目錄之內(也只能在這兩個目錄下):

/System/Library/Fonts/(及其子資料夾)

/Library/Fonts/(及其子資料夾)

? 然後請藉由如下兩道Terminal指令為其設定「root:wheel」+644許可權:

sudo chown root:wheel "/Library/Fonts/SHSDeskInterface.ttc"
sudo chmod 644 "/Library/Fonts/SHSDeskInterface.ttc"

? 最後清理字體緩存/快取:使用Terminal指令「sudo atsutil databases -remove」。

----------------------

// END

=====================答案到此結束,下面是廢話======================

堅持認為蘋果儷中黑、儷黑 Pro 以及文泉驛微米黑適合用作介面字體的,不介意用中文字體顯示西文的,喜歡「國字標準字體」(符合該字形標準的字體包括:微軟正黑、(華康)細明體……)的,請往下看。(「黑體-繁」不是國字標準字體

我在下文提供了非常零碎的一些資訊,但你可能會用到下文。

提供一些和主題問題無直接關係的零碎的資料(主題問題問的是純技術問題):

  1. 黑體-繁不是國字標準字體,華康細明體截至WINXP的大字符集更新之前隸屬港標規範。國字標準字體說穿了就是「非楷體的筆劃都向標楷體看齊」,但是繁體中文字體圈很多人不待見楷本繁體(他們倒是習慣了蘋果儷中黑、儷黑 Pro,可惜這兩個字體缺乏字重多樣性)…梁海如此形容道「它不分印刷與手寫,向印刷體引入過多不適合印刷體的手寫形態(而且許多在手寫中都已退化的不利於字體設計美觀的字形特徵也因為刻意遵古而加回來),比顯著楷化的大陸新字形更甚,這些問題直接影響字體設計。」。

    我對國字標準字體的態度不溫不火,倒是對華康標楷體的設計特別有好感。

  2. 微軟正黑體和Windows Vista開始新版的華康細明體是國字標準字體,但是微軟正黑體在OS X系統上的可讀性實在無法恭維──標準字重太細了,說白了還是「需另行針對OS X西文顯示特點、調整字重」的問題。

  3. 華康細明體就國字標準度和字體可讀性(對視力的負擔的大小)而言是個不錯的選擇(下文會解釋這是怎麼回事),但是拿非襯線英文搭襯線中文…這種冷門的搭配法不見得雅觀,如果自己覺得雅觀的話自己用就好。

  4. 其實ヒラギノSANS CNS不是國字標準字體,且在雪豹系統正式洗片之前被腰斬了,但還是可以用…只是,出於其年久失修的原因,和ヒラギノSANS GBヒラギノ角ゴ混排的時候粗體可能會出現不協調的現象(特指在Firefox瀏覽器內設為預設顯示字體的場合),於是建議用ヒラギノ角ゴPro不是ProN)取代ヒラギノSANS CNS

    [以下評論同時針對ヒラギノSANS GB和CNS]

    ヒラギノ的中日文黑體系列更適合採Retina螢幕的iPad使用(iOS7日文字體預設採用ヒラギノ角ゴ,自己切換到日文語系之後幾乎所有的正體中文文章都能正常顯示…個別漢字除外),而在OS X系統下對視力的負擔則比微軟雅黑略重一些(不開啟OS X系統內建的次畫素渲染的話,對視力的負擔會更大),但是比微軟正黑體造成的視力負擔要小不少。似乎Apple好像已經開始注意到ヒラギノ日文黑體的可讀性問題,現在OS X 10.9.3系統內的ヒラギノ日文黑體在藉由「AquaHirakaku」這個組合字體方案調用的時候看起來比ヒラギノ SANS GB要重一些(見下圖,紅箭頭所指的是日文ヒラギノ角ゴ在藉由AquaHirakaku調用時的效果,黃箭頭指的是ヒラギノ系列字體單獨調用時的效果(圖中用的是ヒラギノSANS GB)):

    另外,個人在Mavericks/Yosemite系統下實測發現:ヒラギノSANS GB和CNS這兩個字體作為系統中文介面字體使用時有個BUG(前提是系統介面語系切換到中文):在使用系統的Preview功能預覽音樂的時候,檔案名稱內很多濁輔音假名的濁音符號(就是右上角那兩點)會重疊顯示(見下圖):

  5. 信黑體實際使用舒適與否還得看你用什麼字重。
  6. 說一下Meiryo(メイリオ)和雅黑,這兩個字體都是大字面字體(就是俗稱的中宮;如果把一個漢字看做九宮的話,九宮等分是一流派(見微軟正黑體、信黑體和ヒラギノ黑體),中宮放大者又是一流派(メイリオ、雅黑、方正蘭亭黑、華康細明體、方正報宋))。

    大字面的字體不見得是最美觀、最有Readability的(個人不太喜歡メイリオ列印出來的效果,中宮過大的話確實很難看…雅黑其次,或者說我就美感而言對雅黑不反感;方正報宋的中宮只是略大,或者說是恰到好處),但一定比中宮等分更省視力、更能保證Legibility(OS X近期將日文系統的假名用字換成了大字面的AquaKana就可證明這一點,這個中宮做得恰到好處,和Lucida Grande太搭了)。

    華康細明體和方正報宋,前者及其同流派大字面明體在台灣擔任了這麼久的報紙用字體,而後者則是專門為報紙閱讀而設計,再次證明了閱讀報紙的人更在乎他們讀取資訊的時候視力負擔承擔了多少(這和讀雜誌的人又是另一回事,一本雜誌可以慢慢品味好久,於是九宮等分的字體可以佔優勢)…你自己可以拿華文宋體和方正報宋分別列印同一篇文章、自己用肉眼對比看看。

  7. 方正蘭亭黑可能是理想選擇之一,但論缺點的話:除了自身沒有極細字重的假名字型檔以外(這個是硬傷,中日混排直接瞎了),更悲催的是在被defaultfontfallbacks.plist讀取非粗體字重的時候只會優先讀取超細字重──非Retina螢幕剛剛好,Retina螢幕的話Readability反而降低了,這超細字重似乎和WIN8.1內贈的雅黑超細字重差不多。

在選擇一個系統介面集字體的時候,美感不是唯一取決要素,你還得從視力負擔大小來考量…畢竟這是你每天用來掃視、以獲取功能資訊為主的字體,而你「在那裡端詳半天自己品味著爽」則是其次。

現在同時滿足這兩個條件的、可用於OS X介面顯示的國字標準字體太少(迄今為止只有思源黑體和微軟正黑體,後者不適合用於OS X系統的介面字體),如果你們真這麼堅持的話就弄個開源計劃做一個吧。


我使用一個叫「TinkerTool」的工具,具體見截圖。

下載地址:http://www.bresink.com/osx/TinkerTool.html

幾個月前剛開始使用Mac系統的時候,最不習慣的不是操作,而是字體的大小,因為在很多程序裡面(包括Office、iWork之類)打開以後默認的文字大小都很小,所以各種搜索、看帖找到了這個軟體。

雖然後來用了沒幾天習慣了Mac以後就沒再動過……這些就是後話了


本文中提到的方法適用於OS X Yosemite。

本文參考了兩位前輩的回答:

如何修改 OS X 的系統默認中文字體? - 孫志貴的回答

如何修改 OS X 的系統默認中文字體? - 梁海的回答

Mavericks版本用的是 @梁海 的方法,Yosemite更新後試了 @孫志貴 的方法,遇到了一點問題(可能是我的操作不對)。所以自己又來了一遍,把我的實際操作再介紹一下。

  1. 別忘了備份提到的.plist文件和字體文件。
  2. 下載 @梁海 的修改版冬青黑體,並修改文件名為原始文件名,「Hiragino Sans GB W3.otf」 和 「Hiragino Sans GB W6.otf」:Hiragino Sans GB (OS X 10.9; hhea lineGap 200).zip
  3. 把兩個字體文件拷貝到 /System/Library/Fonts/ 文件夾下,覆蓋同名文件。需要驗證管理員密碼。
  4. 把這兩個經過修改的.plist文件拷貝到 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreText.framework/Resources/ 文件夾下,覆蓋同名文件。需要驗證管理員密碼。

    CTPresetFallbacks.plist_免費高速下載

    DefaultFontFallbacks.plist_免費高速下載順便提一句,Yosemite的這兩個文件結構和Maverick的不同,我做的修改是把簡體中文Medium字重的用W6的冬青黑代替,簡體中文Medium以下的統一用W3冬青黑,華文黑體用對應字重代替。
  5. 修復文件許可權。Launchpad -&> 其他 -&> 磁碟工具,選擇硬碟,然後選擇「修復磁碟許可權」按鈕。
  6. 用「終端」輸入以下命令,清除字體緩存:

    sudo atsutil databases -remove

  7. 重啟,大功告成。


非常奇怪,今天Mac系統下word打字,一行字會出現宋體和MS明朝兩種字體,非常困惑,向大家求助!!!


總結一下:

方法為修改 plist 系統配置文件, 然後刪除字體緩存:

sudo atsutil databases -remove

  • 「/System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreText.framework/Resources/DefaultFontFallbacks.plist」

    系統告知給應用的默認字體.
  • 「/System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreText.framework/Resources/CTPresetFallbacks.plist」

    系統的默認字體.

  1. DefaultFontFallbacks.plist 只有第一層是鍵值對, 以下層均為普通數組, 請注意.

  2. 這兩個 plist 當中的字體名稱都是 PostScript 名稱,可藉由系統內建的字體簿應用來查詢之。
  3. 從 OS X Mountain Lion 開始, 這類 plist 全部被改成了二進位格式. 普通的編輯器無法正常修改. 關鍵詞: edit plist

  4. 從 OS X El Capital 開始, 系統文件通過 System Integrity Protection 保護, 即使 sudo 也無法修改文件, 必須關閉 SIP 系統. 關鍵詞: csrutil disable

以上內容來自孫志貴, 本答案作者進行了整理.

鏈接:如何修改 OS X 的系統默認中文字體? - 孫志貴的回答


最簡單辦法:轉自MacIdea改用冬青黑體讓 OS X 預設中文黑體更美觀

改用宋體-簡讓 OS X 10.8 默認中文宋體更舒適


搜一個叫TCFail 的軟體 修改系統字體吧~~~~~


推薦閱讀:

為什麼哈根達斯廣告上的哈字有兩個點?
思源黑體 (Source Han Sans) 的各個版本有什麼不同?
windows上默認安裝有哪些字體?
日文漢字「箸」、「賭」中,「者」上的點的來源是什麼(見內圖)?
如何恢復Win10默認字體?

TAG:macOS | 字體 |