如何正確為 Noto Sans CJK 配置 fontconfig 使中文不會被顯示為日文字型?
Ubuntu 16.04 LTS 使用了新的中文字體 Noto Sans CJK,該字體在默認設置下,會在一些程序(如 fcitx 的候選詞、Chromium 的某些網頁)下將中文顯示為日文字型。
如果是由於程序沒有指定語言造成的,能不能通過設置 fontconfig 使默認 Fallback 字形為中文?
自己找到解決方案了。
sudo vim /etc/fonts/conf.d/64-language-selector-prefer.conf
該文件配置了 Noto Sans CJK 的優先順序。
默認內容如下&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
可以看到,JP 優先於 SC。
直接將 JP 移至最後即可。修改後的配置文件:&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
也可以通過fontconfig,修改local.conf,轉載一下ubuntu forum的羅非魚的做法。
搞了一上午,問題解決了,先卸載 apt-get remove fonts-noto-cjk .
如果不卸載,直接寫 /etc/fonts/local.conf ,不知道什麼原因,系統不調用它。有明白原理的高手解釋一下。這樣沒有任何漢字輸入法了。下載noto,解壓後 cp /home/noto/* /usr/share/fonts/opentype/noto編輯一個文件 /etc/fonts/local.conf
&& 這樣調用漢字的順序,先簡體漢字 再繁體漢字 日文 韓文 。重新測試百度百科的門口,現象消失。& && &serif& && &Noto Sans CJK SC Regular& &Noto Sans CJK TC Regular& &Noto Sans CJK JP Regular& &
&Noto Sans CJK KR Regular& & && &sans-serif& && &Noto Sans CJK SC Regular& &Noto Sans CJK TC Regular& &
&Noto Sans CJK JP Regular& Noto Sans CJK KR Regular& && && &monospace& && &Noto Sans CJK SC Regular& &
&Noto Sans CJK TC Regular& Noto Sans CJK JP Regular& &Noto Sans CJK KR Regular& && && &Noto Sans CJK& && &
&false& & &hintfull& &
原文地址:這個字體超級怪哈
補充一下debian只能識別noto CJK中的日文字形的解決方案:方案一:直接下載以中文為默認語言的CJK OTF字體(包括簡繁日韓)。下載地址:https://noto-website-2.storage.googleapis.com/pkgs/NotoSansCJKsc-hinted.zip
方案二:也可以直接用fontforge或windows下的fontcreator把notosanscjk.ttc拆開成ttf文件,再手動安裝這些ttf文件。推薦閱讀:
※Mir 和 Wayland 等 X11 替代品,相比 X11 有哪些具體的優點?
※為什麼 Linus Torvalds 不願意將 Linux 變成 GPLv3 授權?
※Linux 當中選擇的軟體包 i386 和 i686 有和區別?
※只使用 Linux 系統是怎樣一種體驗?
※如何反駁「Powershell 比 Linux 終端好得多」這種說法?