Pair adjustment ignored or generating error

Get help with FontCreator here. Please do not post feature requests or bug reports here.
Post Reply
stormag
Posts: 41
Joined: Thu Feb 05, 2009 6:20 pm

Pair adjustment ignored or generating error

Post by stormag »

I've just discovered the brilliant Class Manager and Pair Adjustment (in FC11.5 Pro), so I added some classes and pairs to a nearly finished font, that already contained relatively big kerning table (see attachd image).

The problem is, when I export the font to TTF:
• with the "Legacy 'kern' Table" set to Yes, the pair adjustments seem to be invisible (I was trying to move the Pairs up over the Table - no difference),
• with the "Legacy 'kern' Table" set to No, Photoshop can't open my images ("Could not complete your request because of a program error").

Is it possible to use both kerning table and pair adjustment in one font? Is there a recommended way of exporting fonts with mixed pair/table kerning?
Attachments
FC_PA+KT.png
FC_PA+KT.png (6.98 KiB) Viewed 6024 times
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Pair adjustment ignored or generating error

Post by Erwin Denissen »

Maybe Photoshop fails to process a feature with more than one pair adjustment lookup.

FontCreator will use a single one for both export options, so remove one of the lookups and try if that works.
Erwin Denissen
High-Logic
Proven Font Technology
stormag
Posts: 41
Joined: Thu Feb 05, 2009 6:20 pm

Re: Pair adjustment ignored or generating error

Post by stormag »

So generally both options should work fine... And is there no option for binding both kerning tables together (i guess after breaking classes)?
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Pair adjustment ignored or generating error

Post by Bhikkhu Pesala »

I maintain a lookup table just for testing purposes.

I run the Autokern on the small list of pairs, then copy and paste the results to the main lookup table that is actually used.

The lookup table can contain any combination of kerning pairs using classes and/or glyphs. However, I nearly always use classes (manually created classes).

Copy kerning pairs generated by Autokern
Pair Adjustment Test.png
Pair Adjustment Test.png (40.19 KiB) Viewed 6000 times
Paste into font's pair adjustment table
Pasted Lookups.png
Pasted Lookups.png (40.49 KiB) Viewed 5995 times
Click OK to automatically remove the duplicates.
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
stormag
Posts: 41
Joined: Thu Feb 05, 2009 6:20 pm

Re: Pair adjustment ignored or generating error

Post by stormag »

Bhikkhu Pesala wrote: Thu Jul 19, 2018 11:34 amI maintain a lookup table just for testing purposes.
I have to admit, that I'm new to Open Type Designer and the idea of having the same items (PairAdjustment and KerningFromKernTable) in three places ("Scripts", "Features" and "Lookups") is still obsure for me. Do you mean I could keep the kerning and get rid of the lookups? I tried to do so, but deleting my items in Lookups automatically erases it form the Scripts and Features. I'm very confused, as I guess I simply can't find a good insight into OpenType Designer... Maybe you could recommend some tutorial, so I could stop tormenting you with lame (I guess) questions :D ?

A actually noticed, that in Photoshop CS5 (~2010), when i export the font with the "Legacy 'kern' Table" set to Yes, the duplicated kerning pairs from the table and the pair adjustments from the new classes add up (ie. XAdvance from the table -50 and another -50 from the class kerning effectively generates XAdvance -100). It seem to be contrary to them online manual, which states:
) The order in which lookups are defined is also the order in which they are processed by host applications. This button allows you to move a lookup down so they are processed earlier or later. As soon as the host application has found a match in one of the lookups it will stop processing that specific loookup. This can be useful to create an "override" for kerning pairs for example. Consider a large kern lookup which contains several class-based pairs. If one or two pairs need extra modification, you can add another lookup to the feature and add the "exceptions" before the actual kern table. This way the host application will find the "exception" first and will skip the "wrong" value from the large lookup.
Or maybe my @2010 PS is too old?
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Pair adjustment ignored or generating error

Post by Erwin Denissen »

stormag wrote: Thu Jul 19, 2018 4:20 pmIt seem to be contrary to them online manual, which states:
The wording is partly incorrect and is confusing as well. It should refer to a single lookup with multiple sub tables, while you have two separate lookups.
Erwin Denissen
High-Logic
Proven Font Technology
stormag
Posts: 41
Joined: Thu Feb 05, 2009 6:20 pm

Re: Pair adjustment ignored or generating error

Post by stormag »

Erwin Denissen wrote: Thu Jul 19, 2018 4:57 pm (...) It should refer to a single lookup with multiple sub tables, while you have two separate lookups.
Now i understand. And is there a possibility to have one lookup with two subtables (one with classic kern table, second with classes and pairs)?

So far I managed to broke classes and copy-paste all generated kerning pairs to the first lookup, but no mater if I keep everything in one subtable or paste to a secod subtable, Photoshop keeps erroring me.
stormag
Posts: 41
Joined: Thu Feb 05, 2009 6:20 pm

Re: Pair adjustment ignored or generating error

Post by stormag »

Finally, I tamed the beast (at least in terms of my humble needs - currently for the price of breaking the classes). Erwin and Bhikkhu, thank you very much for all your replies!

Anyway, I think there's some space for the software improvements here - like some kind of "smart" pair kerning, that allow keeping pairs, with flexible posibility of putting them as virtual subtables in another lookup... Or a tool for finding overlapping kerning pairs in different lookups, with manual and automated purging options - that would be great!
stormag
Posts: 41
Joined: Thu Feb 05, 2009 6:20 pm

Mixing Classes-based and Glyph-based kerning in one subtable

Post by stormag »

Are there any limitations of using Classes-based and Glyph-based kerning pairs in one Subtable?

I mean, in the "New Pair Adjustment" window I can choose the "Kind" [ Classes and Glyphs - Classes - Glyphs ]. Is this option available only to help to keep the interface tidy and easier to navigate, or is there any reason to avoid using both classes- and glyph-based kerning pairs in one subtable (i.e. the font is less compatible etc.)?
Attachments
New Pair Adjustment - Kind.png
New Pair Adjustment - Kind.png (16.07 KiB) Viewed 5458 times
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Pair adjustment ignored or generating error

Post by Erwin Denissen »

You can mix them (FontCreator will then treat a glyph as a glyph class with a single glyph) but be aware a class-based kern subtable can only hold classes that don't overlap. If they overlap, FontCreator will export the subtable as flattened kern pairs.

To check whether subtables contain overlapping classes, open the table in the OpenType Layout Feature Code Editor and compile the code.
Erwin Denissen
High-Logic
Proven Font Technology
Post Reply