系统环境: ubuntu12.04
问题:
当使用 xdg-open 打开 *.ps (postscript)文件时,报这个错误; 或者其他某些调用字体的地方也会出现这个错误
xdg-open *.ps
错误提示如下:
Fontconfig error: "/usr/local/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element Fontconfig error: "/usr/local/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element Fontconfig warning: "/usr/local/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 78: saw unknown, expected number
解决办法:
打开文件:10-scale-bitmap-fonts.conf,跳转至错误行附近,如下:
57 <match target="font"> 58 <test name="scalable" compare="eq"> 59 <bool>false</bool> 60 </test> 61 <test name="pixelsizefixupfactor" compare="not_eq"> 62 <double>1.0</double> 63 </test> 64 <edit name="matrix" mode="assign"> 65 <times> 66 <name>matrix</name> 67 <matrix> 68 <name>pixelsizefixupfactor</name> <double>0</double> 69 <double>0</double> <name>pixelsizefixupfactor</name> 70 </matrix> 71 </times> 72 </edit> 73 <edit name="size" mode="assign"> 74 <divide> 75 <name>size</name> 76 <name>pixelsizefixupfactor</name> 77 </divide> 78 </edit> 79 </match>
可以看出,70行处的matrix标签中包含 <name>pixelsizefixupfactor</name>,其数值在此处标出,
61 <test name="pixelsizefixupfactor" compare="not_eq"> 62 <double>1.0</double> 63 </test>
大致意思为满足not_eq条件的情况下设置为1.0;
如果满足条件,那么下面的代码中的<name>pixelsizefixupfactor</name>应当被替换为<double>1.0</double>
索性将所有的项替换。错误就消失.
使用以下命令检查,发现没有之前的提示了。
fc-cache -v |grep -i err
注:字体配置的具体原理,有待进一步研究,还请自行查找。
参考:https://unix.stackexchange.com/questions/140852/how-to-fix-fontconfig-error