NeoOffice,一套修改自 OpenOffice 的辦公室套裝軟體,Mac OS X 的使用者一定對這套軟體耳熟能詳,在 Microsoft Office 過度昂貴以及 OpenOffice 3 Aqua 版本過度廢柴容易當掉的今天,以自由軟體發行的 NeoOffice 提供了一個雖然不算最棒,但至少勘用的解決方案。

而同時它也有繁體中文語系,在這裡下載安裝封包檔案 (其他語系的也有),並在 NeoOffice 的 Preferences -> Language Settings -> Languages 裡面把語系換成 Chinese (Traditional),重新啟動 NeoOffice 就行了。

NeoOffice-Preferences-Language.png

不過,當我們重新啟動程式之後,映入眼簾的,除了熟悉的中文之外,還有熟悉的…新細明體…

NeoOffice-zh_TW-Ugly-UI-Font.png

當然前提是你有把新細明體 (或稱 PMingLiU) 安裝到 Mac OS X 裡面;不過就算沒有裝,看到的大概也是其他的宋體或明體字 (serif)。

而這並不符合我們在 Mac OS X 的習慣。

簡單來說就是看起來很吃力 = =

如何修改呢?

首先,就如同你修改其他程式或遊戲一樣,修改之前先把 NeoOffice 程式關掉。

進入 ~/Library/Preferences/NeoOffice-2.2/user/registry/cache 這個路徑,把org.openoffice.VCL.dat 這個檔案刪掉。

NeoOffice-Delete-Cached-Font-Settings.png

接著進入 /Applications/NeoOffice.app/Contents/share/registry/data/org/openoffice,使用文字編輯器開啟 VCL.xcu 這個檔案。本例使用 TextWrangler (免費軟體)。

NeoOffice-Default-Font-Settings.png

然後就開始修改啦。

請透過搜尋的功能 (通常是按下 Command + F),搜尋 zh-hk 這個字串,然後不要急著往下拉,我們要修改的是它上面的上面的上面那坨寫著新細明體、方正明體等等一堆的那一行。(因為 zh-hk 的前一個 sibling element 的語言是 zh-tw)

NeoOffice-Modify-Default-Font-Setting-for-zh_TW-1.png

到這裡你應該大概知道怎麼做了 :p

直覺看來當然是在 方正明體 這幾個字前面加入想要用的字型啦~ 例如 Mac OS X 應該是以 Lucida Grande 為全系統的 UI 通用字型。不過當然你也可以用別的,例如微軟正黑體之類 (當然前提是你有安裝)。記得字型名稱之間要以 ; (分號) 隔開喔。

NeoOffice-Modify-Default-Font-for-zh_TW-2.png

然後就存檔啦。不過因為 VLC.xcu 這個檔案的 owner 是 system,所以你在存檔的時候會問你密碼;當然如果你在開檔的時候用終端機,並且在指令前面先加 sudo ,應該就沒這個問題了。

NeoOffice-Sudo-Modify-Settings.png

修改完成之後啟動 NeoOffice (它會再抓一次預設值,然後存進我們第一個砍掉的 Cache 檔),是不是字體變漂亮了呢?

NeoOffice-zh_TW-Beautiful-UI-Font.png

不過,因為它抓字型的方式是以「從頭開始抓,看哪個存在系統裡面,就以那個字型做為使用者界面的字型」,至於字型裡沒有的字元 (例如 Lucida Grande 裡面理所當然沒有東亞文字),就交由 Mac OS X 去做字型的 Fall-back;因此在某些情況下,可能顯示出來的字很醜或不符你眼睛的標準,這時候就從頭做起 (關程式、砍 Cache 檔、修改預設值、存檔、開程式),直到你試出你覺得好看的界面啦…XD

至於為甚麼不直接改 Cache 檔 (org.openoffice.VCL.dat) 呢?那是因為這個檔案是二進位檔…與其拿十六進位編輯器來改這個檔案,不如砍掉這個檔案讓 NeoOffice 誤以為字型沒有初始化,然後再去抓預設值回來存…XD

同理,如果你想修改其他語系的 UI 字型,就搜尋相對應語系縮寫的 element 裡面的 UI_SANS 這一條字型設定就行囉。 例如中国用简体中文是 zh-cn、香港中文是 zh-hk、新加坡中文是 zh-sg、日本語是 ja、한국어 (韓國語) 是 kr,預設的 English 是 en

嗯…我不知道 NeoOffice 更新的時候會不會又要重新動一次手術…XD 應該不用啦 (?)