我的应用程序在 macOS 上静态链接libfontconfig.a
,但不附带任何 fontconfig 配置文件。
每次应用程序启动时,它都会给出关于fonts.conf
未找到的警告。之后,它会使用默认的 fontconfig 设置,一切正常。有没有办法构建或配置fontconfig
为从不使用fonts.conf
而始终使用默认设置?
我的应用程序在 macOS 上静态链接libfontconfig.a
,但不附带任何 fontconfig 配置文件。
每次应用程序启动时,它都会给出关于fonts.conf
未找到的警告。之后,它会使用默认的 fontconfig 设置,一切正常。有没有办法构建或配置fontconfig
为从不使用fonts.conf
而始终使用默认设置?
我认为,问题本身实际上是要找出这个丢失的文件。
目前您的应用程序的详细信息尚不清楚,例如目标平台 Mac OS X 或 iOS(因此,如果 OP 提供更多信息,可以更新此答案)但我认为您已fonts.conf
意外删除并且:
根据概要man fonts-conf
或在线手册。对于 Linux fonts.conf
,通常位于:
/etc/fonts/fonts.conf
/etc/fonts/fonts.dtd
/etc/fonts/conf.d
$XDG_CONFIG_HOME/fontconfig/conf.d
$XDG_CONFIG_HOME/fontconfig/fonts.conf
~/.fonts.conf.d
~/.fonts.conf
但在您的情况下,此文件必须随您的应用程序一起提供,因为 Mac OS X 和 iOS 应用程序不依赖依赖项。所以我试图fonts.conf
在我的 MacBook 上找到一个文件:
sudo /usr/libexec/locate.updatedb
locate fonts.conf
顺便说一句,我在GIMP下找到了它:
/Applications/GIMP.app/Contents/Resources/etc/fonts/fonts.conf
后来我决定在 GitHub 中搜索它,并在以下存储库中找到它:1| https://github.com/EricssonResearch/cerbero/blob/master/data/xcode/templates/ios/GStreamer%20Base.xctemplate/fontconfig/fonts.conf 2| https://github.com/xil3f/podofo_iOS_sample/blob/cd0be2d225d0bdfbe3c0ec163fb4cce67534825f/fonts/fonts.conf
这些文件几乎相同。
对于源自 Linux 的跨平台 Mac OS X 应用程序,它位于:./Contents/Resources/etc/fonts/fonts.conf
对于 iOS 示例应用程序,它位于:./fontconfig/fonts.conf
或./fonts/fonts.conf
因此,这些位置可以让您了解在fonts.conf
项目中放置文件的位置。
您可以尝试将这些fonts.conf
文件放在上面的必要位置,也可以使用Apple Open Source for OS X 提供的此示例配置文件:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/System/Library/Fonts</dir>
<dir>/Library/Fonts</dir>
<dir>~/Library/Fonts</dir>
</fontconfig>
PS请OP发表评论,以便我们一起改进答案。