CSS Writing Modes Level 4 defines CSS support for various writing modes and their combinations, including left-to-right and right-to-left text ordering as well as horizontal and vertical orientations.
CSS is a language for describing the rendering of structured documents
(such as HTML and XML)
on screen, on paper, etc.
This document was produced by the CSS Working Group as a Candidate Recommendation. This document is intended to become a W3C Recommendation.
This document will remain a Candidate Recommendation at least until in order
to ensure the opportunity for wide review.
GitHub Issues are preferred for discussion of this specification.
When filing an issue, please put the text “css-writing-modes” in the title,
preferably like this:
“[css-writing-modes] …summary of comment…”.
All issues and comments are archived,
and there is also a historical archive.
A draft implementation report is not yet available.
Publication as a Candidate Recommendation does not imply endorsement by the W3C
Membership. This is a draft document and may be updated, replaced or
obsoleted by other documents at any time. It is inappropriate to cite this
document as other than work in progress.
This document was produced by a group operating under
the W3C Patent Policy.
W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group;
that page also includes instructions for disclosing a patent.
An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
“At-risk” is a W3C Process term-of-art, and does not necessarily imply that the feature is in danger of being dropped or delayed. It means that the WG believes the feature may have difficulty being interoperably implemented in a timely manner, and marking it as such allows the WG to drop the feature if necessary when transitioning to the Proposed Rec stage, without having to publish a new Candidate Rec without the feature first.
1. Introduction to Writing Modes
CSS Writing Modes Level 4 defines CSS features to support for various international
writing modes, such as left-to-right (e.g. Latin or Indic), right-to-left
(e.g. Hebrew or Arabic), bidirectional (e.g. mixed Latin and Arabic) and
vertical (e.g. Asian scripts).
The inline base direction is the primary direction in which
content is ordered on a line and defines on which sides the “start”
and “end” of a line are. The direction property specifies the
inline base direction of a box and, together with the unicode-bidi property and the inherent directionality of any text content, determines
the ordering of inline-level content within a line.
The block flow direction is the direction in which
block-level boxes stack and the direction in which line boxes stack
within a block container. The writing-mode property determines the
block flow direction.
The typographic mode determines if text should apply
typographic conventions specific to vertical flow for vertical
scripts.
This concept distinguishes vertical flow for vertical scripts from
rotated horizontal flow.
A horizontal writing mode is one with horizontal lines of
text, i.e. a downward or upward block flow.
A vertical writing mode is one with vertical lines of text,
i.e. a leftward or rightward block flow.
These terms should not be confused with vertical block flow (which is a downward or
upward block flow) and horizontal block flow (which is
leftward or rightward block flow). To avoid confusion, CSS
specifications avoid this latter set of terms.
Writing systems typically have one or two native writing modes. Some
examples are:
Latin-based systems are typically written using a left-to-right inline
direction with a downward (top-to-bottom) block flow direction.
Arabic-based systems are typically written using a right-to-left
inline direction with a downward (top-to-bottom) block flow direction.