如何使用 fontconfig 的 fc-scan 实用程序在命令行上获取适合我的系统语言的字体信息(ttf、otf)?

如何使用 fontconfig 的 fc-scan 实用程序在命令行上获取适合我的系统语言的字体信息(ttf、otf)?

我想要获取有关字体(ttf 或 otf)的信息,例如字体名称和样式。

如果可能的话,我不想安装额外的软件,比如otfinfo。由于fontconfig到处都安装了,一个不错的选择似乎是

fc-scan --format "%{family} %{style}\n" font.ttf

然而,输出是

Bookman Old Style Cursiva,kurzíva,kursiv,Πλάγια,Italic,Kursivoitu,Italique,Dőlt,Corsivo,Cursief,Kursywa,Itálico,Курсив,İtalik,Poševno,Etzana

样式包含字体支持的所有不同语言。我如何将输出限制为fc-scan系统语言或英语?

期望的输出将是Bookman Old Style Italic上述的情况。

答案1

要获取系统语言的字体信息,请使用

    fc-scan --format "%{fullname[$(( $(sed -E 's/^(.*)en.*/\1/;s/[^,]//g' <<<"$(fc-scan --format "%{fullnamelang}\n" /mnt/Fonts/bookosb.ttf)" | wc -c) -1 ))]}\n" /mnt/Fonts/bookosb.ttf

相关内容