stipub / stixfonts

OpenType Unicode fonts for Scientific, Technical, and Mathematical texts
SIL Open Font License 1.1
730 stars 41 forks source link

Suggestion: Add glyph for U+035F (Combining double macron below) #213

Open adamiturabi opened 3 years ago

adamiturabi commented 3 years ago

I would like to suggest implementation of U+035F (Combining double macron below). When adding, it will be nice if it can support stacking diacritics thus:

image

(Input sequence: d, U+035F, U+0323, h)

tiroj commented 3 years ago

This is possible, although the double-width combining marks in Unicode are a hassle to implement in a way that accomodates varying letter width.

tiroj commented 3 years ago

Spec'd for 2.20

tiroj commented 3 years ago

Implemented in Text fonts for v2.20. Implementation includes GSUB contextual substitutions of variant double-letter ties based on letter widths, and GPOS contextual vertical adjustments to accommodate different letter heights. The ties have anchors for above or below marks as appropriate, but will have limited interaction with other marks, e.g. if a tie is applied between a pair of letters one or both of which also carry a combining mark, the tie may collide with the mark.

tiroj commented 2 years ago

NOTE: text sequences involving the double-width ties with other marks may include U+034F COMBINING GRAPHEME JOINER (CGJ) to prevent reordering of marks during Unicode normalisation. I need to figure out an appropriate way to manage the presence of this character in glyph processing, so that it doesn’t prevent correct mark positioning. Currently thinking I will need to add an empty glyph for the CGJ and then filter it out of the anchor pos lookup for these sequences.

tiroj commented 2 years ago

Added support to handle presence of CGJ in mark sequences. This is done by adding U+034F character to Text fonts (empty zero width glyph), classifying it as a mark in the GDEF table, and then excluding it from the mark filter set from all mark positioning lookups. Re-test in v2.20 when released.

tiroj commented 2 years ago

Updated sources and fonts delivered to STI Pub for testing. Issue reopened pending public release.