* Deborah Goldsmith
|
| By default, RTL scripts are displayed in compliance with the Unicode
| bidirectional algorithm.
* Lars Marius Garshol
|
| Ouch. That may work in some situations, but for a web browser that
| can never work, since the display mechanism will never have enough
| information to do this correctly. (Yeah, I'm taking a very narrow
| view of this, I know.)
* Michael Everson
|
| I can't think of a reason why a web browser should not be able to
| implement the Unicode bidirectional algorithm.
Theory is one thing, practice another.
Imagine the following: your code uses a function provided by the OS to
display text. This function takes a string of text and displays it in
a given location with a given font. The OS being properly i18n-ed that
function handles all the difficult things like glyph selection and
shaping.
So far, so good.
That function also applies the bidirectional algorithm to the text it
displays. However, since the application needs to do all manner of
strange formatting (colouring, interspersed images, first-line
specials, first-letter specials, base-line adjustments, ...) it calls
the method word for word, doing the formatting itself.
This means that the function does not have the information it needs to
do correct bidi display, since it is not aware of the previous word,
the next words, bidi control information coming from HTML code,
earlier control codes, etc etc
If the function understands the Unicode bidi control codes the
application can fudge this by adding the appropriate codes to indicate
what it wants before passing text on to the display. However, what
little research I've done indicates that this does not happen on all
OS-es.
Of course, none of this means bidi display is impossible. It just
means that it's much harder to implement than it needs to be.
-- Lars Marius Garshol, Ontopian <URL: http://www.ontopia.net > ISO SC34/WG3, OASIS GeoLang TC <URL: http://www.garshol.priv.no >
This archive was generated by hypermail 2.1.2 : Wed Aug 28 2002 - 05:21:55 EDT