Fonts

如何確定為系統通用字型別名選擇了哪個字型檔?

  • June 21, 2015

在 Fedora 22 中,在 KDE (plasma) System Settings -> Font -> Fonts 中,“General”設置為“Sans Serif 10”,“Fixed width”設置為“Monospace 10”,“small”設置為“Sans Serif 8”,對於“工具欄”是“Sans Serif 9”,對於“菜單”是“Sans Serif 10”,對於“視窗標題”是“OxygenSans 10”。

如何確定通用“等寬”別名正在使用哪個字型檔?(我確信我可以按照相同的程序來找出無襯線字型。)

fc-list顯示 30 個文件,但fc-list | grep -I monospace什麼也不顯示。(“Monospace”必須是別名,而不是實際字型的名稱。)

fc-match --all顯示 30 個文件,但同樣,fc-match | grep -I monospace什麼也不顯示。

ls -la ~/.config | grep font什麼都不顯示。(沒有~/.config/fontconfig)

/etc/fonts/fonts.conf 列出字型目錄,接受不推薦使用的別名,並指向 /etc/fonts/conf.d。

/etc/fonts/conf.d/60-latin.conf 是具有元素別名的 XML 文件,具有子系列(“monospace”)和首選系列(“Bitstream Vera Sans Mono”、“DejaVu Sans Mono”、“Incolsolata” 、“Andale Mono”、“Courier New”、“Cumberland AMT”、“Luxi Mono”、“Nimbus Mono L”、Nimbus Mono”和“Courier”)。

/etc/fonts/conf.d/61-oxygen-mono.conf 有子家庭(“monospace”)並且更喜歡家庭(“Oxygen Mono”)。

/etc/fonts/conf.d/69-gnu-free-mono 有子家庭(“monospace”)並且更喜歡家庭(“FreeMono”)。

/etc/fonts/conf.d/69-unifont.conf 有子家庭(“monospace”)並且更喜歡家庭(“FreeMono”)。

現在,在這種情況下,上面引用的唯一安裝的首選系列是“Oxygen Mono”(在 OxygenMono-Regular.ttf 中),因此系統必須使用該字型。

但是,如果安裝了其他一些更喜歡的系列怎麼辦?

是不是有一個簡單的命令可以讓您查看像“Monospace”這樣的通用系統別名映射到什麼?我只在我的系統上看到 fc-{cache, cat, list, match, pattern, query, scan, and validate},而僅有的兩個看起來可能會執行此操作的 (list, match) 似乎沒有這個特徵。

fc-match 是要使用的實用程序。例如,fc-match monospace將告訴您用於等寬字型的fc-match -s monospace字型,並按順序告訴您備用字型。列表中的第一個字型將是大多數情況下使用的字型,之後的所有字型都是失去字形的備份字型。

引用自:https://unix.stackexchange.com/questions/210942