我希望能够获得一个字体名称(如果存在)的Linux上的ttf字体文件的绝对path。 有一个命令或API会返回这些信息吗?
例如,给定“arial.ttf”,我想find绝对path(例如/usr/share/fonts/truetype/msttcorefonts/arial.ttf),无论哪里可能。
我如何为通过CreateWindow创build的窗口指定字体?
在Windows中使用python安装字体
如何在Delphi中使用Windows默认字体
Qt跨平台的Windows和Mac:字体大小
inconsolata不工作的Windows 7
最简单的方法可能是使用fontconfig和--format选项:
$ fc-match --format=%{file} LiberationSans-Regular.ttf
将导致输出
/usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf
你也可以提供一个字体描述,可以是mono , DejaVu , :weight=bold , DejaVu-12或者DejaVu:weight=bold 。 所以,例如,
$ fc-match --format=%{file} :weight=bold
结果是
/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
在我的系统上。 唯一不起作用的是给出字体文件的完整路径。
你有没有看过如何获得在Linux上使用C或C ++安装的TrueType字体的列表? ?
在那里没有被接受的答案,但是它有一个好的开始。
可以说,尝试通过路径访问字体是一个非常糟糕的主意,linux字体堆栈不是这样设计的。 在位置上不会有任何的稳定性,并且很多字体列表中用户期望的“字体”不会映射到单个字体文件,而是多个字体文件的组合。
如果您希望与所有其他桌面应用程序保持一致(并且用户希望字体选择在所有应用程序中以相同的方式工作),则需要通过fontconfig间接图层(使用pango-cairo或QT)以模式访问字体,以及接受的结果可能是复杂而不直观的。
不要紧,它似乎不太直观,只是重要的是选择字体的方式与所有其他应用程序一样。 通常有很好的理由选择fontconfig映射。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。