分页: 1 / 1

.fonts.conf中对同一字体的不同字符部分使用不同的渲染方法?

发表于 : 2009-10-21 15:07
RichardGv
这个问题好像不太适合提在“初学者园地”,不过我确实是个初学者。
我用DejaVu Sans (Condensed)和文泉驿正黑合并了一个字体,但使用中发现文泉驿正黑使用了特殊的渲染策略,在/etc/fonts/conf.avail/44-wqy-zenhei.conf中有:

代码: 全选

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- WenQuanYi Zen Hei Configure File -->
<fontconfig>
  <!-- modified by Madsen@SMTH -->
  <match target="font">
        <test qual="any" name="family">
                <string>WenQuanYi Zen Hei</string>
                <string>文泉驿正黑</string>
                <string>文泉驛正黑</string>
        </test> 
        <edit name="globaladvance"><bool>false</bool></edit>
        <edit name="spacing"><int>0</int></edit>
        <edit name="antialias" mode="assign"><bool>true</bool></edit>
        <edit name="hinting" mode="assign"><bool>true</bool></edit>
        <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
        <edit name="autohint" mode="assign"><bool>false</bool></edit>
        <edit name="rh_prefer_bitmaps" mode="assign"><bool>false</bool></edit>
        <edit name="rgba" mode="assign"><const>none</const></edit>
        <edit name="embeddedbitmap"><bool>false</bool></edit>
  </match>
  <alias>
      <family>WenQuanYi Zen Hei</family>
      <default><family>sans-serif</family></default>
  </alias>
</fontconfig>
我合成的字体如果使用文泉驿正黑的渲染策略,英文原DejaVu Sans部分会很难看;如果使用DejaVu Sans的渲染策略,中文原文泉驿正黑部分会很难看。在fontconfig的配置文件中有没有方法检测一字体内使用的是哪一个语言的字符,并对相应的字符作相应的处理?我看了fontconfig的英文说明,不过还是不太清楚。先谢谢了。

Re: .fonts.conf中对同一字体的不同字符部分使用不同的渲染方法?

发表于 : 2009-10-21 16:41
功夫小狗
我的...

代码: 全选

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- WenQuanYi Zen Hei Configure File -->
<fontconfig>
  <!-- modified by Madsen@SMTH -->
  <match target="font">
        <test qual="any" name="family">
                <string>WenQuanYi Zen Hei</string>
                <string>文泉驿正黑</string>
                <string>文泉驛正黑</string>
        </test> 
        <edit name="globaladvance"><bool>false</bool></edit>
        <edit name="spacing"><int>0</int></edit>
        <edit name="antialias" mode="assign"><bool>true</bool></edit>
        <edit name="hinting" mode="assign"><bool>true</bool></edit>
        <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
        <edit name="autohint" mode="assign"><bool>false</bool></edit>
        <edit name="rh_prefer_bitmaps" mode="assign"><bool>false</bool></edit>
        <edit name="rgba" mode="assign"><const>none</const></edit>
        <edit name="embeddedbitmap"><bool>false</bool></edit>
  </match>
        <alias>
                <family>serif</family>
                <prefer>
                        <family>Bitstream Vera Serif</family>
                        <family>DejaVu Serif</family>
                        <family>WenQuanYi Zen Hei</family>
                </prefer>
        </alias>
        <alias>
                <family>sans-serif</family>
                <prefer>
                        <family>Bitstream Vera Sans</family>
                        <family>DejaVu Sans</family>
                        <family>WenQuanYi Zen Hei</family>
                </prefer>
        </alias>
        <alias>
                <family>monospace</family>
                <prefer>
                        <family>Bitstream Vera Sans Mono</family>
                        <family>DejaVu Sans Mono</family>
                        <family>WenQuanYi Zen Hei Mono</family>
                </prefer>
        </alias>
   <alias>
       <family>WenQuanYi Zen Hei</family>
       <default><family>sans-serif</family></default>
   </alias>
</fontconfig>

Re: .fonts.conf中对同一字体的不同字符部分使用不同的渲染方法?

发表于 : 2009-10-21 21:35
eexpress
把wqy的这文件删除就是。自己在.fonts.conf里面定义想要的。

Re: .fonts.conf中对同一字体的不同字符部分使用不同的渲染方法?

发表于 : 2009-10-21 21:57
RichardGv
看来我的语文没学好,都没明白我的意思...
我用DejaVu Sans (Condensed)(英文部分)和文泉驿正黑(中文部分)合并了一个字体,类似DejaVu Sans YuanTi,但发现文泉驿正黑使用了特殊的渲染策略。如果显示这个合成字体时不采用文泉驿正黑的这些设置,这个字体的中文部分就会很难看;如果采用文泉驿正黑的这些设置,英文部分(原DejaVu Sans)就会很难看。我希望在fonts.conf中对这个合成字体的英文和中文部分分别采用不同的渲染方法,能否实现?