在图片字库上添加完中文字符以后,我们就要在文件的末尾添加图片字库定义分析 。 4 b: Z+ n2 K" f8 ?. K
由于添加的中文字符较多,所以需要增加一个新的节。 $ d, |1 j5 ^; G, P4 C1 M
J5 f/ ]4 z, U8 |" I: H. Z+ ]
zhang336970 的原话是这样的 . X; D9 l. K k1 N2 I C
编码表在执行文件中。在原来的节中没有多余位置,只好添加了一个新节,把新编码表放在这个新节中,并修改了相应的偏移地址。 5 x7 v& N- U4 u7 S! I
0 J) s# n' f8 x- y
对执行文件添加新节的方法,大家可以到看雪学院去学习一下,在网上google一下也可以找到不少资料。
& ?/ B4 t/ V$ u* L) Q) Q# p
4 f$ \/ J5 [' D- W5 X' }3 |以下是修改前文件末尾的样子,大家可以看到文件到00867FFE这个虚拟地址就结束了。 / ]% Y: b. B H* z; [$ G' A
% V" E+ v% P1 I2 A( S0 ~/ T) S6 i以下是修改后文件末尾的样子,在00867FFE后面加了一个新的节。
. }6 P& F/ a' g1 c2 C1 t% T
" H- F. R- Y- K; y4 i- p% ]其中每个中文字符用20个字节来定义。
$ F7 E! r* V. v, n, X1 g例如: 对“%”(25H)这个字符的解释就用了20字节的空间。其中25 00 00 00 是编码,紧随后面的16字节是%字符在图片1中的坐标。也就是说要显示%,就要取图片上从起点(22H,0H)到终点(33H,14H)(像素点)的矩形区域送去显示。$ p/ {, p) r1 {9 q) L0 d3 Q
5 V3 T6 z, ~0 M; u1 y" T. z
以下问题请zhang336970朋友指教,谢谢!# p$ ]% z4 ~8 l; h+ O" g6 T1 Q
8 x. p6 q0 p9 |- w' d9 n" Z0 ^1 c
问题1
4 s h0 l8 m, o原来的游戏应该有英文字符和符号等的定义。这些定义在哪,如何寻找呢?
7 f- W4 U/ e. h% r$ g) H" E% m6 \问题2+ I6 f/ B3 p+ o Q$ N+ @; I: D+ f. ]
游戏读取这些定义的地方在哪,如何寻找呢?0 w- R+ | T0 u+ b" S
请谈谈通用的思路。 |