|
发表于 2007-4-16 03:23:00
|
显示全部楼层
设置~/.fonts.conf 或者/etc/fonts.conf 不管怎么说,必须在/etc/fonts/conf.d/里调整user.conf 和local.conf起作用的顺序,我把他们调整到最后了。分别是91和92开头的。
然后看你选用~/.fonts.conf或者/etc/fonts/local.conf了。这里建议把local.conf设置为作后起作用,这样就不会受到kde字体中心设置后产生的额外的~/.fonts.conf的干扰。
代码如下:代码里有不少字体。但ms的主要英文字体应该需要搞上。
qt程序还要接受qtconfig来设置字体替换。
[PHP]<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- conf.d/myfont.conf -->
<fontconfig>
<dir>/usr/share/fonts</dir>
<dir>/usr/share/fonts/truetype/</dir>
<dir>/usr/share/fonts/chinese/</dir>
<dir>/usr/local/share/fonts</dir>
<dir>~/.fonts</dir>
<!-- 加入点阵字体路径 -->
<dir>/usr/X11R6/lib/X11/fonts</dir>
<!-- 给使用 fontconfig 的程序设定目标 dpi,程序包括 kdm, kde 等: --><!-- Target dots per inch -->
<match target="pattern">
<edit name="dpi" mode="assign" >
<double>96</double>
</edit>
</match>
<!--
Enable sub-pixel rendering.
If you are using CRT, set rgb -> none
-->
<match target="font" >
<edit name="rgba" mode="assign" >
<const>none</const>
</edit>
</match>
<!--
default settings for all fonts.-->
<match target="font" >
<!-- 打开字体的反锯齿即AA,大号字用AA会更美观 -->
<edit mode="assign" name="antialias" >
<bool>true</bool>
</edit>
<edit mode="assign" name="hintstyle" >
<const>hintfull</const>
</edit>
<!-- 打开hint -->
<edit mode="assign" name="hinting" >
<bool>true</bool>
</edit>
<!-- 关闭autohint -->
<edit mode="assign" name="autohint" >
<bool>false</bool>
</edit>
</match>
<!-- 配置粗体中文显示,要配合freetype-2.1.10,libxft-2.1.7,fontconfig-2.3.X -->
<match target="font" >
<!-- check to see if the font is just regular -->
<test compare="less_eq" name="weight" >
<const>medium</const>
</test>
<!-- check to see if the pattern requests bold -->
<test compare="more" target="pattern" name="weight" >
<const>medium</const>
</test>
<!-- set the embolden flag needed for applications using cairo, e.g. gucharmap, gedit, ... -->
<edit mode="assign" name="embolden" >
<bool>true</bool>
</edit>
<!-- set weight to bold needed for applications using Xft directly, e.g. Firefox, ... -->
<edit mode="assign" name="weight" >
<const>bold</const>
</edit>
<!-- 据说freetype2处理bitmap字体加粗在Hinting之后造成宋体粗体很丑,不好 -->
<!--<edit mode="assign" name="hintstyle" >
<const>hintnone</const>
</edit>
-->
</match>
<!-- 关闭中文8到18号字体的AA -->
<match target="font" >
<test compare="contains" name="lang" >
<string>zh-cn</string>
<string>ja</string>
<string>ko</string>
</test>
<test compare="more_eq" name="pixelsize" qual="any" >
<double>8</double>
</test>
<test compare="less_eq" name="pixelsize" qual="any" >
<double>18</double>
</test>
<edit mode="assign" name="antialias" >
<bool>false</bool>
</edit>
</match>
<!-- 打开17号宋体的aa,宋体不包含17号点阵字体 -->
<match target="font" >
<test qual="any" name="family" compare="eq" >
<string>NSimSun</string>
<string>新宋体</string>
<string>SimSun</string>
<string>宋体</string>
<string>Vera Sans YuanTi</string>
<string>Vera Sans YuanTi Mono</string>
</test>
<test name="pixelsize" compare="eq" >
<double>17</double>
</test>
<edit name="antialias" mode="assign" >
<bool>true</bool>
</edit>
</match>
<!-- 单独设置PMinliu字体,11.12.13.15.16.20,很奇怪,用PMingliU来设置不起作用 -->
<match target="font" >
<test compare="contains" name="lang" >
<string>zh-tw</string>
</test>
<test compare="more_eq" name="pixelsize" qual="any" >
<double>11</double>
</test>
<test compare="less_eq" name="pixelsize" qual="any" >
<double>16</double>
</test>
<edit mode="assign" name="antialias" >
<bool>false</bool>
</edit>
</match>
<match target="font" >
<test compare="contains" name="lang" >
<string>zh-tw</string>
</test>
<test name="pixelsize" compare="eq" >
<double>14</double>
</test>
<edit name="antialias" mode="assign" >
<bool>false</bool>
</edit>
</match>
<!-- 为了解决部分软件无法识别big字体设置而再次设置两部分 -->
<match target="font" >
<test qual="any" name="family" compare="eq" >
<string>MingLiU</string>
<string>細明體</string>
<string>MingLiU</string>
<string>新細明體</string>
</test>
<test name="pixelsize" compare="more_eq" >
<double>11</double>
</test>
<test name="pixelsize" compare="less_eq" >
<double>16</double>
</test>
<edit name="antialias" mode="assign" >
<bool>false</bool>
</edit>
</match>
<match target="font" >
<test qual="any" name="family" compare="eq" >
<string>MingLiU</string>
<string>細明體</string>
<string>MingLiU</string>
<string>新細明體</string>
</test>
<test name="pixelsize" compare="eq" >
<double>14</double>
</test>
<edit name="antialias" mode="assign" >
<bool>true</bool>
</edit>
</match>
<!--
Substitude mingliu 10px bitmap part with stxihei 10px bitmap part
It is work on firefox, not on konqueror
-->
<match target="pattern">
<test name="family" qual="any">
<string>MingLiU</string>
<string>細明體</string>
<string>MingLiU</string>
<string>新細明體</string>
</test>
<test compare="more" name="pixelsize" >
<double>9.5</double>
</test>
<test compare="less" name="pixelsize" >
<double>10.5</double>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>STHeiti</string>
</edit>
</match>
<!--
STHeiti
-->
<match target="font" >
<test qual="any" name="family" compare="eq" >
<string>STHeiti</string>
</test>
<edit name="rgba" mode="assign">
<const>none</const>
</edit>
<edit name="antialias" mode="assign" >
<bool>true</bool>
</edit>
<edit name="autohint" mode="assign" >
<bool>true</bool>
</edit>
<edit name="hinting" mode="assign" >
<bool>false</bool>
</edit>
<edit name="hintstyle" mode="assign" >
<const>hintfull</const>
</edit>
</match>
<!-- 在没有打补丁的系统上,人工定义宋体,可解决hotmail这类网站宋体英文的替换 -->
<!--
<alias>
<family>宋体</family>
<prefer>
<family>Verdana</family>
<family>Helvetica</family>
<family>Arial</family>
<family>Albany</family>
<family>DejaVu Serif</family>
<family>Bitstream Vera Serif</family>
<family>Tahoma</family>
<family>Times</family>
<family>SimSun</family>
<family>Vera Sans YuanTi</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL ZenKai Uni</family>
</prefer>
</alias>
-->
<!-- 替换宋体的英文字符 -->
<match target="pattern" >
<test name="family" >
<string>宋体</string>
<string>SimSun</string>
<string>SimSun-18030</string>
<string>Sun\\-ExtA</string>
<string>Sun\\-ExtB</string>
<string>AR PL ShanHeiSun Uni</string>
<string>AR PL New Sung</string>
<string>MingLiU</string>
<string>新細明體</string>
</test>
<!-- <edit mode="prepend" binding="same" name="family" > -->
<edit mode="prepend" binding="strong" name="family" >
<string>Verdana</string>
<string>Helvetica</string>
<string>Arial</string>
<string>Tahoma</string>
<string>DejaVu Sans</string>
<string>Bitstream Vera Sans</string>
<string>DejaVu Serif</string>
<string>Bitstream Vera Serif</string>
</edit>
</match>
<match target="font" >
<test name="family" qual="any" >
<string>NSimSun</string>
<string>新宋体</string>
<string>MingLiU</string>
<string>細明體</string>
</test>
<edit mode="prepend" binding="strong" name="family" >
<string>Courier New</string>
<string>Courier</string>
</edit>
</match>
<!-- 设定中文最小字号,使得小字的中文美观 -->
<match target="font" >
<test name="family" qual="any" >
<string>NSimSun</string>
<string>新宋体</string>
<string>SimSun</string>
<string>宋体</string>
<string>SimHei</string>
<string>黑体</string>
<string>Vera Sans YuanTi</string>
<string>Vera Sans YuanTi Mono</string>
<string>SimSun-18030</string>
<string>Sun\\-ExtA</string>
<string>Sun\\-ExtB</string>
<string>ZYSong18030</string>
<!-- han (zh-cn,zh-tw) -->
<string>Microsoft YaHei</string>
<string>DongWen SongTi</string>
<string>FZSongTi</string>
<string>AR PL ZenKai Uni</string>
<string>FZSongTi</string>
<string>FZMingTiB</string>
<string>FangSong_GB2312</string>
<string>KaiTi_GB2312</string>
<string>MS Mincho</string>
<string>MS 明朝</string>
<string>MS PMincho</string>
<string>MS P明朝</string>
<string>Batang</string>
<string>BatangChe</string>
<string>바탕</string>
<string>바탕체</string>
</test>
<test compare="more_eq" name="pixelsize" >
<int>6</int>
</test>
<test compare="less_eq" name="pixelsize" >
<int>12</int>
</test>
<edit compare="eq" name="pixelsize" >
<int>12</int>
</edit>
</match>
<match target="font" >
<test name="family" qual="any" >
<string>AR PL ShanHeiSun Uni</string>
<string>AR PL New Sung</string>
</test>
<test compare="more_eq" name="pixelsize" >
<int>6</int>
</test>
<test compare="less_eq" name="pixelsize" >
<int>13</int>
</test>
<edit mode="assign" name="pixelsize" >
<int>13</int>
</edit>
</match>
<!--
##########################################################
英文字体设置
#########################################################
-->
<!-- 关闭英文字体6号到16号的AA -->
<match target="font" >
<test name="family" >
<string>Albany</string>
<string>Helvetica</string>
<string>alatino Linotype</string>
<string>DejaVu Serif</string>
<string>Bitstream Vera Serif</string>
<string>DejaVu Sans</string>
<string>Bitstream Vera Sans</string>
<string>DejaVu Sans Mono</string>
<string>Bitstream Vera Sans Mono</string>
<string>Times</string>
<string>Courier</string>
<string>Monaco</string>
<!-- 以上是自己添加的字体 -->
<string>Arial</string>
<string>Comic Sans MS</string>
<string>Georgia</string>
<string>Impact</string>
<string>Trebuchet MS</string>
<string>Verdana</string>
<string>Courier New</string>
<string>Times New Roman</string>
<string>Tahoma</string>
<string>Webdings</string>
<string>Albany AMT</string>
<string>Thorndale AMT</string>
<string>Cumberland AMT</string>
<string>Andale Sans</string>
<string>Andy MT</string>
<string>Bell MT</string>
<string>Monotype Sorts</string>
</test>
<test compare="more_eq" name="pixelsize" qual="any" >
<double>6</double>
</test>
<test compare="less_eq" name="pixelsize" >
<double>16</double>
</test>
<edit name="autohint" >
<bool>false</bool>
</edit>
<edit name="antialias" >
<bool>false</bool>
</edit>
</match>
<!-- <include ignore_missing="yes" >~/.msttcorefonts.conf</include> -->
<!-- 单独指定某款字体为AA -->
<match target="font" >
<test compare="eq" name="family" qual="any" >
<string>Segoe UI</string>
<string>roFontWindows</string>
<string>Microsoft YaHei</string>
<string>微软雅黑</string>
<string>STHeiti</string>
<string>Andale Mono</string>
<string>YouYuan</string>
<string>幼圆</string>
<string>Adobe Song Std</string>
<string>Adobe 宋体 Std</string>
<string>方正书宋_GBK,FZShuSong\-Z01</string>
</test>
<edit name="antialias" >
<bool>true</bool>
</edit>
</match>
<!-- 倾斜字体用AA表示 -->
<match target="font" >
<!-- check to see if the font is roman -->
<test name="slant" >
<const>roman</const>
</test>
<!-- check to see if the pattern requested non-roman -->
<test compare="not_eq" target="pattern" name="slant" >
<const>roman</const>
</test>
<!-- multiply the matrix to slant the font -->
<edit mode="assign" name="matrix" >
<times>
<name>matrix</name>
<matrix>
<double>1</double>
<double>0.2</double>
<double>0</double>
<double>1</double>
</matrix>
</times>
</edit>
<!-- pretend the font is oblique now -->
<edit mode="assign" name="slant" >
<const>oblique</const>
</edit>
<!-- and disable embedded bitmaps for artificial oblique -->
<edit mode="assign" name="antialias" >
<bool>true</bool>
</edit>
</match>
<match target="font" >
<test compare="eq" target="pattern" name="slant" >
<const>oblique</const>
</test>
<edit mode="assign" name="antialias" >
<bool>true</bool>
</edit>
</match>
<match target="font" >
<test compare="eq" target="pattern" name="slant" >
<const>Italic</const>
</test>
<edit mode="assign" name="antialias" >
<bool>true</bool>
</edit>
</match>
<!--
Don't use embedded bitmap glyph to simulate italic style,
tell xft to use vector data to simulate it
-->
<match target="font">
<test target="pattern" name="slant">
<const>roman</const>
</test>
<test target="font" name="slant" compare="not_eq">
<const>roman</const>
</test>
<edit name="embeddedbitmap" mode="assign" >
<bool>false</bool>
</edit>
</match>
<!-- 解决英文字体间距过宽 -->
<match target="font" >
<test compare="contains" target="pattern" name="lang" >
<string>zh-tw</string>
<string>zh-cn</string>
<string>ja</string>
<string>ko</string>
</test>
<edit name="spacing" >
<const>proportional</const>
</edit>
<edit name="globaladvance" >
<bool>false</bool>
</edit>
</match>
<!--
There is a similar problem with dual width bitmap fonts. They don't
have spacing=dual, therefore they are not handled by the above rule
and still display as charcell fonts. For example "Efont Biwidth"
has spacing=mono and "Misc Fixed Wide" has spacing=charcell.
Force handling of these fonts as proportional fonts as well:
-->
<match target="font">
<test name="lang" compare="contains">
<string>zh</string>
<string>ja</string>
<string>ko</string>
</test>
<test name="outline" compare="eq">
<bool>false</bool>
</test>
<test name="spacing" compare="eq">
<const>mono</const>
<const>charcell</const>
</test>
<edit name="spacing">
<const>proportional</const>
</edit>
<edit name="globaladvance" binding="strong">
<bool>false</bool>
</edit>
</match>
<!--
#######################################################################
Mark common families with their generics so we'll get
something reasonable
#######################################################################
-->
<!--
Sans-serif faces
-->
<alias>
<family>Arial</family>
<family>Albany</family>
<family>Verdana</family>
<family>Tahoma</family>
<family>Trebuchet MS</family>
<family>SimSun</family>
<family>宋体</family>
<family>MingLiU</family>
<family>新細明體</family>
<family>Vera Sans YuanTi</family>
<family>STHeiti</family>
<family>Microsoft YaHei</family>
<family>微软雅黑</family>
<family>Comic Sans MS</family>
<family>Arial Unicode MS</family>
<family>Wine Sans Serif</family>
<family>Wine System</family>
<family>Wine Courier</family>
<default>
<family>sans-serif</family>
</default>
</alias>
<!--
Serif faces
-->
<alias>
<family>Georgia</family>
<family>Times New Roman</family>
<family>alatino Linotype</family>
<family>SimSun</family>
<family>宋体</family>
<family>MingLiU</family>
<family>新細明體</family>
<family>Vera Sans YuanTi</family>
<default>
<family>serif</family>
</default>
</alias>
<!--
Monospace faces
-->
<alias>
<family>Bitstream Vera Sans Mono</family>
<family>Monaco</family>
<family>DejaVu Sans Mono</family>
<family>Andale Mono</family>
<family>Courier</family>
<family>Courier New</family>
<family>Andale Mono</family>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>s
<family>NSimSun</family>
<family>新宋体</family>
<family>MingLiU</family>
<family>細明體</family>
<default>
<family>monospace</family>
</default>
</alias>
<!--
Alias well known font names to MS TrueType fonts.
These substitute TrueType faces for similar Type1
faces to improve screen appearance.
-->
<alias>
<family>Times</family>
<prefer>
<family>Times New Roman</family>
</prefer>
<default>
<family>serif</family>
</default>
</alias>
<!--
<alias>
<family>Helvetica</family>
<prefer>
<family>Arial</family>
</prefer>
<default>
<family>sans-serif</family>
</default>
</alias>
-->
<alias>
<family>Courier</family>
<prefer>
<family>Courier New</family>
</prefer>
<default>
<family>monospace</family>
</default>
</alias>
<!-- 把serif ,sans,monospace的family(字体族)重新排序,适应中文用户的用字习惯 -->
<alias>
<family>serif</family>
<prefer>
<family>Georgia</family>
<family>alatino Linotype</family>
<family>DejaVu Serif</family>
<family>Bitstream Vera Serif</family>
<family>Times New Roman</family>
<family>Nimbus Roman No9 L</family>
<family>Luxi Serif</family>
<family>Times</family>
<family>SimSun</family>
<family>宋体</family>
<family>Vera Sans YuanTi</family>
<family>Microsoft YaHei</family>
<family>微软雅黑</family>
<family>PMingLiU</family>
<family>新細明體</family>
<family>STHeiti</family>
<family>SimSun-18030</family>
<family>Sun\\-ExtA</family>
<family>Sun\\-ExtB</family>
<!-- han (zh-cn,zh-tw) -->
<family>DongWen SongTi</family>
<family>FZSongTi</family>
<family>Batang</family>
<family>바탕</family>
<family>BatangChe</family>
<family>바탕체</family>
<family>MS Mincho</family>
<family>MS 明朝</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL ZenKai Uni</family>
<family>AR PL New Sung</family>
<family>FZSongTi</family>
<family>FZMingTiB</family>
<family>AR PL SungtiL GB</family>
<family>AR PL Mingti2L Big5</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Tahoma</family>
<family>Albany</family>
<family>Arial</family>
<family>Helvetica</family>
<family>Verdana</family>
<family>Trebuchet MS</family>
<family>Bitstream Vera Sans</family>
<family>DejaVu Sans</family>
<family>Comic Sans MS</family>
<family>Luxi Sans</family>
<family>ClearlyU Alternate Glyphs</family>
<family>ClearlyU</family>
<family>Dingbats</family>
<family>Impact</family>
<family>Nimbus Sans L</family>
<family>LucidaTypewriter</family>
<family>Lucida</family>
<family>Wine Sans Serif</family>
<family>Wine System</family>
<family>Wine Courier</family>
<family>宋体,SimSun</family>
<family>Vera Sans YuanTi</family>
<family>Microsoft YaHei</family>
<family>微软雅黑</family>
<family>PMingLiU</family>
<family>新細明體</family>
<family>STHeiti</family>
<family>SimSun-18030</family>
<family>Sun\\-ExtA</family>
<family>Sun\\-ExtB</family>
<!-- han (zh-cn,zh-tw) -->
<family>DongWen SongTi</family>
<family>FZSongTi</family>
<family>Batang</family>
<family>바탕</family>
<family>BatangChe</family>
<family>바탕체</family>
<family>MS Mincho</family>
<family>MS 明朝</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL ZenKai Uni</family>
<family>AR PL New Sung</family>
<family>FZSongTi</family>
<family>FZMingTiB</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>AR PL KaitiM Big5</family>
<family>Baekmuk Dotum</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Bitstream Vera Sans Mono</family>
<family>Courier New</family>
<family>Monaco</family>
<family>DejaVu Sans Mono</family>
<family>Andale Mono</family>
<family>Courier</family>
<family>Andale Mono</family>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
<family>NSimSun,新宋体</family>
<family>Vera Sans YuanTi Mono</family>
<family>微软雅黑,Microsoft YaHei</family>
<family>MingLiU,細明體</family>
<family>SimSun-18030</family>
<family>Sun\\-ExtA</family>
<family>Sun\\-ExtB</family>
<!-- han (zh-cn,zh-tw) -->
<family>DongWen SongTi</family>
<family>FZSongTi</family>
<family>Batang</family>
<family>바탕</family>
<family>BatangChe</family>
<family>바탕체</family>
<family>MS Mincho</family>
<family>MS 明朝</family>
<family>WenQuanYi Bitmap Song</family>
<family>AR PL ShanHeiSun Uni</family>
<family>AR PL ZenKai Uni</family>
<family>AR PL New Sung</family>
<family>FZSongTi</family>
<family>FZMingTiB</family>
<family>Kochi Gothic</family>
<family>AR PL KaitiM GB</family>
<family>Baekmuk Dotum</family>
</prefer>
</alias>
</fontconfig>
[/PHP] |
|