Please help with expert OpenType programming

Rene Verkaart's picture

Hi guys,

I've been working very hard on a new typeface called NOVA. This is a geometric stylistic font with a twist. I call it a twist, because I want it to be possible to kinda 'plug and play', or 'stack and play' if you will, with the OT features. This should change the character of the font in a major way, giving the designer the feeling he's got 4 fonts under his control. I want it to be intuitive and robust.

Let me give you a quick sample of what I've got set up:
http://typophile.com/files/Nova_OT_plug_and_play_sets.jpg

What you see here is a sample of Nova with the additional OT features I've got installed. The trick is that you can type your text in Nova, than activate the DLIG feature ánd the SWSH feature ánd the INIT feature ánd to top it off the SS01 (or any other) feature.
I've got the basic OT features set up in Fontlab and this works nicely in InDesign. I've done it in a quite simple but effective way and I'm well aware that this might not be compatible with other software. It also (kinda) works if you use any random combination of OT features. Say if you leave out the SWSH and SS01 features, it changes the result in a really nice way giving the designer all the chances to play and have fun.

It gets now really complicated because glyph replacements should not colide and the glyph Classes with accents etc should be arranged effectively. This is where I'd like your help with, because this is way out of my league.

Here's the features file:
http://typophile.com/files/Nova_features.txt

Here's the Classes file:
http://typophile.com/files/Nova_classes.txt

Question for you OT cracks
How can I set this up in a solid way that:
- I've got my Classes set up correctly
- it works in most software applications
- it works with any combination of OT features
- it can be expanded with upcoming OT features or glyphs
- standard ligatures (ff) don't clash with dicretionary ligatures (ffb)
- and any other issue you can come up with ;-)

I'd love to hear from you.

Cheers,
®

AttachmentSize
Nova_OT_plug_and_play_sets.jpg343.24 KB
Nova_features.txt6.45 KB
Nova_classes.txt7.12 KB
hrant's picture

OT aside, this is very charming!

hhp

Theunis de Jong's picture

- it works in most software applications
- it works with any combination of OT features

There isn't that much software that use the full range of OTF features -- even InDesign does not! (Petite Caps, for example, are missing...) On top of that, even Adobe made some "curious" choices in the various parts of their so-called "Suite" -- from memory, Stylistic Alternates (salt) is available in Illustrator, but not in InDesign.

Further complicating the issue is that there are no strict guidelines in what order Opentype features are applied. Does it matter for your font if first Swash is processed and then Initials? Or the other way around?

As to how to prevent clashes, I think there is no other option than preventing clashing glyphs to be generated. If you have a list of clashing glyphs, you could add a substitution table after all "obvious" replacements to correct this. It has to be a separate table at the end, because every table is only looked at once, and only the first match is used.

(Ligatures are a well-known example of this; if you have

replace f f with f_f;
replace f f i with f_f_i;

you will never get to see the "ffi" in your output.)

I agree with Hrant: sweet job so far!

riccard0's picture

Shouldn’t this thread belong to the Build section?

Rene Verkaart's picture

I know OT is still not really widely spread throughout the software. I think that where we need to educate the user about what's possible and what not.

Further complicating the issue is that there are no strict guidelines in what order Opentype features are applied. Does it matter for your font if first Swash is processed and then Initials? Or the other way around?

I understand and I think it's no problem to change the order of the features, that's the charm until now. I've got it now setup in such a way that some glyphs become richer whén you have a certain feature activated. But also without that, it works perfect. I'd say, just play around with the features and see what works best for you.

I've read this article, but can't wrap my mind around it:
http://ilovetypography.com/OpenType/opentype-features.html
It's just a bit over my head to do it this way, but I think it's more sustainable. ;-)

What do you say to the OT codes? Do they look good enough to work? Do you know of a good way to test this? I don't want to publish a font with silly glyph issues in it.

@Hrant: thx ;-)

PS: If someone can move this to the Build section, I'm fine with that.

riccard0's picture

If someone can move this to the Build section, I'm fine with that.

You can! Using the “Edit” link :-)

Stephen Rapp's picture

The dlig feature seems like a good choice. I wish Adobe would get the features updated and at least more consistent between Illustrator and InDesign. I've stopped using the salt feature for now in fonts because of its behavior in Illustrator. When I make a choice from the glyph palette in Illustrator that just happens to be in the salt feature as well, Illustrator decides I've made an overall preference choice and keeps the salt feature active throughout any subsequent new text. That I find annoying and a waste of time to correct. If Illustrator had stylistic sets and didn't proactively change glyph selections into feature activation you could easily make changes to a style variation as seen in Nova with either Illustrator or InDesign.

Rene Verkaart's picture

I've read somewhere that it makes sence to put both the dlig ánd the salt features in the font, so that it works in different software applications. I think this was on a Typophile post and it was a tip from Adam Twardoch, but I'm not totally sure.

Does this strategy work? Is it possible to put as much features in to increase the chance that it works in most software apps.

Rene Verkaart's picture

But all software limitations aside, do you think the OT features are good enough to hold ground? If I proceed in this way, would that work? I'm fine with catching every little possible glyph conflict, I just wanna know if there are better, more solid ways to build my features.

Stephen Rapp's picture

The salt feature is in Illustrator as well as the dlig. Since Illustrator is about the only one using the salt feature there wouldn't be much sense in doubling it up for that. If I recall I think there was mention before of using salt and stylistic sets together. InDesign has the stylistic sets feature, but Illustrator does not. In a sense stylistic sets is like an expanded version of the salt feature. I wish Adobe would add stylistic sets to Illustrator.

Syndicate content Syndicate content