业界应用
NEXT + 字体 | 我们做字,我们算字
汉仪字体
N112016-00173.pdf
双拼拓扑形:Linux下自制汉字输入法
汉字拓扑码是用纯拓扑结构来描述汉字字形的一种编码,旨在反映汉字笔划之间的相互关系。其中笔划被抽象成只有长度和方向的直线(点笔视作质点)
这种编码的作用是通过使用形式语言,动态地生成汉字的拓扑结构。它有两个形态,打比方的讲,一个是基因型,一个是表现型。基因型使用语法树的方式,描述了字形里迭代的拓扑关系;表现型是通过使用形式语法,把基因型在2D空间的展开。在表现型的基础上,可以对汉字字体进行美化渲染并显示,但此步骤不作本主题讨论重点。
每一个汉字对应一个唯一的表现型;但是,由于汉字拓扑结构的复杂性,同一个汉字可以有不同的基因型。反过来,这意味着,同一个汉字可以使用不同的方式拆分成不同等级的子块,子块还可以同理继续拆分,一直拆到预先设定的字元为止。基因型的多样性会带给我们若干工程上的优势,这些将在下文中具体解释。
二)方法总论
如上文所述,每一个汉字对应一个唯一的表现型和不确定数量的基因型。汉字拓扑码的生成方法可以总结为:
首先,把一个汉字转换成表现型的拓扑表达,但自动生成的拓扑表达,有可能不满足人体视觉的要求。因此,此步骤的结果有必要经过人眼的评估;
其次,把此表现型转换成若干有效的基因型。可以利用人工挑选的基础拓扑结构(拓扑元),同时也可以自动提取高频拓扑元。动态构字为此分解过程的逆过程;
再次,根据优化条件,找到满足要求的基因型,如未满足,则改变参数,重新生成一个新的拓扑表达,如此循环往复,直到满足终止条件(可以是循环次数,也可以是优化效果,等等)。
(三)潜在应用
0,基于本框架的复杂汉字的动态生成。
1,基于整体或局部拓扑结构的汉字识别。
2,基于笔划、字形、字根的分类、检索。
3,基于拓扑元的汉字信息加密。充分利用基因型的多样性。
(四)特点概括
有别与其它构字方案,拓扑码里面没有字根的概念,只有反映结构之间相互关系的拓扑元。拓扑元既是运算,也是运算对象。
拓扑码不是为了按照有义的偏旁或者亚偏旁进行拆字、构字。拓扑元完全没有直接对应的字体意义,完全的工程化,并且应该可以依据条件自动组织。
表现型的生成,基本脱离汉字原有形态美学的需要,因此,不是由字形专家来构造的。表现型的拓扑细节,由基因型的优化需要决定,并且自动生成。
个人天方夜谭
能否利用拓扑学的知识来设计个性字体?
