如何确定为系统通用字体别名选择了哪个字体文件?

如何确定为系统通用字体别名选择了哪个字体文件?

在 Fedora 22 中,在 KDE (plasma) 系统设置 -> 字体 -> 字体中,“常规”的设置为“Sans Serif 10”,“固定宽度”的设置为“Monospace 10”,“小”的设置为“Sans Serif” 8”,“工具栏”为“Sans Serif 9”,“菜单”为“Sans Serif 10”,“窗口标题”为“OxygenSans 10”。

如何找出通用“Monospace”别名使用的字体文件? (我确信我可以按照相同的步骤来找出 Sans Serif。)

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 是一个带有元素别名、子系列(“monospace”)和首选系列(“Bitstream Vera Sans Mono”、“DejaVu Sans Mono”、“Incolsolata”)的 XML 文件、“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)似乎没有这个特征。

答案1

fc-match 是要使用的实用程序。例如,fc-match monospace将告诉您等宽字体使用的字体,并按fc-match -s monospace顺序告诉您后备字体。列表中的第一个字体将是大多数情况下使用的字体,后面的所有字体都是缺失字形的后备字体。

相关内容