跳到主要内容

单字的编码与输入

山人码LTS的单字编码方式整合了过去常见山人码方案的特点。

字根编码

  • ▶ 字根编码由主码小码组成,主码为一个英文字母,小码为不定长英文字母。
  • ▶ 字根编码不区分大小写,但是习惯上主码使用大写字母,小码使用小写字母。
  • ▶ 对于主码,基本编排方式如下说明:
信息

山人全息码的字根基本上都是传统汉字部首,分为4大类型,28个类别(S、D复用),如下:
自然类:日月金木水火土 BDJMSWT
生命类:虫草人体手口心 KCREFOQ
民生类:民言衣食住行财 NIYUALG
字形类:叉八横竖撇点折 XVHSPDZ

  • ▶ 所有字根编码的设计原理可以查看这篇文章: 学习字根

  • ▶ 所有字根编码的汇总见本项目仓库的 字根码表

单字编码

汉字的拆分

信息

现阶段山人码LTS的汉字结构拆分表直接继承自持双山前辈所公开的拆分方案,更加详细的校对尚未展开。具体的拆分方案见项目仓库的【单字表】文件「拆分」一栏。

  1. 将单个汉字进行结构拆分,使得拆分后的每一个部件都属于山人码LTS的字根
  2. 拆分结果按照该字常用书写笔顺排序,多数时候为从上到下、从左到右、从内到外。
  3. 当存在多种拆分方式时,倾向于选择符合该字常用书写笔顺的,拆分结果最少(即优选能够满足的最大字根)的拆分方式。
  4. 单字拆分规则并不是强制遵守的,部分汉字存在拆分争议或其他更加合适的拆分方案,这时我们可能跳出常用的拆分方法进行单独处理。
  5. 现阶段单个汉字与拆分结果只保留一种
  6. 拆分时基本遵循的规律:
    1. 简约原则:按笔顺拆出尽量少的字根,常用字根优先,如【没】拆为【氵殳】。【竟=音儿】。(尽可能拆出最少最直观的字根。)
    1. 省力原则:分离的优先,相接的其次,单笔画再次,交叉的最后考虑。如【主】=【丶王】。(如有歧义,优先次序为:分离、相接、单笔画、交叉。)
    1. 补充规则:有利于简约原则时,某些笔画可以被两个字根共用。如【里=田土】、【我=丿扌戈】。

对拆分结果进行编码

  • ▶ 山人码LTS对单字编码分为全息码、常用码、快速码、特设码四类。
  • ▶ 全息码和常用码是山人码LTS单字编码的核心规则
  • ▶ 快速码和特设码是方便打字的适应性规则。

全息码

  1. 对于单字根字(即字根本身),全息码即为该字根对应编码,如【气】〖Wq〗。
  2. 对于多字根字,依次取拆分后每个字根的主码和第一位小码,集合为全息码,如【鑯】〖JrRnRnJgUh〗〔金Jr 人Rn 人Rn 戈Jge 韭Uh 〕。
信息

全息码记忆不易,且与其他编码一同使用时会增加大量重码,故在山人码LTS的实现中,多字根字的全息码并不作为输入编码使用

常用码

所有多字根字均设常用码,编码流程如下:

  1. 初始化该字的常用码为空
  2. 取该字的全主码加入到常用码中
    1. 对拆分字根数量小于5的字,在第2步的基础上依次加入末尾字根和首字根的第一位小码作为常用码, 如【怠】〖GOQis〗〔厶Gsi 口O 心Qi 〕
    1. 对拆分字根数量等于5的字,再加末尾字根小码作为常用码,若末尾字根无小码,取首字根小码。如【璙】〖GNVBWi〗〔王Gw 大Nr 丷Vb 日Bo 小Wi 〕、【遏】〖BPRZLo〗〔曰Bo 勹Pk 人Rn ㇗Z 辶L 〕。
    1. 对拆分字根数量大于5的字,再加末尾字根小码作为常用码。如【曯】〖BESAPKc〗〔日Bo 尸Esi 氺Sv 罒As 勹Pk 虫Kc 〕
提示
  1. 单字各个字根的主码集合称作全主码,如【铨】参考拆分字根结果〔钅Jr人Rn王Gw〕,全主码为〖JRG〗
  2. 对于部分无小码的字根,编码规则在要求加入小码时,若无特别说明,可视为加入了空字符""。

特设码

  • ▶ 特设码细分为字根扩展码、去重扩展码和独立特设码
  • ▶ 设置扩展码的核心目的是去重:
  • ▶ 一部分字编码太短,重码太多;另一部分较常用字的全息码会和后续要生成的一些字的快速码重码,因此对编码进行扩展。
信息

你可以在**这篇文章**查看所有的特设码设计原理

1. 字根扩展码
字根扩展码只针对单字根字。

提示

详细的字根扩展码码表见项目仓库的【字根码表】文件「字根扩展码」一栏。

2. 去重扩展码
去重扩展码针对多字根字。

提示

详细的扩展码码表见项目仓库的【特设码】文件中类别为「去重扩展码」的部分。

3. 独立特设码
这是对过去山人码方案中存在的“一简字”、“二简字”、“特码字”等的兼容。 其中的“二简字”大多由后续生成的快速码兼容了或取舍了,剩余一部分需要进行兼容的编码

提示

本文档展示的码表可能更新不及时或不详细,最新版本的扩展码码表见项目仓库的【特设码】文件中类别为「一码长特设码」和「无理特设码」的部分。

快速码

快速码是对常用码的精简,依据山人码LTS给定的字频表权重编码,生成方式如下:

  1. 初始化[已使用的快速码集合]为空
  2. 选取满足如下条件的字:
    1. 该字存在字频权重数据
    1. 该字不存在长度大于1的特设码
    1. 该字是多字根字
  1. 将选取到的字按照字频权重从大到小依次处理:
    1. 先取该字常用码的前两位为候选编码
    1. 检查该候选编码是否在[已使用的快速码集合]中
    1. 若不在集合中,则将此候选编码作为该字的快速码,并将此编码记入到[已使用的快速码集合]中,结束该字的处理流程
    1. 若在集合中,则在此候选编码的基础上再往后加入一位常用码
    1. 若常用码被取完了,则表示生成失败,不为该字设置快速码,结束该字的处理流程
    1. 若常用码目前尚未取完,回到第 ii 步
信息

为方便与过去的山人方案兼容,字频权重参考自持双山前辈的码表,其中具字频的汉字有近两万。具体见项目仓库的【单字表】中「编码权重」一栏。

单字输入方法

  • ▶ 单字根字可使用全息码、特设码(即字根扩展码)输入。
  • ▶ 多字根字可使用常用码、快速码、特设码进行输入。
再次说明

为了减少重码,本方案放弃使用对多字根字使用全息码进行输入。