Kylix 3 字体问题

在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
...

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值