beautypg.com

Datamax-O'Neil VMP SERIES AN-16 (Single Byte Character Set Font File Format) User Manual

An-16 (single byte character set font file format)

background image








AN-16 (Single Byte Character Set Font File Format)

February 24, 2006

The printer will accept fonts via download. Each font consists of a header followed by a series of graphic bit maps of each
character, in ASCII order (e.g. the first character might be a space, followed by an exclamation point, followed by double
quotes etc), or whatever mapping is represented by that font. The file must be in binary. There are several versions of .FON
files - each version uses a slightly different header.

Each character of glyph is represented by its own bitmap. Each row of each character represented contains an integer
number of bytes even if all bits within that byte are not used. A "one" will turn the paper dark; a "zero" will leave the paper
white. There must be a bit mapped entry for each character within the sequence to be represented. If the font is proportional,
then an extra 2 bytes is added to the beginning of the bitmap for each glyph. Those 2 bytes contain the width in bits of that
particular character.

Each font has a unique one character and five character name (e.g. MF226, PT10B, FONT1). The one character name is
used in the line printer mode to select the font via the ESC w command, and as an abbreviated method to refer to the font in
Easy Print protocol. The five character name is used in Easy Print protocol only. You may select any one and five character
names, but they MUST BE UNIQUE. If they are NOT unique, then the first font downloaded with that name will be selectable
and the rest will be unusable.

To speed finding fonts, each five character name has a MOD 256 summation of that name in the header. To calculate this
value, ADD the ASCII value of each character (in HEX) and use the lower order byte. For example, the characters in the
name PT10B have ASCII values 50H, 54H, 31H, 30H, and 42H which add to 147H. Using just the lower order byte, we would
enter 47H in the table where it says "MOD 256 summation..."


Version 1.0 HEADER (thermal only):

The version 1.0 header fonts are used in the MF2, MF3, and 2t/4t printers with IrDA

The 54 bytes (ALL bytes must be present) within the header are as follows:

4 BYTES

May be anything, rewritten internally

3 BYTES

Font version number (must be "1.0")

1 BYTE

Mod 256 summation of the five character name

5 BYTES

Five character name for this font

1 BYTE

One character name for this font

1 BYTE

Must be 00 for a monospace font

Must be 05 for a proportional font

2 BYTES, LSB 1st

Number of dots wide for a monospace font

0xFFFF for a proportional font

2 BYTES, LSB 1st

Number of dots high

1 BYTE

Number of bytes in each row

2 BYTES

Number of bytes in each character

1 BYTE

First ASCII character represented in this font

1 BYTE

Last ASCII character represented in this font

1

BYTE

Reserved

1

BYTE

USER

version

number

8

BYTE

USER

creation

date

20 BYTES

USER description