Implementations of Bidirectional Reordering Algorithms
Intended Audience: |
Software Engineer |
Session Level: |
Intermediate |
The goal of this paper is to contribute to a deeper understanding of the
Unicode Bidirectional Reference Algorithm. We have provided an alternative
reference algorithm written in the functional language Haskell. The
advantage of Haskell is it allows for a short, clear description of a complex
problem.
We have run our algorithm, the two Unicode reference implementations, and
four others (ICU, PGBA, FriBidi, JDK 1.2) to test for compliance with the
published standard. Conclusions are difficult to reach, but problems were
found in the implementations and descriptions and above all with a
character-stream to character-stream interpretation of the display of
bidirectional text.
|