glyphs - format of .glyphs files
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
field must be a number
giving the total number of glyphs stored in the file. The width
fields give the dimensions of each glyph in pixels. All glyphs
in the same file must have the same 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 .
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 Maintainer's 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.