stipub / stixfonts

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

Characters with the Soft_Dotted property #270

Open codepointless opened 2 months ago

codepointless commented 2 months ago

The Unicode standard (see section ‘Diacritics on i and j’ on page 293 and figure 7-2) prescribes, that all characters with the Soft_Dotted property lose the dot when receiving any combining marks above. PropList.txt provides the complete list of Soft_Dotted characters, of which 13 are presented in STIX Two Text: Latin letters and letter-like symbols ijįɨʝʲḭịⁱⅈⅉ and Cyrillic letters іј. Only Latin i and j lose their dot with diacritics above: the string íj́į́ɨ́ʝ́ʲ́і́ј́ḭ́ị́ⁱ́ⅈ́ⅉ́ renders like this: Аннотация 2024-09-08 140017

STIX Two Math contains even more characters with the Soft_Dotted property: ijįɨʝʲḭịⁱⅈⅉ𝐢𝐣𝑖𝑗𝒊𝒋𝒾𝒿𝓲𝓳𝔦𝔧𝕚𝕛𝖎𝖏𝗂𝗃𝗶𝗷𝘪𝘫𝙞𝙟𝚒𝚓, and again only Latin i and j lose the dot (and even then, looks very bad): Аннотация 2024-09-08 151513 I don’t know if the ‘Math’ font is supposed to support diacritics, but it’s still strange that two characters handle the Soft_Dotted property and others don’t.

tiroj commented 2 months ago

I can review the behaviour in the Text fonts, which use contextual ccmp feature substitutions to display dotless variants.

The Math font is more complicated: the various math alphanumeric styles get dotless versions using a specific dtls feature in the MATH layout, but this will only occur within equations i.e. specific math zones. And the positioning of marks within math layout also use different mechanisms than in regular text fonts, so the GPOS anchors for positioning of marks you see in the text fonts are not used in the math layout, hence the difference between j́ in your tests.