UbuntuL10n

出自Ubuntu 正體中文 Wiki

(修訂版本間差異)
跳轉到: 導航, 搜尋
(Java 顯示)
(Java 顯示)
第442行: 第442行:
*安裝
*安裝
-
=Java 顯示=
+
 
=Java 顯示=
=Java 顯示=

在2008年11月13日 (四) 17:26所做的修訂版本

目錄

前言

ubuntu對於英文的使用者來說已經相當的方便,不需要額外安裝相對應的軟體。但是對於中文的使用者來說,你依舊會遭遇到幾個小問題。

  1. 中文字體不夠細緻 (ubuntu 8.04 已改進)
  2. 不合適的 fontconfig 設定 (ubuntu 8.04 已改進)
  3. 缺乏良好設定的中文輸入法 (ubuntu 8.04 預設 scim 輸入法程式,雖然設計概念良好,但偶而有C++程式衝突問題發生 )

這一篇文件就是為了克服這些問題而存在的。

中文字型不夠細緻

中文字體不夠細緻的原因很多,其中最主要的關鍵在於缺乏品質高又免費的字型。微軟的 Windows 系統裡面內建的新細明體跟標楷體當然是很好的字型,但是微軟公司已經買過這兩個字體的版權了。如果你已經向著名的字體廠商購買相關的Linux字型版權,那你當然可以在ubuntu上面使用,但是如果沒有,你一樣可以使用以下幾個字型。

  • 文鼎PL新宋。New Sung 是 螢火飛先生有鑑於 Open Source 社群需要小字包含精美點陣字的字型,決定自行花下大量時間修改文鼎新宋體,修改完成之後免費釋出的字型。
  • 文鼎PL上海宋Uni。一個 Unicode 的文鼎明體字型,目前日文和韓文仍缺了很多字,有待補齊,採 APL 授權,此字型也使用了 Firefly New Sung 的點陣字,CJKUnifonts 之一。
  • 文鼎PL中楷Uni 。一個 Unicode 的文鼎楷體字型,目前日文和韓文仍缺了很多字,有待補齊,採 APL 授權,CJKUnifonts 之一。
  • Opendesktop 字型。文鼎PL新宋(AR PL New Sung)的最新版本。其中包含完整易經符號共 79 個、超過一百個 True Type 錯字與相應的點陣字被修正、超過兩萬個常用點陣字比例修正、完整支援 Big5(正體中文)、GB2312(簡體中文)、JISX0208(日文) 字碼範圍、增加部份罕用字與Unicode Extend B部份用字等。如果使用較常中、日文,建議使用本字體。
  • cwTTF。一套由 cwTeX 轉來的高品質字型,採 GPL 授權,沒有版權的疑虞,但有些常見字沒有收錄。
  • 文泉驛點陣字型。這是大陸 文泉驛 組織所發展的一套點陣字,由社群使用者透過 wiki 開發模式所協同繪製的,補充、修正了大量Firefly的點陣。
  • 文泉驛向量字型。同上。

CJKUnifonts

CJKUnifonts 計畫包含了文鼎 PL 上海宋 Uni (AR PL ShanHeiSun Uni) 以及 文鼎 PL 中楷 Uni (AR PL ZenKai Uni)。

CJKUnifonts 計畫是一位在台灣的德國人─高盛華(Arne Götje)所發起的,目的在於建立日、韓、港、越南通用漢字的字型,希望能從 unicode 結合中文、日文、韓文、越南語使用的漢字,也就是 CJKUnifont 這套字型,目前已完成兩萬五千多字,但距離 unicode 總共七萬多字還有段距離。希望有更多人加入此計畫,以待早日完成。

有興趣和熱誠的人可以和高盛華聯絡arne@linux.org.tw。

推薦連結:

缺乏設定好的輸入法

要使用中文輸入法,需要兩個步驟

  1. 安裝輸入法
  2. 設定輸入法
  • 安裝輸入法,就是將輸入法的程式安裝進作業系統當中,有安裝才能使用
  • 設定輸入法代表的是告訴系統你現在用的輸入法是那種,你輸入的語系是那個

以下有兩種方法,利用 im-switch利用 .xsession 設定輸入法,請自行參考使用。

不合適的 fontconfig 設定

Linux 是由外國人開發,當然 fontconfig 的設定檔的內容也是設計給外國使用者的。中文使用者通常在字型顯示上遇到問題,字型糊糊的,或是歪歪斜斜,這即是因為設定檔是為英文字型量身打造的,只要套用上合適中文字型的設定,字型顯示一樣也能很美。

  • 注意, ubuntu 8.04 已改進,下方範例可以自行斟酌使用。

中文字型

小秘訣:fc-cache -v 指令可在安裝完所有字型後再執行喔!

安裝 New Sung, UMing 與 UKai

  • 執行指令
sudo apt-get update
sudo apt-get install  ttf-arphic-ukai ttf-arphic-uming ttf-arphic-newsung
sudo fc-cache -v
  • 新版的 AR PL New Sung 包含在 Opendesktop 字型中,官方套件仍為舊版,請自行斟酌安裝。
  • 重新啟動 X-Window

安裝 Opendesktop 字型

firefly 前輩的最新力作!

wget ftp://ftp.opendesktop.org.tw/odp/ODOFonts/OpenFonts/opendesktop-fonts-1.4.2.tar.gz
tar xvzf opendesktop-fonts-1.4.2.tar.gz
cd opendesktop-fonts-1.4.2
sudo cp odosung.ttc odokai-ExtB.ttf odokai.ttf odosung-ExtB.ttf /usr/local/share/fonts
sudo fc-cache -v
  • 重新啟動 X-Window
  • 您可以透過 Gnome 面板上的[系統]->[偏好設定]->[字型],將字型更改為 AR PL New Sung ,中文顯示會美觀許多。

安裝 cwTTF 字型

wget http://cle.linux.org.tw/fonts/cwttf/deb/ttf-cwtex-center-cwfs_1.0-1_all.deb
wget http://cle.linux.org.tw/fonts/cwttf/deb/ttf-cwtex-center-cwheib_1.0-1_all.deb
wget http://cle.linux.org.tw/fonts/cwttf/deb/ttf-cwtex-center-cwkai_1.0-1_all.deb
wget http://cle.linux.org.tw/fonts/cwttf/deb/ttf-cwtex-center-cwming_1.0-1_all.deb
wget http://cle.linux.org.tw/fonts/cwttf/deb/ttf-cwtex-center-cwyen_1.0-1_all.deb
sudo dpkg -i ttf-cwtex-center-cwfs_1.0-1_all.deb
sudo dpkg -i ttf-cwtex-center-cwheib_1.0-1_all.deb
sudo dpkg -i ttf-cwtex-center-cwkai_1.0-1_all.deb
sudo dpkg -i ttf-cwtex-center-cwming_1.0-1_all.deb
sudo dpkg -i ttf-cwtex-center-cwyen_1.0-1_all.deb
sudo fc-cache -v
  • 重新啟動 X-Window

安裝文泉驛點陣字體

sudo apt-get install xfonts-wqy
sudo fc-cache -v

安裝文泉驛正黑體

  • ubuntu 8.04 "中文支援"已內建,在"語言支援(Language Support)" 選項中勾選 "中文" ,安裝後即可。
sudo apt-get install ttf-wqy-zenhei
sudo fc-cache -v


安裝中文輸入法

SCIM

新版 ubuntu 已內建此輸入法程式。

中文輸入法支援,在"語言支援(Language Support)"中勾選中文,便會自動安裝簡體與繁體中文輸入法。 接著再由"系統"->"偏好設定"->"SCIM輸入法設定","停用所有輸入法"後,再勾選自己需要的即可。 thumb|由SCIM設定中文輸入法

注意,內建沒有"無蝦米輸入法"喔!

gcin

  • 開啟終端機(當然,你想用"synaptic 管理員"來搜尋並安裝的話,我也沒有意見。)
 sudo apt-get update
 sudo apt-get install gcin

設定輸入法

利用 im-switch 設定輸入法

目前的 im-switch 已經能以簡單指令使載入輸入法,重新啟動後即生效〈僅個人設定,非全域〉。如果用了 im-switch 設定後,即不需要 .xsession 了,因為如果有自己的 .xinitrc 或 .xsession,系統不會自動執行 im-switch,然而不幸的是,有時候 im-switch 會錯亂,此時便得將之移除,請參考 "當 im-switch 錯亂時..." 一文。

注意,若 "語文支援(Language Support)" 已選取 "中文" ,便不需設定了喔。

im-switch 指令如下:

  • scim
im-switch -s scim
  • gcin
im-switch -s gcin

參考資料:

  1. http://moto.debian.org.tw/viewtopic.php?t=11334 當 im-switch 錯亂時…
  2. http://moto.debian.org.tw/viewtopic.php?t=6964 官方輸入法選擇工具 im-switch

利用 .xsession 設定輸入法與桌面環境

如果您只打算設定個人使用者而不是全系統,那麼 xprofile/xsession/xinitrc 將會是一個很不錯工具。 在這裡我們將只討論 xsession(原因是因為 G/Kdm 啟動時皆會載入此檔,但 KDM 作業階段須選擇"預設(Default)")。

.xsession 提供使用者較進階的設定,能做到中文讀寫,然而是英文介面,甚至啟動桌面環境時自動執行某些動作/程式,參見"個人化的 X 環境設定"。

觀念

請見moto學園討論

  1. http://moto.debian.org.tw/viewtopic.php?t=6245 個人化的 X 環境設定
  2. http://moto.debian.org.tw/viewtopic.php?t=6213 locale 設定相關說明
  3. http://moto.debian.org.tw/viewtopic.php?t=9525 輸入法與環境變數 nano-Howto
  4. http://moto.debian.org.tw/viewtopic.php?t=9693 用 scim-bridge 取代 scim-gtk2-immodule

scim-bridge

scim-bridge 可以避免由 C++ 寫成的 scim 和許多程式衝突的發生。目前有:scim-bridge-agent、scim-bridge-client-gtk、scim-bridge-client-qt、scim-bridge-client-qt4 等套件,請自行安裝您所需要的。

首先,在自己的"家資料夾"下,加入 .xsession 檔

  • GNOME
gedit .xsession

秘訣:如果使用 GDM 或 Ubuntu 建議使用下列指令取上上列

gedit .gnomerc
  • KDE
kwrite .xsession

.xsession 內容範例

scim

PS.如果有安裝 scim-bridge 可以下列改成

export GTK_IM_MODULE=scim-bridge
export QT_IM_MODULE=scim-bridge
  • GNOME(Ubuntu-desktop)
export LC_CTYPE=zh_TW.UTF-8
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim
scim -d
exec /etc/gdm/Sessions/Gnome

秘訣:若使用 .gnomerc 則去掉最後一行。

  • KDE(Kubuntu-desktop)
export LC_CTYPE=zh_TW.UTF-8
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim
scim -d
exec startkde

gcin

PS.如果有安裝 gcin-qt3-immodule ,可將下列設為

export QT_IM_MODULE=gcin
  • GNOME(Ubuntu-desktop)
export LC_CTYPE=zh_TW.UTF-8
export XMODIFIERS=@im=gcin
export GTK_IM_MODULE=gcin
export QT_IM_MODULE=xim
gcin & 
exec /etc/gdm/Sessions/Gnome
  • KDE(Kubuntu-desktop)
export LC_CTYPE=zh_TW.UTF-8
export XMODIFIERS=@im=gcin
export GTK_IM_MODULE=gcin
export QT_IM_MODULE=xim
gcin & 
exec startkde

中文 fontconfig 設定檔

ubuntu 8.04 的中文支援內已將此做了改進,已不需設定便有好效果了,或許了解設定格式寫法,依照自己心意設定才是最好的。

入門指導與更多細節,請見如何運用 fontconfig 繪製螢幕字體顯示

  • Ubuntu 用戶:
sudo gedit /etc/fonts/conf.d/20-myfonts.conf
  • Kubuntu 用戶:
kdesu kwrite /etc/fonts/conf.d/20-myfonts.conf

內容如下:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

<!-- conf.d/myfont.conf -->
<fontconfig>

<dir>/usr/share/fonts</dir>
<dir>/usr/share/fonts/local</dir>
<dir>/usr/local/share/fonts</dir>
<dir>~/.fonts</dir>
<!--加入點陣字型路徑-->
<dir>/usr/X11R6/lib/X11/fonts</dir>

<!--所有字型預設開AA關hinting-->
<match target="font">
        <edit name="antialias" mode="assign">
                <bool>true</bool>
        </edit>
        <edit name="hinting" mode="assign">
                <bool>false</bool>
        </edit>
        <edit name="autohint" mode="assign">
                <bool>false</bool>
        </edit>
</match>

<!-- 關閉大於6級,小於16級的AA -->
<match target="font">
        <test name="size" compare="more">
                <double>6</double>
        </test>
        <test name="size" compare="less">
                <double>16</double>
        </test>
        <edit name="antialias" mode="assign">
                <bool>false</bool>
        </edit>
</match>

<!--為不帶粗體的宋明楷體合成粗體。-->
<match target="font">
        <test name="family" compare="contains">
                <string>宋</string>
                <string>明</string>
                <string>楷</string>
                <string>Song</string>
                <string>Sun</string>
                <string>Ming</string>
                <string>Kai</string>
        </test> 
        <test compare="more_eq" target="pattern" name="weight">
                <int>180</int>
        </test>
        <edit mode="assign" name="embolden">
                <bool>true</bool>
        </edit>
</match>

<!-- 解決中文字體英文間距過寬 -->
<match target="font">
        <test target="pattern" name="lang" compare="contains">
                <string>zh</string>
                <string>ja</string>
                <string>ko</string>
        </test>
        <test name="spacing" compare="eq">
                <const>dual</const>
        </test>
        <edit name="spacing">
                <const>proportional</const>
        </edit>
        <edit name="globaladvance">
                <bool>false</bool>
        </edit>
</match>

<!--可忽略的設定,設定宋明楷體大於6級9級以下為9級-->
<match target="font">
        <test name="family" compare="contains">
                <string>宋</string>
                <string>明</string>
                <string>楷</string>
                <string>Song</string>
                <string>Sun</string>
                <string>Ming</string>
                <string>Kai</string>
        </test>
        <test name="size" compare="more">
                <double>6</double>
        </test>
        <test name="size" compare="less_eq">
                <double>9</double>
        </test>
        <edit name="size" compare="eq">
                <double>9</double>
        </edit>
</match>

<!--適應正體中文用戶的用字習慣,可依個人喜好修改。-->
<alias>
        <family>serif</family>
        <prefer>
                <family>Times New Roman</family>
                <family>Times</family>
                <family>DejaVu Serif</family>
                <family>Bitstream Vera Serif</family>
                <family>AR PL New Sung</family>
                <family>AR PL UMing TW</family>
                <family>AR PL UMing TW MBE</family>
                <family>AR PL UMing HK</family>
                <family>AR PL UMing CN</family>
                <family>AR PL ShanHeiSun Uni</family>
                <family>Kochi Mincho</family>
                <family>UnBatang</family>
                <family>Baekmuk Batang</family>
        </prefer>
</alias>

<alias>
        <family>sans-serif</family>
        <prefer>
                <family>Lucida Grande</family>
                <family>Helvetica</family>
                <family>Arial</family>
                <family>Verdana</family>
                <family>DejaVu Sans</family>
                <family>Bitstream Vera Sans</family>
                <family>AR PL New Sung</family>
                <family>AR PL UMing TW</family>
                <family>AR PL UMing TW MBE</family>
                <family>AR PL UMing HK</family>
                <family>AR PL UMing CN</family>
                <family>AR PL ShanHeiSun Uni</family>
                <family>文泉驛正黑</family>
                <family>AR PL New Kai</family>
                <family>AR PL ZenKai Uni</family>
                <family>Kochi Gothic</family>
                <family>UnDotum</family>
                <family>Baekmuk Dotum</family>
        </prefer>
</alias>

<alias>
        <family>monospace</family>
        <prefer>
                <family>Andale Mono</family>
                <family>Courier New</family>
                <family>Courier</family>
                <family>DejaVu Sans Mono</family>
                <family>Bitstream Vera Sans Mono</family>
                <family>AR PL New Sung Mono</family>
                <family>AR PL New Sung</family>
                <family>AR PL UMing TW</family>
                <family>AR PL UMing TW MBE</family>
                <family>AR PL UMing HK</family>
                <family>AR PL UMing CN</family>
                <family>AR PL ShanHeiSun Uni</family>
                <family>Kochi Gothic</family>
                <family>Baekmuk Dotum</family>
        </prefer>
</alias>

<alias>
        <family>細明體</family>
        <prefer>
                <family>AR PL New Sung</family>
                <family>AR PL UMing TW</family>
                <family>AR PL UMing TW MBE</family>
                <family>AR PL UMing HK</family>
                <family>AR PL UMing CN</family>
                <family>AR PL ShanHeiSun Uni</family>
        </prefer>
</alias>

<alias>
        <family>新細明體</family>
        <prefer>
                <family>AR PL New Sung</family>
                <family>AR PL UMing TW</family>
                <family>AR PL UMing TW MBE</family>
                <family>AR PL UMing HK</family>
                <family>AR PL UMing CN</family>
                <family>AR PL ShanHeiSun Uni</family>
        </prefer>
</alias>

<alias>
        <family>標楷體</family>
        <prefer>
                <family>AR PL New Kai</family>
                <family>AR PL ZenKai Uni</family>
                <family>AR PL KaitiM Big5</family>
                <family>AR PL KaitiM GB</family>
        </prefer>
</alias>

</fontconfig>

console 中文顯示

zhcon

  • zhcon 支援的編碼有: big5, gb2312, gbk, jis, ksc
  • 安裝 zhcon
sudo apt-get install zhcon
  • 若要 zhcon 預設顯示 big5 編碼,請修改 /etc/zhcon.conf, 將 defaultencode 改為 big5
defaultencode = big5

jfbterm

  • jfbterm 支援顯示 unicode 編碼。
  • 安裝 (註:jfbterm 需要核心的 framebuffer 支援。)

</pre>

  • 若 locale 非 unicode, 請將之設為 unicode, 如:
export LC_ALL=zh_TW.UTF-8
  • 執行 jfbterm
  • 若出現找不到 unifont.pcf.gz 的錯誤時, 請
locate unifont.pcf.gz
  • 尋找出正確的 unifont.pcf.gz 字型路徑後, 請修改 /etc/jfbterm.conf 5將路徑設為正確。
  • 例如:
+fontset: iso10646.1,pcf,U,/usr/X11R6/lib/X11/fonts/misc/unifont.pcf.gz

fbterm

  • auto-detect text encoding with current locale, support double width scripts like Chinese, Japanese etc
  • switch between configurable additional text encodings with hot keys on the fly
  • 安裝


Java 顯示

1. 請參考: http://wiki.linux.org.hk/w/Install_Java_on_Debian

2. JRE 1.5 中文顯示成方格解決方法:

請在 /usr/lib/jvm/java-1.5.0-sun/jre/lib/fonts/中 建立一個資料夾"fallback", 或是將其他字型資料夾連進來:

sudo ln -s /usr/share/fonts/truetype/arphic fallback
sudo mkfontscale
sudo mkfontdir

3. 如果是JRE1.4版本,

a. 在Ubuntu 8.04 , 安裝JRE的指令"前面要加參數 " _POSIX2_VERSION=199209", 例如:

_POSIX2_VERSION=199209 sh j2re-xxxxx... 

b. 需要安裝 bsmi00lp.ttf 字型 (放在/usr/share/fonts/truetype/arphic/下)

c .或是打開 "/JAVA1.4資料夾/jre/lib/font.properties" , 瀏覽最後兩行,將路徑指向字型所在位置,類似:

filename.-tlc-song-medium-r-normal--*-%d-*-*-c-*-gbk-0=/usr/share/fonts/truetype/arphic/uming.ttf
appendedfontpath=:/usr/share/fonts/truetype/arphic

JRE1.4/1.5中文字型太小的解決方法:

sudo gedit /etc/X11/xorg.conf

找到 Section "Monitor" 找一行插入

DisplaySize xxx xxx

xxx 為DPI計算值, 如螢幕大小為1024x768 , 而欲設定的字型大小為 110 dpi , 可以設成

DisplaySize 236 177 

其他大小/解析度數值參考: (@96dpi)

    DisplaySize    270    203    # 1024x768 96dpi
    DisplaySize    338    254    # 1280x960 96dpi
    DisplaySize    338    270    # 1280x1024 96dpi
    DisplaySize    370    277    # 1400x1050 96dpi
    DisplaySize    423    370    # 1600x1400 96dpi


計算方式如下:

X解析度1024 x 25.4 / 110 DPI = 236

Y解析度768 x 25.4 / 110 DPI = 177

X解析度1280 x 25.4 / 96 DPI = 338

Y解析度960 x 25.4 / 96 DPI = 254

以此類推....

重新啟動電腦即可。