我正在使用XFCE4在Debian上使用Iceweasel浏览器(重新命名的Firefox)。
我在〜/ .config / fontconfig / fonts.conf中定义了一个别名规则。
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>Consolas</family>
<prefer><family>DejaVu Sans Mono</family></prefer>
</alias>
</fontconfig>
fc-match
的输出确认Consolas
现在将被替换为DejaVu Sans Mono
。
lone@debian:~$ fc-match Consolas
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
lone@debian:~$ fc-match Courier
n022003l.pfb: "Nimbus Mono L" "Regular"
现在,请在JSFiddle浏览器中查看以下输出:http://jsfiddle.net/yyvgcw02/。
上面的屏幕截图显示,浏览器已正确使用DejaVu Sans Mono
Consolas
和Nimbus Mono L
Courier
。
但是,我希望它也DejaVu Sans Mono
使用Consolas, Courier
,但上面的输出显示它已再次使用Nimbus Mono L
Consolas, Courier
?
为什么DejaVu Sans Mono
没有使用Consolas, Courier
,即使Consolas
首先出现在列表中,系统上也可以找到DejaVu Sans Mono
的字体?fc-match
即使以下〜/ .config / fontconfig / fonts.conf也没有效果。 <?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match>
<test name="family"><string>Consolas</string></test>
<edit name="family"><string>DejaVu Sans Mono</string></edit>
</match>
</fontconfig>
的输出和浏览器中的输出与以下配置保持一致。
binding="strong"
这是一个适合我的解决方案。如果我将edit
属性添加到DejaVu Sans Mono
标记,如下所示〜/ .config / fontconfig / fonts.conf,则浏览器会使用font-family: Consolas, Courier
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match>
<test name="family"><string>Consolas</string></test>
<edit name="family" binding="strong"><string>DejaVu Sans Mono</string></edit>
</match>
</fontconfig>
,如下所示下面的screeshot。
binding="strong"
我想了解浏览器为什么DejaVu Sans Mono
需要在Debian上使用font-family: Consolas, Courier
binding="strong"
?
即使没有fc-match Consolas
,DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
也在输出DejaVu Sans Mono
,但为什么浏览器在这种情况下无法使用/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.55.x86_64/bin/keytool -import -alias tomcat -trustcacerts -file certificate.crt -keystore $OBM_HOMEconf/keystore
?