尝试寻找大字集、无需选字的输入方案

大家好,

我正在尝试寻找一种大字集、无需选字的输入方案,并挂载于 Rime 或其它输入法引擎上。除了常见的拼音、五笔、仓颉等,搜索引擎还找到了许多我从前没有见过的输入方案。

我觉得我理想的输入方案可能是这样的:

  • 支持尽可能多的 Unicode 中日韩统一表意文字,因此可以无需切换而同时输入简化汉字及传统汉字,并且也可以输入日本、朝鲜半岛、越南等的表意文字。
  • 重码率尽可能低,或支持以尽可能有规律可循的方法筛选重码字,因此可以无需选字。
    • 例如,仓颉通过在字码前添加不同数量的字母「X」筛选重码字。虽然无法从一个字本身推导出所需的「X」的数量,但是特定数量的「X」总是返回特定的字,因此少量地死记硬背之后仍然可以实现不选字而直接输入想要的字。此外,也许另有其它更好的方法筛选重码字。
  • 通过固定码长或其它方式以少用空格,甚至不用空格。

这些理想当中,优先级最高的可能是「大字集」,其次是「无需选字」。最后的「不用空格」如果有的话是一个闪光点,但没有也没关系。

为了实现这些理想,牺牲其它方面也是完全可以接受的(在不考虑直接键入 Unicode 码等特殊方法的情况下),包括但不限于:

  • 学习难度高一些也没关系。
  • 能够输入单字即可,不一定需要输入词组(转念一想,其实没有词组或许反而会更加方便一些)。

我目前正在使用仓颉,并简单浏览了郑码的资料。仓颉和郑码看起来都支持 Unicode 中日韩统一表意文字,也支持部分扩展区的字,并且相对来说重码率也非常低。不过还是有下面一些因素让我想再试着探索探索其它的输入方案:

  • 仓颉字码最长有五个字母,并且需要用空格确认选字,看起来需要比很多其它输入方案按键更多次。
  • 郑码看起来可能使用左手的频率相对右手较高,并且可能需要频繁使用左手小指。
  • 仓颉偶尔有些字码匹配到过多重码字,无法使用字母「X」筛选,这种情况下看起来只能手动在候选列表中选字。
  • 郑码看起来可能暂时没有筛选重码字的方法,因此可能所有的重码字都需要手动选字。

通过搜索引擎,我得以找到许多从前没有见过的输入方案。这些输入方案的用户数量看起来要比拼音、五笔、仓颉等输入方案要少,但理论上,如果一个输入方案提供了可以用于 Rime 引擎的输入方案文件,那么就仍然可以很方便地使用。另一方面,在较为大众的输入方案当中,仓颉和郑码看起来已经是相对来说最接近我的理想的输入方案了。因此,我现在主要在尝试探索这些较为小众的输入方案。

在我所查阅到的一些输入方案当中,有些比仓颉或郑码的重码率更低,但字集相对较小,或主要用于输入一个地区的字,而输入其它地区的字需要付出额外的努力,例如手动切换简化或传统汉字、为简化汉字手动选重、为传统汉字键入更长的字码等。

我想可能确实有一种(也许较为小众的)输入方案可以更加接近我的理想,只是我暂时还没有找到,所以希望请教大家的帮助。

要不先试试虎码?

多谢推荐,我查阅到了一些虎码的资料,看起来虎码很接近我理想的输入方案。

这篇文章中,我也了解到虎码输入传统汉字可能需要键入比简化汉字更长的字码,而且重码率可能也比简化汉字更高。但我不确定这一点。因此,我也好奇大家是否有更多使用虎码输入传统汉字的经验。

需要严格区分简繁或不同地区字形的话,也可以考虑徐码

我个人不太喜欢虎码的点在于,他的小码用到了读音,不是“纯”形码了,这方面郑码显然更好。

有个疑惑, 为什么要支持尽可能多的字和大字集优先最高呢? 我写了个脚本把我电脑里累积了十多年的文本都抓取后提取中文, 统计字数, 结果有三千多个单字.

也就是说, 如果有个输入法能把这三千多单字都打出来, 就已经能满足我的需求了, 输入法能支持的字数有三万字还是四万字对我而言都没有什么意义, 因为这些字我也用不到它.

如果输入法只考虑这三千多字, 应该是可以做到超低重码率无需选字的,而支持的字数越多就越不可能做到.

当然我的情况是个例, 但应该不太可能有人常用的汉字数会过万.

如果将日常用字和生僻字区分开来考虑,那么其实可以分别使用两种输入法,这样选择的空间就很大了。

比如我用的是星空键道,它是一种音形码,常用字 8000 左右,平均码长大约在 2 左右。它也支持顶功,可以大大减少空格的使用。

这个输入方案有趣的一点在于可以挂接别的码表,因为 U、I、O、A、V 这五个键分配给了形码,不可能作为第一个码,所理论上可以挂上 5 套别的码表。目前在 github 上维护的 rime_JD 就在 U 上挂了一套“字海两分”检字法,用于应对临时输入生僻字的情况。我想完全可以自己挂一套仓颉上去。

另外如果日常在 emacs 里面打字的话也可以活用 abbrev 来应对频繁输入的情形。

1 个赞

我用搜狗拼音输入法的小鹤双拼,生僻字按U进入拆字模式凑出来

写论文时常常用到古籍,但个人体验是,常用字小鹤音形,生僻字部件檢索拆字或者babelmap复制也够用了。

首页 | 宇浩输入法 宇浩输入法可以试试。

倉頡六代是大字符集,適合古籍輸入。

请教有没有把繁体和冷门字都移除只支持数千简体中文的仓颉版本? 仓颉在大陆用的人少我觉得一个原因就是字库太丰富, 打的时候繁体字都排在前面, 简体字虽有收录却不容易打出来. 于是渐渐的人们就以为这个输入法只适合繁体不太适合简体

GitHub - Jackchows/Cangjie5: 倉頡五代補完計劃 自己删一下。

我之前给 Plan9 做输入法时用到码表,还是保留了一定数量的冷门字,但是打简体方便很多了

感谢两位的回复, 前面提到我统计了自己十多年来所有用到过的字, 只有三千多单字, 我准备编个码表能打这三千多字就够用了, 三码就可以打万多字, 三千多字感觉四码是无必要的.

我找到了 快仓 的码表, 发现虽然字集很丰富也是三码的,但是很多简化字都没有.

开始想把五笔改三码的, 但不知道怎么改, 网上也没找到任何成功案例, 而五笔以外的形码方案好像都有改三码成功的. 只好放弃五笔了

可以做一个码表过滤功能,码表还用大字符集码表,在打字的时候自动过滤,只显示简体字。 比如把“规范汉字表中的一二级6500汉字”作为白名单,打字的时候只显示这些字。

我平时用的“小小输入法”就有这个功能。emacs里面应该不难实现

google了一下,发现RIME已经有这个功能了

gbk已经扩张到两万多字,不小了; 扫了一下 一二级6500汉字,其中我不认识和现实中从来没见过或用过的字还是很多, 自建码表还是只包含现实中自己实际用(见)过的字就够了.

之前论坛好像有人提到过效仿英语的大小写切换功能, 即键盘小写状态下打出的是简化字,大写状态下打出的是繁体字, 不知道这个实际是否可行,如果可行的话,对三千左右的汉字进行编码,实际也就能打出五六千字了

以前的极点五笔有个功能,就是不再按gbk等字符集来区分汉字,而是按用户的使用习惯来区别“常用字”和“非常用字”。

然后它还有个功能,空码时检索其它字符集。

可惜极点中文太老了,只能在win7以下的版本上用。

当年小鸭五笔也有这个功能,也是自从作者不更新之后,我在 win10 就没有怎么打五笔了

总结一下,筛选要求:

  • 大字集
  • 低重
  • 比仓颉码长低一点、手感好一些
  • 希望能简繁通打(倒数第二段)

得出结论:徐码宇浩 除此之外应该没有同时满足这些条件的形码了。。。

PS:如果去掉简繁通打的要求(比如接受分简繁模式,或者接受某种字形选重),能选的形码会多很多。如果再去掉全集的要求,而是只要「能打出有读音的字就行」,那可选的方案可以扩张到音形码和一系列顶功方案(也就是基本不用空格的方案)。

P²S:从实用的角度说,打生僻字并不一定要和日常打字用同一种方案。比如打生僻字用仓颉,日用方案可以妥协一下用别的低重方案。

2 个赞