打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
TTF字体制作教学篇
TTF字体制作教学篇(本文非原创,看不明白别骂俺!)5 Y6
2009-03-02 10:43
自从FontRouter问世之后,使用字体已经是非常简单的操作了,随着新版本的推进,直接使用与WINDOWS兼容的TTF字体也已经非常简单.' K# L/ B6 v: z
教程旨在献给FontRouter 的发烧友们,不满足于常规字体的千篇一律及无个性. 作为我本人,向FR的作者表示深深的敬佩.
4 e+ j9 R, j0 n2 ~6 D& A0 {    制作一个个性化的字库.个性的TTF是少不了的.比较直接的方法.中英文分别使用不同的字库.于是加载了两个TTF.这在我看来是极大的浪费.下面开始讲述TTF的结构后制作方法.
/ P+ w; X/ {/ v, k首先请了解TTF的不同编码方式:6 |5 S( h, Z- X# Q0 O8 X
GB2312 编码 ; H( N" N* B3 X4 j0 ~6 K
GB2312 是汉字字符集和编码的代号,中文全称为“信息交换用汉字编码字符集”,由中华人民共和国国家标准总局发布,一九八一年五月一日实施。GB 是“国标” 二字的汉语拼音缩写。 $ h* \0 S3 ?, O! v! L6 ]' p; T
GB2312 字符集 (character set) 只收录简化字汉字,以及一般常用字母和符号,主要通行于中国大陆地区和新加坡等地。
( Q   o& i. `1 U2 w! vGB2312 共收录有 7445 个字符,其中简化汉字 6763 个,字母和符号 682 个。 $ F# T3 W8 F9 h4 |" c4 o
GB2312 将所收录的字符分为 94 个区,编号为 01 区至 94 区;每个区收录 94 个字符,编号为 01 位至 94 位。GB2312 的每一个字符都由与其唯一对应的区号和位号所确定。例如:汉字“啊”,编号为 16 区 01 位。

' X5 \+ i% g0 z
& V8 V5 b/ _8 @GBK编码(Chinese Internal Code Specification)
$ d0 U0 D% H' hoP93   ?: w5 x9 K   e: y( |8 b   B. Y
GBK编码是中国大陆制订的、等同于UCS的新的中文编码扩展国家标准。GBK工作小组于# K! x, w; |! j- f* g! S+ v. ^
1995年10月,同年12月完成GBK规范。该编码标准兼容GB2312,共收录汉字21003个、符8 T3 t& x; {! @( w, J; c
号883个,并提供1894个造字码位,简、繁体字融于一库。
$ F   ]) |; M, B- R

5 H+ z& w7 d! p! E9 `Windows95/98简体中文版的字库表层编码就采用的是GBK,通过GBK与UCS之间一一对应的
: W( X' F" U6 |5 i/ I/ A9 K码表与底层字库联系。

2 n$ j. b+ [- F) w6 `: @% j' DBIG5编码0 c$ g: J# U' h7 U9 V, o1 j
是目前台湾、香港地区普遍使用的一种繁体汉字的编码标准,包括440个符号,一级汉字5401个、二级汉字7652个,共计13060个汉字。Ae
2 x2 ^' R- b0 q3 M9 G& e( Z* c: w方正748编码   ]* l1 a- C9 d( ^$ p
所谓748编码,是指方正系统在长期应用过程中实施、制定的简、繁体字库编码方式,简
+ \# F! K$ C8 w# D体兼容GB2312且有所扩展,共7156字;繁体兼容GB12345并扩展全部BIG-5汉字,计14943& B+ W6 u3 k! N1 h
字。此外,方正748编码还含有丰富的符号库。748编码仅用于方正软件和系统.

+ J9 j" X0 S. l: b
, T, o3 p( }$ T, G9 r' @本文是帮你在已产生了字体设计的设想之后,如何利用已有资源、不花费太大力气地将整个字库(6763汉字或更多,如欲英文、数字、标点一起处理的话,包括进来即可)制作出来。因此,你必须会使用图形处理的通用软件,这包括:PhotoShop、Illustrator、CorelDRAW(考虑到字库制作的特殊性,应当以矢量软件为主)。什么程度算是“会使用”?本文是在介绍字库设计方法,不是软件教学,所以,软件使用方法点到为止。如果不能看明白,说明你还不会熟练使用,即请自行加强研究。这样做的主要目的是为了在尽量短的文字里多介绍具体方法的关键之处。
) L0 v8 w: I1 @' u6 U1 N5 G- K
0 j3 _# p5 q5 z+ i2 \3 A" h) }! w具体流程:- M4 U& ?( a& @0 P
      1. 启动PS,将现有字体按照需要排列在一起,位图化。注意:1,字与字之间留有足够的空隙,以免在分割字符的时候相互影响。2,字要足够大,一般应当在10cm10cm以上,否则矢量化的时候,精密程度会受影响。
% r3 C+ N% v6 @ 2. 按照事先的设想,对每一个字的位图笔画进行分层划分,一层一种笔画。例如1层,丶;2层,一;3层,丨;4层,丿;5层…….汉字所有不同的笔画加在一起,大概在40~50之间,应当不会超过255个,PS最多能够接受255层,满足一般的设计要求应当没有问题。或许有人会问:如果超过255怎么办?也好办,再Copy一份即可。注意事项:1,汉字笔画种类虽然不多,但同一种笔画,有长短之分。不同长短之间,不同的字体设计,往往会有不同的处理方式,若相互混淆,就不美妙了。所以,在分层之初,先要做好样本测试。不要上来就干,否则事倍功半。* P- s# t; \) ]2 K" T
3. 启动CorelDRAW Trace,对分层的位图进行中心矢量化。保存成为矢量文件,譬如wmf文档。
& Y( V8 Z" c9 v# z/ `4 I" {# z6 S 4. 同样地,再在矢量软件(我用的是Illustrator)里建起一张分层的矢量图,将所有的矢量化的图形分层堆叠在一起。当然得有所调整,否则对不齐。) m4 J) x; C# K* z8 q! J
5. 针对不同的层(笔画),用矢量软件的填充功能(一般矢量软件都有这种功能)进行填充。) P$ ]# U$ B3 L9 s
6. 利用各种“笔刷”、“画笔”填充之后,你几乎可以得到这种结构字体除了结构变化之外的所有变化。当然,如果你水平高,或许也能填充出结构有所改观的字体来(不可能脱胎换骨。但是如果想找到原字体,大概连影子也看不到了)。8 W* t- I1 _' z# T, P/ n6 A) n
该方法总的来说应当仅仅是一个思路。具体操作起来可以有各种变通。譬如使用CorelDRAW比较熟练的朋友,从CorelDRAW就可以完成这个工作。使用FreiHand比较熟练的朋友,使用FreeHand也可以单独完成这个工作。完成之后,如果需要转换成为AI格式的文档,另存转换一下就可以了。当然也可以直接转换为BMP位图。* R% \: `: q6 \   K* e
FontLAB可以接受Ai的剪贴板,如果你在Illustrator里面制作的话,直接使用拷贝粘贴的方法就可以创作一个全新的字库了。直接使用Illustraor Copy&Past到FontLAB里面的好处是你设计的画笔的节点就是FontLAB里面的二阶控制点。这样所Copy出来的字库本身就是一个精密字库。

7 w$ I5 O6 @8 q0 v0 M9 c* ^* N. `/ h" h- M2 W& W+ j
分块处理4 k8 N1 ?   I' n# r, w
由于机器内存太小或软件不支持等等,很有可能在程序里不能够一次性完成6763个汉字字符的处理。这时只有分块处理。
0 K3 r2 q/ ~! T& K   x8 h5 Y# Z/ ? 根据我们的经验,比较方便的是将文字排列为正方形,这样有利于后期的对齐和分割测量工作。刚开始需要建立位图,位图的占地面积应当充足地大。否则会影响精密度。! ^8 s2 \# j3 |   t" x
关于如何分块
4 [& `) m% V+ Y: ]4 p6 n9 _$ Y0 V# k1 E 这是一个分块的技巧问题。
. ~; @0 B5 n' I9 U' ^+ C6 b 1, 分成方块,而不是长方形块。务必注意字间距和行间距;间距最好大一些,给后期处理留下一个方便的空间。否则悔之晚矣。
' U- T: _6 R8 e   N4 A 2, 在程序能够接受的范围内,尽量少分。能少分一块,就少分一块,使用时就减少一次麻烦,劳动强度也会减少一些。也许有人会问,我使用ATN,多一块与少一块有什么区别?有区别。因为我们的这种对字体的处理方法是基于Illustrator等矢量图形处理软件的。而ATN在Illustrator里面从来都不像是在PS里面一样好用。否则我们就会发布单字符的AI文件。譬如针对PS,我们就有相对的单字文件集。* f   s: s6 n" m2 W0 y: ~/ v% f" M% ^
3, 最好把常用字和非常用字分开处理。因为有可能你会认为一次处理6763个字太麻烦,从而希望先少处理一些,看看效果以后再说,有了这种区分,就比较好处理了。否则将难以为继。1 K" E* B$ r' \5 z5 ?# E
4, 最好按照笔画数排序(Access里面可以进行)后再分块处理。不同的笔画数的填充可能会有所变化。譬如少笔画数的字的笔画填充可能需要粗一些的图案,而多笔画的字的笔画填充,笔画就得相应变细一些。有了笔画数的区分,你的处理就会方便很多。4 v6 z" Y& f1 `* ^( d" @
5, 英文大小写、阿拉伯数字、标点符号这些部分应当单独作为一块进行处理。因为这些东西和中文字没什么关系,也没有笔画对应的必然性。0 |   ]7 h4 x- o7 ~
关于字符处理数和排版形状
% b' q/ k* r6 A; ?, ~ 我们现在绝大多数大陆的书报刊市场使用GB2312标准的字库。GB2312内有6763个简体中文字字符。能不能处理更大的字符集?当然可以,只是更麻烦罢了。其实GB2312就已经够用。如果是在一个小范围内使用的话,仅处理GB2312内的常用字3755个汉字字符也可以够用。处理3755的好处当然是更加简单方便。
+ O   z- S3 X: C# K% S   b, U 为什么一定要正方形?主要是考虑到后期对字库进行处理时,需要对字符进行分割,在对位图进行百分比划分时,正方形易于使用PS的网格参考线对齐。如果不是正方形就会十分麻烦。此外,使用正方形也容易估测字间距与行间距。当然,如果你用不到这些,也就无所谓是否正方形了。+ V* v# u5 e( q& A
对于6763汉字,如果作为一块正方形处理,就应当是83行×83列,略有余数;如果分为10块,大致是26行×26列。如果只处理3755个常用字,也须以正方形对行列进行开平方计算处理。
8 E3 _* H7 f! L- L
) p- n( s/ @5 d! D
关于字库软件及方法
" R7 D/ p8 p; g1 i9 M 如果你真的想使用FontLAB Copy&Past制作一个字库的话,你当然最好有一个正版的。FontLAB公司的FontLab Studio 5.0 for Win US$649.00,网上虽可找到盗版。但不论哪种,都只支持6400个字符。这显然是冲着中文来的。你当然可以把一个字库分割成为两个部分进行,然后再在UNIX里面用TTF工具合成。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
『进阶教程』小字体制作精品教程(详细版)丨苹方小字体
qt字库的移植(使其很好的显示中文) - qtopia相关 - 萧萧雨榭
TTF文件的制作——打造属于自己的字体 - ≡-插件/滤镜/笔触/字体/VB功能扩展 - 中国CorelDRAW论坛 CorelDRAW中国|Corel中国 - Powered by Discuz!
Microwindows及其中文化方法
汉字编码标准与识别
CSS3 icon font完全指南
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服