- From: Paul Nelson (ATC) <paulnel@winse.microsoft.com>
- Date: Wed, 3 Jan 2007 14:02:07 -0800
- To: Christopher Tom <cctom@hawaii.rr.com>
- CC: <www-style@w3.org>
Christopher, Thanks for your mail. From my perspective, that which is already defined for XSL-FO and what was previously defined by Michel Suignard's documents are able to produce correct results. 1. I would classify neither Korean or Chinese as being "left". Also, my interactions with the Japanese user community is that they consider it "weird" to have vertical text on the computer...even though nearly every book they purchase is laid out vertically. Thus, the categorical classification of block progression for text can only be as an example. 2. The HTML and CSS specifications already have properties (dir or direction) to take care of left to right or right to left flow on the line. The vertical line is still either left to right or right to left. Only the escapement of the line has been changed. The confusion is the rotation of most East Asian glyphs when the line is vertical. 3. All lines of text rotate 90 degrees clockwise when text is laid out vertically. In fact, Mongolian should be considered a "left to right" language as it is laid out left to right when it is horizontal and is also laid out from top to bottom when vertical. Arabic is bottom to top when laid out vertically. (Are you confused yet?) 4. Currently, the writing-mode property (lr-tb, rl-tb, tb-lr, tb-rl, etc.) take care of the line flow and line stacking in a coherent manner. The writing-mode property has been supported since IE5 (except for tb-lr which will be added in a future version). 5. The glyph-orientation property of XSL-FO is one property that should be added to CSS at some point to allow for authors to specify the orientation of the glyphs on the line so Latin can be stacked vertically, etc. Paul Nelson (Beijing) -----Original Message----- From: www-style-request@w3.org [mailto:www-style-request@w3.org] On Behalf Of Christopher Tom Sent: Wednesday, January 03, 2007 12:01 PM To: www-style@w3.org Subject: [CSS3 Text Layout] working draft I am not sure what the status of the Text Layout module is so I decided to post this here. This is my suggestion for the basis of a working draft of CSS Text Layout Level 3. It is derived from Elika Eternad's Robust Vertical Text Layout paper for Unicode[1]. 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 - reflection across the line of text 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 properties for Text Layout Level 3: Name: block-progression Value: up | down | left | right | natural Initial: natural This property describes the block progression direction. up - block progression direction is up. down - block progression direction is down. left - block progression direction is left. right - block progression direction is right. natural - block progression direction is the script's default. Name: inline-direction-horizontal Value: left | right | natural Initial: natural This property describes the inline direction for horizontal lines of text. It applies only when the block progression direction is up or down. left - inline progression direction is left. right - inline progression direction is right. natural - inline progression direction is given by the transformation of text-orientation-vertical if it exists and is horizontal. If not then the inline progression direction is given by the script's default if it is horizontal, otherwise it is right. Name: inline-direction-vertical Value: down | up | natural Initial: natural This property describes the inline direction for vertical lines of text. It applies only when the block progression direction is left or right. down - inline progression direction is down. up - inline progression direction is up. natural - inline progression direction is given by the transformation of text-orientation-vertical if it exists and is vertical. If not then the inline progression direction is given by the script's default if it is vertical, otherwise it is down. Name: text-orientation-vertical Value: up | down | left | right | natural Initial: natural This property describes the text orientation. up - text orientation is up. down - text orientation is down. left - text orientation is left. right - text orientation is right. natural - when block-progression is up or down, if inline-direction-horizontal is not natural and the script is relative the text orientation is given by the inverse transformation of inline-direction-horizontal otherwise it is the script's default. When block-progression is left or right, if inline-direction-vertical is not natural and the script is relative the text orientation is given by the inverse transformation of inline-direction-vertical otherwise it is the script's default. [1] http://www.unicode.org/notes/tn22/ Note: the choice of right as the last case for natural inline-direction-horizontal is fairly arbitrary, if possible something like inheriting the direction of the surrounding text might be more useful. Does anyone have a suggestion for turning this into an actual working draft?
Received on Wednesday, 3 January 2007 22:01:43 UTC