Specifying Reading Order |
There are two conditions that can affect the reading order of text. Each language has an inherent reading order and, in text that mixes languages, there is a reading order for the separate runs of characters from each language.
The inherent reading order of a language is the direction in which its symbols are read and written. Many languages, including English, Spanish, and Russian, read from left to right. A few, such as Hebrew and Arabic, read from right to left. The following examples demonstrate the difference between left-to-right and right-to-left reading order:
English is Left-to-Right (LTR):
People ought to wear more hats.
Start→
Hebrew is Right-to-Left (RTL):
אנשים צריכים ללבוש יותר כובעים.
←Start
When a line includes text from both RTL and LTR languages, it consists of separate runs of characters from each language. Within a run, the characters use the language's inherent reading order. But the series of runs also has a reading order, defined by the author's intent.
In this example, the numbers indicate the reading order of the runs and the arrows show the reading order within each run:
Hebrew included in English (overall reading order is LTR)
The Hebrew word for hat is כובע, which is hard to pronounce.
|1→ | ←2|3→ |
English included in Hebrew (overall reading order is RTL)
המילה של אנגלית לכובע hat, שקשה לבטא.
| ←3|2→ | ←1|
When text is printed with the wrong reading order, the results can be dramatic. In the following example, the text is a translation into Hebrew of the English term 2.5" Screw:
Displayed LTR (as intended)
2.5" הברג
|1→| ←2|
Incorrectly displayed RTL
2.5" הברג
| ←2|1→|
On templates, you can set the reading order for text objects and also for the human readable component of a barcode object. The Reading Order property is located on the Layout tab of the Text Format property page. When this property is set to Auto, the object's reading order is determined by the Script selected on the Advanced tab of the Font property page; scripts that are a variant of Arabic or Hebrew will dictate a right-to-left reading order.
When designing data entry forms, you can specify a reading order for the form, as well as for the individual controls and objects on the form.
Reading order for the data entry form: When designing a data entry form, you can specify the reading order for the form as it appears at print time. This impacts whether the form title is read from left-to-right or right-to-left and the order in which the Preview and Cancel buttons appear at the bottom of the form.
When setting the reading order for the form it is important to also note that:
The default reading order is based on the Language setting specified on the Regional Settings tab of the User Preferences dialog; languages that are a variant of Arabic or Hebrew will dictate a right-to-left reading order.
The reading order that you set for the form also dictates the reading order of any controls or objects on the form that have their Reading Order property set to Auto.
Reading order for data entry form controls and text objects: The Reading Order property for a control can be found on a control's property page. For instance, for a text input box, the property is found on the Text Input Box property page.
When a control's reading order is set to right-to-left, the resulting behavior is control-specific, but in general it will do one or more of the following:
Interpret the script as a right-to-left language; this is most noticeable in the treatment of numbers and punctuation.
Change text alignment from left to right.
Move elements such as vertical scrollbars to the left side instead of the right.
Reverse the orientation of horizontal scrollbars and sliders.
Reverse the alignment and direction of toolbar buttons