fontconfig command
2010年10月20日 星期三 by Anati
介紹幾個X11上面對於fontconfig好用的指令
$ fc-cache -fv 更新目前字型資料庫,通常會先把xx.ttf搬到 ~/.fonts/下再執行
$ fc-list 顯示目前安裝的字體有多少個
$ fc-list :lang=zh 顯示目前安裝的字體屬於中文的有多少個
$ fc-match 查詢目前fontconfig幫你選到的字型是那個
$ fc-match -s 列出除了選到的字型外,其它後補字型的排序
$ fc-match -s sans-serif 列出選到無襯線字體的字型排序
$ fc-match -s serif 列出選到襯線字體的字型排序
$ fc-match -s monospace 列出選到等寬字體的字型排序
大約這幾個就夠用了,以下補充一下,在X11下因為中英文混雜,也許使用的中文字型內含的英文字太難看,或是根本沒有英文字型,所以會造成讓fontconfig選字上的困難,預設fontconfig會先看locale所以讀到若是utf8的話,會讓中文字型優先,因此會使用中文字型內含的英文字,因此如果要使用其它的英文字型的話,必須要讓英文優先順序先選,選完一定沒有中文字型,之後在來選中文字型,就可以讓好看的英文字母來配需要中文顯示的中文字型
$ vim ~/.fonts.conf
以上有看到使用到「 binding="strong" 」主要目的是讓fontconfig強制選字排序,忽略locale中要先選utf8的字型。
$ fc-cache -fv 更新目前字型資料庫,通常會先把xx.ttf搬到 ~/.fonts/下再執行
$ fc-list 顯示目前安裝的字體有多少個
$ fc-list :lang=zh 顯示目前安裝的字體屬於中文的有多少個
$ fc-match 查詢目前fontconfig幫你選到的字型是那個
$ fc-match -s 列出除了選到的字型外,其它後補字型的排序
$ fc-match -s sans-serif 列出選到無襯線字體的字型排序
$ fc-match -s serif 列出選到襯線字體的字型排序
$ fc-match -s monospace 列出選到等寬字體的字型排序
大約這幾個就夠用了,以下補充一下,在X11下因為中英文混雜,也許使用的中文字型內含的英文字太難看,或是根本沒有英文字型,所以會造成讓fontconfig選字上的困難,預設fontconfig會先看locale所以讀到若是utf8的話,會讓中文字型優先,因此會使用中文字型內含的英文字,因此如果要使用其它的英文字型的話,必須要讓英文優先順序先選,選完一定沒有中文字型,之後在來選中文字型,就可以讓好看的英文字母來配需要中文顯示的中文字型
$ vim ~/.fonts.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias binding="strong">
<family>sans-serif</family>
<prefer>
<family>Bitstream Vera Sans</family>
<family>AR PL New Sung</family>
</prefer>
</alias>
<alias binding="strong">
<family>serif</family>
<prefer>
<family>Bitstream Vera Serif</family>
<family>AR PL New Sung</family>
</prefer>
</alias>
<alias binding="strong">
<family>monospace</family>
<prefer>
<family>Bitstream Vera Sans Mono</family>
<family>AR PL New Sung</family>
</prefer>
</alias>
</fontconfig>
以上有看到使用到「 binding="strong" 」主要目的是讓fontconfig強制選字排序,忽略locale中要先選utf8的字型。