Skynet

          ---------- ---------- 我的新 blog : liukaiyi.cublog.cn ---------- ----------

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            112 Posts :: 1 Stories :: 49 Comments :: 0 Trackbacks

          結(jié)合 windows ssh 搭建,你會(huì)知道更多

          [轉(zhuǎn)] 配置cygwin下中文支持

          版權(quán)聲明:轉(zhuǎn)載時(shí)請(qǐng)以超鏈接形式標(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ǔ)充。
          本來一年前就打算寫的,但后來覺得老黃寫更合適,但這家伙似乎只對(duì)代碼有興趣,總不寫文檔。

          終端

          locale支持

          Cygwin的locale支持一直都不太好,采用zh_CN.gb2312好像問題很多,我一直采用的是zh_CN.gbk
          ~/.bashrc
          LC_CTYPE=zh_CN.gbk
          CHARSET=GBK #(glib2需要使用找個(gè)環(huán)境變量確定文件名的編碼)
          export LC_CTYPE CHARSET

          一些小問題

          允許bash輸入、輸出中文字符
          ~/.inputrc
          set convert-meta off
          set input-meta on
          set output-meta on

          ls顯示中文文件名(而不是一堆問號(hào))
          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

          在移植程序時(shí)需要注意不要讓程序連接libcygwin.a里面的setlocale,而是采用libX11.a里面的_Xsetlocale。方法是:檢查被移植程序的全部源代碼,發(fā)現(xiàn)
          #include
          就修改為
          #define X_LOCALE
          #include
          同時(shí)注意程序的連接庫要添加-lX11.
          如果對(duì)于結(jié)果沒有把握,可以找個(gè)Dependency Walker查看程序是否連接到了cygwin1.dll里面的setlocale,如果是,就說明有遺漏。

          中文字體

          PCF點(diǎn)陣字體
          GTK1.x 和其他一些老的X程序都是用X字體,

          注意必須要有編碼與locale一致的字體,比如用zh_CN.gbk就必須要由GBK編碼的字體,用zh_CN.GB2312就必須要有GB2312編碼的字體

          如果使用zh_CN.GB2312,這里有一個(gè)RedOffice面帶的點(diǎn)陣字體包

          可以采用ttf2bdf從TTF抽取得到bdf格式,然后再用bdf2pcf得到pcf格式的字體文件。
          (這里有一個(gè)Windows版本的TTF2BDF,可以將Windows TTF字體轉(zhuǎn)換出BDF字體, 注意得到bdf后要手工編輯一下文件頭,將編碼聲明修改正確)

          得 到字體之后,放到某個(gè)目錄下,執(zhí)行mkfontdir生成fonts.dir,然后用xset +fp /path/to/your/fonts將字體路徑加入即可(注意與fontconfig的配置不同,這里路徑是不遞歸的,如果有的字體放在子目錄里面, 子目錄也需要添加進(jìn)去才行)。
          TTF字體
          很多新的應(yīng)用程序(比如GTK2)都使用fontconfig/libxft2來顯示字體,它對(duì)TTF字體的支持比較好(X以前通過freetype, xft模塊也支持TTF字體,但對(duì)中日韓字體的支持不是太好,而且也在Cygwin下似乎也沒有這些模塊)

          完全可以使用Linux下的arphic字體包. 如果沒有安裝Linux,可以到http://packages.debian.org下載相應(yīng)的包,然后用7zip解壓提取出ttf文件。

          得到字體文件之后,放到某個(gè)目錄之下,編輯/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就可以在程序中激活輸入輸入法了(除非這個(gè)程序沒有XIM支持):

          LC_CTYPE=zh_CN.gbk
          XMODIFIERS="@im=Chinput"
          export LC_CTYPE XMODIFIERS

          對(duì)于fcitx而言,XMODIFIERS設(shè)置為什么都可以(但必須要設(shè)置),所以設(shè)置為"@im=Chinput"的話chinput和fcitx都可以正常使用




          整理 www.aygfsteel.com/Good-Game
          posted on 2009-05-13 08:13 劉凱毅 閱讀(4417) 評(píng)論(0)  編輯  收藏 所屬分類: 系統(tǒng)

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 仪陇县| 绥德县| 同心县| 铜山县| 美姑县| 宜兰市| 大同县| 都安| 三原县| 昂仁县| 榆树市| 阳原县| 东乡| 竹溪县| 正阳县| 莆田市| 杂多县| 津市市| 通河县| 黎平县| 赤壁市| 铁岭市| 黄石市| 留坝县| 海兴县| 明溪县| 修文县| 周至县| 西乌珠穆沁旗| 香港| 丹东市| 息烽县| 江华| 清水县| 滦南县| 山丹县| 潮安县| 海阳市| 应用必备| 财经| 革吉县|