Typophile

opentype features

johio

Hello,

New to the forum here (and to OT)(and have a decent working knowledge of fontlab), forgive if this has been covered.

I am looking to add an opentype substitute feature into a font i have begun building. My intent is to have three versions of each character that will cycle as to appear randomly. That being said, my question is threefold.

1- In fontlab's glyph window, where do i create the alternate characters, and what would be a typical naming convention?

2- Would it be easier, code-wise, to randomize each character? or to create alt_set1, alt_set2, and alt_set3?

3- what would be the best way to set up the glyph classes to achieve this result?

I hope this makes sense..
Thank you for any and all input!
Johio

1. a.alt1, a.alt2, &c.
2. by character
3. there have been several Typophile threads on this, but they're hard to find these days with Google.

Thank you Nick, for your time.

Would this be achieved through calt, aalt, or other means? I have been attempting to find script examples with little luck. Any additional information on the subject would be amazing. Links, tutorials or the like.

Thanks again.
Joe

Here is example cycling code based on CALT, originally cooked up by Tom Phinney:

feature calt {
lookup rotate {
sub @default @default' by @alt1;
sub @alt1 @default' by @alt2;
} rotate;
lookup rotate;
} calt;

Silas Dilworth and I recently released Black Monday, a font that cycles through three glyph sets. It turned out that while CALT is nice, it is not widely implemented. Making matters worse, it’s not always on by default. And it’s flaky—for example, in Indesign long strings of nonstop CALTs occasionally result in CALT turning off (although for display faces this won’t usually be an issue). Silas dealt with this by writing a program that generates a massive list of LIGA ligatures to handle the cycling; it works very well.

Would the mods please make a sticky out of one of the older, in-depth posts?

great info James, thanks for the time!

Black Monday is a great example of the functionality i am looking for. Nice looking as well!

One of several remaining questions is a total novice one. When I define the glyph classes, i.e. @alt1. what form does this take in the code?

would it be something like:

@alt1 = [a.alt1 - z.alt2]

which would be followed by something simple like the above calt feature??

Thanks for all the help.
Joe

Classes are covered in the Fontlab manual, page 597.

for example, in Indesign long strings of nonstop CALTs occasionally result in CALT turning off (although for display faces this won’t usually be an issue)

What do you mean? That after each (automatic) line break, the rotation circle will start anew?

What do you mean?

When I was testing Black Monday with CALT, the contextual alternates feature would occasionally shut off and need to enabled by the user. I should probably put some examples together and submit a bug report.

And the mods have stickied the old post that explains the CALT rotation stuff, it is at the top of the build forum.

submit a bug report

With exact application name and version etc, yes. Sounds weird. (I haven't experienced this with my own alternate-rotation fonts yet so I am curious.)

Captured from web.archive.org on 3 Feb 2010. view this capture