《字体库制作的方法和流程.doc》由会员分享,可在线阅读,更多相关《字体库制作的方法和流程.doc(6页珍藏版)》请在金锄头文库上搜索。
1、字体库制作的方法和流程利用现有程序进行字库制作如果你是专业字体设计师,那么你一定有过制作一套属于自己的全新的中文字库之梦。但是,毕竟中文字库属大字符集(当然是或大于6763个字符的字库),个人想徒手直接设计一整套中文字体谈何容易!其繁复程度足以使任何人却步。但是,当今世界上图形图像程序软件已经如此发达,难道没有什么办法利用现在已有的通用软件,将复杂的工作简化,使设计师自己可以独立完成这一艰巨的工作的吗?本文就时装字体的设计经验,介绍一种相对简单的方法,帮你完成的心愿。这种方法的意义在于能够使得字体设计工作化繁为简。 大前提:如果你仅仅是为了设计新字样或仅只几个字,那么研读本文对你没多大帮助。本
2、文并不介绍新字样的设计。本文是帮你在已产生了字体设计的设想之后,如何利用已有资源、不花费太大力气地将整个字库(6763汉字或更多,如欲英文、数字、标点一起处理的话,包括进来即可)制作出来。因此,你必须会使用图形处理的通用软件,这包括:PhotoShop、Illustrator、CorelDRAW(考虑到字库制作的特殊性,应当以矢量软件为主)。什么程度算是“会使用”?本文是在介绍字库设计方法,不是软件教学,所以,软件使用方法点到为止。如果不能看明白,说明你还不会熟练使用,即请自行加强研究。这样做的主要目的是为了在尽量短的文字里多介绍具体方法的关键之处。 关于硬件要求。说起来似乎可笑:介绍软件应用
3、的文章,说什么硬件要求?!尽管如此,还是想说说:CPU当然越快越好,硬盘也是越快越大越好。硬盘设定提醒:最好把Windows的临时文档和应用图形图像软件的临时文档不要放到同一分区上,找一个空(没有存放任何文件)的分区更好,另放一张空的物理硬盘最好。如有条件,专门软件可做一个内存虚拟的硬盘,把那些需要倒来倒去的文件放在上面,速度会快不少。关键是内存一定要大。会使用PS的人都知道,如果图大,内存又不很充足的话,PS的某些特效是不能使用的。Illustrator有过之而无不及。即便内存足够充分,也会经常出现out of memory的要求放弃选框。我们最好不要让它出现。内存越大越好。最小1G。为什么
4、要这么强调计算机的物理指标?因为我们希望一次性地将GB2312里面的6763个字符处理完毕,这样才可以达到简化字符操作之目的。所以我们最好把所有文字放在一个文件里。在建立文件的时候,如果有可能,当然建立一个包含6763个汉字的文档。这样才能在以后动作时不必反复操作。这时就看出机器物理指标的重要性了。如果你一时无法满足要求,那么就只好退而求其次,将6763个字分割成为几块,分块处理,也没什么别的,就是麻烦点。 具体方法 1. 启动PS,将现有字体按照需要排列在一起,位图化。注意:1,字与字之间留有足够的空隙,以免在分割字符的时候相互影响。2,字要足够大,一般应当在10cm10cm以上,否则矢量化
5、的时候,精密程度会受影响。 2. 按照事先的设想,对每一个字的位图笔画进行分层划分,一层一种笔画。例如1层,丶;2层,一;3层,丨;4层,丿;5层.汉字所有不同的笔画加在一起,大概在4050之间,应当不会超过255个,PS最多能够接受255层,满足一般的设计要求应当没有问题。或许有人会问:如果超过255怎么办?也好办,再Copy一份即可。注意事项:1,汉字笔画种类虽然不多,但同一种笔画,有长短之分。不同长短之间,不同的字体设计,往往会有不同的处理方式,若相互混淆,就不美妙了。所以,在分层之初,先要做好样本测试。不要上来就干,否则事倍功半。 3. 启动CorelDRAW Trace,对分层的位图
6、进行中心矢量化。保存成为矢量文件,譬如wmf文档。 4. 同样地,再在矢量软件(我用的是Illustrator)里建起一张分层的矢量图,将所有的矢量化的图形分层堆叠在一起。当然得有所调整,否则对不齐。 5. 针对不同的层(笔画),用矢量软件的填充功能(一般矢量软件都有这种功能)进行填充。 6. 利用各种“笔刷”、“画笔”填充之后,你几乎可以得到这种结构字体除了结构变化之外的所有变化。当然,如果你水平高,或许也能填充出结构有所改观的字体来(不可能脱胎换骨。但是如果想找到原字体,大概连影子也看不到了)。 该方法总的来说应当仅仅是一个思路。具体操作起来可以有各种变通。譬如使用CorelDRAW比较熟
7、练的朋友,从CorelDRAW就可以完成这个工作。使用FreiHand比较熟练的朋友,使用FreeHand也可以单独完成这个工作。完成之后,如果需要转换成为AI格式的文档,另存转换一下就可以了。当然也可以直接转换为BMP位图。 FontLAB可以接受Ai的剪贴板,如果你在Illustrator里面制作的话,直接使用拷贝粘贴的方法就可以创作一个全新的字库了。直接使用Illustraor Copy&Past到FontLAB里面的好处是你设计的画笔的节点就是FontLAB里面的二阶控制点。这样所Copy出来的字库本身就是一个精密字库。关于精密字库和率意字库之区别,请参阅“提高字库质量”一文。 如果你
8、没有人力,还也希望快速得到这个字体字库,那就只有找做字网了。我们可以快速帮助你完成这个工作。但是我们的这个服务是收费的。当然,速度快,且收费价格低廉。 这里,我们提供一种我们已经制作好了的、包含6763个汉字和一般常用英文、数字、标点的Illustrator的AI格式的文件。文件尽管还有各种毛病,但是基本够用。如果你有兴趣,可以下载之后自己试一试。选结构 制作这种字体,首先需要确定的是你需要以一种什么样的字体结构创作你的新字。因为基于这种字体的结构,你将不止制作一个字库,而是将反复使用多次。所以,你对结构基础用字应当慎之又慎。因为你还需要对这个字体下大功夫处理,一旦感觉得不好,想换,可以,但你
9、以前的劳动就白费了。所以说要慎之又慎。 结构的变化更具有视觉的基本性。所以,理论上讲,只有达到了结构变形,整个字体才真的改变了。但是怎样才能够达到结构的变化呢?大至以下几种方法可供参考: 1,两字叠加法。找到两种字体,用和两种字体的结构进行叠加,从而达到创建一种新的字体结构的目的。该方法尽管理论可行,但是找到两种可以叠加的字体并不容易。因为你想叠加的字体往往参差不齐,如何修理这种参差不齐就成为该方法成败的关键。因为不是仅仅能修就可以了,而且得相对省事才行,否则过于繁琐,等于不能做。具体方法如下:A,找到两种笔画结构基本相近的字形;B,按照统一的格式进行排版,并且保证各笔画可以相互叠加到一起。C
10、,叠加后的字形必然是参差不齐的,可用橡皮进行涂擦。D,如果嫌该涂擦过程过于繁琐,可以先行中心矢量化,转而将矢量文件导入PS,用画笔填充后,转为位图,再涂擦,这样可以稍微省事一些,不过基本的劳动还是得付出的。 2,不论是在PS里面还是Illustrator里面,都有“变形”工具,可以利用它进行字体结构的变化。当然,最好这种变化是和笔画的设计结合起来的。否则过于简单机械,意思不大。具体方法是:先排版,解散群组,然后变形处理。注意,中心矢量化之后是不能够进行变形的。因为矢量化之后的图像本来就没有群组,如果变形,都是单独笔画自己在变形,也应当属于后果不可预料和控制一类。3,从一个字库的结构走向另一个字
11、库的结构。还有一种创新字体结构的方法,就是从一种字体结构出发,利用笔画填充的技巧,令该字库的结构发生某种(应当说是微量)变化,然后将新字文件轮廓化之后,导成位图,再矢量化,如此反复,可令字体结构发生变化。如果你手段高明,别人或许还以为你新创作了一种字体结构。只是这种结构控制的方法比较繁琐,况且,每次都得分割笔画,投入也比较大。分块处理由于机器内存太小或软件不支持等等,很有可能在程序里不能够一次性完成6763个汉字字符的处理。这时只有分块处理。 根据我们的经验,比较方便的是将文字排列为正方形,这样有利于后期的对齐和分割测量工作。刚开始需要建立位图,位图的占地面积应当充足地大。否则会影响精密度。关
12、于如何分块 这是一个分块的技巧问题。 1, 分成方块,而不是长方形块。务必注意字间距和行间距;间距最好大一些,给后期处理留下一个方便的空间。否则悔之晚矣。 2, 在程序能够接受的范围内,尽量少分。能少分一块,就少分一块,使用时就减少一次麻烦,劳动强度也会减少一些。也许有人会问,我使用ATN,多一块与少一块有什么区别?有区别。因为我们的这种对字体的处理方法是基于Illustrator等矢量图形处理软件的。而ATN在Illustrator里面从来都不像是在PS里面一样好用。否则我们就会发布单字符的AI文件。譬如针对PS,我们就有相对的单字文件集。 3, 最好把常用字和非常用字分开处理。因为有可能你
13、会认为一次处理6763个字太麻烦,从而希望先少处理一些,看看效果以后再说,有了这种区分,就比较好处理了。否则将难以为继。 4, 最好按照笔画数排序(Access里面可以进行)后再分块处理。不同的笔画数的填充可能会有所变化。譬如少笔画数的字的笔画填充可能需要粗一些的图案,而多笔画的字的笔画填充,笔画就得相应变细一些。有了笔画数的区分,你的处理就会方便很多。 5, 英文大小写、阿拉伯数字、标点符号这些部分应当单独作为一块进行处理。因为这些东西和中文字没什么关系,也没有笔画对应的必然性。 关于字符处理数和排版形状 我们现在绝大多数大陆的书报刊市场使用GB2312标准的字库。GB2312内有6763个
14、简体中文字字符。能不能处理更大的字符集?当然可以,只是更麻烦罢了。其实GB2312就已经够用。如果是在一个小范围内使用的话,仅处理GB2312内的常用字3755个汉字字符也可以够用。处理3755的好处当然是更加简单方便。 为什么一定要正方形?主要是考虑到后期对字库进行处理时,需要对字符进行分割,在对位图进行百分比划分时,正方形易于使用PS的网格参考线对齐。如果不是正方形就会十分麻烦。此外,使用正方形也容易估测字间距与行间距。当然,如果你用不到这些,也就无所谓是否正方形了。 对于6763汉字,如果作为一块正方形处理,就应当是83行83列,略有余数;如果分为10块,大致是26行26列。如果只处理3
15、755个常用字,也须以正方形对行列进行开平方计算处理。文字制作技巧不分层行不行? 有人为了省事,希望直接用现成的字体进行填充。当然可以实现,只不过由于中心矢量化是程序自动进行的,在其过程中无法进行人工干涉,而程序进行的结果会在所有笔画分叉处形成断点,这在以后的填充当中会产生既无法预料也无法控制的结果。这一般不是我们所需要的。利用已经中心矢量化的文件,直接分层 利用中心矢量化,直接对字体进行跟踪、分层,在某些情况下会比利用PS更加方便。好处是对笔画的选取比较方便直观,不像在PS里面要用橡皮擦来擦去的,既不容易擦好,也不容易消除尖角点。但也有不便宜之处:直接矢量化对于稍粗的笔画,尤其是对于有交叉的粗笔画,会产生倾斜失真。因为在中心矢量化的时候,Trace并不能智能处理你的交叉笔画。 在Illustrator里面分解,矢量线在结点处被切断,需要将其连接起来。转到PS里面,用画笔描绘一遍,然后再次中心矢量化,所有断裂的笔画就全部自动缝合起来了。这样做唯一的缺点是文件格式反复翻转,会对字体细节有一定的损失。应当注意。每次翻转的时候要严格与原作相符合才好。细化字体笔画,建立精确结构