A new release (v1.6.6148) of the Adobe Font Development Kit for OpenType has just been posted at:
http://partners.adobe.com/asn/developer/type/otfdk/main.html
This includes some minor changes in the feature file syntax, slightly better documentation for the MakeOTF tool, a complete installation procedure for Mac OSX 10.2.4, addition of the "Unicode and Glyph Names" documentation under the FDK license, and minor bug fixes.
The most important change has to do with the handling of contextual substitution layout rules. MakeOTF now includes an option to create these either correctly, according to the OpenType specification v1.4, or in the older format used by InDesign v2.0 and earlier. This option is now tied to some additional logic, such that if you build a font to be compatible with InDesign v2.0 and earlier, some special text will appear in the name table named-id 5 "Version" . This text will serve as a marker that the font uses the InDesign v2.0 compatible format for these rules, and will consequently work with not only InDesign 2.0 and earlier, but also with any future programs that know to recognize the special text.. The special text was chosen in order to permit all known older OpenType fonts which have contextual substitution layout rules to keep working under future revisions of Adobe programs.
This meant to be only a short-term solution. We do not anticipate that non-Adobe products will necessarily pick up this special case logic, and we do expect to revise the Adobe Type Library OpenType fonts to correct the rule format, once the next version of InDesign has been out for a few months
The special case logic is documented in the FDK Release Notes, under build 5959. The special case is triggered when a font matches the following criteria:
if (the name table name id (1,0,0,5) exists:
if the name ID string matches the regular expression
"OTF[^;]+;PS[^;]+;Core 1\.0\.[23][0-9].*":
the font has In Design 2.0 format
else if the e name ID string matches the regular expression
"Core[^;]*;makeotf\.lib":
the font has In Design 2.0 format
else the font has the correct format.
Example of string 1: "OTF 1.006;PS 1.004;Core 1.0.35"
Example of string 2: "Core 1.0.38;makeotf.lib1.5.4898"
Another example of string 2:"Core;makeotf.lib"
Fonts built with FontLab by default have name id 5 strings in the format of example 1, although it is possible to change the value.