font, subfont - external format for character fonts and subfonts — Inferno 1ed
font, subfont - external format for character fonts and subfonts
Description
Fonts are constructed as a list defining a range of Unicode characters and a subfont containing the character images for that range. Subfonts are not directly accessible from Limbo.
Font Format
External fonts are described by a plain text file that can be read using the Font.open function. The Font.build function reads the same format from a string rather than a file. (See font - character images for Unicode text in Chapter 11).
The format is a header followed by any number of subfont range specifications. The header contains two numbers: the height and the ascent, both in pixels. The height is the inter-line spacing and the ascent is the distance from the top of the line to the baseline. These numbers should be chosen to consistently display all the subfonts of the font.
Subfont Format
External subfonts are represented in a more rigid format. The components must appear in the following order: An image containing character images
The image has the format for external image files described in image - external format for images.
A subfont header
The subfont header has 3 decimal strings: n, height, and ascent. Each number is right-justified and blank padded in 11 characters, followed by a blank. Character information
The character info consists of n+1 entries, each 6-bytes and giving values called x (2 bytes, low order byte first), top, bottom, left, and width for the successive characters from left to right (in increasing Unicode order) in the subfont. Note
There is a convention of using the character with value zero (nul) to represent characters of zero width. This means that fonts should have, as their zero-th character, a character with non-zero width. See the description of the Image.text function in Image - pictures and drawing.
infernosupport@lucent.com Copyright © 1996,Lucent Technologies, Inc. All rights reserved.