1. A computer-implemented method of compressing dot-matrix font data including a set of dot-matrix font characters, each character being represented in a dot-matrix, the method comprising: (a) dividing each dot-matrix font character into a horizontal image including horizontal image pattern(s), a vertical image including vertical image pattern(s), and a residual image including residual image pattern(s); (b) applying the Huffman coding to the horizontal image patterns in the set to produce compressed horizontal codes for the horizontal image patterns in the set; (c) applying the Huffman coding to the vertical image patterns in the set to produce compressed vertical codes for the vertical image patterns in the set; (d) applying the Huffman coding to the residual image patterns in the set to produce compressed residual codes for the residual image patterns in the set; and (e) for each character, selectively combining the compressed horizontal codes, the compressed vertical codes, and the compressed residual codes to produce a bit string that represents a compressed form of the character.