Hi!
I generated an OT-CFF font with FDK 2.5 and noticed that some keystrokes like ü, ö, ä, ß are mapped to a wrong glyph.
My command line is:
makeOTF25.exe -f MyFont.pfa -o MyFont.otf -ff MyFont.fea -mf MyFont.fmndb -gf MyFont.goadb -r -osv 4 -osbOn 7 -osbOn 8 -osbOff 9
I dumped the font using ttx.py from FontTools and compared it to a working font I generated with FontLab Studio 5.04. The biggest notable difference is that the correct font has this entry in the CFF table:
<Encoding name="StandardEncoding"/>
while in the FDK-generated font that part looks like this:
<Encoding>
<map code="0x0" name=".null"/>
<map code="0xd" name="CR"/>
<map code="0x20" name="space"/>
<map code="0x21" name="exclam"/>
<map code="0x22" name="quotedbl"/>
<map code="0x23" name="numbersign"/>
...
<map code="0xdf" name="Thorn"/>
<map code="0xe0" name="germandbls"/>
<map code="0xe1" name="agrave"/>
<map code="0xe2" name="aacute"/>
<map code="0xe3" name="acircumflex"/>
<map code="0xe4" name="atilde"/>
<map code="0xe5" name="adieresis"/>
<map code="0xe6" name="aring"/>
...
Note that in the beginning the mapping is correct, but in the lower part it is off by one (starting at
<map code="0xae" name="registered"/>
<map code="0xb0" name="macron"/>
) which explains the keystrokes resulting in wrong glyphs.
I'm not sure why the Encoding part is there at all instead of just using the "StandardEncoding", and why the mapping turns out wrong. Is this a bug in FDK or am I missing some option? In my goadb file the unicodes are correct.
I've attached the complete beginning of the CFF table to this post in case it is relevant.
Thanks for any ideas,
Jens