在 Fedora 22 中,在 KDE(等离子)系统设置 -> 字体 -> 字体中,“General”的设置为“Sans Serif 10”,“Fixed width”的设置为“Monospace 10”,“small”的设置为“Sans Serif” 8”,“工具栏”是“Sans Serif 9”,“菜单”是“Sans Serif 10”,“窗口标题”是“OxygenSans 10”。
如何确定哪个字体文件用于通用“等宽”别名?(我确定我可以按照相同的程序找出 Sans Serif。)
fc-list
显示 30 个文件,但fc-list | grep -I 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 文件,具有元素别名、子族(“等宽”)和首选族(“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 中),因此系统必须使用该字体。
但是,如果安装了其他一些更喜欢的系列怎么办?
难道没有一个简单的命令可以让您查看像“等宽”这样的通用系统别名映射到什么内容?我只看到 fc-{cache, cat, list, match, pattern, query, scan, and validate} 在我的系统上,只有两个看起来他们可能会执行这个 (list, match) 似乎没有这个特征。
小智 17
fc-match 是要使用的实用程序。例如,fc-match monospace
会告诉您用于等宽字体的字体,并fc-match -s monospace
会按顺序告诉您备用字体。列表中的第一个字体将是大多数情况下使用的字体,之后的所有字体都是缺失字形的后备字体。