w3c / eurlreq

European language enablement
7 stars 3 forks source link

CSS Writing-modes sideways values not implemented #11

Open r12a opened 4 years ago

r12a commented 4 years ago

This issue is applicable to most languages.

Text that is normally written horizontally may need to be written vertically for special effects (the spine of a book, table column headings, etc). Typographically, it is simply horizontal text that is rotated.

The GAP

The CSS feature defined in Writing Modes Level 4, which is in CR, provides a solution using sideways-lr|sideways-rl values of the writing-mode property.

There is no way to do this effectively until browsers support the new CSS properties.

writing-mode:vertical-lr/rl is not appropriate for achieving this, because of things such as wrong locations for line start and end, and incorrect direction of line wrapping, not to mention the implications for glyph rotation.

Only Gecko supports these values. Blink and WebKit do not.

Priority

Support is needed sooner rather than later, since many people keep writing tutorials or explainers that show how to do this using the currently supported writing-modes values. However, the currently supported values only work properly for CJK languages, and produce incorrect results for normally horizontal scripts unless used in the simplest way possible (for example, line breaking and text alignment break things).

The sideways values were moved from CSS Writing Modes 3 to level 4 because implementation support was there for the values needed for CJK. However, CSS Writing Modes 4 went to CR almost immediately with the expectation that support for the sideways features would follow soon.

Tests & results

interactive test, sideways-rl is supported in browsers

interactive test, sideways-lr is supported in browsers

Action taken

ChromiumWebKit

Outcomes

tbd

r12a commented 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: _AdlamArabic/PersianCanadian SyllabicsCherokeeGeorgianGreekGermanFrenchHungarianN'KoOsage_

fantasai commented 4 years ago

sideways-rl/lr is supported in Firefox and has been for awhile.

xfq commented 4 years ago

Here's a test. See also the parser test in WPT. Gecko supports it, but Blink and WebKit do not.

Browser bugs raised: Chromium WebKit

r12a commented 4 years ago

I added another test for -lr and created GH issues for both with results, and pointed to from https://w3c.github.io/i18n-tests/results/int-vertical-text#nl_sideways.

Then i tidied up the entry for this topic (see above) and republished the latin-nl doc at https://www.w3.org/TR/2020/WD-latn-nl-gap-20200623/#vertical_text

tjol commented 3 years ago

Very rarely, vertical text may use upright letters, possibly only ever in block capitals. This may be done on signs (photo on Wikipedia).

In this case, Dutch IJ should be treated as one letter.

test (Firefox and Chrome fail)

r12a commented 3 years ago

@tjol related: https://github.com/w3c/eurlreq/issues/6