请教这两种字体的区别?
參考答案:mingliu 是微软向华康购买的中文繁体字型, 也是 Windows 使用者最习惯的电脑字。
# cd /usr/ports/outta-port/mingliu
# make install clean
mingliu.ttc 有两个 faces,第零个 face 是 细明体(MingLiU),英文字型是等宽的,第一个是新细明体(PMingLiU),不等宽的英文字型,预设会使用第零个,如果要使用新细明体的话,必须另外设定。
细明体在 11, 12, 13, 15, 16, 20 点的大小有特别做内嵌的点阵字, 换句话说,由於中文字的 hinting 不易,有时点阵字会比较有效。 又因为新细明体使用了 bytecode 来组合笔划, 没有编进 bytecode interpreter 的 freetype 版本在 render 的时候, 就会碎掉。 在目前 ports/print/freetype2 中,预设会利用 files/patch-include::freetype::config::ftoption.h 将 TT_CONFIG_OPTION_BYTECODE_INTERPRETER 打开。
设定让细明体在这些大小时,显示内建的点阵字而不要用 anti-aliased, 在 ~/.fonts.conf 加入:
<match target="font">
<test name="family"><string>MingLiU</string></test>
<edit name="antialias"><bool>true</bool></edit>
<edit name="hinting"><bool>true</bool></edit>
<edit name="autohint"><bool>false</bool></edit>
</match>
<match target="font">
<test name="family"><string>MingLiU</string></test>
<test name="size" compare="less_eq"><int>12</int></test>
<edit name="antialias" mode="assign"><bool>false</bool></edit>
<edit name="hinting" mode="assign"><bool>true</bool></edit>
</match>
因为 MingLiU 宣称自己是 monospaced 字型,但实际上它有两种固定宽度:中文的全形以及英文的半形, 造成 freetype 误判所有字都是跟中文的全形一样宽, 使得英文字和中文字会等宽。
可以修改 freetype 的 globaladvance flag 或是 spacing, 0 是 proportional 的 spacing,100 是 mono,110 是 charcell:
<match target="font">
<test name="family"><string>MingLiU</string></test>
<edit name="globaladvance"><bool>false</bool></edit>
</match>
<match target="font">
<test name="family"><string>MingLiU</string></test>
<edit name="spacing"><int>0</int></edit>
</match>
Note: 记得在 ~/.fonts.conf 的头尾加上
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
...
</fontconfig>
在 X11 Core Font 上,则是利用 xtt 的功能来选取 Face 1 的 PMingLiU 来显示,也就是在最前面加上 fn=1,并检查 Spacing 栏位是否为 p,MingLiU 的 Spacing 栏位是 m。 如果安装 chinese/ttfm 会自动加入两个 face。
mingliu.ttc -DynaLab-MingLiU-medium-r-normal--0-0-0-0-m-0-iso8859-1
fn=1:mingliu.ttc -DynaLab-PMingLiU-medium-r-normal--0-0-0-0-p-0-iso8859-1
Table 6-1. 细明体字体速查表
档名 PostScript name Font Family Font Family
mingliu.ttc MingLiU MingLiU 细明体
mingliu.ttc PMingLiU PMingLiU 新细明体
WWW: EricCheng Fontconfig
参考资料: