Dear all,

I’m trying to sort out some of the interfaces in fontspec, and I’m slightly 
confused/unsure about how to handle “de-activating” OpenType features, such as 
“-smcp”.

Under what scenarios would it make sense to use “-FEAT”, where “FEAT” is an 
OpenType feature tag?

I know that a number of font features are activated by default by XeTeX and 
luaotfload, such as +liga. Presumably this is one scenario.

Can a font automatically select a font feature? E.g., if a font supports both 
+lnum and +onum and hypothetically has +onum as default, can it be deactivated 
with -onum ?

I know XeTeX and luaotfload are also clever enough for -FEAT to cancel out 
+FEAT, but I’m trying to avoid that ever happening as a result of a fontspec 
call.

Is there anything else I’m missing?

* * *

The context is that I’m adding new logic to fontspec to strip out unnecessary 
strings in the font call, so something like

\addfontfeature{Numbers=OldStyle}
\addfontfeature{Numbers=Lining}
\addfontfeature{Numbers=OldStyle}

will result in a font that has just “+onum" rather than (as at present) 
“+onum;+lnum;+onum”.

What I’m thinking at present is that all OpenType feature tags will have three 
invocations:

Type=FeatureName: +FEAT
Type=NoFeatureName: -FEAT
Type=ResetFeatureName: <remove either +FEAT or -FEAT from the features list>

* * *

Happy celebrations for the new year!

Will

Reply via email to