From: Xiangdong Wang <[email-masked]>
Date: Mon, 8 Nov 1993 11:32:39 +0100

Since 1990 I begin to develope the chinese word processor XingXing.
I have twenty 64x64 chinese fonts. because a chinese bitmap font
is too big, I must compress it before one uses it. A 64x64 bitmap font
(GB code, 6768 characters) has a size of 3.4MB. There are some methods
to compress the chinese fonts. one of them is used in TeX for PK fonts:

    the 64x64 bitmap of a character (512 bytes):

    b1   b2   b3   b4   b5   b6   b7   b8
    b9   b10  b11  b12  b13  b14  b15  b16
      .........................
      .........................
    b505 b506 b507 b508 b509 b510 b511 b512

is coded to:
    (white dots) (black dots) (white dots) (block dots) ....
for example: ...xx....xxxxxxxx.......xxxxxxx.........  is coded to: 3 2 4 8 7 7
 9.
I got a compressed font of size 1.5MB using this method. But the compression is
slow.

Another method is used for PCX graphic:

    the 64x64 bitmap of a character (512 bytes):

    b1   b2   b3   b4   b5   b6   b7   b8
    b9   b10  b11  b12  b13  b14  b15  b16
      .........................
      .........................
    b505 b506 b507 b508 b509 b510 b511 b512

is coded to:
    (repeat_count, byte) (repeat_count,byte) ...

for example: 00 00 00 00 FF FF FF F1 01 is coded to (4,00) (3,FF), (1,F1),
 (1,01)
Direct using this method I got the compressed font of size 3MB. You see that
this method is too bad. BUT as I changed the order of bytes in bitmap (tranpose
of a matrix):

    the 64x64 bitmap of a character (512 bytes):

    b1   b9   b17  ...  b505
    b2   b10  b18  ...  b506
      ....................
      ....................
    b8   b16  b24  ...  b512

I got a (compressed) new font of size 1.3MB using the PCX-method, it is about
 33%
and it is very very quick.

I hope it is useful for you.

wang xiangdong