利用 X 字體別名,讓 Linux 桌面環境顯示文件中的標楷體、細明體與黑體
假設我今天在微軟 Windows 系統內,用 OpenOffice 編輯了一份文件,其中的字體設定為標楷體。當我把這份文件拿到 Linux 桌面環境上開啟時,我將發現文件中的字體,全部都無法以楷體顯示。這是因為在 Linux 桌面環境上,並沒有安裝標楷體這套字型。
絕大多數人的解決方式是,將 Windows 系統中的標楷體字型檔案,複製到 Linux 桌面使用。但是就法律層面上來看,此一行為係著作權的侵權行為。微軟並未授權使用者於 Windows 系統之外單獨使用標楷體的權限。
然而,我們是真的非要標楷體不可嗎?未必。設定字體的動作,我們可以用抽象些的方式描述:「這些字要用楷書字體顯示」。重點是楷書,不一定要哪一家。而 X Window 的字型系統有一個非常有彈性的別名功能,可以讓我們指定哪些字體可以使用什麼字體顯示。例如,我們可以告訴 X Window: 『當你碰到一份文字要顯示「標楷體」時,你可以用「全字庫正楷體」顯示它們。看到「細明體」時,則用「全字庫正宋體」顯示』。如此一來,我們就不需要為了顯示文件中的字體,而買一大堆相似的字型檔案。
字體別名的設定文件
在 Ubuntu 9.04 以後的版本,字體別名的設置功能是放置於 /etc/fonts/conf.avail/30-cjk-aliases.conf。我們需要將這份文件連結到 /etc/fonts/conf.d 目錄中,才能正式啟動字體別名功能。
Debian 使用者,請參考「Debian 8 (jessie) 安裝筆記 中文環境篇」取得一份完整的別名設置文件。
請確認有 /etc/fonts/conf.d/30-cjk-aliases.conf 這份文件。如果沒有,執行下列指令建立之。
sudo ln -s /etc/fonts/conf.avail/30-cjk-aliases.conf \
/etc/fonts/conf.d/30-cjk-aliases.conf
黑體
目前 Ubuntu 與大多數的 Linux 桌面環境,皆使用文泉驛正黑體,作為預設字體。文泉驛網站: 文泉驛 開源中文計劃。 它可以作為微軟 Windows 系統的正黑体(SimHei), 微軟正黑體與微軟雅黑體的替代字體。
SimHei 是微軟向中易公司購買的黑體字型,支援 Unicode ,所以同時提供簡、繁兩種字體。SimHei 是 Windows XP 簡體中文版的默認字體之一。但是 Windows XP 繁體中文版的使用者也會有這個字型,只是名稱叫 SimHei。 SimHei 的中文名稱是正黑体。只有簡體中文 Windows XP 認「正黑体」這個名稱,其他語系的 Windows 認的是 SimHei 這個名稱。
微軟雅黑體是微軟 Windows Vista 簡體中文版的默認字體。微軟正黑體是微軟 Windows Vista 繁體中文版的預設字體。
編輯 /etc/fonts/conf.avail/30-cjk-aliases.conf ,找到簡體中文 Windows 的設定段落。
楷書
設定全字庫正楷體或 AR PL UKai TW 作為標楷體(DFKai-sb)的替代字型。
Ubuntu 內建提供一套 AR PL UKai TW 楷體,它是文鼎公司捐贈出來的楷書字體。然而,它的字體不符合中華民國教育部頒標準字體,嚴格說來,不適合作為「標楷體」的替代。所以我也不想用,我選擇使用全字庫正楷體作為標楷體的替代字體。
標楷體的英文名稱是 DFKai-sb ,為 Windows XP 繁體中文版的預設字體之一。 只有 Windows XP 繁體中文版認「標楷體」這個名稱,其他語系的 Windows 認的是 DFKai-sb 這個名稱。標楷體是微軟向華康公司購買的楷書字型,支援 Unicode ,同時提供簡、繁兩種字體。此外,其繁體字體符合中華民國教育部頒標準字體,故名為「標楷體」。
CNS11643全字庫之全字庫正楷體,係由中華民國行政院主計處(令人意外的負責單位...),彙編我國政府機關用字所製作的字體。字體符合中華民國教育部頒標準字體,足以作為標楷體的替代字體。
開啟網頁「CNS11643中文標準交換碼全字庫」,點擊下載網址的「ZIP」圖示即可下載 TTF 字形壓縮檔。包含宋體和楷書。
全字庫字形採用「政府資料開放授權條款」。各機關所提供之開放資料,授權使用者不限目的、時間及地域、非專屬、不可撤回、免授權金進行利用,利用之方式包括重製、散布、公開傳輸、公開播送、公開口述、公開上映、公開演出、編輯、改作,包括但不限於開發各種產品或服務型態之衍生物。
編輯 /etc/fonts/conf.avail/30-cjk-aliases.conf ,找到繁體中文 Windows 的設定段落。
明體與宋體
明體與宋體相近。可設定全字庫正宋體作為細明體的替代字型。
Ubuntu 內建提供一套 AR PL UMing 宋體,它是文鼎公司捐贈出來的字體。然而,它的字體不符合中華民國教育部頒標準字體。我個人同樣選擇全字庫正宋體作為細明體的替代字體。
細明體的英文名稱是 MingLiu ,為 Windows XP 繁體中文版的預設字體之一。 只有 Windows XP 繁體中文版認「細明體」這個名稱,其他語系的 Windows 認的是 MingLiu 這個名稱。細明體是微軟向華康公司購買的字體,支援 Unicode ,同時提供簡、繁兩種字體。
全字庫正宋體下載方式同上節全字庫正楷體之說明。
編輯 /etc/fonts/conf.avail/30-cjk-aliases.conf ,找到繁體中文 Windows 的設定段落。
重新登入桌面後,就會發現那些指定字體的文件內容,都會正常顯示了。
整理內容
字型中文名稱 | Fontname | 適用項目 |
---|---|---|
全字庫正楷體 | TW-Kai | 襯線字(serif) |
標楷體 | DFKai-sb | 襯線字(serif) |
华文楷体 | STKaiti | 襯線字(serif) |
全字庫正宋體 | TW-Sung | 襯線字(serif) |
新細明體 | PMingLiu | 襯線字(serif) |
細明體 | MingLiu | 襯線字(serif) |
宋体 | SimSun | 襯線字(serif) |
文泉驛正黑 | WenQuanYi Zen Hei | 無襯線字(sans-serif) |
黑体 | SimHei | 無襯線字(sans-serif) |
微软雅黑 | Microsoft YaHei | 無襯線字(sans-serif) |
微軟正黑體 | Microsoft JhengHei | 無襯線字(sans-serif) |
樂多舊回應