BLOG CATEGORIES



BIDI support in Rational Publishing Engine

Bi-directional text is text containing text in both text directionalities, both right-to-left (RTL) and left-to-right (LTR). The string is considered to have RTL direction if it contains RTL characters and the runtime locale is BiDi.

Text processing

The text that have special semantic meaning (such as file paths) in RTL-oriented locales will be processed so that they render in a way that does not corrupt the semantic meaning of the string but also maintains compliance with the Unicode BiDi algorithm of rendering Bidirectional text.

Processing of the string is done by breaking it down into segments that are specified by a set of user provided delimiters. Directional punctuation characters are injected into the string in order to ensure the string retains its semantic meaning and conforms with the Unicode BiDi algorithm within each segment.

Mirroring

For Right-To-Left (RTL) languages, not only does the text alignment and text reading order go from right to left, but also the UI elements layout should follow this natural direction of going from right to left.

When a GUI is translated to a language with a right-to-left script (such as Hebrew or Arabic), the entire geometry of the GUI must be mirrored to match the expectation of the users of these languages who read from right to left. This includes mirroring of all the widgets that constitute the GUI window.

Bi-directional text is text containing text in both text directionalities, both right-to-left (RTL) and left-to-right (LTR). The string is considered to have RTL direction if it contains RTL characters and the runtime locale is BiDi.Text processingThe text that have special semantic meaning (such as file paths) in RTL-oriented locales will be processed so that they render in a way that does not corrupt the semantic meaning of the string but also maintains compliance with the Unicode BiDi algorithm of rendering Bidirectional text.Processing of the string is done by breaking it down into segments that are specified by a set of user provided delimiters. Directional punctuation characters are injected into the string in order to ensure the string retains its semantic meaning and conforms with the Unicode BiDi algorithm within each segment.MirroringFor Right-To-Left (RTL) languages, not only does the text alignment and text reading order go from right to left, but also the UI elements layout should follow this natural direction of going from right to left.When a GUI is translated to a language with a right-to-left script (such as Hebrew or Arabic), the entire geometry of the GUI must be mirrored to match the expectation of the users of these languages who read from right to left. This includes mirroring of all the widgets that constitute the GUI window.

Figure 1: RPE Launcher mirrored

Writing direction

In RPE Launcher a preference page was introduced to allow the user to set de default direction in Text Editors like Variable Value editor.
The text alignment can be system default, from RTL or from LTR.

RPE Launcher Preference Page

Figure 2: RPE Launcher Preference Page

Also, the text direction can be customized at design time by the user – using F2 key the user will be able to change the direction of text. On Linux platform, the user will not be able to change the direction at design time; it’s a limitation of Eclipse implementation for Linux: the direction of a dialog cannot be change while the dialog is opened.

Leave a Reply

(required)

(required)