A (very) simple question about OpenType Stylistic Sets

piccic's picture

Although I have read about the issue occasionally in a few threads, I am unsure about this question:
Stylistic sets are ideally created to address a range of glyphs substitution, and I also think it works better to use them for full range substitutions (i.e. Swashed forms, Mediaeval forms, etc.)
Inversely, I may just wish to have a single alternate glyph, which may allow the user to have – let's say — a more traditional [t] than the one I have decided to be standard.

In these cases, how do you think it's better to place that simple alternate?
I know some designers (for example, Karsten), like the idea of using Stylistic Sets as well, even for a single glyph, but I'm not so attracted by this "multiplication of the sets"… :)
Would it be fine to use [salt], or maybe I could just include the glyph and not address the automatic handling of the substitution?
After all, in lead we just entered the single alternates manually… :=)

Jackson's picture

In my experience typesetting things with alternate glyphs I found it incredibly useful to be able to access each alternate in separate stylistic sets. So your t.alt would go in Stylistic Set 1, a Q.alt in Stylistic Set 2, etc.

This allows for someone to easily select a block of text and toggle each alternate individually. You should do it this way, unless there's a conceptual reason to group things together in a single feature. Or unless someone with actual technical knowledge of proper opentype etiquette wants to weight in.

piccic's picture

Thank you. As I said, Karsten Lücke is in favor of the option you suggest, but I'm not the number one supporter of excessively automated things, since they tend to compensate a lack of professional skills which you should acquire to lay out a page, no matter if you see it as a "graphic designer", graffiti artist, stonecarver or plain street guy.
I already have conceptual sets, but when it comes to single glyphs I think the ability to access them relies also on how good is your layout software (and interface).

So I'd like to hear the procedures of others to see how they behave when there is a single (or few) alternate glyphs which by no means represent a stylistic set, but just a viable alternate form.

charles ellertson's picture

As primarily a type user, I use the stylistic sets for single glyphs when I want them "on" or "off" always in a text. For example, I usually draw up an alternate old style "1" for fonts where the os "1" looks like a small-cap "I". If I don't, sure as shootin there will be an editor who insists on not using os figs at all, because of that "1." That alternate "1" goes in a stylistic set, which will be on for the whole job; I'll switch it on in the basic paragraph on which all other paragraphs are based.

Though it is a set of two, I've also taken to making angle brackets for text fonts. I have a stylistic set where I switch them with the greater and less glyphs. The reason is, many text's have URLs where the author insists on using the form <http> as a part of the reference. So, for the bibliography paragraph style, I'll switch on that set & not think twice. If the text proper has such constructions, you have to search the text & make sure that "greater" and "less" aren't used mathematically. If not, again, I'll switch on the set in the basic paragraph style.

On the other hand, glyphs intended for occasional use should probably not be a part of a stylistic set, but placed by the compositor by hand. An obvious example would be swash letters, though that's handled by a separate feature.

For me, it is a matter of how stylistic sets are best used, not "how many" members a set has.

FWIW

msmiths's picture

So are you saying for each 'alternative stylistic character' (stylistic A, or a stylistic O), it should be placed in a separate set (SS01, SS02)?

I always wondered about that… if multiple characters are in one set the user might only want one activated over the other, no problem if it's a small amount of display text to edit but for large bodies of text having to turn on a stylistic set, only to go back through and deactivate a specific character within that set would be a lot of work.

William Berkson's picture

Charles, that's interesting. So it is the old style 1 and not the old style "ring" 0 that's the problem for some editors?

Here on Typophile some folks have strongly objected to the ring old style zero on aesthetic grounds. But they don't usually mention the one, which looks like a small cap I, as you say.

I have just completed doing small caps figures, and in the process have finally understood the logic behind the design of the old style 0 and 1. --The clue was that I needed to narrow the old style 2 to make it harmonious with the regular, narrow 0 for the small caps, as opposed to old style figures.

By hanging the 34579 and raising the 68, the oldstyle design enables the part of the figure between the base line and x-height to have a width and color similar to the lower case letters, and still look properly proportioned to be recognizable. That's why they fit so well with text.

The 012 pose problems. You can make the 2 wide and be still recognizable, which is what is normally done. You could also make the top into an ascender, which I think a few typefaces do.

Making the 1 like a small cap I enables you to stretch the serifs, and push it wider than the one with a barbed top, so it fits better with the other letters and still looks not too bad. And after all it is differentiated from the lower case i and the cap I, so it works in text.

Making the 0 wide, as the design concept demands visually, can confuse it with the lower case 'o'. Hence the 'ring' or relatively unstressed zero solves the problem by avoiding confusion and keeping the width. I think the ring 0 can also look decent by 'cheating' and making it a bit oval instead of circular, and a bit stressed. There are more difficulties, as people here have pointed out, with heavier weights--which old style fonts originally didn't have.

But what I am realizing is that because there is no ideal solution you have to choose your poison, so to speak. If you have a wide stressed 0 it is going to be confusable with the 'o'. If you have the barbed 1 it is going to look less harmonious with the other old style figures.

To get around to the point, I think that if you have old style figures, particularly in a seriffed font, the situation argues for putting both an alternative old style barbed 1, and alternative stressed, wide old style zero each in its own stylistic alternative set. Then people can choose among four options, and "sei gesunt", go off in good health.

Personally, I prefer the original old style design, but then I'm old fashioned.

charles ellertson's picture

Charles, that’s interesting. So it is the old style 1 and not the old style “ring” 0 that’s the problem for some editors?

Yes. The ring zero, or worse, the reverse-stress "Stempel" zero are problems for graphic designers, but usually not editors. Most of the designers I know just avoid a font if they can't abide a glyph, editors are different creatures. And it is a little different, as there are those lining numbers for the editors latch on to.

I have been known to make up alternate zeros as well, for the few designers that ask. I don't countenance the argument that a zero that looks like a lower-case "oh" is confusing, for the simple reason that you almost never see an "oh" in the middle of a string of numbers. And in the style we usually (have to) follow, single-digits are usually spelled out, so you don't see just a zero by itself.

To somewhat tie this in to the original question, I suppose I'd put an alternate zero in a stylistic set by itself.

I'm more sanguine about alternate alphabetical characters -- the only one's I can thing of off-hand would be lower-case a (one & two tiered), and maybe the lower case g & y. If you're going to switch the g & y, with most designs it is best to do them together.

I do think a text typeface with too many alternate glyphs is just a real chore to use. You have to hope the font designer provided adequate notes with the font. In any case, if all those 20 stylistic sets are filed up, using the font is going to get confusing unless there is a real logic to it all. Display type could be a different matter, but then why not just get the glyphs from the glyph pallet where you can (somewhat) see what you are doing?

William Berkson's picture

Charles, I think you are right practically that the 0 comes in the middle of other figures, and so is not confusing. The same argument applies to the 1, though, so in theory editors should not be bothered by the small cap 'I' style.

As to the O being confused with the o, I'd have to check, but IIRC originally they made the 012 exactly at x-height, not bigger as we do now, so then it was more of a problem. Here in Georgia you don't notice any problem. But when the year 2010 comes, maybe true old style will look better?

By the way, I suspect hinting makes the 0 and o of Georgia look more different in size here on the screen than they do in print.

twardoch's picture

Originally, when stylistic sets were conceived, the authors of the OpenType specification throught that they should be mutually exclusive. And indeed, in the user interface of Mac OS X (the Typography palette), they are accessible through a series of mutually-exclusive radio buttons.

But in Adobe InDesign, the user interface treats them as additive, so the user can enable ss01 and ss04, for example, at the same time. And there have been more and more fonts that make use of this notion. I myself am a proponent of that approach as well — or at least, of the notion that it should be up to the type designer to choose whichever method works for him best.

I guess a sensible principle is: one stylistic set should substitute glyphs that should be substituted together (at the same time).

Whatever that may mean in practice. In some cases, it may mean that an entire alphabetic range is substituted by one ssXX feature, especially if the type designer thinks that mixing glyphs from different sets does not make much sense. But if your design has an alternative "R", an alternative "K" and alternative "M", and each of those glyphs is in a way independent of the others, so selectively substituting them one by one does make sense design-wise, I would then by all means put them into separate sets.

As far as salt vs. ssXX is concerned, I've outlined my view here:
http://typophile.com/node/17887
http://typophile.com/node/32399

Best,
Adam

twardoch's picture

And should you feel experimental, here's some ideas for you:

feature ss01 {
sub a by a.ss01;
} ss01;

feature ss02 {
sub a.ss01 by a.ss02;
sub b by b.ss02;
} ss02;

feature ss03 {
sub a.ss02 by a.ss03;
sub b.ss01 by b.ss03;
sub c by c.ss03;
} ss03;

When ss01 is enabled, a will be replaced by a.ss01.

When ss02 is enabled, b will be replaced by b.ss02.

But if ss01 and ss02 are enabled at the same time, b will be replaced by b.ss02 but a will be replaced by a.ss02 rather than by a.ss01.

In other words, you can design your stylistic sets so that something happens on ss01, something else happens on ss02 and something yet different happens on ss01+ss02.

feature ss01 {
sub a by a.ss01;
sub d by d.ss01;
sub g by g.ss01;
} ss01;

feature ss02 {
sub b by b.ss02;
sub e by e.ss02;
sub s by s.ss02;
} ss02;

feature ss03 {
sub c by c.ss03;
sub f by f.ss03;
sub w by w.ss03;
} ss03;

feature calt {
sub [a.ss01-z.ss01] [a-z]' by [a.ss01-z.ss01];
sub [a.ss02-z.ss02] [a-z]' by [a.ss02-z.ss02];
sub [a.ss03-z.ss03] [a-z]' by [a.ss03-z.ss03];
} calt;

Doesn't make so much sense by itself but illustrates the idea that the stylistic sets by themselves can perform some actions but they can also trigger different behaviors of, say, the "contextual alternates" feature, so in essence, you could have different "branches" of contextual behaviors implemented that way.

BTW, you can even implement separate contextual behaviors within each ssXX feature. The ssXX features do not have to be simple "a by a.1, b by b.1" substitutions.

Regards,
Adam

msmiths's picture

That gets interesting creating the behaviors with it, didn't realize that was possible, so you basically override the previous set behavior as each additional set is activated depending on how you set it up… thanks for the reply… good information…

nina's picture

"In other words, you can design your stylistic sets so that something happens on ss01, something else happens on ss02 and something yet different happens on ss01+ss02."
That looks very exciting! I didn't think that was possible.
One question from the newbie fraction though: don't many users think of stylistic sets as purely additive and somewhat static, and wouldn't one risk terminally confusing some of them by introducing this kind of cross referencing between stylistic sets? Also because that would imply that as a curious user, you wouldn't just want to try out the 20 stylistic sets in isolation, but also all possible combinations between them – which would probably warrant a rather large manual, or require a *lot* of time playing around with the font.

Jackson's picture

'So it is the old style 1 and not the old style “ring” 0 that’s the problem for some editors?'

In my experience, the 1 has always been the reason an art director has requested lining instead of old style figures. In some cases this has required changing the font entirely. I've never had a problem when the 1 has a flag serif instead of the I though, and in some cases I've gone as far as substituting a more contemporary 1 from a similar font just to get the design approved.

charles ellertson's picture

I’ve never had a problem when the 1 has a flag serif instead of the I though . . .

How about the abbreviation for "Interstate 10", using small caps & os figs?

John Hudson's picture

Adam: But in Adobe InDesign, the user interface treats them as additive, so the user can enable ss01 and ss04, for example, at the same time. And there have been more and more fonts that make use of this notion. I myself am a proponent of that approach as well — or at least, of the notion that it should be up to the type designer to choose whichever method works for him best.

I agree with the sentiment of allowing the type designer to choose whether the ssXX features should be additive or exclusive, but I can't figure out how to make them truly exclusive within the InDesign UI model. One can make the lookups map variants from all sets to the specific stylistic set variants, but the order of the lookups still means that if more than one feature is turned on the later-processed lookups will override the earlier ones, regardless of the order in which the user has turned the features on. So, presuming lookup order follows feature order, if the user turns on stylistic set 7 in the InDesign UI, and then turns on stylistic set 4, the stylistic set 7 glyphs will still display, because that lookup is processed after the stylistic set 4 lookups.

So the user, not the type designer, is ultimately responsible for making the sets exclusive through selection of only one feature at a time.
___

Regarding use of stylistic set features to implement changes to single glyphs, rather than to sets of glyphs such as alphabet subsets: this is not what I had in mind when I defined the stylistic set features, and this is also why there are only twenty such sets. If one wanted to use stylistic sets to mix and match different variants of individual glyphs one would quickly run out of features.

Peter Constable at MS, working with his former colleagues at SIL, have been working on a feature spec for a hundred character variant features.

k.l.'s picture

Peter Constable at MS, working with his former colleagues at SIL, have been working on a feature spec for a hundred character variant features.

This were nice to have and to see it supported in applications. I am very curious for the interface which can give access to so many alternates!

William Berkson's picture

Charles, your arguments and those of others here have converted me. I do think that the small cap "I" style is good aesthetically, but if it's increasingly alienating to editors and some readers, that's for me a decisive argument against making it the default style. And the current old style numbers being above x-height makes the stressed 0 sufficiently different from the o.

So now I'm thinking that the best thing is to follow the lead of this font, Georgia, and use the stressed 0 and barbed 1 as default. I will put the classic style zero and one in an ss00 style group for those who want the traditional look on their old style figures.

Cristobal Henestrosa's picture

Charles_e said: I don’t countenance the argument that a zero that looks like a lower-case “oh” is confusing, for the simple reason that you almost never see an “oh” in the middle of a string of numbers

An aside: in Spanish, “o” is the equivalent for the English “or”, so it is possible to see a sequence like “1 o 2”, (i. e., “one or two”) and some people could read it wrongly as “one zero two” or, if the space between numbers is not big enough, “one hundred two”.

I hope it will never happen to a doctor reading the dose he should give to his patient. :S

charles ellertson's picture

OK, good reason to have the zero look different from the "oh." Can be fatter with fonts that have a narrow "oh", narrower with fonts having a wide "oh" -- like Hypatia sans.

William Berkson's picture

Charles, I wish it were that easy to solve--making the old style 0 proportionally much wider or narrower than the o. The problem is that going too much one way or the other and the old style figures--and the 0 needs to be harmonious with the rest of them--won't fit in as well with the text, which is sort of their whole point.

piccic's picture

Wow, great response, thank you! :=)

I guess Adam has addressed the core of my question, but I'll be back to read in full later on…

BTW, you can even implement separate contextual behaviors within each ssXX feature. The ssXX features do not have to be simple “a by a.1, b by b.1” substitutions.
Ho do you do that, and which would be an interesting use?
I mean, addressing ligatures is already a sort of "contextual" behaviour within sets, since the more complex they are, you have to address them first (if I recall correctly, heh I'm still a novice…)

Great question about the OsF [1] as well. Later…

piccic's picture

About the use of [salt], assuming I am limiting its use to spare glyphs, which is the usefulness of a similar code:

sub b from [b.1 b.2 b.3];

I ask because I have never used other applications than InDesign and basic Apple apps, and I can't figure out precisely how the three [b] variants are accessed in this way.

piccic's picture

Addenda: After creating a set for my alternate [t], I have re-read the thread Stylistic Alternatives, and Thomas Phinney's words:

Mark et al: Personally, I would not consider it egregious to have a stylistic set that only affected one glyph. I do think it would be a really bad idea to put completely unrelated things in a single stylistic set, as the whole point of a stylistic set is to get a consistent look, and it’s meant to be applied globally.
Also of note is the idea that ’salt’ is meant to be applied on a single character at a time, and implies a UI that allows the user to pick which alternate they want for the character being affected.

And once again I became undecided where to put my alternate [t]… LOL

Being a single letter it's not a "stylistic set" (although that [t] is also part of a Set where all letters are substituted, but this is not the key).

On the other hand if [salt] is meant to be applied to a single character at a time, what happens when it contains various character substitutions? If I use [salt] for the [t], I will have it currently inaccessible in InDesign, and then if another single alternate needs the same treatment what should I use?

Now I wait for Adobe and Microsoft to tell me what I should do… :P
(not a thing that over-worries me, in the end I think I will end up putting it somewhere just to have it addressed by [aalt]).

Or maybe I'm just not done for the code… :P

John Hudson's picture

I ask because I have never used other applications than InDesign and basic Apple apps, and I can’t figure out precisely how the three [b] variants are accessed in this way.

The idea behind OT one-to-one-of-many enumerated substitutions is that an application could provide a dynamic mini-palette of variants for the user to select from. So, for instance, you would select a character, apply the [salt] feature, and up would pop a little palette showing the variant forms available for that character. This is similar to some of the input method editors for Chinese characters, in which one types a series of phonetic characters and is presented with a palette of the possible Chinese characters.

I'm not sure if anyone has actually tried to implement this aspect of OT in a UI. Perhaps Apple? It would adapt perhaps more easily to their approach to typographic feature menus than to some others.

piccic's picture

Thanks John, I guessed that. This reinforces my idea that, as of now, the [salt] feature is not so useful, unless the user interface will provide this.
Do we have to wait some Italian developing a Tasmeem-like software for setting advanced Cancelleresca to have these luxuries in Latin? :=)

Mark Simonson's picture

Regarding use of stylistic set features to implement changes to single glyphs, rather than to sets of glyphs such as alphabet subsets: this is not what I had in mind when I defined the stylistic set features, and this is also why there are only twenty such sets.

John, what exactly did you have in mind? Can you give a specific example? The examples in the spec (Poetica and Zapfino) are very general.

As I understand it, a stylistic set is a set of alternate glyphs that changes the appearance of a typeface when they are used. I don't see any logical reason why such a set could not consist of a single glyph (possibly including its related variants such as accented forms) as long as it changes the appearance of the typeface when it is used. The fact that there are only twenty possible sets does not necessarily have a bearing on this issue, unless you have more than twenty alternate glyphs that you want to use in this way.

John Hudson's picture

What I had in mind when spec'ing the Stylistic Set features, and discussing them with folk at MS and Adobe, were exactly typefaces like Zapfino and Poetica in which there are sets of variants that a) are harmoniously consistent with but distinct from the other sets and b) harmoniously consistent within themselves. If you consider the sets of Poetica letters with formata and corsiva extenders, you have a pretty good idea of what I had in mind. At the time, we had recently worked on the Apple version of Zapfino, and knew that Linotype would want a mechanism to address the variants in an eventual OT version, and that Adobe were facing similar needs for Poetica and perhaps some other designs.

Of course, the definition of what constitutes a ‘set’ for such purposes is vague or, rather, design-specific. I wouldn't try to assign a minimum a quantity of glyphs, but would try to rationalise sets in terms of consistent variation of related shapes or concepts, e.g. ascenders, descenders, terminals, single- vs double-storey a and g, etc. Obviously, what happens to a base letter may be expected to carry across to diacritic forms of that letter, but these would not necessarily constitute a set to my way of thinking, unless the base letter varied in some unique way that was not applicable to any other letter.

Some of my colleagues very quickly adapted the stylistic set features to access more finely granulated and additive variation, facilitating easy mixing and matching of variants of individual letters. I can't blame them because there were no similarly useful and widely supported layout features specifically for individual characters. But I knew it would only be a matter of time before the limit of 20 stylistic set features became an issue for such usage, and I'd say that this became a significant problem for some in 2008. For example, SIL are developing fonts for large numbers of languages with fluid orthographic norms and inconsistent interpretation of letter shapes, so they need a mechanism to allow users to mix and match desired forms for individual characters. Critically, the variation in forms is not a consistent stylistic feature applied across related shapes, but fundamental inconsistency in the shape of letters that Unicode considers a single character. They already have defined more than twenty such variations. Another example is that of the very complex OT Arabic font being developed by Idris Samawi Hamid, which requires a mechanism to mix and match multiple stylistic variants of individual letters in a free way. Again, the number of variants exceeds twenty, and are not classifiable as related sets.

So we're at a point where one of two things needs to happen: either we massively increase the number of registered stylistic set features, and in the process redefine the purpose of those sets and abandon their original intent, or we register new features specifically to address single character variants and maintain a distinction between that functionality and that of set variation. I favour the latter for a couple of reasons, not least because SIL and MS have already come up with a viable feature spec (including, by the way, name string indexing, allowing font developers to link human-friendly menu names to features, e.g. 'Left hook Y' or 'Right hook Y'; a similar mechanism is spec'd to be added to the existing stylistic set features). The other reason is that rather than having a hundred stylistic set features -- with no very obvious way to tell whether an individual feature applies to a set of letters or to an individual letter--, we would have twenty stylistic set features and one hundred character variant features, which a font developer could make interactive.

Sye's picture

as a graphic designer, i don't mind having just one glyph per stylistic set. especially if i relly want that single story lowercase g, but nothing else, it's a lot easier to make that change globally rather than doing a find/replace.

i like the way Neutraface No. 2 Text handles this (especially cap M, lower a and g).

http://www.houseind.com/fonts/neutrafaceno2

William Berkson's picture

>human-friendly menu names

Yes!

guifa's picture

so it is possible to see a sequence like “1 o 2”, (i. e., “one or two”) and some people could read it wrongly as “one zero two” or, if the space between numbers is not big enough, “one hundred two”.

Actually, "1 or 2" in Spanish would be written "1 ó 2" and the accent is placed for precisely this reason.

«El futuro es una línea tan fina que apenas nos damos cuenta de pintarla nosotros mismos». (La Luz Oscura, por Javier Guerrero)

Mark Simonson's picture

Thanks for the explanation, John. It seems that affordances inevitably lead to unanticipated (or unintended) usage.

Hypothetically, if a typeface had only one alternate (for example, a normal "t" and an alternate "t"), would it violate the spirit or letter of the stylistic sets spec to create a set that only affected the "t"?

Incidentally, I think the proposed single character variant is a great idea.

John Hudson's picture

Mark: Hypothetically, if a typeface had only one alternate (for example, a normal “t” and an alternate “t”), would it violate the spirit or letter of the stylistic sets spec to create a set that only affected the “t”?

I think it would certainly violate both spirit of the stylistic set features, and probably the letter too: I would say of such a font that it has no stylistic sets, and in terms of existing layout features [salt] would be appropriate. But since the [salt] feature is inadequately supported, it is difficult to recommend it.

twardoch's picture

The human-readable names for stylistic sets are already supported in AFDKO 2.5.

twardoch's picture

John,

1. How many glyphs is your minimum for a stylistic set?

2. Why, apart from the fact that it has not been originally conceived that way, does having one alternate glyph in a set violate the "spirit" of the stylistic set features?

A.

William Berkson's picture

Adam, does that mean you can use them in a font, and Adobe's programs will read them now? Or does it mean that one step toward this has been done?

Thomas Phinney's picture

@William: You can put them in a font. Adobe has not made any statements about when they'll be supported in applications.

@John et aliae: The new character variants are a fine thing in principle. The problem is they require significant UI to work at all, and this means they'll probably never be supported by MS Office or Adobe Creative Suite. At least, "not in the foreseeable future," if "never" is too strong a word.

The problems with 'salt' for this purpose are (1) that it can't be easily applied globally across text for a specific affects, and (2) it doesn't easily do a consistent affect even for a base letter plus its accented variants, or for both the tabular and proportional versions of a number. (There are few basic English letters that don't have accented forms in a reasonably large multi-lingual font.)

I don't have a good solution, really. My personal fallback as a type designer and font developer would be to use stylistic sets for now, while badgering Microsoft and Adobe. But I don't hold out much hope on that latter front. Plus, there's a tragedy of the commons issue: we'd all be best served by getting apps to support the character variants feature, but we'd most effectively pressure the app/OS people by building lots of fonts that use that feature... yet we'd be doing the best thing for ourselves in the short term by ignoring the feature in favor of stylistic sets. Ouch.

Cheers,

T

John Hudson's picture

Adam, read my lengthy reply to Mark Simonson. I don't have a quantitative minimum for a stylistic set. The set is a concept, the contents of which are recognisable by their relationships. Since a single glyph possesses no such relationships, it doesn't meet the definition of a set, and I believe that using the stylistic set features for this purpose is a hack response to the lack of a viable alternative feature and UI.

Thomas: The new character variants are a fine thing in principle. The problem is they require significant UI to work at all, and this means they’ll probably never be supported...

But this is also true of any extension to the existing twenty stylistic set features (especially if one wants to take advantage of human-friendly name strings), and those have already been demonstrated to be insufficient for single character substitutions. Any advance on the present position will require significant UI, and this may well mean that it doesn't happen, or happens only slowly. But in that case why not spec it the right way? At least we'd be pretty much guaranteed that it will be supported in XeTeX. :)

yet we’d be doing the best thing for ourselves in the short term by ignoring the feature in favor of stylistic sets.

For those who want short-term and possibly partial support for character variants via the stylistic set features, there's nothing to stop them implementing substitutions in both those features and the new character variant features. It isn't an either/or situation.
___

Of course, another approach to this whole issue would be to start defining Variant Selector sequences for common character variant forms and propose them to Unicode. That solution would have the benefits of standardisation and interoperability.

Cristobal Henestrosa's picture

@guifa, who said: Actually, “1 or 2” in Spanish would be written “1 ó 2” and the accent is placed for precisely this reason.

Yes, I remembered that this morning. I agree with you, but not completely. As Jorge de Buen says in his Manual de diseño editorial (third edition), the accent would only be applied “In the strange case of a conjunction ‘o’ in risk of being confused with a zero” (p. 417). This would be certainly the case.

But, if there’s no room for confusion (lining numbers, for example), the accent is pointless.

Anyway, I think it is better for everyone to design a zero different from the letter o. Someday your font could find a lazy or ignorant editor or graphic designer. Or maybe simply someone that believes that there’s no such confusion. Or a book that changes from lining numbers to oldstyle numbers in the next edition, &c.

But maybe we are a little far away from the main subject… A new thread?

————

PS: Actually, the most common option for “1 o 2” is “uno o dos”. ;-)

Thomas Phinney's picture

@John:

I wrote: "The new character variants are a fine thing in principle. The problem is they require significant UI to work at all, and this means they’ll probably never be supported..."

You replied: But this is also true of any extension to the existing twenty stylistic set features...

No, it is not "significant UI work" to extend an existing menu system to support X additional entries that work *exactly* like the existing entries. No need to consult a UI designer, and the programming can be done in minutes. That's the kind of thing that I would have expected to probably easily get into a new version of InDesign, when I was at Adobe.

...(especially if one wants to take advantage of human-friendly name strings).

That part is true. Getting support for more stylistic sets (in apps that already support them) should be immeasurably easier than getting support for human-friendly names for those sets, or support for the character variants feature.

Cheers,

T

twardoch's picture

John,

> The set is a concept, the contents of which are
> recognisable by their relationships.

Oh I see. But "a" and "á" do have that relationship, so if I put the letter and its accented variants into one set, that must be fine, right? :)

A.

piccic's picture

John: The set is a concept, the contents of which are recognisable by their relationships. Since a single glyph possesses no such relationships, it doesn’t meet the definition of a set, and I believe that using the stylistic set features for this purpose is a hack response to the lack of a viable alternative feature and UI.

Thank you! Finally you nailed my problem perfectly! :=)

Considered all that has been said, I have taken my decision:

My two stylistic sets meet precisely John's definition. Since it's not a "text typeface" they even meet it more, as they are conceptual. So they are clearly "Sets".
I think people may use the Stylistic Set workaround as they wish, until a "pop-up" function or a full support of [salt] will be available in UIs (as Karsten does), but I entirely agree it doesn't make sense to consider those "Sets", and that it's a potentially confusional method for unlearned type users.

My additional [t] (which is also part of ss02 but I wished it to be also a single alternative) will go into [salt], together with a few other variants (I have a [G.swsh01], for example), and I will not have a Stylistic Set for any of those.

Adding all the features to [aalt] will make all the variant letters available in InDesign Glyphs palette.

That should meet Thomas' long-term condition:
Getting apps to support the character variants feature, while pressuring the app/OS people by building fonts that use that feature...

Now some questions:

@John: What are precisely the "new character variant features" you talked about?

@Adam: How could you possibly use "human-readable names" for the Sets if most applications will not show them? If I use FontLab to generate the typeface, is there a way to add those names?

Many, many thanks to you all for the valuable information and for having helped me to clarify the nature of the problem, in my specific situation ("display" typefaces).

John Hudson's picture

Adam:Oh I see. But “a” and “á” do have that relationship, so if I put the letter and its accented variants into one set, that must be fine, right?

No, because á is just a with a combining mark that has been ambiguously encoded for backwards compatibility reasons. So there!

John Hudson's picture

What are precisely the “new character variant features” you talked about?

These are currently being discussed by OT spec stakeholders. They have been proposed by Peter Constable at MS and folk from SIL.

Thomas Phinney's picture

The status of character variants is that they are pretty much accepted for 1.6. Who all will support them is another question, but I think the feature will almost certainly happen.

Cheers,

T

John Hudson's picture

Thanks, Thomas. I missed the last round of OT 1.6 discussions, so wasn't sure on the status of these features.

Heh: I just noticed the subject line of this discussion. Not such a simple question after all!

twardoch's picture

John:

first you wrote:

> The set is a concept, the contents of which are
> recognisable by their relationships.

then you wrote:

> No, because á is just a with a combining mark that has
> been ambiguously encoded for backwards compatibility
> reasons. So there!

So first you say a set are glyphs recognisable by their relationships. Then you say that "a" and "á" are glyphs that are recognisable by their relationship, which is "á is just a with a combining mark that has been ambiguously encoded for backwards compatibility reasons" — to me that is a very recognisable relationship. But then you say, "a" and "á" are not a set.

I cannot follow.

twardoch's picture

> If I use FontLab to generate the typeface, is there
> a way to add those names?

Certainly not if you use FontLab, as this is an ancient product (ceased to exist with version 4.6), and also not if you use FontLab Studio, as the current version 5.0.4 uses Adobe FDK for OpenType (AFDKO) version 1.6 to generate OpenType Layout features. Support for human-readable names for stylistic sets has been added to Adobe FDK for OpenType 2.5, which has been released only six weeks ago. AFDKO 2.5 will be integrated into FontLab Studio 6, and then you'll be able to add human-readable stylistic set names easily.

> How could you possibly use “human-readable names”
> for the Sets if most applications will not show them?

The same way people used Unicode in their fonts in 1996 even though most applications did not support it. At some point, applications caught up.

There is a chain of things that need to happen: first, you need a certain functionality registered in the specification (which is the case now, with OpenType 1.6), then you need an development tool that allows you to add this functionality (AFDKO 2.5, which will be incorporated into FLS6), then you need some fonts that actually have this functionality included (the OpenType fonts that are yet to be developed), and finally you need some applications that expose that functionality (the developers of those apps need some fonts to test the functionality with, so they won't likely develop the functionality without any test fonts in place).

Regards,
Adam

piccic's picture

Hi Adam, thanks for the very clear explanation. For now I will keep my Set names as mere comment tags.

I keep calling FontLab simply FontLab, since "Studio" evokes confusion in my mind, as it was my beloved FontStudio (from Ares/Letraset), the program I used before FontLab.
Yes, of course I'm using FontLab 5.0.4, and I can't wait for version 6. :=)

On the [a] issue: seriously, I can't understand what you don't understand: [a] and [à] are not "glyphs in a rleationship", but the same glyph. The fact they use different Unicode values is probable to make them more easily accessible, but an accent or diacritic does not make a letter turn into another letter.
The relationship within Sets should be somehow intrinsecal, and defined by a principle, be it historical, experimental, cultural, or others. I agree it doesn't need to be a full-range substitution: even a few letters can result in enough context for a Set.

A classic example could be the Italic Set Karsten embedded in Litteratra: here the Italic (which is, in fact, a style more used than others) is treated within the typeface instead of outside.
Some people tend to prefer the opposite approach: OpenType or not, styles are considered better accessed as separate font files as it was previously, only with the benefit of Unicode full-range support.

Examples of a more experimental nature could be the four Set variants Nick Shinn has included in Duffy, which they cover all the alphabetic range, and cultural examples may be what House Industries has done with a recent script family which addresses different styles of Latin lettering sourced from varied context of countries and cultural zones.

twardoch's picture

> [a] and [à] are not “glyphs in a rleationship”,
> but the same glyph

This is the first time ever that I hear such a thing.

> an accent or diacritic does not make a letter
> turn into another letter.

Oh? That's news to me. Educate me.

Let's take the letter n.

Now let's take the following characters:
ñ h ń ȷ m ɲ j ŋ

Which of those characters are "the same letter as n" and which are not, and why?

Are the letters H and Ĥ the same letter?
Are the letters H and Ħ the same letter?
Are the letters L and Ľ the same letter?
Are the letters L and Ł the same letter?
Are the letters E and F the same letter?
Are the letters F and Ƒ the same letter?

(Seriously.)

Best,
Adam

John Hudson's picture

Adam, a and á -- and à â ã ä å etc. -- do not form a stylistic set because they are a single letterform with different marks. That they are also separate characters in Unicode and may be rendered using separate glyphs is simply a technical accident. In terms of the stylistic change it is a single substitution: this letterform a to a different form of the same letter.

Now let’s take the following characters:
ñ h ń ȷ m ɲ j ŋ
Which of those characters are “the same letter as n” and which are not, and why?

ñ ń are the same letter

h ȷ m ɲ j ŋ are different letters

Let me put it this way: if the relationship between two letterforms is one of identity -- they are identical (not necessarily in the sense of having identical outlines, but of being clearly recognisable as the same form of the same letter) -- then a single stylistic substitution is being performed. If the relationship between two letterforms is that of difference but with some similar features and those features are changed in the same way by the substitution, then you have a set substitution.

John Hudson's picture

Are the letters H and Ĥ the same letter? Yes.
Are the letters H and Ħ the same letter? Probably.
Are the letters L and Ľ the same letter? Yes.
Are the letters L and Ł the same letter? Probably.
Are the letters E and F the same letter? No.
Are the letters F and Ƒ the same letter? Probably.

Where I have written yes, it is because the letterform-part of the diacritic is identical and therefore consistently follow the same stylistic variations.

Where I have written probably, it is because there is an identical relationship between this diacritic and a base letterform in most designs such that a stylistic variant in one would be consistently followed by the same variation in the other; however, in some designs this might not be the case due to idiomatic conventions.

Where I have written no, it is because there is never a case where these two are considered diacritic forms of the same letterform. They are different letters that share some features in common; hence they are logically put into a stylistic set if stylistic variation modifies these shared features in the same way.

Here is another way to look at it:

Imagine all text is subject to Unicode normalisation form D (fully decomposed), and imagine that fonts only use GPOS mark positioning to display diacritic letters. You wouldn't have a à á â ã ä å: you would only have a. Hence, one can say that there is only a single substitution in stylistic variation of that letterform, not a stylistic set.

On the other hand, if fully decomposed text still makes a distinction, as it obviously does, between E and F, then those are clearly separate letters that, if following the same stylistic variation belong in a set.

The diacritic letters that do not have canonical decompositions may or may not belong in sets. I argue that if the basic form of the letter is identical to that of another letterform, then they share in a single substitution and not a set substitution. So, for example, a stylistic variation affecting the o-shape in o and ø would be a single substitution, but a variation also affecting œ would be part of a stylistic set substitution.

I don't claim this is the only way to look at this question, but insofar as the Stylistic Set features were intended not for changes to individual letterforms, this seems to me the best way to draw the distinction between what belongs in such sets and what should be in [salt] if that feature were adequately supported and what should be in the new character variant features when they are approved and, hopefully, supported. And we do need to have a basis for such distinctions if we are going to recommend any sensible use of these similar layout features.

Syndicate content Syndicate content