I googled it.
http://www.linuxeden.com/forum/blog/index.php?op=ViewArticle&articleId=567&blogId=110848
bamanzi | 28 ?ji)? 2004 22:14
大致写了一下,有待补充?br />
本来一q前打写的,但后来觉得老黄写更合适,但这家伙g只对代码有兴,M写文档?br />
l端
locale支持
Cygwin的locale支持一直都不太好,采用zh_CN.gb2312好像问题很多Q我一直采用的是zh_CN.gbk
~/.bashrc
LC_CTYPE=zh_CN.gbk
CHARSET=GBK #(glib2需要用找个环境变量确定文件名的编?
export LC_CTYPE CHARSET
一些小问题
允许bash输入、输Z文字W?br />
~/.inputrc
set convert-meta off
set input-meta on
set output-meta on
ls昄中文文g?而不是一堆问?
alias ls="/bin/ls --show-control-chars"
less览中文文g
less --raw-control-chars
另外LESSCHARSET环境变量也很有用
X下的中文支持
locale支持
Cygwin的locale支持一直都有问题,好在XE序q可以用XLOCALE?br />
q是使用zh_CN.gbk, 不要使用zh_CN.GB2312
在移植程序时需要注意不要让E序q接libcygwin.a里面的setlocaleQ而是采用libX11.a里面的_Xsetlocale。方法是Q检查被ULE序的全部源代码Q发?br />
#include
׃改ؓ(f)
#define X_LOCALE
#include
同时注意E序的连接库要添?lX11.
如果对于l果没有把握Q可以找?a >Dependency Walker查看E序是否q接Ccygwin1.dll里面的setlocaleQ如果是Q就说明有遗漏?br />
中文字体
PCF炚w字体
GTK1.x 和其他一些老的XE序都是用X字体Q?br />
注意必须要有~码与locale一致的字体Q比如用zh_CN.gbk必要由GBK~码的字体,用zh_CN.GB2312必要有GB2312~码的字?/span>
如果使用zh_CN.GB2312Q这里有一?a >RedOffice面带的点阵字体包
可以采用ttf2bdf从TTF抽取得到bdf格式Q然后再用bdf2pcf得到pcf格式的字体文件?br />
(q里有一个Windows版本的TTF2BDFQ可以将Windows TTF字体转换出BDF字体, 注意得到bdf后要手工~辑一下文件头Q将~码声明修改正确)
?
到字体之后,攑ֈ某个目录下,执行mkfontdir生成fonts.dirQ然后用xset +fp
/path/to/your/fonts字体\径加入即?注意与fontconfig的配|不同,q里路径是不递归的,如果有的字体攑֜子目录里面,
子目录也需要添加进L??br />
TTF字体
很多新的应用E序(比如GTK2)都用fontconfig/libxft2来显C字体,它对TTF字体的支持比较好(X以前通过freetype, xft模块也支持TTF字体Q但对中日韩字体的支持不是太好,而且也在Cygwin下似乎也没有q些模块)
完全可以使用Linux下的arphic字体? 如果没有安装LinuxQ可以到
http://packages.debian.org下蝲相应的包Q然后用
7zip解压提取出ttf文g?br />
得到字体文g之后Q放到某个目录之下,~辑/etc/fonts/local.confQ将字体路径加入:
/path/to/my/ttf/fonts
如果只是自己使用Q可以将字体文g攑ֈ~/.fonts下,不需要修改Q何配|,最多三十秒fontconfigp够发现这些字体了?br />
中文输入?/h4>
老黄(hzhr)UL?span style="font-weight: bold;">miniChinput到CygwinQ我也移植了fcitx-1.8.5?.0Q均可以从我的网站上扑ֈ http://www.oliwen.com/bamanzi/cygwin/chinese/
一般设|了LC_CTYPE和XMODIFIERS可以在E序中激z输入输入法?除非q个E序没有XIM支持):
LC_CTYPE=zh_CN.gbk
XMODIFIERS="@im=Chinput"
export LC_CTYPE XMODIFIERS
对于fcitx而言QXMODIFIERS讄Z么都可以(但必要讄)Q所以设|ؓ(f)"@im=Chinput"的话chinput和fcitx都可以正怋?/span>