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)上屏首選。

宇浩輸入法官網