GNOME Bugzilla – Bug 343111
More standard OpenType features
Last modified: 2012-08-25 19:20:39 UTC
Basic OpenType features should be applied for all basic Scripts, including DFLT. Apparently Uniscribe applies locl, ccmp, rlig, liga, clig, calt, kern, mark, mkmk to standard scripts. Font designers will probably make fonts using those expecting font shapers to be able to apply them, and users will probably expect fonts to behave similarly independently of the apps/platform. For locl it depends on Bug 325714, but other features could be applied easily, unless I'm mistaken. Would it be complicated to apply them if set in DFLT too? Right the basic module handles ccmp, clig, liga, kern, mark and mkmk.
This will be obvious to implement when we merge the fc OT shaper code.
Created attachment 88356 [details] [review] adding rlig and calt Here's a patch adding rlig (required ligature) and calt (contextual alternate) to the basic module.
We should apply this to all modules..
*** Bug 474609 has been marked as a duplicate of this bug. ***
Kamal Mansour also recommends applying calt, curs, and rlig.
Looking at the OT specs there are a few features which should be on/active in general. I guess ccmp, kern, mark, mkmk, opbd, size, vkrn, clig, liga, locl, calt, cpsp should be active by default for all Scripts, including Basic and DFLT. Not sure about opbd, size, vkrn, and cpsp. How should cpsp "Capital Spacing" be applied, espcially when kern is there? rlig may apply to other script than Arabic and Syriac so it should probably be active for Basic scripts and DFLT in general. fina, init, medi and psts can be used in any alphabetic script. Should they be active by default for Basic scripts and DFLT? For vertical mode there's valt, vert, vrt2. I guess vkrn should be active in the mode only. Does that include Basic script and DFLT? Here's what's in the specs: Script/language sensitivity: None. - ccmp - kern - mark - mkmk - opbd - size - vkrn Script/language sensitivity: Applies to virtually all scripts. - clig - liga Script/language sensitivity: Applies to all scripts and languages; but of course behavior differs by script and language. - locl Script/language sensitivity: Not applicable to ideographic scripts. - calt Script/language sensitivity: Should not be used in connecting scripts (e.g. most Arabic). - cpsp Script/language sensitivity: Can be used in any alphabetic script. - fina - init - medi - psts (Required in Indic) Script/language sensitivity: Applies to Arabic and Syriac. May apply to some other scripts. - rlig Script/language sensitivity: Applies only to scripts with vertical writing modes. - valt Script/language sensitivity: Applies only to scripts with vertical writing capability. - vert - vrt2
Closing as this is mostly addressed in HarfBuzz already.