The Outline Tag (otag) file contains a number of tags that describe a font outline to the Diskfont library. The purpose of most of these tags is to allow Diskfont to attribute styles to a typeface when loading a font outline as a standard Amiga system font. Most applications that use the scaling engine will not need to worry about the meaning of the majority of these tags, but they are described below. The following tags are Level 1 tags and must be present in every otag file: OT_FileIdent ------------ Every valid otag file starts with this tag. Its value is the size of the file. It doesn't really have anything to do with the definition of the typeface, but it does serve as a way to check the validity of the otag file. OT_Engine --------- This tag's value points to a string naming the font scaling engine. For example, the OT_Engine tag in fonts:CGTimes.otag is ``bullet''. OT_Family --------- This tag's value points to a string naming the typefaces font family. For example, the OT_Family in fonts:CGTimes.otag is ``bullet''. OT_SymbolSet ------------ This tag's value is a two byte ASCII code for this typeface's symbol set. This tells the system which symbol set to use to map the Amiga character set to the Compugraphic character set. The symbol set for most CG fonts designed for use with the Amiga is ``L1'', which stands for Latin1. The exception is the CG fonts from Gold Disk, Inc. They use the ``GD'' (Gold Disk) symbol set. OT_YSizeFactor -------------- For traditional Amiga fonts, the font size does not include any spacing on top or bottom of the typeface--the Amiga doesn't consider it part of the font. CG fonts include spacing on the top and bottom of their typefaces. This tag's value is a ratio of the point height of a typeface to its ``black'' height (the point height minus the space on the typeface's top and bottom). The high word is the point height factor and the low word is the black height factor. Note that these values form a ratio. Individually, they do not necessarily reflect any useful value. OT_SerifFlag ------------ If this tag's value is TRUE, this typeface has serifs. OT_StemWeight ------------- This tag's value can be anywhere from 0 through 255 and indicates a nominal weight or ``boldness'' to the typeface. The <diskfont/diskfonttag.h> include file defines a set of ratings for this tag's value. See that file for more details. When the Diskfont library opens an outline font, it uses this value to determine if a typeface is bold. OT_SlantStyle ------------- The <diskfont/diskfonttag.h> include file defines a set of three possible values for this tag's value. See that file for more details. When the Diskfont library opens an outline font, it uses this value to determine if a typeface is italicized/obliqued. OT_HorizStyle ------------- This tag's value can be anywhere from 0 through 255 and indicates a nominal width rating to the typeface. The <diskfont/diskfonttag.h> include file defines a set of ratings for this tag's value. See that file for more details. When the Diskfont library opens an outline font, it uses this value to determine if a typeface is extended. OT_AvailSizes ------------- This tag's value points to a sorted list of UWORDs. The first UWORD is the number of entries in the sorted list. The remaining UWORDs are the font sizes that the Diskfont library lists when calling AvailFonts(). OT_SpecCount ------------ This tag's value is a number of spec tags that follow it. A spec tag is private to the scaling engine. The following are Level 2 tags. They may also be in an otag file but are not required: OT_BName -------- This tag points to a string naming the bold variant of this typeface. For example, the fonts:CGTimes.otag file lists ``CGTimesBold'' as its bold variant. OT_IName -------- This tag points to a string naming the italic variant of this typeface. OT_BIName --------- This tag points to a string naming the bold italic variant of this typeface. OT_SpaceWidth ------------- This tag's value is the width of the space character at 250 points (where there are 72.307 points in an inch). The width is in Design Window Units (DWUs). One DWU is equal to 1/2540 inches. To convert to X pixels: OT_SpaceWidth pointsize ------------- * --------- * XDPI = spacewidth in pixels (X dots) 2540 250 OT_IsFixed ---------- If this tag's value is TRUE, every glyph in this typeface has the same character advance (a fixed width). OT_InhibitAlgoStyle ------------------- This tag's value is a bitmask that is compatible with the ta_Style field of the TextAttr structure (defined in <graphics/text.h>). This tag tells which styles cannot be added to a typeface algorithmically. For example, if the FSF_BOLD bit in OT_InhibitAlgoStyle is set and a user asks for a bold version of the typeface, the diskfont.library (or an application) can add that style algorithmically. At present there are no Level 3 tags.