XWindow下汉化的常见问题解答

本FAQ的最新HTML版本可以在http://dongfangzhixiao.com.cn/cgi-bin/bigate.cgi/b/k/k/http@fish.ihep.ac.cn/www/faq.html

获得. 列出的某些软件可在 ftp://fish.ihep.ac.cn/下获得.

 

本FAQ是针对XWindows下的汉字处理和汉化问题编写的, 作者编写此FAQ的目的

是使更多的人了解XWindows的汉化问题.

 

作者并非汉化专家, 甚至谈不上这方面的专职程序员, 作者只是在该领域里进

行了短时间的探索. 所以本FAQ 对有的问题解答很肤浅, 也有可能对某些问题

的解答不正确, 敬请原谅. 作者不对使用本文所造成的后果负责.

 

本FAQ是开放型的, 如果您有什么问题, 建议, 解答请发电子邮件给作者 , 作

者会在下一版本更新.

 

总索引

 

有关汉字的基本知识

 

汉字编码

 

汉字编码间的转换

 

GB与BIG5的识别

 

有关半个汉字问题

 

X Font

 

怎样安装 X Font?

 

X Font现有哪些种格式?

 

怎样转换字体?

 

汉字字体的编辑

 

有哪些软件可以编辑X汉字字体?

 

什么是Scalable字体?

 

汉字显示

 

如何实现汉字和ASCII的混合显示?

 

怎样竖向或有角度地显示汉字?

 

如何实现特殊效果的汉字显示?

 

X Windows下软件的汉化

 

有汉化的X Server吗?

 

X 窗口管理器的汉化是否容易?

 

没有源程序时如何汉化?

 

有源程序时如何汉化?

 

如何解决汉字输入问题?

 

有汉化的Java吗?

 

现有软件

 

现有的汉字编辑软件

 

现有的汉字处理软件

 

有哪些汉字输入软件?

 

我想编制可以使用汉字的窗口软件, 有汉化的Widget软件吗?

 

听说Tcl/Tk是不错的软件包, 它能使用汉字吗?

 

如何在Netscape显示与输入汉字?

 

如何在email中使用汉字?

 

如何在IRC中使用汉字?

 

图形与汉字

 

汉字编码基本知识

 

汉字编码

 

汉字GB和BIG5都为双字节编码, GB编码的第一字节在0xa1到0xf7之间, 第二字

节在0xa1到0xfe之间. BIG5编码的第一字节在0xa1到0xf9之间, 第二字节有两

个区域, 第一区域在0x40和0x7e之间, 第二区域在 0xa1和0xfe之间.(注意第

二字节的高位可能是零)

 

汉字编码间的转换

 

国标与big5之间的转换:

ftp://ftp.fedu.uec.ac.jp/pub/china/software/ifcss/unix/convert/hc-30.tar.gz

 

国标与HZ之间的转换:

ftp://ftp.fedu.uec.ac.jp/pub/china/software/ifcss/unix/convert/HZ-2.0.tar.gz

 

GB与BIG5文件的识别

 

单字统计方法: http://dongfangzhixiao.com.cn/cgi-bin/bigate.cgi/b/k/k/http@http://www.erols.com/eepeter/chtools.html , 该方法按汉字出现的频度设置权重, 然后对应文件按字识别

 

词组统计方法, 该方法按汉字词组出现的频度设置权重, 然后对应文件按字识别

 

字节统计方法: http://dongfangzhixiao.com.cn/cgi-bin/bigate.cgi/b/k/k/http@yumj.kek.jp/www/chrecog.html , 该方法统计汉字的第二或第一字节, 取平均值和184比较

 

有关半个汉字问题


提出半个汉字的原因是有的软件在处理汉字不当时,显示了半个 汉字. 这是因

为对汉字的编码不甚了解造成的. 请注意您所看到的 是汉字的图形显示的一

半被削去了. 既如此, 同样也可以把显示 的汉字变成原来的1/4, 3.14/4...

 

对应于字符缓冲区, 实际上是原来的汉字的两个字节被删去一个 字节. 这样

它就不可能再查找汉字字模, 所以清屏幕后再显示时 该字节后都是乱码.

 

 

那半个汉字能不能实现呢? 当然可以. 很遗憾的是, 您必须仍然 使用双字节

来索引半个汉字, 因为单字符的索引范围最多为256, 抛去最高位为零的只剩

128了. 既然这样, 何苦用半个汉字呢? 基于以上原因, 使用半个汉字也不能

减少输入的麻烦, 相反您的 麻烦可能是原来的两倍.

 

汉字字体

 

怎样安装X Font?

 

字体安装有本机安装和服务器安装两种

 

获取字库后, 放在某目录如 ~/font下

 

使用mkfontdir ~/font 产生 font.dir

 

编制alias文件:font.alias

 

本机使用: xset fp+ ~/font

 

列出Font: xlsfonts

 

显示Font: xfd -fn fontname

 

使用新的alias时, 使用xset fp rehash

 

--------------------------------------------------------------------

 

获取字库后, 放在某目录如 ~/font下

 

使用mkfontdir ~/font 产生 font.dir

 

编制alias文件:font.alias

 

编制font的配置(Configuration)文件, 如 fsconf1234, 其中含有端口号,目录等如,

 

port = 1234

 

clone-self = on

 

client-limit = 10

 

catalogue = /usr/local/font,/home/yumj/hzfont

 

default-point-size = 120

 

default-resolutions = 100,100,75,75

 

Font服务器启动: fs -cf fsconf1234 &

 

Font客户使用: xset fp+ tcp/server_host_name:1234

 

列出Font: xlsfonts

 

显示Font: xfd -fn fontname

 

使用新的alias时, 使用xset fp rehash

 

X Font现有哪些种格式?

 

X Font有很多种格式,

 

bdf: 点阵格式, 用于直接访问或转换成其它格式

 

pcf: X11R5 或更新版本

 

snf: X11R4 或更早版本

 

hbf: 汉字位图(bitmap)文件

 

ttf: True Type

 

怎样转换字体?

 

bdftopcf: 把bdf字库转换成pcf格式

 

bdftosnf: 把bdf字库转换成snf格式

 

hbftobdf: ftp://ftp.ifcss.org/pub/software/info/HBF-1.1.tar.gz : 把hbf字库

转换成bdf字库

 

ttf2bmp: ftp://ftp.ifcss.org/pub/software/fonts/utils/ttf2bmp.zip : 把True

Type转换成Bitmap

 

hbf2fnt: ftp://ftp.ifcss.org/pub/software/fonts/utils/HBF2FNT1.ZIP : 把hbf

转换成MS Windows Font

 

有哪些软件可以编辑X汉字字体?

 

有许多商业和免费软件可以编辑修改XFont, 如

ftp://crl.nmsu.edu/CLR/multiling/General/xmbdfed.tar.gz

 

什么是Scalable字体?

 

Scalable(可缩放)字体实际上是把现有字体装入时的字体缩放 机制. X字体共

 

有十四个域(field), 如

-cclib-fangsong-medium-r-normal-jiantizi-24-240-75-75-c-240-gb2312.1980-0

为仿宋简体24点阵. 如果使其缩放, 则可以把第七和第十二域置为'*', 把第

八域设置为字体的大小. 如放大为36点阵,

-cclib-fangsong-medium-r-normal-jiantizi-*-360-75-75-c-*-gb2312.1980-0

请尝试用xfd检查.

 

矢量字体

了解不多

 

汉字的显示

 

如何实现汉字和ASCII的混合显示?

 

编写的程序把汉字与ASCII分开, 然后逐段处理, 普通字符串的显示 用

XDrawString或XDrawImageString, 汉字的显示用XDrawString16 或

XDrawImageString16.

 

能够区分的汉字常用编码中, BIG5与GB不同, BIG5编码的第二个 字节的高位

有可能为零.