- From: Christopher Tom <cctom@hawaii.rr.com>
- Date: Sun, 07 Jan 2007 11:40:40 -1000
- To: www-style@w3.org
My previous suggestion had been designed to handle all imaginable horizontal/vertical text layout. This suggestion is designed to be as compact as possible. It has only one CSS property. See the Robust Vertical Text Layout paper[1] for more discussion of text layout. I would particularly be interested in examples of text layout that people feel should be handled, but are not by this model. CSS Text Layout Level 3 Three properties and two classes of scripts describe the layout of text by this model. The natural layout for each script determines its default property values and classes. Properties: Block progression direction specifies the direction in which successive lines of text are stacked. Examples: Latin, Arabic - down Mongolian - right Chinese, Japanese, Korean - left Inline progression direction specifies the direction in which successive glyphs are placed within a line of text. Examples: Latin - right Arabic - left Mongolian, Chinese, Japanese, Korean - down Text orientation specifies the direction which the glyphs' "up" points towards. Examples: Latin, Arabic, Mongolian, Chinese, Japanese, Korean - up. Classes: Relative scripts are scripts for which there exists an invertible transformation between the inline progression direction and text orientation. This transformation defines the natural relation between the two properties among all possible values. Examples of transformations from text orientation to inline progression direction: Latin - 90 degrees clockwise rotation Arabic - 90 degrees counterclockwise rotation Mongolian - 180 degrees rotation Independent scripts are scripts for which the inline progression direction and text orientation are independent of each other. Examples: Chinese, Japanese, Korean are independent scripts. The CSS property for Text Layout Level 3: Name: text-orientation-vertical Value: up | down | left | right | natural Initial: natural This property describes the text's glyph orientation. Block progression direction is defined by the flow direction of the Box Model. For relative scripts, when text-orientation-vertical does not have the value natural, inline progression direction is defined by the transformation of text-orientation-vertical when the transformed direction is an inline direction. In other cases, inline progression direction is down for vertical lines, or the script's default for horizontal lines if the default is horizontal. Otherwise it is right. up - text orientation is up. down - text orientation is down. left - text orientation is left. right - text orientation is right. natural - for relative scripts, text orientation is defined by the inverse transformation of the inline progression direction. For independent scripts, text orientation is defined by the script's default. Note: the choice of right as the last case for inline progression direction is fairly arbitrary, if possible something like inheriting the direction of the surrounding text might be more useful. What would be the procedure for turning something like this into an actual working draft? [1] http://www.unicode.org/notes/tn22/
Received on Sunday, 7 January 2007 21:46:33 UTC