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:
Kerning Pairs question
-
- Top Typographer
- Posts: 9878
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Kerning Pairs question
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?
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?
-
- Top Typographer
- Posts: 9878
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Kerning Pairs question
I have looked at the font, and the kerning is working as expected. Some values are positive.
-
- Top Typographer
- Posts: 9878
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Kerning Pairs question
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.
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.
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.
-
- Moderator
- Posts: 11158
- Joined: Fri Oct 04, 2002 12:41 am
- Location: Bilthoven, The Netherlands
- Contact:
Re: Kerning Pairs question
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 nowmisskris 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:
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: 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!
Re: Kerning Pairs question
That did it!! I'm doing a happy dance