Using my brand new copy of FontLab, I've put together my first OpenType font. Unfortunately, I don't think I understand everything yet and I have a few questions for the experts. (Please forgive me if these questions sound a little stupid.)
My font is a basic CFF .otf font with upper case characters and alternate figures. I use the aalt and salt OpenType features and it works in the FontLab preview on Panther.
1) I was surprised to see that 1/3rd of my applications have no idea what OpenType might be at all (Word, etc.). 1/3rd work just fine and I can access the alternate characters (these are Adobe applications which seem to use their own font engine) and the last third of my applications (such as TextEdit, or Freeway) claim that there are "no typographic features" in the font (but I can use the character palette's glyph input to see the alternates) . It seems that Apple wants me to put AAT tables in the font, but how can I add these tables? The Apple tools apparently only like TrueType flavored OpenType fonts? Help!
My salt feature is really simple (and accesses two FontLab classes):
feature salt { # Stylistic Alternates
sub @figures by @altfigures;
} salt;
2) To make the font more usable, I want to "copy" the upper case glyphs to lower case. I tried adding additional Unicode indexes as per page 95 of the FontLab manual. FontLab proudly shows the little "D" icon at both locations and the preview seems to indicate everything is fine. Unfortunately, applications only seem to display the first index and either nothing (Adobe) or the default Font (Apple) for the lower case!? I can of course cheat and just duplicate the glyph (or use a "composite" with only one component).
3) When I add the OpenType "size" feature, FontLab crashes when compiling the features. Does anyone know whether that's a known problem (or something FontLab just doesn't support), or should I report this?
The following is the example from the Adobe web site. I removed the sizemenunames.
feature size {
parameters 100 # design size (decipoints)
3 # subfamily identifier
80 # range start (exclusive, decipoints)
139; # range end (inclusive, decipoints)
} size;
Thanks for your time!
Robert
