以下工具是从游侠论坛找到的,也许能派上用处。 0 |, i# t, w1 V9 j
9 N; d0 }! e ]0 P4 ^4 p! K6 g
功能:可调整行距,间距,和图片每行字符数。 9 f! p! D$ A$ J
可调整字符高度,宽度和字重。
3 p* [2 t) G+ ^ u0 A2 K 可调整字符输出品质。 & V' s! F2 H x2 p, b% w
o/ k5 r+ y5 Y ?/ V# ~; [4 n: z9 _
生成的文件: ' [6 a' h: z. Q- D G5 t
font.bmp 字库文件,需用ps打开设置alpha通道。
J+ n+ ^5 P2 ~- }2 `font.bin 字库信息文件结构如下:
7 y- S4 d. {$ W+ A% E
& j5 I6 v. G# W# `. F//文件头信息
, j, z% q" O# _1 Z# o9 k3 G; atypedef struct tagBINHEADER * s6 f! ]2 }# t- d
{ ) J' n2 X' E' k3 t
DWORD dBmpHeight; //图像高
% r. S# e6 J1 V1 W) I) }2 `- n DWORD dBmpWidth; //图像宽 ; @3 ?* N) I, N. k; S r
DWORD dChNum; //字符数
, @* B+ w! F& H4 w6 ?8 P* e DWORD dJJ; //字间距
: K. G8 u8 r; g DWORD dHJ; //行间距
' @) s0 U; \8 ~. t9 r- U DWORD chWidth; //字宽 5 ?/ P) h. M% f1 c
DWORD chHeight; //字高 ) ?, o8 @& _, n# z; \ ?
: P: k9 j! o4 x" X6 O/ Z' g}BINHEADER,*PBINHEADER;
& u* B3 k8 | V* Y- D' D0 x- @1 W) U9 E
//字符信息结构
8 z- B; t5 }4 X- a, E$ Z- @- ]typedef struct tagBININFO ) D9 ?: X3 f! j' ?
{ / L& L, e1 w# L; d6 D; Z2 `
DWORD chCODE; //字编码
0 q k$ K! c" [" R; v: @ DWORD chX; //x坐标 0 U7 i7 V0 M) i- a |% H
DWORD chY; //y坐标
9 T2 y8 Z: }: `! l. Q, U}BININFO,*PBININFO;
1 u1 q. j$ t1 @# u) ^& l: L; G! s$ h& H" m% ^1 E/ x0 h
1.默认生成Gb2312全编码字 + ASCII共7519字符。
- n& B2 }; m9 U9 a4 |1 O2.可只生成指定文本文件中的字符,减小字库尺寸。
z5 v- I. C; |4 j6 \& I0 L& K+ W; j: U
- t* n5 z. l" M" t-------------------------------------------------------------------------- 1 i* r6 B8 P1 E% a
用于生成图形字库。虽然现在很多游戏都能用系统字体了,但使用位图当字体的游戏还很多。 8 E& L& t# B5 E5 B* q- ^
我这个软件虽然功能不算多,但通用性比较强。
" W; a+ {) U6 j& J- H' o用法很简单,设置程序里的字表文件(本人提供了一个GB2312&EN.txt)。然后设置好字体、质量等等参数,点“生成并保存”。会生成和字表名称相同的两个文件,一个是包含字体的位图bmp文件,另一个是包含字符具体信息的bin文件。bin文件的结构说明也在附件里,他用来配合你写的程序生成适合具体游戏的字库。 . y. }0 e$ d1 D( w9 M$ h1 c/ Q
另外,字表是生成字库时所包含文字的unicode代码,编写形式参考我提供的文件。
5 t; _7 X1 F6 d" P- N- X: K5 P4 m# s. h7 \& Y5 a
更新: / L5 L* F2 q4 d7 I4 M) H
增加对非代码字表的支持,即纯文本字表(支持读取系统编码或unicode编码的格式)。
1 ?) O2 k: e5 a+ q. y; E s/ ~增加简繁转换功能,可以用相同字表生成简繁两种字库,前提是你设置的字体是支持大字符集的(bin文件中的字符信息不会转换,所以能用统一编码显示简繁字体)。 ( }4 A% K, A0 E6 I; T4 e
很小的代码改进。
( J0 Q+ A9 D( S2 }7 ^( h, P! }7 o0 l2 L' w+ {6 D+ s
-----------------------------------------------------------------------------
3 C7 s/ M' c b9 B) C9 F2010.2.10 更新
. l6 p' t& Q, i2 I; V/ q \& j# H% |我先试用了一下zkscq这个工具,感觉不错,下面放上几张抓图。 9 _2 m. o( J- V
# D6 k! t4 i! ^4 a软件界面 $ r, O/ L- n1 o6 b! u, Q8 x" R
& K; k0 ]8 z7 I4 E- |9 u
字体质量ClearType 磅值400 宋体
1 u9 B: j \5 o8 Z$ }, L 5 A1 V5 i7 c9 _* q! E
字体质量ClearType 磅值700 宋体
$ Q v; o# j( C4 ?5 J! w4 H. v9 |6 Y9 ?. o% Y K. _
. O! O) @. Z& ^3 Z: i) r& l% z
----------------------------------------------------------------------------- 0 K: b$ ~! ]: t) x
又试用了一下font这个工具,下面放上几张抓图。 1 t- T" s. {& z6 T' f9 B, B5 y
* c+ y4 E+ U* l) T6 c软件界面
9 |/ l9 |* e) h" L2 Q/ P |