LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 893|回复: 1

关于文泉驿正黑体配合Bitstream Vera/DejaVu使用的问题

[复制链接]
发表于 2010-1-12 14:30:35 | 显示全部楼层 |阅读模式
相信不少朋友都遇到过文泉驿正黑体配合Bitstream Vera/DejaVu使用时,等宽字体缩进不正常的问题,比如附件中的效果。

解决方法是编辑/etc/fonts/local.conf如下:
  1. <fontconfig>
  2.   <match target="pattern">
  3.     <test qual="any" name="family">
  4.       <string>Bitstream Vera Sans Mono</string>
  5.       <string>DejaVu Sans Mono</string>
  6.     </test>
  7.     <edit name="lang" mode="assign_replace">
  8.       <string>en</string>
  9.     </edit>
  10.   </match>
  11. </fontconfig>
复制代码


然后,运行
  1. sudo eselect fontconfig enable 51-local.conf \
  2.                                20-unhint-small-vera.conf \
  3.                                57-dejavu-sans-mono.conf \
  4.                                20-unhint-small-dejavu-sans-mono.conf \
  5.                                ...
复制代码
设好相应字体的fontconfig配置即可。

local.conf的意思是在字体模式匹配中如果遇到Bitstream Vera Sans Mono或DejaVu Sans Mono模式,替换其lang属性为en。

因为Bitstream Vera/DejaVu等字体具有en支持而没有zh-cn支持,这样在LANG=zh_CN.UTF-8,字体为默认的Monospace的情况下,fontconfig会优先选择中文字体作为等宽字体,这样就会导致等宽字体对不齐的情况。

如果把匹配模式中的lang属性改为en的话,fontconfig就会选择Bitstream Vera或者DejaVu字体(一般Bitstream Vera或者DejaVu字体都会排在中文字体前面)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2010-1-12 22:12:48 | 显示全部楼层
你的情况推荐使用下面这个来代替prefer。prefer似乎会根据语言选择。
  1. <fontconfig>                                       
  2.         <match target="pattern">                    
  3.                 <test qual="any" name="family">     
  4.                         <string>serif</string>      
  5.                 </test>                             
  6.                 <edit name="family" mode="prepend" binding="strong">
  7.                         <string>Luxi Serif</string>                 
  8.                         <string>AR PL UMing CN</string>            
  9.                         <string>AR PL ShanHeiSun Uni</string>      
  10.                         <string>AR PL UKai CN</string>              
  11.                         <string>AR PL ZenKai Uni</string>           
  12.                 </edit>                                             
  13.         </match>                                                   
  14.         <match target="pattern">                                    
  15.                 <test qual="any" name="family">                     
  16.                         <string>sans-serif</string>                 
  17.                 </test>                                             
  18.                 <edit name="family" mode="prepend" binding="strong">
  19.                         <string>Luxi Sans</string>                  
  20.                         <string>WenQuanYi Zen Hei</string>         
  21.                         <string>AR PL UKai CN</string>              
  22.                         <string>AR PL ZenKai Uni</string>           
  23.                         <string>AR PL UMing CN</string>            
  24.                         <string>AR PL ShanHeiSun Uni</string>      
  25.                 </edit>                                             
  26.         </match>                                                   
  27.         <match target="pattern">                                    
  28.                 <test qual="any" name="family">                     
  29.                         <string>monospace</string>                  
  30.                 </test>                                             
  31.                 <edit name="family" mode="prepend" binding="strong">
  32.                         <string>Dejavu Sans Mono</string>           
  33.                         <string>WenQuanYi Zen Hei Mono</string>
  34.                         <string>AR PL UKai CN</string>
  35.                         <string>AR PL ZenKai Uni</string>
  36.                         <string>AR PL UMing CN</string>
  37.                         <string>AR PL ShanHeiSun Uni</string>
  38.                 </edit>
  39.         </match>
  40.         <match target="scan">
  41.                 <test name="file" compare="contains">
  42.                         <string>WenQuanYi Zen Hei Bold</string>
  43.                 </test>
  44.                 <edit name="style" mode="assign">
  45.                         <string>Bold</string>
  46.                 </edit>
  47.                 <edit name="weight" mode="assign">
  48.                         <const>bold</const>
  49.                 </edit>
  50.         </match>
  51.         <match target="font">
  52.                 <edit mode="assign" name="rgba">
  53.                         <const>bgr</const>
  54.                 </edit>
  55.         </match>
  56.         <match target="font">
  57.                 <edit mode="assign" name="hinting">
  58.                         <bool>true</bool>
  59.                 </edit>
  60.         </match>
  61.         <match target="font">
  62.                 <edit mode="assign" name="hintstyle">
  63.                         <const>hintslight</const>
  64.                 </edit>
  65.         </match>
  66.         <match target="font">
  67.                 <edit mode="assign" name="antialias">
  68.                         <bool>true</bool>
  69.                 </edit>
  70.         </match>
  71. </fontconfig>
复制代码

后面是AA设置,不喜欢可以去掉。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表