Advanced Search
Apple Developer Connection
Member Login Log In | Not a Member? Contact ADC

 

AAT Font Quality Specification

(AAT) BITMAPS

a desert line goes here
Overview

Intended mainly for CJK fonts, bitmaps are now put into tables inside of the 'sfnt'. Embedded fonts of this type are called "sbits", to distinguish them from other forms of embedded fonts. The sbits are comprised of two tables, the 'bloc' (bitmap location) and 'bdat' (bitmap data) tables. These are analogous to the 'loca' and 'glyf' tables.

These tables support various formats and sizes of bitmap fonts. Discontiguous ranges are supported, but a large number of ranges for a specific point size could affect performance. Bitmap representation for a glyph at every point size is not required. The only glyph that must be included at every point size is the missing char glyph. A good use of ranges are in CJK fonts. The first few hundred proportional glyphs would be in one range and the rest of the thousands of glyphs would be in another range and potentially in a different format.

Sbit data can be thought of as the ultimate size-and-resolution specific instruction. If a font cannot be made to accurately represent glyphs at smaller point sizes with a resolution of 72dpi, precise bitmaps for those glyphs can be embedded into the font.

The various formats in which the bitmaps are stored are designed for portability, speed, and compactness. The tools used by the typographer should be able to decide which of the formats are best for a particular situation, allowing the user to override if so desired.

With the addition of these tables, it is possible to have an sbit-only font that has no scalable glyph data. While this is strongly discouraged, sometimes it may be unavoidable.

 [NOTE] A limitation of bitmaps is that they are designed to be sized and shaped correctly for only one fixed resolution (72dpi). If, in the future, screen resolutions change or improve, then these bitmaps will not work properly.

(These bitmaps can be designed for any resolution, and the x-ppem does not have to be the same as the y-ppem. Newton is using these formats for multi- depth bitmaps for different screen depths. The designer could even do antialiased and color fonts. A color reference field is included in the specification.)

 

Matching bitmap widths with 'hdmx' tables

Currently the bitmaps use whatever metrics are embedded within the sbit. The tools creating the sbit data should in the future be able to get the metric information from the 'sfnt'. This guarantees that the data will be the same, and will improve performance.

It is suggested that the fractional (unhinted) metrics be obtained from the 'hhea' or 'vhea' table and the device (hinted) metrics be obtained from the sbit data. Therefore, any tools that create sbit data should store the device metrics.

 

Matching bitmap styling with scalable contours

When designing bitmaps, the typographer should attempt to keep the bitmaps looking as close to the intended design of the scalable font as possible. This will prevent the occurrence of a user changing font sizes and having glyphs change their look. See also: Chapter 3: Bitmap evaluation.

Figure 5-1 shows a screen-grab of a waterfall displaying some of the worst-case problems that can occur when bitmaps are not designed to match the scalable font, in this case New York. (The bitmaps for New York were designed seven years before the advent of TrueType, so discrepancies are to be expected.) In this example, 9, 10, 12, 14, 18, 20 and 24pt bitmaps are installed. All other sizes are TrueType (scaled). Note the following problems:

 

    • Spacing: the bitmapped lines are shorter than the next smallest sized scaled line; e.g., the 12pt line is shorter than 11pt, 24pt shorter than 23, 22 and 21pt, etc.
    • The dollar sign switches from one bar to two and back at 24pt.
    • Braces vary in the amount of recurve they have.
    • "Q" tail keeps changing shape.
    • Registration, copyright, and trademark keep changing size drastically, being much smaller in bitmaps.
    • Paragraph symbol changes style (filled/open, serif/sans serif).
    •  

While waterfalls are not the normal mode with which a user will work with fonts, they do illustrate the problems that the user will encounter when switching some selected text from one point size to another. Imagine the reaction of a user selecting a New York paragraph symbol, and changing its size from 24 to 25pt, for example.

fig. 5-1 Annotated waterfall showing improperly designed bitmaps (screen-grab).

[NOTE] The use of bitmaps is strongly discouraged for non-CJK fonts, and should be avoided in CJK fonts as well whenever possible. TrueType instructing is more than adequate to handle small sizes of non-CJK fonts. The example used in figure 5-1 is being shown because it was conveniently available and demonstrates graphically the problems being discussed. The bitmaps are available only by having been originally designed for the first Macintosh, prior to the advent of TrueType. They would never be designed today.




Arleigh Movitz
The Apple Fonts Group