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

宇浩輸入法官網