35 * concept of RUNS_ONLY which is a double operation. 36 * It could be advantageous to divide this into 3 concepts: 37 * a) Operation: direct / inverse / RUNS_ONLY 38 * b) Direct algorithm: default / NUMBERS_SPECIAL / GROUP_NUMBERS_WITH_L 39 * c) Inverse algorithm: default / INVERSE_LIKE_DIRECT / NUMBERS_SPECIAL 40 * This would allow combinations not possible today like RUNS_ONLY with 41 * NUMBERS_SPECIAL. 42 * Also allow to set INSERT_MARKS for the direct step of RUNS_ONLY and 43 * REMOVE_CONTROLS for the inverse step. 44 * Not all combinations would be supported, and probably not all do make sense. 45 * This would need to document which ones are supported and what are the 46 * fallbacks for unsupported combinations. 47 */ 48 49 package sun.text.bidi; 50 51 import java.lang.reflect.Array; 52 import java.text.AttributedCharacterIterator; 53 import java.text.Bidi; 54 import java.util.Arrays; 55 import jdk.internal.misc.JavaAWTFontAccess; 56 import jdk.internal.misc.SharedSecrets; 57 import sun.text.normalizer.UBiDiProps; 58 import sun.text.normalizer.UCharacter; 59 import sun.text.normalizer.UTF16; 60 61 /** 62 * 63 * <h2>Bidi algorithm for ICU</h2> 64 * 65 * This is an implementation of the Unicode Bidirectional Algorithm. The 66 * algorithm is defined in the <a 67 * href="http://www.unicode.org/unicode/reports/tr9/">Unicode Standard Annex #9</a>. 68 * <p> 69 * 70 * Note: Libraries that perform a bidirectional algorithm and reorder strings 71 * accordingly are sometimes called "Storage Layout Engines". ICU's Bidi and 72 * shaping (ArabicShaping) classes can be used at the core of such "Storage 73 * Layout Engines". 74 * 75 * <h3>General remarks about the API:</h3> 76 * | 35 * concept of RUNS_ONLY which is a double operation. 36 * It could be advantageous to divide this into 3 concepts: 37 * a) Operation: direct / inverse / RUNS_ONLY 38 * b) Direct algorithm: default / NUMBERS_SPECIAL / GROUP_NUMBERS_WITH_L 39 * c) Inverse algorithm: default / INVERSE_LIKE_DIRECT / NUMBERS_SPECIAL 40 * This would allow combinations not possible today like RUNS_ONLY with 41 * NUMBERS_SPECIAL. 42 * Also allow to set INSERT_MARKS for the direct step of RUNS_ONLY and 43 * REMOVE_CONTROLS for the inverse step. 44 * Not all combinations would be supported, and probably not all do make sense. 45 * This would need to document which ones are supported and what are the 46 * fallbacks for unsupported combinations. 47 */ 48 49 package sun.text.bidi; 50 51 import java.lang.reflect.Array; 52 import java.text.AttributedCharacterIterator; 53 import java.text.Bidi; 54 import java.util.Arrays; 55 import jdk.internal.access.JavaAWTFontAccess; 56 import jdk.internal.access.SharedSecrets; 57 import sun.text.normalizer.UBiDiProps; 58 import sun.text.normalizer.UCharacter; 59 import sun.text.normalizer.UTF16; 60 61 /** 62 * 63 * <h2>Bidi algorithm for ICU</h2> 64 * 65 * This is an implementation of the Unicode Bidirectional Algorithm. The 66 * algorithm is defined in the <a 67 * href="http://www.unicode.org/unicode/reports/tr9/">Unicode Standard Annex #9</a>. 68 * <p> 69 * 70 * Note: Libraries that perform a bidirectional algorithm and reorder strings 71 * accordingly are sometimes called "Storage Layout Engines". ICU's Bidi and 72 * shaping (ArabicShaping) classes can be used at the core of such "Storage 73 * Layout Engines". 74 * 75 * <h3>General remarks about the API:</h3> 76 * |