你可以先看一下下面这2个帖子.
( y) A7 p' i+ ehttps://www.chinaavg.com/read.php?tid=16610
/ e# m( s$ x# E& D0 s! u2 }' [https://www.chinaavg.com/read.php?tid=17017 X( o5 t# X( n5 d
, u/ T* z0 a( D. [& N
你可以用这个工具先查看一下16X12字库,有个直观的概念。
5 p k9 q9 \* p5 C" i) K- J. b0 ~. d8 t
我可以给你举个例子。不过只能用文字描述。
8 i3 q1 Y( B8 O; g% b; ?# L字体文件中每24个字节保存了一个汉字的字模,一个挨一个连续存放。4 `; _# ?, X# a' k4 N& d9 _2 j
根据汉字的编码找到该汉字字模的偏移量的公式我写了,是一下这个公式。
( E' B+ J7 t% z+ Ridx = ((idx % 256) - 0xa1)* 94 + ((idx / 256) - 0xa1); ' E5 ?5 Y! r- v3 @2 Q) @
不放心的话,可以找个汉字,然后找到它的字模的偏移量,然后切出24个字节,再用这个工具看一下。
0 _9 k" Y# n0 s6 Y) M z/ T, ]. o
+ p! w- E% X0 i2 X好,接下去说再解释一下这个任务。
, A' w( Z9 ^7 W4 x, X8 _# K2 f0 g原本16X12里的字模的样子都是没有重复的,现在我们要做一件事,我们要修改一个汉字的字模,比如说是"你"这个字,我们给它做个变脸手术,让它的样子长得和"我"这个字一样,其实就是找到"我"的字模的位置和"你"的字模的位置,把"我"的字模覆盖掉"你"的字模。
- V; S. H) L9 [: `" s2 B
0 \8 h: {8 w3 x$ _2 F' L: C我们要求修改好多对"你"和"我",这个就在一个文本文件里定义,怎么定义其实是随便的。 |