Skip to content

常見問題

ksqsf edited this page Aug 29, 2023 · 37 revisions

一問、「魔改」之處何在?

相比原版自然碼,在實質性的輸入體驗上具有 3 點不同:

  1. 輔助碼使用方式修改:輔助碼現只輔助「字」,而非「詞」,依靠 Rime 整句引擎消歧義。
  2. 重新設計簡碼:簡碼完全重新設計,更實用、更現代。簡碼分配遵循傳承字優先原則。
  3. 單字碼表增強:增補超集和添加拆分、刪除較影響體驗的部分容錯碼。

輔助碼使用方式修改

設一個字的音碼爲 YY,輔碼爲 XX,則該字可以使用以下方式輸入:

  • Y 只輸入聲母
  • YY 不輸入輔碼
  • YYX 只輸入第一個輔碼
  • YYXXo 全碼
  • YYXX 全碼,但優先級低於同碼的詞語

增加 o 主要是爲了避讓字詞重碼,如版本 bjbf != 半 bjbfo。注:固頂詞庫中仍然可能有四碼單字。

詞語輔助碼的輸入方式與原版自然碼不同(這也是爲什麼這個方案叫做「魔改自然碼」)。原版自然碼中,所有輔碼均在詞語輸入完畢後給出。例如:

他們 她們 它們
ta'mfr ta'mfn ta'mfb

注意到輔助碼與輔助的字其實是分離的,r n b 並不作用在「們」這個字上。魔然中字和它的輔助碼不會分開,也就是:

他們 她們 它們
tar'mf tan'mf tab'mf
image

這種設計的優勢在於用戶可以在打詞的過程中也 加強對單字編碼的條件反射 ,從而提高未來的單字輸入能力和組詞能力。相比之下,傳統的自然碼詞輔方案只能加強這個詞本身的編碼的條反。

實際體驗表明這種方式造成的干擾不多,是可行的輸入方案,並且比純音碼輸入方式更舒適。但是 Rime 僅對三碼切分支持較好(每個字最多只有一個輔助碼),如果一個字需要輸入兩個輔助碼,就必須手動使用 ' 切分輸入,否則會被 Rime 切分成兩個音節。

重新設計簡碼

  1. 舊自然碼簡碼爲簡化字優先,本方案簡碼碼表爲傳承字優先:依《常用國字標準字體表》和《次常用國字標準字體表》錄約 1 萬繁體字,酌依實情增補部分簡化字。
  2. 增補簡詞,原則爲常用、實用,擇詞取向:
    • 計算機技術(如 ix 程序、byq 編譯器、llq 瀏覽器、bjq 編輯器、ujk 數據庫...)
    • 語法用語(如 eq 而且、yw 因爲、yww 以爲、sm 什麼、wsw 爲什麼、ws 爲啥...)
    • 日常用詞(如 vfb 支付寶、wx 微信、wr 微軟...)
  3. 簡碼碼表與獨立字詞模式共享碼表,便於用戶在兩種模式間切換。

單字碼表增強

  1. 本項目增補了約 2 萬超集編碼,目前收錄了不重覆的 4 萬字,實現 Unicode 全覆蓋。當然,僅限有官話讀音的字。
  2. 增加了部分常用字詞編碼,如 noaa の、lyaa 〇 等。
  3. 增加了一些更直觀的拆分方式,如「重」增加了「千里」拆分。
  4. 刪除 扌日月目 等的 frym 容錯碼。(未來可能會繼續刪除其他容錯碼。)

二問、單字重碼率較高?

重碼率高是自然碼爲了易用所做出的取捨,爲此,本項目做了如下調整:

  1. 刪除部分容錯碼(見上一問)。
  2. 人工優選簡快碼。經優化後的簡快碼可實現絕大多數常用字的無重碼輸入。優選思路請參閱 Issue #8 的回答
  3. 整句模式下增加出簡讓全。

三問、繁體字優先,是否適合簡化字用戶?

適合。理由如下:

  1. 大部分繁體字和簡體字的 前三碼相同 ——這是因爲自然碼獨特而優雅的「部首優先」規則。例如,「憂」和「忧」的部首都是「心」,因此第三碼都是 x,即使這兩個字看起來區別很大。
  2. 主碼表中 含有簡化字編碼 (權重較低)。
  3. 即使有看不明白的拆分,按 Ctrl+S一鍵切換簡繁

四問、如何實現模糊音?

字詞模式暫不支持模糊音。

在 moran.schema.yaml 和/或 moran_sentence.schema.yaml 的 speller/algebra 條目中,按需增加下面的代碼到 algebra開頭

speller:
  algebra:
    - derive y; n;  # ing → in
    - derive n; y;  # in  → ing

    - derive g; f;  # eng → en
    - derive f; g;  # en  → eng

    - derive ^u s   # sh  → s
    - derive ^s u   # s   → sh

    - derive ^i c   # ch  → c
    - derive ^c i   # c   → ch

    - derive ^v z   # zh  → z
    - derive ^z v   # z   → zh

(YAML 的格式要求非常嚴格,請務必保證 - 是對齊的。)

若重新部署後仍無法生效,嘗試將 translator 下的 prism: 設置改爲 moran 再部署。


五問、如何同步不同設備上的用戶詞庫?

請參考 Rime 官方說明書之相關章節

同步前,請首先切換到非魔然的其他方案,否則將無法導出魔然用戶詞庫,並報錯:Error opening db 'moran' read-only

Clone this wiki locally