22.4 Bidirectional Support

Bidirectional support enables you to design applications in those languages whose natural writing direction is right to left, such as Middle Eastern and North African languages. Bidirectional support enables you to control:

  • Layout direction, which includes displaying items with labels at the right of the item and correct placement of check boxes and radio buttons.

  • Reading order, which includes text direction (for example, right to left or left to right) .

  • Alignment, which includes switching point-of-origin from upper left to upper right.

When you are designing bidirectional applications, you might want to use the globalization support environment variables DEVELOPER_NLS_LANG and USER_NLS_LANG rather than inheriting the NLS_LANG settings. For example, if you want to use an American interface while developing an Arabic application in a Windows environment, then set these environment variables as follows:

DEVELOPER_NLS_LANG=AMERICAN_AMERICA.AR8MSWIN1256
USER_NLS_LANG=ARABIC_UNITED ARAB EMIRATES.AR8MSWIN1256

Note that, in this example, the DEVELOPER_NLS_LANG environment variable uses an Arabic character set. For more information, refer to Section 22.2, "Globalization Support Environment Variables".

On UNIX, you may continue to see misalignment of right-aligned text in PDF output for languages that read right to left. To work around this issue, use fixed width fonts instead of variable width fonts. For example, Miriam Fixed True Type font (Hebrew) is a fixed width font available on Windows 2000, and can be used for font subsetting on UNIX platforms to correct any font alignment issues with Hebrew fonts. For more information about resolving font issues across different platforms, see Chapter 11, "Font Model and Cross-Platform Deployment".