Enabling bidirectional scripts calls for special attention to:
Bidirectional text can have different layouts. A layout differs according to the segments used in the text, and also in the case of Arabic script, it also differs in the shaping of characters and the numerical shapes used. Transformations between the different layouts require transformation functions, also called layout functions or layout services functions.
To define the characteristics of a bidirectional text layout, a set of attributes is needed. Bidirectional attributes are needed to ascertain the actual layout of text is and how it should be transformed. These attributes are usually external to the text and are stored in an external resource file. The five bidirectional attributes are:
No single combination of possible values of bidirectional layout attributes is predominant. Existing applications process data with different possible combinations of these values. Therefore, when a bidirectional data stream is passed to an application, it is important that the application can recognize the associated text attributes.
Bidirectional text is stored and processed in different environments (platforms) and in different layouts. In order to create a transformation from one layout to another, layout transformation functions are required. WebSphere Business Integration products use layout transformation functions that are based on the Unicode BiDi Algorithm. This algorithm can be found at:
http://www.unicode.org/reports/tr9/)
and are implemented in IBM Java SDK 1.4.1:
http://www-106.ibm.com/developmentworks/java/jdk/bidirectional/JAVABIDI.htm