回顧用 Rust 重寫新酷音的經驗

libchewing 0.8.0 將是新酷音的重大里程碑。酷音原本是 XCIN 的一個模組,新酷音團隊在 2002 年把模組獨立出來變成一個共有函式庫 (shared library) 維護至今。從 2021 年開始我就斷斷續續的用 Rust 重寫 libchewing,現在終於要預設啟用 Rust 重寫的版本了!我現在一邊為釋出做最後的準備工作,一邊寫個文章紀錄一下整個重寫的經驗,順便最後測試實際使用的情境。這篇文章將會以紀錄發生了什麼事為主,不會解釋太多技術細節,如果有想要深入了解的部份,歡迎留言讓我知道。

閱讀全文 回顧用 Rust 重寫新酷音的經驗

IBus Chewing 更新

上週末跟 Ding-Yi Chen 聯絡上,把 ibus-chewing 的 repository 搬到 Chewing Project 之後,就動手改一些東西。新的 repo 網址是 https://github.com/chewing/ibus-chewing

首先著重在整理 code base,先把 CMake 環境整理一下,然後把原本手刻的 ibus-setup-chewing 用 GTK4 重寫,並引入 libadwaita 讓界面跟 gnome 統一。

之前的樣子:

現在的樣子:

主要的兩個 PR:

接下刪掉約三千多行的沒有在用的程式碼,拿掉 X11 的依賴,修掉一些小的 bug。接下來測試若是沒什麼大問題,就可以來準備出個新版。▞

2024 年的專案計畫

有太多想做的小專案,隨手紀錄一下以免要一直回想。

新酷音 Rust 版

  • 0.7.0 – Rust 重寫的版本可以支援全部功能
    • 考慮一下最終要支援的資料庫格式們
    • Fuzzing
  • 0.8.0 – 預設使用 Rust 版本
  • 0.9.0 – 第一版 Rust API 的半穩定版
    • 重新設計 Editor type
    • 重新設計 Error type
    • 重新設計 Keymap module
    • 更新文件

新酷音新功能

  • 簡單注音模式
  • 只輸入聲符的模式
  • 不需要輸入音調的模式
  • 好用的詞庫編輯器,從自己文章產生詞庫等等
  • 多詞庫功能

cdb2-rs

把這個 fork 的 library 整理一下釋出新版本

ibus-z

用 zbus 寫一個 ibus 的 wrapper library

ibus-chewing

更新 ibus-chewing 到 GTK4

推動 Fedora 把繁體中文的輸入法改回 ibus-chewing

用 Rust 重寫 ibus-chewing,需要 chewing 0.8.0 以及 ibus-z

MuPDF

Update the Debian package to build shared library by default.