Amiga Unix — 68040 · 68060

Manual pages › Amiga-specific data formats (5A)

font(5A)

format of font files for Amiga Unix screens

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

font - format of font files for Amiga Unix screens

getscr -ffilename ...
sioc setfont filename
sioc setdeffont filename
sioc getfont

The text facility present in the Amiga Unix console driver (console(7A)) uses a font description format described by the following structures from <sys/amiga/screen.h>:

struct charent {

unsigned char ce_height; /* Height of bitmap */
unsigned char ce_width; /* Width of bitmap */
unsigned char ce_basel; /* # pixels above baseline */
unsigned char ce_move; /* Horiz. cursor increment */
unsigned char ce_bpl; /* Bytes per line */
unsigned char ce_pad;
unsigned short ce_data; /* Offset of bitmap data */ }; struct font {
unsigned short f_magic; /* Font file magic number */
unsigned short f_flags;
unsigned short f_count; /* Number of references */
unsigned short f_pad0;
unsigned long f_length; /* Total # bytes */
unsigned char f_height, f_width; /* "Typical" character size */
unsigned char f_baseline; /* # pixels above baseline */
unsigned char f_pad1;
struct charent f_ctable[256]; /* Character table */ }; /* font.f_magic */ #define F_MAGIC 0x2a46

In memory, the struct font is followed by a variable number of bytes which contain the actual character bitmap data referenced by the elements of f_ctable[]. The ce_data fields are offsets in bytes relative to the address of the struct font itself.

A font file is an exact image of the in-memory font information. The f_length field is available to know how many bytes need to be written to create such a file.

screen(7A), console(7A), sioc(1A), getscr(1A)

/usr/amiga/lib/font/ - directory where font files are stored