你可以先看一下下面这2个帖子.
- H9 U+ J' \( { V' k5 M, whttps://www.chinaavg.com/read.php?tid=16610
$ x9 D, D3 V4 k3 I) z {https://www.chinaavg.com/read.php?tid=17017
3 C) E. H. f. B+ p5 B0 b) `- `0 c; i; ^% {2 n
你可以用这个工具先查看一下16X12字库,有个直观的概念。8 `0 J8 v8 u/ R- D! X
% X3 P: e' Z1 v
我可以给你举个例子。不过只能用文字描述。$ Q8 ~, B. {9 I7 r, E5 x
字体文件中每24个字节保存了一个汉字的字模,一个挨一个连续存放。/ {2 T, b( m! G( O8 C7 m' t
根据汉字的编码找到该汉字字模的偏移量的公式我写了,是一下这个公式。
) |$ Y( W: E5 K$ Xidx = ((idx % 256) - 0xa1)* 94 + ((idx / 256) - 0xa1); . G! [0 G! ]2 T$ O O) f2 a/ H
不放心的话,可以找个汉字,然后找到它的字模的偏移量,然后切出24个字节,再用这个工具看一下。
, v0 k! C; e1 L5 W: u3 Q+ p" E- q5 Z8 J% r3 H
好,接下去说再解释一下这个任务。
7 n5 J/ y* ^! O+ l原本16X12里的字模的样子都是没有重复的,现在我们要做一件事,我们要修改一个汉字的字模,比如说是"你"这个字,我们给它做个变脸手术,让它的样子长得和"我"这个字一样,其实就是找到"我"的字模的位置和"你"的字模的位置,把"我"的字模覆盖掉"你"的字模。0 G3 |. [ W6 y. N
, v, Y4 ]% N0 p8 C我们要求修改好多对"你"和"我",这个就在一个文本文件里定义,怎么定义其实是随便的。 |