結(jié)合
windows ssh 搭建,你會知道更多
[轉(zhuǎn)] 配置cygwin下中文支持
版權(quán)聲明:轉(zhuǎn)載時請以超鏈接形式標(biāo)明文章原始出處和作者信息及本聲明
http://fangsblog.blogbus.com/logs/4787655.html
配置cygwin來支持中文
http://my.opera.com/render/blog/show.dml/369483
Site From: http://ergophile.bokee.com/1145741.html
I googled it.
http://www.linuxeden.com/forum/blog/index.php?op=ViewArticle&articleId=567&blogId=110848
bamanzi | 28 九月, 2004 22:14
大致寫了一下,有待補(bǔ)充。
本來一年前就打算寫的,但后來覺得老黃寫更合適,但這家伙似乎只對代碼有興趣,總不寫文檔。
終端
locale支持
Cygwin的locale支持一直都不太好,采用zh_CN.gb2312好像問題很多,我一直采用的是zh_CN.gbk
~/.bashrc
LC_CTYPE=zh_CN.gbk
CHARSET=GBK #(glib2需要使用找個環(huán)境變量確定文件名的編碼)
export LC_CTYPE CHARSET
一些小問題
允許bash輸入、輸出中文字符
~/.inputrc
set convert-meta off
set input-meta on
set output-meta on
ls顯示中文文件名(而不是一堆問號)
alias ls="/bin/ls --show-control-chars"
less瀏覽中文文件
less --raw-control-chars
另外LESSCHARSET環(huán)境變量也很有用
X下的中文支持
locale支持
Cygwin的locale支持一直都有問題,好在X程序還可以使用XLOCALE。
建議還是使用zh_CN.gbk, 不要使用zh_CN.GB2312
在移植程序時需要注意不要讓程序連接libcygwin.a里面的setlocale,而是采用libX11.a里面的_Xsetlocale。方法是:檢查被移植程序的全部源代碼,發(fā)現(xiàn)
#include
就修改為
#define X_LOCALE
#include
同時注意程序的連接庫要添加-lX11.
如果對于結(jié)果沒有把握,可以找個
Dependency Walker查看程序是否連接到了cygwin1.dll里面的setlocale,如果是,就說明有遺漏。
中文字體
PCF點(diǎn)陣字體
GTK1.x 和其他一些老的X程序都是用X字體,
注意必須要有編碼與locale一致的字體,比如用zh_CN.gbk就必須要由GBK編碼的字體,用zh_CN.GB2312就必須要有GB2312編碼的字體
如果使用zh_CN.GB2312,這里有一個
RedOffice面帶的點(diǎn)陣字體包
可以采用ttf2bdf從TTF抽取得到bdf格式,然后再用bdf2pcf得到pcf格式的字體文件。
(
這里有一個Windows版本的TTF2BDF,可以將Windows TTF字體轉(zhuǎn)換出BDF字體, 注意得到bdf后要手工編輯一下文件頭,將編碼聲明修改正確)
得
到字體之后,放到某個目錄下,執(zhí)行mkfontdir生成fonts.dir,然后用xset +fp
/path/to/your/fonts將字體路徑加入即可(注意與fontconfig的配置不同,這里路徑是不遞歸的,如果有的字體放在子目錄里面,
子目錄也需要添加進(jìn)去才行)。
TTF字體
很多新的應(yīng)用程序(比如GTK2)都使用fontconfig/libxft2來顯示字體,它對TTF字體的支持比較好(X以前通過freetype, xft模塊也支持TTF字體,但對中日韓字體的支持不是太好,而且也在Cygwin下似乎也沒有這些模塊)
完全可以使用Linux下的arphic字體包. 如果沒有安裝Linux,可以到
http://packages.debian.org下載相應(yīng)的包,然后用
7zip解壓提取出ttf文件。
得到字體文件之后,放到某個目錄之下,編輯/etc/fonts/local.conf,將字體路徑加入:
/path/to/my/ttf/fonts
如果只是自己使用,可以將字體文件放到~/.fonts下,不需要修改任何配置,最多三十秒fontconfig就能夠發(fā)現(xiàn)這些字體了。
中文輸入法
老黃(hzhr)移植了
miniChinput到Cygwin,我也移植了
fcitx-1.8.5和3.0,均可以從我的網(wǎng)站上找到
http://www.oliwen.com/bamanzi/cygwin/chinese/
一般設(shè)置了LC_CTYPE和XMODIFIERS就可以在程序中激活輸入輸入法了(除非這個程序沒有XIM支持):
LC_CTYPE=zh_CN.gbk
XMODIFIERS="@im=Chinput"
export LC_CTYPE XMODIFIERS
對于fcitx而言,XMODIFIERS設(shè)置為什么都可以(但必須要設(shè)置),所以設(shè)置為"@im=Chinput"的話chinput和fcitx都可以正常使用
整理 m.tkk7.com/Good-Game