冒险解谜游戏中文网 ChinaAVG

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

作者: shane007    时间: 2010-2-10 11:48
标题: BMP图片字库生成器
以下工具是从游侠论坛找到的,也许能派上用处。
* Q% N. H- x0 _* S4 i; S. a
0 S8 a7 Y1 s- _% x+ l" S$ H) c" x功能:可调整行距,间距,和图片每行字符数。
! X$ ~, S! b: B3 d% e      可调整字符高度,宽度和字重。 ( t9 I2 M- }- p( D4 a
      可调整字符输出品质。
1 |; n  J% y$ l/ X% U  D: F7 H% X* \( U. A
生成的文件: 8 n* m$ G7 [. w0 e: X
font.bmp  字库文件,需用ps打开设置alpha通道。 ' J' u- Y! C/ a6 v0 V
font.bin  字库信息文件结构如下:
4 b7 a$ y, Q% S, g# m. C
( q$ V+ _5 f4 J2 a//文件头信息 * q! ?; U) l+ Z  t) r
typedef struct tagBINHEADER
; k# I, F5 I! p3 k) R: M  y{
& c3 d* w, {8 _2 D5 q  \2 h        DWORD dBmpHeight;  //图像高 4 {7 F1 w* `2 Z" v! c9 i
        DWORD dBmpWidth;  //图像宽
# G! y5 p" f/ f0 S        DWORD dChNum;      //字符数 3 U) J# [' f3 Q* S' w' n) F# J1 O
        DWORD dJJ;        //字间距
+ ~: J: t2 p9 u8 Q# k        DWORD dHJ;        //行间距 2 e9 r: m% k7 c6 O: b
        DWORD chWidth;    //字宽 + w: z/ X/ T& Z! t% f
        DWORD chHeight;    //字高 ; K$ ~, |1 E; ~; \+ z+ X! b
- j+ |9 u- H: v( F/ c8 q4 M
}BINHEADER,*PBINHEADER; ) i' }& ?8 M8 b& J/ Z% E4 R

( v: U( q% Q) k//字符信息结构
, w6 s2 n  e. m# w! @typedef struct tagBININFO 2 j$ }! h* ^: W! u
{        
. F8 p. U  m/ M# b. u        DWORD chCODE;    //字编码
) \+ b  k# \0 h( Y  \8 Z9 _        DWORD chX;        //x坐标
( G& Q3 p% w3 c3 [! _5 `        DWORD chY;        //y坐标
- @% J% u$ L( E" @0 @}BININFO,*PBININFO; ' t" C/ G# Q9 [

9 n- H% p$ e9 }0 O+ Y, b1.默认生成Gb2312全编码字 + ASCII共7519字符。
; m+ M0 b! X8 J0 k2 T2.可只生成指定文本文件中的字符,减小字库尺寸。 / ?/ @$ H' U  W
0 y5 W: C* F/ C( v( E3 N. c* e
9 ]% j5 X2 p  l& G  H
--------------------------------------------------------------------------
9 Z  ?: V, C9 k, H用于生成图形字库。虽然现在很多游戏都能用系统字体了,但使用位图当字体的游戏还很多。 ) k! t$ v* t! g% J
我这个软件虽然功能不算多,但通用性比较强。
- v/ @) `6 B) I; w' |3 e用法很简单,设置程序里的字表文件(本人提供了一个GB2312&EN.txt)。然后设置好字体、质量等等参数,点“生成并保存”。会生成和字表名称相同的两个文件,一个是包含字体的位图bmp文件,另一个是包含字符具体信息的bin文件。bin文件的结构说明也在附件里,他用来配合你写的程序生成适合具体游戏的字库。
4 K2 X9 \+ J) h' G& Z另外,字表是生成字库时所包含文字的unicode代码,编写形式参考我提供的文件。
+ r* a8 z) F2 b0 I( m. i+ u& @) f& F  u5 I0 |3 R
更新: 0 X. i1 t5 B- O
增加对非代码字表的支持,即纯文本字表(支持读取系统编码或unicode编码的格式)。
3 q5 e- H3 l2 b6 k7 j/ C' o增加简繁转换功能,可以用相同字表生成简繁两种字库,前提是你设置的字体是支持大字符集的(bin文件中的字符信息不会转换,所以能用统一编码显示简繁字体)。 6 R' L! t6 g  ?; l
很小的代码改进。 0 `! F: N/ g: x' R' y3 @
+ M" K; L' f2 Y; v5 c1 T, m% q
-----------------------------------------------------------------------------
- Z0 f' O" w8 v' O/ w2010.2.10 更新
2 z( u; j3 K3 ^! r我先试用了一下zkscq这个工具,感觉不错,下面放上几张抓图。
) C: H4 J2 n. H/ e% h$ k! Q: T+ k/ a5 s
软件界面
+ N( t; q# A: w$ ~( N( _) ]7 w[attach]15179[/attach]
1 @. @  G5 N; a& Y字体质量ClearType 磅值400  宋体 ! p6 M) b$ A$ ^7 T. Z
[attach]15177[/attach]
5 M9 R$ Z* }; _8 C字体质量ClearType 磅值700  宋体
5 e0 u3 u1 L" v& R[attach]15178[/attach], d& G( T; N8 M" f$ c6 D
9 Q/ v0 k+ B- W0 j/ v6 A) I  |8 w/ I
-----------------------------------------------------------------------------
8 [( A" \7 _0 b+ [+ W9 w6 s5 b* q又试用了一下font这个工具,下面放上几张抓图。 3 `; Q* q: ^$ [
, j" P' L+ @3 T6 z9 \: r; R- h/ f% ?; N
软件界面
: X' L, {5 s9 e7 l* L; }2 H- b [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