以下工具是从游侠论坛找到的,也许能派上用处。 ) N* A5 h, {- o$ @
2 ]8 o" j- y& ^4 t* ^
功能:可调整行距,间距,和图片每行字符数。 % i3 G& M4 g5 Q. g+ w& k$ k
可调整字符高度,宽度和字重。
; e. p0 h0 f. U: H/ P6 {9 Q 可调整字符输出品质。
1 W4 d& c; x) c$ `9 J8 ]1 z. w3 ^8 C4 C; }4 ?3 j
生成的文件:
1 s6 N. P* C. G( d% {3 Lfont.bmp 字库文件,需用ps打开设置alpha通道。 1 g( R, @/ W7 w" q9 _' J
font.bin 字库信息文件结构如下:
' S! @8 Q+ e7 G* @4 m4 J! C# X" ^7 C! G1 ]' n: t: r
//文件头信息
/ Z) j' b/ R2 K4 V$ h9 ktypedef struct tagBINHEADER ' Z/ u- e' ~8 L# R3 R
{ / C* Q' Q p0 Q" T5 [" F+ v
DWORD dBmpHeight; //图像高 % _9 {: M# U a
DWORD dBmpWidth; //图像宽 " r" N/ }$ k& v2 k+ Q, x2 d8 \& `
DWORD dChNum; //字符数
: b8 z" G/ t* l1 E DWORD dJJ; //字间距
' J8 [. U0 `$ P; q( M4 T DWORD dHJ; //行间距
( T) N1 n) }2 A5 T DWORD chWidth; //字宽 * l& h' M( y: F4 M2 L
DWORD chHeight; //字高
, ?1 c7 G; ?6 C, `! ?! b( M* G f1 e0 a! ` \
}BINHEADER,*PBINHEADER;
: m$ Q& g; V3 E0 f, [- |7 u9 z- j5 ?" d. v6 Q \6 q! ]' }
//字符信息结构
5 P+ Q! p. k. Y+ T9 X, ]2 E5 y3 ~! Ktypedef struct tagBININFO 3 X! b3 a2 L1 H3 S- M
{ , c7 p6 E2 t/ m) u7 v: w
DWORD chCODE; //字编码
" N$ B: ?. m# M( K DWORD chX; //x坐标
5 ~1 t5 n/ |/ n" i' D# ^' Z/ l DWORD chY; //y坐标 ' i/ X1 g7 {" n7 r& B' w) l8 D
}BININFO,*PBININFO; 0 ^1 n7 z7 G; a$ L
. r( q' J* A& [' ?, e/ F( w5 i1.默认生成Gb2312全编码字 + ASCII共7519字符。 ' b6 y( p: s5 c
2.可只生成指定文本文件中的字符,减小字库尺寸。 & e/ W* r. a# { C/ l$ g
, I4 @ [: o f0 Y5 o$ m( v+ L! Q/ n, M0 n: E
--------------------------------------------------------------------------
, d& ~5 \6 S6 E; A用于生成图形字库。虽然现在很多游戏都能用系统字体了,但使用位图当字体的游戏还很多。
8 ?" J9 C! N* l我这个软件虽然功能不算多,但通用性比较强。 j% [& o2 Z; @9 I6 c8 _
用法很简单,设置程序里的字表文件(本人提供了一个GB2312&EN.txt)。然后设置好字体、质量等等参数,点“生成并保存”。会生成和字表名称相同的两个文件,一个是包含字体的位图bmp文件,另一个是包含字符具体信息的bin文件。bin文件的结构说明也在附件里,他用来配合你写的程序生成适合具体游戏的字库。
4 x0 @, b$ t6 Z4 u+ F! K另外,字表是生成字库时所包含文字的unicode代码,编写形式参考我提供的文件。 * w( w3 N F% Y9 ^& f
9 J, k# z! q7 H) l8 B0 R
更新:
& F. d) }$ x" P增加对非代码字表的支持,即纯文本字表(支持读取系统编码或unicode编码的格式)。 8 X6 s% b& F/ W# m
增加简繁转换功能,可以用相同字表生成简繁两种字库,前提是你设置的字体是支持大字符集的(bin文件中的字符信息不会转换,所以能用统一编码显示简繁字体)。
% _* B( Z% d, Z很小的代码改进。 ( w7 E7 i J& R" T7 G
7 x G" A8 u3 X----------------------------------------------------------------------------- T8 L% `( y: D L- S; S
2010.2.10 更新
" J) Q7 v" L- P5 y+ `, V我先试用了一下zkscq这个工具,感觉不错,下面放上几张抓图。
% C* m( D' J! Q" |0 j) h/ u7 z+ h6 S
/ P: o; I8 a( o6 j% l软件界面 ! N2 l" Q2 C0 y7 H4 X& Q
9 { v2 g( V9 a. E
字体质量ClearType 磅值400 宋体
( B; l' R) B+ J8 n8 L % }. _4 U j( w& K3 T/ r
字体质量ClearType 磅值700 宋体
3 G9 f( B# o6 Y; j8 ? }$ \ H% c, B
# r; x1 O; f8 ^! t
----------------------------------------------------------------------------- " A" C' w- e- d" R5 G
又试用了一下font这个工具,下面放上几张抓图。
# c N9 M5 u& _* {6 M& Z/ W+ }* a# \! z4 K
软件界面
; T' N: V8 D1 c$ v0 F _( @+ R, a |