Re: Bidi reordering test results

From: Asmus Freytag (
Date: Mon Dec 06 1999 - 23:42:18 EST

When comparing any code against the reference implementation for
it is important to use equal strings of *bidi classes*. For demo purposes
the C/C++ version uses a 'pseudo-alphabet' with some pretty arbitrary
assignments of ASCII letters to bidi classes.

Some examples:

A-F = Arabic letter
G-Z = Other RTL letter
a-z = LTR letter

1-5 = European number
6-9 = Arabic number

and special class assignments for punctuation characters.

The C/C++ and Java references were compared only on the level of

 character class -> final ordering

but we never formally compared the pseudo alphabets that are used.
Therefore there may be differences there and just running pseudo-alphabet
test cases verbatim is unlikely to produce the correct results.

E.g. in case 7 the number 123,456 will appear as mixed European/Arabic
number, which is probably NOT the intent of the test. (BTW: using 123,455
gives the ordering shown in all the other test cases).

The pseudo-alphabet used in the C/C++ sources is documented in the
literal string variable szExplain.

Other than A-Z being RTL I'm not sure about the full definition of the
pseudo-alphabet used in the tests cases published by Mark Leisher.


At 10:12 AM 12/6/99 -0800, Mark Leisher wrote:
> Jony> I have compared the results with IE5. See
> Jony>
> Jony> Tests 7, 22, 23, 24 differ with the reference implementation. I
> Jony> don't understand test 7.
> Jony> Test 14 has a difference around the /.
>Ok. I added a column for IE5. My copy of IE5 shows differences with 7, 13,
>14, 22, 23, and 24. Interesting stuff.
>P.S. I'm still trying to determine the ICU results.
>Mark Leisher
>Computing Research Lab I have never made but one prayer to God,
>New Mexico State University a very short one:
>Box 30001, Dept. 3CRL "Oh Lord, make my enemies ridiculous."
>Las Cruces, NM 88003 And God granted it. -- Voltaire, letter

This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:20:56 EDT