一款有少许参考价值的中文字库生成工具。 + q. o$ S- |4 _ Z6 k8 R
原文 Z# q3 d. a; ?
https://sites.google.com/a/davidone.co.cc/actiongamemaker/download/fontmaker
9 f7 A1 j6 a7 r0 b) X( |
- N; }" z& }9 O8 c1 H7 W- P. mAGM字库生成器,顾名思义就是从文本转化为AGM使用的字库图片,字库图片的使用去看中二胃的教程其实我也没有AGM。原理很简单,draw_text把字一个一个画到一个bitmap上,然后用6r上的bitmap2png脚本给存下来。 $ f1 L7 M3 c- o: e
3 F. N5 {/ y! V, J I2 P: j
' x5 s: P/ j# M" z' W4 L
- J% N9 o9 N. H
& ]9 P1 a z! m: {. \/ u, O# r# K' w使用方法: # f& n; ?. S! j" O; k
1 S# i1 L; p+ d/ V' u: r7 v. b: D* b2 y# q% ` Y
1 C7 J6 ?5 \. e8 S* M2 i3 N; {/ k" ^
8 Q4 t; `! X$ S6 H& C; G1 X$ t
在生成器的目录下,新建一个名为input.txt的文本文件,其格式如下: 3 f! W5 ^4 Q' K9 H8 [" X+ b8 {0 S
+ o- v6 J/ f$ D3 @0 @1 V& T1 X9 d1 D5 u( \0 `* N" W
第一行是生成字库的控制符。其格式为: , E$ f! G) i, ?& H7 h0 V2 w: Z
; h$ f z5 Q; R0 w( X( ?6 G( H@字体|每行个数|字宽*字高(请务必保持一致)|字色|是否阴影|是否加粗|描边色 & `, }, W) z( X% b8 I
, J$ v& d; V9 a" r
其中:
9 i: a _+ p% t) j& ^
- h: P9 c7 l/ G- F2 I& i" v% j字体:请使用系统存在的字体,且保证名称无误,否则找不到字体将以黑体来描画。
' Y6 \" z5 O) V) M# B2 _! p Y5 X9 A
每行个数:字库图片每行的文字个数,请酌情设定。 3 F5 M1 U2 P: I/ K3 s; k- m
! Z" O; J! a5 |# ^6 G! k
字宽*字高:目前请将这两个设为一致,且不要太大或太小
+ M$ I0 d8 l4 M9 N$ q0 J9 B8 p( ^2 O6 F% S ~
字色:格式为(R,G,B,alpha),RGB可以在ps的取色板或画图软件的取色板中查询,alpha是不透明度,255为不透明,0为完全透明。
: ^! @' M8 S0 j% X+ S w0 m) Z, [3 Z6 ?# |
是否阴影:0为否,1为是。
) h& q9 ]3 J, c* ^2 T# m' |) ?8 ?" w- h$ y8 W; l- r4 S0 h
是否粗体:同上。 8 A* l# @" c' B- d+ g
( w) i! O5 F3 l2 N9 E
描边色:同字色,表示描边的颜色。如果不需要描边,请用nil代替。
8 J: l9 u+ q3 j9 u9 O7 B* ^
: a. Z! H# q1 l3 n: i从第二行开始,为你需要制作到字库图片中的文字。本生成器会无视换行,但是,为了在AGM中使用的方便,请按照设定的每行个数进行分行。 8 H8 r0 F* }% p6 O4 Y
W( D" l* c/ g' g! v
请务必要将input.txt存为UTF-8格式,因为rm只认UTF-8。 ; W( g! E: ^0 S e/ g% x u) b. g0 u
5 X. J V& F, m3 \ v- `3 _3 Z3 {
' M7 k" U6 l( u, A! l6 t6 P; d$ O8 F8 J6 [
?. q* e# `: E+ ?) p5 W: {
这项工作完成后,请双击game.exe,程序将自动根据txt内容进行,途中会有对话框进行确认,如果txt有问题,也会有一定的提示。
7 H0 v; P7 a( K# c* o: f7 ]" J7 X( q) @5 l7 Q$ g
Game.exe运行完毕将自动关闭,这时生成器目录下将出现output.png。这就是生成的字库。 * A! B! L$ V! t) n
8 b9 }3 v: |, w2 _- g$ {
0 d' E+ F1 Y6 }9 S) E
) L A! _" i: _% W1 C) Q" g: X, E' I8 z
注意事项:
7 s5 Z/ I: Y; j, M( ?2 k& |" R& A, A$ c
% H2 E% y( G8 b8 I& y& ?1 {0 m
- U/ t% x/ x2 ^2 O; Z0 D0 B
" I. \6 g: P7 e$ L
1.由于是用rm写的,所以rm的一些不足将影响到使用效果。比如,rm的字体渲染比较rp。基本上,点阵字都被渲染了,所以尽量不要用宋体之类的点阵字,就算要使用也请酌情调大字号。 # v3 ~! W7 \# c0 I. ~. z0 U4 i- H
0 n& y) X4 I2 Y' R. `
2.理论上支持半角,但是嘛……由于大部分英文字体都不是等距的,要达到理想的效果要花一番功夫,要么就用全角英文吧。
0 [7 d0 E" P# x5 A4 z5 _1 l0 G# N
! O$ x! M1 c- `6 m3.为什么字体不能设太大:rmxp有10s脚本备份的制约,所以我用的是rmvx。但是rmvx……不支持超过2048*2048的bitmap。所以请将字库图片控制在这个大小以内。 5 d4 j8 A6 S6 h' A$ X9 w( [
' F( a6 `0 N s3 J1 s" I- T
4.虽然有描边和阴影功能,但是我强烈建议用ps后期做,因为rm的描边效果嘛……用过的人都知道很囧。
. ~1 p. b4 @ i Y8 D2 ^
4 }/ L! g1 H8 y( N% I5.自带一个input.txt,有很多字和符号,很全,但是不建议使用,请根据自己的情况酌情删减。
- Z# S3 P s% }' U8 r. o3 a$ h* o, M5 }
6.感谢轮回者的bitmap2png脚本,原始链接在此:http://www.66rpg.com/htm/news1113.htm
* r5 R5 t) n7 }- N) o1 k8 p2 b" P
: ~" i# o0 e: Y) C9 K% Y; l
2 m( O3 v7 }2 Z; I5 n. T& i
! x/ W0 O" b% Q
# C A7 A. F# q- QFAQ:
* V& S6 K: k. J& v5 }& L' q& ~: N/ H( f* q7 D; R% |
5 T1 @ U$ J+ P/ `& F8 g" K" X
' ~; w0 _/ h1 ~; u6 ~6 M( h( o
, g6 N) m. b7 q& P
& N5 ~7 w/ p! o, p8 G. a
' `( E! ~4 M3 L' a3 [9 G* x! k% x6 p
Q:为啥最后描绘出来的是黑体?
g* B* p! R6 Y( Q. B- M5 f' ?$ X5 s& \9 j' x
A:字体文件不存在,或者rp问题了,请核对字体的名字。如果字体名字准确无误……欢迎反映情况。
1 S* o; Q( @$ r+ c
8 T1 s* L/ `& z' R+ i2 A- r4 V2 P; `7 N! }1 { V
6 u8 M* |" w# C( l: ?% \2 \
Q:为啥写出了一大堆乱码?
. x/ Z3 ?1 A) _1 f4 Q/ F$ w" g; m' a
A:因为rm只认UTF-8。我觉得以其调用API转码不如在存txt的情况下就注意下。如果确实是UTF-8但还是乱码……欢迎反映情况。 / z( Y8 k) C& D7 @1 j
- ^ B& Z9 E. Q; b/ j
; l4 a1 ^; D$ v% p
- f3 E+ E) z' k) h7 HQ:生成的PNG太大,怎么办?
) y& ?1 F: {: @$ m/ u" @6 }/ v( S# L4 K) O
A:请参看doranikofu同学的png压缩教程,详情请见:http://bbs.66rpg.com/viewthread.php?tid=100570
) u1 V9 e8 W8 A, g; v! f
; Y$ D) j+ A% y9 m% Q经过我人肉试验,可以减少一半以上。
/ U5 f- c) E* g0 ?! c8 w7 s7 o, d/ }" C" p; h! T8 @5 |
/ c/ J# U, `" J3 B+ e
r$ k2 q- y. q) O3 I如果有找出问题或者改进建议,欢迎来反映,如果有什么使用上的疑问,也欢迎留言。 |