The ‘gasp’ table (Grid-fitting and Scan-conversion Procedure Table) in a TrueType font plays an important role in how a Hinted TrueType font will render on-screen. The table contains information that describes the preferred rasterization techniques for the typeface, as well as specifying the combination of sizes and rasterization modes at which hinting should be applied. There is no single rendering solution that works well at all sizes.
At very small sizes, say below 8 ppem, there are too few pixels available to properly grid-fit, causing glyphs to be distorted. At most sizes, from 8-60ppem, gridfitting works well to control proportion, weight, and consistency, but at even larger sizes, gridfitting is unnecessary as there are plenty of pixels to render glyphs accurately. Similarly, vertical antialiasing works well at some sizes but not at others: below 8ppem, it helps in absence of gridfitting; from 8-20ppem, there are too few pixels to antialias well, so it is better disabled; at larger sizes, antialiasing helps preserve proportions and improve letter shape. Luckily, you can control all this by editing the font’s ‘gasp’ table.
Most Latin typefaces really only need to have three ranges:
· At small sizes, the font renders without gridfitting, but with vertical antialiasing. E.g. below 8ppem. This gives the best forms possible with so few pixels.
· At moderate sizes, the font renders with gridfitting, but without vertical antialiasing. E.g. 8-20ppem. Gridfitting keeps proportions, consistency, and sharpness. The lack of antialiasing also helps keep letters sharp as there’s not yet enough pixels for antialiasing.
· At larger sizes, the font renders with gridfitting, and also with vertical antialiasing. E.g. above 20ppem. At these sizes, there are enough pixels for antialiasing to improve letterform shape, and the perceived blur that antialiasing brings will not muddy counters and interior shapes.
One could add a fourth range above *80ppem to disable gridfitting, but this is unnecessary in most typefaces. (*Approximately)
Note: The above values vary from font to font. For example, a bold typeface can often support vertical antialiasing at a smaller size than the regular. Be sure to proof each of your fonts at several sizes to choose the right size ranges for each font. See section below on proofing using ‘Follow gasp settings’ in VTT.
You can edit the font’s ‘gasp’ table by selecting Edit Gasp table from the Edit menu.
You can control antialiasing and gridfitting in the ‘gasp’ table editor. The settings shown in this image implement the ranges describe in the bullet points above.
To change settings in the ‘gasp’ table
1. From the Edit menu, click Edit Gasp table.
2.
In the Up To field, type the upper limits of size ranges you wish to
control.
Note that the first row controls the rendering for all sizes below and including the first size you enter. Subsequent rows control the range above the previous size and including the current row. (e.g. the second row controls the rendering for all sizes above the first and including the second size you type). The Above row controls the rendering for all sizes above the highest size you type in. The size listed in this row will automatically adjust to your size ranges that you enter.
3. After each range, set the rendering options that you want to apply to that size range. There are four sets of options, and they work in pairs. Grid Fit and Grayscale work together, Grid fit CT and Non CT AA form the second pair. See below for details.
4. Click OK, and Save
Option |
What It Means |
Grid Fit |
Set this option to enable grid fit / Hinting |
Grayscale |
Set this option to render with Windows XP Grayscale antialiasing mode. This flag only applies when the application is not using ClearType. |
Grid fit CT |
Set this option to enable grid fitting when the application uses ClearType (e.g. using DirectWrite). |
Non CT AA |
Set this option to enable vertical antialiasing when the application uses ClearType (e.g. using DirectWrite). |
‘Follow gasp settings’ (Proofing Mode only)
When enabled, ‘Follow gasp settings’ mode in VTT, allows you to proof your font, inside VTT, using the ‘gasp’ table settings. This allows you to proof how the gasp settings will affect the rendering, without having to install the font. When Follow gasp settings is set, the rendering of any sample text in the main window, will follow the ‘gasp’ table settings. While in this mode, you can also view and proof your font, in the Sample Text Window, (Ctrl 6), Waterfall (Ctrl 8) and Character Set Window (Crtl 9).
Enable ‘Follow gasp settings’ mode
From the Display menu, choose options, or (Ctrl D).
Choose the type of rendering you wish to proof, under Rasterizer Options, and click ‘Follow gasp settings’
When ‘Follow gasp settings’ is checked, the words “gasp mode” are added to the end of the status line in the VTT Main window. There are two additional indicators, depending on which rendering mode is chosen. “GS” indicates Grayscale mode, CTAA indicates ClearType Anti-Alias mode meaning Y direction anti-aliasing.
Note: ‘Follow gasp settings’ mode is intended for proofing only. While proofing in ‘gasp’ mode it is important to view and proof only. VTT will revert to editing mode, and Follow gasp settings will be disabled, if any changes are made in the main window (e.g.: turning grid-fitting on or off)
‘GS’ indicates Grayscale smoothing
‘CTAA’ indicates ClearType Anti-Alias mode meaning Y direction anti-aliasing or symmetric smoothing