After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 343111 - More standard OpenType features
More standard OpenType features
Status: RESOLVED FIXED
Product: pango
Classification: Platform
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: pango-maint
pango-maint
: 474609 (view as bug list)
Depends on: 439298
Blocks:
 
 
Reported: 2006-05-27 14:19 UTC by Denis Jacquerye
Modified: 2012-08-25 19:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
adding rlig and calt (517 bytes, patch)
2007-05-17 19:02 UTC, Denis Jacquerye
none Details | Review

Description Denis Jacquerye 2006-05-27 14:19:40 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.
Comment 1 Behdad Esfahbod 2006-05-27 18:07:38 UTC
This will be obvious to implement when we merge the fc OT shaper code.
Comment 2 Denis Jacquerye 2007-05-17 19:02:25 UTC
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.
Comment 3 Behdad Esfahbod 2008-07-04 17:47:45 UTC
 We should apply this to all modules..
Comment 4 Behdad Esfahbod 2008-07-04 17:48:03 UTC
*** Bug 474609 has been marked as a duplicate of this bug. ***
Comment 5 Behdad Esfahbod 2009-10-24 02:42:43 UTC
Kamal Mansour also recommends applying calt, curs, and rlig.
Comment 6 Denis Jacquerye 2009-10-24 13:31:38 UTC
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
Comment 7 Behdad Esfahbod 2012-08-25 19:20:39 UTC
Closing as this is mostly addressed in HarfBuzz already.