
Dear Omegists,

Multiple direction support is now included in Omega 1.10.
The release can be found at

ftp://ftp.cse.unsw.edu.au/pub/users/plaice/Omega/web2c-7.3-omega-1.10.tar.gz

Here is the README file.  Real documentation will follow.

Enjoy!

John and Yannis
===========================================================================


Release 1.10 includes substantially improved support for multidirectional
typesetting.  It goes well beyond the support anticipated in the last
documentation.  Here is some cursory documentation en attendant that the
real documentation is prepared with lots of examples.


1. The directions
-----------------

It turns out that there are 32 (!) writing directions.  They are
designated by three-letter codes.  The three letters are always T, R,
B or L, and they mean, respectively, the Top, Right, Bottom or Left
sides of the page.

The first letter (the primary direction), corresponds to the side of
the page where the first line is to be found.  The second letter (the
secondary direction), corresponds to the side of the page where the
first character of a line is to be found.  The third letter (the
tertiary direction), corresponds to the orientation of characters
within each line.

Four directions seem to satisfy the needs of unilingual typesetting
for all of the modern scripts.

TLT: Left-to-right writing.  The most commonly used writing direction.
Scripts include LGC scripts, Indic scripts, South-East-Asian scripts,
various syllabaries.

TRT: Right-to-left writing.  Scripts include Hebrew, Arabic and Syriac.

RTT: Vertical ideogram writing. Scripts include Chinese, Japanese
and Korean.

LTL: Vertical cursive writing.  Scripts include Mongolian.

However, when we start to mix scripts of different directions,
a number of interesting combinations appear.  The authors have
seen the following combinations:

RTR: English within a Japanese text.

RTL: Arabic within a Japanese text.

RBR: Arabic within a Japanese text (starts at bottom of page).

LTT: Chinese within a Mongolian text.

RTL: Mongolian within a Chinese text.

LTR: English or Russian within a Mongolian text.


2. The parameters
-----------------

The following parameters are called direction parameters, and they
control the behavior of the Omega system.

\pagedir  The direction for pages (\shipout).
\bodydir  The direction for vboxes, including the main body of text.
\pardir   The direction for paragraphs.
\textdir  The direction for text and hboxes.
\mathdir  The direction for mathematics.

Direction parameters act similarly to other parameters.  For example
\bodydir RTT changes the direction of the main body of text to RTT.
Similarly, \the\mathdir gives the current direction for mathematics.
All these parameters respect groups.


3. Additional primitives
------------------------

\pageheight and \pagewidth are new dimensions.  The default values
for these are for A4 pages.

\hbox, \vbox and \vtop can all take a direction parameter.  The syntax
is \hbox dir TRT ...{...}.  The direction must be the first parameter
to the box.


4. How it works
---------------

Normally, the page and body directions would be set once --- at the
beginning --- in the document.  Furthermore, in most situations they
would be the same.  However, for vertical typesetting, it is common
for the headers and footers to be horizontal.  In that case, the page
and body directions would be set to be orthogonal to each other, for
Japanese, say, \pagedir TRT\bodydir RTT.

The paragraph and text directions would also normally be the same.
However, if there are scripts of different directions within the same
paragraph, then the text direction would vary.  Since the parameter
definitions respect the groups, nesting of writing directions is 
easily done.  For example, an English insertion in a Hebrew document
would simply be {\textdir TLT\cmr10 An English insertion}.  Note that
you can get interesting effects, since paragraphs are not group
delimiters.

The math direction would normally be the same as the text direction.
However, real math only works properly for the left-to-right writing
directions (TLT, RTR, BRB, LBL).  Fake math (used for typesetting
tabular in LaTeX) works properly.

Note that when a box is begun, then the body, paragraph and text
directions all take the same direction as that box. This will be true
regardless of whether the direction of the box was given explicitly.


5. Limitations
--------------

Not all of the possible interactions will currently give meaningful
results.  Bidirectional support (TLT and TRT) is complete.  Some
subtleties in mixed vertical-horizontal writing still need to be
worked out.
