There are several best practices you should keep in mind when working with OpenType fonts. Additional information is available at the Web sites that are listed in this section.
OpenType fonts for complex scripts should implement all linguistic features that are identified for the script or language system that they support. A list of all registered OpenType features is available at http://www.microsoft.com/typography/otspec/feattags.htm.
Lookups are applied exactly in the order that they appear in the layout tables. Thus it is of vital importance for this order to match the way the designer intended for lookups to be applied.
When more than one format can be used to construct a lookup, use the format that results in the greatest storage efficiency. Also, in cases where more than one lookup is meant to substitute different glyphs-and if the lookups share the same context-find out if their contents can be merged into one lookup.
Device tables improve positioning for a short range of very small point sizes. These tables can also be used for subtle positioning adjustments at a specific point size that do not occur at other point sizes. For instance, there might be an adjustment at 51 pixels per em (ppem) that does not occur at 50 ppem. However, device tables do add to the size of the GPOS table. Therefore, if a device table is being used for positioning a glyph across a very large range of point sizes, you should examine if the anchor on that glyph needs to be moved to a better (x, y) location.
You should be aware of guidelines on byte ordering, outline formats, file names, as well as table alignment and length. These recommendations are available at http://www.microsoft.com/typography/otspec/recom.htm. In addition to these guidelines, the specifications for creating OpenType fonts that support complex scripts are an essential reference.