DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
Customizing device character mapping

Font maps

A font map consists of a sequence of lines giving the position in the font where the character will be placed, and the symbolic name of the character. A file /usr/lib/fonts/ROMfont contains the names of all the characters in the default PC 437 code set. When pcfont runs, it tries to match the symbolic names in the font map file with those in the PC 437 code set. If the name is not in this list, it assumes that the character is user defined and reads the bit map definition from the font description files. These font description files are generated using the fcomp command.

``Sample font map'' is an example of a new display font. In a real case all values from 32 to 255 would need to be defined. This example includes only five characters.

   #  New display font
   #
   A_ACUTE 128
   dollar 129
   E_ACUTE 130
   u_cflex 131
   intl_curr 132

Sample font map

All lines that start with a '#' are comment lines, and are ignored. All symbolic names must be less than twenty characters long, and can contain any characters, but must start with a letter.

The first four characters are all part of the PC 437 code set, so they need not be redefined. However, intl_curr (the international currency symbol) is not, so a definition is needed. We must create four files, one for each of the font sizes supported by pcfont (8x8, 8x14, 8x16, and 9x16). If the new font is called newfont, then the font map will also be called newfont and the font description files are called newfont.8x8, newfont.8x14, newfont.8x16, and newfont.9x16.

The source for the newfont.8x8 file, (src.8x8) could look like ``Sample font description''

   intl_curr
   00000000
   01100011
   00111110
   01100011
   01100011
   01100011
   00111110
   01100011

Sample font description

To compile this, enter:

fcomp -m src.8x8 > newfont.8x8

When all the font description files have been created, they must be copied along with the font map to the directory /usr/lib/fonts.


NOTE: The 9x16 font does not need the ninth bit defined in the font description files. All characters between 0xB0 and 0xDF have the eighth bit copied to the ninth bit. All others have the ninth bit set to zero.


Next topic: The ISO 8859-1 latin 1 code set
Previous topic: Unloading KBD tables

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 22 April 2004