汉字结构化方案简析(二)
汉字结构化目的是让独立设计师及设计工作室能够更方便的创建自己独有的字体设计方案
上回书说到,汉字结构化的基本理念,其实就是将汉字拆分,成为结构化的数据,这样的目的,就是将汉字数据化,使汉字设计,变成了不那么繁重的工作,说到这里,其实专业的字库设计工作者会嗤之以鼻,认为这是天方夜谭,汉字的笔画及结构之复杂,这样的方式其实满足不了完美字库的设计需求的。
不过我想说,如果说,完整的字库设计是打造一艘航母,但是很多时候,或者说绝大部分时候,我们需要的,只是一辆小汽车而已。
下面说一下SCC方案中的几个核心概念
1、组成:SCC结构化汉字中,对汉字的组成,分成笔画、部首、结构、模板四个元素。
笔画:笔画是汉字的最小组成部分,基础笔画有:横、竖、撇、捺、折、点,这些基本笔画又构成部首,同时,在一些书法字体中(尤其是草书)很多汉字都可以以一笔完成,不过我们将这种类型的汉字设计归类到部首中。理论上,如果你完成了一个横的设计,那么汉字的一、二、三,就都完成了,我们会在参数中,介绍相关的笔画及结构定义说明。
部首:部首是SCC中最主要的设计部分,设计师完成想要的汉字的部首,系统将自动将符合其模板设计数据中的汉字匹配对应部首。从下图就可以看出,我们完成木字部首及对应派生部首,系统将完成与木相关的字形设计。对于上万个汉字,常用部首几十个,每个部首对应的派生部首则需要设计师酌情调整,但与近7000个汉字单独设计对比,工作量是微乎其微的。何况,我们其实并不需要设计全部部首及派生部首,只需要完成自己需要的汉字的对应部首即可。
结构:汉字的结构其实很少, 点击这里可以查看所有的汉字结构,大类分为独体字、左右结构、上下、左中右、上中下、包围结构及镶嵌结构,我们在下面的模板参数中详细说明结构及模板的关系。
模板:对于不同的字体/字库风格,SCC模板是有非常大差异的,比如正体字、艺术字、毛笔字等,不同的模板适合设计不同的字库,拥有自己的汉字结构信息。同时,设计师在初始化自己的字库时,也需要考虑自己的风格选择正确的模板。对于SCC解决方案,我们同时允许设计师制作自己专属的模板,模板可开源或者私有。
需要说明的是,因为SCC方案中,设计师设计的内容绝大多数时间是基于已有内容进行修改和扩展,所以,SCC方案是需要复用基础模板的,类似于程序设计中的继承的概念,新的类,是基于已有类。
举例说明:正体字库中,左右结构的信息是:左边结构40%,右边60%,但是对于艺术字,左右结构可能包含两种构成,40%+60%,20%+80%,这些结构定义需要设计师自己来扩展,同时归纳于自己的模板库中,如下图:
2、参数:基于JSON的SCC方案,参数名包含很多,而且,因为考虑到扩展性,我们还将持续更新基本参数定义。目前包含内容如下:
基本参数
name:字库名
owner:所有者
designer:设计者(可多人)
createtime:创建时间
version:版本号
type:字库风格(可多种)
template:初始化模板
stroke:笔画信息
radical:部首信息
text:字形详细设计信息
结构参数:结构参数中的内容出现在基本参数中的stroke、radical和text里
name:结构名/汉字名
hex:在GB2312-80标准中的16进制信息
construction:结构参数
svg:svg图形文件名
x:x坐标
y:y坐标
rotation:旋转角度
type:类型信息
derived:派生信息
item:组成结构单元信息,item参数中,构成元素与construction参数中对应,如果是左中右结构,则在item中包含三个元素,对应其参数信息
3、派生
派生是SCC标准中的重要概念,它也将帮助SCC实现无限扩展自定义内容的功能,因为汉字结构的复杂性,基础笔画及偏旁部首设计好并不能实现左右汉字的完美性,我们需要将核心派生部首也设计好,才能覆盖绝大多数可能。另外,由于设计师的设计是无限自由的,也需要派生出更多模板、结构及部首,在上文的部首说明部分,我们简述了派生的重要性,理解派生,就能理解SCC方案的自由性。
4、文档结构
和大部分编程项目相同,SCC方案的源文件,是一个文件夹,包含JSON、图形文件以及其他文档说明,基本格式如下:
├─template 模板文件夹 │ ├─stroke 基本笔划SVG文件夹 │ ├─radical 偏旁部首SVG文件夹 │ ├─SCC_zhenghei.json 模板JSON文件 ├─stroke 基本笔划SVG文件夹 ├─radical 偏旁部首SVG文件夹 ├─index.json SCC字库主文档
5、工具
说了半天,SCC标准只是一个标准,要想它能够进入到实用领域,需要有符合SCC标准的生产工具才可以,我正在开发对应的工具及网站,暂定名是字链(hanzi.link),估计在2021年能放出一个demo出来。
字链将实现SCC标准的绝大多数需求,未来最希望实现的是将设计师设计的SCC字库,自动生成ttf字体,目前已经有初步的解决方案,但还没有时间去制作demo。
6、扩展
SCC标准是开源的,可扩展的字库生产标准,我们将扩展性放在非常重要的考虑范畴,在搞定字库的核心功能,我们将尝试引入比如iconfont的结构化设计方案、彩色字库的设计等扩展功能。
欢迎大家提出更多意见,也可加入SCC讨论Q群:253126133
这是关于SCC标准的第二篇文章,第三篇将详细讲述一个汉字的设计过程,不过我可能更希望制作一期视频,但是要等工具的demo出来才可以了,希望不会很久,大家也可以加我微信讨论:iguixianren