Help with ligatures, etc.

Discuss FontCreator here, please do not post support requests, feature requests, or bug reports!
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Help with ligatures, etc.

Post by Bhikkhu Pesala »

I then used the OpenType Designer to add a Standard Ligature feature to use the two fi and fl ligatures that are in a new font by default (Complete Composites on the last two glyphs).

In the OpenType Designer select the default language and add a new feature (Green + button)
Add Standard Ligatures.png
Add Standard Ligatures.png (27.24 KiB) Viewed 8447 times
Now select the Standard Ligatures feature and add (Green + Button again) a lookup table. Select the Ligature Substitution.
Add Ligature Substitution.png
Add Ligature Substitution.png (10.99 KiB) Viewed 8447 times
Now select the empty lookup table and add a new substitution (the other Green + Button highlighted in the screen shot)
Add Ligature Substitution  to lookup.png
Add Ligature Substitution to lookup.png (31.11 KiB) Viewed 8447 times
For this fi and fl standard ligatures substitution we must use glyphs, not classes, so select the Glyphs filters on both sides of the new substitution dialogue. Type f in the left list to find the lowercase f, scroll to the bottom to find the fl ligature (did you create it yet with complete composites?)

Edit the input string from "f" to "f l"
Edit Input String.png
Edit Input String.png (14.04 KiB) Viewed 8447 times
Repeat for the fi ligature substitution. Add the fi substitution:
Add fi Ligature Substitution.png
Add fi Ligature Substitution.png (12.09 KiB) Viewed 8447 times
Edit the input string:
Edit fi Input String.png
Edit fi Input String.png (13.09 KiB) Viewed 8447 times
That's enough to get started on adding and editing features.
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Help with ligatures, etc.

Post by Bhikkhu Pesala »

I spent a lot of time creating some video tutorials to get users started. They are not perfect, and some need updating, but there's a lot of the basics there about adding OpenType features etc. The videos have no sound; pause them to read the captions at your leisure while repeating the steps in FontCreator.
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Help with ligatures, etc.

Post by Bhikkhu Pesala »

I have updated my tutorial on Adding OpenType Features for FontCreator 10.1 with more details:
  1. Adding a default set of features when opening the Code Editor for the first time on a font without any features
  2. Clearing existing features to start over from scratch
  3. Adding a kerning feature, after first adding some Kerning Classes to use with it
  4. Adding a Standard Ligature feature for fi, ffi, fl, ffl, fffl, showing how to navigate in the Add New Substitution dialogue
  5. Adding a Discretionary Ligature feature for ck and cky.
  6. Adding a feature for Alternative Fractions (Stacking Fractions), which also uses a ligature substitution: "1/8" typed by the user will be replaced with stacking fraction one eighth, etc.
  7. Applying changes made to avoid losing them
  8. Exporting OpenType Layout Definition scripts (*.otlfd files) as backups or to reuse in other fonts or other styles of the same font
  9. Importing the OpenType Layout Definition script
  10. Testing features using the Preview Toolbar
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Psymon
Posts: 444
Joined: Wed Mar 30, 2011 5:50 pm

Re: Help with ligatures, etc.

Post by Psymon »

Bhikkhu Pesala wrote:I have updated my tutorial on Adding OpenType Features for FontCreator 10.1 with more details
Oh, funny, it must have been your previous version of that video that I actually ended up turning to the other day when I got a bit confused -- and it answered all my questions! I've been on a roll with it ever since, actually, and things are coming along great... thanks largely to your help! Thanks so much once again, Bhikkhu! :)

I've read through all your recent posts here (along with watching a couple of your videos), and I think I might have some more questions, but I'm a bit busy this weekend -- I'll get back to you with more soon! :)
Psymon
Posts: 444
Joined: Wed Mar 30, 2011 5:50 pm

Re: Help with ligatures, etc.

Post by Psymon »

Okay!

Firstly, thanks so much once again for your help (and videos!), Bhikkhu! And that thanks goes to everyone else who has offered assistance here, too, of course. :)

I do have some questions about where I guess I'm a little bit stuck now, but perhaps it might help to explain (and show you) where I'm at now. You'll see here a screenshot of my font -- it's called "Wickednesse." :twisted: I made it from scans of a little 1561 book (more like a little pamphlet) called "The Detestable Wickednesse of Magicall Sciences," and what you see in this screenshot is how it displays in an ebook version of that work which I've been making, too -- the font, and the ebook, go hand-in-hand together (although anyone could then use the font however they might want, of course). The text itself isn't actually all that interesting, really -- the usual "hellfire and damnation" sort of thing from that period, but this is hardly a significant work in that genre -- for decades, though, I was intrigued by the font used in that original 16th century document, and wanted to make a font from it. I actually started working on this font a dozen years ago or so, but then put it aside. In more recent years, though, I started getting into ebook design, and a few months ago it occurred to me to do up this curious little text as an ebook, and have it display in the original font -- and that meant finally finishing up that font, of course.

And so this was my re-introduction to type design, after having not really done anything with it (other than minor tweaks to third-party fonts) for over a decade. The only actual "fonts" that I've made in the past, all those years ago, were one of my own handwriting (with a reasonably complete character set) and the first -- and very basic -- version of this Wickednesse font.

Anyway, so here's where I'm at now with this font. From scans of that 1561 text, I was only able to glean a basic upper- and lowercase character set -- not even any numbers or anything beyond that. I had to come up with all the various additional punctuation, accented characters, etc. -- basically everything in the various extended character sets, including Cyrillic, Greek and Coptic (all of which I had to "invent" myself), not to mention all the math symbols and other icons and whatever else. I currently have 1163 glyphs in all. :)

I don't know if it matters (or if it's of interest), but whenever I got to a point in my font where I wanted to test it out in my ebook and see how it looks (and how everything renders out, as far as ligs, kerning, etc. go) I would do the following...

- First, I run the script to set all my left/right bearings to 62 (I have NO idea if that's a good number, I just came up with it somehow -- long story -- but it seems to have worked out okay, as far as the end result goes). The only thing I changed afterwards was my space -- the "letterspacing" seemed to come out okay, but the "wordspacing" was too close (if you know what I mean), and so I set the L/R bearings for that (space) to 123.

- Then I run autometrics.

- And then I run autokern.

And then I generate my font, embed it in my ebook, open up that ebook in Adobe Digital Editions (ADE -- which is great for testing ebooks in) and that's where this screenshot is from.

Now, looking at the screenshot, if you look closely enough you'll see TONS of ligatures -- I'm rather delighted about that, all my lig lookups seem to be working perfectly now. :)

But the kerning is off (or, rather, non-existent) on virtually all of those ligs. :( This is what you were helping me with in these latest posts -- I needed to add in pair adjustments for all the glyphs in my private use area.

So here's my questions...

1. Is it only the characters in my private use area that I need to concern myself about, i.e. that aren't automatically added in as pair adjustments when you autokern? Or are there other glyphs that I should be adding in manually, too?

2. From your explanations here (including your video tutorials), I've managed to create classes for all the various characters in my private use area, and can see them all listed in the Class Manager, and then from your tutorial I know how to create a new pair adjustment... but is there no automated way to do this step, to kern that character with every other character (AND to also include this character when kerning other characters as well)? Please don't tell me that the only way to do this is to do so manually, one-by-one, one character combination at a time. :shock:

3. Back to the screenshot, as I mentioned the kerning is virtually non-existent for all my various ligatures, but apart from those there also seems to be some other more common character combinations that I would have thought that autokerning would have doen a better job at. In particular, the kerning for the lowercase "i" seems rather off in quite a few places. I would have thought that that would have been handled reasonably well with autokerning???

4. Lastly, d'ya like my "it" ligature? I stole the idea for that from you, Bhikkhu! :D You can find an example of it fairly easily in this screenshot in the third line from the bottom ("thee to take it in good parte"). I also have one for "ip" as well that's similar. ;)

Well, I think that's about it for the moment, but that's basically where I'm at right now -- and where I'm a bit stuck and/or confused about.

Thanks once again (in advance)! :)
Wickednesse ADE 01.jpg
Wickednesse ADE 01.jpg (349.3 KiB) Viewed 8388 times
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Help with ligatures, etc.

Post by Bhikkhu Pesala »

Not all possible permutations need to be kerned. I have been using the attached file to see which pairs need it (especially the alphabet sets, and brackets). With lowercase w, for example, only "wd" needs kerning, and pairs "mw" and "pw" are also kerned.

wawbwcwdwewfwgwhwiwjwkwlwmwnwowpwqwrwswtwuwvwwxwywzw
Kerning Test.gif
Kerning Test.gif (28.53 KiB) Viewed 8379 times
My black letter font has far fewer pairs than most other fonts.

Paste each line into the OpenType Designer preview and toggle kerning on and off to see where more pairs are needed. If there are already pairs, but no movement is easily discernible, they're probably too small to be worth having. Anything below 20 funits is not necessary.

The test file also highlight if a glyph needs different side-bearings. Always fix those before kerning.
Attachments
Sequences to adjust kerning.txt
(8.19 KiB) Downloaded 354 times
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Help with ligatures, etc.

Post by Bhikkhu Pesala »

My black letter font has zero pairs with lowercase i, including none with Uppercase. The left side-bearing could perhaps do with a little bit more space, but black letter fonts were often tightly spaced to save on expensive vellum.
Black Letter i.png
Black Letter i.png (12.38 KiB) Viewed 8377 times
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Psymon
Posts: 444
Joined: Wed Mar 30, 2011 5:50 pm

Re: Help with ligatures, etc.

Post by Psymon »

Bhikkhu Pesala wrote:Not all possible permutations need to be kerned. I have been using the attached file to see which pairs need it
Oh, that definitely helps -- thanks for that! I have something similar that I got years ago from typophile.com, but your seems to have a lot more kerning pairs to check out.

So I guess the answer to my question, with regard to getting autokerning to include the glyphs in the PUA, it's just not possible to get FontCreator to include those? I realize that there's still manual kerning that has to be done after that anyway, but at least that would give on a start -- it's beyond me why FC doesn't allow that, even if it were a checkbox option to include, or not include, the PUA glyphs.
My black letter font has far fewer pairs than most other fonts.
Well, that's interesting! If anything I might have thought that it needed more? Like, with my font -- which I see still needs a LOT of work, the more that I look at it :( -- it's all the various longs (and other) ligatures which would seem to be creating a fair bit of extra work for me. Even using that text file with the various kerning pairs to check out, I still have to adapt that in order to kern a whole slew of additional ligs and other things -- stuff like double-longs, etc.
The test file also highlight if a glyph needs different side-bearings. Always fix those before kerning.
That's one thing I have no idea about, really -- as you agreed, blackletter fonts like this should be set quite tightly, but exactly how much or how little I just don't know.

And then there's autometrics, to boot, where it asks you to specify the "glyph spacing factor."

Can you explain what exactly the difference is between how much space you give between the glyph and it's side bearings, and how much "glyph spacing factor" you give it when you run autometrics? I don't quite get that, it seems like one is doing the same thing twice.
black letter fonts were often tightly spaced to save on expensive vellum.
Well, that's not entirely correct, actually. In the days of scribes, when they were copying texts by hand, I can see where that might have been the case, but by the time printing with movable type came around in the 15th century, the papermaking business was booming in Europe, and vellum wasn't really used much any more except for particularly special or expensive books. If Gutenberg and his successors had emulated that tight spacing, I would rather suggest that it was more of a continuation of style, not due to the expense of vellum.

At any rate, it certainly does look like I have my work cut out for me still with this font -- I started it a decade ago, and it might be another decade before I finish, at this rate. :shock:
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Help with ligatures, etc.

Post by Bhikkhu Pesala »

Psymon wrote:So I guess the answer to my question, with regard to getting autokerning to include the glyphs in the PUA, it's just not possible to get FontCreator to include those?
If you include glyphs from the PUA in your kerning classes and/or kerning pairs, then Autokern will use them.
Psymon wrote:Can you explain what exactly the difference is between how much space you give between the glyph and it's side bearings, and how much "glyph spacing factor" you give it when you run autometrics? I don't quite get that, it seems like one is doing the same thing twice.
Optical Autometrics calculates the side-bearings for a limited number of glyphs automatically. The glyph spacing factor merely decides how tight the spacing will be. See this thread on Optical Metrics
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Psymon
Posts: 444
Joined: Wed Mar 30, 2011 5:50 pm

Re: Help with ligatures, etc.

Post by Psymon »

Bhikkhu Pesala wrote:If you include glyphs from the PUA in your kerning classes and/or kerning pairs, then Autokern will use them.
Oh. I think perhaps I see the mistake I made here -- I had added in all those various ligatures as "characters" rather than as "classes," because each and every one of them were rather unique (being double, sometimes triple, "characters"), but then when I ran autokern it didn't add in any adjustment pairs for any of them.

If I understand what you're saying, though, if I add each of those ligs in as "classes" rather than as "characters" -- even if each of those classes only contains one character, then autokern will then create adjustment pairs for each of them (in combination with all other glyphs, wherever appropriate)?
Can you explain what exactly the difference is between how much space you give between the glyph and it's side bearings, and how much "glyph spacing factor" you give it when you run autometrics? I don't quite get that, it seems like one is doing the same thing twice.
Optical Autometrics calculates the side-bearings for a limited number of glyphs automatically. The glyph spacing factor merely decides how tight the spacing will be. See this thread on Optical Metrics
I guess my confusion here is that if metrics adjusts the spacing between characters (and, as you point out in that thread, the latest versions of FC have a preview available, which certainly helps a lot), then what's the point of even having side bearings at all in the first place? Like, when it comes to type design, what's the point of it at all, if that gets "adjusted" later on when one figures out the metrics anyway? Why not just give everything L/R bearings of 0 (zero) and then let the metrics figure out the spacing between characters?

I feel like there must be something really rather basic and simple to this -- and yet somehow I don't seem to "get it." :(
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Help with ligatures, etc.

Post by Erwin Denissen »

The better you set the left and right side bearing for each individual glyph, the fewer kerning pairs are required for the special cases.
Erwin Denissen
High-Logic
Proven Font Technology
Psymon
Posts: 444
Joined: Wed Mar 30, 2011 5:50 pm

Re: Help with ligatures, etc.

Post by Psymon »

Erwin Denissen wrote:The better you set the left and right side bearing for each individual glyph, the fewer kerning pairs are required for the special cases.
Oh. Well, then how does one decide what those values should be for each character? As I mentioned earlier, I just set my L/R bearings to 62 for the entire font (except for the space, which I set to 123) -- I had no idea that each character needed to have the bearings set individually.

Eek -- this type design thing is getting scarier by the day! ;)
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Help with ligatures, etc.

Post by Bhikkhu Pesala »

Psymon wrote:If I understand what you're saying, though, if I add each of those ligs in as "classes" rather than as "characters" -- even if each of those classes only contains one character, then autokern will then create adjustment pairs for each of them (in combination with all other glyphs, wherever appropriate)?
Autokern in the OpenType Designer will calculate adjustments for existing pairs, whether they are pairs of kerning classes or individual glyphs. See my earlier post. Do not run Autokern from the Tools menu more than once.
Psymon wrote:Why not just give everything L/R bearings of 0 (zero) and then let the metrics figure out the spacing between characters?
The Optical Metrics feature is not available in the Home Edition. Look at any font to see why side-bearings are not equal, and rarely zero. The value of side-bearings depend on the shape of the glyph.

The bearings in the attached font were generated with Optical Metrics.
Attachments
New Black Letter.fcp
(31.94 KiB) Downloaded 358 times
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Psymon
Posts: 444
Joined: Wed Mar 30, 2011 5:50 pm

Re: Help with ligatures, etc.

Post by Psymon »

Bhikkhu Pesala wrote:Autokern in the OpenType Designer will calculate adjustments for existing pairs, whether they are pairs of kerning classes or individual glyphs. See my earlier post. Do not run Autokern from the Tools menu more than once.
Yeah, I learned that lesson (to not run autokern from the tools menu repeatedly. ;)
Psymon wrote:Why not just give everything L/R bearings of 0 (zero) and then let the metrics figure out the spacing between characters?
The Optical Metrics feature is not available in the Home Edition. Look at any font to see why side-bearings are not equal, and rarely zero. The value of side-bearings depend on the shape of the glyph.
The bearings in the attached font were generated with Optical Metrics.
I think I just suddenly had a brainwave and finally got it (I hope). All this time -- for all these many years -- I've been confused about setting the bearings, and the metrics, and kerning. I've always thought that bearings and metrics were two separate (but similar) things.

But I gather now that the metrics IS, in fact, the bearings??? That's, like, a revelation to me! Ha ha, all this time, I thought metrics were some mysterious, unseen bit of code that was in the font somewhere, that you didn't "see" when you looked at it, even closely -- which is why I couldn't understand why one has to do both (when there is not "both," because they're the same thing). :lol:

If I am understanding this correctly (finally!), then I suppose that my way of doing things -- setting all the bearings on the entire font to 62 (or whatever) first, and then running autometrics, is rather pointless? I guess I can just skip that first pointless step and simply run autometrics, no matter how screwy my bearings might be (like, from having added in a bunhc of new glyphs or something)?

Seriously, I'm embarrassed over how clueless I've been -- but this is indeed a true revelation for me. I just hope I understand it correctly now! ;)
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Help with ligatures, etc.

Post by Bhikkhu Pesala »

Psymon wrote:I've been confused about setting the bearings, and the metrics, and kerning.
Not to be confused with the Matrix. :lol:

There are also the font metrics (Tools menu, show metrics lines), which are calculated and not set. It is the size and design of the glyphs that determines the position of x-height, Cap-Height, TypoAscender, TypoDescender, WinAscent, WinDescent.
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Post Reply