【问题标题】:How to prepare a Linux app to find ttf font directory?如何准备一个 Linux 应用程序来查找 ttf 字体目录?
【发布时间】:2012-05-12 09:13:19
【问题描述】:

我正在开发一个主要针对 Linux 的应用程序,它使用 TTF 字体。我需要字体的文件名和路径,因为我必须使用 SDL 函数 TTF_OpenFont(char *file, ...) 加载它。问题是在不同的发行版上有很多不同的 TTF 字体目录。处理这个问题的最佳方法是什么?我想出了一些解决方案,但它们中的每一个似乎都不适合我:

  • 将字体与应用程序一起打包,并将其安装到应用程序自己的 /usr/share/ 目录中。
  • fc-list : file检查字体路径。
  • 对应用程序的每个路径变体进行硬编码,并在加载文件时进行尝试。

【问题讨论】:

    标签: linux fonts path


    【解决方案1】:

    你的第一个和第二个解决方案都很好,除了调用 FcFontList 函数可能更好。第三个是相当不可靠的,但它高度依赖于应用程序类型(在某些情况下它可以是好的,如果你有这个路径可以由用户配置)。

    【讨论】:

    • 我对第一个解决方案的问题是安装的ttf文件会是多余的。另一方面,第二种解决方案将需要一个新的运行时依赖项。
    • 这完全取决于你想做什么。如果您可以依靠用户安装一些字体,我不明白为什么您不应该使用 fontconfig - 它是标准且非常普遍的工具。但是,如果您不能(或者由于某些原因不想这样做),或者您使用非常特定的字体 - 那么答案就很清楚了。或者,您可以尝试使用 app 目录中的字体,如果它不包含您需要的字体 - 查询 fontconfig 从哪里获取它。
    • 你是对的,取决于fontconfig是没有问题的。感谢您使用 FcFontList 的建议。
    猜你喜欢
    • 2019-04-15
    • 2011-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    相关资源
    最近更新 更多