(如果看不到圖,或者格式混亂,請(qǐng)點(diǎn)擊標(biāo)題進(jìn)入)
類(lèi)別標(biāo)簽:
font | ubuntu
首先說(shuō)一下, 這篇文章主要是針對(duì) Java 開(kāi)發(fā)者的, 如果是做 Windows 開(kāi)發(fā), 那么基本上沒(méi)有辦法把工作環(huán)境移植到 Ubuntu 上的(當(dāng)然也不能說(shuō)死, 也許以后可以使用 WINE 試試, 呵呵).
1.系統(tǒng)默認(rèn)編碼
我們知道在中文 Windows 下一般來(lái)說(shuō)系統(tǒng)的默認(rèn)編碼是 GBK, 從 Java 開(kāi)發(fā)的角度來(lái)說(shuō),
就是在進(jìn)行諸如 Java 源代碼編譯, 文件讀寫(xiě)等操作時(shí), 默認(rèn)使用的編碼是 GBK; 而我們參照一般的 Ubuntu 中文安裝文檔,
可能會(huì)建議將默認(rèn)的語(yǔ)言設(shè)置為 zh_CN.UTF-8, 這樣會(huì)帶來(lái)一些問(wèn)題, 比如我在 Windows 使用 Eclipse
時(shí)的編輯器的默認(rèn)編碼是 GBK, 但是在 Ubuntu 下面就是 UTF-8, 同樣是使用 Eclipse, 在 Windows
下的中文文檔到了 Ubuntu 中會(huì)產(chǎn)生亂碼, 必須手工逐個(gè)文檔設(shè)置屬性中的編碼為 GBK 才可以正常;
一些測(cè)試代碼也是以默認(rèn)編碼讀取文件的, 這些代碼讀取出來(lái)的文件內(nèi)容也會(huì)包含亂碼.
所以, 最好是將系統(tǒng)的默認(rèn)編碼設(shè)置為 GBK, 這樣和 Windows 下面的開(kāi)發(fā)環(huán)境最接近. 設(shè)置的方法應(yīng)該不止一種, 我采用的是編輯 /etc/environment, 改成這個(gè)樣子:
LANGUAGE="zh_CN:zh:en_US:en"
GST_ID3_TAG_ENCODING=GBK
LANG=zh_CN.GBK
LC_CTYLE=zh_CN.GBK
2.中文字體
Ubuntu 5.10 默認(rèn)安裝后的中文字體不是點(diǎn)陣字體, 因此在小字顯示的時(shí)候模模糊糊比較難看, 而且, 在瀏覽網(wǎng)頁(yè)時(shí), 無(wú)法顯示中文粗體. 關(guān)于字體美化的文章網(wǎng)上太多了, 有些是采用 Windows 字體來(lái)進(jìn)行的; 最近 "文泉驛"(
http://wqy.sourceforge.net/ ) 的開(kāi)源點(diǎn)陣字體受到很多好評(píng), 而且點(diǎn)陣字體正好合適用于小字的顯示, 我用的是最新的 0.7 beta 版(0.6.9 pcf update 3), 按照
文泉驛點(diǎn)陣宋體安裝指南
上的步驟安裝, 修改了 xorg.conf, 也執(zhí)行了 fc-cache -f -v , 安裝過(guò)程還算順利, 就是有一點(diǎn)需要注意,
那就是字體一定要放在 /usr/share/fonts/ 的子目錄下面, 不然執(zhí)行 fc-cache 不會(huì)起作用的.
安裝完畢后需要配置一下系統(tǒng)的默認(rèn)字體, Firefox 也需要配置一下字體, 效果還是不錯(cuò)的(見(jiàn)下面截圖).

3.Java(Swing)程序的字體
這個(gè)我主要參考了
最簡(jiǎn)單的對(duì)JDK1.5的中文亂碼處理方法 , 按照其中更簡(jiǎn)單的那個(gè)方法, 在 $JAVA_HOME/jre/lib/fonts/ 目錄下創(chuàng)建 fallback 目錄, 并把一個(gè)中文的 TTF 字體鏈接或者安裝到 fallback 目錄下就可以了.
和參考文章說(shuō)的稍有差別, 我是下載了文泉驛 0.6.9 ttf update 3 的 TTF 字體, 直接解壓后復(fù)制到 fallback
目錄下, 接著執(zhí)行 mkfontdir 和 mkfontscale, 果然問(wèn)題得以解決; 現(xiàn)在 NetBeans 或者 JMeter 的
"打開(kāi)" 文件對(duì)話(huà)框中的按鈕和標(biāo)簽就正確顯示出中文了.
安裝在 Ubuntu 上面的 NetBeans 5.0:
存在中文問(wèn)題的"打開(kāi)項(xiàng)目"對(duì)話(huà)框:
經(jīng)過(guò)處理后可以正確顯示中文的對(duì)話(huà)框:
參考: