Example font file (27 bytes) – Matrix Orbital GLK12232-25-SM Legacy User Manual
Page 26

26
6.4.3 A Sample Font File
Let's look at a short sample font file containing only the letters "h", "i" and "j". First we need to define the
font size. For this example we'll use a 5 x 7 pixel font. Next, we have to draw the bitmaps for each of the
characters. We'll use the examples shown in Figure 6-1.
Figure 6-1 Bitmaps for h, i and j
Now the bitmaps have to be converted to bytes. If the font is 8 bits high, this is a pretty simple job because
each vertical column is simply one byte (lsb at the top). In this case, however, the font is only 7 bits high so
the bytes "wrap around" as shown in Figure 6-2.
1
2
4
8
1
2
4
8
lsb
byte 1
byte 2
byte 3
byte 4
byte 5
byte 5 overflow (ignored)
7F
04 81 80
07
Bytes "straightened out"
Figure 6-2 Bytes for a 7 bit high font
We've marked in the bits that are set for the letter "h". Remember that the bytes are "inverted", i.e. the LSB
is at the top. Each byte is shown in a different colour in the diagram. When the bytes are straightened out,
it's simple enough to find their hex values, which are shown in the diagram above each byte. Trailing zero
bytes at the end of narrow characters are not included in the file.
Now let's look at the file itself.
Example Font File (27 bytes)
0xFF 0xFF
0x05
0x07
0x68
0x6A
0x00
0x0F
0x05
0x00
0x14
0x03
0x00
0x17
0x04
0x7F
0x04
0x81
0x80
0x07
0xC4
0x3E
0x10
0x02
0x20
0xB1
0x07
The colours refer to:
Font information header
,
character 'h'
,
character 'i'
,
character 'j'
.
Explanation of the bytes in the file:
(All values below are in hex)
FF FF
placeholders for actual EOF
05 font
width
07 font
height
68
first ASCII character defined