Skynet

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

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            112 Posts :: 1 Stories :: 49 Comments :: 0 Trackbacks

          結合 windows ssh 搭建,你會知道更多

          [轉] 配置cygwin下中文支持

          版權聲明:轉載時請以超鏈接形式標明文章原始出處和作者信息及本聲明
          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

          大致寫了一下,有待補充。
          本來一年前就打算寫的,但后來覺得老黃寫更合適,但這家伙似乎只對代碼有興趣,總不寫文檔。

          終端

          locale支持

          Cygwin的locale支持一直都不太好,采用zh_CN.gb2312好像問題很多,我一直采用的是zh_CN.gbk
          ~/.bashrc
          LC_CTYPE=zh_CN.gbk
          CHARSET=GBK #(glib2需要使用找個環境變量確定文件名的編碼)
          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環境變量也很有用

          X下的中文支持

          locale支持

          Cygwin的locale支持一直都有問題,好在X程序還可以使用XLOCALE。
          建議還是使用zh_CN.gbk, 不要使用zh_CN.GB2312

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

          中文字體

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

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

          如果使用zh_CN.GB2312,這里有一個RedOffice面帶的點陣字體包

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

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

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

          得到字體文件之后,放到某個目錄之下,編輯/etc/fonts/local.conf,將字體路徑加入:
          /path/to/my/ttf/fonts
          如果只是自己使用,可以將字體文件放到~/.fonts下,不需要修改任何配置,最多三十秒fontconfig就能夠發現這些字體了。

          中文輸入法

          老黃(hzhr)移植了miniChinput到Cygwin,我也移植了fcitx-1.8.5和3.0,均可以從我的網站上找到 http://www.oliwen.com/bamanzi/cygwin/chinese/

          一般設置了LC_CTYPE和XMODIFIERS就可以在程序中激活輸入輸入法了(除非這個程序沒有XIM支持):

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

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




          整理 www.aygfsteel.com/Good-Game
          posted on 2009-05-13 08:13 劉凱毅 閱讀(4417) 評論(0)  編輯  收藏 所屬分類: 系統
          主站蜘蛛池模板: 体育| 迁安市| 武强县| 凯里市| 鄱阳县| 灵武市| 柞水县| 和平区| 夏河县| 剑阁县| 奉节县| 利辛县| 栾城县| 安庆市| 新源县| 高唐县| 体育| 海口市| 长子县| 开封县| 平塘县| 临汾市| 仙居县| 信宜市| 会东县| 富川| 河间市| 伊川县| 连城县| 新津县| 望谟县| 江油市| 西峡县| 柳江县| 无棣县| 阳高县| 措勤县| 天全县| 盱眙县| 通化市| 清镇市|