Can not figure out the difference between
rlig and
liga.
I have tried to understand this by myself, but could not find the real difference.
Oh! I have noticed that on 'rlig' definition you will find the phrase 'required ligature', but both rlig & liga have the same purpuse:
Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes
And both have the same UI suggestion:
This feature should be active by default
Sorry for asking something that might be very simple for exports around here, but as a program designer that want to understand [at first] those features that should be active by default, i've found all this Microsoft documentation a bit confusing.
Thanks.
Comments
1. On by default and cannot be turned off (required features)
2. On by default by can be turned off (standard features)
3. Off by default but can be turned on (discretionary features)
'rlig' is required ligatures (1st state).
'liga' is standard ligatures (2nd state).
'dlig' is discretionary ligatures (3rd state).
The 'rlig' feature was defined initially for use with Arabic script, where there are some combinations of letters that always take a special form that it should not be possible to turn off, while other combinations can take different forms in some fonts, and so would be treated as standard or discretionary.
[The model is not as consistently applied as one might hope. So, for instance, some kinds of features have only 1st and 2nd state options, and no 3rd state, e.g. 'rclt' and 'calt'.]
Am I wrong feeling that the Microsoft documentation is complicated and not unified, or it is just because of my poor English abilities?
*We reviewed and revised a small number of feature definitions a couple of years ago, and I think this approach could serve as a model for review of the whole registry. We examined how the 'init', 'medi', 'fina' and 'isol' features are actually implemented in shaping engines, contra how they were previously described in the registry — which bore basically no relationship at all to the implementation —, and then re-defined the features in a way that explicitly linked them to the relevant Unicode shaping standard.
In other words, I’ve put pseudo-random coding into the rlig feature, so that it is always non-turn-offable.
So that is one difference between liga and rlig, in Adobe (at least) applications, in which typographers are prohibited from having ligatures such as f_i appear in the middle of a tracked-out (letter spaced) word. But this behaviour may occur in rlig, should it be required by the type designer.