Naming Small Cap Alternate Glyphs

Robby Woodard's picture

The font I am working on has several stylistic alternate caps.

I know how to name these. For example the A alternate would be A.salt

I want my small caps to have the same alternates. What is the best way to name these glyphs?

Would A small cap alternate be A.smcp.salt?

Michael Hernan's picture

I see the convention for small caps when you have one set (ie when altering lowercase only) to be [with .sc postfix]
I think smcp as postfix is wrong.

I simply have been adding .alt to my regular alternatives - handled by the /salt OT code.

In some of the Pro fonts by Adobe there are 2 sets of small caps - one for lower-case [] and another-uppercase [].

I would also be interested in how others are naming when grouping alternatives and smallcase...

Robby Woodard's picture

I've seen both .sc and .smcp for the small cap glyph suffix.

I'm not sure which is most correct, but they both seem to work. I think I'll stick with .smcp for now.

So you're saying if I want to make an alternate for "A.smcp", I should simply call it "a.smcp" and substitute it in the small cap OT feature code?

charles ellertson's picture

So you're saying if I want to make an alternate for "A.smcp", I should simply call it "a.smcp" and substitute it in the small cap OT feature code?

No, don't do that. Lots of text winds up in PDF format. If you take text from a PDF, everything after the period drops out. So or A.smcp becomes "A". Equally, a.smcp or becomes "a".

There has been some discussion about using double periods; I believe there might be some issues -- though Adobe (again as I believe), drops everything after the first period. So one way would be to use and A.scalt. Easier to read would be and, but there is the double period. You could also an underline to separate the alts. e.g., A.sc_alt, though that is the structure for a ligature.

In any case, you're going to have to write a feature or two, and I can't think of any reason why you can't substitute with A.scalt (done one way, as stylistic alternatives in either salt or as stylistic sets), or A.alt with A.scalt in the small cap feature -- (or both, depending on how you write things).

Michael Hernan's picture

Yes, having more than one period feels dangerous!

It seems to be my preference (looking at my font) to have a single unit postfilx and to use underscore when compounding discriptions.

so if I had two types of lowercase g: [ where ' >' means 'becomes']
g > g.alt to map to the alternative form
g > to map to the smallcap form (this just changes the lowercase, but you can set up another OT class for Caps to point to the same small caps glyphs, controlled by grouping sets of glyphs in classes)

This is frowned upon by some and so I also am considering to use myself:

G >

You would also need to add in your alternative form into your class but just map it to the same
[I have not done this yet so would need to be confirmed.]

g.alt >

Later you might want to do some alternative glyphs for Caps with dieresis...
(The alternative is usually with the Caps version of A, U, O, W, so...

U > U.alt

U.alt > (so I am keeping my single postfix: .sc at the end)

u.alt shouldn't exist or isnt required under normal typographic circumstances.

I think that the ligatures are pretty obvious ie f_l_l with underscores between single letters with no postfix so I see it as OK to use the underscore in also assigning compound postfixes.

Another point is to consider your source when digging around UNICODE and working out what to do and what to call stuff. Dont just look at 2 and have a fifty fifty chance on something, the more you dig around the better you will see the path. =)

From someone who used to put the period after eps! it helps me to have the postfix and class names to be named differently. This is my reson for sticking with .sc for the glyph and smcp for the class title (though like you my first attempt, I also wanted to name my glyphs smcp. .

I think @Charles covered your question.
but be careful because what you suggested was wrong.

So you're saying if I want to make an alternate for "A.smcp", I should simply call it "a.smcp" and substitute it in the small cap OT feature code?d

Er, no.

because what you are saying here is a substitution CAP(small cap) of a substitution lowercase(small cap). Code as I understand it will always start from the master glyph and map onto the substitute, in this case either an alternative glyph or small cap. I don't think substitution of a substitute is good practice. (This would need to be confirmed or denied by others).

I hope this perspective helps.

twardoch's picture


The glyph naming convention used in the upcoming Fontographer 5 will be as follows:

For glyphs that are accessible through a certain OpenType Layout feature, use the same basename for source and target glyph, and as the suffix used for the target glyph, use the four-letter OpenType Layout feature tag.

For example, if you have a glyph that is the alternate of "A" accessible through the caps-to-small-caps feature (c2sc), use the glyphname "A.c2sc". If you have a glyph that is the alternate of "a" accessible through the small-caps feature (smcp), use the glyphname "a.smcp". So if you choose to create your fonts the Adobe way (i.e. provide two sets of small caps glyphs, one that map to uppercase letters and one that map to lowercase letters), use the glyphnames "A.c2sc" and "a.smcp". If you name your glyphs that way, Fontographer 5 will be able to generate the OpenType Layout features automatically for you.

If you want the same glyph to be used in two features at a time, you just concatenate the OpenType Layout feature tags directly. For example, if you name your glyph "one.subssinf" then Fontographer will generate mappings from "one" to that glyph in both the "subs" feature and the "sinf" feature.

If you want to generate a "chain" of substitutions, you can indeed concatenate the OpenTpe Layout tags using a period. So if Fontographer finds the name "A.c2sc.salt", it will attempt to generate the mapping from "A.c2sc" to "A.c2sc.salt" in the "salt" feature.

We will post a comprehensive guide for naming that will be compatible with our automatic OpenType Layout feature generation.

Of course, for most common OpenType features, Fontographer will include a set of "synonym suffixes", so ".sc" and ".small" will be treated the same way as ".smcp".


the glyphname "" is interpreted by Acrobat as a ligature of "U" and "alt". Not a good idea.

twardoch's picture

Ps, there is no danger in having more than one period. Anything after the first period is discarded by the Acrobat parser. Basically, the structure of a glyphname is the following:

basename (up to the first period, or if there is no period, the entire glyphname)
suffix (anything after the first period)

The basename should allow Acrobat to resolve the glyphname to a meaningful Unicode string. The suffix is fully up to the font developer. However, font tool developers such as FontLab may impose some conventions on the suffixes so that the automatic generation of OpenType Layout features can be facilitated. And this is what we're doing.


eliason's picture

@Adam: You covered cases where one glyph might appear in two features, but what about two versions of a character that appear in one feature? E.g., with a .swsh feature I might have an A.init and an A.fina (controlled by separate lookups with "ignore" statements); they can't both be named A.swsh. should be U.alt_sc, right?

twardoch's picture

Well, you can have A.init and A.fina which will be automatically placed in "init" and "fina" features using one-to-one subs, and then you write the "swsh" feature yourself.

A somewhat trickier case is if a glyph has two sources, e.g. you just have one small-cap glyph that substitutes two different glyphs ("A" and "a"). This cannot be easily expressed in a glyphname, but we have some ideas regarding this.

Syndicate content Syndicate content