Kerning Pairs question

Get help with FontCreator here. Please do not post feature requests or bug reports here.
Post Reply
misskris
Posts: 6
Joined: Tue May 05, 2015 8:56 pm

Kerning Pairs question

Post by misskris »

I'm working on a cursive font from someone's handwriting - and it's requiring A LOT of kerning pairs to get the joins right.

The problem I'm running into is when there are multiple kerning pairs in one word, side-by-side. The first one works, the second is ignored.

For instance if 'love' is the word I'm testing -and there is a kerning pair for lo, ov, and ve - ONLY lo and ve kerning adjustments are used. Or if there's a kerning pair for ov, ve, and er - in the word 'over' - only ov and er kerning adjustments are used. Is there anyway around this so that each pair is recognized? Or do I just have to deal with it and keep adjusting the side bearings so I have the bare minimum for kerning pairs?

I really, really need to learn open type so I can create alternate ligatures... :sigh:
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9875
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Kerning Pairs question

Post by Bhikkhu Pesala »

Before adding any kerning pairs you should spend a lot of time getting the side-bearings correct.

See Dave Crosby's tutorial on Flowing Scripts.

There are plenty of script fonts that don't have any OpenType features, but they still look good.

Kerning pairs will help, but you must be doing something wrong if the second pairs are being ignored. Which version of FontCreator are you using, and can you share your font with us?
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9875
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Kerning Pairs question

Post by Bhikkhu Pesala »

I have looked at the font, and the kerning is working as expected. Some values are positive.
Carolyn Unkerned.png
Carolyn Unkerned.png (15.7 KiB) Viewed 3507 times
Carolyn Kerned.png
Carolyn Kerned.png (15.94 KiB) Viewed 3507 times
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9875
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Kerning Pairs question

Post by Bhikkhu Pesala »

The same font with all kerning stripped, and the connecting loops fixed as per the linked tutorial, at least for a-h, n,s, and t.
Carolyn Fixed.png
Carolyn Fixed.png (15.71 KiB) Viewed 3506 times
I wasn't timing myself, but I don't think it took more than fifteen or twenty minutes.

The Roundhand Script attached to the tutorial thread has no kerning pairs and no OpenType features, but it looks fine.
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Erwin Denissen
Moderator
Moderator
Posts: 11151
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Kerning Pairs question

Post by Erwin Denissen »

misskris wrote:I'm working on a cursive font from someone's handwriting - and it's requiring A LOT of kerning pairs to get the joins right.

The problem I'm running into is when there are multiple kerning pairs in one word, side-by-side. The first one works, the second is ignored.

For instance if 'love' is the word I'm testing -and there is a kerning pair for lo, ov, and ve - ONLY lo and ve kerning adjustments are used. Or if there's a kerning pair for ov, ve, and er - in the word 'over' - only ov and er kerning adjustments are used. Is there anyway around this so that each pair is recognized? Or do I just have to deal with it and keep adjusting the side bearings so I have the bare minimum for kerning pairs?

I really, really need to learn open type so I can create alternate ligatures... :sigh:
I've been able to locate the cause of the issue. In fact this is part of the OpenType specification which I've read numerous times, but never fully understood, until now :D

If you want to use a Pair Positioning lookup for kerning, you need to ensure you only provide values for the first glyph of a pair. If you also (accidentally) set a value for the second glyph (even just one of all pairs) then the whole lookup will work a little different than one might expect. In that case the lookup will be applied, but if a match is found, then second glyph will be skipped in the run, so it can never be used as first glyph in another kern pair. Since the font contains a pair for "t h", it will skip the next "h i" in "something", but it will work with "high".

I think I should place a proper warning next to the values to indicate such behavior.

For you to fix the issue, do fix this kern pair:
valuesetforsecond.png
valuesetforsecond.png (109.43 KiB) Viewed 3496 times
This pair is not an issue, but you might want to remove the YPlacement here, as all other pairs only use XAdvance.
pos a r <0 6 -9 0> <0>;

Finally this pair sounds like an error as well:
pos u .notdef <0 0 0 0> <0>;

Do let us know your results!
Erwin Denissen
High-Logic
Proven Font Technology
misskris
Posts: 6
Joined: Tue May 05, 2015 8:56 pm

Re: Kerning Pairs question

Post by misskris »

That did it!! I'm doing a happy dance :)
Post Reply