protectwise / troika

A JavaScript framework for interactive 3D and 2D visualizations

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support ligature caret positioning provided in font

lojjic opened this issue · comments

See discussion in #304 and #306

The current approach of treating all skipped char indices as ligatures with evenly-spaced interior caret positions is not appropriate for many graphemes, e.g. surrogate pair emojis and characters with marks. The proper approach appears to be:

  • By default, just use a single caret position for all char indices within a glyph
  • Add support for parsing the Ligature Caret List table from GDEF
  • For any multiple-char-spanning glyph, check if it appears in the Ligature Caret List table, and if so then use those positions.