com.ibm.bidiTools.bdlayout
Class ArabicOption
- java.lang.Object
com.ibm.bidiTools.bdlayout.ArabicOption
- public class ArabicOption
- extends java.lang.Object
Arabic text has some special characters that can be converted to different formats, which are characterized by four Arabic options, these options are stored in four Arabic objects. These four options constitute an ArabicOptionSet.
An ArabicOptionSet object contains a value for each of the four Arabic objects which represent the Arabic options. The four options are:
- Lam-Alef handling (Near, At Begin, At End or Auto)
- Seen handling (Near or Auto)
- Yeh Hamza handling (Near or Auto)
- Tashkeel handling (Keep, Customized At Begin, Customized At End, or Auto)
For more information on Arabic Shaping options, see: Bidirectional support in IBM SDK: A user guide
Multi-threading considerations: There are no multi-threading concerns for this class because it only defines static final instances.
Field Summary
Modifier and Type | Field and Description |
---|---|
|
LAMALEF_ATBEGIN
Value identifying At Begin.
|
|
LAMALEF_ATEND
Value identifying At End.
|
|
LAMALEF_AUTO
Value identifying Auto.
|
|
LAMALEF_NEAR
Value identifying Near.
|
|
SEEN_AUTO
Value identifying Auto.
|
|
SEEN_NEAR
Value identifying Near.
|
|
TASHKEEL_AUTO
Value identifying Auto.
|
|
TASHKEEL_CUSTOMIZED_ATBEGIN
Value identifying Customized At Begin.
|
|
TASHKEEL_CUSTOMIZED_ATEND
Value identifying Customized At End.
|
|
TASHKEEL_KEEP
Value identifying Keep Tashkeel.
|
|
YEHHAMZA_AUTO
Value identifying Auto.
|
|
YEHHAMZA_TWO_CELL_NEAR
Value identifying Near.
|
Method Summary
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail
LAMALEF_NEAR
- public static final ArabicOption LAMALEF_NEAR
LAMALEF_ATBEGIN
- public static final ArabicOption LAMALEF_ATBEGIN
When converting from visual to implicit code pages, Lam-Alef characters are expanded to Lam plus Alef consuming a blank space at the absolute beginning of the buffer. If no blank space is available, the Lam-Alef character remains as is in the Unicode uFExx range.
When converting from implicit to visual code pages, Lam plus Alef sequences are compressed to a unique Lam-Alef character; the space resulting from Lam-Alef compression is positioned at the absolute beginning of the buffer.
LAMALEF_ATEND
- public static final ArabicOption LAMALEF_ATEND
When converting from visual to implicit code pages, Lam-Alef characters are expanded to Lam plus Alef consuming a blank space at the absolute end of the buffer. If no blank space is available, the Lam-Alef character remains as is in the Unicode uFExx range.
When converting from implicit to visual code pages, Lam plus Alef sequences are compressed to a unique Lam-Alef character; the space resulting from Lam-Alef compression is positioned at the absolute end of the buffer.
LAMALEF_AUTO
- public static final ArabicOption LAMALEF_AUTO
When converting from visual to implicit code pages, Lam-Alef characters are expanded to Lam plus Alef consuming a blank space at the beginning of the buffer with respect to the orientation, i.e. buffer[0] in case of left-to-right and buffer[length - 1] in case of right-to-left. If no blank space is available, the Lam-Alef character remains as is in the Unicode uFExx range.
When converting from implicit to visual code pages, Lam plus Alef sequences are compressed to a unique Lam-Alef character; the space resulting from Lam-Alef compression is positioned at the beginning of the buffer with respect to the orientation.
SEEN_NEAR
- public static final ArabicOption SEEN_NEAR
Conversion from visual to implicit converts final forms of the Seen family represented by two characters (the three quarters shape and the Tail character) to corresponding final forms represented by one character and a space replacing the Tail. This space is positioned next to the Seen final form.
In conversion from implicit to visual, each final form of characters in the Seen family (represented by one character) is converted to the the corresponding final form of the Seen family that is represented by two characters, consuming the space next to the Seen character. If there is no space available, it will be converted to one character only which is the three quarters shape Seen.
SEEN_AUTO
- public static final ArabicOption SEEN_AUTO
Same behavior as NEAR for this release
YEHHAMZA_TWO_CELL_NEAR
- public static final ArabicOption YEHHAMZA_TWO_CELL_NEAR
Conversion from visual to implicit converts each Yeh character followed by a Hamza character to a Yeh-Hamza character; the space resulting from the contraction is positioned next to the Yeh-Hamza character.
In conversion from implicit to visual, each Yeh-Hamza character is expanded to two characters (Yeh and Hamza), consuming the space located next to the original Yeh-Hamza character. If there is no space available, it will be converted to one character which is Yeh.
YEHHAMZA_AUTO
- public static final ArabicOption YEHHAMZA_AUTO
Same behavior as NEAR for this release
TASHKEEL_KEEP
- public static final ArabicOption TASHKEEL_KEEP
No special processing is done
TASHKEEL_CUSTOMIZED_ATBEGIN
- public static final ArabicOption TASHKEEL_CUSTOMIZED_ATBEGIN
All Tashkeel characters except for Shadda are replaced by spaces. The resulting spaces are moved to the absolute beginning of the buffer.
TASHKEEL_CUSTOMIZED_ATEND
- public static final ArabicOption TASHKEEL_CUSTOMIZED_ATEND
All Tashkeel characters except for Shadda are replaced by spaces. The resulting spaces are moved to the absolute end of the buffer.
TASHKEEL_AUTO
- public static final ArabicOption TASHKEEL_AUTO
Same behavior as KEEP for this release
When converting from visual to implicit code pages, Lam-Alef characters are expanded to Lam plus Alef consuming the blank space next to it. If no blank space is available, the Lam-Alef character remains as is in the Unicode uFExx range.
When converting from implicit to visual code pages, Lam plus Alef sequences are compressed to a unique Lam-Alef character; the space resulting from Lam-Alef compression is positioned next to each generated Lam-Alef character.