《朱信造字》操作详解

  众所周知,迄今为止,制作汉字字库的方法都差不多,只是缺少适用便捷的工具(至少我没见过公开发行的)。
  多年努力后,《朱信造字》终于呈现到大家面前,就像总得见公婆的丑媳,请大家试用、批评(其实有很多毛病、问题已经看到了,只是由于刚刚开始,不可能上来就把程序收拾得像Fontlab一样漂亮好用,请大家理解)。
  相关演示,请上优酷(www.youku.com),搜索:朱信造字,即可观看相关视频。 也可以点击如下连接,直接下载相关视频本地播放:http://pan.baidu.com/s/1orvJr
  点击如下链接,可下载《朱信造字》安装版:

    http://pan.baidu.com/s/1wyscg

原理浅释
    《朱信造字》的界面和Fontlab、Fontcreator等西文造字程序不大相同。《朱信造字》是将汉字ttf笔画对接到数据库上,使用者在数据库上进行搜索、过滤、替换等操作。这种操作方法尽管不够直观,但较之靠经验寻找更迅速、准确、彻底。所以,《朱信造字》的主界面是数据库,而不是一般人们熟悉的全体字符图像。其实,全体字符模式对于造汉字库而言意义并不大,原因:1,汉字不像西文,一屏即可全观。最小的汉字库一屏也看不过来。翻屏看,只是看到了该字库的所有字,但对于专业字库制作人(不是初学者),更需方便在制作上。2,排序问题,西文造字程序采用unicode编码方式,多一点的还有区位码、顺序码、各种进制等方式,但意义何在?想要偏旁顺序,没有(本程序安排了,滤后即得);查行气需有含义文本顺序,本程序也安排了(如果你想看所有汉字,打开一个有所有字符的txt即可)。
    需要说明的是:首先,《朱信造字》的“原料”是ttf字库。也就是说,如果你想用《朱信造字》制作自己的字库,首先你得将自家设计制成一真正的ttf字库(小字库)。怎样做ttf字库?方法很多,可浏览做字网(www.6763.net)上的相关内容。本文下面的解释都基于ttf,且都是在你会使用例如Fontcreator等字库编辑程序基础上进行的。在后期导出为ttf之后,也需要你为自己的字库配标点、数字、英文等内容。所以,会使用一般的造字程序是前提条件之一。如果你根本不懂什么ttf、造字程序之类,那,请先补课。做字库,尤其是制作较为精致的中文字库,毕竟是专业工作,没有相关专业知识不行。
    《朱信造字》对字符的分解采用了笔笔断的形式。何谓“笔笔断”?笔笔断是书法理论中对研习书法诸多方式的一种理解,说的是在汉字楷书书法过程中,凡每一折笔,都可视同将该笔画从折笔处顿笔断开,然后再下笔续写的原理。因为就楷书而言,其笔画转折处亦需有下笔驻笔等细节表现。
    《朱信造字》采用了笔笔断的形式,主要是希望能以最细腻的方式描述字中每一笔描述的细节,给人们编辑字符每笔、每个组成部分(例如“勾”、“挑”等)的可能性。所以,如果还你没有创作自己的样本字库,如果你希望用《朱信造字》完成该款字库,那么你最好采用笔笔断的方式进行(实际上,老式拼字方法也是用笔笔断的);如果你已经创作好了自己的ttf(或ai),后边希望用《朱信造字》完成该款字库,那么也请断一下笔画。怎样断?可打开我们提供的s2a字库,查找找到你要断笔画的字,参考其数据库描述,将该笔画用“刀子”工具切断即可。
    尽管《朱信造字》本身也有“刀子”工具甚至其他自动化分割、识别工具,但说实在话,这些工具现在还不好用。设此功能,一是一种设计探索,另一方面也为今后的继续开发留个接口。所以,在引入ttf之前,最好使用别的造字工具对ttf进行笔画分割。建议使用Fontcreator。详细操作方法见《怎样使用Fontcreator为汉字断笔画》。

打开s2a文件、打开ttf
    双击启动《朱信造字》,程序会跳出一个对话框,要求分别选择s2a字库和s2a或ttf字库。选择s2a字库是必须的,因为其中带有经过严格校对过且对接了数据库的字库(其中仍不免有个别错误的地方,如果您发现了,为了您和他人,请通过qq给我们留言)。

                              

    这里所谓的“底本”就是我们反复强调过的s2a字库。所谓的 “目标”就是反复强调过的“样本”。样本往往是使用者自己已经断过笔画的ttf,在这里也可以直接打开,只是打开后相关数据库为空。
    必须说明的是,ttf必须采用如下格式:

  1. 请使用Fontcreator打开该字库;
  2. 打头的一个字符必须是有unicode编码。但是,该字符的码位内却不得有任何笔画,即一个没有任何笔画的“空字符”;
  3. 后面所有字符必须连续,且不得出现上述情况(即中途不得有任何“空字符”出现)。
  4. 结尾(最后)处以后的字符也不得出现上述情况(结尾也不得有“空字符”);
  5. 否则程序会显示出如右对话框:

                              

诱导识别
    对于断好笔画的ttf字库,在样本栏里打开后,呈现状态如图:

                              
    点击“诱导识别”,程序会转入自动对接建立s2a的过程。如果你制作一个新的底本,那么这个过程会比较漫长(有进度条显示程序进度。据经验,诱导对接一个20902汉字库,大概需要48小时)。如果你仅制作一个只有百八十字的样本,速度还是蛮快的。
    诱导完毕,在样本的数据库字符空白处右键点击“完成”,程序即可按照ttf名保存s2a。

                              

手动分割(断笔画)
    当诱导对接数据库之后,程序会将带有数据库的s2a显示到你的面前。当你写数据库的时候,可能会发现有的字的分割不够彻底,需要“补刀”才能够完成,这时候应当启动程序当中的“刀子”工具,对该字进行分割。
    “刀子”工具有两种,一种就是普通的、将笔画切断的“刀子”。还有一种是切割交叉笔画的专用“刀子”。使用这种“立交桥刀子”工具的时候需要掌握一定的技巧。下面逐条介绍:
    普通刀子,直接割断笔画即可。
    点击“立交桥刀子”(切断交叉笔画之用),启动该工具。
    由于Fontcreator是公开的,所以,对几个人对同一个ttf分段进行。这样速度可以比较快。

写数据库
    s2a诱导完毕之后,虽然对接了数据库,但因是机器自动识别的笔画ID,不一定准确,需要再手工对接一遍(一般情况下,样本是一个较小的字符集,写起来并不十分麻烦)。在需要写数据库的地方,右键“显示该字”。该字的编辑窗口被打开。鼠标选中“bihua”段的相关笔画。根据数据库中描述的每一笔的位置,鼠标点击编辑窗口中该字该笔。该笔随即呈现红色,表示被选中。此时点按空格键,该字的数据库ID即被正确地写进到数据库中。
在写数据库时,如果你所使用的计算机屏幕不够大。显示了数据库就不便观察字符编辑窗口了。对此,你可以右键点击该字段的字段名,显示出一个小窗口“隐藏列、显示列…”的选项,点击隐藏列,该列即被直接隐藏掉,如果点击显示列,则会出现右边大图,大图里标明了所有字段的显示和隐藏状态,你可以根据需要进行选择(选掉即不显示)。

                              

                              
    所谓数据库者,实际上就相当于对该字符分解状态的详尽描述。如果你对该数据库的描述方式已经了解,可以关闭后位字段,也可以关闭带w的字段。这样既不妨碍数据库描述,又可以缩小显示窗口,腾出空间,供显示字符编辑窗口之用。
    说明一下:这个程序是根据现在通用的桌面最小屏幕(19吋)设计的。工作状态应为桌面操作。如为随意姿态(例如卧床、或沙发里等),虽可装在笔记本电脑上,其屏幕较小,可能不大适合本程序的工作状态。由于程序运行时占用CPU和硬盘较为频密,可能更适合台式机。
    前面说过,样本是小字符集,写起来比较轻松。但是如果你要制作一个大的底本(例如20902个汉字的GBK字符集)就会比较费时费力。当然,相信你要制作这么大的字符集,肯定不会是一个人,如果是两人以上,就可以分割s2a,齐头并进。具体方法:

  1. 将断好笔画的ttf分割为几个部分;
  2. 分别诱导,形成几个s2a;
  3. 分别对接数据库;
  4. 打开一个发行版中自带的相应字符集的s2a,向其中“原始导入”自己的s2a,形成一个自己的s2a底本;

关于对数据库的操作
    为了满足一些对汉字理解十分深刻的专业人士对汉字分解的需要。本程序对s2a数据库有一简略的编辑功能,即加减行,也可以改写字,当然也可以改写笔画ID和三态值。不过,对于这些操作,倘若你不十分了解,最好不要轻易进行。随意修改s2a数据库会产生严重后果。可使该s2a失去使用价值。
    一般地讲,如果你一定要修改数据库,最好和《朱信造字》的程序开发人联系(联系方式后附),合作进行可能效果更理想。因为这里不仅仅涉及一个修改数据库的问题,可能还涉及到修改显示字库、重新合成新s2a、重新对接数据库等诸多问题。

合并(导入)s2a字库(“替换底本”)
    我们主张 “单字库工作”,即在同一字库内解决所有包括搜索、替换、修改的工作,而不是通过另一个字库(譬如样本字库)编辑该字库(尽管我们不拒绝双字库操作,但不提倡,相关操作内容近似,解释从略)。
“替换底本”有两个目的:一,校对样本数据库是否被正确写入;二,将样本导入到底本中。
    初次使用导入功能,因为需要对置入的字库进行校对,建议使用笔画对笔画的导入方式。建议不要使用“原始替换”,因其从率均为0,意即该字按照原始状态替换底本字。这种替换方式适合笔画ID经校对准确无误者。
    当不勾选“原始替换”,程序即为采用“笔画对笔画”的替换方式。完成后,可通过“大盘显示”检查所有字符是否与底本同顺序地写进了数据库并对接到了正确的ID。如果某字符呈现出混乱状态,那么显然该字笔画和底本笔画不在同一位置上,所以,该字与底本数据库必然错序。打开样本字s2a,“查找zi段”找到该字,右键显示该字,重写数据库。
    这种错误往往一遍不能清除干净,需要经过反复“替换底本”才行。务必达到0错误才算ok。
    对于小字库,该操作同样必不可少。小字库字数虽然少一点,但都是生成新字库的种子,马虎不得。

部件提取
    当样本字库对接数据库成功完毕,或打开一个对接好数据库的字符编辑完毕,请进行一次“部件提取”。因为其中会包含很多其他字中需用的部件。将这些部件提取出存好,可供拼合它字之用。
    当然,还有一种情况就是,你对你所操作过的字非常了解,对于那些已经做过部件提取的字,当然不必费心反复提取。例如,字库的部首已经替换过了,在替换偏旁时,如该部件已经存在,那再做部件提取的意义就不大了。
    按下部件提取按钮(对整个字库: ;在字符编辑窗口对单个字: )之后,程序会跳出一个对话框向你询问:程序所发现的某字的某部件,是否需要将已经存在的该部件覆盖掉?请你判断。如果你认为该部件已经完美,可以代表该部件进行全局使用,那么请按下“是的,保存,跳过以后的”。这样程序将保存该部件,并对以后所感知的该部件不再询问,一律跳过。如果你认为该部件不完美,不能代表该部件进行全局使用,点击“不,下次见到还要选择”,那么当下次遇到该部件的时候,程序仍旧要求你挑选,直到你选到满意或提取不到为止。如图:

                              

使用该部件吗?看了跳出来的图像,以你对该字库的了解,如果认为该部件可以代表该字库的该部件而应用于所有字,点按YES,代表同意,可以将其作为一个部件放到部件库里备用,但是还要观察挑选其他的。点按Cancel,不要;点按Yes toAll,代表你已经确定使用它,后边再出现的则不再要了。程序会自动忽略掉后边相同的的部件。点按Apply,是由程序自动进行的意思。程序当然不大会挑,只会从0字段至3字段逐段提取它遇到的第一个。如果你需要中断该工作,点按Close即可。

关于小字库
    什么是“小字库”。顾名思义,小字库当然是字符比较少的字库。但多少个字符算作“少”?似乎不可能也不应当有固定模式。现在某些造字库的,以为要求人们设计某三五百字后,即可拆解组合全套汉字,其实这是10多年前的日本技术。众所周知,日本人研究汉学历来剑走偏锋,鲜见正果。从拓扑学看,上述方法似乎没错,但从书法角度、从字体设计角度来看就大错特错了。时装模特,衣着光鲜,仪态万方,首先是因为她穿得恰当得体。如果不加区别地衣袜鞋帽裤衩背心浑身乱用,再好也是叫花子。再者,无论多少字,只要风格肯定明确即为好作品。为什么要固定的某些字?古往今来,只有百十个字的好作品,N多,咋办?不要啦?多于三五百字的古印本又咋办?也无用啦?没道理嘛。《朱信造字》不特定字符集。字数太少固然不完美,但通过本程序同样能造出一款完整的字体。多了更好,拆解后可最大限度地利用原创意图。我们一直认为,从本质上讲,字体设计和书法一样,永远是属于艺术家个人创作的领域。以为自己搞个程序就能替代书法家,无异于痴人说梦。《朱信造字》就是要把属于字体设计师的字库设计还给字体设计师。
    此外,对于小字库我们还要要注意:部件提取中会有相当一部分(大约1 / 3)部件是字库字本身(GBK字符集)。所以,如果是对字库(无论是全套字符的底本字库还是只有个别样本字的小字库)第一次做这个工作,首先应将所有字的三态值置为“3”(写保护)。而在第一次之后再做部件提取,对于字本身部分,保险一点,还是应当跳过,但是对于纯粹用于组字的部件部分,由于每次取得的形状不同(譬如会有长有扁),应视以后的使用情况(适用部位)而定。譬如你保存了左右结构状态下产生的部件,如果先进行左右结构的应用,自然省心省力。但如果用在上下结构,就得重新设计。当然,如果你既没把握又想图省事,Yes to all为宜,因为以后用到的时候还可以临时编辑那些或许你可能不够满意的。
    还有一点值得注意。因为本程序的数据库是根据GBK编制的,所以,可复用部件中含有GBK正字(即unicode编码在4e00~9fa5)的可能性很大。做完部件提取之后,尤其是对小字库做完部件提取之后,要细心观察小字库中有无GBK正字。方法1:在数据库界面里copy该字,打开word,粘贴,选中,按Alt+X键,其unicode编码立现。该编码为4个16进制数,如在4e00~9fa5之间,则为GBK正字。如E打头,则不是。方法2:打开一个GBK字符集的txt文档,Ctl+f,搜索copy出来的字,如果没有,则为非GBK正字。如果未加编辑地导进了底本,不仅将来作为正字不合格,复用时也得注意再编辑。应当承认,这些字中带有作者最丰富的创作意图。所以,在对小字库做完部件提取之后,应当显示大盘,检视并修改每个提取的部件,对GBK正字直接编辑好后再导入底本。
  对于一个只有一两百字的小字库,如果第一遍未能提取出所有笔画,可再进行一遍。一般地,如果是做GBK(20902)的部件提取,根据计算,当第3个字段的部件提取完毕之后,所有部件就基本上都提取完毕了,不必等到程序给出“提取完毕”的终止对话框即也可强行终止,否则会再多跑上很长时间。程序做到取前4个字段是因为需要针对小字库。由于《朱信造字》是不需要特定样本字的。为了彻底提取有限样本字中的所有部件和笔画,对于样本字较少的小字库甚至需要跑两遍(即做完一次部件提取之后,检视,满意,三态值置为3,再做一遍),直至所有的笔画都提出来。

搜索替换
    通过数据库,对ttf进行查找、搜索、替换,这是本程序的主要内容。下面详细介绍该过程:
1 搜索,先将拟替换用的部件打开显示(以便读入内存)
    先“查找”,在数据库中选中该字,右键点击显示该字(正常的显示样式:笔画中间应当带有骨干线)。
如果你记得你样本中有哪些字,或者你也可以建立一个样本字的txt文档。Copy或直接在查找对话框中输入一个字,进行查找。(请注意,由于该对话框和过滤对话框都属“无模式对话框”,在程序其他操作过程中不用关闭。)
    值得注意的是:在汉字中,有相当部分的字,其本身也是组成其他字的“部件”。这些字作为独立字时是一种样子,但是作为部件使用的时候则呈现出另一种被压缩变形的状态。所以,如果你准备拿它作为一个部件使用的时候,应当视其所处的位置进行适当变形的编辑处理。例如要替换与“中”相关的字(“种钟忠盅肿仲”…等等), “中”字打开之后,就需要根据你所需要安放的位置进行变形编辑。编辑好后,即可放置不管(不要关闭)。
2 过滤
    程序跳出对话框如图:
                                  一般地,大家都是需要在0字段搜索相关的部件(根据你的需要)。在“0”处填写上你所要搜索的部件(如果打不出来,可以使用copy粘贴的方式),然后“确认”。注意,如果你希望一次打开该s2a进行多个部件的搜索替换,该对话框和“查找”对话框都可以保持而不要每次都关闭。这样使用起来可免除反复打开关闭的麻烦,便捷一点。
    所谓“0”字段,指的是该字第一次分解;“0w”指的是第一次分解的该部件所处的位置。1w、1;2w、2…都是相同含义。考虑到程序的复杂性和可用范围,4~9字段放弃了(即你只能在0~3段之内进行搜索、替换)。
这些固定段搜索的应用可以比较容易地从字库中挑出你所需要的部件(包括部件中的部件)。这对于某种特殊处理相当有好处。例如,你想对曾头点做对偶形状的处理。除了你可以在样本设计的时候将带有曾头点的部件直接设计成为对偶形状之外,考虑到该部件属于广泛性分布,所以,你也可以从这些字段直接将其搜出来,替换掉。
    搜索完毕之后,请:1,观察搜索出来的字的部件是否都是自己所准备替换的字的部件(如果对部件位置有要求,应当在搜索框中添加条件继续搜);2,根据自己的造字经验,预估一下修改的部件在替换后的状况。3,如果符合条件,就可以点击“替换”进行替换了。这时,程序会跳出一个从率参数定义表。
3 点击“替换”,选取替换方式和“从率”
    所谓“从率”,指的是样本替换底本时,样本对底本的服从比率。

                              
    在刚开始操作,由样本导入底本时,有一个“原始替换”的选项。如果选中该选项,则说明你准备把你的样本一丝不改地导入到底本中。这个的速度应当是比较快的。但该选项在搜索替换中并不存在。
    在搜索、替换中,替换只有两种,第一种是 “笔画替换”,即一笔替一笔,位置、角度、肥瘦、长短等等,皆由你来定义,缺省为100%从底本。
    另一种模式是 “块替换”,即以块(以笔画矩形区,两笔以上则是组合的矩形区)方式进行替换。样本块的矩形区和底本块的矩形区根据你对该替换的需要,设定“粗度”(即宽度)和长度的服从比率。缺省亦为100%从底本。
    从底本者,就是样本变化如同底本的上述参数。所以说,选择一个和所制作的样本相近似的底本很重要!从样本是什么样子?由于各自的样本设计情况千差万别,什么情况,只有自己试一试才知道。
    点击确定后,程序即按照所选定的从率,逐字进行该部件的替换。如果选出来的字比较多(例如有几百个),替换可能得需要一段时间。
4 用好给定的过滤条件,将搜索出来的部件替换
    举例来说,带“中”的字的部件中,绝大多数都在“右”边,但也有在“上”边的(如“盅、忠”等)。很显然,如果用一个居“右”的中来替换居“上”的中,造型必然不对。所以,搜索时就一定要给出“字位(w)”的条件, 0=中;0w=“右”。即,搜索一次“中”还要加上“右”这个条件。这样就能准确地得到相同位置、相同部件的字,统一替换,可确保质量(同时也就可以达到后期最小程度地进行修改,甚至不改)。
5 替换后的检查和修改
    替换完毕之后,在数据库界面右键,点击“大盘显示”,用以观察本次替换的总体效果。当然也可以逐字打开来观察修改,用以最终确定该字(关闭窗口时注意保存该字,否则等于放弃修改)。
作为造字人,你应当具备将样本偏旁拼合到底本后,对将来另一半拼合进来会是什么情况有一个大致的判断。无论是谁,也无论使用什么程序(方法)现在的汉字造字还都是在“替换”(只是速度、质量、便捷程度不同罢了)。对于美术字来说,一般如果位置选择得当,拼合后产生的误差不会太大,后续所需的编辑工作也会节约很多。
    这之中有一个问题需要随时注意。就是当你对替换一半的字进行某种调整并保存了该字的ttf后。该字的三态值都被置为3。该字亦被视为样本。而实际上,这个字才完成了一半。此后如做部件提取,该部分也要求加入到部件库中;核准后,搜索部件时,该部件也会被当作好部件使用。对此,我们建议的处理方法是:1,找一个结构上合乎要求的底本是确保替换的前提条件;2,在一次替换时,一般只替换、检视,不修改;3,只有在第二次(也就是最后那次)替换的时候,进行精修。这样,一则可以减轻劳动量,二则加快速度,三则避免了上述问题。
6 关闭样本字
    别忘了,你打开的那个部件编辑窗口还开着呢!一般地,无论这是一个别的地方用不到的部件还是一个已经存在的“字”本身,由于在前边的使用中只是“配合”性改变。对于该部件本身而言,即便下一次或许在别的地方还有机会用到,但也还会是配合性的临时改变造型,而这种临时变化一般用不着保存。所以,关闭该窗口时,程序提醒你保存变化,但你不要保存该变化。

                              
    值得注意的是,这和检视大盘,编辑那些已经替换完成并确定了的字不一样。那些字或许不必再进行“部件提取”,但如果你对其进行了任何编辑,则需要保存变化。
7 关于替换字符的三态值
    对于搜索替换下来的字符,被替换的部分,三态值为2,未被替换的部分,三态值仍旧为1。这种在一个字内三态值不同的情况说明,该字仅被替换过一半,并且未被编辑过。一般认为,如果底本选择得当(就算不十分恰当,但对操作十分了解)的话,这种搜索替换所产生的半个旁首的位置和大小都不会产生重大的带有影响整个字体风格的变化。所以我们一般建议:尽管可能你对每次搜索替换过后都不大放心,都需要检视大盘,但如没有重大不满,一般用不着打开编辑修改。尤其是那些习惯于先替换部首,后替换偏旁的使用者。打开编辑窗口进行编辑修改,最好是在第二部分替换完成,形成完整字之后再进行。这样不仅省时省力,也方便操作。
    还有一点值得注意:在搜索过滤中出现的三态值为3的,无论是什么,该笔画(或部件)不被替换。因为它一定是你在小字库中修改过的或在底本字库中已经修改好了的字。如果你确实需要对某些三态值为3的字进行替换,也可以直接在数据库界面操作中,将其三态值置为1。
8 关于一般字库创作过程的建议
    我们一直强调,汉字一般是有两个部分组成。所以,在替换的时候就产生了两种不同的次序,一是先替换部首,像亻、氵、扌、钅、纟等等,这些部首,作为造字部件,一般在起稿的时候就都应具备了,且笔画少,重复(覆盖)率高、位置变化少、所需后续调谐也会比较少等等,可以率先完成。由于是程序过滤操作,用时也不会太多。这样在以后制作或替换其他部分时,一下这个字就完成了,也方便打开编辑、提取部件、保存等等操作。我们一般建议大家这样做,比较合乎我们前面推荐的创作方法。
    根据我们用数据库进行的精确统计:一个有20902个汉字的GBK大字库,一级分解后得到4384个部件,如果用出现频度在50次以上的部件替换,即可将全部20902个汉字的半边替换一遍,而使用频度在50次以上的部件只有111个。这也就是说,做搜索替换的动作一百多次,一个20902个汉字的大字库就已经换了半边(这对于能熟练使用本程序的人来说,恐怕也就是半天的工作量!)。当然,换另半边会需要较长时间,但足见这种方法便捷可行。至于这111个部件究竟是哪些?我们会另文将所有部件从头到尾全部呈现,供你参考。
    当然也还有另一种方法,先做一个部首,替换好后,在其中挑一个,制作其偏旁,再行替换…如此交替进行,就像走路,一左一右,信马由缰。
9 更为简便的造字方法
    大家都知道,汉字分为“真草吏篆”,其中楷书在结构上的变化并不很大。体现出汉字不同风格的,主要还是汉字的点画间的下笔驻笔。况且,程序本身也带有控制点和笔画的编辑功能,所以,你完全可以在一个已经制作好了的底本上直接修改相关的偏旁部首。改好后保存,部件提取,搜索替换,从而创作一款新字库。
    对于那些没有做过“部件提取”的s2a,可直接从0字段选该字,在需要编辑的旁首上右键打开该字。此时正常显示状态为,选中部首的笔画呈现骨干线描述,而另半截则没有。适当编辑有骨干线的部分,然后搜索替换即可。注意,此时由于带有骨干线的部分也在其中,所以也被替换(如果在zi段选择,则非此情况)。状如右图:

                              
    值得注意的是,采用这种方法进行替换,所编辑修改的必须是数据库过滤出来的一个字。如果不是第一个字,数据库采样会发生混乱,替换出来的字也就全毁了。当发生这种情的时候,一定要注意:不要保存。关闭程序,再次打开,字库还会呈现出上次保存的样子。与此同时也要注意随时跟进保存每次成功的替换。

编辑字符
    点编辑状态。如同一般的字库编辑程序一样,可以拖拽、移动等等。右键(如图)可以增加点、删除点、在线点改离线点,离线点改在线点。
笔画编辑。可以上下左右的移动旋转加肥减瘦等等。为了编辑方便,本程序为这些操作特设了一些快捷键,你可以右手用鼠标点选所需编辑的笔画,左手通过点按快捷键直接实现编辑的目的。各快捷键所对应的编辑功能如下所示:

                              
    E:上;C:下;S:左;F:右;
    D:比例缩小;V:比例放大;
    W:逆时针旋转;R:顺时针旋转;
    Q:Y轴纵向压缩(变短);A:Y轴纵向放大(变长);Z:X轴水平压缩(变瘦);X:水平放大(变肥)。
    为保证编辑的精确性,给定的编辑步长比较小,如需大幅度调整,可以按住快捷键持续一段时间。
    加肥、减瘦、拉长、缩短都是根据骨干线位置安排的。注意,不可编辑骨干线。

关于字面和底纹框的设置
    字面大小和底纹框线铺设在字符图像下面,作为是字符编辑尺度的参考依据。
    底纹框线可以根据需要设置。这之中涉及几个概念:

  1. em方阵。这里的em方阵和Fontcreator或Fontlab中的em方阵是同一个概念。在排版中,一个字的宽度就是这个字的em宽度。
  2. 字面框线。什么是“字面”?字面指是汉字的实际大小。汉字没有西文那种带有相互交叉色彩的排版需求(美术设计另议)。恰恰相反,所有汉字都使用同一个em。em大于汉字字面。排版时,尽管两个ttf汉字(em与em之间)紧密相连,但由于汉字字面与em之间有空隙,所以在缺省状态下,汉字之间留有空隙。这个空隙,就是字面与em之间的距离。所有的汉字字面都小于em,所以,字面框线可自定义为em的x%。
  3. 格线,汉字在字面框线之内安排,具体参数可通过格线得知。格线设置可作为设计汉字部件位置设计的参考。格线缺省设置为字面的10%(即字面内有纵横10个格子)。如果你不想要格线,可将格线设为100%;当然,如果你只想要田字格,格线可设置为50%;如果想要九宫格,格线可设为33%;如此等等。程序对你的设置有一次性的记忆功能。设置好底纹参数,下次启动,程序会记得你这次的设置并显示之。该记忆功能只有一次,如果你修改了,下次呈现出来的就是你修改了的格线状态了。

                              

自动拼合
    自动拼合是通过已经造出来并经过了部件提取的字的部件,自动拼合成为一个新字。该功能只在字符编辑窗口才有,只对单字有效。
    当你检视大盘,发现有未造的字符,点击进入该字符的编辑窗口。观察数据库窗口右边的“9”字段栏,如果该字在“9”字段全部为“1”的时候,说明该字是一个底本字,未经过制作。对于这种字,可以直接点击“自动拼合”,程序将最大限度地利用已有的高级别部件拼合此字。很显然,这只是一种减轻了搜索、copy、粘贴等繁琐工作的自动化操作,当然可能会不大理想,需要你对该字进行编辑。
    值得注意的是,等编辑好后,切勿忘记保存,并进行一次“部件提取”,将本字编辑的最新成果分解部件并加入其中,以便拼合其他字时会用到。由于加入到了s2a中,数据库数据库可能也发生了改变。所以在数据库界面上也勿忘保存一下。

Copy和粘贴
    自己做的样本,自己当然更加熟悉。所以,不排除人们更希望直接打开自己编辑的字,直接从中copy出某些笔画或部件,直接应用于新字的编辑之中。本程序支持单笔画对单笔画的对拷,也支持部件对部件的对拷。但是,无论是哪种情况,都需要在选中的该笔或该部件上右键打开该字。这时候该笔或该部件是带有骨干线的,说明该笔或该部件已经被copy进入剪贴板。被粘贴的笔画或部件也如是。此后才是如下具体操作方法:

  1. 打开样本和底本。
  2. 在样本中选择相关的笔画,copy(Ctl+c)。
  3. 在底本中选择数字相同且顺序连续的笔画,粘贴(Ctl+v)。

别忘了:

  1. 调谐修改后,保存ttf(Ctl+s)。
  2. 如果需要,做一下部件提取

关于异系字符集的转换操作(繁简互转)
    这里所说的“同系”或“异系”指的是繁简字符 的体系。
    同系字符集,由于样本小于底本,有或没有的部件一清二楚。
    但是在人们使用本程序的时候,可能会经常遇到的另一种情况就是:自己已经有了一个简体字(样本小字库或6763)欲将其转换为繁体(Big5,13655),(或反过来,繁转简)——使用《朱信造字》可以办到吗?
    首先,我们得搞明白,其实,GBK(20902个汉字)基本上就是简体+繁体+异体字+港澳日韩等汉文化圈国家地区用字组成的。其中,绝大部分为繁简字体所占。所以说,如果你有一个完整的简体(6763)想转为繁体(Big513655),最便捷的方法就是将其导入到GBK的s2a里,利用样本的部件,把GBK做全,异系自然转换过来了。(如果你还想将异系字符删除掉,那得另行处理,是另一番功夫。在ttf中直接比照本系字符进行删除即可)
    这之中方便的是相同部件的那一部分。你可能只需要做一些繁简不同的部首,搜索替换即可。
    如果你只有一个繁体字的小字库(不完整),想制作全套6763(简体),(当然不想做Big5的繁体字集!)。简便的方法是,把你的小字符集做好部件提取,将其导入到已经做过部件提取的6763的s2a中,然后制作6763即可。
    同理,其他互异的字符集也可以用这个方法进行操作。关键是做好样本字的部件提取工作。建议最好不要用自动方式,而是一个一个地手动拾取。实际上程序对该字符集的分解工作也会按照数据库的顺序进行。因此,你在检索一个什么样的部件,通过打开另一个6763字符集的s2a,可以随时观察得到。
    当然,使用copy、粘贴的方式也可以达到目的:同时打开两个字符集的s2a,逐个找到两个字符集中相同的部件,copy,然后转到另一个s2a里,粘贴。试操作一下就会明白,这样做实际上增加了工作量(就增加在copy粘贴上),也更费时。这种方法比较适用于只有三五个字的超小的字符集。因为字符集太小了,有什么部件心里一清二楚,没必要做部件提取,直接copy粘贴可能会更方便一点(很多时候可能仅是单笔处理)。

保存ttf
    一个字符在编辑窗口编辑完毕之后,直接点击“保存ttf”图标,或在数据库界面中右键点击保存s2a,该字的编辑图像都被保存。值得注意的是,在搜索替换部件的时候,某些字(或部件)需要根据替换位置进行某种编辑。在这种编辑完毕之后,曲线已经进入内存,但是并未保存到ttf之中。如果你不准备以这种部件模式保存为该字,那就请不予保存。这样尽管“替换”动作使用了该字的编辑状态,但并没有被保存为该状态。当然,如果该部件需要有上下左右多种状态且每种都不同,那就必须分门别类地进行搜索替换了(这个很重要)。

                              

保存s2a
    在数据库界面,空格处右键下移点击“完成”,s2a即被保存(保存s2a即等于保存了ttf)。说实话,我们也担心程序不稳定,说不准啥情况下罢工了。所以,如果方便,还请多保存几次s2a为宜。至少不会出什么错误。如图:

                              

关于“大盘显示”检视大盘和检视搜索字符
    所谓“大盘显示”,指的是对当前编辑状态的所有字的显示。
    根据我们ttf对接数据库进行搜索替换的操作特点,每次搜索过后,都可以将搜索结果直接通过大盘显示来。当然,替换后也一样可以随时显示出来。
    相信大家都用过各种字库编辑程序。这些程序往往都是打开即显示所有字符,也就是我们所谓的“大盘”。显示大盘对于成熟的造字程序来说不是一个问题,但我们这还不成熟。我们的情况是,由于数据库的介入,内存管理有点问题,所以暂时每次只能显示500字(否则会比较慢)。
    你既可以一屏一屏地检视字符,也可以通过“查找”,搜索字符。搜到该字符后,右键点击大盘显示,直接显示与该字符相连的前后字符。
    你还可以通过打开txt文档,以txt文档顺序显示字符。即输入一段txt文档,直接可以由大盘显示出来。这样可以方便地观察和调谐字体的行气,发现有大小、粗细、重心、动态等不够理想的字,进行调谐。

关于三态值(设置和作用)
    所谓“三态值”是这样一种概念:1为底本字(未造字);2为替换过的字或部件(字的一部分);3则是样本字和编辑过的字。
    在做部件提取之前,请做好三态值的设置工作。其含义为:你自己的样本小字库都是经过精心设计过的,当然不应被分解成部件级别的相同字所替代。所以,应事先将三态值置为“3”,再行部件提取。
    做完部件提取后,应当检视或编辑一遍。认为一切都合格了才好导入底本。
    将样本导入底本前,底本的三态值应置为“1”。样本字导入底本后,样本字(包括部件,且无论其在样本s2a中的三态值为何)三态值都被冠为“3”,说明该部件是固定的,不再需要修改或替换。
    在底本中搜索替换后,字被替换部分的三态值为“2”,说明这是一个替换且未经修改的字。如果此时释放过滤,那么下次搜索替的时遇到该部件(或部分),还要被替换(保证对已替换部件再次批量修改的可能)。所以,在搜索替换时应随时观察。我们应当首先保证低次分解组合的整体性,不要重复劳动。此后再精雕细琢地修改细节。
    替换完毕,在未“显示全部”(释放过滤)前,右键“显示大盘”,可以通过大盘观察所有替换了一半的字。“显示全部”后,找到该字,可见其三态值一半为“1”,另一半为“2”。
    请大家注意对此时对这种类型的字的处理。有两种方法。一,在未“显示全部”之前,仅只观察一下替换了一半的字,如果认为问题不大,可以不予修改,等另一半替换完毕之后再行统一修改。二,打开该字,直接修改未被替换的部分(如果确认该部件没有样本),保存并做一次部件提取,继而“显示全部”之后,再行搜索替换,将所有该部件的字都替换掉。
    大家都知道,汉字库都是大字符集,最小也有6763个汉字。当你的字库绝大部分已经完成后,要想寻找极个别的未造的字,可在9字段寻找三态值为1的字。
    如果在检视数据库的时候,发现所有的字的三态值都为“3”或“2”了,说明该字库已经完成。可以通过大盘检视予以确认。
    无论是大字库还是小字库,也无论其原来三态值为何,合并到底本之后,其三态值都被修改为3,表明该字为成熟的样本字。

导出s2a成为ttf
    为保护我们作为程序开发人的利益,现s2a导出为ttf的工作,《朱信造字》程序本身暂无此功能,你须将你编辑好的s2a文件,通过qq传给我们(QQ号:496461618或Email:496461618@qq.com),付费后,由我们导出为ttf。我们在此郑重声明:对您的s2a文件负责,我们绝不以任何方式泄露出去,如有违反,愿负法律责任。您尽可放心(如不放心,可签合同)。而且我们承诺,将来在适当的时候,本造字程序的所有功能(包括数据库、s2a制作、s2a解密等)都将予以公开。程序升级也将向后兼容的。
    建议大家考虑这样一个问题:我们要ttf文件做什么用?ttf是用于排版印刷的,而不适于字体设计。如果你仅仅为了字体设计看样方便,其实大可不必导出为ttf。存着自己的s2a,既保险也不耽误随时观察。所以,建议您应当在有了可靠的销售对象之后再行导出(抑或甚至就让购买人去导出)。
    对于那些自己创作的字库。自己应当保护好,不要轻易地将s2a泄露出去。由于程序刚刚推出,s2a底本很少。对于那些希望与别人共享s2a底本的,我们还是持赞成态度的。谁愿意与大家共享结构不同于宋、楷、黑、仿s2a底本者,我们愿意免费为其导出s2a。当然,你的s2a得是正常可用的那种。我们会检验的!
    导出的ttf是纯汉字,不带任何英文、阿拉伯数字、标点符号等等。前文也说过,大家都是专家,还是自行配置英文(大小写)、阿拉伯数字、各种标点、甚至日文、俄文以及各种制表符等等为好,因为这些零七八碎的东西往往须和整套汉字相配,且并非规定项目。
    导出的ttf也是笔笔断的。如需要,我们可免费为你做“击穿”(移除交叠),使ttf交叠的笔画连通。
    考虑到有人可能十分介意我们过手导出其设计,我们也可采用上门服务的形式。非北京的客户,我们可定期(事先联系)到你处,当着你的面,在你的计算机上为你导出ttf,这样放心了吧?但交通食宿费用另议。

 

名词解释