Centos7如果不安裝XWindow的話,預設是沒有中文字型在裡面。(SSH是由連線的電腦顯示中文字)
顯示系統目前字型
可以下 fc-list 指令來查看目前的字型
$ fc-list
/usr/share/fonts/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold
/usr/share/fonts/liberation/LiberationSerif-Italic.ttf: Liberation Serif:style=Italic
/usr/share/fonts/dejavu/DejaVuSerif-Italic.ttf: DejaVu Serif:style=Italic
/usr/share/fonts/liberation/LiberationSans-Bold.ttf: Liberation Sans:style=Bold
/usr/share/fonts/liberation/LiberationMono-Bold.ttf: Liberation Mono:style=Bold
...以下省略...
/usr/share/fonts/liberation/LiberationSerif-Italic.ttf: Liberation Serif:style=Italic
/usr/share/fonts/dejavu/DejaVuSerif-Italic.ttf: DejaVu Serif:style=Italic
/usr/share/fonts/liberation/LiberationSans-Bold.ttf: Liberation Sans:style=Bold
/usr/share/fonts/liberation/LiberationMono-Bold.ttf: Liberation Mono:style=Bold
...以下省略...
想想這也滿神奇的,提供我們服務的伺服器,裡面不存在中文字~~
新增中文字型(全域)
要新增中文字型,首先你得有中文字型,中文字型是有版權的,如果想安心使用,就選擇微軟的粗黑體或細明體。
並把他複製到伺服器中,假設你已經複製字型yourfont.ttc到你的root目錄中。
複製到字型資料夾
# cd /usr/share/fonts/
# mkdir chinese
# cd chinese
# cp ~/yourfont.ttc ./
# mkdir chinese
# cd chinese
# cp ~/yourfont.ttc ./
這裡在 /usr/share/fonts/ 中建立一個 chinese目錄,並且進入,把字型複製到此。
微軟的正黑體可以在此[2]下載
建立字型索引
# fc-cache -v
# fc-cache-64 -v
# fc-cache-64 -v
這樣就可以了
移除字型
先刪除該字型檔
# rm -r /usr/share/fonts/chinese
重新建立字型索引即可
# fc-cache -v
# fc-cache-64 -v
# fc-cache-64 -v
其他
經由 fc-cache, fc-cache-64 建立的字型設定檔會放在 /usr/share/fontconfig/conf.avail/
在 /etc/fonts/conf.d 會有連結
參考資料
[1] https://unix.stackexchange.com/questions/415246/how-to-install-fonts-for-centos-7
[2] https://github.com/lenyi/Microsoft/blob/master/libs/msjh.ttf