Subject: information about the ETEN bitmap font files

From: Stephen G Simpson <[email-masked]>
Date: Sun, 21 Mar 1993 13:51:43 -0500

ETEN BITMAPS AND CHARACTER CODES

Here is a detailed description of the ETEN bitmap font files and
character codes.  I hope this information will be useful for those who
want to use ETEN fonts in applications other than ETEN.  Please keep
in mind that ETEN and therefore its font files are copyrighted.

I extracted this information by poking around in my own copy of ETEN,
Version 2.00.03.  I don't know whether this information is correct for
other versions of ETEN.

The ETEN bitmap font files are as follows:

ASCFONT.15      3840   7-01-90
ASCFONT.24     12288   7-01-90
SPCFONT.15     12240   7-01-90
SPCFONT.24     29376   7-01-90
SPCFSUPP.15    10950   7-01-90
SPCFSUPP.24    26280   7-01-90
STDFONT1.15    32490   7-01-90
STDFONTS.15   360330   7-01-90
STDFONT.24    942768   7-01-90
STDFONT.24K   942768
STDFONT.24L   942768

To this list it is convenient to add:

STDFONT.15    392820

There is no actual file called STDFONT.15, but it could be created by
concatenating STDFONT1.15 followed by STDFONTS.15, and its size would
then be 32490 + 360330 = 392820 bytes.  The description below will be
given in terms of the nonexistent file STDFONT.15 rather than the
actual files STDFONT1.15 and STDFONTS.15.

The dimensions of a bitmap are given as WxH, where W = width and H =
height.  The bits within a bitmap are stored in row major order, i.e.
the first row followed by the second row followed by ..., from left to
right within each row, and from most significant bit to least
significant bit within each byte.  Each row is padded to full bytes,
so the size of a WxH bitmap is ((W+7)/8)*H bytes, where / denotes
integer division.

The *.15 files consist of 15x15 (= 30 byte) bitmaps, except
ASCFONT.15, which consists of 8x15 (= 15 byte) bitmaps.  The *.24
files consist of 24x24 (= 72 byte) bitmaps, except ASCFONT.24, which
consists of 12x24 (= 48 byte) bitmaps.

STDFONT.24, STDFONT.24K and STDFONT.24L are identical except for the
styles of their Chinese character bitmaps -- Ming, Kai, and Li styles
respectively.  The description below will be given in terms of
STDFONT.24, but it applies equally to STDFONT.24K and STDFONT.24L.

A 1-byte code consists of one byte.  The possible values of the byte
are 00 through FF, i.e. 256 possibilities.  Codes 00 through FF are
used to designate the 256 bitmaps in ASCFONT.15 (= 256 * 15 = 3840
bytes) and in ASCFONT.24 (= 256 * 48 = 12288 bytes).  These 256
bitmaps consist of the IBM PC "extended ASCII" character set.

A 2-byte code consists of two bytes.  The possible values of the first
byte are A1 through FE, i.e. 94 possibilities.  The possible values of
the second byte are 40 through 7E and A1 through FE, i.e. 63 + 94 =
157 possibilities.

Codes A140 through A3BF (2 * 157 + 94 = 408 codes) are used to
designate the 408 bitmaps in SPCFONT.15 (= 408 * 30 = 12240 bytes) and
in SPCFONT.24 (= 408 * 72 = 29376 bytes).  These 408 bitmaps include
punctuation marks, graphics characters, special symbols, Roman
numerals, Arabic numerals, the Roman alphabet, the Greek alphabet, and
the Bopomofo alphabet.

Codes A3C0 through A3FE (63 codes) are unused.

Codes A440 through C67E (34 * 157 + 63 = 5401 codes) are used to
designate the first 5401 bitmaps in STDFONT.15 (= 5401 * 30 = 162030
bytes) and in STDFONT.24 (= 5401 * 72 = 388872 bytes).  See footnote
below.  These 5401 bitmaps consist of the 5401 Big-5 "frequent use"
Chinese characters.

Codes C6A1 through C8D3 (94 + 157 + 114 = 365 codes) are used to
designate the 365 bitmaps in SPCFSUPP.15 (= 365 * 30 = 10950 bytes)
and in SPCFSUPP.24 (= 365 * 72 = 26280 bytes).  These 365 bitmaps
include some additional numerals and special symbols, the Japanese
Hiragana and Katakana syllabaries, and the Russian alphabet.

Codes C8D4 through C8FE (43 codes) are unused.

Codes C940 through F9FE (49 * 157 = 7693 codes) are used to designate
the remaining 7693 bitmaps in STDFONT.15 (= 7693 * 30 = 230790 bytes)
and in STDFONT.24 (= 7693 * 72 = 553896 bytes).  See footnote below.
These 7693 bitmaps consist of the 7652 Big-5 "less frequent use"
Chinese characters, followed by 7 additional Chinese characters and 41
additional graphics characters.

Codes FA40 through FEFE (5 * 157 = 785 codes) are unused.

Footnote:  The size of STDFONT.15 is (5401 + 7693) * 30 = 162030 +
230790 = 392820 bytes.  The size of STDFONT.24 is (5401 + 7693) * 72 =
388872 + 553896 = 942768 bytes.

Stephen G. Simpson
Department of Mathematics, Pennsylvania State University
333 McAllister Building, University Park, State College, PA 16802
Office phone: +1 814 863-0775      Internet: [email-masked]
Home phone: +1 814 238-2274        Bitnet: T20@PSUVM
FAX: +1 814 865-3735