'kern' feature undefined in salt

TypeSETit's picture

I'm perplexed. I'm building a font family of a script. There are four different font files (vfb). All are very similar and I plan to eventually 'merge' them into one Pro version of the font. All of them generate OTF files just fine except for one file. When I generate IT, I get the following message in the FontLab output panel:

[WARNING] feature 'kern', referenced in aalt feature, either is not defined or had no rules which could be included in the aalt feature.

Can anyone tell me what I am missing? I've tried to research it, and can't figure it out.

This particular font appears to work just as well as the others (which do not give any warning message), but I'm wondering what, if any problems this may cause in the future.

Should I even be concerned, if the font works fine in applications like InDesign? Or will Microsoft Word regurgitate it?

TypeSETit's picture

BTW, all of the fonts have just two features: AALT and KERN
feature aalt {

feature kern;
} aalt;

But only this single font is giving me caniptions.

Thomas Phinney's picture

Well, the question is why the other fonts are not giving you conniptions, not why this one is.

'aalt' is a substitution feature that acts as a catch-all for other substitution features. You can't stick 'kern' in it and expect anything good to happen.

If you have no other, real, substitution features, then you don't need aalt.

TypeSETit's picture

Thomas, I will be adding the other OT features later. I have found that if I don't have the 'kern' feature, the font generates fine, but when I go into Indesign to test it, the kerning pairs are not loading.

I assumed that if I had any features (like 'kern'), I would need to have the 'aalt' feature form them to be accessed. I have removed the 'aalt' feature, and now things seem to be generating fine without the warning message. So thanks for that.

I'm wondering if I will need to add it back in when I created the other features (like 'salt' and 'liga' etc.)

thanks again for the help

Thomas Phinney's picture

You don't have to have 'aalt', but it is considered good form. It's just that 'kern' should never be placed in 'aalt', as it does not access alternate glyphs.

TypeSETit's picture

Thanks for clarifying Thomas.


Stephen Rapp's picture

If you have just the regular standard character set filled out you could use the liga feature to add at least one feature.
feature liga {
sub f l by fl;
} liga;

This type of substitution does not need to have the aalt feature either, but when you add features like calt where a specific character gets subbed by another then add that to aalt.

John Hudson's picture

Or you could just completely ignore {aalt}. It was a workaround devised by Adobe to drive early versions of their glyph palettes. Not only does it not have any practical use for font users, it isn't even needed to drive the font palette, which can derive the same information from parsing all the GSUB features for one-to-one substitution lookups.

Syndicate content Syndicate content