在图片字库上添加完中文字符以后,我们就要在文件的末尾添加图片字库定义分析 。
, G. l# ?6 x$ V7 U4 y5 ? a, R由于添加的中文字符较多,所以需要增加一个新的节。 + a! B5 Q. \* q$ B V$ z! x
& w# V# ?' k6 n% Y. f2 Q
zhang336970 的原话是这样的 * g6 K4 p" ~, x# x! j
编码表在执行文件中。在原来的节中没有多余位置,只好添加了一个新节,把新编码表放在这个新节中,并修改了相应的偏移地址。 % c: q1 R. G g0 [0 O
3 h: @3 i; G9 U. O对执行文件添加新节的方法,大家可以到看雪学院去学习一下,在网上google一下也可以找到不少资料。
' f1 h n6 w# F, ^8 n5 L2 X
3 T @9 y2 `. b3 N以下是修改前文件末尾的样子,大家可以看到文件到00867FFE这个虚拟地址就结束了。 ; `' Z- X# x% S5 G' d
5 V. m) E$ u% Y; m3 ]* p
以下是修改后文件末尾的样子,在00867FFE后面加了一个新的节。 & r& J9 z1 B( a2 ]; F: D3 i X
# h. K5 M5 V( \ m; U
其中每个中文字符用20个字节来定义。
; u4 `9 W; d8 X `% i7 Z O; k例如: 对“%”(25H)这个字符的解释就用了20字节的空间。其中25 00 00 00 是编码,紧随后面的16字节是%字符在图片1中的坐标。也就是说要显示%,就要取图片上从起点(22H,0H)到终点(33H,14H)(像素点)的矩形区域送去显示。
; ^/ k+ v) k/ T% U
3 O$ s* i2 [ T% p5 _% X* w" t以下问题请zhang336970朋友指教,谢谢!
: L+ w! [9 Q% E' ~ s0 T, H9 U- o3 o- Q+ Y7 C; V; z
问题1# i/ ^1 [! G! p$ _9 S2 c) v
原来的游戏应该有英文字符和符号等的定义。这些定义在哪,如何寻找呢?6 u, u* k4 e- l/ |. v1 H& }
问题24 [. E% V& C( ?% G0 Y+ x
游戏读取这些定义的地方在哪,如何寻找呢?2 _5 C7 T/ J3 Q3 {, K
请谈谈通用的思路。 |