Skip to content

靈明輸入法單字編碼

學習了宇浩系列輸入法的拆分規則後,我們可以將任何一個漢字拆成唯一的字根組合。前一章的學習中,我們也瞭解了靈明輸入法的字根編碼規則。

現在,我們討論如何把字根的編碼組合轉爲單字編碼。

最多四根

一個字根,至少有兩碼;一個字,常有多個字根組成。如果我們將所有字根的編碼全部連接起來,往往會得到一個很長的編碼串,這樣做明顯沒有效率可言。為了平衡碼長和離散度,靈明輸入法採取了最多四根最多四碼的設計。

如何將這些字根的編碼組合為更加實用的單字編碼呢?

在靈明輸入法中,無論一個字能拆成幾個字根,我們只關心其中最多四個字根,分別是:

  • 第一根(首根)
  • 第二根(次根)
  • 第三根
  • 最末根(末根)

比如:

  • 可以拆爲一個字根,故而既是首根也是末根,它又叫單根字,又稱字根字
  • 可以拆爲木艮兩個字根,故而是首根、是末根。它没有第二根、第三根。
  • 可以拆爲木目心三個字根,故而是首根、是第二根、是末根。它没有第三根。
  • 可以拆爲木口夂正四個字根,故而是首根、是第二根、是第三根、是末根。
  • 可以拆爲𥫗丰八龷日五個字根。我們只關注「首二三末」這四個字根,故而𥫗是首根、是第二根、是第三根、是末根。這個根我們不去管它。

編碼規則

接下來我們學習單字的編碼規則,也就是如何把字根的編碼轉變爲不超過四碼的單字編碼。

總口訣

我們首先介紹一個簡單法訣,它可以適用於所有情況。

一二三末,大根免三。
首末大聲,末韻末參。

解釋一下:

  • 一二三末:一個漢字,最多取用四個字根:第一根、第二根、第三根、最末根。
  • 大根免三:如果首根是大根(有聲碼),則不使用第三根;如果首根是小根(無聲碼),才會使用第三根。
  • 首末大聲:首根和末根都取大碼聲碼(若有),其他根只取大碼
  • 末韻末參:末根的韻碼在最後才加入進來用於補齊至四碼。

我們用填格子的方式來說明兩種情況。

首根是大根的字:

  • 填入第一根大碼和聲碼:☑☑☐☐
  • 填入第二根大碼:☑☑☑☐
  • 填入最末根大碼:☑☑☑☑

首根是小根的字:

  • 填入第一根大碼:☑☐☐☐
  • 填入第二根大碼:☑☑☐☐
  • 填入第三根大碼:☑☑☑☐
  • 填入最末根大碼:☑☑☑☑

對於不到四個字根的字,這時候很有可能格子還未填滿,則繼續填入末根的聲碼和韻碼補齊即可。

下面的幾節裡,我們將分情況介紹單字編碼的具體規則。

單根字

如果一個字本身就是字根,那麽它的單字編碼就是字根編碼,不言而喻。

  • 「弋」的編碼就是對應的字根編碼:Myi,其中M是大碼、y是聲碼、i是韻碼,它是個大根。
  • 「骨」的編碼就是對應的字根編碼:Kgu,其中K是大碼、g是聲碼、u是韻碼,它是個大根。
  • 「木」的編碼就是對應的字根編碼:Xu,其中X是大碼、u是韻碼,它是個小根,沒有聲碼。

兩根字

如果一個字是由兩個字根組成的,即兩根字,它的編碼規則爲:

  1. 取首根大碼。
  2. 取首根聲碼(若有)。
  3. 取第二根(也是末根)的所有碼。
  4. 截取前四碼。

字拆成讠人,只有兩根,所以我們取全部根:首根、末根。根據規則,我們取首根的大碼 W 和聲碼(無),然後取末根的所有碼 Ne,得到編碼WNe

字拆成女子,只有兩根,所以我們取全部根:首根、末根。根據規則,我們取首根的大碼 F 和聲碼(無),然後取末根的所有碼 Hvi,得到編碼FHvi

字拆成日一,只有兩根,所以我們取全部根:首根、末根。根據規則,我們取首根的大碼 H 和聲碼 r,然後取末根的所有碼 Fi,得到編碼HrFi

字拆成夕夕,只有兩根,所以我們取全部根:首根、末根。根據規則,我們取首根的大碼 L 和聲碼 x,然後取末根的所有碼 Lxi,最後截取前四碼,得到編碼LxLx

三根字

如果一個字是由三個字根組成的,即三根字,它的編碼規則爲:

  1. 取首根大碼。
  2. 取首根聲碼(若有)。
  3. 取第二根大碼。
  4. 取第三根(也是末根)的所有碼。
  5. 截取前四碼。

字拆成亻日一,只有三根,所以我們取全部根:首根、第二根、末根。根據規則,我們取首根的大碼 N 和聲碼(無),然後取第二根的大碼 H,接著取末根的所有碼 Fi,最後截取前四碼,得到編碼NHFi

字拆成竹目廾,只有三根,所以我們取全部根:首根、第二根、末根。根據規則,我們取首根的大碼 N 和聲碼(無),然後取二根的大碼 D,接著取末根的所有碼 Qa,最後截取前四碼,得到編碼NDQa

字拆成纟口八,只有三根,所以我們取全部根: 首根、二根、末根。根據規則,我們取首根的大碼 C 和聲碼(無),然後取二根的大碼 D,接著取末根的所有碼 La,最後截取前四碼,得到編碼CDLa

字拆成矢口日,只有三根,所以我們取全部根:首根、二根、末根。根據規則,我們取首根的大碼 K 和聲碼 s,然後取二根的大碼 D,接著取末根的所有碼 Hri,最後截取前四碼,得到編碼KsDH

四根字

如果一個字是由四個字根組成的,即四根字,它的編碼規則爲:

  1. 取首根大碼。
  2. 取首根聲碼(若有)。
  3. 取第二根大碼。
  4. 如果此時只有兩碼,則取第三根大碼。否則跳過此步。
  5. 取末根的大碼。

從上面的規則可以看出,如果首根是大根(有聲碼),則我們不使用第三根;如果首根是小根(無聲碼),則我們使用第三根。

字拆成女木口夂,分別對應了首根、第二根、第三根、末根。根據規則,我們取首根的大碼 F 和聲碼(無),然後取二根的大碼 S。此時,我們只取了兩碼,所以我們接着取三根的大碼 D,最後取末根的大碼 J,得到編碼FSDJ。可以看到,字的首根是小根(無聲碼),所以我們使用了第三根。

字拆成立日口貝,分別對應了首根、第二根、第三根、末根。根據規則,我們取首根的大碼 B 和聲碼 l,然後取二根的大碼 H。此時,我們已經有三碼,所以我們跳過第三根,直接取末根的大碼 N,得到編碼BlHN。可以看到,字的首根是大根(有聲碼),所以我們沒有使用第三根。

多根字

如果一個字是由超過四個字根組成的,即多根字,只要取用首二三末這四個字根,然後按照四根字的規則進行編碼即可。

同四根字一樣,如果首根是大根(有聲碼),則我們不使用第三根;如果首根是小根(無聲碼),則我們使用第三根。

字拆成𥫗丰八龷日,超過了四根,我們只取四根:首根𥫗、二根、三根、末根。根據規則,我們取首根的大碼 N 和聲碼(無),然後取二根的大碼 G,接着取三根的大碼 L,最後取末根的大碼 H,得到編碼NGLH。可以看到,字的首根𥫗是小根(無聲碼),所以我們使用了第三根。

字拆成骨曲一口䒑,超過了四根,我們只取四根:首根、二根、三根、末根。根據規則,我們取首根的大碼 K 和聲碼 g,然後取二根的大碼 L。此時,我們已經有三碼,所以我們跳過第三根,直接取末根的大碼 C,得到編碼KgLC。可以看到,字的首根是大根(有聲碼),所以我們沒有使用第三根。

空格鍵的使用

在很多輸入法軟件中,空格鍵(以下用_表示)用來上屏没有達到最大長度的候選字。而在靈明輸入法中,空格鍵基本是不需要使用的。這歸功於靈明輸入法的无空格輸入設計。具體地説:

  • 一個字的編碼等於 4 時,已經是最大長度,無需按空格鍵上屏。只要繼續輸入下一個字的首碼,這個字就會自動上屏。我們稱之爲五碼頂屏(請參閲瓊林擷英瞭解相關概念)。

    例如:我們打「整理」二字,「整」字的編碼是XDJF。輸入XDJF後,我們直接輸入「理」字的首碼Y,則「整」字會自動上屏。

  • 一個字的編碼低於 4 時,它一定是以 aoeiu 五個元音字母結尾的。因此上,只要輸入法軟件見到這五個字母,就知道一個字已經輸完。只要繼續輸入下一個字的首碼,這個字就會自動上屏。

    例如:我們打「认真」二字,「认」字的編碼是WNe,雖然不到 4 碼,但它以元音字母 e 結尾。輸入e的瞬間,軟件就知道編碼已經結束,我們直接輸入「真」字的首碼L,則「认」字會自動上屏。

靈明輸入法的韻碼,其實同時起到了傳統雙編方案中的小碼空格的作用。它既能對字根信息進行補充,又能作爲單字的自然分隔符。

空格鍵只需在以下情況使用:

  • 一個字雖然已經輸完,但由於有其它候選,不能自動上屏,且後續沒有其他字或標點需要輸入,這時候需要按空格鍵(或數字1)上屏首選。
  • 爲了規避重碼,靈明輸入法設置了一些避重簡碼字,它們的編碼不以aoeiu結尾,這時候需要按空格鍵(或數字1)上屏首選。

宇浩輸入法官網