線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1390
推到 Plurk!
推到 Facebook!

中文字型完全解決方案

 
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-22 00:30:40 IP:61.64.xxx.xxx 未訂閱
http://www.adj.idv.tw/server/setfont/    中文字型完全解決方案  作者:螢火飛 最近更新日期:2002-6-16 附註:本文為自由文件,歡迎轉載,轉載不需與本人聯繫,但請註明出處。    (原網址﹕http://home.pchome.com.tw/cute/firefly_z/setfont/ )  您也可以將本頁打包帶回去慢慢看 ^^    --------------------------------------------------------------------------------   系統字型管理 檢查 XFree86 版本  取得並安裝 ttfm 套件  修改 ttfm 套件中附帶的 xttfm.ttfm(修正英文字距過大的瑕疵)    用 ttfm 來管理字型  改用 XFree86 自己的 xtt(X TrueType )  變更系統預設字型  Mozilla 的字型解決方案 Mozilla 的字型設定  Mozilla JAVA 中文顯示問題  Open Office 的字型解決方案 動手為 Open Office 美容(步驟一)  動手為 Open Office 美容(步驟二)  動手為 Open Office 美容(步驟三)  動手為 Open Office 美容(步驟四)  動手為 Open Office 美容(步驟五)  動手為 Open Office 美容(步驟六)  動手為 Open Office 美容(收尾工作)     --------------------------------------------------------------------------------    檢查 XFree86 版本 在開始字型管理之前,請先檢查一下您的 XFree86 版本,本文所有過程, 皆以 XFree86 4.0 以上版本為基礎,最近的版本是 4.2.0。    # X -version    XFree86 Version 4.2.0 (Red Hat Linux release: 4.2.0-8) / X Window System (protocol Version 11, revision 0, vendor release 6600) : : : 注意!X 是大寫!!         如果您的版本大於 4.0 的話,可以跳過以下這節。    改用 XFree86 4:    不幸您的 XFree86 小於 4.0 版,也不必太緊張,翻出您的顯示卡說明書, 找找這張顯示卡是否支援 VESA 模式,如果可以,那麼,恭喜,您還是 可以改用 XFree86 4.0 版的 vesa 驅動程式,來使用 XFree86 4.0 的新功能。    一般來講,當您安裝了系統之後(RedHat、Mandrake、SUSE......),應該 同時有兩種 XFree86 版本(3.3.x/4.x),如果不確定的話,請檢查 /usr/X11R6/bin/ 是否有 XFree86 這個程式,有的話,就沒問題,如果沒有, 請從您的安裝光碟安裝以下幾個套件。    # rpm -Uvh XFree86-100dpi-fonts-4* XFree86-tools-4* XFree86-font-utils-4* \ XFree86-base-fonts-4* XFree86-libs-4* XFree86-xfs-4* XFree86-4* XFree86-xdm-4* \ XFree86-devel-4* XFree86-75dpi-fonts-4* XFree86-twm-4*    接著,修改一下 X 的連結 # cd /usr/X11R6/bin/ # ln -fs XFree86 X # cd /etc/X11/ # ln -fs /usr/X11R6/bin/XFree86 X    然後,修改 /etc/X11/XF86Config-4 這個檔案 # vi /etc/X11/XFree86-4    加入下面這一段 Section "Device" Identifier "VESA" Driver "vesa" EndSection    再往下找下面這一段 Section "Screen" Identifier "Screen0" # 把 Device 改成 VESA Device "VESA" Monitor "My Monitor" DefaultDepth 16 Subsection "Display" Depth 16  Modes "800x600" "1024x768" EndSubSection EndSection         存檔後,您就有 XFree86 4 可用了,如果不想那麼麻煩的話,您也可以從 本站下載 XF86Config-4.vesa.gz 這個檔案,放到 /etc/X11/ 這個目錄下:    # cd /etc/X11/  # gunzip XF86Config-4.vesa.gz    先備份原來的 XF86Config-4 # mv XF86Config-4 XF86Config-4.bak 改用新的 XFree86-4 # cp XF86Config-4.vesa XF86Config-4    好了!請重新啟動您的系統吧!!         附加說明:    如果您是使用筆記型電腦,而又無法驅動顯示卡的話,也可以用 XFree86 4  的 VESA 驅動程式,若還是不行的話,改用 framebuffer 驅動程式試試看, 改用 framebuffer,手續比較複雜一點。    首先,在 /etc/lilo.conf 中增加一行 vga="788" ←(800x600 畫面大小) vga="791" ←(1024x768 畫面大小) 這要看您的螢幕解析度可以到哪一種了,請選擇一種    然後 # lilo -v -v -v 重新啟動後,按 Ctrl+X 鍵,切換到文字開機模式 在 LILO: 提示下輸入 linux single 進入單人模式    先看看有沒有下面這個節區 Section "Device" Identifier "Linux Frame Buffer" Driver "fbdev" EndSection 如果沒有的話可以將上面那段複製到 Screen 節區之前    然後找到 Section "Screen" 這個節區 把 Device 註解起來(前頭加上 "#" 字號) 增加一行新的 Device "Linux Frame Buffer" 最後存檔,好了!請重新啟動您的系統吧!!         若您還是懶得修改 XF86Config-4 的話,請下載 XF86Config-4.fb.gz 吧! 參考 vesa 的解壓縮更改方式,改掉您的 XF86Config-4。    --------------------------------------------------------------------------------    取得並安裝 ttfm 套件 截至筆者寫該篇文章止,ttfm 套件最新版本是 1.0.6。     您可以到 ftp://cle.linux.org.tw/pub/CLE/i386/RedHat/RPMS/ 去下載 ttfm-1.0-6.i386.rpm, 或是到各大學的 ftp 網站仔細找找,依據 CLE 網站的提示,列出了下列地點:    台大計中 CLE 主站:ftp://cle.linux.org.tw/pub/CLE/ 中研院 TLUG 站:ftp://tlug.sinica.edu.tw/pub3/CLE/gaga/    Mirror站台: 中研院:ftp://linux.sinica.edu.tw/CLE/CLE/    交通大學: ftp://linux.nctu.edu.tw/dists/CLE/ ftp://linux2.nctu.edu.tw/dists/CLE/ ftp://linux.csie.nctu.edu.tw/distributions/CLE/    中山大學: ftp://ftp.nsysu.edu.tw/Linux/CLE/CLE/ ftp://ftp.cdpa.nsysu.edu.tw/pub/CLE/CLE/    中央大學:ftp://ftp.ncu.edu.tw/Linux/distributions/CLE/ 成功大學:ftp://ftp.ee.ncku.edu.tw/pub/Linux/CLE/CLE/ 中華大學:ftp://ftp.chu.edu.tw/Linux/CLE/ 東華大學:ftp://ftp.ndhu.edu.tw/Linux/CLE/CLE/ 輔仁大學:ftp://ftp.tku.edu.tw/OS/Linux/distributions/CLE/gaga/ 台北科技大學:ftp://ftp.ntut.edu.tw/OS/Linux/CLE/CLE/ 台灣科技大學:ftp://ftp.ntust.edu.tw/unix/linux/CLE/gaga/ 中正理工學院:ftp://ftp.ccit.edu.tw/OS/Linux/CLE/CLE/    當您取回了 ttfm 套件後,以 root 身份安裝它 (接下來要做的其他變動,也都是以 root 身份進行喔)  # rpm -Uvh ttfm*          --------------------------------------------------------------------------------    修改 ttfm 套件中附帶的 xttfm.ttfm(修正英文字距過大的瑕疵) 請先從本站下載 xttfm.ttfm.gz 這個檔案。並且將它放到 /usr/share/fonts/install/ 這個目錄下, 做如下處置:    # cd /usr/share/fonts/install/ 先備份原來的檔案 # mv xttfm.ttfm xttfm.ttfm.bak 再解壓縮修改過的檔案 # gunzip xttfm.ttfm.gz 改成可執行檔 # chmod +x xttfm.ttfm         經過了以上步驟,再以 ttfm 管理的字型,便不會有英文字距太大的情況出現。 如果您先前有用 ttfm.sh 新增過字型,出現某些 SIZE 英文字距過大,您可以先 移除原來安裝過的字型,再安裝一次字型即可。    # cd /字型路徑/ # ttfm.sh --remove 字型檔案名稱    (也許有人要問:為什麼會有某些英文 SIZE 過大?有些卻不會?)    問得好!!筆者也是經過一番苦思,再加上不斷測試,大體上已經知道是怎麼 一回事,不過,不要怪筆者藏私,這不是三言兩語可以說盡的,何況,筆者尚 未完全融會貫通,若是隨便說說,怕會誤人子弟,總之呢!是 encoding 的問題。    有興趣的話,您可以看一下 xttfm.ttfm 的內容,在 install_xfont() 這個函數中,有 一段以 ######################## 標註起來的內容,那是筆者自行加上的,聰明 的您一看,就什麼都明白了 ^_^    --------------------------------------------------------------------------------    用 ttfm 來管理字型 安裝好了 ttfm 之後,就可以用 ttfm.sh 這個 Shell Script 來安裝新字型了。 這裡是以 Windows 的 mingliu.ttc(新細明體)為例,這是最多人想要安裝 的字型了,接著說明如何使用 ttfm。     # ttfm.sh --add /路徑/mingliu.ttc     註(1):"/路徑/" 是您 mingliu.ttc 完整的路徑 ,如果您是從 Windows 直接複製的話,檔名也許是 Mingliu.ttc,請注意大小寫。     註(2):用 ttfm.sh --help 可以看到更多的用法。          (什麼!?就這樣?你騙我!) 沒有!我沒騙你,真的,就是這麼 Easy ^_^    這道指令執行完後,會將 mingliu.ttc 複製到 /usr/share/fonts/ttf/ 這個目錄下, 並且在 /usr/X11R6/lib/X11/fonts/TrueType/ 建立連結以及 fonts.alias、fonts.dir 、fonts.scale 等相關設定檔,您可以去看看。    --------------------------------------------------------------------------------    改用 XFree86 自己的 xtt(X TrueType ) 系統預設是使用 xfs(X Font Server)。這兩種字型顯示程式,各有優劣點, 我們一般只是想在桌面上顯示字型而已,實在不必用到 xfs 這樣的字型伺服 器。況且,xtt 比 xfs 速度稍快,也較為節省系統資源。     首先,修改 /etc/X11/XF86Config-4 這個檔案。     # vi /etc/X11/XF86Config-4     找到 Section "Files" 以及 Section "Module" 這兩個節區,以下是筆者自己的檔案內容,您可以視情況自行刪改,一般而言,這樣很足夠了。    Section "Files" FontPath "/usr/X11R6/lib/X11/fonts/TrueType" FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/misc" FontPath "/usr/share/fonts/ja/TrueType" FontPath "/usr/share/fonts/zh_TW/TrueType" # FontPath "unix/:7100" EndSection    註:您可以發現,筆者將 FontPath "unix/:7100" 那一列註解起來,因為我們已不再需要 xfs 服務了。     Section "Module"  Load "dbe"  Load "GLcore"  Load "dri"  Load "glx"  Load "extmod"  # Load "freetype" # Load "type1" Load "xtt" #←加入這一列 EndSection    細心的您,是否發現,筆者的 Section "Files" 中,沒有任何 Type1 的字型,還有 Section "Module" 中,將 Load "type1" 也註解起來,為什麼呢?     這是因為,在 KDE 3.0 中,若使用 type1 字型,會造成 KDE 莫名其妙 crash 掉,通常發生在改變字型或找不到應用字型時發生,不信的話,您若裝有 OpenOffice 1.0 ,您試試看拉一下字型選單,就知道筆者所言非虛了。    據筆者推測,可能是 KDE 3.0 與 XFree86 衝突造成的,看看下一版的 KDE 會不會改善這個問題。         當您修改完 /etc/X11/XF86Config-4 之後,記得存檔,請接著請執行 setup 指令 (用 root 身分沒忘了吧),選擇『System services』,您會看到系統全部的 Services ,前面有 "*" 號的(按 Space 鍵就可以切換狀態),就是系統啟動後會馬上執 行的,您必須找到 xfs 這個 Service,將它取消,這樣,下次系統啟動後,就不 會執行 xfs,請記住,一定要取消唷。      好了,現在可以重新啟動系統了 ^_^ # shutdown -r now -------------------------------------------------------------------------------- 變更系統預設字型 一、GNOME: GNOME 只要修改 /etc/gtk/gtkrc.zh_TW.big5 這個檔案。 # vi /etc/gtk/gtkrc.zh_TW.big5 找到下面這一段,插入一列(黃色那一列) style "gtk-default-zh-tw" { fontset = "-adobe-helvetica-medium-r-normal--16-*-*-*-*-*-iso8859-1,\ -DynaLab-MingLiU-medium-r-normal--16-*-*-*-c-*-big5-0,\ -taipei-*-medium-r-normal--*-*-*-*-*-*-big5-0,\ -*-*-medium-r-normal--16-*-*-*-*-*-big5-0,*-r-*" 修改完畢後存檔,登出 GNOME 再登入,您就會發現,所有的系統字型,全部 換成了細明體字了。見下圖: 二、KDE: KDE 的使用者就比較吃香啦!登入 KDE 後,執行『KDE 控制中心』,將所有字型統統指 定為 Mingliu [Aliasdynalab] 16,就大功告成了,是不是變得漂亮多了呢,這裡不建議使用 「平滑字型」,看起來糊糊的,當然!這只是筆者個人喜好而已啦。見下圖: 如果您之前,曾經以 KDE 3.0 的『字型安裝程式』安裝了細明體的話,記得還要用『字型安裝程式』 將安裝過的中文字型移除,否則,很可能會造成細明體字英數字插空白的情況。真的要是這樣,還要 記得把您的 ~/.xftcache 也一起移除。 -------------------------------------------------------------------------------- Mozilla 的字型設定 Mozilla 的字型設定,您可以執行 Mozilla 後,在功能表的『編輯』→『個人功能設定』中指定,如下圖所示: 這樣,再用 Mozilla 瀏覽網頁,是不是比較順眼了呢,以下是瀏覽中時電子報的情形。 Mozilla JAVA 中文顯示問題 用 Mozilla 瀏覽含有 JAVA 的網頁時,如果您是下載 Netscape 的 Java plugin,您將會發現, 中文字的顯示,變得支離破碎,慘不忍睹。這是 JAVA 1.3 版的問題,要讓中文可以正常顯 示,就必須下載 Java 1.4 以上的版本。 您可以到 http://java.sun.com/j2se/1.4/download.html 下載最新的版本,不論是 sdk 或 jre 都可以, 以筆者為例,下載的是 j2sdk-1_4_0_01-linux-i586-rpm.bin 這個檔案,這是一個可執行檔。 先將這個檔案,改成可執行。 # chmod x j2sdk-1_4_0_01-linux-i586-rpm.bin 然後執行這個檔案 # ./j2sdk-1_4_0_01-linux-i586-rpm.bin 會出現一段聲明,您看完後,輸入 yes 即可。這樣,會得到一個叫做 j2sdk-1_4_0_01-fcs-linux-i386.rpm 的 RPM 安裝套件,安裝它。 # rpm -Uvh j2sdk-1_4_0_01-fcs-linux-i386.rpm 然後,修改一下 Mozilla 的 java plugins: 1、以 RPM 方式安裝的 plugins 目錄如下: # cd /usr/lib/mozilla/plugins 2、若是以 tar.gz 方式安裝的話,如下: # cd /usr/local/mozilla/plugins (請注意!!Mozilla 1.0 已經正式 Release 了,目錄名稱變成 mozilla-1.0.0) 執行連結 java plugins # ln -fs /usr/java/j2sdk1.4.0_01/jre/plugin/i386/ns610/libjavaplugin_oji.so libjavaplugin_oji.so 再來,從本站下載 font.properties.zh_TW.gz 這個檔案,這是一個筆者修改過的 Java 字型設定檔,細明體以及文鼎字型均適用,請將這個檔案複製到 /usr/java/j2sdk1.4.0_01/jre/lib/ 這個目錄下,然後解壓縮它。 # cd /usr/java/j2sdk1.4.0_01/jre/lib # gunzip font.properties.zh_TW.gz 好了,這下子 Java 中文問題全部解決嘍,關掉您的 Mozilla,再開啟一次 Mozilla,去瀏覽含有 Java 的網頁,中文字不再是□□□了吧。您也可以 點選 Mozilla 的『工具』→『網頁開發』→『Java 主控台』,應該會如下圖所示。 Open Office 的字型解決方案 動手為 Open Office 美容(步驟一) 安裝好 Open Office 後,可以在選單中看到 OpenOffice.org 的選項,其中有個『印表機管理』 程式,其實,這個程式,不只可以管理印表機,也可以為 Open Office 管理字型喔,所以,第 一步,就是先執行這個程式。 動手為 Open Office 美容(步驟二) 接著,點一下左下角那個『字型(T)』的按鈕,出現下圖: 看到了嗎?甚至還出現中文字體呢 ^^,由於您尚未加入任何字型,所以這裡應該是空的。 -------------------------------------------------------------------------------- 動手為 Open Office 美容(步驟三) 接著,再點選右邊那個『新增(A)』的按鈕。 然後可以在『源目錄』中,輸入 "/usr/share/fonts/zh_TW/TrueType" 這樣,會看到兩個字型檔,這兩個 字型檔就是預設的文鼎字型了。 然後,按『全部選取』按鈕,再按『確定』按鈕,會回到步驟二的畫面,還要再點選一次左下角那個『 字型(T)』的按鈕,因為我們要加入「細明體」字。 好,再次於『源目錄』中,輸入 "/usr/share/fonts/ttf"(記得嗎,我們用之前用 ttfm.sh 將細明體字放到了 這兒),再按一下『確定』按鈕,回到步驟二的畫面後,就跟筆者的一樣了喔。 -------------------------------------------------------------------------------- 動手為 Open Office 美容(步驟四) 好了,我們做好了先期準備工作,可以開始為應用程式美容了。開啟『OpenOffice.org Writer』吧! 然後,點選『工具』→『選項』,出現如下圖的畫面: 先把『顯示比例』調整小一點,上圖為 90%,可以再小一點,這是暫時性動作,待會兒還要調回 100% 的。調整好了之後,再按一下『確定』按鈕。 -------------------------------------------------------------------------------- 動手為 Open Office 美容(步驟五) 回到了主畫面後,字型變小了,沒關係,再點選「工具」→「選項」,然後選「代替字型」,如下圖: 將「使用替代字型」打勾,依序依照下列方式一個一個做好(注意大小寫) 字型輸入 Albany 拉一下「更替成(P)」,選細明體,再按一下綠色勾勾。 字型輸入 Andale Sans UI 拉一下「更替成(P)」,選文鼎PL細上海宋,再按一下綠色勾勾。 字型輸入 Msung Light TC 拉一下「更替成(P)」,選文鼎PL細上海宋,再按一下綠色勾勾。 字型輸入"新細明體" 拉一下「更替成(P)」,選細明體,再按一下綠色勾勾。 字型輸入"標楷體" 拉一下「更替成(P)」,選文鼎PL中楷,再按一下綠色勾勾。 最後,確定一下,所有『自動』欄位是否都勾選了? -------------------------------------------------------------------------------- 動手為 Open Office 美容(步驟六) 接著,先別急著按『確定』,再選『檢視』選項,我們還得把顯示比例調回來 100% 呢! 把『顯示比例』調回 100% 後,請記得,再把『顯示畫面』改成 OS/2,這時候,您就可以 按下『確定』按鈕啦!哇!終於完成啦!高興不高興呢 YA ^_^ -------------------------------------------------------------------------------- 動手為 Open Office 美容(收尾工作) (什麼!?還有哇!哇哩勒 @*#&$#……) 對!再改一下 Open Office 的預設字型,才稱得上完美。 上面那個畫面,如何叫出來,不用我多講了吧 ^^ ,把『標準字型(西文)』以及『標準字型(中日韓)』, 統統改成您喜歡的字型(這裡用細明體)。大功告成。 發表人 - jackkcg 於 2002/12/22 13:56:14
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
系統時間:2024-05-17 18:18:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!