2 Replies Latest reply on May 28, 2007 12:34 AM by (John_D._Smith)

    Problem with ligatures in PUA

      I have a set of fonts that I created with FDK 1.6. They contain numerous non-standard ligatures, e.g. "a" + combining macron + combining acute. FDK 1.6 stored these in the Private Use Area, and GSUB rules invoking them worked fine on Windows from XP SP2 onwards.

      I now have to rebuild these fonts using FDK 2.0. After some trouble I have got the new command line switches right (I think), and I have added explicit PUA numbers for the weird ligatures in a GlyphOrderAndAliasDB file, since the documentation warns that FDK will no longer do this for me automatically. The resulting OTF fonts work fine on my MacBook Pro; however, under XP the PUA glyphs do not appear (non-PUA substitutions do happen).

      I've about run out of ideas for things to try. Any help would be most welcome.

      John D. Smith
        • 1. Re: Problem with ligatures in PUA
          Level 1
          The FDK 2.0 makeOTF can build a font identical to the makeOTF from 1.6. I suggest that use the ttx ( which is NOT the tx tool) tool from the FDK 2. to dump both fonts to XML and compare the two XML text files to see what's different. The XML version of the GSUB table is suitable only for programmers; to get a more useful text version of this to compare between the new and old version, use the command line:
          spot -t GSUB=7
          this will dump a feature-file syntax version, with notes about under which language and script the lookups are registered.

          If you have made sure the PUA values are the same by applying them explicitly, the only other thing I can think of is that the FDK 2.0 makeotf does have different rules for assigning language and script. In the FDK 2.0, the default languagesystem is "DFLT dflt"; in the FDK .16 it was "latn dflt". For making a new font, you should specify both language systems:
          languagesystem DFLT dflt;
          languagesystem latn dflt;

          If none of this helps, send me the old and new version of the font, and I can look into it.

          - Read Roberts
          • 2. Re: Problem with ligatures in PUA
            (John_D._Smith) Level 1
            Ah -- that was indeed it. The double languagesystem declaration solves the problem. Many thanks for this, and also for pointing me towards the very useful spot command, which I had not previously, er, spotted.

            I am now back on track.
            John Smith