Bug 166941

Summary: Implement writing-mode: sideways-rl; and sideways-lr;
Product: WebKit Reporter: Myles C. Maxfield <mmaxfield>
Component: TextAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: browserbugs2, eoconnor, frankhome61, ishida, mmaxfield, ntim, robin, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
URL: https://www.w3.org/TR/css-writing-modes-4/#block-flow
Bug Depends on: 260036, 234689, 260012, 260034    
Bug Blocks: 150822    

Comment 1 Myles C. Maxfield 2017-01-11 14:07:15 PST
Hyatt says that we currently have the infrastructure to do this quite easily, so the bulk of the work would be to hook up the new properties.
Comment 2 Myles C. Maxfield 2017-01-11 14:11:11 PST
Hyatt says that these would probably best be implemented with two independent properties: one for line direction which could be rl, tb, and bt, and one for line orientation, which could be normal or flipped. Then writing-mode would be a shorthand for combining these two.
Comment 3 Myles C. Maxfield 2017-01-11 14:14:35 PST
Hyatt says 1-2 days of work
Comment 4 Gérard Talbot 2017-07-26 17:28:21 PDT
'sideways-rl' and 'sideways-lr' are at-risk in the latest CR spec 

https://www.w3.org/TR/css-writing-modes-3/#block-flow

and have been removed from the editor's draft

https://drafts.csswg.org/css-writing-modes-3/#block-flow

which lead me to say that supporting 'sideways-rl' and 'sideways-lr' is NOT required in order to claim compliance with CSS3 Writing Modes spec. In all fairness, P2 in this bug report does not seem justified in my opinion.
Comment 5 r12a 2020-06-23 04:14:55 PDT
Implementation of writing-mode: sideways-rl and sideways-lr is still needed.

People are regularly trying to achieve the desired result (and even teaching others to do it) using the other writing-mode properties, even though such an approach only works in extremely limited circumstances and may lead to breakage unless carefully controlled.

CSS Writing-modes 4 is in CR, and was this feature was split from level 3 in order to release what was already available for the benefit of CJK users, however the idea was that these values would be also implemented soon.

It's a feature that plenty of people will benefit from, so can we move up the implementation if it's so straightforward?  (It's already implemented by Gecko.)
Comment 6 Theresa O'Connor 2021-08-04 09:44:30 PDT
This is being tracked by the W3C I18N folk in https://github.com/w3c/eurlreq/issues/11
Comment 7 Radar WebKit Bug Importer 2021-08-04 09:44:44 PDT
<rdar://problem/81519211>
Comment 8 Tim Nguyen (:ntim) 2021-12-23 16:30:48 PST
*** Bug 150820 has been marked as a duplicate of this bug. ***
Comment 9 Tim Nguyen (:ntim) 2021-12-23 16:32:08 PST
This is now in writing-modes-4: https://www.w3.org/TR/css-writing-modes-4/#block-flow
Comment 10 Tim Nguyen (:ntim) 2021-12-25 08:03:14 PST
*** Bug 208075 has been marked as a duplicate of this bug. ***
Comment 11 Tim Nguyen (:ntim) 2021-12-25 10:16:50 PST
This needs splitting the concept of writing-mode from typographic mode in the WebKit code.
Comment 12 Tim Nguyen (:ntim) 2021-12-26 10:05:15 PST
Text direction (rtl/ltr) also needs to be decoupled from inline base direction.
Comment 13 Tim Nguyen (:ntim) 2021-12-26 16:11:39 PST
I started some work here: https://github.com/nt1m/webkit/tree/sideways-wm

sideways-rl is working well, sideways-lr is the harder one, since font-orientation needs to be rotated on the other side, in addition, inline direction is wrong atm.
Comment 14 r12a 2022-02-03 04:43:07 PST
W3C is tracking this bug report at https://github.com/w3c/eurlreq/issues/11
Comment 15 Simon Fraser (smfr) 2023-11-02 10:26:30 PDT
Need to fix imported/w3c/web-platform-tests/css/cssom-view/scrollIntoView-sideways-lr-writing-mode-and-rtl-direction.html, which is reporting a negative scrollLeft
Comment 16 r12a 2023-11-02 11:33:58 PDT
I'm surprised by the comments about decoupling directional features, font orientation, etc.  I think that the point it that everything works as normal except that the box is rotated either to the left or right.  We still want the start/end points to be the same, the line wrapping to be the same, and the font glyph orientation to be the same, if you were to then unrotate the box.  That's the distinguishing feature about the sideways values compared to the vertical-lr and vertical-rl options.