Open r12a opened 4 years ago
The first comment in this issue contains text that will automatically appear in one or more gap-analysis documents as a subsection with the same title as this issue. Any edits made to that comment will be immediately available in the document. Proposals for changes or discussion of the content can be made in comments below this point.
Relevant gap analysis documents include: _Adlam • Arabic & Persian • Kashmiri • N'Ko • Uighur_
Note the issue is with every outline overlap. This includes overlapping shapes within characters as well as characters themselves overlapping. This issue is particularly visible in variable fonts where overlaps aren’t removed to preserve interpolation.
The same issue affects "handwriting" (cursive, joined) fonts for scripts such as Latin.
Just a clarification to say that it seems to me that this is a more intractable problem for content authors that write in scripts that are always joined up (like Arabic), since they can't use text stroke at all without it looking wierd. At least the Latin script content author can make a choice as to whether they combine joined-up with stroke colour, whereas Arabic content authors don't have an alternative strategy.
This issue is likely to apply to all cursive script text, but also to other scripts that have joins between letters.
When text stroke effects are applied to cursive text, they should not interrupt the cursive flow.
The GAP
Unfortunately, that's not the case for current implementations. Overlaps where the glyphs join produce double breaks in the cursive flow.
This example shows the typical result for Arabic.
The set of modern languages using cursive scripts includes those that use the following scripts: Arabic, Syriac, Mongolian, Mandaic, N'Ko, Adlam, Hanifi Rohingya. It also affects text in archaic scripts, including Phags Pa, Manichaean, Psalter Pahlavi, Sogdian, Old Uyghur, Chorasmian.
However, this also affects scripts such as Devanagari (Hindi, Marathi, etc), Gurmukhi (Punjabi), Bengali, Gondi, Modi, Newa, etc. This example is Hindi:
In Gecko, Blink, and Webkit the stroke around the text interrupts the cursive flow.
The property
text-stroke
is not yet in CSS, but has been implemented in major browsers under the name-webkit-text-stroke
.-webkit-text-stroke
is currently specified in WhatWG's Compatibility spec.Priority:
Marking as advanced because this is a decorative feature.
Tests
Interactive test, Text stroke applied to Arabic text doesn't cut joining glyphs apart
i18n test suite, Text stroke
Action taken
Issue, Standardize text-stroke Open.
Outcomes
tbd