在 Ubuntu 及其他 Linux 底下,若你想要執行 Windows 底下的程式,唯一的方式就是透過 Wine,它已經開發好幾年了,再加上後來有 Google 的幫助,最近它的開發速度變得更快。透過 Wine 你可以執行像是 Picasa、PhotoShop、魔獸世界、CS、Office 等程式,要安裝也很容易,照著 Wine for Debian based distributions 這個頁面的步驟做就可以了。加入 Launchpad 的 PPA 到套件來源,就可以安裝到最新版本了。

安裝完就沒事了嗎?很可惜並不是這樣的,你必須再經過一些繁雜的步驟來設定它的字型,之後才能正確顯示中文。不過還好這些步驟並不難、只是煩,照著做一次就可以一勞永逸了,當然繼續往下看之前,你必須已經裝好 Wine 了。

1.
首先我們要選擇字型來顯示中文,我用的是 iLiHei-LG 這個字型 (這是網友從 Mac 的儷黑體修改而來,有興趣的請自行 Google),以及 Google 推出的 Droid 字型 (只是它包含的字沒有那麼多)。我們需要將字型放到「~/.wine/drive_c/windows/Fonts」底下,如果你先前就曾安裝字型在系統裡,也可以透過軟連結把字型連到這個目錄。假設我把字型放在我的「~/.fonts」目錄下的話,我可以使用「ln -s ~/.fonts/droid/DroidSansFallback.ttf ~/.wine/drive_c/windows/Fonts/」為 Droid Sans Fallback 字型建立軟連結。

2.
然後來修改「~/.wine/drive_c/windows」底下的 win.ini,我們在最後加上這段文字

[Desktop]
MenuFont=iLiHei
IconTitleFaceName=iLiHei
MenuFontSize=12
MessageFontSize=12
StatusFontSize=12
IconTitleSize=12

這裡的 iLiHei 請自行換成你要用的字型名稱,假如你用的是 Droid,那就是 Droid Sans Fallback。要知道名稱是很簡單的,隨便開個可以調整字型的程式,看看它在字型清單裡頭是什麼名稱就是了。(不過老實說,就我的測試,這個步驟沒改似乎也不會有影響?)

3.
開啟一個文字檔,貼上以下的文字並存成 fonts.reg,記得存檔時編碼選 Big5 而不是 UTF-8。

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink]
"FontLinkControl"=dword:00004000
"FontLinkDefaultChar"=dword:00003000

/* 平滑化(anti-alias) 備註 */
/* 如果覺得開了之後字體難看,把三個 Y 改成 N,有些字型要開啟平滑化才好看 */
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideAntiAliasWithCore"="Y"
"ClientSideAntiAliasWithRender"="Y"
"ClientSideWithRender"="Y"

/* 平滑字型 */
[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="2"

/* 替換字型1 */
/* 這裡以 Droid Sans Fallback 為例,請自行改成你要的字型名稱 */
/* 我很懶,所以都改成同一種字型。你也可以改成多種不同的字型 */
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
"Arial Baltic,186"="Droid Sans Fallback"
"Arial CE,238"="Droid Sans Fallback"
"Arial CYR,204"="Droid Sans Fallback"
"Arial Greek,161"="Droid Sans Fallback"
"Arial TUR,162"="Droid Sans Fallback"
"Courier New Baltic,186"="Droid Sans Fallback"
"Courier New CE,238"="Droid Sans Fallback"
"Courier New CYR,204"="Droid Sans Fallback"
"Courier New Greek,161"="Droid Sans Fallback"
"Courier New TUR,162"="Droid Sans Fallback"
"Helv"="Droid Sans Fallback"
"Helvetica"="Droid Sans Fallback"
"MS Shell Dlg"="Droid Sans Fallback"
"MS Shell Dlg 2"="Droid Sans Fallback"
"PMingLiU"="Droid Sans Fallback"
"新細明體"="Droid Sans Fallback"
"Tahoma"="Droid Sans Fallback"
"Times"="Droid Sans Fallback"
"Times New Roman Baltic,186"="Droid Sans Fallback"
"Times New Roman CE,238"="Droid Sans Fallback"
"Times New Roman CYR,204"="Droid Sans Fallback"
"Times New Roman Greek,161"="Droid Sans Fallback"
"Times New Roman TUR,162"="Droid Sans Fallback"
"Tms Rmn"="Droid Sans Fallback"

/* 替換字型2 */
/* 我很懶,所以都改成同一種字型。你也可以改成多種不同的字型 */
[HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements]
@="Droid Sans Fallback"
"Arial"="Droid Sans Fallback"
"Fixedsys"="Droid Sans Fallback"
"Microsoft Sans Serif"="Droid Sans Fallback"
"MingLiU"="Droid Sans Fallback"
"MS UI Gothic"="Droid Sans Fallback"
"PMingLiU"="Droid Sans Fallback"
"Simsun"="Droid Sans Fallback"
"Songti"="Droid Sans Fallback"
"System"="Droid Sans Fallback"
"Tahoma"="Droid Sans Fallback"
"Terminal"="Droid Sans Fallback"

/* 取代字型 */
/* Wine 1.1.13 改這裡似乎看不出有什麼用,不過改就改了,沒差啦 */
"Microsoft Sans Serif"="DroidSansFallback.ttf,Droid Sans Fallback"
"SimSun"="DroidSansFallback.ttf,Droid Sans Fallback"
"Tahoma"="DroidSansFallback.ttf,Droid Sans Fallback"
"PMingLiU"="DroidSansFallback.ttf,Droid Sans Fallback"
"Lucida Sans Unicode"="DroidSansFallback.ttf,Droid Sans Fallback"

4.
按 Alt + F2 叫出「執行程式」視窗,輸入「regedit」開啟註冊表編輯器。然後點選【註冊表】→【導入註冊表檔案】來導入我們剛才建立的 fonts.reg 檔,再度提醒你不能把它存成 UTF-8 編碼,不然這一步會失敗。導入之後就可以關閉註冊表編輯器了。

5.
按 Alt + F2 叫出「執行程式」視窗,輸入「winecfg」開啟 Wine 的設定視窗,切到〔桌面整合〕這個分頁,修改 Message Box Text、功能表文字、提示區文字、當前標題欄文字這四個物件的字型,當然要選擇中文字型囉。若是你覺得程式顯示的字型太小,可以切到〔顯示〕這個分頁,改變底下的螢幕解析度。

wine-4

6.
到此就大功告成啦!底下貼出幾張圖給各位看看最後成果。

wine-1
用「好讀」在看電子書,你看那字體多舒服

wine-2
uTorrent 的畫面

wine-3
PDF X-Change Viewer 的設定視窗

參考資料:
「手把手」告別你的Wine中文亂碼-Wine二部曲
Wine / Crossover Office / Picasa Linux 繁體中文設置 UPDATED!!
wine中文字體設置及字體美化
Wine - 田美的地瓜創作
【Ubuntu Linux】安裝 Wine 0.9.51 & 中文字型的設定 @ 企鵝碎碎唸 :: 痞客邦 PIXNET ::

Nelson 發表在 痞客邦 PIXNET 留言(9) 人氣()


留言列表 (9)

發表留言
  • hepha
  • 咦,我用utf-8也是可以匯入阿00!
    不過新細明體那裡會變亂碼就是了,你沒有順便提醒我汗!
  • XD 就說不要用 UTF-8 吧

    Nelson 於 2009/01/23 23:45 回覆

  • Chentunglee
  • 真是太好了,最近在測試用WINE跑公司內部的AP遇到好多問題,不只程式顯示中文,還有跟資料庫連線抓資料時,只要遇到中文,都是一大堆的問題,謝謝你提供的祕技,過完年再來試試看,謝謝。
  • qwert535286
  • 請問一下,我在WINE設定裡找不到

    功能表文字,提示區文字,當前標題欄文字

    這3個選項耶
  • 在我的第五個步驟裡頭,有一張 wine 設定的圖。
    裡面有個 "物件" 的下拉選單,這個選單裡頭就有這三個選項了。

    Nelson 於 2009/04/08 11:22 回覆

  • qwert535286
  • 把WINE更新到最新版後就看到那3個選項了

    不過剛剛照著步驟弄完,只有utorrent可以正常顯示中文,xchange viewer依然是方塊字
  • 你有一步不漏的全部照著我說的做嗎?
    或是你在檢查看看字型設定是否正確。

    我印象中若沒完全照著以上的步驟做,還是字型選錯的話,就會出現你說的問題,我也有遇過。
    只是我忘記是哪個因素影響的了。

    Nelson 於 2009/04/08 18:54 回覆

  • qwert535286
  • 一開始是用iLiHei-LG的字體,該改的地方都改了,中文可以正常顯示,可是平滑化卻沒有出來

    就改用DroidSansFallback.ttf 這次平滑化就有了,但是xchange viewer依然是方塊字(只有語言選擇的地方,繁體中文可以正常顯示...)
  • amy
  • 請問如何修改 XP "開始功能表的程式集"和"工作列按鈕" 的字型 ?

    是否也是在 :

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersio\FontSubstitutes

    或是其它地方 ?
  • 我沒改過耶~

    Nelson 於 2009/11/01 00:09 回覆

  • 路人
  • 取代字型的部份少了這一段
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
  • 路人乙
  • Wine 的字型測試

    謝謝你寫了這篇文章,讓在學習WINE路上,少了摸索的時間,
    小弟測試結果如下
    1. Fedora 11 + WINE 1.1.32+Droid 字型
    2. Fedora 12 +WINE 1.1.36+Droid 字型
    3. Ubuntu 9.10原有Wine中文,但後來重裝WINE後中文字型無法顯示
    =>用此篇文章方式設定後,中文顯示OK!
    Ubuntu9.10+WINE 1.0.1+Droid 字型
  • 你可以在這裡找到最新版的 Wine,而且可以自動更新
    https://launchpad.net/~ubuntu-wine/+archive/ppa

    Ubuntu 內建的太舊了

    Nelson 於 2010/02/06 10:48 回覆

  • 路人乙
  • 忘了寫測試結果
    1. Fedora 11 + WINE 1.1.32+Droid 字型 =>設定後,可正常顯試中文
    2. Fedora 12 +WINE 1.1.36+Droid 字型=>設定後,可正常顯試中文
    3. Ubuntu9.10+WINE 1.0.1+Droid 字型 =>設定後,可正常顯試中文