我的应用程序在macOS上静态链接libfontconfig.a
,但不附带任何fontconfig配置文件。
每次应用程序启动时,都会发出有关fonts.conf
未找到的警告。之后,它回退到默认的fontconfig设置,一切都很好。有没有办法构建或配置fontconfig
永不使用fonts.conf
,而是始终使用默认设置?
答案 0 :(得分:0)
我认为,问题本身实际上是要找出这个丢失的文件。
目前您的应用程序的详细信息尚不清楚,例如目标平台Mac OS X或iOS(所以如果OP提供更多信息可以更新此答案)但我认为您已删除fonts.conf
不小心和:
根据man fonts-conf
或online manual的概要。对于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应用程序不依赖于依赖项。所以我试着在我的MacBook上找到一个fonts.conf
文件:
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提供的sample configuration file:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/System/Library/Fonts</dir>
<dir>/Library/Fonts</dir>
<dir>~/Library/Fonts</dir>
</fontconfig>
P.S。请OP发表评论,以便我们一起改进答案。