Stylistic Set Substitutions

Get help with FontCreator here. Please do not post feature requests or bug reports here.
Post Reply
stormag
Posts: 41
Joined: Thu Feb 05, 2009 6:20 pm

Stylistic Set Substitutions

Post by stormag »

Moved from this discussion topic

I'd really like to use this awesome feature, but I guess I'm stuck setting the StylisticSets :(.

Is there any comprehensive tutorial about the latter thing? I.e. I had created an unmapped glyph - alternative letter „B”, named „B.ss01”.
Then, in the Open Type Designer I created „StylisticSet1_1 (ss01)”, what gave me access to to some mysterious table, where I can choose:

• Sylistic Set,

• Language ID (but what if I'd like to use te set in all languages?) and

• Content (what to type there???).

Then I added „ContextualAlternates1 (calt) / ChainingContext1”, but I have nothing to choose in the „Substitution Tables” column.
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Stylistic Set Substitutions

Post by Bhikkhu Pesala »

stormag wrote: Sun Jun 30, 2019 11:02 pm Then, in the Open Type Designer I created „StylisticSet1_1 (ss01)”, what gave me access to to some mysterious table, where I can choose:

• Sylistic Set,

• Language ID (but what if I'd like to use te set in all languages?) and

• Content (what to type there???).
You don't need to add anything there for a Stylistic Set. Those settings are optional and not yet used by many programs.

You need to add a lookup.
Add Lookup.png
Add Lookup.png (32.47 KiB) Viewed 5391 times
In the lookup table you add substitutions to replace A with alternative letter A, B with alternative letter B, and so forth.
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Erwin Denissen
Moderator
Moderator
Posts: 11108
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Stylistic Set Substitutions

Post by Erwin Denissen »

You can also use the Generate and Update OpenType Features dialog to automatically generate the feature(s) and accompanying lookup(s) for stylistic sets.

Within the OpenType Designer window click the first icon from the upper left corner. You will now be able to select which features you want to generate and/or update.

GenerateStylisticSets.png
GenerateStylisticSets.png (36.21 KiB) Viewed 5377 times
Stylistic Sets (ss01-ss20)
These allow for sets of stylistic variant glyphs corresponding to portions of the character set, e.g. multiple variants for lowercase letters in a Latin font. Be sure to name the variants with one of these suffixes: .ss01 .ss02 etc.
Erwin Denissen
High-Logic
Proven Font Technology
stormag
Posts: 41
Joined: Thu Feb 05, 2009 6:20 pm

Re: Stylistic Set Substitutions

Post by stormag »

Thank you for both answers as they pushed me forward, so I'm playing around with the newly acquired knowledge.

1. I only noticed (FC11.5 Pro), that - after setting Chaining Context and checked „calt” in the preview options – neither the Preview window or preview in the Open Type Designer show the alternatives ONLY where they are intended to be, but they simply replace ALL found glyphs that have its ss01 twin, with their alternatives. Does it work like that, or had I messed up something?

2. Can I use Character Variants instead of Stylistic Sets in order to create Chaining Context? I read the thread about it (viewtopic.php?f=8&t=8022), but it appeal very theoretical to me.

3. Another question is slightly off-topic, but it haunts me recurrently: can I put more/all Lookups into one Feature (just like on the attached image)? I mean, will it work properly? I'm not sure if the Features, with their default names (seemingly, strictly related to the Lookups/GPOS), are simply intended to encourage to keep the project in orderly manner, but on the other hand, once created Lookup cannot be move into another Feature, so I guess there must be a reason for that.

As for me and my - very possibly - barbaric knowledge at the moment;), the amount of („unnecessary”) nesting single Lookups in Features seem to be somewhat irritating, I'd rather put all the Lookups straight in the Default (language) upper folder, without any Features whatsoever.
Attachments
nesting reduction.png
nesting reduction.png (23.62 KiB) Viewed 5366 times
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Stylistic Set Substitutions

Post by Bhikkhu Pesala »

  1. Stylistic Sets (ss01-ss20) are used to replace each of a range of characters with alternate glyphs. When the feature is enabled, each glyph in the lookup is replaced with its alternate substitution.
  2. Character Variants (cv01=cv99) are similar, but typically used on a one-off basis.
  3. Some features can use multiple lookups, and some lookups can be used by multiple features, but you cannot just dump lookups wherever you want to make the Script tree look nice. I rename my lookups to match the feature that uses them, but the default name is the lookup type with a numeric suffix, e.g. SingleSubstituion1, Ligature1, etc.
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
stormag
Posts: 41
Joined: Thu Feb 05, 2009 6:20 pm

Re: Stylistic Set Substitutions

Post by stormag »

Thank you for the replies.

It seems that I'm still doing something wrong, though. I tested my font in Word 2010, and after setting Word to use the contextual alternates, it changes ALL the glyphs with defined substitutions to the substituted versions - with and without context :/.

I wonder what can be wrong this time...
stormag
Posts: 41
Joined: Thu Feb 05, 2009 6:20 pm

Re: Stylistic Set Substitutions

Post by stormag »

I've finally found the source of my problems - it turned out, that it was mostly about "dumping lookups wherever I wanted". At least in the end it gave me a way better understanding of the relation between Features and Lookups :mrgreen:

I basically ended up with my font having three Features with single Lookup in each of them:
• Contextual Alternates with Chaining Context,
• Kerning From Kern Table with Kerning From Kern Table and
• Stylistic Set with Alternate.

Seems obvious, unless someone messes things up at the very beginning...

It also seems, that regular Contextual Alternates are safer to use with older software than Required Contextual Alternates.
Post Reply