[Top] [Prev] [Next]

font - character images for Unicode text

include "draw.m";
draw:= load Draw Draw->PATH;
Font: adt
{
  name:   string;
  height: int;
  ascent: int;
  open:   fn(d: ref Display, name: string)      : ref Font;
  build:  fn(d: ref Display, name, desc: string): ref Font;
  width:  fn(f: self ref Font, str: string)     : int;
};

Description

The Font type defines the appearance of characters drawn with the Image.text primitive (see Image - pictures and drawing). Fonts are usually read from files and are selected based on attributes such as their size, their style and the portion of Unicode space they represent.

Fonts are built from a series of subfonts that define contiguous portions of the Unicode character space, such as the ASCII or the Greek alphabet. Font files are textual descriptions of the allocation of characters in the various regions of the Unicode space. See font, subfont - external format for character fonts and subfonts in Appendix A for the format. Subfonts are not visible from Limbo.

A default font, named *default*, is always available.

The type incorporates:
ascent, height

These define the vertical sizes of the font, in pixels. The ascent is the distance from the font baseline to the top of a line of text. The height gives the interline spacing, the distance from one baseline to the next.

name

This field identifies the font, either the name of the file from which the font was read, or *default* for the default font.

open (d, file)

The open function creates a Font for Display d by reading the contents of the named file. Fonts are cached, so an open request may return a pointer to an existing Font without rereading the file. The name *default* always describes a defined font. Fonts are created for an instance of a Display object, even though the creation functions are in type Font.

build (d, name, desc)

The build function creates a Font object by reading the description from the string desc rather than a file. The name parameter specifies the name of the font to be created.

dst.width (str)

The width method returns the width in pixels that str would occupy if drawn by Image.text in the specified font.

See Also

font, subfont - external format for character fonts and subfonts in Appendix A



[Top] [Prev] [Next]

infernosupport@lucent.com
Copyright © 1996,Lucent Technologies, Inc. All rights reserved.