最简单的方法可能是使用fontconfig与--format选项:
$ fc-match --format=%{file} LiberationSans-Regular.ttf
Run Code Online (Sandbox Code Playgroud)
将导致输出
/usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf
Run Code Online (Sandbox Code Playgroud)
取而代之的是字体文件名,还可以提供一个字体描述,可能是这样的mono,DejaVu,:weight=bold,DejaVu-12,或DejaVu:weight=bold.所以,例如,
$ fc-match --format=%{file} :weight=bold
Run Code Online (Sandbox Code Playgroud)
结果是
/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
Run Code Online (Sandbox Code Playgroud)
在我的系统上.唯一似乎不起作用的是给出字体文件的完整路径.