自從FontRouter問世之后,使用字體已經(jīng)是非常簡單的操作了,隨著新版本的推進(jìn),直接使用與WINDOWS兼容的TTF字體也已經(jīng)非常簡單.' K# L/ B6 v: z 本教程旨在獻(xiàn)給FontRouter 的發(fā)燒友們,不滿足于常規(guī)字體的千篇一律及無個性. 作為我本人,向FR的作者表示深深的敬佩. 4 e+ j9 R, j0 n2 ~6 D& A0 { 制作一個個性化的字庫.個性的TTF是少不了的.比較直接的方法.中英文分別使用不同的字庫.于是加載了兩個TTF.這在我看來是極大的浪費.下面開始講述TTF的結(jié)構(gòu)后制作方法. / 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 是漢字字符集和編碼的代號,中文全稱為“信息交換用漢字編碼字符集”,由中華人民共和國國家標(biāo)準(zhǔn)總局發(fā)布,一九八一年五月一日實施。GB 是“國標(biāo)” 二字的漢語拼音縮寫。 $ h* \0 S3 ?, O! v! L6 ]' p; T GB2312 字符集 (character set) 只收錄簡化字漢字,以及一般常用字母和符號,主要通行于中國大陸地區(qū)和新加坡等地。 ( Q o& i. `1 U2 w! vGB2312 共收錄有 7445 個字符,其中簡化漢字 6763 個,字母和符號 682 個。 $ F# T3 W8 F9 h4 |" c4 o GB2312 將所收錄的字符分為 94 個區(qū),編號為 01 區(qū)至 94 區(qū);每個區(qū)收錄 94 個字符,編號為 01 位至 94 位。GB2312 的每一個字符都由與其唯一對應(yīng)的區(qū)號和位號所確定。例如:漢字“啊”,編號為 16 區(qū) 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的新的中文編碼擴展國家標(biāo)準(zhǔn)。GBK工作小組于# K! x, w; |! j- f* g! S+ v. ^ 1995年10月,同年12月完成GBK規(guī)范。該編碼標(biāo)準(zhǔn)兼容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之間一一對應(yīng)的 : W( X' F" U6 |5 i/ I/ A9 K碼表與底層字庫聯(lián)系。 2 n$ j. b+ [- F) w6 `: @% j' DBIG5編碼0 c$ g: J# U' h7 U9 V, o1 j 是目前臺灣、香港地區(qū)普遍使用的一種繁體漢字的編碼標(biāo)準(zhǔn),包括440個符號,一級漢字5401個、二級漢字7652個,共計13060個漢字。Ae 2 x2 ^' R- b0 q3 M9 G& e( Z* c: w方正748編碼 ]* l1 a- C9 d( ^$ p 所謂748編碼,是指方正系統(tǒng)在長期應(yīng)用過程中實施、制定的簡、繁體字庫編碼方式,簡 + \# F! K$ C8 w# D體兼容GB2312且有所擴展,共7156字;繁體兼容GB12345并擴展全部BIG-5漢字,計14943& B+ W6 u3 k! N1 h 字。此外,方正748編碼還含有豐富的符號庫。748編碼僅用于方正軟件和系統(tǒng). + J9 j" X0 S. l: b , T, o3 p( }$ T, G9 r' @本文是幫你在已產(chǎn)生了字體設(shè)計的設(shè)想之后,如何利用已有資源、不花費太大力氣地將整個字庫(6763漢字或更多,如欲英文、數(shù)字、標(biāo)點一起處理的話,包括進(jìn)來即可)制作出來。因此,你必須會使用圖形處理的通用軟件,這包括:PhotoShop、Illustrator、CorelDRAW(考慮到字庫制作的特殊性,應(yīng)當(dāng)以矢量軟件為主)。什么程度算是“會使用”?本文是在介紹字庫設(shè)計方法,不是軟件教學(xué),所以,軟件使用方法點到為止。如果不能看明白,說明你還不會熟練使用,即請自行加強研究。這樣做的主要目的是為了在盡量短的文字里多介紹具體方法的關(guān)鍵之處。 ) 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,將現(xiàn)有字體按照需要排列在一起,位圖化。注意:1,字與字之間留有足夠的空隙,以免在分割字符的時候相互影響。2,字要足夠大,一般應(yīng)當(dāng)在10cm10cm以上,否則矢量化的時候,精密程度會受影響。 % r3 C+ N% v6 @ 2. 按照事先的設(shè)想,對每一個字的位圖筆畫進(jìn)行分層劃分,一層一種筆畫。例如1層,丶;2層,一;3層,丨;4層,丿;5層…….漢字所有不同的筆畫加在一起,大概在40~50之間,應(yīng)當(dāng)不會超過255個,PS最多能夠接受255層,滿足一般的設(shè)計要求應(yīng)當(dāng)沒有問題。或許有人會問:如果超過255怎么辦?也好辦,再Copy一份即可。注意事項:1,漢字筆畫種類雖然不多,但同一種筆畫,有長短之分。不同長短之間,不同的字體設(shè)計,往往會有不同的處理方式,若相互混淆,就不美妙了。所以,在分層之初,先要做好樣本測試。不要上來就干,否則事倍功半。* P- s# t; \) ]2 K" T 3. 啟動CorelDRAW Trace,對分層的位圖進(jìn)行中心矢量化。保存成為矢量文件,譬如wmf文檔。 & Y( V8 Z" c9 v# z/ `4 I" {# z6 S 4. 同樣地,再在矢量軟件(我用的是Illustrator)里建起一張分層的矢量圖,將所有的矢量化的圖形分層堆疊在一起。當(dāng)然得有所調(diào)整,否則對不齊。) m4 J) x; C# K* z8 q! J 5. 針對不同的層(筆畫),用矢量軟件的填充功能(一般矢量軟件都有這種功能)進(jìn)行填充。) P$ ]# U$ B3 L9 s 6. 利用各種“筆刷”、“畫筆”填充之后,你幾乎可以得到這種結(jié)構(gòu)字體除了結(jié)構(gòu)變化之外的所有變化。當(dāng)然,如果你水平高,或許也能填充出結(jié)構(gòu)有所改觀的字體來(不可能脫胎換骨。但是如果想找到原字體,大概連影子也看不到了)。8 W* t- I1 _' z# T, P/ n6 A) n 該方法總的來說應(yīng)當(dāng)僅僅是一個思路。具體操作起來可以有各種變通。譬如使用CorelDRAW比較熟練的朋友,從CorelDRAW就可以完成這個工作。使用FreiHand比較熟練的朋友,使用FreeHand也可以單獨完成這個工作。完成之后,如果需要轉(zhuǎn)換成為AI格式的文檔,另存轉(zhuǎn)換一下就可以了。當(dāng)然也可以直接轉(zhuǎn)換為BMP位圖。* R% \: `: q6 \ K* e FontLAB可以接受Ai的剪貼板,如果你在Illustrator里面制作的話,直接使用拷貝粘貼的方法就可以創(chuàng)作一個全新的字庫了。直接使用Illustraor Copy&Past到FontLAB里面的好處是你設(shè)計的畫筆的節(jié)點就是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 由于機器內(nèi)存太小或軟件不支持等等,很有可能在程序里不能夠一次性完成6763個漢字字符的處理。這時只有分塊處理。 0 K3 r2 q/ ~! T& K x8 h5 Y# Z/ ? 根據(jù)我們的經(jīng)驗,比較方便的是將文字排列為正方形,這樣有利于后期的對齊和分割測量工作。剛開始需要建立位圖,位圖的占地面積應(yīng)當(dāng)充足地大。否則會影響精密度。! ^8 s2 \# j3 | t" x 關(guān)于如何分塊 4 [& `) m% V+ Y: ]4 p6 n9 _$ Y0 V# k1 E 這是一個分塊的技巧問題。 . ~; @0 B5 n' I9 U' ^+ C6 b 1, 分成方塊,而不是長方形塊。務(wù)必注意字間距和行間距;間距最好大一些,給后期處理留下一個方便的空間。否則悔之晚矣。 ' U- T: _6 R8 e N4 A 2, 在程序能夠接受的范圍內(nèi),盡量少分。能少分一塊,就少分一塊,使用時就減少一次麻煩,勞動強度也會減少一些。也許有人會問,我使用ATN,多一塊與少一塊有什么區(qū)別?有區(qū)別。因為我們的這種對字體的處理方法是基于Illustrator等矢量圖形處理軟件的。而ATN在Illustrator里面從來都不像是在PS里面一樣好用。否則我們就會發(fā)布單字符的AI文件。譬如針對PS,我們就有相對的單字文件集。* f s: s6 n" m2 W0 y: ~/ v% f" M% ^ 3, 最好把常用字和非常用字分開處理。因為有可能你會認(rèn)為一次處理6763個字太麻煩,從而希望先少處理一些,看看效果以后再說,有了這種區(qū)分,就比較好處理了。否則將難以為繼。1 K" E* B$ r' \5 z5 ?# E 4, 最好按照筆畫數(shù)排序(Access里面可以進(jìn)行)后再分塊處理。不同的筆畫數(shù)的填充可能會有所變化。譬如少筆畫數(shù)的字的筆畫填充可能需要粗一些的圖案,而多筆畫的字的筆畫填充,筆畫就得相應(yīng)變細(xì)一些。有了筆畫數(shù)的區(qū)分,你的處理就會方便很多。4 v6 z" Y& f1 `* ^( d" @ 5, 英文大小寫、阿拉伯?dāng)?shù)字、標(biāo)點符號這些部分應(yīng)當(dāng)單獨作為一塊進(jìn)行處理。因為這些東西和中文字沒什么關(guān)系,也沒有筆畫對應(yīng)的必然性。0 | ]7 h4 x- o7 ~ 關(guān)于字符處理數(shù)和排版形狀 % b' q/ k* r6 A; ?, ~ 我們現(xiàn)在絕大多數(shù)大陸的書報刊市場使用GB2312標(biāo)準(zhǔn)的字庫。GB2312內(nèi)有6763個簡體中文字字符。能不能處理更大的字符集?當(dāng)然可以,只是更麻煩罷了。其實GB2312就已經(jīng)夠用。如果是在一個小范圍內(nèi)使用的話,僅處理GB2312內(nèi)的常用字3755個漢字字符也可以夠用。處理3755的好處當(dāng)然是更加簡單方便。 + O z- S3 X: C# K% S b, U 為什么一定要正方形?主要是考慮到后期對字庫進(jìn)行處理時,需要對字符進(jìn)行分割,在對位圖進(jìn)行百分比劃分時,正方形易于使用PS的網(wǎng)格參考線對齊。如果不是正方形就會十分麻煩。此外,使用正方形也容易估測字間距與行間距。當(dāng)然,如果你用不到這些,也就無所謂是否正方形了。+ V* v# u5 e( q& A 對于6763漢字,如果作為一塊正方形處理,就應(yīng)當(dāng)是83行×83列,略有余數(shù);如果分為10塊,大致是26行×26列。如果只處理3755個常用字,也須以正方形對行列進(jìn)行開平方計算處理。8 E3 _* H7 f! L- L ) p- n( s/ @5 d! D 關(guān)于字庫軟件及方法 " R7 D/ p8 p; g1 i9 M 如果你真的想使用FontLAB Copy&Past制作一個字庫的話,你當(dāng)然最好有一個正版的。FontLAB公司的FontLab Studio 5.0 for Win US$649.00,網(wǎng)上雖可找到盜版。但不論哪種,都只支持6400個字符。這顯然是沖著中文來的。你當(dāng)然可以把一個字庫分割成為兩個部分進(jìn)行,然后再在UNIX里面用TTF工具合成。 |
聯(lián)系客服