-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
1,876 additions
and
200 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
--- | ||
title: 易码 | ||
layout: default | ||
parent: 相关文章 | ||
<!-- nav_order: 1 --> | ||
--- | ||
|
||
<!-- omit in toc --> | ||
# 易码 | ||
{: .no_toc } | ||
|
||
<details open markdown="block"> | ||
<summary> | ||
目录 | ||
</summary> | ||
{: .text-delta } | ||
1. TOC | ||
{:toc} | ||
</details> | ||
|
||
## 简介 | ||
|
||
[易码](https://www.remnote.com/a/65e1c604ef303f6fde3deef0)是一个三码定长、纯字形、简体专精、出简不出全的输入方案。本页面讨论本输入方案,部分定义不同于官网,算是从另一个角度来探讨。 | ||
|
||
## 规则 | ||
|
||
易码共约 400 字根,归类后约 250,在 26 键上乱序排布。 | ||
|
||
每个字根又有两个固定属性: | ||
|
||
- 字根前两笔。固定由一个字母代替。 | ||
- 字根末笔。固定由一个字母代替。 | ||
|
||
因此,字根可以认定为单编或者三编: | ||
|
||
- 单编码 + 规则补码。 | ||
- 或,直接认定为三编码:第一小码为字根前两笔对应的字母,第二小码为字根末笔对应的字母。 | ||
|
||
以上两者等价。 | ||
|
||
### 理解为单编 | ||
|
||
假设我们理解易码是单编+规则补码,则规则为: | ||
|
||
- 依次取首、次、末根 | ||
- 不足三码补末根前两笔对应编码 | ||
- 不足三码补末根末笔对应编码 | ||
|
||
### 理解为三编 | ||
|
||
假设我们理解易码为三编。单字拆分成若干字根后,最多取三根。假设首次末编码为 A B Z,由设末根前两笔对应字母为 x,末根最后一笔对应字母为 y。则单字编码规则为: | ||
|
||
- 单字根字 Zxy | ||
- 两字根字 AZx | ||
- 三字根及以上字 ABZ | ||
|
||
我们可以进行单行定义: | ||
|
||
- 如果是单字根字,则认定首、次根为空值。 | ||
- 如果是双字根字,则认定次根为空置。 | ||
- 如果是三字根以上字,则认定为首、次、末根非空值。 | ||
|
||
则,易码的编码规则为: | ||
|
||
ABZxy\[:3\] | ||
|
||
## 简码 | ||
|
||
易码全码为三码,未设置一级简码(为了兼容四二顶),因此二简的设置在正常情况下不具有码长优势,它的作用主要是: | ||
|
||
1. 在四二顶状态下节省码长。 | ||
2. 避重。因为全码状态下重码较多,因此在优化的时候,就对简码设置进行了优化。部分高频字出简,同时全码后置,让出三码码位给次频字。 | ||
|
||
易码未设置一级简码(为了兼容四二顶),同时设置了676个二级简码。不是所有的二级简码都是避重简码。观察到,字频前3000的汉字,占了日常使用频率的 99.18%。因此,对于新手来说,我们只需要记忆「避重简码」。 | ||
|
||
避重问题的起源是:部分高频二简字 A 的全码对应了另外一个次高频字 B。在打全码的状态下,A 因为后置,反而需要选重。因此,为了流畅输入,必须要对 A 的简码进行记忆。举例: | ||
|
||
「这」、「近」两个字的全码都是 oap,我们对「这」设置二级简码 oa,则全码的排序为 「近」「这」。如果想打「这」却打了全码 oap,我们反而要选重。 | ||
|
||
那么,哪部分简码尤其需要注意呢?也就是满足以下三个条件: | ||
|
||
- 该全码位设置了简码。 | ||
- 该全码位让简码字后,首选是前3000的汉字。 | ||
|
||
这样的避重二简字一共是 125 个,[其二简矩阵点此](./yima_simp_matrix_3000.html)。 | ||
|
||
放宽到字频前 5000 的汉字,则避重二简字一共是 198个,[其二简矩阵点此](./yima_simp_matrix_5000.html)。 | ||
|
||
## 排序 | ||
|
||
这里给出一个码表排序的思路: | ||
|
||
- 二级简码字,及其简码 | ||
- 125 个避重二简字对应的全码次选字,及其全码 | ||
- 125 个避重二级简码字,及其全码(出简的字全码后置) | ||
- 剩下的汉字按字频排序 | ||
|
||
注意到,不是所有的二简字都是在码表中默认全码后置的。原因在于这部分二简字对应的全码字字频太低,记忆二简的耗费太大,可以交给时间。到以后,等用户对于二简字都熟悉了,可以交由输入平台的全码后置功能实现后置。 |
Oops, something went wrong.