1 /*
2 * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
656 {"Co", "PRIVATE_USE"},
657 {"Cs", "SURROGATE"},
658 {"Pd", "DASH_PUNCTUATION"},
659 {"Ps", "START_PUNCTUATION"},
660 {"Pe", "END_PUNCTUATION"},
661 {"Pc", "CONNECTOR_PUNCTUATION"},
662 {"Po", "OTHER_PUNCTUATION"},
663 {"Sm", "MATH_SYMBOL"},
664 {"Sc", "CURRENCY_SYMBOL"},
665 {"Sk", "MODIFIER_SYMBOL"},
666 {"So", "OTHER_SYMBOL"},
667 {"Pi", "INITIAL_QUOTE_PUNCTUATION"},
668 {"Pf", "FINAL_QUOTE_PUNCTUATION"}
669 };
670
671 /**
672 * Bidirectional categories
673 */
674 public static final byte
675 DIRECTIONALITY_UNDEFINED = -1,
676 // Strong category
677 DIRECTIONALITY_LEFT_TO_RIGHT = 0, // L
678 DIRECTIONALITY_RIGHT_TO_LEFT = 1, // R
679 DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 2, // AL
680 // Weak category
681 DIRECTIONALITY_EUROPEAN_NUMBER = 3, // EN
682 DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 4, // ES
683 DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 5, // ET
684 DIRECTIONALITY_ARABIC_NUMBER = 6, // AN
685 DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 7, // CS
686 DIRECTIONALITY_NONSPACING_MARK = 8, // NSM
687 DIRECTIONALITY_BOUNDARY_NEUTRAL = 9, // BN
688 // Neutral category
689 DIRECTIONALITY_PARAGRAPH_SEPARATOR = 10, // B
690 DIRECTIONALITY_SEGMENT_SEPARATOR = 11, // S
691 DIRECTIONALITY_WHITESPACE = 12, // WS
692 DIRECTIONALITY_OTHER_NEUTRALS = 13, // ON
693
694 DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14, // LRE
695 DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 15, // LRO
696 DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 16, // RLE
697 DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 17, // RLO
698 DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18, // PDF
699
700 DIRECTIONALITY_CATEGORY_COUNT = 19; // sentinel value
701
702 // If changes are made to the above bidi category assignments, this
703 // list of bidi category names must be changed to keep their order in synch.
704 // Access this list using the bidi category constants above.
705 static final String[][] bidiCategoryList = {
706 {"L", "DIRECTIONALITY_LEFT_TO_RIGHT"},
707 {"R", "DIRECTIONALITY_RIGHT_TO_LEFT"},
708 {"AL", "DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC"},
709 {"EN", "DIRECTIONALITY_EUROPEAN_NUMBER"},
710 {"ES", "DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR"},
711 {"ET", "DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR"},
712 {"AN", "DIRECTIONALITY_ARABIC_NUMBER"},
713 {"CS", "DIRECTIONALITY_COMMON_NUMBER_SEPARATOR"},
714 {"NSM", "DIRECTIONALITY_NONSPACING_MARK"},
715 {"BN", "DIRECTIONALITY_BOUNDARY_NEUTRAL"},
716 {"B", "DIRECTIONALITY_PARAGRAPH_SEPARATOR"},
717 {"S", "DIRECTIONALITY_SEGMENT_SEPARATOR"},
718 {"WS", "DIRECTIONALITY_WHITESPACE"},
719 {"ON", "DIRECTIONALITY_OTHER_NEUTRALS"},
720 {"LRE", "DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING"},
721 {"LRO", "DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE"},
722 {"RLE", "DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING"},
723 {"RLO", "DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE"},
724 {"PDF", "DIRECTIONALITY_POP_DIRECTIONAL_FORMAT"},
725
726 };
727
728 // Unicode specification lines have fields in this order.
729 static final byte
730 FIELD_VALUE = 0,
731 FIELD_NAME = 1,
732 FIELD_CATEGORY = 2,
733 FIELD_CLASS = 3,
734 FIELD_BIDI = 4,
735 FIELD_DECOMPOSITION = 5,
736 FIELD_DECIMAL = 6,
737 FIELD_DIGIT = 7,
738 FIELD_NUMERIC = 8,
739 FIELD_MIRRORED = 9,
740 FIELD_OLDNAME = 10,
741 FIELD_COMMENT = 11,
742 FIELD_UPPERCASE = 12,
743 FIELD_LOWERCASE = 13,
744 FIELD_TITLECASE = 14;
745
|
1 /*
2 * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
656 {"Co", "PRIVATE_USE"},
657 {"Cs", "SURROGATE"},
658 {"Pd", "DASH_PUNCTUATION"},
659 {"Ps", "START_PUNCTUATION"},
660 {"Pe", "END_PUNCTUATION"},
661 {"Pc", "CONNECTOR_PUNCTUATION"},
662 {"Po", "OTHER_PUNCTUATION"},
663 {"Sm", "MATH_SYMBOL"},
664 {"Sc", "CURRENCY_SYMBOL"},
665 {"Sk", "MODIFIER_SYMBOL"},
666 {"So", "OTHER_SYMBOL"},
667 {"Pi", "INITIAL_QUOTE_PUNCTUATION"},
668 {"Pf", "FINAL_QUOTE_PUNCTUATION"}
669 };
670
671 /**
672 * Bidirectional categories
673 */
674 public static final byte
675 DIRECTIONALITY_UNDEFINED = -1,
676
677 // Strong category
678 DIRECTIONALITY_LEFT_TO_RIGHT = 0, // L
679 DIRECTIONALITY_RIGHT_TO_LEFT = 1, // R
680 DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 2, // AL
681 // Weak category
682 DIRECTIONALITY_EUROPEAN_NUMBER = 3, // EN
683 DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 4, // ES
684 DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 5, // ET
685 DIRECTIONALITY_ARABIC_NUMBER = 6, // AN
686 DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 7, // CS
687 DIRECTIONALITY_NONSPACING_MARK = 8, // NSM
688 DIRECTIONALITY_BOUNDARY_NEUTRAL = 9, // BN
689 // Neutral category
690 DIRECTIONALITY_PARAGRAPH_SEPARATOR = 10, // B
691 DIRECTIONALITY_SEGMENT_SEPARATOR = 11, // S
692 DIRECTIONALITY_WHITESPACE = 12, // WS
693 DIRECTIONALITY_OTHER_NEUTRALS = 13, // ON
694 // Explicit Formatting category
695 DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14, // LRE
696 DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 15, // LRO
697 DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 16, // RLE
698 DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 17, // RLO
699 DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18, // PDF
700 DIRECTIONALITY_LEFT_TO_RIGHT_ISOLATE = 19, // LRI
701 DIRECTIONALITY_RIGHT_TO_LEFT_ISOLATE = 20, // RLI
702 DIRECTIONALITY_FIRST_STRONG_ISOLATE = 21, // FSI
703 DIRECTIONALITY_POP_DIRECTIONAL_ISOLATE = 22, // PDI
704
705 DIRECTIONALITY_CATEGORY_COUNT = 23; // sentinel value
706
707 // If changes are made to the above bidi category assignments, this
708 // list of bidi category names must be changed to keep their order in synch.
709 // Access this list using the bidi category constants above.
710 static final String[][] bidiCategoryList = {
711 {"L", "DIRECTIONALITY_LEFT_TO_RIGHT"},
712 {"R", "DIRECTIONALITY_RIGHT_TO_LEFT"},
713 {"AL", "DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC"},
714 {"EN", "DIRECTIONALITY_EUROPEAN_NUMBER"},
715 {"ES", "DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR"},
716 {"ET", "DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR"},
717 {"AN", "DIRECTIONALITY_ARABIC_NUMBER"},
718 {"CS", "DIRECTIONALITY_COMMON_NUMBER_SEPARATOR"},
719 {"NSM", "DIRECTIONALITY_NONSPACING_MARK"},
720 {"BN", "DIRECTIONALITY_BOUNDARY_NEUTRAL"},
721 {"B", "DIRECTIONALITY_PARAGRAPH_SEPARATOR"},
722 {"S", "DIRECTIONALITY_SEGMENT_SEPARATOR"},
723 {"WS", "DIRECTIONALITY_WHITESPACE"},
724 {"ON", "DIRECTIONALITY_OTHER_NEUTRALS"},
725 {"LRE", "DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING"},
726 {"LRO", "DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE"},
727 {"RLE", "DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING"},
728 {"RLO", "DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE"},
729 {"PDF", "DIRECTIONALITY_POP_DIRECTIONAL_FORMAT"},
730 {"LRI", "DIRECTIONALITY_LEFT_TO_RIGHT_ISOLATE"},
731 {"RLI", "DIRECTIONALITY_RIGHT_TO_LEFT_ISOLATE"},
732 {"FSI", "DIRECTIONALITY_FIRST_STRONG_ISOLATE"},
733 {"PDI", "DIRECTIONALITY_POP_DIRECTIONAL_ISOLATE"},
734 };
735
736 // Unicode specification lines have fields in this order.
737 static final byte
738 FIELD_VALUE = 0,
739 FIELD_NAME = 1,
740 FIELD_CATEGORY = 2,
741 FIELD_CLASS = 3,
742 FIELD_BIDI = 4,
743 FIELD_DECOMPOSITION = 5,
744 FIELD_DECIMAL = 6,
745 FIELD_DIGIT = 7,
746 FIELD_NUMERIC = 8,
747 FIELD_MIRRORED = 9,
748 FIELD_OLDNAME = 10,
749 FIELD_COMMENT = 11,
750 FIELD_UPPERCASE = 12,
751 FIELD_LOWERCASE = 13,
752 FIELD_TITLECASE = 14;
753
|