Tables & BIDI

Glenn Adams (glenn@stonehand.com)
Mon, 24 Apr 95 15:33:37 EDT

In your specification of tables, it would be good to take into
account the needs of bidirectional user interfaces and text.

For example, under the description of TSPEC you have:

Note that rows and columns are numbered from 1 upwards counting
down and to the right. A range consists of the first and last
row or column numbers, separated by a "-" sign.

In a right-to-left UI context (on platforms supporting Arabic & Hebrew
scripts), you should interepret the first column as the rightmost rather
than the leftmost column. Consequently, you need new attribute for TABLE,
such as:

dir (ltr|rtl) #IMPLIED

The interpretation of DIR=LTR (left-to-right) would be:

1. the first column is the leftmost column
2. the base bidirectional level of each cell is left-to-right

The interpretation of DIR=RTL (right-to-left) would be:

1. the first column is the rightmost column
2. the base bidirectional level of each cell is right-to-left

The base bidirectional level of a cell is the default directionality
of the text in that cell irregardless of the contents of the cell.
This also implies that you could specify this attribute for (%cell)
and other higher level elements. In these cases, the DIR attribute
would not affect the interpretation of the first column as leftmost
or rightmost, but merely alter the default base bidi level of one
or more cells.

Note that DIR is independent of LANG or any notion of locale.

Glenn Adams