Glyph files (.glyph extension) are used to store commonly-used
bit patterns (glyphs) for Magic. Right now, the bit patterns are used
for two purposes in Magic. First, they specify patterns for
programmable cursors: each cursor shape (e.g. the arrow used for
the wiring tool) is read in as a glyph from a glyph file. Second, glyphs
are used by the window manager to represent the icons displayed
at the ends of scroll bars. Glyph file names normally have the
Glyph files are stored in ASCII format. Lines beginning with
# are considered to be comments and are ignored. Blank lines
are also ignored. The first non-comment line in a glyph file
must have the syntax
size nGlyphs width height
The nGlyphs field must be a number giving the total number
of glyphs stored in the file. The width and height
fields give the dimensions of each glyph in pixels. All glyphs
in the same file must have the same size.
The size line is followed by a description for each of
the glyphs. Each glyph consists of height lines each
containing 2×width characters. Each pair of characters
corresponds to a bit position in the glyph, with the leftmost
pair on the topmost line corresponding to the upper-left pixel
in the glyph.
The first character of each pair specifies the
color to appear in that pixel. The color is represented as
as a single character, which must be the short name
of a display style in the current display style file. Some
commonly-used characters are K for black, W for
white, and . for the background color (when . is
used in a cursor, it means that that pixel position is
transparent: the underlying picture appears through the cursor).
See Magic Maintainers Manual #3: Display Styles, Color Maps,
and Glyphs for more information.
The second character of each pair is normally blank, except for
one pixel per glyph which may contain a * in the second
character. The * is used for programmable cursors to
indicate the hot-spot: the pixel corresponding to the *
is the one that the cursor is considered to point to.
For an example of a glyph file, see ~cad/lib/magic/sys/color.glyphs.