Font Aliasing Considerations There may be situations where you create a

23-10 Publishing Reports to the Web with Oracle Reports Services 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 23.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 12, Font Model and Cross-Platform Deployment .

23.4.1 Enhanced BIDI Reshaping

Oracle Reports 11g Release 1 11.1.1 has introduced a new Enhanced BIDI reshaping mechanism using the XDO APIs. This feature uses a new environment variable, REPORTS_ENHANCED_BIDIHANDLING, which specifies whether or not to use the new BIDI reshaping mechanism. You must set the value of this environment variable to YES if you want to use the new enhanced BIDI algorithm. If you do not set the environment variable, or if you set the value of the environment variable to NO, it uses the old mechanism. If you set the value of REPORTS_ENHANCED_BIDIHANDLING to YES: ■ All the values that were supported in the old BIDI reshaping mechanism are supported for REPORTS_ARABIC_NUMERAL environment variable. ■ The following values are supported for REPORTS_BIDI_ALGORITHM environment variable: – UNICODE – ORACLE – UNICODE_VARIANT ■ The default value is UNICODE. For more information on how to use this environment variable, see Section B.1.46, REPORTS_ENHANCED_BIDIHANDLING .

23.5 Unicode

Unicode is a global character set that allows multilingual text to be displayed in a single application. This enables multinational corporations to develop a single multilingual application and deploy it worldwide. Global markets require a character set that: ■ Allows a single implementation of a product for all languages, yet is simple enough to be implemented everywhere. ■ Contains all major living scripts. ■ Supports multilingual users and organizations. ■ Enables worldwide interchange of data through the Internet. Implementing Globalization and Bidirectional Support 23-11 This section discusses the following aspects of Unicode in Oracle Reports: ■ Unicode Support ■ Unicode Font Support ■ Enabling Unicode Support

23.5.1 Unicode Support

Oracle Reports Services provides Unicode support. On UNIX platforms, Unicode support has certain limitations; for example: ■ Unicode is not supported in PostScript output format on UNIX. ■ In other bitmap output formats, such as PDF and RTF, you may observe font issues such as character misalignment on UNIX. For information on how to resolve such issues, refer to Section 12.3.2, Fixing Font-Related Issues . If you use Unicode, you are able to display multiple languages, both single-byte languages such as Western European, Eastern European, Bidirectional Middle Eastern, and multibyte Asian languages such as Chinese, Japanese, and Korean CJK in the same application. Use of a single character set that encompasses all languages eliminates the need to have various character sets for various languages. For example, to display a multibyte language such as Japanese, the NLS_LANG environment variable must be set to the following: NLS_LANG=JAPANESE_JAPAN.JA16SJIS To display a single-byte language such as German, NLS_LANG must be set to the following: NLS_LANG=GERMAN_GERMANY.WE8ISO8859P1 The obvious disadvantage of this scheme is that applications can only display characters from one character set at a time. Mixed character set data is not possible. With the Unicode character set, you can set the character set portion of NLS_LANG to UTF8 instead of a specific language character set. This allows characters from different languages and character sets to be displayed simultaneously. For example, to display Japanese and German together on the screen, the character set portion of the NLS_ LANG environment variable must be set to UTF8, along with the appropriate language_territory setting. For example: NLS_LANG=JAPANESE_JAPAN.UTF8 NLS_LANG=GERMAN_GERMANY.UTF8 NLS_LANG=AMERICAN_AMERICA.UTF8 Unicode capability gives the application developer and end user the ability to display multilingual text in a report. This includes text from a database containing Unicode characters, multilingual boilerplate text, text in graphical user interface GUI objects, text input from the keyboard, and text from the clipboard. Note: If you develop applications for the Web, then you can use Unicode because of the Unicode support provided by Java through the browser.