/c42

形音四二顶输入方案

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

1 说明

1.1 c42 简介

C 输入(下简称 C)是百度贴吧用户 @dsscicin 于 2015 年发布的字词混打的形音码输入方案。C 对 GB 字库中的 6729 字进行了编码(去除部分部首),在此范围内具有三码重码极低的特点(即 C 原为四码方案,但只取前三码时仅有 873 个选重),故适于改编为四二顶单字输入方案。

在改编过程中,出于易学性等考虑,简化了一部分拆分规则,并去除了一定量的低频字根,同时保持重码数量基本不变。

1.2 配置方法

  1. 在 Releases 中下载压缩文件
  2. 将解压出来的「方案」文件夹中所有文件复制到用户目录下。这个目录的具体地址是:
    • Win:C:/Users/(用户名)/Appdata/Roaming/Rime
    • Mac OS:Users/(用户名)/Library/Rime
  3. 重新部署。

1.3 版本说明

2.4

  1. 加入大量简词
  2. 修复错码「幸」及其构成的字
  3. 恢复了字根「加」「另」
  4. 调整二简「写」「统」

2.3

  1. 加入大量简词
  2. 修复了不规范拆分「义」「为」「与」
  3. 加入字根「以」,取消字根「以左」

2.2

  1. 修复滤镜错误
  2. 修复「花」「统」「奂」「壴」及其相关字的错码

2.1

  1. 优化联想词兼容性
  2. 全码提示常规二简、无理二简

2.0

  1. 优化字根、拆分规则,用嵌套技术重制码表,修正错码
  2. 双码表并行,更好地支持四二顶
  3. 滤镜实现 Emoji 和联想词功能

1.0

2 输入规则

2.1 四二顶

四二顶是一种特殊的顶功模式。在四二顶方案中,取交集为空的两键集 A、B,A 与 B 的并集为 U,则单字有且仅有两种编码,分别为 UA 和 UAUB。(详细论述见拙作《顶功集萃》。)

本方案中,取 A = 【a-z;】共27键,B =【空格】共1键,实际编码空间为 AA (27*27)和 AAAB (27*27*27*1),另外加入一简三重 AC (C =【,./】)。经测算,考虑上标点后,12% 的字一键输入,70% 的字两键输入,剩下 18% 的字四键输入,码长约为 2.24。

2.2 拆分、选根与编码

2.2.1 拆分

本方案选取字根数量较多,以常用部首为基准,拆字较为直观明晰。本方案将汉字拆分为字根后,依照字根首笔的顺序将字根排列成字根序列,然后从字根序列中选取适当的字根编码。拆分时,共有 4 条规则,优先级依次降低:

  1. 字根数量尽可能少。例:因 = 【囗 大】,而不是【冂 大 一】;
  2. 字根数量相同时,字根之间尽可能不交叉。例:来 = 【未 丷】,而不是 【一 米】;
  3. 字根数量相同、且交叉情况相同时,字根序列应该尽可能符合笔顺。例:戋 = 【一 戈】,而不是 【戈 一】;
  4. 字根数量相同、交叉情况相同、符合笔顺情况也相同时,字根序列中靠前的字根包含的笔画数要尽量多,靠后的字根尽量少。例:首 = 【䒑 丿 目】,而不是【丷 丆 目】;

2.2.2 选根

字根数量 ≤ 3 时,全取。

字根数量 > 3 时,出于离散考虑,本方案并不采用常规的【首、二、末】这一相对低效的选根方式。在选根时,本方案吸收四角号码检字法精华,先取四角字根,再按字根序补充,最后按字根序排列。具体可以分 3 种情况:

  1. 四个角有四个字根,舍弃右上角。例:乾 = 【十 十 乙】

  2. 四个角有三个字根,则直接全取。例:到 = 【一 土 刂】

  3. 四个角有两个字根或一个字根,则取完所有角后,按照字根序再补一根或两根。例:感 = 【戊 心】补【一】,排列为【戊 一 心】,国 = 【囗】补【王 丶】,排列为【囗 王 丶】。

注:这些规则是改编时简化得到的,与原作者拆分方式不一致(原作拆分方式更为复杂)。

2.2.3 编码

字根图参见,此处不再复制。本方案采用类似于五笔的整体布局,并兼容了表形的特点,字根易于记忆。部分字根为双编码,需要特别注意。编码也分 3 种情况:

  1. 选取的字根依次编码后大于等于 3 码,则取前 3 码(超过 3 码的情况是因为有双编码字根)。例:说 = 【讠丷 儿】= 【u k a】= uka;絷 = 【执 幺 小】=【zi s v】= zis ;
  2. 选取的字根依次编码后为 2 码,则补拼音首字母。例:我 = 【手 戈】 = 【j l】= jlw;占 = 【占】= 【zn】 = znz ;
  3. 选取的字根依次编码后为 1 码,则补拼音首字母和末字母。例:一 = 【一】 = 【t】= tyi 。

2.3 简码

对于编码长度为 3 的全码来说,需要击空格上屏,键长为 4。除此之外,还有一些键长为 2 的编码种类。

2.3.1 常规简码

常规简码即取全码的前 2 码,无需空格上屏。

2.3.2 一简三重码

用【,./】三个键选重。

2.3.3 无理码

非常规简码并非全码前 2 码,共有 36 字,需要特别记忆。分为 2 类:

  1. 取全码的第 1 码和第 3 码。例:一,全码为 tyi,简码为 ti;我,全码为 jlw,简码为 jw。此类共有 30 字。
  2. 改编前一简编入二简时加 k 或 d。例:是,全码为 btz,简码为 bk。共 6 字。

2.3.4 简码词

简码二字词,分取两字的第 1 码,共 70 个。

2.3.5 特码

特码不属于正常编码,可根据个人习惯选用。特码用于三码重码且两个字都很常用时的避重。例:仪,全码为 iux,与“信”重码,故取其首根 i 和拼音 yi 组成特码。

2.4 反查与滤镜

2.4.1 拼音反查

以「`」为引导,输入汉字的全拼,查本方案编码。当然,查到的是全码而不是简码,这是为了让初学者更好地思考一下拆分规则,例:

2.4.2 笔画反查

有时,我们可能要输入 GBK 汉字,但 C 只编到 GB,咋办?

以「`」为引导,输入汉字的笔画,能输入该字,同时查拼音编码。例:

2.4.3 拆分滤镜

滤镜默认关闭,可以按 Ctrl + ` 然后选择一个开启。

一根字:

二根字:

三根及以上字:

2.4.4 二简及无理提示

所有字都有全码,重码时,有简码的字后置。

开启后,如果二简、一简三重或无理没记住,打成全码的时候会提示这个字的编码和类别。

2.4.5 联想词

开启后,打一个字会出来以这个字为首的很多词。当然,初学最好不要开,先好好打单字……

如果联想词里恰好含有简词,结合 brevity2 滤镜,也可以提示。

2.4.6 Emoji

开启后,打一个字会出来有这个字含义的很多 Emoji。例:

但是,如果这个 Emoji 必须用 2 个以上字描述,就得用到反查拼音来间接打出。例:

3 测试与评价

3.1 测试数据

3.2 评价

从以下几个方面讨论:

  1. 键长:2.44,高于小兮等二码顶(二码顶在 2.25 - 2.30 之间),但低于三码定长(至至郑码等,在 2.50 - 2.70 之间)。
  2. 离散:GB 集 6729 字(多音字只取其中一音)全码选重数为 860(五笔全码为 261)。经过码表处理(两键 字不出全码)后,最终选重数为 669,加权选重 0.37% (五笔一二三简不出全后为 0.25%,真码一简不出全 后为 0.24%,可以说,C 已经用 3 码做到了其他形码 4 码的水平)。
  3. 手感:按键分布合理,手感优于一般形码。
  4. 易学:字根难度相比一般二码顶稍高,但无理码难度低。上手后,确定性高(只有二码、四码)。

4 参考资料与致谢

4.1 原作者提供的信息表与说明

百度贴吧发布贴 http://tieba.baidu.com/p/3779915194 (2019 年 11 月 25 日更新:该贴已被删除)。但其中的下载链接已指向其他输入方案(原作者停止了对 C 输入的维护)。

信息表中包含了字音,但没有考虑多音字,每字只有一个编码。

4.2 字频

C 输入(四二顶版)选取的字频来自于输入法吧吧友「mgcgogo」所统计的「十亿网络小说字频」,顾名思义,是统计大量小说得到的字频。

  • 优点:比较接近日常使用。
  • 缺点:「魔」等玄幻类用字字频偏高。

在实际使用中,

4.3 测试工具

使用了法月开发的「科学形码测评系统 1.6」。

4.4 致谢

  • 对原作者 Cicin 表示感谢。
  • 对以上制作输入方案所用资料的提供者表示感谢。
  • 对法月提供的关于四二顶的介绍表示感谢。

5 更新记录

2.4

增加简词:

  • 管理 ke 筹 kej
  • 以后 df 待 d/ 夫 dfu
  • 出去 cf
  • 时间 bn 明 b. 暗 bub
  • 这种 wt 岩 wty
  • 不会 gi 枪 giq
  • 情况 yk 克 yak
  • 一种 tt 研 tth
  • 今天 it 倒 ith
  • 即使 ri 府 rij
  • 比较 ll 链 llz
  • 怎样 sg 躬 sgg

调整简码:

  • 置 qyh 固 qy
  • 胸 nsx 写 ns
  • 唯 oqw 嗯 oq
  • 啊 op 呢 ol 嘴 olm 哦 oj
  • 兵 rab 既 ra
  • 算 kqh 准 kq
  • 禁 gpj 标 gp
  • 己 cjd 导 cj
  • 暇 bpx 邮 bp

2.3

修正错码:

  • 花 plh,应为 hil,拆分表错
  • 所有含奂的字,末码 n,应为 d
  • 统 su,没必要,应为 sca
  • 喜 foo,应为 oko

调整简码:

  • xi 颇,改成好像,颇=xip
  • 欢 空出 x/ 选重,少一无理;
  • un 云,改成设,云=uyn,少一无理,少一重码;
  • rg 魔,改成广,魔=rga
  • cw 亡,改成改,亡=cwg
  • xu 娘,改成义,娘=xur
  • rh 度,改成升,度=rhx,少一重码
  • pq 眉,改成遍,眉=pqm,指法优化
  • hn 散,改成期,散=hnw,少一重码
  • ji 及、j, 我们对换
  • q; 静、q, 因为对换
  • 现在 = ep,帮 = epm,e, 空出
  • ti 一,改成一个,一 = tk,到 = t,
  • ir 人,改成什么,人 = id(k的对位键?),仔 = idz
  • 没有 = vr,派 = vrr,v, 空出
  • 就是 = ub,意 = u/
  • uh 诺,改成讲,诺=uho
  • jh 撒,改成描,撒=jhw,少一重码
  • eh 烈,改成班,烈=eht,少一重码
  • b; 男,改成晚,男=b;n,少一重码
  • ii 从,改成他们,从=i/
  • cs 虽,改成已经,虽=c/,尽=ckj
  • bi 日,改成时候,日=b,,界=bih
  • wg 各,改成这样,各=w.,火=who
  • jc 把,改成可以,把=j/,拉=jul
  • n. 问,改成间,nb=问题,问=now(“问”去掉“问题”的频度就成中频字了)

增加简词:

  • rr 所有(rprn),痕=rrh
  • tf 一下(tifx),致=tfw
  • gb 不是(gubk),查=gbt
  • ;i 为什么(;kir),项=;ix
  • tr 程度(toe_rhx_),矿=trk
  • nz 那些(npzl),毫=nzh
  • ni 那个(npiy),闪=nis
  • lm 感觉(l,ma),锁=lmm
  • mj 学习(mdjx),掌=mjz
  • jy 事情(joyq),掉=jyy
  • zg 起来(zcgk),杂=zgz
  • cg 出来(ccgk),贵=cgi
  • gj 不过(gujz),极=gjj
  • ob 只是(oabk),响=obo
  • tg 一样(tige),面=t.
  • tx 开始(thxv),破=txp
  • xb 如果(xobg),更=x/
  • cn 虽然(csn.),望=cne(多一重码)
  • jg 过来(jzgk),挂=jgg(多一重码)
  • jf 过去(jzfv),持=jfj
  • zf 之后(zifo),赶=zfg
  • ta 一定(tiat),碗=tac(多一重码)
  • ce 出现(ccea),匪=cef
  • bf 最后(bhfo),畔=bfp
  • cf 以后(cifo),蝠=cff
  • ru 应该(rmug),入=r/,血=rqx