冒险解谜游戏中文网 ChinaAVG

标题: BMP图片字库生成器 [打印本页]

作者: shane007    时间: 2010-2-10 11:48
标题: BMP图片字库生成器
以下工具是从游侠论坛找到的,也许能派上用处。 9 }$ ~% E% C) }& n* {
2 _" d7 L/ U% F- ~5 }
功能:可调整行距,间距,和图片每行字符数。 . ?' [7 O. T: Y
      可调整字符高度,宽度和字重。
9 V& s& o% z- W1 P      可调整字符输出品质。
; M4 d6 W3 w, X: B
; I4 }1 Z7 s8 ?# g: U" k0 g! c生成的文件:
7 y. \1 ~9 W6 K) x( t+ [9 nfont.bmp  字库文件,需用ps打开设置alpha通道。 - f& f6 R/ B8 A0 _6 O0 _
font.bin  字库信息文件结构如下: : x- V' ~: `$ Y! J/ L' j
3 B9 C1 J' Z: u. b( N0 [& D
//文件头信息 9 R7 c& b3 l5 i  [& J) q
typedef struct tagBINHEADER $ b6 C; h$ }5 n  l( s" p* @0 N
{ 8 k0 c  |; f, \
        DWORD dBmpHeight;  //图像高
; V; S4 ?& Y( f- e; J' V1 \; m        DWORD dBmpWidth;  //图像宽
7 {# q" y: Y$ P, k# p" h+ \( r        DWORD dChNum;      //字符数
0 R* i$ |5 L( l        DWORD dJJ;        //字间距   Z9 J: O, F4 a$ Y
        DWORD dHJ;        //行间距
8 y" A9 z8 d- _; a        DWORD chWidth;    //字宽 0 E7 V$ }: V: P9 |& w* h) t
        DWORD chHeight;    //字高 . D4 p$ v6 s% s; V6 y

/ K# E, e% w' [3 @/ u8 R}BINHEADER,*PBINHEADER;
) M) t; ]4 {8 A6 ?* H) m, c
( J) y6 s" x# J/ u8 _& _//字符信息结构 9 x: j7 M* z# V% ^6 E
typedef struct tagBININFO
9 n; B6 g2 `* J% f! J{        : U+ f  ~1 a$ j' W! d7 p
        DWORD chCODE;    //字编码 2 Y: y' @7 z- z+ V- u
        DWORD chX;        //x坐标 , t: k) d& u7 n7 Z$ E8 r
        DWORD chY;        //y坐标
9 C; t8 U4 f+ \! t}BININFO,*PBININFO;
% |$ Z+ f1 \1 R  J9 o: U
& Z% O" E2 ?+ P6 [' L8 f& ?3 l: t1.默认生成Gb2312全编码字 + ASCII共7519字符。
- F) ?' F8 ]5 T: r2.可只生成指定文本文件中的字符,减小字库尺寸。 , t; e$ O6 }+ R& k. q

: b4 p; u+ x2 W+ ^' q& Q3 v
0 o* A, _4 j' J1 M) b1 ]-------------------------------------------------------------------------- ' a! x" @1 n# }* X, v& y
用于生成图形字库。虽然现在很多游戏都能用系统字体了,但使用位图当字体的游戏还很多。 # v' g& \8 a1 q
我这个软件虽然功能不算多,但通用性比较强。
4 }, f! S  e, G& x2 k( T( T3 ]0 n用法很简单,设置程序里的字表文件(本人提供了一个GB2312&EN.txt)。然后设置好字体、质量等等参数,点“生成并保存”。会生成和字表名称相同的两个文件,一个是包含字体的位图bmp文件,另一个是包含字符具体信息的bin文件。bin文件的结构说明也在附件里,他用来配合你写的程序生成适合具体游戏的字库。 4 Y2 ?2 a1 w6 p. H0 v
另外,字表是生成字库时所包含文字的unicode代码,编写形式参考我提供的文件。 % {9 j, G9 P; V7 ]0 D4 E
" v0 }9 {5 E+ a; V8 H0 i
更新: 7 y0 c; S) I) K# |# S# B" J* R0 I9 F
增加对非代码字表的支持,即纯文本字表(支持读取系统编码或unicode编码的格式)。
$ L: {6 `0 C. D2 G3 T  o增加简繁转换功能,可以用相同字表生成简繁两种字库,前提是你设置的字体是支持大字符集的(bin文件中的字符信息不会转换,所以能用统一编码显示简繁字体)。
  X' B  Y6 r$ r6 n2 g很小的代码改进。
2 L% m( g2 G# ?4 E7 a3 y# l+ {4 Q0 |9 n. K( U* `! g' l
-----------------------------------------------------------------------------
7 M4 L" W0 C! M3 }0 x# W. T+ I# O2010.2.10 更新
  l5 [6 N8 i8 i9 C4 t- J# H我先试用了一下zkscq这个工具,感觉不错,下面放上几张抓图。 5 o8 G# i# ~, C7 V' g5 ?
/ n$ L2 N; G2 y. b
软件界面
9 Q" o. R  C8 B+ ^[attach]15179[/attach] # M- V0 N- b8 U  r+ ~, z
字体质量ClearType 磅值400  宋体 2 i' p7 E8 f& E) l4 Z, y3 i
[attach]15177[/attach]
- Y& G. U; K. W; G2 T字体质量ClearType 磅值700  宋体 & d% K- k) j. z$ W. |/ P
[attach]15178[/attach]1 e9 R$ [1 s; g# n7 t
5 [9 |- H* x2 ^
-----------------------------------------------------------------------------
. s" A, s1 @1 m+ ?0 O& o( p/ j# O又试用了一下font这个工具,下面放上几张抓图。 , u2 m! R0 Z$ |% N: j1 Y

% B7 _. c9 X5 m2 s软件界面
7 G7 v; H( @( L4 L! C: [9 V7 N [attach]15181[/attach]
作者: shane007    时间: 2010-2-10 20:28
2010.2.10  更新
作者: seraphimer    时间: 2010-6-12 11:50
真是太好了 谢谢楼主了。
作者: 皮子陈    时间: 2010-6-12 17:59
不错呀。自动生成。比PS快捷多了
作者: solidji    时间: 2010-8-6 18:43
不错的东西,可以把我的译文编辑器加上对这工具的支持
作者: ianyang    时间: 2010-11-6 12:51
不错,很方便的工具。感谢分享。




欢迎光临 冒险解谜游戏中文网 ChinaAVG (https://chinaavg.com/) Powered by Discuz! X3.2