contextual alternates

Jabana & Jabana Alt & Jabana Extras — 52 fonts for tea parties


Jabana & Jabana Alt & Jabana Extras — 52 fonts for coffee and more

In 2014 Jabana was released as just a single font. One year later, after some hard work Nils Thomsen rounded it up to a very useful and complex typeface system. Inspired by having a “Schorle” at Hamburgs bars. Super compressed to extended letter shapes in 5 widths and 4 weights – smooth handwritten marker curves and especially a wide range of opentype features define the large character set of Jabana.

Each letter and punctuation got three simple varieties of alternates. This gives a nice looking handwritten nature to the font. They will be randomly chosen by the contextual alternates feature or even by hand via stylistic set (ss01, ss02).

How to substitute two letters for alternates rather than a ligature


I continued working on this handwritten typeface and while I made alternates to replace double vowels before, I would prefer to replace both vowels individually.

So, right now I have the following feature:
sub a a by a_a;

/a_a features two variants on /a that are both different from the default /a. Essentially what I want to do is replace /a /a by /a.alt1 and /a.alt2 instead of /a_a, because I want to maintain the ability to apply tracking to all the letters.

Now, I actually have this feature working with the following code:
sub a' a by a.alt1;
sub a.alt1 a' by a.alt2;

Trouble with Contextual Swashes


Hi there,

I've created a font that has 3 character variations using calt (which works fine) and includes a set of 3 swash variations per character as well. The issue I'm having is I also want to include start and end swashes for select letters (a, e, i, o, r). I set up my code as such and it works perfectly fine in FontLab when I test it but when I try in Illustrator, only the start_swsh works. The end of the word remains normal.

feature swsh {
ignore sub @ALL @letter1' @ALL;
ignore sub @ALL @letter2' @ALL;
ignore sub @ALL @letter3' @ALL;
sub @letter1' @ALL by @start_swsh;
sub @letter2' @ALL by @start_swsh;
sub @letter3' @ALL by @start_swsh;
sub @ALL @letter1' by @end_swsh1;
sub @ALL @letter2' by @end_swsh1;
sub @ALL @letter3' by @end_swsh1;
sub @swsh1' by @swsh2;

Substituting letters - contextual alternates



I wonder if anyone can help

I am trying to substitute the normal 'i' letter to the dotlessi in specific combination of letters, especially Vi and Yi. For example when someone types Vi, I want the i to change to the dotlessi.

I know about contextual alts but this only changes the first letter.
sub a' [ a b c d f g h i j k l m n o p q r t u v w y ] by uniE002;

Is there any coding I should use to achieve this?

Issue with contextual alternates



I'm currently working on a type project that requires some opentype knowledge that I lack.

I would like to create a font that use contextual alternates to swap glyphs based on there occurence in the text.

Therefore the font would have to "count" the number of time a letter appear in the text and switch it if need be.
For exemple I'd like to be able to set an opentype feature that would swap the 25th "a" and 3rd "b" of the text with an alternative "a'' and "b". I'd like the font to be able to evolve depending on the content used and select additional letters based on the number of time that letter was used.

Is there a way to do something like that ?

I'm fairly new to font creation and open type features but I have some basic knowledge of Glyphs and Robotfont.