資訊

ruby.js - 讓 Hexo 更方便輸入旁註標記 <ruby>

(最近更新:2014-08-12)
緣起

對於使用漢字的語言,因為漢字並無法完美的表達發音,有些時候需要加拼注音(旁註標記,日語稱為ルビ)在字詞上或右方,以方便讀者閱讀或知道字音。由於日本漢字詞一字(詞)多音的情況挺複雜,因此有些日本小說有時會在一些字詞標音(如青空文庫太宰治《人間失格》)。HTML 中可使用 <ruby>、<rb>、<rp>、<rt> 等標籤,來支援加注音的效果,雖然有些瀏覽器如 Firefox 預設不支援。
現在 Holo 話(閩南語)或是客語的書寫體系有三大種:全漢字、全羅馬拼音、和漢拼混合(漢羅)。鑑於排版的整齊以及 Holo 話用字不一、形音對應複雜的現況,個人目前比較喜歡使用全漢為主、羅馬字為輔,但仿效日本的作品,加上大量旁註標記以表達生難字、多音詞等等的發音或意思。然而 <ruby> 的標籤插入複雜,光是輸入「{rb|中區|Tiong-khu}」就得插入「<ruby><rb>中區</rb><rp>[</rp><rt>Tiong-khu</rt><rp>]</rp></ruby>」,key in 標籤就要打 20 個左右的字母,容筆者說難聽的,code {rb|花貓貓|hue-niau-niau},光讀就夭壽煩,日後編改更加予人起{rb|痟|siáu}。

解決 cx_Freeze 做出的 .exe 檔無法在中文路徑下執行的問題

最近因為協助 Lonote 筆記軟體在 Windows 下的打包工作中,因為 Py2exe 至今對這軟體使用的 Python3 不支援,所以採用 cx_Freeze 將用 Python3 寫成的程式和相依的函式庫綁在同一個資料夾中,以方便廣大沒有安裝 Python3 和 PyQt4 的 Windows 用者使用。

但對於中文使用者來說, cx_Freeze 有相當嚴重的缺點,那就是在 setup.py 中,若 cx_Freeze.Executable 之 Base = ‘Win32GUI’(該參數的值為 ‘Win32GUI’ 時),做出來的視窗程式 .exe 檔無法在含有中文名稱的路徑下執行。若嘗試執行,則會跳出 “cannot get zipimporter instance” 的警告視窗。目前的正式版本 4.2.3 仍舊會出現這個錯誤。

談自力解決之兩三

此為 2010-11 間之文章。

2014-02-23 註:修改註腳等微幅調整

縱觀歷史,當遭遇資源不足的窘境時,幾乎所有的人必奮力而出,或摸索前趨、師法前人地找出對應的解決方案。當一地的田產不足供給眾多的人口時,許多人不畏艱辛、遠赴他鄉,找尋生存的一線曙光;當治安敗壞時,鄉人或集結起來,拜師練拳,捍衛自己的田園。此等例子太多太多,若是一一盡寫,恐怕幾本書都不夠寫了。且容筆者將生活中較為熟悉的幾個案例列敘出來,並發表管中之見,或從管中發出幾響砲聲。