Inline elements/styling break cursive shaping #222
Labels
doc:arab_ks
doc:arab_ug
doc:arab_ur
doc:arfa
gap
The first comment in this issue is read by the gap-analysis document.
i:cursive
Cursive text
l:arb
Arabic
l:ks
Kashmiri
l:pes
Persian
l:ug
Uighur
l:ur
Urdu
p:advanced
s:arab
Arabic script (Used for arb + pes)
s:aran
Arabic nastaliq script style
x:adlm
x:alreq
x:arab-ks
x:arab-ug
x:blink
x:gecko
x:nkoo
x:webkit
This issue is applicable to text in all cursive scripts.
When elements surround part of a cursive run of text, and apply styling, the results often break the cursive joins. (See the results of trying to colour individual letters in the illustration below – as expected above, unsuccessful below.)
Specs:
After some discussion, the CSS spec requires the following (see CSS Text: Shaping Across Element Boundaries):
Tests & results:
Interactive test, A span with a colour change for one letter in an Arabic word doesn't break the joining behaviour
I18n test suite, Cursive joining
Webkit breaks cursive joining as soon as markup appears around a character, and so obviously fails for any type of styling application, too.
Gecko and Blink keep joins for styling that doesn't affect the shape of the characters (eg. text-decoration), and keeps it for colour changes, however Firefox fails for changes in font-weight, font-style, and font-size, as well as for markup such as
em
andb
tags.(Gecko and Blink also only pass some of the tests for non-zero margin/padding/border and bdi isolation. Which expect the cursive joins to be broken.)
Browser bug reports:
Gecko • Blink • Webkit
Priority:
It would be useful to decide on the potential impact of the failures described here, so as to prioritise the issue. Is the inability to surround/style parts of a word a significant issue? It may be problematic when defining a term (using
dfn
) if the term is only part of the run of letters between spaces, eg. after the definite article.The text was updated successfully, but these errors were encountered: