汉字编码新尝试:字理组字编码方案v0.0
综述
众所周知,汉字中的大多数是由偏旁部首(统称为部件)组合出来的。
字理组字,就是按照汉字字理,组合构造出来的字,可以用表里的部件组出任何“讲道理”的字。
“这字是啥加啥,咋拼的,怎么表示的这个意思,我们古老的象形文字画的究竟是啥,以前是怎么写的,中间流传传抄演变的过程会不会写错了?”
字有字理,但字也会变化。有分,有合,也总有些字变得不是很讲理,看不出它是啥加啥。
本表把每个部件从甲骨文金文(若有)的源流到楷体印刷正体在中日朝韩越新马各国家地区的演化发展全流程纳入考虑,每个部件对应着尽量源头的写法,有理有据有根。(用的时候,你也需要考虑)
本编码期望为古籍规范数字化填坑加速,为人名地名生僻字文化保留铺平道路,为汉字发展释放造字活力扫除障碍。
本表酌情把常用而又变妈不认或者学术上仍不确定(统称有坑)的整体安排进码位,视作单体,不是一个“完全拆分到头”的字根树部件树。
本编码理论上可以用作输入法(比五笔郑码等26键形码是要硬核得多,但比电报码区位码JIS码Unicode还是更友好的,并且它由字理实现统一)。
本表也可以用作业余无线电电报码,一两张纸精炼信息搞定,而不需要整一本电码本字符集来翻。
本编码期望做字体、做输入法(尤其大字集、多地区)的开发者使用作为内码,不需要等Unicode收了你才有地方放生僻字。
本编码可以用于按规则生成相当大一部分结合时“没有不规则变化”的字的形码码表,还可以省去跟现行码表里的讹字对字形搞特殊区分码的绝大部分功夫。(重码高了不讨好,但无意义的同理异码在本编码里就不该存在)
本表实际上也是一个部件统合表、简繁类推表,力求达到异体写法(在多个层次上)分分合合的一个合理自洽的状态。
本编码甚至可能用作手写识别、机器学习古文字识别的直接目标编码,也可以作为智能动态组字的源编码。你感受到了么?
但总的来说,要把本表全部掌握牢固,可能还是算半个学汉语言文字砖业的big学生了(?)
但是通读一遍,也能入个门了吧(??)
此处真情实感建议,放大全图,逐区逐字浏览一遍,再回来继续看说明。
如果遇到一个生僻字,组得出来(表里找到,拼就完事了,但是注意字理,里面有“!”就是有坑要小心),成了,你就用规范的组字码串表示这个字。
只需要有做字人在字型(字体文件)里以这个码串为题,添加一个对应矢量图或像素字,你用这个字型(如果有生之年我做出了这套渲染系统的文本框),输入这个码串,便可显示。
到别的地方如果用的字体文件里没有这个码串,那确实暂时不能显示,但至少可以回退显示一串部件,表示这个字是由哪些部件组成的。
如果未来智能动态组字普及了,那就不成问题了,只是显示可能暂时丑点,随着技术进步终将修好。
常见类推简化部件简繁同码,若以本编码作简体字型,自然应该是统一简体部件。(细节后述)
这样,姓名地名“常见生僻字”、方言字、民间合字、道教讳秘字、天地会秘文、减字谱、合音字、网友新造字、喃字壮字、日月干戈心zuibiang……绝大部分,都不需等待任何批准收录,就可有理有据地编码表示。(遵守一些细节规则,下述)
比如最近最火的“鸟/甲”,代码就是“024 10 150”,简繁同码(或者就是简体)。
如果组不出来,八成是你这字有问题。如果你认为是另外两成,欢迎留言讨论【比如实在异形的方言字地名字
能编码出多少字呢?理论上那就是无限的,用已收录部件讲字理的前提下完全自由,你可以用你认为对的字根与部件按规则粘成一个码串,就固定代表那个字了。
只是这个码串可能不符合“最短最简洁”常规需要纠正,可能合规但由于没被字型收录等原因,显示不出拼好的样子而已,毕竟目前动态组字还没那么成熟。做好这个平台,推动技术成熟吧。
但是,即使码串是合法的,合不合字理另说。可以就从你在画甲骨文的角度去想象。你当然可以画一对月亮,但朋友的“朋”实际上是大鹏尾巴的一大把羽毛;你还可以画一根禾苗,两边有两个人背对着(北),但“乘椉”实际上是一个大脚人站在一棵大树顶上……
这些就是字理了,是学科专业知识,可以去网上查古文字写法,可以去书里学,慢慢积累。
类似的“有坑”部件,本表多是收为单体,直接就用的,不需要去组。需要拼的生僻字古字如果有坑,就需要专业选手来辨认鉴别了。当然,做好字表词表对接上各种现有输入法后,一般用户就不需要拼字这一步。除非,遇到了输入法字表里没收的生 僻 字,或者你想造字了。
坑本身确实对应着字理,理解记忆这些坑,就对应着真正古文字演变的知识了。
相对的,五笔郑码等实用输入法形码,其中也总会有很多例外边角特殊规则,但它们是为输入法的实用性与性能参数(重码率)而人为规定的。
完全掌握本编码方案,确实也意味着要掌握这些“例外、讹变”,但它们是有古籍古文字来源依据的,可以说是“要背也是背了真的、有意义的东西”。
基本框架
本编码只编码汉字(包括壮字喃字等基于汉字部件的),标点符号目前都还没有【可以用独立的(空)代替着先
本编码的码位是数字串不是数字,00 000 0000,98 098 0098分别都是不同的码位,变长是因为适应汉字部件本身的频率分布。
每个码位分别有是否粘左、是否粘右的属性,这里的左右粘指码串位置的退和进(粘退粘进粘前粘后,太怪了……)。码串内相邻两码位之间若左不粘右、右不粘左,则是两字的分界。
“+”为包围杂合(即,任何复杂例外结合),“*”左右,“/”上下,“^”为优先级最高的修饰符,类似数学的符号便于理解优先级。
01<⿰> 10<⿱> 11<⿴⿻> 为“结合符”(等于是“*、/、+”二元中缀运算符)左右都粘,优先级与对应的粘法(“自带结合符”)一样。两边不粘需要焊接,或者明确改组合方式时才用它,多数时候不需要用。
(组字举例可能是强拆的,只为示意,如果码表里已经收录为单体,则实际编码应该直接用单体)
包围(以及杂合)关系相对严格要求,只有在“如果强行不包就空一大块丑得报警”的情况才算包。其余情况多如只有一笔伸过去的,都算左右或上下。(只在需要插结合符的情况考虑。表内预置粘右还是按照常识,如“走”标为包围结合)。例如“麻磨 䧹鹰 辰唇 石席 鹿麋”等等普遍适用本条,算上下。不然“鼠 麦”不同地区全分成两种炸了。
具体长笔画伸不伸过去随字型实现。此处插播一个“屎女屡”,就根本不是按字理拆分的。本是“尸娄”(84 536)。但如果你真想用甲骨文画一个有人在女上拉屎【那编码还是上下(0296 070)
“辶 廴 凵”还是都算包围,但是本编码选择强调规律性,牺牲今文字笔顺,编码上还是包围部在先,粘右。顺便“廴”有大坑,“凵”还真是坑,“辶”还在“徒從”等字里。
“宀 皿”算上下,虽然古时候是包围,这里还是向今文字妥协了,“齐”也统一算上下(?)。
“颖 颣 嗀 啟”形的“包围”算上下,这是最需要注意的;“戈口→戓
汉字编码新尝试:字理组字编码方案v0.0相关推荐
- 蝙组词两个字理测试html,蝙的两字组词,蝙组词两个字
蝙的两字组词,蝙组词两个字以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 蝙蝠的蝙字怎么组词 蝙字怎么组词 : 蝙蝠. ...
- Python玩微信头像组字
Python玩微信头像组字 思路 itchat 获取头像图片 汉字转点阵 头像图片拼接 九宫格效果 回顾 代码 最后 上一篇,用Python实现了拿微信好友头像来拼接背景,融合成自己的新头像. 再之前 ...
- 用心行走——《做最好的新教师》读后感3200字
用心行走--<做最好的新教师>读后感3200字: 作者:何英.我是一名新教师,踏上工作岗位之初,我感觉自己像一个大陀螺,不停的在原地旋转旋转,却找不到方向.这种感觉让我一度怀疑,这还是我踏 ...
- 大学生计算机学习计划2000字,2020学年大学生新学期学习计划2000字
2020-2020学年大学生新学期学习计划2000字 大一这一年,我没有好好地到机遇,在朦胧玩乐中度过,因此甚感后悔.没有脚踏实地学好基础课程,特别是英语和计算机.大一的学习任务相对轻松,可适当参加社 ...
- python微信头像_Python玩微信——头像组字
上一篇,用Python实现了拿微信好友头像来拼接背景,融合成自己的新头像. 再之前呢,我们也实现了点阵字的输出与展示. 正好今天有位老哥过生日,我就把头像拼接和点阵字结合起来,搞了个头像成字的代码,请 ...
- Python玩微信——头像组字篇
正好今天有位老哥过生日,结合着微信头像和点阵字,搞了个头像拼字的代码,朋友圈九宫格效果如下: 其中,每个字都是16*16的点阵,点阵中每个点可以拆解为4个好友头像图片: 代码中汉字文本可以自定义输入, ...
- 数字图像处理|Matlab-数字图像编码实验-无损编码/压缩算法实验-实现行程编码压缩, 计算原图和压缩以后的尺寸,计算压缩率并比较分析
Matlab-数字图像编码实验-无损编码/压缩算法实验 代码链接:https://download.csdn.net/download/qq_43571150/12033273 问题 实现行程编码压缩 ...
- 支持生僻字且自动识别utf-8编码的php汉字转拼音类,PHP汉字转拼音类(支持生僻字且自动识别utf-8编码)...
这篇文章主要介绍了PHP汉字转拼音类(支持生僻字且自动识别utf-8编码),非常实用!需要的朋友可以参考下. 拼音类文件py_class.php源码如下: class py_class{ functi ...
- python代码图片头像_Python玩微信——头像组字篇
正好今天有位老哥过生日,结合着微信头像和点阵字,搞了个头像拼字的代码,朋友圈九宫格效果如下: 其中,每个字都是16*16的点阵,点阵中每个点可以拆解为4个好友头像图片: 代码中汉字文本可以自定义输入, ...
最新文章
- mybatis配置ehcache缓存
- 组策略 从入门到精通 (一) 组策略的还原与备份和汇入
- vue 项目引用static目录资源_Vue2.0项目入门 — 静态资源目录src/assets和static/区别...
- 管理软件实施(1)——什么是管理软件
- day03 Python爬虫
- [python + debug] set()操作对象的元素为字符串,则结果随机排序,使用sorted()函数以固定顺序
- 001_动力节点_SpringMVC4_SpringMVC简介
- paip.提升效率----更改数组LIST对象值for与FOREACH
- MODIS数据的简介和下载(一)——MODIS数据简介
- usb接口供电不足_分享电脑usb接口供电不足解决方法
- 洛谷入门-- P3717
- antd 表单的校验方式
- vue上传excel并展示_(一)vue导入上传excel功能
- PDF文件转换成什么格式最适合编辑?
- redis的高级教程
- Mac系统开机启动项如何设置
- 我是一名资深程序员,而今天我又多了一个创业者的身份(2)
- OpenLayer学习之style样式的学习笔记
- 老鼠出迷宫问题(Java)(递归)
- 基于GRNN网络和小波变换的ECG信号睡眠监测matlab仿真
热门文章
- 计算机的发展知识点如何导入,计算机一级msoffice考试知识点:计算机的发展.doc...
- mysql5好还是8_昆明大理丽江8日游攻略,去云南跟团好还是自助游好?
- 阿里云发送短信代码、C++版
- 不确定的乌卡时代:新国货品牌何去何从?
- 合工大计算机专业拟录取名单,2021年合肥工业大学各学院研究生拟录取名单汇总...
- linux在终端打开dbi,Linux下安装DBI和DBD
- 这篇文章告诉你几款必备软件
- centos7 gparted分区扩容
- 函数返回指针|函数返回地址
- Node.js Web开发_设置Node.js(1)