linux fontconfig字体报错问题

系统在运行一些程序时出现了fontconfig error的问题,经排查在python的matplot语句运行时会报这类错,虽然对结果没有什么影响,但这一堆报错不是强迫症看着都难受
于此同时,发现启动gedit时也会报此类错误
网上查找该类错误,发现这是一个悬而未决的问题,有帖子讨论过此问题,但并没有找到解决方案。

wangyihu2020@wangyihu2020-LEGION-REN7000K-26IOB:~$ gedit test
Fontconfig warning: "/etc/fonts/fonts.conf", line 5: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/fonts.conf", line 6: unknown element "its:translateRule"
Fontconfig error: "/etc/fonts/fonts.conf", line 6: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/fonts.conf", line 6: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/fonts.conf", line 7: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/fonts.conf", line 7: invalid attribute 'version'
Fontconfig warning: "/etc/fonts/fonts.conf", line 9: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 5: unknown element "its:translateRule"
Fontconfig error: "/etc/fonts/conf.d/10-hinting-slight.conf", line 5: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/conf.d/10-hinting-slight.conf", line 5: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/conf.d/10-hinting-slight.conf", line 6: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/conf.d/10-hinting-slight.conf", line 6: invalid attribute 'version'
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 5: unknown element "its:translateRule"
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 5: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 5: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 6: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 6: invalid attribute 'version'
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/20-unhint-small-vera.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/20-unhint-small-vera.conf", line 5: unknown element "its:translateRule"
Fontconfig error: "/etc/fonts/conf.d/20-unhint-small-vera.conf", line 5: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/conf.d/20-unhint-small-vera.conf", line 5: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/conf.d/20-unhint-small-vera.conf", line 6: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/conf.d/20-unhint-small-vera.conf", line 6: invalid attribute 'version'
Fontconfig warning: "/etc/fonts/conf.d/20-unhint-small-vera.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/25-unhint-nonlatin.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/25-unhint-nonlatin.conf", line 5: unknown element "its:translateRule"
Fontconfig error: "/etc/fonts/conf.d/25-unhint-nonlatin.conf", line 5: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/conf.d/25-unhint-nonlatin.conf", line 5: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/conf.d/25-unhint-nonlatin.conf", line 6: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/conf.d/25-unhint-nonlatin.conf", line 6: invalid attribute 'version'
Fontconfig warning: "/etc/fonts/conf.d/25-unhint-nonlatin.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 5: unknown element "its:translateRule"
Fontconfig error: "/etc/fonts/conf.d/30-metric-aliases.conf", line 5: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/conf.d/30-metric-aliases.conf", line 5: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/conf.d/30-metric-aliases.conf", line 6: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/conf.d/30-metric-aliases.conf", line 6: invalid attribute 'version'
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 8: unknown element "description"
.....

从错误信息看,应该是调包时候不认识一些固定的代码格式,那么问题可能出在版本不匹配上
故猜想gedit及一些代码运行环境中调的fontconfig包与系统fontconfig包版本不一致

通过在根目录搜索libfontconfig包,找到了libfontconfig.so.1, libfontconfig.so.1.10.1, libfontconfig.so.1.12.1等文件,而且数目很多,经过观察他们分属于不同的软件环境中,即许多软件在调用时会调用自己的libfontconfig库

第一个想法是用.so.1.12.0替换.so.10.1,但试了好几个名为.so.12.0的文件,都有不同的报错。

突然想起来fontconfig库每个ubuntu系统都是有的,但只有本人报这类错,于是乎比较了同事主机上的该库文件与本人主机上的该库,发现文件有细微不同
如下:
同事主机
本人主机
图上看,确实是本人主机上的文件多了几行,而这几行正是报错信息提示的一些tag,仔细看了下这句里有个网址,点进去是w3c官网的ITS标准,原来本人主机此库的代码多包含的几行为ITS版本信息,属于开发者添加的描述信息,而这些描述信息不能被旧的libfontconfig.so.1.10.1正确识别,故报错。但由于描述信息不影响正常信息,所以运行结果除了一堆报错外没有其它问题。
故解决方案很简单,同事电脑上的库文件是没有问题的,把/etc/fonts/用upan拷过来替换就完事了hhh

这次调fontconfig库用了一天多,经历了卸载fontconfig库时把桌面卸掉、修改了fonts.conf文件某几行导致系统全部乱码等问题,在重装系统的边缘反复横跳~

这一坨报错虽然没有任何不良影响,但如果初学者遇到了还是挺搞心态的,写此文记录此类报错对系统没有影响之说明及解决方案。
相关帖:https://bbs.archlinux.org/viewtopic.php?id=235643

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
LinuxFontconfig是一个用于管理字体的库。它提供了一个统一的接口,使得应用程序能够使用各种字体Fontconfig基于XML配置文件,可以在不同的系统中共享和重用。它可以根据用户的需求匹配最佳的字体,以确保显示的文本内容具有最佳的可读性和美观性。 Fontconfig的功能包括: 1. 字体配置:Fontconfig可以通过配置文件指定系统中可用的字体。用户可以根据需要添加、删除或修改字体。 2. 字体匹配:当应用程序需要显示文本时,Fontconfig会根据设备、字体属性和语言等信息,自动匹配最合适的字体。这确保了文本在不同设备上的一致显示。 3. 字体替代:如果某个字体在系统中不可用,或者不满足特定的需求,Fontconfig可以替代为其他合适的字体,以确保文本内容的正常显示。 4. 字体渲染:Fontconfig可以根据设备和渲染引擎的要求,动态选择最佳的字体渲染方法。这有助于提高文本的清晰度和可读性。 5. 字体缓存:Fontconfig会将已经匹配过的字体信息保存在缓存中,以便加快下一次的字体匹配过程。这可以提高系统的响应速度。 总之,FontconfigLinux系统中起着重要的作用,为应用程序提供了灵活而高效的字体管理功能。它使得用户能够根据自己的需求选择和配置字体,同时也为开发人员提供了一个统一的接口,简化了字体的使用和管理。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值