2019/07/15

用 Wine/PlayOnLinux 安裝 CBETA 閱經器 CBReader2X

前言
安裝
界面字型
悉曇字型及蘭札字型
界面設定
後語

【前言】


前面曾介紹過 2016 版的安裝法。因為很久沒去 CBETA 網站,不知道已經有 2018 版,所以一直沒有更新。本篇敘述 2018 版的安裝,作業系統是 Ubuntu 18.04。


【安裝】


1. 安裝 Wine 和 PlayOnLinux

sudo apt install playonlinux

2. 下載 CBReader 安裝檔


至 CBETA 下載安裝程式 cbreader2x_win_all_v042_20190415.exe。
這是 7Z 自動解壓縮檔,也就是綠色安裝。


3. 在 PlayOnLinux 中安裝 CBReader2X


a. 執行 PlayOnLinux。
安裝時,有包括其 .desktop 檔,所以在程式選單中應該有。

主視窗開啟後,稍微放大一些,不然有些內容可能會看不到。


b. 按上方工具列 [Install] 按鈕;第一次執行會下載最新程式清單。

(清單下載完不要去玩,先安裝好 CBReader 再說。)


c. 點選視窗左下方 [Install a non-listed program] 連結。


d. 會出現以下注意事項:
During a PlayOnLinux installation:

- Leave the default install directory unchanged;
Just make sure to install to the C: drive, which is the only one managed by PlayOnLinux. Check in the wiki how you can manage the host system disk space;

- If asked, don't let the installer launch the newly installed program for you at the end of the installation;

- If asked if you wish to reboot Windows immediately, you may answer Yes, but in no case should you reboot the host operating system by yourself.
第一條是要使用者不要變更預裝的目錄。
第二條是勿讓安裝程式在最後一步啟動剛安裝好的程式。
第三條是若有要求重啟系統,可以答 Yes,但使用者不要自己去重啟。

可勾選左下方 [Don't remind me anymore]。
按 [Next]。


e. 出現以下訊息:
PlayOnLinux is not related to WineHQ.

To ensure that the results will be comparable from one computer to another and to avoid regressions, we specify a working Wine version for each program. This Wine version will quickly become out to date, but we won't change the installer until new tests are made and it takes time.

For those reason, please do NOT send any bug report or ask any support on WineHQ forums if you are using PlayOnLinux.

If you want to help the project to make some tests in order to avoid using out of date Wine versions, do not hesitate to go on our website.

Thank you.
主要意思是:若有問題,不要去 Wine 網站詢問,因為與他們無關。

可勾選左下方 [Don't remind me anymore]。
按 [Next]。


f. 出現 [Manual installation] 訊息。
按 [Next]。


g. 接著是 [PlayOnLinux Wizard] 窗格。
根據上面注意事項第一條,選 [Install a program in a new virtual drive]。
按 [Next]。


h. 輸入虛擬硬碟名稱。
此處以 iDrive 為例。
按 [Next]。


i. 詢問安裝前要做什麼。
都不選,按 [Next]。


j. 詢問虛擬硬碟種類。
選 32 位元者,按 [Next]。

這會新增 $HOME/.PlayOnLinux/wineprefix/iDrive 目錄 。

(試過 64 位元者,無可安裝的瀏覽器。)


k. 詢問安裝程式。
按 [Browse] 選下載的 CBReader 安裝檔。
按 [Next]。


l. 解壓縮目錄請選 C:\Program Files (直接輸入會比較快)。


m. 建立捷徑。
CBReader.exe,按 [Next]。


n. 視個人喜好更改捷徑名稱。
本例不更改。
按 [Next]。


o. 其他捷徑,自己看著辦。
最後,選第一項 [I don't want to make another shortcut]。
按 [Next]。


至此,CBReader 大致安裝完畢,但還缺一些必需零件。


4. 安裝必需組件


a. 在 PlayOnLinux 主視窗選剛建立的 CBReader 捷徑。


b. 按上方的 [Configure] 按鈕。


c. 選 [Install components] 分頁。


d. 安裝 [Internet Explorer 6]。

(試過 IE8,無法安裝。)


e. 完成後,按右上角 X 關閉窗格。


安裝完成


5. 啟動 CBReader


在 PlayOnLinux 主視窗:

a. 雙擊 CBReader 捷徑,或
b. 點選後,按左上方 [Run] 按鈕,或
c. 點選後,按 [Enter]。

當然,用桌面捷徑會比較方便。

啟動 CBReader 後會發現右邊經文窗格可以正常顯示,但界面的中文字都是小方格。這大概是因為它使用了「新細明體」而 Linux 系統沒有此字體之故。

如果出現彈出窗格,那是詢問是否要更新。因為也是一大堆的小方格,所以先關掉。


註:因 IE6 是安裝在 PlayOnLinux 中,所以從 Wine 執行 cbreader.exe 會有問題。


【界面字型】


1. 關閉 CBReader 和 PlayOnLinux


2. 用文書程式開啟 $HOME/.PlayOnLinux/wineprefix/iDrive/user.reg


3. 取代 Windows 的中文字型


在 user.reg 檔末加入以下內容:

[Software\\Wine\\Fonts\\Replacements]
"MingLiU"="AR PL UMing TW"
"PMingLiU"="AR PL UMing TW"
"SimSun"="AR PL UMing CN"

也可以用 Noto CJK 字型,例如:

[Software\\Wine\\Fonts\\Replacements]
"MingLiU"="Noto Sans Mono CJK TC Regular"
"PMingLiU"="Noto Sans CJK TC Regular"
"SimSun"="Noto Sans CJK SC Regular"

可以把 Regular 換成 Bold,如果覺得不夠粗的話。

文鼎的“AR PL UMing”是 Linux 系統很常用的中文字型,有如 Windows 的新細明體。Google 的 Noto 字型則是 Ubuntu 在新增中文語系時附帶的。這兩種字型在大部分的 Linux 正體中文系統中都有。


4. 啟動 CBReader 看看是否有效


如果出現更新窗格,即可更新。若未出現,可按上方的「更新檢查」。


【悉曇字型及蘭札字型】


這兩個字型若直接用 CBETA 提供的,會有問題,所以必需修改成 Linux 可以用的。

1. 安裝 FontForge

sudo apt install fontforge
共 21 M。


2. 至 CBETA 下載悉曇字型及蘭札字型


必需用舊版的。在 2016/2018 光碟映像檔中有舊版的,另外在 2016 版的安裝程式中也有。但將 2018 版的安裝程式在 Linux/Wine 中解壓縮後,倒是沒看到字型檔。

最新針對 Windows 10 和 Mac 系統的字型檔有問題。用 fontforge 無法載入,而用 fontlint 檢查,則有 'name' table 中,Mac 和 Windows 的名稱不一致的警告訊息及以下錯誤訊息:
This font has an illegal format 4 subtable with too little space for all the segments.
This error is not recoverable.



3. 修改字型檔


a. 原檔保留,將字型檔複製到另一目錄;修改字型檔的權限,自己要能 Write;然後用 fontforge 開啟:

fontforge Siddam.ttf


b. 在 FontForge 選:

[Encoding] > [Reencode] > [ISO 10646-1 (Unicode, Full)]

[Element] > [Font Info] > [PS Names] > [Fontname] > 改成 Siddam > [OK]

[File] > [Generate Fonts] > 檔案類型選 TrueType > 檔名 Siddam.ttf > 可取消 [Validate Before Saving] > [Save] > [Replace]

若有任何錯誤或警告訊息,全部略過。


c. 如果想做 .otf 檔:

[Encoding] > [Reencode] > [ISO 10646-1 (Unicode, Full)]

[Element] > [Font Info] > [PS Names] > [Fontname] > 改成 Siddam
[Element] > [Font Info] > [General] > [Em Size] > 下拉選單中選 1000 > [OK]

[File] > [Generate Fonts] > 檔案類型選 OpenType (CFF) > 檔名 Siddam.otf > 可取消 [Validate Before Saving] > [Generate]


d. 關閉 FontForge 視窗,不需儲存。


e. 擺放字型檔的目錄:

如果只有 CBReader 會用到,放在:
$HOME/.PlayOnLinux/wineprefix/iDrive/drive_c/windows/Fonts/

如果自己其他場合會用到,放在:
$HOME/.fonts/

如果系統其他場合會用到,放在:
/usr/share/fonts/ (若有 truetype 或 opentype 目錄,可放其中)。

以上三處任一處皆可,但不要 .ttf 和 .otf 同時有。一方面,內容都是一樣的;另一方面,可能造成混淆。.otf 檔似乎是 .ttf 檔的 3~4 倍大。


f. 啟動 CBReader,找篇有悉曇字的來檢查,如 「事𢑥部類」 T2132 《悉曇字記》(T54, No. 2132)。


g. 蘭札字型檔 Ranjana.ttf 也需做同樣的修改。含蘭札字的經文:「密教部類」 X1079 《持誦準提真言法要》(X59, No. 1079)。


【界面設定】


1. 視窗標題列


CBReader 視窗最上方的標題列預設由 Linux 的視窗管理員控制。如果要由 Wine 控制,改變其顏色和字型,先關閉 CBReader,然後:

a. 在 PlayOnLinux 主視窗點選 CBReader 捷徑。

b. 按上方的 [Configure] 按鈕。

c. 選 [Wine] 分頁。

d. 按 [Configure Wine]。

e. 選 [Graphics] 分頁。

f. [Allow the window manager to decorate the windows] 取消勾選

g. 到 [Desktop Integration] 分頁。在 [Item] 下拉選單選要修改的項目。

使用中視窗標題列:
 左側漸層色是 [Active Title Bar]
 右側漸層色是 [Active Title Bar Gradient]
 文字是 [Active Title Text]
非使用中視窗標題列:
 左側漸層色是 [Inactive Title Bar]
 右側漸層色是 [Inactive Title Bar Gradient]
 文字是 [Inactive Title Text]

註:[Graphics] 分頁的 [Allow the window manager to control the windows] 不建議取消,不然切換視窗會有問題。


2. 其他組件/元件


2018 版的 CBReader 視窗中,大部分都無法由 CSS 或 Wine 改變。除了標題列,只有邊框和捲軸可以由 Wine 設定。這和上一小節一樣,在 [Item] 下拉選單中改變設定值。

下面兩圖是修改前後的比較。下圖特別用紅色標出可以改變的組件,不難看出能改變的部分很少。所以,乾脆除了標題列以外,都用原值就好了。


【後語】


1. 依 CBETA 說法,2018 版改用 HTML5 格式,至少要用 IE11 以上的瀏覽器,而 Linux/PlayOnLinux 只提供到 IE8,所以有許多功能都無法使用。譬如:「主功能區字體」的設定無效,「引用複製」等功能完全失蹤,無法顯示校註。


2. 大藏經某些罕用字會用到 Unicode 10 字型。有兩個地方可以下載含 Unicode 10 的花園明朝體:

第一個是 fonts.jp/hanazono,提供 .ttf 檔,最新版是 2017-09-04 版。
第二個是 github.com/cjkvi,提供 .otf 檔,最新版是 8.030 版。

但是安裝後,Linux 的文書編輯器(如:geany)、瀏覽器(如:firefox)皆可顯示罕用字,如:𮎃([舟*冗]),但 CBReader2X 則無法顯示。即使是用上述的取代法,也是一樣都是小方格。所測試的經文是 A091n1057_p0314a07。

這大概是因為使用 IE6 的關係。這個問題目前好像仍然無解。


3. CBETA 雖然很發心、很努力地想更新 CBReader,但受限於各種因素,仍無法同時滿足各平台的要求;顧得了 Windows 和 Mac,也顧不了 Linux 系統。不過,我們仍應該感謝 CBETA 的各位大德,不應一昧地指責 CBReader2X 的缺點。


4. 結論:還是建議 Linux 使用者先安裝 CBReader 2016 版