我的汉字输入法编码方案

2024-03-25 22:58
文章标签 汉字输入 编码方案

本文主要是介绍我的汉字输入法编码方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

很早就有了这个东西,因为一直没学会编写输入法程序,所以就没有拿出来现眼。
方案尽量简化,主要从汉字本身就具备的偏旁部首出发,用偏旁部首的读音的声母字符,按笔画顺序编码即是。

从前不知道,几乎每一个偏旁部首其实都是有读音有含义的。因为怕学五笔,拼音重码又多——那时紫光还没出来,所以想借用Windows中的输入法生成器做一个简单好用的输入法,查阅了康熙字典和汉语大字典,慢慢就研究了起来——呵呵,谈不上“研究”。

既然花了不少心思做出来,现在还是把它放到这里,虽然现在输入法大战基本上都结束了,我的这个方案也没啥特出的,但可能还是有那么一点点的价值吧。——何 况是自己的博客,放啥自己说了算,呵呵 :)  ——如果你真的想要看看这个方案,建议先看下面3张图片,是偏旁部首的部件集,看图片容易一目了然。

就目前我的观点,各方面表现都十分优秀的输入法好像还没有?从汉字人文的角度上看,台湾的仓颉输入法应该是最有意义的——可惜它在内地没有市场。个人认为输入法的使用其实是有潜移默化的作用的,对汉字的拆字编码应该做到合乎文字本身内在的规律才好!

废话少说,拖出小媳妇来......见公婆咯。。。。

字根部件集:(见下面3张图)

====方案重点节录=========================================================================

拆字规律:
  1. 部件规范原则。字中的构字部件不应只取其形似,部件应是按正确的顺序和规范的笔划书写而成的。如“里”字,不应拆为‘田’+ ‘土’,也不应为‘日’+‘土’,而应是‘日’+ ‘丨’+‘二’(当然,前两者可作为容错码);“求”字,应拆为‘一(横)’+‘氺(水)’ +‘丶(点)’,而非‘十’+‘冫’+‘丶’。
  2. 部件取大原则。如部首‘音’,可视为部首‘立’+‘日’,当前者作为构字部件出现时,不可将之拆成后两者。例如“韶”字,应拆为‘音’+‘刀’+‘口’(ydk),而非‘立’+ ‘日’+‘口’(lrk)。
  3. 必拆原则。除单笔划字无法拆分外(如‘乙’),所有字皆必须拆分(例如输入部件字本身时)。如“音”,是一个独自成立的单字,此时应拆为‘立’+‘日’(lr)。
  4. 先成原则。当笔划所归属部件有歧义时,该笔划划归先形成的部件(按字的书写顺序)。如“元”字,既可看为‘二’+‘儿’,亦可看作‘一(横)’+‘兀’,此时按先成原则确定为前者。
取码规则:
  1. 按汉字的正常书写顺序,考虑规范编码和功能划分:
  2. 对单字:取第一、第二和最后一个部件的码元(即部件声母首字符)。若单字取不足三码,可重复取最后一码,也即所有单字都有三码,如“码”字,只有两个码元(sm),但编写码表时取为smm;如“乙”字,可取为ooo。
  3. 对双字词组:取首字首码、首字末码+末字首码、末字末码(即:11+13+21+23)。
  4. 对三字词组:取首字首码+中字首码+末字首码+末字末码(即:11+21+31+33)。
  5. 对四字以上词语:取首字首码+次字首码+第三字首码+第四字首码(即:11+21+31+41)。
  6. 对高频字:取单字首码。
  7. 对快捷双字词:取首字首码+末字首码(11+21)。
容错考虑:
  1. 部件本身可能会出现一字多音,这样,组码时一个字就可能会有多个编码。我们可以以标准读音为主(标准读音是指能代表部件本身 含义的那个字的读音),兼顾其它常用读音作容错考虑。此类部件可属于多个码元。如‘厂’,标准读音为“hǎn”(音罕。《说文》山石之崖巖,人可居。象 形。高鸿缙《中国字例》“厂字本象石岸之形。……”),正常应属于码元‘h’,但简体字中大多将其作为“廠”字的简化字(似忘其本)。作为容错,它也归属 于码元‘c’。
  2. 字的书写顺序不是很明确时(可能源于书法的原因),可适当考虑多种书写方式时的拆字规则。这也会产生字词的 多个编码。如“曹”字,标准书写顺序为12512212511(引自 “金山词霸”中汉语词典资料。1~5分别代表基本笔划“横、竖、撇、点+捺、折+勾”),拆字为‘一’+‘丨’+‘日’(hor),但也可能拆为‘艹’+ ‘曰’+‘日’(cyr或crr。部件‘曰’正属码元‘y’,容错划归于码元‘r’)。
  3. 因单字容错码的存在,故由单字组成的词组和短语也将存在容错的情形(其数量可能不小)。
========================================================================================

【部件集】详细说明图示

字根部件B-M:
字根部件B-M

字根部件N-Z:
字根部件N-Z

字根部件 aeiouv:
字根部件aeiouv

这篇关于我的汉字输入法编码方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/846510

相关文章

革新DNA存储:DNA-QLC编码方案高效可靠,多媒体图像存储新时代启航

在数字信息爆炸的时代,传统存储介质正面临容量、持久性和能耗的极限挑战。为此,大连理工大学计算机科学与技术学院的研究团队在《BMC基因组学》发表了一篇开创性论文,介绍了一种名为DNA-QLC的创新编码方案,为DNA存储系统的高效性和可靠性设立了新标准,极大地推进了DNA存储技术在图像等多媒体信息领域的应用潜力。 ### 背景与挑战 尽管DNA存储因巨大存储容量、长期稳定性和低能耗等优势被誉为

IME输入法编程:第一章 Windows9x系统下汉字输入法的基本原理

IME输入法编程 第一章 Windows9x系统下汉字输入法的基本原理 Windows系统下汉字输入法实际上是将输入的标准ascii字符串按照一定的编码规则转换为汉字或汉字串,进 入到目的地。   由于应用程序各不相同,用户不可能自己去设计转换程序,因此,汉字输入自然而然落到WINDOWS系统管理中。 一、输入法与系统的关系      键盘事件  应用程序

iOS UITextView问题一网打尽(占位文字、汉字输入字数计算、自动高度改变)

在iOS开发中,UITextView是一个使用还算比较多的控件。但是用过的人都知道,UITextView有很多存在的问题,今天就来一一说它一说。 一、设置textView的placeHolder 首先需要解决的就是占位文字placeHolder的问题,与UITextField相比,UITextView并没有相应的placeholder属性设置占位文字,但是可以通过category的方式给tex

linux系统怎样输汉字,linux新手,如何安装汉字输入法

chengweiwei 于 2011-05-26 11:12:17发表: 0:w(5(支持ubuntu10.04 enophy 于 2011-05-25 20:04:21发表: 我目前只用过debian系: ibus不错。拼音:aptitude install ibus ibus-pinyin 当然其他的如小企鹅等输入法,也不错。 maowenlong 于 2011-05-25 16:54:33

12.10多种编码方式,编码方案选择策略(递归级联),PDE,RLE代码

作者如何选择和设计编码方案,以实现高效的解压缩和高压缩比?BtrBlocks是否适用于所有类型的数据? 选择和设计编码方案: 结合多种高效编码方案:BtrBlocks 通过选择一组针对不同数据分布的高效编码方案,实现高压缩比和快速高效的解压缩。基于采样的方案选择:BtrBlocks 对每个编码方案在样本上进行测试,并选择表现最佳的方案。采样算法在保持相邻元组的局部性和准确表示整个数据范围方面取

Ubuntu18.04安装搜狗输入法以及sougo输入法在Ubuntu下汉字输入出现数字代码的问题

Ubuntu18.04安装搜狗输入法_陨越的博客-CSDN博客_ubuntu18安装搜狗输入法 问题 输入汉字出现如下乱码 解决方案 打开终端,输入 fcitx-configtool 1 从而打开 将sougo pinyin放到不是第一位的顺序,解决.就很神奇!