On Fri, Feb 20, 2009 at 07:57:22PM +0100, Hans Hagen wrote:
Khaled Hosny wrote:
Currently, when defining a font feature one has to enable all features by hand which is IMHO not very user friendly as it implies prior knowledge about OpenType font features and the meaning of each one, not every Arabic user, for example, knows what does 'init', 'medi, etc. ligatures mean yet to know that he must enable them to get proper font rendering.
I think some font features should be on by default, so that \definefontfeature[script=arabic] should be enough to get an Arabic font rendered correctly with the default features as its designer intended (designers assume that certain will be on while other are off by default, like liga vs. dlig), and if some one wants to disable a certain default feature he can turn it off, not the reverse.
Microsoft's OpenType features list page (http://www.microsoft.com/typography/otspec/features_ae.htm) gives a "UI suggestion" for each feature noting if it should be on by default, I think those are what most OpenType enable by default (at least the ones I tested).
i've been thinking of a features=default option (as there is already features=yes|no)
even then it can never be fully automatic as some usage of fonts (think of verbatim) demands devation from defaults
now, if we implement a default list then we first need to make a detailed list of what the supposed defaults are (and i'm not sure if ms is the only resource for that; after all, not all machineries support all features)
I didn't find any other sources, and this seem to be the only published source of such information.
a related issue is that fonts can be used for different languages and scripts and therefore a more dynamic feature switching might be needed i.e. arabic might need init, but when the same font is used for latin it not handy to have it enabled, so there might be a matrix of features / scripts needed
I think we can make default features per script (HarfBuzz seems to do that).
if it was trivial i'd already done it -)
I know :) just my two cents.
(implementing is trivial but i don't want to make the wrong decision here as it will influence compatibility)
I see. -- Khaled Hosny Arabic localizer and member of Arabeyes.org team