A style, an instance of the style<%> interface, parameterizes high-level display information that is common to all snip classes. This includes the font, color, and alignment for drawing the item. A single style is attached to each snip.
Styles are hierarchical: each style is defined in terms of another style. There is a single root style, named "Basic", from which all other styles in an editor are derived. The difference between a base style and each of its derived style is encoded in a style delta (or simply delta). A delta encodes changes such as
Style objects are never created separately; rather, they are always be created through a style list, an instance of the style-list% class. A style list manages the styles, servicing external requests to find a particular style, as well as the hierarchical relationship between the styles. A global style list is available (the-style-list), but new style lists can be created for managing separate style hierarchies. For example, each editor will typically have its own style list.
Each new style is defined in one of two ways:
In an editor, all snips are initially assigned a style called "Standard". By default, the "Standard" style is unmodified from the root style.