•  Back 
  •  Line-A 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  %About 
  •  Show info about hypertext 
  •  View a new file 
Topic       : The ATARI Compendium
Author      : Scott Sanders / JAY Software
Version     : 1.25 (20/6/2003)
Subject     : Documentation
Nodes       : 1117
Index Size  : 32614
HCP-Version : 6
Compiled on : Atari
@charset    : UTF-8
@lang       : en
@default    : 
@help       : %About
@options    : +g -i -t4 +y +z
@width      : 100
View Ref-File
                            Line-A  Font Headers


Raster system and GDOS fonts are linked to form a list of font headers
which contain the information needed to render text. Outline text
generated by FSM is inaccessible in this manner.

Each monospaced font contains a font header, character and horizonatal
offset table, and font form. All data types are in "Little Endian" (Intel
format) and as such must be byte-swapped before use.

The font form is a raster form with each character laid side-by-side on
the horizontal plane. The first character is WORD aligned but padding
within the form only occurs at the end of a scanline to force the next
scanline to be WORD aligned.

Each font header contains a pointer to the next font in the list. The
list is terminated by a NULL pointer. The font header format is as
follows:

Name          Offset      Type      Contents

font_id          0        WORD      Font ID number (must be unique).

point            2        WORD      Point size of font.

name             4        32 BYTEs  ASCII Name of font.

first_ade       36        UWORD     First ASCII character in font.

last_ade        38        UWORD     Last ASCII character in font.

top             40        UWORD     Distance from the top line of the font
                                    to the baseline.

ascent          42        UWORD     Distance from the ascent line of the
                                    font to the baseline.

half            44        UWORD     Distance from the half line of the
                                    font to the baseline.

descent         46        UWORD     Distance from the descent line of the
                                    font to the baseline.

bottom          48        UWORD     Distance from the bottom line of the
                                    font to the baseline.

max_char_width  50        UWORD     Width of the widest character in the
                                    font.

max_cell_width  52        UWORD     Width of the widest character cell in
                                    the font.

left_offset     54        UWORD     Amount character slants left when
                                    skewed.

right_offset    56        UWORD     Amount character slants right when
                                    skewed.

thicken         58        UWORD     Number of pixels to smear for
                                    thickening.

ul_size         60        UWORD     Size of an appropriate underline for
                                    the font.

lighten         62        UWORD     Mask for character lightening.

skew            64        UWORD     Mask for character skewing.

flags           66        UWORD     Font type flags.

hor_table       68        LONG      Pointer to the horizontal offset
                                    table. The horizontal offset table is
                                    an array of bytes with one entry per
                                    character denoting the pixel offset to
                                    the character.

off_table       72        LONG      Pointer to the character offset table.
                                    The character offset table is an array
                                    of WORDs with one entry per character
                                    denoting the byte offset into the font
                                    form of the character.

dat_table       76        LONG      Pointer to the character data.

form_width      80        UWORD     Width of the font form in bytes.

form_height     82        UWORD     Height of the font form in pixels.

next_font       84        LONG      Pointer to the next font in the list
                                    (0=no more fonts).

reserved        88        UWORD     Reserved for future use.