Hi John;
The FontDict is correctly constructed. The problem is that this is a Type 3 PostScript font, where the glyph outlines are described by regular Postscript drawing operators, like Adobe Illustrator graphics, rather than by Type 1 binary operators. MakeOTF only supports glyph outline data in the Type 1 or CFF formats. In order to use makeotf with yourfont, you will need to convert it to Type 1.
If you have Adobe Illustrator sources for the glyph outlines, then you can get these into FontLab, and then use FontLab to make Type 1 font. If you are good at scripting, you could also edit this text representation into the representation created by the FDK 'detype1' program, and then use the 'type1' program to compile this into a Type 1 font. To see the text format used by 'type', just run the 'detype1' program on any Type 1 font file. You can use the 'tx' program to extract a Type 1 font from any OTF or TTF font.
An example of how you can use the FDK command-line tools for this kind of operation:.
# Extract a Type 1 font file from an OTF font
tx -t1 <source OTF font file name> <new Type 1 font file name>
# Convert Type 1 font to a human-editable text representation
detype1 <Type1 font file name> <new text file name>
#do manual edits on the <new text file name>
#compile text file back into a Type 1 font
type1 <old text file name> < new Type1 font file name>
#convert Type 1 font to CFF
tx -cff <Type1 font file name> < new CFF font file name>
#Finally, stick the new CFF font data back into the original OTF font
sfntedit -a "CFF"=< CFF font file name> <source OTF font file name>
Note that the last works only if you did not change glyph order, as many OTF tables references glyphs by glyph ID.
- Read Roberts