/rime-smyh

宇浩三码顶

Primary LanguageLuaOtherNOASSERTION

吉旦餅

吉旦餅, 基於 宇浩輸入法 (GitHub: forfudan/yuhao) 製作, 亂序字根, 三碼定長, 延遲頂字. 「吉旦餅」其名來自三名主要開發人: 阿吉, forFudan, 王牌餅乾, 又取義於 華夫餅 (wafel), 其漢譯應有 "雞蛋餅" 之義.

宇浩三碼頂 相關内容可在保留分支 beta 中找到.

一些说明

  • 暫無字根圖, 用反查練就完事了.
  • 取碼方式:
    • 單根字: 字根大碼 + 字根小碼, 補加空格.
      • 一: (一|Fi) -> [fi_].
      • 了: (了|Kc) -> [kc_].
    • 兩根字: 首根大碼 + 次根大碼 + 次根小碼.
      • 他: (亻也|ErSo) -> [eso].
      • 有: (𠂇月|SsHr) -> [shr].
    • 多根字: 首根大碼 + 次根大碼 + 末根大碼.
      • 的: (白勹丶|DsHrLl) -> [dhl].
      • 你: (亻冖小|ErPmKf) -> [epk].
  • 簡碼:
    • 一簡: 采用空格分號二重一簡的方案, 共設一簡三十餘條.
      • 一簡字: 的: [d_], 一: [f_], 了: [k_].
      • 二重一簡字: 你: [e;], 有: [s;], 得: [v;].
      • 一簡詞: 我们: [w;], 可以: [a;].
    • 二簡: 没有碼長上的收益, 僅爲减重設置了十餘條二簡.
      • 二簡字: 回: [do_], 便: [ef_], 使: [ef;].
      • 二簡詞: 因为: [dt;], 什么: [ed;].
  • 反查:
    • 拼音反查: 没有輸入内容時, 按下 grave 鍵進行拼音反查.
    • 輸入框中存在内容時, 按下 / 鍵切換多重拆分提示.
    • 上屏一個字後, 按下 grave 鍵重復該字並反查其拆分.
  • 智能選重:
    • 三碼鄭碼 類似, 對形如 abcabc 的輸入串, 檢查有無非單字首選的詞組可用.
    • 例如 "休息" 一詞, 編碼爲 efkmgk, 其中 efk/mgk 的首選分别是 "条"/"息", 为了打出 "休息", 引入該六碼詞.
    • 又如 "可憐", 編碼爲 a_pka, 單字首選是 "可"/"鳞", 引入該五碼詞.
  • 延遲頂:
    • 輸入串分爲 "暫存串" 和 "活動串".
    • 例如 "時間", 編碼爲 jgarjk, 此時暫存串爲 jga, 活動串爲 rjk, 暫存候選爲 "時", 活動候選爲 "間".
    • 顯示效果如: 時[間¹]rjk 幜².
  • 清空活動串:
    • 由於存在延遲頂, 改寫了一般的 回車清屏 功能, 使得回車鍵只清除活動編碼, 而不是清除整個輸入串.
    • 例如當前輸入串爲 時[革¹]rj ~間² ~帐³, 則按下回車鍵後, 清除活動串 rj, 輸入串變爲 [時¹]jga 峙² 崶³.
  • 打斷施法:
    • 當輸入串 abcabc 觸發 智能選重 時, 如果原本想輸入的是首選單字, 則可按下 Tab 鍵打斷本次智能聯想.
    • 例如 可[憐¹]pka☯ ~鳞², 若此時想要輸入的並不是 "憐" 而是 "鳞", 則只須按下 Tab 鍵, 上屏 "可" 字, 輸入串變爲 [鳞¹]pkg ~憐².
  • 内嵌候選:
    • 通過調整首選的 preedit 串, 將當前候選列表展示在嵌入編碼中.
    • 該功能默認開啓.
  • 純單字模式:
    • 爲了獲得最大確定性, 增加純單輸入模式, 此模式下禁用智能詞, 在打到字的第二碼時, 自動頂上前一字.
    • 純單模式默認關閉.
  • 自定義 lua 宏:
    • 實現五個類型的自定義宏:
      • 提示: 作爲提示顯示在候選處, 可用於快捷短語或作爲其宏的功能提示.
      • 開關: 可用於顯示輸入法的功能開關狀態, 並進行切換.
      • 單選: 同開關類似, 顯示開關狀態並在多個選項之間切換.
      • Shell: 適用於 Linux/Mac 系統, 提供命令宏功能, 執行預先配置的命令或脚本.
      • 求值: 提供 lua 擴展, 允許配置 lua 語句, 函數或 lua 對象.
    • 當前預置的宏 (smyh.schema.yaml):
      • /help: 類似原有的 zhelp 開關管理, 提供一些常用開關和單選的管理操作.
      • /date/time: 快捷輸入日期時間.
      • /dist: 查詢當前 librime 版本.
    • 擴展預置宏 (smyh.custom.yaml):
      • /quick: 快捷短語示例.
      • /calc: 計算器, 簡易 lua 宏示例, 通過 /calc/32*2 方式調用.
      • /echo: 簡易 shell 宏示例, 在 Linux/Mac 下通過 /echo/hello/world 方式調用.
  • 四馬兩吃:
    • 三碼詞庫只收录 CJK 字集, 合計約两萬一千字.
    • 如需臨時輸入 CJK 以外的非常用字, 可借助臨時四碼模式; 若要連續輸入生僻字, 請切換四碼雞蛋餅.
    • 對於單字或詞語四碼全碼, 可以四碼直出, Tab 上屏. 當純單模式啓用時, 出四碼單字; 否則出四碼字詞.

對於稍早的 librime-lua 版本, 新式的定義 lua_translator@*smyh.core_translator 不受支持, 可通過手動複製 rime.lua 文件及調整 smyh.custom.yaml 的方式工作. 對於更古早的版本, 可能本方案使用的諸多特性都不受支持, 若不進行升級將無法正常使用.

數據源聲明

鳴謝

吉旦餅的設計與開發非一日之功, 亦非一人之力, 感謝:

  • 三碼鄭碼逸碼 的製作人 至至小泥巴, 讓我有機會尝試頂功的輸入體驗, 也爲宇三和吉旦餅的設計提供了絶佳的範例;
  • 宇浩輸入法 製作人 朱宇浩, 不僅開發製作了宇浩, 還爲我提供了額外的文件, 數據, 算法支持和其他幫助;
  • 王牌人肉測試員 阿吉錢多多, 在開發體驗過程中予我以鼓励, 並給出相當多的優化建議;
  • rime, GitHub, Vim 和其他依賴性工具, 語料及字頻數據等, 此處不再一一細表.