最近,大量的汉化项目都涉及到了图片字库。
' m/ \" l- C2 O9 |" U5 c! I要用图片字库自然离不开编程制作图片字库的定义文件。
8 ~( R7 j# B/ ]% `9 q图片字库我们可以用Photoshop来快速制作,请看如下帖子。( S# \' n8 H1 P# W- m8 N
用Photoshop制作图片字库简易教程* G( E+ C4 z$ j1 M! Q* Z8 t
https://www.chinaavg.com/read.php?tid=22020
, Z7 V/ K: z% v$ X1 k) Y6 I5 T! ` y. d2 \1 X+ i2 l8 |
那图片字库定义文件是否有什么快捷的办法来生成呢?
V- R6 E6 P( |1 H5 Q' J6 ~( F B办法都是人想出来的,我想了个如下的办法:7 N, ]5 G, \! M/ _
7 J2 |% ?# L& f3 _( i: j
我们可以发现,虽然图片字库的定义多种多样。
7 o, Q. `3 T( d p但是,大致都可以归纳为如下的样子
/ f+ D6 E/ M' y; i& G
3 d2 v5 p, B7 F( Q/ G# m6 C O1. 头部信息$ ]5 M* } ^5 r; U6 x
记录了图片的高度,宽度,字符数等信息
4 x7 P6 y. U- p' @ ]+ w/ \2. 每个字符的位置信息x字符数
4 m' ^* ~4 n7 s% I
) w! ^$ n# L3 i. X4 I, Y2 E) A5 J对于第2个部分来说,我们可以设计一个通用工具来生成。
( l1 P( T V, @, q下面说说这个通用工具的设计思路。 E' A4 c- X. g
( X; q4 \* H( u$ U
我们先输入一些必要的参数,比如字符的高度,宽度,首行字符的上边界及左边界坐标等等。8 v: x6 Z% D, b2 q5 ]* a8 ]* l
就可以确定每一个字符的范围,这每一个字符都会对应1组参数,比如x,y,,left,top以及UV坐标系的x/width 等等
6 T# S0 S) z& B/ S- {& t8 g' S N我们可以预先定义一个字符的位置信息的模版。
; q7 A$ T% B f5 ]2 q程序会按模版的定义,选取我们需要的参数,按游戏的图片字库定义文件的格式,生成上面的part2./ b* G/ @& h- m/ Q3 ~, ?( g/ e
那part1我们只要简单地手工修改一下即可。3 N, h4 b% z" ^: A3 R
% g, v& M' F3 \' z( b2 ~有了这样的1个工具的话,我们可以快速地制作出各种类型的图片字库的定义文件。! K# c( z K# E9 G8 \/ z9 z
希望各位懂技术的朋友给提提意见,参与讨论。 |