在Code Editor中添加Courier New字体:
1. 从Windows上复制cour.ttf、couri.ttf、courbd.ttf、courbi.ttf到一个临时目录,例如/root。
2. 在/usr/X11R6/lib/X11/fonts下任意建立一个目录,例如Windows。
# cd /usr/X11R6/lib/X11/fonts
# mkdir Windows
3. 把字体文件复制到刚才建立的目录。
# cd /usr/X11R6/lib/X11/fonts/Windows
# cp /root/cour*.ttf .
4. 建立字体目录的X信息。
# ttmkfdir > fonts.scale
# mkfontdir
5. 如果该目录还没有加入过X字体服务的字体路径列表,那么加入该目录(注意必须使用绝对路径)。
# chkfontpath --add /usr/X11R6/lib/X11/fonts/Windows
6. 在X字体服务中加入该目录。
# xset fp rehash
7. 重起X字体服务。
# service xfs restart
关于宋体(Simsun)在Kylix 3的Form上显示的问题:
按照上述步骤安装Simsun.ttc后,Kylix 3的Form及其他控件确实可以使用Windows的宋体&新宋体,比Linux自带的巨丑的中文字体要好多了。
但问题是可能将一个Form的.Font.Name改成Simsun以后,Size为14时很漂亮(可是太大了),但10、12、13都很难看,至少RedHat 9下面一定是这样的。其实主要是字符集编码的问题(或者说是Kylix 3所使用的Qt 2.3的问题),只要将.Font.CharSet改为fcsUnicode就可以了。
但是这样做又产生了另一个问题,就是改成fcsUnicode之后,发现使用Simsun的地方显示英文的话,每个字符都是等宽的(而且居然是一个汉字的宽度)……
其实问题就出在前面ttmkfdir的时候。察看fonts.scale文件内容(和fonts.dir是一样的),可看到类似下面这行的几行:
simsun.ttc -misc-Simsun-medium-r-normal--0-0-0-0-c-0-ascii-0
问题就在于那个c,按照XLFD规则c代表“可以竖排的等宽字体”,因此只要改成p就可以了:
simsun.ttc -misc-Simsun-medium-r-normal--0-0-0-0-p-0-ascii-0
当然,不要忘记把其他编码覆盖范围的描述也改过来,比如你要用的Unicode (iso10646-1),否则还是会有问题的:
simsun.ttc -misc-Simsun-medium-r-normal--0-0-0-0-p-0-ascii-0
simsun.ttc -misc-Simsun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
simsun.ttc -misc-Simsun-medium-r-normal--0-0-0-0-p-0-gbk-0
simsun.ttc -misc-Simsun-medium-r-normal--0-0-0-0-p-0-ibm-cp850
simsun.ttc -misc-Simsun-medium-r-normal--0-0-0-0-p-0-iso10646-1
simsun.ttc -misc-Simsun-medium-r-normal--0-0-0-0-p-0-iso8859-1
simsun.ttc -misc-Simsun-medium-r-normal--0-0-0-0-p-0-iso8859-15
simsun.ttc -misc-Simsun-medium-r-normal--0-0-0-0-p-0-koir-8
...