FontLab Studio 5.0 help

Primary tabs

5 posts / 0 new
Last post
supervee's picture
Joined: 8 Feb 2008 - 1:21am
FontLab Studio 5.0 help

Hi everyone,

I've just started using FontLab Studio and I'm working on a new typeface, but I am having a few problems. I have 3 variations of each character. These variations would be used according to the preceding character. For example, variation 1 of the character a would always be used after the character b, but variation 2 would be the one always used after the character c.

etc, for the entire alphabet.

I've figured out how to create ligatures, but the problem is .. if I were to maanually create ligatures, I would have to make every combination of characters (which is like millions).

I can get ligatures of ab, bc, cd etc .. But I would like to find a way to program the font so that I can get "abc" ... without having to make an actual glyph consisting of the letters a, b, and c.

I hope that makes sense, and that it is possible to achieve this in FontLab Studio.


Scott Finkelstein's picture
Joined: 1 Feb 2008 - 3:16pm

I've actually been thinking of doing the same thing with serifs on my font, except with two types (a: rimshot, B: top and bottom start), with the added problem that the the influence a letter has on the one following it depends on its type, so that there would be three or four letter combos.
I have no idea how to even make ligatures.

Karsten Luecke's picture
Joined: 6 Aug 2005 - 8:41am

Very briefly, you need to add features. For ligatures, add a 'liga' feature:

     feature liga {
         sub f l by f_l;
         sub f i by f_i;
     } liga;

To replace glyphs by alternate versions in specific contexts, you need to add a 'calt' feature:

     feature calt {
         sub b a' by a.calt.1;
         sub c a' by a.calt.2;
     } calt;

The a marked with a single quote (Typophile may have turned this into an apostrophe ...) will be replaced by a.calt.1, but only if it is preceded by the glyphs(s) not marked that way -- non-marked letters are considered as 'context' which must be present so that marked glyphs will be replaced.
Rather than defining context glyphs individually, you can also create a class and refer to this:

     @CALT_BEFORE_A1 = [b d f]
     @CALT_BEFORE_A1 = [c e g]
     feature calt {
         sub @CALT_BEFORE_A1 a' by a.calt.1;
         sub @CALT_BEFORE_A2 a' by a.calt.2;
     } calt;

Or define classes in FLS's Classes Panel, but omit the @ there.

Also try to google for phrases like "feature", "feature syntax", "calt", etc. Feature issues have been dealt with extensively on Typophile.

Karsten Luecke's picture
Joined: 6 Aug 2005 - 8:41am

Connecting you with

andreia.comunica's picture
Joined: 6 Mar 2008 - 10:19am


Thank you for your info, but actually I am so at the beggining that it is really hard for me to understand how the whole structure works.
I tried to create a class for some glyphs and assign the calt feature your refer to but actually when I try to generate the .otf font an error doesn't let it to be generated.
Would it be possible for you to be more specific on how to do it?
As you sugested, I googled the phrases and there is lots of information on this subject but because it is not in a sistematic text it is very difficult for me to build the puzzle...

Hope my begginer questions are not too much...

Thanks a lot