-DJAVABIDI

This system property specifies whether bidirectional layout transformations are run.

JAVABIDI=[S(<TOSHNALEYZ>)],[U(<TOSHNALEYZ>)],[C(<codepage1;codepage2;...>)]

The default value for the JAVABIDI system property is NO, which specifies that no bidirectional layout transformations are run.

When the JAVABIDI system property is not set to NO, its value can contain 1 - 3 parts. Each part starts with a letter identifier followed by a set of values within parentheses.

The letter identifiers are as follows:
  • S: the single-byte character set (SBCS) part, which describes the bidirectional attributes of the SBCS data that is consumed or produced by the conversions. This part designates the data as it is stored outside the Java™ runtime environment.
  • U: the Unicode part, which describes the bidirectional attributes of the Unicode data that is consumed or produced by the conversions.
  • C: the CodePage part, which specifies one or more encodings. If you specify this part, only data with encodings that are listed in this part are submitted to the bidirectional layout transformation. If you omit this part, the layout transformations are run for all encodings except Cp850.
Note: Applications should not try to modify the value of the JAVABIDI property after the initialization of the Java virtual machine (VM). For performance reasons, VM implementations might check the value of the JAVABIDI property only at start-up time, so later changes have no effect.

S and U Parts

Each part has the following format:
part_id(TOSHNALEYZ)
Where part_id is the part identifier, either S or U. TOSHNALEYZ is a list of symbols, each of which is replaced in the command by a value, as described in the following table.
Notes:
  1. The part identifier and the values are case-sensitive.
  2. You can use a hyphen ("-") in place of a symbol to use the default value for that symbol.
Table 1. Symbols for the S and U parts, their possible values and definitions
Symbol Meaning Valid values and their meaning Default value Language applicability
T Text type
I (implicit)
V (visual)
V (for S part)
I (for U part)
Arabic and Hebrew
O Orientation
L (left to right)
R (right to left)
C (contextual left to right)
D (contextual right to left)
L Arabic and Hebrew
S Swapping
Y (yes)
N (no)
N (for S part)
Y (for U part)
Arabic and Hebrew
H Text shaping
N (nominal)
S (shaped)
I (initial)
M (middle)
F (final)
B (isolated)
S (for S part)
N (for U part)
Arabic only
N Numerals
N (nominal)
H (national)
C (contextual)
N Arabic only
A Bidirectional algorithm
U (Unicode)
R (roundtrip)
U Arabic and Hebrew
L Lam-Alef shaping option
N (Near)
B (At Begin)
E (At End)
A (Auto)
R (Resize)
A Arabic only
E Seen Tail shaping option
B (At Begin)
A (Auto)
N (Near)
E (At End)
A Arabic only
Y Yeh-Hamza shaping option
E (At End)
A (Auto)
N (Near)
O (One cell)
B (At Begin)
A Arabic only
Z Tashkeel shaping option
A (Auto)
B (At Begin)
E (At End)
W (With Width)
Z (Zero Width)
K (Keep)
A Arabic only

C Part

This part has the following format:
C(codepage1;codepage2;...)
The variables codepage1 and codepage2 are one of the following bidirectional code pages.
Table 2. Supported bidirectional code pages
Code page Canonical name for NIO Language
Cp420 IBM-420 Arabic
Cp424 IBM-424 Hebrew
Cp856 IBM-856 Hebrew
Cp862 IBM-862 Hebrew
Cp864 IBM-864 Arabic
Cp867 IBM-867 Hebrew
Cp1046 IBM-1046 Arabic
Cp1255 windows-1255 Hebrew
Cp1256 windows-1256 Arabic
ISO8859_6 ISO8859_6 Arabic
ISO8859_8 ISO8859_8 Hebrew
MacArabic MacArabic Arabic
MacHebrew MacHebrew Hebrew

Examples

JAVABIDI=U(ILYNNUNNNK),S(VLNSNUNNNK),C(Cp420)
JAVABIDI=C(Cp420),S(VLNSNUNNNK),U(ILYNNUNNNK)
The order of the part specifications is not significant.
JAVABIDI=U(ILYNNUNNNK),S(VLNSN--NK),C(Cp420;IBM-420)
The hyphens in the S part represent default values for the corresponding symbols.
JAVABIDI=C(Cp420)
Because both the S and the U parts are omitted, those parts receive default values for all the symbols.