Glyphs (characters) alternative

Hello,

I have characters alternative suffix as a .alt and .ss01. I am designing one font where I have only one alternative of lowercase a and 3 alternatives of lowercase g.

1. Which suffix or extension should I use for which alternative?
2. What is difference between .alt and .ss01 extension?  
3. I am just guessing .alt is intended to use for only one alternative and .ss01 is intended to use for multiple alternative. Am I right?

Please provide additional resources or reading material.

Thank you for your time and consideration.

Comments

  • jeremy tribby
    jeremy tribby Posts: 251
    edited May 2023
    Generally, glyph names are arbitrary, they can sort of be whatever you want as long as you have the right Unicode codepoint associated with it. if you are using Glyphs, which does rely on naming conventions to generate OpenType features, then:
    3. I am just guessing .alt is intended to use for only one alternative and .ss01 is intended to use for multiple alternative. Am I right?
    .cv01 (character variant) for one alternative and and .ss01 (stylistic set) for multiples. Note that character variants are fairly new and not supported in every app, so you might want to use stylistic sets for even single alternatives.
    the .alt extension is colloquially used for alternate glyphs that may or may not be exporting, but as far as I know that extension does not generate opentype feature code in Glyphs


  • Generally, glyph names are arbitrary, they can sort of be whatever you want as long as you have the right Unicode codepoint associated with it. if you are using Glyphs, which does rely on naming conventions to generate OpenType features, then:
    3. I am just guessing .alt is intended to use for only one alternative and .ss01 is intended to use for multiple alternative. Am I right?
    .cv01 (character variant) for one alternative and and .ss01 (stylistic set) for multiples. Note that character variants are fairly new and not supported in every app, so you might want to use stylistic sets for even single alternatives.
    the .alt extension is colloquially used for alternate glyphs that may or may not be exporting, but as far as I know that extension does not generate opentype feature code in Glyphs


    I am using fontlab.

    Can I use .ss01 for single alternative if fontlab does not support .alt or .cv01?
  • Thomas Phinney
    Thomas Phinney Posts: 2,896
    You can use any extension you like, but only the ones that correspond to standard feature names will help generate feature code.

    FontLab supports .ss01, .salt .cv01 and many others.
  • John
    John Posts: 1
    There is no difference how you name the glyphs. This is only necessary for your convenience and simplification of work when creating features.

    You can use
    a.1, a.2, a.3 (or 01 or 001 if you have many alternatives)
    a.alt1, a.alt2, a.alt3...
    a.ss01, a.ss02, a.ss03...
    etc.

    It is much more important to create features correctly if you are interested in the convenience of using your fonts. Not all programs support a full set of features, so it is advisable to create all possible options for accessing alternatives.

    The first (or those that you consider more important) alternatives should be assigned to the "StylisticAlternates" function (salt).

    The second stage (if you have several alternatives) is to create the required number of StylisticSet's (but no more than 20).

    The third stage is to create "AccessAllAlternates" (aalt) and specify in it all possible alternatives for each glyph.
    a = [a.01, a.02, a.03]

    It is also very good if alternative glyphs have a code. Unused code ranges can be used for this. For example, D800-E800 and others.

    Good luck :)
  • Simon Cozens
    Simon Cozens Posts: 752
    I strongly advise against encoding alternative glyphs in the Private Use Area. The clue's in the name - that use is intended to be private, not for publicly available fonts. I know it's a pain to access these glyphs in some applications otherwise, but I'm not convinced that PUA encoding actually buys you all that much and it kills document interoperability.

    I also really recommend giving alternate glyphs a meaningful name. I'm sure you can remember now how g.alt1 differs from g.alt2, but when you come back to your font in a few years time, you'll be much happier if you had named them g.wide and g.narrow instead.
  • Simon Cozens
    Simon Cozens Posts: 752
    You make a good argument. :-) If there are commonly-used apps which have no glyph palette and all you have is charmap, then yes, shake your fist, curse all software, and encode everything in PUA.
  • John Butler
    John Butler Posts: 297
    edited May 2023
    I use Inkscape a lot, and it’s one of my favorite OSS apps, the other being Paint.NET. The current Inkscape builds have quite formidable support for OpenType features, and they can export for Cricut. I realize not every Cricut user wants to learn a new app, but if one is to choose an excellent general-purpose illustration app to learn, one could do worse than Inkscape. It runs on most platforms, it’s free, it’s extensible, et cetera. It won’t hurt to make Cricut users aware of it.
    But I do agree with you, Ray, on the PUA. Unencoded glyphs in a font just amount to taunting the user, like every time someone asks a question about a Windows problem, and some dingdong replies with “get a Mac.” I’d rather encode alternates in the PUA and simply include something akin to a “silica gel: do not eat” disclaimer with the font.
    Paint.NET does not support OT features, last I checked, but I don’t use type in photo editing apps in general.