這篇文章主要想要補充一些使用 libchewing新酷音,沒有寫在文件中,但可能一般人知道更不會卡住的內容。
前言:新酷音的定位
新酷音大概是如果你要在linux桌面環境下,使用繁體中文注音輸入法一個繞不過去的坎,當然還是有其他的選擇像是RIME或者是小麥注音。在我看起來新酷音像是一個由歷代駭客傳承下來的火種,可以從官方網頁的一小段話看出端倪
最早的「酷音輸入法」是龔律全與陳康本兩人的資訊專題 (分別在兩人就讀台大資工系與台大電機系的時期),由中央研究院資訊研究所的徐讚昇博士提供技術指導與超過兩年的經濟及設備支援,最終的成果選擇以 GPL 授權釋出,可說是 XIM (X Input Method) 中最接近新注音或是自然輸入法的實作,詳情可參閱龔律全所撰寫的技術報告 (PDF)。
但是酷音輸入法的兩位原創者已不再維護,後續的發展由許多熱心的朋友移植到不同的平台上,諸如 TimHsu (crazykid) 與 jserv 維護的 JMCCE 1.4.x 中文終端機內建酷音輸入法、clkao 移植酷音到 MacOS X 與 IIIMF 架構,以及 gugod 接手 clkao 的 ChewingOSX 後,大幅改善實作的 SpaceChewing 計畫等。而新酷音就是扮演整合這些分支的角色,並且更廣泛移植與改良酷音輸入法的適用性,並且於 2004 年 12 月有獨立的專案資源,到目前為止,已有許多熱心的貢獻者加入開發行列,期待更多的朋友參與。
就像是一代宗師裡宮寶森要把東西傳給葉問,到底傳承的是一份工作,一個舞台,一個身份,還是一個武林,對於有能力的 contributor 來說,可能傳承的就是這類的東西吧。雖然這篇只是想要補齊文檔的文章,但我們就從對新一代新酷音貢獻者的尊敬起頭吧。
當代宗師
就從一個最基本的 git 指令查詢過去一年多 libchewing repo 貢獻者的 commit 數量,
git shortlog -sn --since="2024-01-01" --until="2025-05-20",我們可以看到:
601 Kan-Ru Chen
20 Jim Huang
10 9c
10 Louie Lu
8 Chocobo1
4 Rui Chen
3 Chih-Hsuan Yen
2 Wu Wayne
2 dependabot[bot]
1 Apsurt
1 Shawn Wang
1 xunil-cloud
近一年的主力開發者就是這位 Kan-Ru Chen,在一番 google 研究後,對於新酷音的 roadmap 有個初步的理解。
- 首先從 0.6.0 開始,專案未來開發的主軸已經是 rust 了,所以在編譯的時候我們 preset 就選 rust-release
cmake --preset rust-release --install-prefix /usr - 參考 回顧用 Rust 重寫新酷音的經驗
編譯為主
在經過本人一些經歷bug體驗後,我認為新酷音在2025年初,最正確的打開方式為:
- 自行編譯使用 rust-release preset
- 使用 ibus 框架(非fcitx5),在fcitx5下,連 libchewing 官方 github README 裡面的 feature 功能都無法順利復現(ubuntu24.04lts),再加上在 ibus-chewing,我們一樣看到了主要貢獻者 Kan-Ru Chen 。所以如果你要用新酷音,那就一定要用ibus吧,我想這個解決方案是X11下的寶藏,至於未來wayland時代怎麼演進,在看到過去新酷音的歷史後,似乎也覺得有恃無恐了。
新增刪改自訂與系統詞庫
- 在不斷的打字的過程,或者使用
ctrl + 1234新增不同字數的詞庫的過程中都會更改到 .chewing/chewing.dat 這個檔案,這個檔案名稱在過去經過很多迭代,就先以這個名稱當作是一個基礎吧,備份也可以先從這個檔案開始備份。 - 但如果有覺得某個詞非常不順眼,如果這個是自己增加的,則必須借助 chewing-editor刪除
- 如果不是在自己的詞庫,要看一下系統詞庫預設在這幾個檔案,可以用編輯器修改,但要思考的是這些基礎詞庫,是在 libchewing 的 repo 內,所以如果你是修改編譯後複製到系統的檔案,之後如果有再次編譯,就必須再次修改覆蓋。或者你可能會想要製作一個屬於你自己修改詞庫的 branch ,都看自己發揮。
-- Installing: /usr/share/libchewing/tsi.dat
-- Installing: /usr/share/libchewing/word.dat
-- Installing: /usr/share/libchewing/swkb.dat
-- Installing: /usr/share/libchewing/symbols.dat
如何確定使用正確的 libchewing 版本
- 如果使用 ibus 怎麼知道自己使用的libchewing版本,先
ps aux | grep ibus
username 101799 0.5 0.2 997148 86840 ? Sl 10:41 0:01 /usr/libexec/ibus-engine-chewing --ibus
cat /proc/101799/maps | grep libchewing.so
72bfd82b1000-72bfd82c3000 r--p 00000000 103:0a 32507400 /usr/lib/x86_64-linux-gnu/libchewing.so.3.3.1
72bfd82c3000-72bfd8364000 r-xp 00012000 103:0a 32507400 /usr/lib/x86_64-linux-gnu/libchewing.so.3.3.1
72bfd8364000-72bfd839d000 r--p 000b3000 103:0a 32507400 /usr/lib/x86_64-linux-gnu/libchewing.so.3.3.1
72bfd839d000-72bfd83a8000 r--p 000eb000 103:0a 32507400 /usr/lib/x86_64-linux-gnu/libchewing.so.3.3.1
72bfd83a8000-72bfd83a9000 rw-p 000f6000 103:0a 32507400 /usr/lib/x86_64-linux-gnu/libchewing.so.3.3.1
check 這個檔案的 sha256sum 跟 libchewing build 出來的是否一樣。
結語
相信看到了這裡,應該有資格當一個新酷音的user了。 如果還不懂使用,我相信deepwiki 也可以提供部份的幫助