Two bidi questions

From: Lars Marius Garshol (larsga@garshol.priv.no)
Date: Thu Jul 05 2001 - 09:50:30 EDT


I'm currently trying to make my application display RTL scripts
correctly on Windows, and have gotten to the point where most things
seem to work. My main problem right now is that when I have all the
text reordered and laid out, and start passing text blocks to the
Windows TextOut API method Windows 2000 goes "Oh, this is Arabic! It
should be the other way.", and promptly undoes all my reordering.

Not all Windows versions do this, of course, and I suspect that those
that do do not entirely agree on which scripts should be treated in
this way. Nor does Windows have all the contextual information my
application maintains about the text, so there is no way Windows can
get the display right in all situations.

Does anyone know how to turn this reordering behaviour off?

The second question should be really easy. On

  <URL: http://www.unicode.org/unicode/standard/WhatIsUnicode.html >

on the upper left, there is some text saying (in logical order):

  WHAT IS "UNICODE"? in arabic

As I understand the bidi algorithm, this should be rendered

  in arabic ?"EDOCINU" SI TAHW

This is what my application does, and an Arab speaker has confirmed to
me that this is correct. MSIE 5.5, however, displays this as

  ?"EDOCINU" SI TAHW in arabic

Which is correct? My understanding of both the bidi algorithm and of
how to read bidi text says that this (by the bidi rules) is a
predominantly RTL paragraph, and thus should be read ARABIC first,
then english.

On the other hand it seems to me incredible that MSIE should get
something as basic as this wrong.

So what is the answer?

--Lars M.



This archive was generated by hypermail 2.1.2 : Fri Jul 06 2001 - 13:48:07 EDT