[Libreoffice-commits] .: 2 commits - svx/inc svx/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Tue Jan 29 06:07:07 PST 2013


 svx/inc/svx/ucsubset.hrc       |  193 +++++-
 svx/inc/svx/ucsubset.hxx       |    5 
 svx/source/dialog/charmap.cxx  |  799 ++++++++++++++++++++++++----
 svx/source/dialog/ucsubset.src | 1138 +++++++++++++++++++++++++++--------------
 4 files changed, 1615 insertions(+), 520 deletions(-)

New commits:
commit eb1ecd8bc2936e28be852722d6cb0c9fb0baeac4
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Tue Jan 29 13:12:58 2013 +0000

    Related: fdo#59922 add new unicode blocks, detect newer in future
    
    so that if a new ones appears in icu we should compile time warn
    about it
    
    Change-Id: Ic116dce40a2aedee417320bc5291bb5b7d0ac391

diff --git a/svx/inc/svx/ucsubset.hrc b/svx/inc/svx/ucsubset.hrc
index 6f29fe4..df3ca9e 100644
--- a/svx/inc/svx/ucsubset.hrc
+++ b/svx/inc/svx/ucsubset.hrc
@@ -33,7 +33,6 @@
 #define RID_SUBSETSTR_BASIC_GREEK               (RID_SUBSET_START + 7)
 #define RID_SUBSETSTR_GREEK_SYMS_COPTIC         (RID_SUBSET_START + 8)
 #define RID_SUBSETSTR_CYRILLIC                  (RID_SUBSET_START + 9)
-#define RID_SUBSETSTR_CYRILLIC_SUPPL            (RID_SUBSET_START + 200)
 #define RID_SUBSETSTR_ARMENIAN                  (RID_SUBSET_START + 10)
 #define RID_SUBSETSTR_HEBREW_EXTENDED           (RID_SUBSET_START + 11)
 #define RID_SUBSETSTR_BASIC_HEBREW              (RID_SUBSET_START + 12)
@@ -94,54 +93,161 @@
 #define RID_SUBSETSTR_HALFW_FULLW_FORMS         (RID_SUBSET_START + 68)
 #define RID_SUBSETSTR_SPECIALS                  (RID_SUBSET_START + 69)
 
-#define RID_SUBSETSTR_HANGUL_GA                 (RID_SUBSET_START + 150)
-#define RID_SUBSETSTR_HANGUL_NA                 (RID_SUBSET_START + 151)
-#define RID_SUBSETSTR_HANGUL_DA                 (RID_SUBSET_START + 152)
-#define RID_SUBSETSTR_HANGUL_RA                 (RID_SUBSET_START + 153)
-#define RID_SUBSETSTR_HANGUL_MA                 (RID_SUBSET_START + 154)
-#define RID_SUBSETSTR_HANGUL_BA                 (RID_SUBSET_START + 155)
-#define RID_SUBSETSTR_HANGUL_SA                 (RID_SUBSET_START + 156)
-#define RID_SUBSETSTR_HANGUL_AH                 (RID_SUBSET_START + 157)
-#define RID_SUBSETSTR_HANGUL_JA                 (RID_SUBSET_START + 158)
-#define RID_SUBSETSTR_HANGUL_CHA                (RID_SUBSET_START + 159)
-#define RID_SUBSETSTR_HANGUL_KA                 (RID_SUBSET_START + 160)
-#define RID_SUBSETSTR_HANGUL_TA                 (RID_SUBSET_START + 161)
-#define RID_SUBSETSTR_HANGUL_PA                 (RID_SUBSET_START + 162)
-#define RID_SUBSETSTR_HANGUL_HA                 (RID_SUBSET_START + 163)
-#define RID_SUBSETSTR_YI                        (RID_SUBSET_START + 164)
+#define RID_SUBSETSTR_YI_SYLLABLES              (RID_SUBSET_START + 70)
+#define RID_SUBSETSTR_YI_RADICALS               (RID_SUBSET_START + 71)
+#define RID_SUBSETSTR_OLD_ITALIC                (RID_SUBSET_START + 72)
+#define RID_SUBSETSTR_GOTHIC                    (RID_SUBSET_START + 73)
+#define RID_SUBSETSTR_DESERET                   (RID_SUBSET_START + 74)
+#define RID_SUBSETSTR_BYZANTINE_MUSICAL_SYMBOLS (RID_SUBSET_START + 75)
+#define RID_SUBSETSTR_MUSICAL_SYMBOLS           (RID_SUBSET_START + 76)
+#define RID_SUBSETSTR_MATHEMATICAL_ALPHANUMERIC_SYMBOLS (RID_SUBSET_START + 77)
+#define RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B (RID_SUBSET_START + 78)
+#define RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C (RID_SUBSET_START + 79)
+#define RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D (RID_SUBSET_START + 80)
+#define RID_SUBSETSTR_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT (RID_SUBSET_START + 81)
+#define RID_SUBSETSTR_TAGS                      (RID_SUBSET_START + 82)
+#define RID_SUBSETSTR_CYRILLIC_SUPPLEMENTARY    (RID_SUBSET_START + 83)
+#define RID_SUBSETSTR_VARIATION_SELECTORS       (RID_SUBSET_START + 84)
+#define RID_SUBSETSTR_SUPPLEMENTARY_PRIVATE_USE_AREA_A (RID_SUBSET_START + 85)
+#define RID_SUBSETSTR_SUPPLEMENTARY_PRIVATE_USE_AREA_B (RID_SUBSET_START + 86)
+#define RID_SUBSETSTR_LIMBU                     (RID_SUBSET_START + 87)
+#define RID_SUBSETSTR_TAI_LE                    (RID_SUBSET_START + 88)
+#define RID_SUBSETSTR_KHMER_SYMBOLS             (RID_SUBSET_START + 89)
+#define RID_SUBSETSTR_PHONETIC_EXTENSIONS       (RID_SUBSET_START + 90)
+#define RID_SUBSETSTR_MISCELLANEOUS_SYMBOLS_AND_ARROWS (RID_SUBSET_START + 91)
+#define RID_SUBSETSTR_YIJING_HEXAGRAM_SYMBOLS   (RID_SUBSET_START + 92)
+#define RID_SUBSETSTR_LINEAR_B_SYLLABARY        (RID_SUBSET_START + 93)
+#define RID_SUBSETSTR_LINEAR_B_IDEOGRAMS        (RID_SUBSET_START + 94)
+#define RID_SUBSETSTR_AEGEAN_NUMBERS            (RID_SUBSET_START + 95)
+#define RID_SUBSETSTR_UGARITIC                  (RID_SUBSET_START + 96)
+#define RID_SUBSETSTR_SHAVIAN                   (RID_SUBSET_START + 97)
+#define RID_SUBSETSTR_OSMANYA                   (RID_SUBSET_START + 98)
+#define RID_SUBSETSTR_CYPRIOT_SYLLABARY         (RID_SUBSET_START + 99)
+#define RID_SUBSETSTR_TAI_XUAN_JING_SYMBOLS     (RID_SUBSET_START + 100)
+#define RID_SUBSETSTR_VARIATION_SELECTORS_SUPPLEMENT (RID_SUBSET_START + 101)
+#define RID_SUBSETSTR_ANCIENT_GREEK_MUSICAL_NOTATION (RID_SUBSET_START + 102)
+#define RID_SUBSETSTR_ANCIENT_GREEK_NUMBERS     (RID_SUBSET_START + 103)
+#define RID_SUBSETSTR_ARABIC_SUPPLEMENT         (RID_SUBSET_START + 104)
+#define RID_SUBSETSTR_BUGINESE                  (RID_SUBSET_START + 105)
+#define RID_SUBSETSTR_CJK_STROKES               (RID_SUBSET_START + 106)
+#define RID_SUBSETSTR_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT (RID_SUBSET_START + 107)
+#define RID_SUBSETSTR_COPTIC                    (RID_SUBSET_START + 108)
+#define RID_SUBSETSTR_ETHIOPIC_EXTENDED         (RID_SUBSET_START + 109)
+#define RID_SUBSETSTR_ETHIOPIC_SUPPLEMENT       (RID_SUBSET_START + 110)
+#define RID_SUBSETSTR_GEORGIAN_SUPPLEMENT       (RID_SUBSET_START + 111)
+#define RID_SUBSETSTR_GLAGOLITIC                (RID_SUBSET_START + 112)
+#define RID_SUBSETSTR_KHAROSHTHI                (RID_SUBSET_START + 113)
+#define RID_SUBSETSTR_MODIFIER_TONE_LETTERS     (RID_SUBSET_START + 114)
+#define RID_SUBSETSTR_NEW_TAI_LUE               (RID_SUBSET_START + 115)
+#define RID_SUBSETSTR_OLD_PERSIAN               (RID_SUBSET_START + 116)
+#define RID_SUBSETSTR_PHONETIC_EXTENSIONS_SUPPLEMENT (RID_SUBSET_START + 117)
+#define RID_SUBSETSTR_SUPPLEMENTAL_PUNCTUATION  (RID_SUBSET_START + 118)
+#define RID_SUBSETSTR_SYLOTI_NAGRI              (RID_SUBSET_START + 119)
+#define RID_SUBSETSTR_TIFINAGH                  (RID_SUBSET_START + 120)
+#define RID_SUBSETSTR_VERTICAL_FORMS            (RID_SUBSET_START + 121)
+#define RID_SUBSETSTR_NKO                       (RID_SUBSET_START + 122)
+#define RID_SUBSETSTR_BALINESE                  (RID_SUBSET_START + 123)
+#define RID_SUBSETSTR_LATIN_EXTENDED_C          (RID_SUBSET_START + 124)
+#define RID_SUBSETSTR_LATIN_EXTENDED_D          (RID_SUBSET_START + 125)
+#define RID_SUBSETSTR_PHAGS_PA                  (RID_SUBSET_START + 126)
+#define RID_SUBSETSTR_PHOENICIAN                (RID_SUBSET_START + 127)
+#define RID_SUBSETSTR_CUNEIFORM                 (RID_SUBSET_START + 128)
+#define RID_SUBSETSTR_CUNEIFORM_NUMBERS_AND_PUNCTUATION (RID_SUBSET_START + 129)
+#define RID_SUBSETSTR_COUNTING_ROD_NUMERALS     (RID_SUBSET_START + 130)
+#define RID_SUBSETSTR_SUNDANESE                 (RID_SUBSET_START + 131)
+#define RID_SUBSETSTR_LEPCHA                    (RID_SUBSET_START + 132)
+#define RID_SUBSETSTR_OL_CHIKI                  (RID_SUBSET_START + 133)
+#define RID_SUBSETSTR_CYRILLIC_EXTENDED_A       (RID_SUBSET_START + 134)
+#define RID_SUBSETSTR_VAI                       (RID_SUBSET_START + 135)
+#define RID_SUBSETSTR_CYRILLIC_EXTENDED_B       (RID_SUBSET_START + 136)
+#define RID_SUBSETSTR_SAURASHTRA                (RID_SUBSET_START + 137)
+#define RID_SUBSETSTR_KAYAH_LI                  (RID_SUBSET_START + 138)
+#define RID_SUBSETSTR_REJANG                    (RID_SUBSET_START + 139)
+#define RID_SUBSETSTR_CHAM                      (RID_SUBSET_START + 140)
+#define RID_SUBSETSTR_ANCIENT_SYMBOLS           (RID_SUBSET_START + 141)
+#define RID_SUBSETSTR_PHAISTOS_DISC             (RID_SUBSET_START + 142)
+#define RID_SUBSETSTR_LYCIAN                    (RID_SUBSET_START + 143)
+#define RID_SUBSETSTR_CARIAN                    (RID_SUBSET_START + 144)
+#define RID_SUBSETSTR_LYDIAN                    (RID_SUBSET_START + 145)
+#define RID_SUBSETSTR_MAHJONG_TILES             (RID_SUBSET_START + 146)
+#define RID_SUBSETSTR_DOMINO_TILES              (RID_SUBSET_START + 147)
+#define RID_SUBSETSTR_SAMARITAN                 (RID_SUBSET_START + 148)
+#define RID_SUBSETSTR_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED (RID_SUBSET_START + 149)
+#define RID_SUBSETSTR_TAI_THAM                  (RID_SUBSET_START + 150)
+#define RID_SUBSETSTR_VEDIC_EXTENSIONS          (RID_SUBSET_START + 151)
+#define RID_SUBSETSTR_LISU                      (RID_SUBSET_START + 152)
+#define RID_SUBSETSTR_BAMUM                     (RID_SUBSET_START + 153)
+#define RID_SUBSETSTR_COMMON_INDIC_NUMBER_FORMS (RID_SUBSET_START + 154)
+#define RID_SUBSETSTR_DEVANAGARI_EXTENDED       (RID_SUBSET_START + 155)
+#define RID_SUBSETSTR_HANGUL_JAMO_EXTENDED_A    (RID_SUBSET_START + 156)
+#define RID_SUBSETSTR_JAVANESE                  (RID_SUBSET_START + 157)
+#define RID_SUBSETSTR_MYANMAR_EXTENDED_A        (RID_SUBSET_START + 158)
+#define RID_SUBSETSTR_TAI_VIET                  (RID_SUBSET_START + 159)
+#define RID_SUBSETSTR_MEETEI_MAYEK              (RID_SUBSET_START + 160)
+#define RID_SUBSETSTR_HANGUL_JAMO_EXTENDED_B    (RID_SUBSET_START + 161)
+#define RID_SUBSETSTR_IMPERIAL_ARAMAIC          (RID_SUBSET_START + 162)
+#define RID_SUBSETSTR_OLD_SOUTH_ARABIAN         (RID_SUBSET_START + 163)
+#define RID_SUBSETSTR_AVESTAN                   (RID_SUBSET_START + 164)
+#define RID_SUBSETSTR_INSCRIPTIONAL_PARTHIAN    (RID_SUBSET_START + 165)
+#define RID_SUBSETSTR_INSCRIPTIONAL_PAHLAVI     (RID_SUBSET_START + 166)
+#define RID_SUBSETSTR_OLD_TURKIC                (RID_SUBSET_START + 167)
+#define RID_SUBSETSTR_RUMI_NUMERAL_SYMBOLS      (RID_SUBSET_START + 168)
+#define RID_SUBSETSTR_KAITHI                    (RID_SUBSET_START + 169)
+#define RID_SUBSETSTR_EGYPTIAN_HIEROGLYPHS      (RID_SUBSET_START + 170)
+#define RID_SUBSETSTR_ENCLOSED_ALPHANUMERIC_SUPPLEMENT (RID_SUBSET_START + 171)
+#define RID_SUBSETSTR_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT (RID_SUBSET_START + 172)
+#define RID_SUBSETSTR_MANDAIC                   (RID_SUBSET_START + 174)
+#define RID_SUBSETSTR_BATAK                     (RID_SUBSET_START + 175)
+#define RID_SUBSETSTR_ETHIOPIC_EXTENDED_A       (RID_SUBSET_START + 176)
+#define RID_SUBSETSTR_BRAHMI                    (RID_SUBSET_START + 177)
+#define RID_SUBSETSTR_BAMUM_SUPPLEMENT          (RID_SUBSET_START + 178)
+#define RID_SUBSETSTR_KANA_SUPPLEMENT           (RID_SUBSET_START + 179)
+#define RID_SUBSETSTR_PLAYING_CARDS             (RID_SUBSET_START + 180)
+#define RID_SUBSETSTR_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS (RID_SUBSET_START + 181)
+#define RID_SUBSETSTR_EMOTICONS                 (RID_SUBSET_START + 182)
+#define RID_SUBSETSTR_TRANSPORT_AND_MAP_SYMBOLS (RID_SUBSET_START + 183)
+#define RID_SUBSETSTR_ALCHEMICAL_SYMBOLS        (RID_SUBSET_START + 184)
+#define RID_SUBSETSTR_CJK_EXT_A_UNIFIED_IDGRAPH (RID_SUBSET_START + 185)
+#define RID_SUBSETSTR_ARABIC_EXTENDED_A         (RID_SUBSET_START + 186)
+#define RID_SUBSETSTR_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS (RID_SUBSET_START + 187)
+#define RID_SUBSETSTR_CHAKMA                    (RID_SUBSET_START + 188)
+#define RID_SUBSETSTR_MEETEI_MAYEK_EXTENSIONS   (RID_SUBSET_START + 189)
+#define RID_SUBSETSTR_MEROITIC_CURSIVE          (RID_SUBSET_START + 190)
+#define RID_SUBSETSTR_MEROITIC_HIEROGLYPHS      (RID_SUBSET_START + 191)
+#define RID_SUBSETSTR_MIAO                      (RID_SUBSET_START + 192)
+#define RID_SUBSETSTR_SHARADA                   (RID_SUBSET_START + 193)
+#define RID_SUBSETSTR_SORA_SOMPENG              (RID_SUBSET_START + 194)
+#define RID_SUBSETSTR_SUNDANESE_SUPPLEMENT      (RID_SUBSET_START + 195)
+#define RID_SUBSETSTR_TAKRI                     (RID_SUBSET_START + 196)
+#define RID_SUBSETSTR_SINHALA                   (RID_SUBSET_START + 197)
+#define RID_SUBSETSTR_TIBETAN                   (RID_SUBSET_START + 198)
+#define RID_SUBSETSTR_MYANMAR                   (RID_SUBSET_START + 199)
+#define RID_SUBSETSTR_KHMER                     (RID_SUBSET_START + 200)
+#define RID_SUBSETSTR_OGHAM                     (RID_SUBSET_START + 201)
+#define RID_SUBSETSTR_THAANA                    (RID_SUBSET_START + 202)
+#define RID_SUBSETSTR_CANADIAN_ABORIGINAL       (RID_SUBSET_START + 203)
 
-#define RID_SUBSETSTR_SINHALA                   (RID_SUBSET_START + 165)
-#define RID_SUBSETSTR_TIBETAN                   (RID_SUBSET_START + 166)
-#define RID_SUBSETSTR_MYANMAR                   (RID_SUBSET_START + 167)
-#define RID_SUBSETSTR_KHMER                     (RID_SUBSET_START + 168)
-
-#define RID_SUBSETSTR_OGHAM                     (RID_SUBSET_START + 170)
-#define RID_SUBSETSTR_RUNIC                     (RID_SUBSET_START + 171)
-#define RID_SUBSETSTR_SYRIAC                    (RID_SUBSET_START + 172)
-#define RID_SUBSETSTR_THAANA                    (RID_SUBSET_START + 173)
-#define RID_SUBSETSTR_ETHIOPIC                  (RID_SUBSET_START + 174)
-#define RID_SUBSETSTR_CHEROKEE                  (RID_SUBSET_START + 175)
-#define RID_SUBSETSTR_CANADIAN_ABORIGINAL       (RID_SUBSET_START + 176)
-#define RID_SUBSETSTR_MONGOLIAN                 (RID_SUBSET_START + 177)
-#define RID_SUBSETSTR_CJK_EXT_A_UNIFIED_IDGRAPH (RID_SUBSET_START + 178)
-
-#define RID_SUBSETSTR_MISC_MATH_SYMS_A          (RID_SUBSET_START + 210)
-#define RID_SUBSETSTR_SUPPL_ARROWS_A            (RID_SUBSET_START + 211)
-#define RID_SUBSETSTR_BRAILLE_PATTERNS          (RID_SUBSET_START + 212)
-#define RID_SUBSETSTR_SUPPL_ARROWS_B            (RID_SUBSET_START + 213)
-#define RID_SUBSETSTR_MISC_MATH_SYMS_B          (RID_SUBSET_START + 214)
-#define RID_SUBSETSTR_CJK_RADICAL_SUPPL         (RID_SUBSET_START + 215)
-#define RID_SUBSETSTR_KANGXI_RADICALS           (RID_SUBSET_START + 216)
-#define RID_SUBSETSTR_IDEO_DESC_CHARS           (RID_SUBSET_START + 217)
+#define RID_SUBSETSTR_BRAILLE_PATTERNS          (RID_SUBSET_START + 204)
+#define RID_SUBSETSTR_CJK_RADICAL_SUPPL         (RID_SUBSET_START + 205)
 
+#define RID_SUBSETSTR_TAGBANWA                  (RID_SUBSET_START + 206)
+#define RID_SUBSETSTR_BOPOMOFO_EXTENDED         (RID_SUBSET_START + 207)
+#define RID_SUBSETSTR_KATAKANA_PHONETIC         (RID_SUBSET_START + 208)
+#define RID_SUBSETSTR_RUNIC                     (RID_SUBSET_START + 209)
+#define RID_SUBSETSTR_SYRIAC                    (RID_SUBSET_START + 210)
+#define RID_SUBSETSTR_ETHIOPIC                  (RID_SUBSET_START + 211)
+#define RID_SUBSETSTR_CHEROKEE                  (RID_SUBSET_START + 212)
+#define RID_SUBSETSTR_MONGOLIAN                 (RID_SUBSET_START + 213)
+#define RID_SUBSETSTR_MISC_MATH_SYMS_A          (RID_SUBSET_START + 214)
+#define RID_SUBSETSTR_SUPPL_ARROWS_A            (RID_SUBSET_START + 215)
+#define RID_SUBSETSTR_SUPPL_ARROWS_B            (RID_SUBSET_START + 216)
+#define RID_SUBSETSTR_MISC_MATH_SYMS_B          (RID_SUBSET_START + 217)
+#define RID_SUBSETSTR_KANGXI_RADICALS           (RID_SUBSET_START + 218)
+#define RID_SUBSETSTR_IDEO_DESC_CHARS           (RID_SUBSET_START + 219)
 #define RID_SUBSETSTR_TAGALOG                   (RID_SUBSET_START + 220)
 #define RID_SUBSETSTR_HANUNOO                   (RID_SUBSET_START + 221)
-#define RID_SUBSETSTR_TAGBANWA                  (RID_SUBSET_START + 222)
+#define RID_SUBSETSTR_KANBUN                    (RID_SUBSET_START + 222)
 #define RID_SUBSETSTR_BUHID                     (RID_SUBSET_START + 223)
-#define RID_SUBSETSTR_KANBUN                    (RID_SUBSET_START + 224)
-#define RID_SUBSETSTR_BOPOMOFO_EXTENDED         (RID_SUBSET_START + 225)
-#define RID_SUBSETSTR_KATAKANA_PHONETIC         (RID_SUBSET_START + 226)
-#define RID_SUBSETSTR_CJK_STROKES               (RID_SUBSET_START + 227)
 
 //      RID_SUBSET_END                          (RID_SUBSET_START + 299)
 
diff --git a/svx/inc/svx/ucsubset.hxx b/svx/inc/svx/ucsubset.hxx
index 76421d9..54dfbbd 100644
--- a/svx/inc/svx/ucsubset.hxx
+++ b/svx/inc/svx/ucsubset.hxx
@@ -52,6 +52,11 @@ private:
     String          maRangeName;
 };
 
+inline bool operator<(const Subset &rLHS, const Subset &rRHS)
+{
+    return rLHS.GetRangeMin() < rRHS.GetRangeMin();
+}
+
 typedef ::std::list<Subset> SubsetList;
 
 class SVX_DLLPUBLIC SubsetMap : private Resource
diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx
index 203bd6f..4e94e4a 100644
--- a/svx/source/dialog/charmap.cxx
+++ b/svx/source/dialog/charmap.cxx
@@ -38,6 +38,7 @@
 #include <com/sun/star/accessibility/AccessibleStateType.hpp>
 #include <comphelper/types.hxx>
 #include <svl/itemset.hxx>
+#include <unicode/uchar.h>
 
 #include "rtl/ustrbuf.hxx"
 
@@ -785,124 +786,689 @@ void SubsetMap::InitList()
     if( bInit )
     {
         bInit = false;
+        //I wish icu had a way to give me the block ranges
+        for (int i = UBLOCK_BASIC_LATIN; i < UBLOCK_COUNT; ++i)
+        {
+            UBlockCode eBlock = static_cast<UBlockCode>(i);
+            switch (eBlock)
+            {
+                case UBLOCK_NO_BLOCK:
+                case UBLOCK_INVALID_CODE:
+                case UBLOCK_COUNT:
+                case UBLOCK_HIGH_SURROGATES:
+                case UBLOCK_HIGH_PRIVATE_USE_SURROGATES:
+                case UBLOCK_LOW_SURROGATES:
+                    break;
+                case UBLOCK_BASIC_LATIN:
+                    aAllSubsets.push_back( Subset( 0x0000, 0x007F, RID_SUBSETSTR_BASIC_LATIN ) );
+                    break;
+                case UBLOCK_LATIN_1_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset( 0x0080, 0x00FF, RID_SUBSETSTR_LATIN_1 ) );
+                    break;
+                case UBLOCK_LATIN_EXTENDED_A:
+                    aAllSubsets.push_back( Subset( 0x0100, 0x017F, RID_SUBSETSTR_LATIN_EXTENDED_A ) );
+                    break;
+                case UBLOCK_LATIN_EXTENDED_B:
+                    aAllSubsets.push_back( Subset( 0x0180, 0x024F, RID_SUBSETSTR_LATIN_EXTENDED_B ) );
+                    break;
+                case UBLOCK_IPA_EXTENSIONS:
+                    aAllSubsets.push_back( Subset( 0x0250, 0x02AF, RID_SUBSETSTR_IPA_EXTENSIONS ) );
+                    break;
+                case UBLOCK_SPACING_MODIFIER_LETTERS:
+                    aAllSubsets.push_back( Subset( 0x02B0, 0x02FF, RID_SUBSETSTR_SPACING_MODIFIERS ) );
+                    break;
+                case UBLOCK_COMBINING_DIACRITICAL_MARKS:
+                    aAllSubsets.push_back( Subset( 0x0300, 0x036F, RID_SUBSETSTR_COMB_DIACRITICAL ) );
+                    break;
+                case UBLOCK_GREEK:
+                    aAllSubsets.push_back( Subset( 0x0370, 0x03FF, RID_SUBSETSTR_BASIC_GREEK ) );
+                    break;
+                case UBLOCK_CYRILLIC:
+                    aAllSubsets.push_back( Subset( 0x0400, 0x04FF, RID_SUBSETSTR_CYRILLIC ) );
+                    break;
+                case UBLOCK_ARMENIAN:
+                    aAllSubsets.push_back( Subset( 0x0530, 0x058F, RID_SUBSETSTR_ARMENIAN ) );
+                    break;
+                case UBLOCK_HEBREW:
+                    aAllSubsets.push_back( Subset( 0x0590, 0x05FF, RID_SUBSETSTR_BASIC_HEBREW ) );
+                    break;
+                case UBLOCK_ARABIC:
+                    aAllSubsets.push_back( Subset( 0x0600, 0x065F, RID_SUBSETSTR_BASIC_ARABIC ) );
+                    break;
+                case UBLOCK_SYRIAC:
+                    aAllSubsets.push_back( Subset( 0x0700, 0x074F, RID_SUBSETSTR_SYRIAC ) );
+                    break;
+                case UBLOCK_THAANA:
+                    aAllSubsets.push_back( Subset( 0x0780, 0x07BF, RID_SUBSETSTR_THAANA ) );
+                    break;
+                case UBLOCK_DEVANAGARI:
+                    aAllSubsets.push_back( Subset( 0x0900, 0x097F, RID_SUBSETSTR_DEVANAGARI ) );
+                    break;
+                case UBLOCK_BENGALI:
+                    aAllSubsets.push_back( Subset( 0x0980, 0x09FF, RID_SUBSETSTR_BENGALI ) );
+                    break;
+                case UBLOCK_GURMUKHI:
+                    aAllSubsets.push_back( Subset( 0x0A00, 0x0A7F, RID_SUBSETSTR_GURMUKHI ) );
+                    break;
+                case UBLOCK_GUJARATI:
+                    aAllSubsets.push_back( Subset( 0x0A80, 0x0AFF, RID_SUBSETSTR_GUJARATI ) );
+                    break;
+                case UBLOCK_ORIYA:
+                    aAllSubsets.push_back( Subset( 0x0B00, 0x0B7F, RID_SUBSETSTR_ORIYA ) );
+                    break;
+                case UBLOCK_TAMIL:
+                    aAllSubsets.push_back( Subset( 0x0B80, 0x0BFF, RID_SUBSETSTR_TAMIL ) );
+                    break;
+                case UBLOCK_TELUGU:
+                    aAllSubsets.push_back( Subset( 0x0C00, 0x0C7F, RID_SUBSETSTR_TELUGU ) );
+                    break;
+                case UBLOCK_KANNADA:
+                    aAllSubsets.push_back( Subset( 0x0C80, 0x0CFF, RID_SUBSETSTR_KANNADA ) );
+                    break;
+                case UBLOCK_MALAYALAM:
+                    aAllSubsets.push_back( Subset( 0x0D00, 0x0D7F, RID_SUBSETSTR_MALAYALAM ) );
+                    break;
+                case UBLOCK_SINHALA:
+                    aAllSubsets.push_back( Subset( 0x0D80, 0x0DFF, RID_SUBSETSTR_SINHALA ) );
+                    break;
+                case UBLOCK_THAI:
+                    aAllSubsets.push_back( Subset( 0x0E00, 0x0E7F, RID_SUBSETSTR_THAI ) );
+                    break;
+                case UBLOCK_LAO:
+                    aAllSubsets.push_back( Subset( 0x0E80, 0x0EFF, RID_SUBSETSTR_LAO ) );
+                    break;
+                case UBLOCK_TIBETAN:
+                    aAllSubsets.push_back( Subset( 0x0F00, 0x0FBF, RID_SUBSETSTR_TIBETAN ) );
+                    break;
+                case UBLOCK_MYANMAR:
+                    aAllSubsets.push_back( Subset( 0x1000, 0x109F, RID_SUBSETSTR_MYANMAR ) );
+                    break;
+                case UBLOCK_GEORGIAN:
+                    aAllSubsets.push_back( Subset( 0x10A0, 0x10FF, RID_SUBSETSTR_BASIC_GEORGIAN ) );
+                    break;
+                case UBLOCK_HANGUL_JAMO:
+                    aAllSubsets.push_back( Subset( 0x1100, 0x11FF, RID_SUBSETSTR_HANGUL_JAMO ) );
+                    break;
+                case UBLOCK_ETHIOPIC:
+                    aAllSubsets.push_back( Subset( 0x1200, 0x137F, RID_SUBSETSTR_ETHIOPIC ) );
+                    break;
+                case UBLOCK_CHEROKEE:
+                    aAllSubsets.push_back( Subset( 0x13A0, 0x13FF, RID_SUBSETSTR_CHEROKEE ) );
+                    break;
+                case UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS:
+                    aAllSubsets.push_back( Subset( 0x1400, 0x167F, RID_SUBSETSTR_CANADIAN_ABORIGINAL ) );
+                    break;
+                case UBLOCK_OGHAM:
+                    aAllSubsets.push_back( Subset( 0x1680, 0x169F, RID_SUBSETSTR_OGHAM ) );
+                    break;
+                case UBLOCK_RUNIC:
+                    aAllSubsets.push_back( Subset( 0x16A0, 0x16F0, RID_SUBSETSTR_RUNIC ) );
+                    break;
+                case UBLOCK_KHMER:
+                    aAllSubsets.push_back( Subset( 0x1780, 0x17FF, RID_SUBSETSTR_KHMER ) );
+                    break;
+                case UBLOCK_MONGOLIAN:
+                    aAllSubsets.push_back( Subset( 0x1800, 0x18AF, RID_SUBSETSTR_MONGOLIAN ) );
+                    break;
+                case UBLOCK_LATIN_EXTENDED_ADDITIONAL:
+                    aAllSubsets.push_back( Subset( 0x1E00, 0x1EFF, RID_SUBSETSTR_LATIN_EXTENDED_ADDS ) );
+                    break;
+                case UBLOCK_GREEK_EXTENDED:
+                    aAllSubsets.push_back( Subset( 0x1F00, 0x1FFF, RID_SUBSETSTR_GREEK_EXTENDED ) );
+                    break;
+                case UBLOCK_GENERAL_PUNCTUATION:
+                    aAllSubsets.push_back( Subset( 0x2000, 0x206F, RID_SUBSETSTR_GENERAL_PUNCTUATION ) );
+                    break;
+                case UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS:
+                    aAllSubsets.push_back( Subset( 0x2070, 0x209F, RID_SUBSETSTR_SUB_SUPER_SCRIPTS ) );
+                    break;
+                case UBLOCK_CURRENCY_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x20A0, 0x20CF, RID_SUBSETSTR_CURRENCY_SYMBOLS ) );
+                    break;
+                case UBLOCK_COMBINING_MARKS_FOR_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x20D0, 0x20FF, RID_SUBSETSTR_COMB_DIACRITIC_SYMS ) );
+                    break;
+                case UBLOCK_LETTERLIKE_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x2100, 0x214F, RID_SUBSETSTR_LETTERLIKE_SYMBOLS ) );
+                    break;
+                case UBLOCK_NUMBER_FORMS:
+                    aAllSubsets.push_back( Subset( 0x2150, 0x218F, RID_SUBSETSTR_NUMBER_FORMS ) );
+                    break;
+                case UBLOCK_ARROWS:
+                    aAllSubsets.push_back( Subset( 0x2190, 0x21FF, RID_SUBSETSTR_ARROWS ) );
+                    break;
+                case UBLOCK_MATHEMATICAL_OPERATORS:
+                    aAllSubsets.push_back( Subset( 0x2200, 0x22FF, RID_SUBSETSTR_MATH_OPERATORS ) );
+                    break;
+                case UBLOCK_MISCELLANEOUS_TECHNICAL:
+                    aAllSubsets.push_back( Subset( 0x2300, 0x23FF, RID_SUBSETSTR_MISC_TECHNICAL ) );
+                    break;
+                case UBLOCK_CONTROL_PICTURES:
+                    aAllSubsets.push_back( Subset( 0x2400, 0x243F, RID_SUBSETSTR_CONTROL_PICTURES ) );
+                    break;
+                case UBLOCK_OPTICAL_CHARACTER_RECOGNITION:
+                    aAllSubsets.push_back( Subset( 0x2440, 0x245F, RID_SUBSETSTR_OPTICAL_CHAR_REC ) );
+                    break;
+                case UBLOCK_ENCLOSED_ALPHANUMERICS:
+                    aAllSubsets.push_back( Subset( 0x2460, 0x24FF, RID_SUBSETSTR_ENCLOSED_ALPHANUM ) );
+                    break;
+                case UBLOCK_BOX_DRAWING:
+                    aAllSubsets.push_back( Subset( 0x2500, 0x257F, RID_SUBSETSTR_BOX_DRAWING ) );
+                    break;
+                case UBLOCK_BLOCK_ELEMENTS:
+                    aAllSubsets.push_back( Subset( 0x2580, 0x259F, RID_SUBSETSTR_BLOCK_ELEMENTS ) );
+                    break;
+                case UBLOCK_GEOMETRIC_SHAPES:
+                    aAllSubsets.push_back( Subset( 0x25A0, 0x25FF, RID_SUBSETSTR_GEOMETRIC_SHAPES ) );
+                    break;
+                case UBLOCK_MISCELLANEOUS_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x2600, 0x26FF, RID_SUBSETSTR_MISC_DINGBATS ) );
+                    break;
+                case UBLOCK_DINGBATS:
+                    aAllSubsets.push_back( Subset( 0x2700, 0x27BF, RID_SUBSETSTR_DINGBATS ) );
+                    break;
+                case UBLOCK_BRAILLE_PATTERNS:
+                    aAllSubsets.push_back( Subset( 0x2800, 0x28FF, RID_SUBSETSTR_BRAILLE_PATTERNS ) );
+                    break;
+                case UBLOCK_CJK_RADICALS_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset( 0x2E80, 0x2EFF, RID_SUBSETSTR_CJK_RADICAL_SUPPL ) );
+                    break;
+                case UBLOCK_KANGXI_RADICALS:
+                    aAllSubsets.push_back( Subset( 0x2F00, 0x2FDF, RID_SUBSETSTR_KANGXI_RADICALS ) );
+                    break;
+                case UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS:
+                    aAllSubsets.push_back( Subset( 0x2FF0, 0x2FFF, RID_SUBSETSTR_IDEO_DESC_CHARS ) );
+                    break;
+                case UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION:
+                    aAllSubsets.push_back( Subset( 0x3000, 0x303F, RID_SUBSETSTR_CJK_SYMS_PUNCTUATION ) );
+                    break;
+                case UBLOCK_HIRAGANA:
+                    aAllSubsets.push_back( Subset( 0x3040, 0x309F, RID_SUBSETSTR_HIRAGANA ) );
+                    break;
+                case UBLOCK_KATAKANA:
+                    aAllSubsets.push_back( Subset( 0x30A0, 0x30FF, RID_SUBSETSTR_KATAKANA ) );
+                    break;
+                case UBLOCK_BOPOMOFO:
+                    aAllSubsets.push_back( Subset( 0x3100, 0x312F, RID_SUBSETSTR_BOPOMOFO ) );
+                    break;
+                case UBLOCK_HANGUL_COMPATIBILITY_JAMO:
+                    aAllSubsets.push_back( Subset( 0x3130, 0x318F, RID_SUBSETSTR_HANGUL_COMPAT_JAMO ) );
+                    break;
+                case UBLOCK_KANBUN:
+                    aAllSubsets.push_back( Subset( 0x3190, 0x319F, RID_SUBSETSTR_KANBUN ) );
+                    break;
+                case UBLOCK_BOPOMOFO_EXTENDED:
+                    aAllSubsets.push_back( Subset( 0x31A0, 0x31BF, RID_SUBSETSTR_BOPOMOFO_EXTENDED ) );
+                    break;
+                case UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS:
+                    aAllSubsets.push_back( Subset( 0x3200, 0x32FF, RID_SUBSETSTR_ENCLOSED_CJK_LETTERS ) );
+                    break;
+                case UBLOCK_CJK_COMPATIBILITY:
+                    aAllSubsets.push_back( Subset( 0x3300, 0x33FF, RID_SUBSETSTR_CJK_COMPATIBILITY ) );
+                    break;
+                case UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A:
+                    aAllSubsets.push_back( Subset( 0x3400, 0x4DBF, RID_SUBSETSTR_CJK_EXT_A_UNIFIED_IDGRAPH ) );
+                    break;
+                case UBLOCK_CJK_UNIFIED_IDEOGRAPHS:
+                    aAllSubsets.push_back( Subset( 0x4E00, 0x9FA5, RID_SUBSETSTR_CJK_UNIFIED_IDGRAPH ) );
+                    break;
+                case UBLOCK_YI_SYLLABLES:
+                    aAllSubsets.push_back( Subset( 0xA000, 0xA48F, RID_SUBSETSTR_YI_SYLLABLES ) );
+                    break;
+                case UBLOCK_YI_RADICALS:
+                    aAllSubsets.push_back( Subset( 0xA490, 0xA4CF, RID_SUBSETSTR_YI_RADICALS ) );
+                    break;
+                case UBLOCK_HANGUL_SYLLABLES:
+                    aAllSubsets.push_back( Subset( 0xAC00, 0xD7AF, RID_SUBSETSTR_HANGUL ) );
+                    break;
+                case UBLOCK_PRIVATE_USE_AREA:
+                    aAllSubsets.push_back( Subset( 0xE000, 0xF8FF, RID_SUBSETSTR_PRIVATE_USE_AREA ) );
+                    break;
+                case UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS:
+                    aAllSubsets.push_back( Subset( 0xF900, 0xFAFF, RID_SUBSETSTR_CJK_COMPAT_IDGRAPHS ) );
+                    break;
+                case UBLOCK_ALPHABETIC_PRESENTATION_FORMS:
+                    aAllSubsets.push_back( Subset( 0xFB00, 0xFB4F, RID_SUBSETSTR_ALPHA_PRESENTATION ) );
+                    break;
+                case UBLOCK_ARABIC_PRESENTATION_FORMS_A:
+                    aAllSubsets.push_back( Subset( 0xFB50, 0xFDFF, RID_SUBSETSTR_ARABIC_PRESENT_A ) );
+                    break;
+                case UBLOCK_COMBINING_HALF_MARKS:
+                    aAllSubsets.push_back( Subset( 0xFE20, 0xFE2F, RID_SUBSETSTR_COMBINING_HALF_MARKS ) );
+                    break;
+                case UBLOCK_CJK_COMPATIBILITY_FORMS:
+                    aAllSubsets.push_back( Subset( 0xFE30, 0xFE4F, RID_SUBSETSTR_CJK_COMPAT_FORMS ) );
+                    break;
+                case UBLOCK_SMALL_FORM_VARIANTS:
+                    aAllSubsets.push_back( Subset( 0xFE50, 0xFE6F, RID_SUBSETSTR_SMALL_FORM_VARIANTS ) );
+                    break;
+                case UBLOCK_ARABIC_PRESENTATION_FORMS_B:
+                    aAllSubsets.push_back( Subset( 0xFE70, 0xFEFF, RID_SUBSETSTR_ARABIC_PRESENT_B ) );
+                    break;
+                case UBLOCK_SPECIALS:
+                    aAllSubsets.push_back( Subset( 0xFFF0, 0xFFFF, RID_SUBSETSTR_SPECIALS ) );
+                    break;
+                case UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS:
+                    aAllSubsets.push_back( Subset( 0xFF00, 0xFFEF, RID_SUBSETSTR_HALFW_FULLW_FORMS ) );
+                    break;
+                case UBLOCK_OLD_ITALIC:
+                    aAllSubsets.push_back( Subset( 0x10300, 0x1032F, RID_SUBSETSTR_OLD_ITALIC ) );
+                    break;
+                case UBLOCK_GOTHIC:
+                    aAllSubsets.push_back( Subset( 0x10330, 0x1034F, RID_SUBSETSTR_GOTHIC ) );
+                    break;
+                case UBLOCK_DESERET:
+                    aAllSubsets.push_back( Subset( 0x10400, 0x1044F, RID_SUBSETSTR_DESERET ) );
+                    break;
+                case UBLOCK_BYZANTINE_MUSICAL_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x1D000, 0x1D0FF, RID_SUBSETSTR_BYZANTINE_MUSICAL_SYMBOLS ) );
+                    break;
+                case UBLOCK_MUSICAL_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x1D100, 0x1D1FF, RID_SUBSETSTR_MUSICAL_SYMBOLS ) );
+                    break;
+                case UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x1D400, 0x1D7FF, RID_SUBSETSTR_MATHEMATICAL_ALPHANUMERIC_SYMBOLS ) );
+                    break;
+                case UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B:
+                    aAllSubsets.push_back( Subset( 0x20000, 0x2A6DF, RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B ) );
+                    break;
+                case UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset( 0x2F800, 0x2FA1F, RID_SUBSETSTR_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT ) );
+                    break;
+                case UBLOCK_TAGS:
+                    aAllSubsets.push_back( Subset( 0xE0000, 0xE007F, RID_SUBSETSTR_TAGS ) );
+                    break;
+                case UBLOCK_CYRILLIC_SUPPLEMENTARY:
+                    aAllSubsets.push_back( Subset( 0x0500, 0x052F, RID_SUBSETSTR_CYRILLIC_SUPPLEMENTARY ) );
+                    break;
+                case UBLOCK_TAGALOG:
+                    aAllSubsets.push_back( Subset( 0x1700, 0x171F, RID_SUBSETSTR_TAGALOG ) );
+                    break;
+                case UBLOCK_HANUNOO:
+                    aAllSubsets.push_back( Subset( 0x1720, 0x173F, RID_SUBSETSTR_HANUNOO ) );
+                    break;
+                case UBLOCK_BUHID:
+                    aAllSubsets.push_back( Subset( 0x1740, 0x175F, RID_SUBSETSTR_BUHID ) );
+                    break;
+                case UBLOCK_TAGBANWA:
+                    aAllSubsets.push_back( Subset( 0x1760, 0x177F, RID_SUBSETSTR_TAGBANWA ) );
+                    break;
+                case UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A:
+                    aAllSubsets.push_back( Subset( 0x27C0, 0x27EF, RID_SUBSETSTR_MISC_MATH_SYMS_A ) );
+                    break;
+                case UBLOCK_SUPPLEMENTAL_ARROWS_A:
+                    aAllSubsets.push_back( Subset( 0x27F0, 0x27FF, RID_SUBSETSTR_SUPPL_ARROWS_A ) );
+                    break;
+                case UBLOCK_SUPPLEMENTAL_ARROWS_B:
+                    aAllSubsets.push_back( Subset( 0x2900, 0x297F, RID_SUBSETSTR_SUPPL_ARROWS_B ) );
+                    break;
+                case UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B:
+                    aAllSubsets.push_back( Subset( 0x2980, 0x29FF, RID_SUBSETSTR_MISC_MATH_SYMS_B ) );
+                    break;
+                case UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS:
+                    aAllSubsets.push_back( Subset( 0x2A00, 0x2AFF, RID_SUBSETSTR_MISC_MATH_SYMS_B ) );
+                    break;
+                case UBLOCK_KATAKANA_PHONETIC_EXTENSIONS:
+                    aAllSubsets.push_back( Subset( 0x31F0, 0x31FF, RID_SUBSETSTR_KATAKANA_PHONETIC ) );
+                    break;
+                case UBLOCK_VARIATION_SELECTORS:
+                    aAllSubsets.push_back( Subset( 0xFE00, 0xFE0F, RID_SUBSETSTR_VARIATION_SELECTORS ) );
+                    break;
+                case UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A:
+                    aAllSubsets.push_back( Subset( 0xF0000, 0xFFFFF, RID_SUBSETSTR_SUPPLEMENTARY_PRIVATE_USE_AREA_A ) );
+                    break;
+                case UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B:
+                    aAllSubsets.push_back( Subset( 0x100000, 0x10FFFF, RID_SUBSETSTR_SUPPLEMENTARY_PRIVATE_USE_AREA_B ) );
+                    break;
+                case UBLOCK_LIMBU:
+                    aAllSubsets.push_back( Subset( 0x1900, 0x194F, RID_SUBSETSTR_LIMBU ) );
+                    break;
+                case UBLOCK_TAI_LE:
+                    aAllSubsets.push_back( Subset( 0x1950, 0x197F, RID_SUBSETSTR_TAI_LE ) );
+                    break;
+                case UBLOCK_KHMER_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x19E0, 0x19FF, RID_SUBSETSTR_KHMER_SYMBOLS ) );
+                    break;
+                case UBLOCK_PHONETIC_EXTENSIONS:
+                    aAllSubsets.push_back( Subset( 0x1D00, 0x1D7F, RID_SUBSETSTR_PHONETIC_EXTENSIONS ) );
+                    break;
+                case UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS:
+                    aAllSubsets.push_back( Subset( 0x2B00, 0x2BFF, RID_SUBSETSTR_MISCELLANEOUS_SYMBOLS_AND_ARROWS ) );
+                    break;
+                case UBLOCK_YIJING_HEXAGRAM_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x4DC0, 0x4DFF, RID_SUBSETSTR_YIJING_HEXAGRAM_SYMBOLS ) );
+                    break;
+                case UBLOCK_LINEAR_B_SYLLABARY:
+                    aAllSubsets.push_back( Subset( 0x10000, 0x1007F, RID_SUBSETSTR_LINEAR_B_SYLLABARY ) );
+                    break;
+                case UBLOCK_LINEAR_B_IDEOGRAMS:
+                    aAllSubsets.push_back( Subset( 0x10080, 0x100FF, RID_SUBSETSTR_LINEAR_B_IDEOGRAMS ) );
+                    break;
+                case UBLOCK_AEGEAN_NUMBERS:
+                    aAllSubsets.push_back( Subset( 0x10100, 0x1013F, RID_SUBSETSTR_AEGEAN_NUMBERS ) );
+                    break;
+                case UBLOCK_UGARITIC:
+                    aAllSubsets.push_back( Subset( 0x10380, 0x1039F, RID_SUBSETSTR_UGARITIC ) );
+                    break;
+                case UBLOCK_SHAVIAN:
+                    aAllSubsets.push_back( Subset( 0x10450, 0x1047F, RID_SUBSETSTR_SHAVIAN ) );
+                    break;
+                case UBLOCK_OSMANYA:
+                    aAllSubsets.push_back( Subset( 0x10480, 0x104AF, RID_SUBSETSTR_OSMANYA ) );
+                    break;
+                case UBLOCK_CYPRIOT_SYLLABARY:
+                    aAllSubsets.push_back( Subset( 0x10800, 0x1083F, RID_SUBSETSTR_CYPRIOT_SYLLABARY ) );
+                    break;
+                case UBLOCK_TAI_XUAN_JING_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x1D300, 0x1D35F, RID_SUBSETSTR_TAI_XUAN_JING_SYMBOLS ) );
+                    break;
+                case UBLOCK_VARIATION_SELECTORS_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset( 0xE0100, 0xE01EF, RID_SUBSETSTR_VARIATION_SELECTORS_SUPPLEMENT ) );
+                    break;
+                case UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION:
+                    aAllSubsets.push_back( Subset(0x1D200, 0x1D24F, RID_SUBSETSTR_ANCIENT_GREEK_MUSICAL_NOTATION ) );
+                    break;
+                case UBLOCK_ANCIENT_GREEK_NUMBERS:
+                    aAllSubsets.push_back( Subset(0x10140, 0x1018F , RID_SUBSETSTR_ANCIENT_GREEK_NUMBERS ) );
+                    break;
+                case UBLOCK_ARABIC_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset(0x0750, 0x077F , RID_SUBSETSTR_ARABIC_SUPPLEMENT ) );
+                    break;
+                case UBLOCK_BUGINESE:
+                    aAllSubsets.push_back( Subset(0x1A00, 0x1A1F , RID_SUBSETSTR_BUGINESE ) );
+                    break;
+                case UBLOCK_CJK_STROKES:
+                    aAllSubsets.push_back( Subset( 0x31C0, 0x31EF, RID_SUBSETSTR_CJK_STROKES ) );
+                    break;
+                case UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset( 0x1DC0, 0x1DFF , RID_SUBSETSTR_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT ) );
+                    break;
+                case UBLOCK_COPTIC:
+                    aAllSubsets.push_back( Subset( 0x2C80, 0x2CFF , RID_SUBSETSTR_COPTIC ) );
+                    break;
+                case UBLOCK_ETHIOPIC_EXTENDED:
+                    aAllSubsets.push_back( Subset( 0x2D80, 0x2DDF , RID_SUBSETSTR_ETHIOPIC_EXTENDED ) );
+                    break;
+                case UBLOCK_ETHIOPIC_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset( 0x1380, 0x139F, RID_SUBSETSTR_ETHIOPIC_SUPPLEMENT ) );
+                    break;
+                case UBLOCK_GEORGIAN_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset( 0x2D00, 0x2D2F, RID_SUBSETSTR_GEORGIAN_SUPPLEMENT ) );
+                    break;
+                case UBLOCK_GLAGOLITIC:
+                    aAllSubsets.push_back( Subset( 0x2C00, 0x2C5F, RID_SUBSETSTR_GLAGOLITIC ) );
+                    break;
+                case UBLOCK_KHAROSHTHI:
+                    aAllSubsets.push_back( Subset( 0x10A00, 0x10A5F, RID_SUBSETSTR_KHAROSHTHI ) );
+                    break;
+                case UBLOCK_MODIFIER_TONE_LETTERS:
+                    aAllSubsets.push_back( Subset( 0xA700, 0xA71F, RID_SUBSETSTR_MODIFIER_TONE_LETTERS ) );
+                    break;
+                case UBLOCK_NEW_TAI_LUE:
+                    aAllSubsets.push_back( Subset( 0x1980, 0x19DF, RID_SUBSETSTR_NEW_TAI_LUE ) );
+                    break;
+                case UBLOCK_OLD_PERSIAN:
+                    aAllSubsets.push_back( Subset( 0x103A0, 0x103DF, RID_SUBSETSTR_OLD_PERSIAN ) );
+                    break;
+                case UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset( 0x1D80, 0x1DBF, RID_SUBSETSTR_PHONETIC_EXTENSIONS_SUPPLEMENT ) );
+                    break;
+                case UBLOCK_SUPPLEMENTAL_PUNCTUATION:
+                    aAllSubsets.push_back( Subset( 0x2E00, 0x2E7F, RID_SUBSETSTR_SUPPLEMENTAL_PUNCTUATION ) );
+                    break;
+                case UBLOCK_SYLOTI_NAGRI:
+                    aAllSubsets.push_back( Subset( 0xA800, 0xA82F, RID_SUBSETSTR_SYLOTI_NAGRI ) );
+                    break;
+                case UBLOCK_TIFINAGH:
+                    aAllSubsets.push_back( Subset( 0x2D30, 0x2D7F, RID_SUBSETSTR_TIFINAGH ) );
+                    break;
+                case UBLOCK_VERTICAL_FORMS:
+                    aAllSubsets.push_back( Subset( 0xFE10, 0xFE1F, RID_SUBSETSTR_VERTICAL_FORMS ) );
+                    break;
+                case UBLOCK_NKO:
+                    aAllSubsets.push_back( Subset( 0x07C0, 0x07FF, RID_SUBSETSTR_NKO ) );
+                    break;
+                case UBLOCK_BALINESE:
+                    aAllSubsets.push_back( Subset( 0x1B00, 0x1B7F, RID_SUBSETSTR_BALINESE ) );
+                    break;
+                case UBLOCK_LATIN_EXTENDED_C:
+                    aAllSubsets.push_back( Subset( 0x2C60, 0x2C7F, RID_SUBSETSTR_LATIN_EXTENDED_C ) );
+                    break;
+                case UBLOCK_LATIN_EXTENDED_D:
+                    aAllSubsets.push_back( Subset( 0xA720, 0xA7FF, RID_SUBSETSTR_LATIN_EXTENDED_D ) );
+                    break;
+                case UBLOCK_PHAGS_PA:
+                    aAllSubsets.push_back( Subset( 0xA840, 0xA87F, RID_SUBSETSTR_PHAGS_PA ) );
+                    break;
+                case UBLOCK_PHOENICIAN:
+                    aAllSubsets.push_back( Subset( 0x10900, 0x1091F, RID_SUBSETSTR_PHOENICIAN ) );
+                    break;
+                case UBLOCK_CUNEIFORM:
+                    aAllSubsets.push_back( Subset( 0x12000, 0x123FF, RID_SUBSETSTR_CUNEIFORM ) );
+                    break;
+                case UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION:
+                    aAllSubsets.push_back( Subset( 0x12400, 0x1247F, RID_SUBSETSTR_CUNEIFORM_NUMBERS_AND_PUNCTUATION ) );
+                    break;
+                case UBLOCK_COUNTING_ROD_NUMERALS:
+                    aAllSubsets.push_back( Subset( 0x1D360, 0x1D37F, RID_SUBSETSTR_COUNTING_ROD_NUMERALS ) );
+                    break;
+                case UBLOCK_SUNDANESE:
+                    aAllSubsets.push_back( Subset( 0x1B80, 0x1BBF, RID_SUBSETSTR_SUNDANESE ) );
+                    break;
+                case UBLOCK_LEPCHA:
+                    aAllSubsets.push_back( Subset( 0x1C00, 0x1C4F, RID_SUBSETSTR_LEPCHA ) );
+                    break;
+                case UBLOCK_OL_CHIKI:
+                    aAllSubsets.push_back( Subset( 0x1C50, 0x1C7F, RID_SUBSETSTR_OL_CHIKI ) );
+                    break;
+                case UBLOCK_CYRILLIC_EXTENDED_A:
+                    aAllSubsets.push_back( Subset( 0x2DE0, 0x2DFF, RID_SUBSETSTR_CYRILLIC_EXTENDED_A ) );
+                    break;
+                case UBLOCK_VAI:
+                    aAllSubsets.push_back( Subset( 0xA500, 0xA63F, RID_SUBSETSTR_VAI ) );
+                    break;
+                case UBLOCK_CYRILLIC_EXTENDED_B:
+                    aAllSubsets.push_back( Subset( 0xA640, 0xA69F, RID_SUBSETSTR_CYRILLIC_EXTENDED_B ) );
+                    break;
+                case UBLOCK_SAURASHTRA:
+                    aAllSubsets.push_back( Subset( 0xA880, 0xA8DF, RID_SUBSETSTR_SAURASHTRA ) );
+                    break;
+                case UBLOCK_KAYAH_LI:
+                    aAllSubsets.push_back( Subset( 0xA900, 0xA92F, RID_SUBSETSTR_KAYAH_LI ) );
+                    break;
+                case UBLOCK_REJANG:
+                    aAllSubsets.push_back( Subset( 0xA930, 0xA95F, RID_SUBSETSTR_REJANG ) );
+                    break;
+                case UBLOCK_CHAM:
+                    aAllSubsets.push_back( Subset( 0xAA00, 0xAA5F, RID_SUBSETSTR_CHAM ) );
+                    break;
+                case UBLOCK_ANCIENT_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x10190, 0x101CF, RID_SUBSETSTR_ANCIENT_SYMBOLS ) );
+                    break;
+                case UBLOCK_PHAISTOS_DISC:
+                    aAllSubsets.push_back( Subset( 0x101D0, 0x101FF, RID_SUBSETSTR_PHAISTOS_DISC ) );
+                    break;
+                case UBLOCK_LYCIAN:
+                    aAllSubsets.push_back( Subset( 0x10280, 0x1029F, RID_SUBSETSTR_LYCIAN ) );
+                    break;
+                case UBLOCK_CARIAN:
+                    aAllSubsets.push_back( Subset( 0x102A0, 0x102DF, RID_SUBSETSTR_CARIAN ) );
+                    break;
+                case UBLOCK_LYDIAN:
+                    aAllSubsets.push_back( Subset( 0x10920, 0x1093F, RID_SUBSETSTR_LYDIAN ) );
+                    break;
+                case UBLOCK_MAHJONG_TILES:
+                    aAllSubsets.push_back( Subset( 0x1F000, 0x1F02F, RID_SUBSETSTR_MAHJONG_TILES ) );
+                    break;
+                case UBLOCK_DOMINO_TILES:
+                    aAllSubsets.push_back( Subset( 0x1F030, 0x1F09F, RID_SUBSETSTR_DOMINO_TILES ) );
+                    break;
+                case UBLOCK_SAMARITAN:
+                    aAllSubsets.push_back( Subset( 0x0800, 0x083F, RID_SUBSETSTR_SAMARITAN ) );
+                    break;
+                case UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED:
+                    aAllSubsets.push_back( Subset( 0x18B0, 0x18FF, RID_SUBSETSTR_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED ) );
+                    break;
+                case UBLOCK_TAI_THAM:
+                    aAllSubsets.push_back( Subset( 0x1A20, 0x1AAF, RID_SUBSETSTR_TAI_THAM ) );
+                    break;
+                case UBLOCK_VEDIC_EXTENSIONS:
+                    aAllSubsets.push_back( Subset( 0x1CD0, 0x1CFF, RID_SUBSETSTR_VEDIC_EXTENSIONS ) );
+                    break;
+                case UBLOCK_LISU:
+                    aAllSubsets.push_back( Subset( 0xA4D0, 0xA4FF, RID_SUBSETSTR_LISU ) );
+                    break;
+                case UBLOCK_BAMUM:
+                    aAllSubsets.push_back( Subset( 0xA6A0, 0xA6FF, RID_SUBSETSTR_BAMUM ) );
+                    break;
+                case UBLOCK_COMMON_INDIC_NUMBER_FORMS:
+                    aAllSubsets.push_back( Subset( 0xA830, 0xA83F, RID_SUBSETSTR_COMMON_INDIC_NUMBER_FORMS ) );
+                    break;
+                case UBLOCK_DEVANAGARI_EXTENDED:
+                    aAllSubsets.push_back( Subset( 0xA8E0, 0xA8FF, RID_SUBSETSTR_DEVANAGARI_EXTENDED ) );
+                    break;
+                case UBLOCK_HANGUL_JAMO_EXTENDED_A:
+                    aAllSubsets.push_back( Subset( 0xA960, 0xA97F, RID_SUBSETSTR_HANGUL_JAMO_EXTENDED_A ) );
+                    break;
+                case UBLOCK_JAVANESE:
+                    aAllSubsets.push_back( Subset( 0xA980, 0xA9DF, RID_SUBSETSTR_JAVANESE ) );
+                    break;
+                case UBLOCK_MYANMAR_EXTENDED_A:
+                    aAllSubsets.push_back( Subset( 0xAA60, 0xAA7F, RID_SUBSETSTR_MYANMAR_EXTENDED_A ) );
+                    break;
+                case UBLOCK_TAI_VIET:
+                    aAllSubsets.push_back( Subset( 0xAA80, 0xAADF, RID_SUBSETSTR_TAI_VIET ) );
+                    break;
+                case UBLOCK_MEETEI_MAYEK:
+                    aAllSubsets.push_back( Subset( 0xABC0, 0xABFF, RID_SUBSETSTR_MEETEI_MAYEK ) );
+                    break;
+                case UBLOCK_HANGUL_JAMO_EXTENDED_B:
+                    aAllSubsets.push_back( Subset( 0xD7B0, 0xD7FF, RID_SUBSETSTR_HANGUL_JAMO_EXTENDED_B ) );
+                    break;
+                case UBLOCK_IMPERIAL_ARAMAIC:
+                    aAllSubsets.push_back( Subset( 0x10840, 0x1085F, RID_SUBSETSTR_IMPERIAL_ARAMAIC ) );
+                    break;
+                case UBLOCK_OLD_SOUTH_ARABIAN:
+                    aAllSubsets.push_back( Subset( 0x10A60, 0x10A7F, RID_SUBSETSTR_OLD_SOUTH_ARABIAN ) );
+                    break;
+                case UBLOCK_AVESTAN:
+                    aAllSubsets.push_back( Subset( 0x10B00, 0x10B3F, RID_SUBSETSTR_AVESTAN ) );
+                    break;
+                case UBLOCK_INSCRIPTIONAL_PARTHIAN:
+                    aAllSubsets.push_back( Subset( 0x10B40, 0x10B5F, RID_SUBSETSTR_INSCRIPTIONAL_PARTHIAN ) );
+                    break;
+                case UBLOCK_INSCRIPTIONAL_PAHLAVI:
+                    aAllSubsets.push_back( Subset( 0x10B60, 0x10B7F, RID_SUBSETSTR_INSCRIPTIONAL_PAHLAVI ) );
+                    break;
+                case UBLOCK_OLD_TURKIC:
+                    aAllSubsets.push_back( Subset( 0x10C00, 0x10C4F, RID_SUBSETSTR_OLD_TURKIC ) );
+                    break;
+                case UBLOCK_RUMI_NUMERAL_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x10E60, 0x10E7F, RID_SUBSETSTR_RUMI_NUMERAL_SYMBOLS ) );
+                    break;
+                case UBLOCK_KAITHI:
+                    aAllSubsets.push_back( Subset( 0x11080, 0x110CF, RID_SUBSETSTR_KAITHI ) );
+                    break;
+                case UBLOCK_EGYPTIAN_HIEROGLYPHS:
+                    aAllSubsets.push_back( Subset( 0x13000, 0x1342F, RID_SUBSETSTR_EGYPTIAN_HIEROGLYPHS ) );
+                    break;
+                case UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset( 0x1F100, 0x1F1FF, RID_SUBSETSTR_ENCLOSED_ALPHANUMERIC_SUPPLEMENT ) );
+                    break;
+                case UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset( 0x1F200, 0x1F2FF, RID_SUBSETSTR_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT ) );
+                    break;
+                case UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C:
+                    aAllSubsets.push_back( Subset( 0x2A700, 0x2B73F, RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C ) );
+                    break;
+                case UBLOCK_MANDAIC:
+                    aAllSubsets.push_back( Subset( 0x0840, 0x085F, RID_SUBSETSTR_MANDAIC ) );
+                    break;
+                case UBLOCK_BATAK:
+                    aAllSubsets.push_back( Subset( 0x1BC0, 0x1BFF, RID_SUBSETSTR_BATAK ) );
+                    break;
+                case UBLOCK_ETHIOPIC_EXTENDED_A:
+                    aAllSubsets.push_back( Subset( 0xAB00, 0xAB2F, RID_SUBSETSTR_ETHIOPIC_EXTENDED_A ) );
+                    break;
+                case UBLOCK_BRAHMI:
+                    aAllSubsets.push_back( Subset( 0x11000, 0x1107F, RID_SUBSETSTR_BRAHMI ) );
+                    break;
+                case UBLOCK_BAMUM_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset( 0x16800, 0x16A3F, RID_SUBSETSTR_BAMUM_SUPPLEMENT ) );
+                    break;
+                case UBLOCK_KANA_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset( 0x1B000, 0x1B0FF, RID_SUBSETSTR_KANA_SUPPLEMENT ) );
+                    break;
+                case UBLOCK_PLAYING_CARDS:
+                    aAllSubsets.push_back( Subset( 0x1F0A0, 0x1F0FF, RID_SUBSETSTR_PLAYING_CARDS ) );
+                    break;
+                case UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS:
+                    aAllSubsets.push_back( Subset( 0x1F300, 0x1F5FF, RID_SUBSETSTR_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS ) );
+                    break;
+                case UBLOCK_EMOTICONS:
+                    aAllSubsets.push_back( Subset( 0x1F600, 0x1F64F, RID_SUBSETSTR_EMOTICONS ) );
+                    break;
+                case UBLOCK_TRANSPORT_AND_MAP_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x1F680, 0x1F6FF, RID_SUBSETSTR_TRANSPORT_AND_MAP_SYMBOLS ) );
+                    break;
+                case UBLOCK_ALCHEMICAL_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x1F700, 0x1F77F, RID_SUBSETSTR_ALCHEMICAL_SYMBOLS ) );
+                    break;
+                case UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D:
+                    aAllSubsets.push_back( Subset( 0x2B740, 0x2B81F, RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D ) );
+                    break;
+                case UBLOCK_ARABIC_EXTENDED_A:
+                    aAllSubsets.push_back( Subset( 0x08A0, 0x08FF, RID_SUBSETSTR_ARABIC_EXTENDED_A ) );
+                    break;
+                case UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS:
+                    aAllSubsets.push_back( Subset( 0x1EE00, 0x1EEFF, RID_SUBSETSTR_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS ) );
+                    break;
+                case UBLOCK_CHAKMA:
+                    aAllSubsets.push_back( Subset( 0x11100, 0x1114F, RID_SUBSETSTR_CHAKMA ) );
+                    break;
+                case UBLOCK_MEETEI_MAYEK_EXTENSIONS:
+                    aAllSubsets.push_back( Subset( 0xAAE0, 0xAAFF, RID_SUBSETSTR_MEETEI_MAYEK_EXTENSIONS ) );
+                    break;
+                case UBLOCK_MEROITIC_CURSIVE:
+                    aAllSubsets.push_back( Subset( 0x109A0, 0x109FF, RID_SUBSETSTR_MEROITIC_CURSIVE ) );
+                    break;
+                case UBLOCK_MEROITIC_HIEROGLYPHS:
+                    aAllSubsets.push_back( Subset( 0x10980, 0x1099F, RID_SUBSETSTR_MEROITIC_HIEROGLYPHS ) );
+                    break;
+                case UBLOCK_MIAO:
+                    aAllSubsets.push_back( Subset( 0x16F00, 0x16F9F, RID_SUBSETSTR_MIAO ) );
+                    break;
+                case UBLOCK_SHARADA:
+                    aAllSubsets.push_back( Subset( 0x11180, 0x111DF, RID_SUBSETSTR_SHARADA ) );
+                    break;
+                case UBLOCK_SORA_SOMPENG:
+                    aAllSubsets.push_back( Subset( 0x110D0, 0x110FF, RID_SUBSETSTR_SORA_SOMPENG ) );
+                    break;
+                case UBLOCK_SUNDANESE_SUPPLEMENT:
+                    aAllSubsets.push_back( Subset( 0x1CC0, 0x1CCF, RID_SUBSETSTR_SUNDANESE_SUPPLEMENT ) );
+                    break;
+                case UBLOCK_TAKRI:
+                    aAllSubsets.push_back( Subset( 0x11680, 0x116CF, RID_SUBSETSTR_TAKRI ) );
+                    break;
+            }
+
+#if OSL_DEBUG_LEVEL > 0
+            if (eBlock != UBLOCK_NO_BLOCK &&
+                eBlock != UBLOCK_INVALID_CODE &&
+                eBlock != UBLOCK_COUNT &&
+                eBlock != UBLOCK_HIGH_SURROGATES &&
+                eBlock != UBLOCK_HIGH_PRIVATE_USE_SURROGATES &&
+                eBlock != UBLOCK_LOW_SURROGATES)
+
+            {
+                UBlockCode eBlockStart = ublock_getCode(aAllSubsets.back().GetRangeMin());
+                UBlockCode eBlockEnd = ublock_getCode(aAllSubsets.back().GetRangeMax());
+                assert(eBlockStart == eBlockEnd && eBlockStart == eBlock);
+            }
+#endif
+        }
 
-        // TODO: eventually merge or split unicode subranges
-        //       a "native writer" should decide for his subsets
-        aAllSubsets.push_back( Subset( 0x0020, 0x007F, RID_SUBSETSTR_BASIC_LATIN ) );
-        aAllSubsets.push_back( Subset( 0x0080, 0x00FF, RID_SUBSETSTR_LATIN_1 ) );
-        aAllSubsets.push_back( Subset( 0x0100, 0x017F, RID_SUBSETSTR_LATIN_EXTENDED_A ) );
-        aAllSubsets.push_back( Subset( 0x0180, 0x024F, RID_SUBSETSTR_LATIN_EXTENDED_B ) );
-        aAllSubsets.push_back( Subset( 0x0250, 0x02AF, RID_SUBSETSTR_IPA_EXTENSIONS ) );
-        aAllSubsets.push_back( Subset( 0x02B0, 0x02FF, RID_SUBSETSTR_SPACING_MODIFIERS ) );
-        aAllSubsets.push_back( Subset( 0x0300, 0x036F, RID_SUBSETSTR_COMB_DIACRITICAL ) );
-        aAllSubsets.push_back( Subset( 0x0370, 0x03FF, RID_SUBSETSTR_BASIC_GREEK ) );
-        aAllSubsets.push_back( Subset( 0x0400, 0x04FF, RID_SUBSETSTR_CYRILLIC ) );
-        aAllSubsets.push_back( Subset( 0x0530, 0x058F, RID_SUBSETSTR_ARMENIAN ) );
-        aAllSubsets.push_back( Subset( 0x0590, 0x05FF, RID_SUBSETSTR_BASIC_HEBREW ) );
-        aAllSubsets.push_back( Subset( 0x0600, 0x065F, RID_SUBSETSTR_BASIC_ARABIC ) );
-        aAllSubsets.push_back( Subset( 0x0660, 0x06FF, RID_SUBSETSTR_ARABIC_EXTENDED ) );
-        aAllSubsets.push_back( Subset( 0x0700, 0x074F, RID_SUBSETSTR_SYRIAC ) );
-        aAllSubsets.push_back( Subset( 0x0780, 0x07BF, RID_SUBSETSTR_THAANA ) );
-        aAllSubsets.push_back( Subset( 0x0900, 0x097F, RID_SUBSETSTR_DEVANAGARI ) );
-        aAllSubsets.push_back( Subset( 0x0980, 0x09FF, RID_SUBSETSTR_BENGALI ) );
-        aAllSubsets.push_back( Subset( 0x0A00, 0x0A7F, RID_SUBSETSTR_GURMUKHI ) );
-        aAllSubsets.push_back( Subset( 0x0A80, 0x0AFF, RID_SUBSETSTR_GUJARATI ) );
-        aAllSubsets.push_back( Subset( 0x0B00, 0x0B7F, RID_SUBSETSTR_ORIYA ) );
-        aAllSubsets.push_back( Subset( 0x0B80, 0x0BFF, RID_SUBSETSTR_TAMIL ) );
-        aAllSubsets.push_back( Subset( 0x0C00, 0x0C7F, RID_SUBSETSTR_TELUGU ) );
-        aAllSubsets.push_back( Subset( 0x0C80, 0x0CFF, RID_SUBSETSTR_KANNADA ) );
-        aAllSubsets.push_back( Subset( 0x0D00, 0x0D7F, RID_SUBSETSTR_MALAYALAM ) );
-        aAllSubsets.push_back( Subset( 0x0D80, 0x0DFF, RID_SUBSETSTR_SINHALA ) );
-        aAllSubsets.push_back( Subset( 0x0E00, 0x0E7F, RID_SUBSETSTR_THAI ) );
-        aAllSubsets.push_back( Subset( 0x0E80, 0x0EFF, RID_SUBSETSTR_LAO ) );
-        aAllSubsets.push_back( Subset( 0x0F00, 0x0FBF, RID_SUBSETSTR_TIBETAN ) );
-        aAllSubsets.push_back( Subset( 0x1000, 0x109F, RID_SUBSETSTR_MYANMAR ) );
-        aAllSubsets.push_back( Subset( 0x10A0, 0x10FF, RID_SUBSETSTR_BASIC_GEORGIAN ) );
-    //  aAllSubsets.push_back( Subset( 0x10A0, 0x10C5, RID_SUBSETSTR_GEORGIAN_EXTENDED ) );
-        aAllSubsets.push_back( Subset( 0x1100, 0x11FF, RID_SUBSETSTR_HANGUL_JAMO ) );
-        aAllSubsets.push_back( Subset( 0x1200, 0x137F, RID_SUBSETSTR_ETHIOPIC ) );
-        aAllSubsets.push_back( Subset( 0x13A0, 0x13FF, RID_SUBSETSTR_CHEROKEE ) );
-        aAllSubsets.push_back( Subset( 0x1400, 0x167F, RID_SUBSETSTR_CANADIAN_ABORIGINAL ) );
-        aAllSubsets.push_back( Subset( 0x1680, 0x169F, RID_SUBSETSTR_OGHAM ) );
-        aAllSubsets.push_back( Subset( 0x16A0, 0x16F0, RID_SUBSETSTR_RUNIC ) );
-        aAllSubsets.push_back( Subset( 0x1700, 0x171F, RID_SUBSETSTR_TAGALOG ) );
-        aAllSubsets.push_back( Subset( 0x1720, 0x173F, RID_SUBSETSTR_HANUNOO ) );
-        aAllSubsets.push_back( Subset( 0x1740, 0x175F, RID_SUBSETSTR_BUHID ) );
-        aAllSubsets.push_back( Subset( 0x1760, 0x177F, RID_SUBSETSTR_TAGBANWA ) );
-        aAllSubsets.push_back( Subset( 0x1780, 0x17FF, RID_SUBSETSTR_KHMER ) );
-        aAllSubsets.push_back( Subset( 0x1800, 0x18AF, RID_SUBSETSTR_MONGOLIAN ) );
-        aAllSubsets.push_back( Subset( 0x1E00, 0x1EFF, RID_SUBSETSTR_LATIN_EXTENDED_ADDS ) );
-        aAllSubsets.push_back( Subset( 0x1F00, 0x1FFF, RID_SUBSETSTR_GREEK_EXTENDED ) );
-
-        aAllSubsets.push_back( Subset( 0x2000, 0x206F, RID_SUBSETSTR_GENERAL_PUNCTUATION ) );
-        aAllSubsets.push_back( Subset( 0x2070, 0x209F, RID_SUBSETSTR_SUB_SUPER_SCRIPTS ) );
-        aAllSubsets.push_back( Subset( 0x20A0, 0x20CF, RID_SUBSETSTR_CURRENCY_SYMBOLS ) );
-        aAllSubsets.push_back( Subset( 0x20D0, 0x20FF, RID_SUBSETSTR_COMB_DIACRITIC_SYMS ) );
-        aAllSubsets.push_back( Subset( 0x2100, 0x214F, RID_SUBSETSTR_LETTERLIKE_SYMBOLS ) );
-        aAllSubsets.push_back( Subset( 0x2150, 0x218F, RID_SUBSETSTR_NUMBER_FORMS ) );
-        aAllSubsets.push_back( Subset( 0x2190, 0x21FF, RID_SUBSETSTR_ARROWS ) );
-        aAllSubsets.push_back( Subset( 0x2200, 0x22FF, RID_SUBSETSTR_MATH_OPERATORS ) );
-        aAllSubsets.push_back( Subset( 0x2300, 0x23FF, RID_SUBSETSTR_MISC_TECHNICAL ) );
-        aAllSubsets.push_back( Subset( 0x2400, 0x243F, RID_SUBSETSTR_CONTROL_PICTURES ) );
-        aAllSubsets.push_back( Subset( 0x2440, 0x245F, RID_SUBSETSTR_OPTICAL_CHAR_REC ) );
-        aAllSubsets.push_back( Subset( 0x2460, 0x24FF, RID_SUBSETSTR_ENCLOSED_ALPHANUM ) );
-        aAllSubsets.push_back( Subset( 0x2500, 0x257F, RID_SUBSETSTR_BOX_DRAWING ) );
-        aAllSubsets.push_back( Subset( 0x2580, 0x259F, RID_SUBSETSTR_BLOCK_ELEMENTS ) );
-        aAllSubsets.push_back( Subset( 0x25A0, 0x25FF, RID_SUBSETSTR_GEOMETRIC_SHAPES ) );
-        aAllSubsets.push_back( Subset( 0x2600, 0x26FF, RID_SUBSETSTR_MISC_DINGBATS ) );
-        aAllSubsets.push_back( Subset( 0x2700, 0x27BF, RID_SUBSETSTR_DINGBATS ) );
-
-        aAllSubsets.push_back( Subset( 0x27C0, 0x27FF, RID_SUBSETSTR_MISC_MATH_SYMS_A ) );
-        aAllSubsets.push_back( Subset( 0x27F0, 0x27FF, RID_SUBSETSTR_SUPPL_ARROWS_A ) );
-        aAllSubsets.push_back( Subset( 0x2800, 0x28FF, RID_SUBSETSTR_BRAILLE_PATTERNS ) );
-        aAllSubsets.push_back( Subset( 0x2900, 0x297F, RID_SUBSETSTR_SUPPL_ARROWS_B ) );
-        aAllSubsets.push_back( Subset( 0x2980, 0x29FF, RID_SUBSETSTR_MISC_MATH_SYMS_B ) );
-        aAllSubsets.push_back( Subset( 0x2E80, 0x2EFF, RID_SUBSETSTR_CJK_RADICAL_SUPPL ) );
-        aAllSubsets.push_back( Subset( 0x2F00, 0x2FDF, RID_SUBSETSTR_KANGXI_RADICALS ) );
-        aAllSubsets.push_back( Subset( 0x2FF0, 0x2FFF, RID_SUBSETSTR_IDEO_DESC_CHARS ) );
-
-        aAllSubsets.push_back( Subset( 0x3000, 0x303F, RID_SUBSETSTR_CJK_SYMS_PUNCTUATION ) );
-        aAllSubsets.push_back( Subset( 0x3040, 0x309F, RID_SUBSETSTR_HIRAGANA ) );
-        aAllSubsets.push_back( Subset( 0x30A0, 0x30FF, RID_SUBSETSTR_KATAKANA ) );
-        aAllSubsets.push_back( Subset( 0x3100, 0x312F, RID_SUBSETSTR_BOPOMOFO ) );
-        aAllSubsets.push_back( Subset( 0x3130, 0x318F, RID_SUBSETSTR_HANGUL_COMPAT_JAMO ) );
-        aAllSubsets.push_back( Subset( 0x3190, 0x319F, RID_SUBSETSTR_KANBUN ) );
-        aAllSubsets.push_back( Subset( 0x31A0, 0x31BF, RID_SUBSETSTR_BOPOMOFO_EXTENDED ) );
-        aAllSubsets.push_back( Subset( 0x31C0, 0x31EF, RID_SUBSETSTR_CJK_STROKES ) );
-        aAllSubsets.push_back( Subset( 0x31F0, 0x31FF, RID_SUBSETSTR_KATAKANA_PHONETIC ) );
-        aAllSubsets.push_back( Subset( 0x3200, 0x32FF, RID_SUBSETSTR_ENCLOSED_CJK_LETTERS ) );
-        aAllSubsets.push_back( Subset( 0x3300, 0x33FF, RID_SUBSETSTR_CJK_COMPATIBILITY ) );
-
-        aAllSubsets.push_back( Subset( 0x3400, 0x4DFF, RID_SUBSETSTR_CJK_EXT_A_UNIFIED_IDGRAPH ) );
-        aAllSubsets.push_back( Subset( 0x4E00, 0x9FA5, RID_SUBSETSTR_CJK_UNIFIED_IDGRAPH ) );
-        aAllSubsets.push_back( Subset( 0xA000, 0xA4CF, RID_SUBSETSTR_YI ) );
-        aAllSubsets.push_back( Subset( 0xAC00, 0xB097, RID_SUBSETSTR_HANGUL_GA ) );
-        aAllSubsets.push_back( Subset( 0xB098, 0xB2E3, RID_SUBSETSTR_HANGUL_NA ) );
-        aAllSubsets.push_back( Subset( 0xB2E4, 0xB77B, RID_SUBSETSTR_HANGUL_DA ) );
-        aAllSubsets.push_back( Subset( 0xB77C, 0xB9C7, RID_SUBSETSTR_HANGUL_RA ) );
-        aAllSubsets.push_back( Subset( 0xB9C8, 0xBC13, RID_SUBSETSTR_HANGUL_MA ) );
-        aAllSubsets.push_back( Subset( 0xBC14, 0xC0AB, RID_SUBSETSTR_HANGUL_BA ) );
-        aAllSubsets.push_back( Subset( 0xC0AC, 0xC543, RID_SUBSETSTR_HANGUL_SA ) );
-        aAllSubsets.push_back( Subset( 0xC544, 0xC78F, RID_SUBSETSTR_HANGUL_AH ) );
-        aAllSubsets.push_back( Subset( 0xC790, 0xCC27, RID_SUBSETSTR_HANGUL_JA ) );
-        aAllSubsets.push_back( Subset( 0xCC28, 0xCE73, RID_SUBSETSTR_HANGUL_CHA ) );
-        aAllSubsets.push_back( Subset( 0xCE74, 0xD0BF, RID_SUBSETSTR_HANGUL_KA ) );
-        aAllSubsets.push_back( Subset( 0xD0C0, 0xD30B, RID_SUBSETSTR_HANGUL_TA ) );
-        aAllSubsets.push_back( Subset( 0xD30C, 0xD557, RID_SUBSETSTR_HANGUL_PA ) );
-        aAllSubsets.push_back( Subset( 0xD558, 0xD7A3, RID_SUBSETSTR_HANGUL_HA ) );
-    //  aAllSubsets.push_back( Subset( 0xAC00, 0xD7AF, RID_SUBSETSTR_HANGUL ) );
-
-    //  aAllSubsets.push_back( Subset( 0xD800, 0xDFFF, RID_SUBSETSTR_SURROGATE ) );
-        aAllSubsets.push_back( Subset( 0xE000, 0xF8FF, RID_SUBSETSTR_PRIVATE_USE_AREA ) );
-        aAllSubsets.push_back( Subset( 0xF900, 0xFAFF, RID_SUBSETSTR_CJK_COMPAT_IDGRAPHS ) );
-        aAllSubsets.push_back( Subset( 0xFB00, 0xFB4F, RID_SUBSETSTR_ALPHA_PRESENTATION ) );
-        aAllSubsets.push_back( Subset( 0xFB50, 0xFDFF, RID_SUBSETSTR_ARABIC_PRESENT_A ) );
-        aAllSubsets.push_back( Subset( 0xFE20, 0xFE2F, RID_SUBSETSTR_COMBINING_HALF_MARKS ) );
-        aAllSubsets.push_back( Subset( 0xFE30, 0xFE4F, RID_SUBSETSTR_CJK_COMPAT_FORMS ) );
-        aAllSubsets.push_back( Subset( 0xFE50, 0xFE6F, RID_SUBSETSTR_SMALL_FORM_VARIANTS ) );
-        aAllSubsets.push_back( Subset( 0xFE70, 0xFEFF, RID_SUBSETSTR_ARABIC_PRESENT_B ) );
-        aAllSubsets.push_back( Subset( 0xFF00, 0xFFEF, RID_SUBSETSTR_HALFW_FULLW_FORMS ) );
-        aAllSubsets.push_back( Subset( 0xFFF0, 0xFFFF, RID_SUBSETSTR_SPECIALS ) );
+        aAllSubsets.sort();
     }
 
     maSubsets = aAllSubsets;
diff --git a/svx/source/dialog/ucsubset.src b/svx/source/dialog/ucsubset.src
index cfd25bc..3ecc327 100644
--- a/svx/source/dialog/ucsubset.src
+++ b/svx/source/dialog/ucsubset.src
@@ -25,482 +25,893 @@
 
 Resource RID_SUBSETMAP
 {
-String RID_SUBSETSTR_BASIC_LATIN
-{
-    Text [ en-US ] = "Basic Latin";
-    };
-String RID_SUBSETSTR_LATIN_1
-{
-    Text [ en-US ] = "Latin-1";
+    String RID_SUBSETSTR_BASIC_LATIN
+    {
+        Text [ en-US ] = "Basic Latin";
     };
-String RID_SUBSETSTR_LATIN_EXTENDED_A
-{
-    Text [ en-US ] = "Latin Extended-A";
+    String RID_SUBSETSTR_LATIN_1
+    {
+        Text [ en-US ] = "Latin-1";
     };
-String RID_SUBSETSTR_LATIN_EXTENDED_B
-{
-    Text [ en-US ] = "Latin Extended-B";
+    String RID_SUBSETSTR_LATIN_EXTENDED_A
+    {
+        Text [ en-US ] = "Latin Extended-A";
     };
-String RID_SUBSETSTR_IPA_EXTENSIONS
-{
-    Text [ en-US ] = "IPA Extensions";
+    String RID_SUBSETSTR_LATIN_EXTENDED_B
+    {
+        Text [ en-US ] = "Latin Extended-B";
     };
-String RID_SUBSETSTR_SPACING_MODIFIERS
-{
-    Text [ en-US ] = "Spacing Modifier Letters";
+    String RID_SUBSETSTR_IPA_EXTENSIONS
+    {
+        Text [ en-US ] = "IPA Extensions";
     };
-String RID_SUBSETSTR_COMB_DIACRITICAL
-{
-    Text [ en-US ] = "Combining Diacritical Marks";
+    String RID_SUBSETSTR_SPACING_MODIFIERS
+    {
+        Text [ en-US ] = "Spacing Modifier Letters";
     };
-String RID_SUBSETSTR_BASIC_GREEK
-{
-    Text [ en-US ] = "Basic Greek";
+    String RID_SUBSETSTR_COMB_DIACRITICAL
+    {
+        Text [ en-US ] = "Combining Diacritical Marks";
     };
-String RID_SUBSETSTR_GREEK_SYMS_COPTIC
-{
-    Text [ en-US ] = "Greek Symbols And Coptic";
+    String RID_SUBSETSTR_BASIC_GREEK
+    {
+        Text [ en-US ] = "Basic Greek";
     };
-String RID_SUBSETSTR_CYRILLIC
-{
-    Text [ en-US ] = "Cyrillic";
+    String RID_SUBSETSTR_GREEK_SYMS_COPTIC
+    {
+        Text [ en-US ] = "Greek Symbols And Coptic";
     };
-String RID_SUBSETSTR_CYRILLIC_SUPPL
-{
-    Text [ en-US ] = "Cyrillic Supplementary";
+    String RID_SUBSETSTR_CYRILLIC
+    {
+        Text [ en-US ] = "Cyrillic";
     };
-String RID_SUBSETSTR_ARMENIAN
-{
-    Text [ en-US ] = "Armenian";
+    String RID_SUBSETSTR_ARMENIAN
+    {
+        Text [ en-US ] = "Armenian";
     };
-String RID_SUBSETSTR_BASIC_HEBREW
-{
-    Text [ en-US ] = "Basic Hebrew";
+    String RID_SUBSETSTR_BASIC_HEBREW
+    {
+        Text [ en-US ] = "Basic Hebrew";
     };
-String RID_SUBSETSTR_HEBREW_EXTENDED
-{
-    Text [ en-US ] = "Hebrew Extended";
+    String RID_SUBSETSTR_HEBREW_EXTENDED
+    {
+        Text [ en-US ] = "Hebrew Extended";
     };
-String RID_SUBSETSTR_BASIC_ARABIC
-{
-    Text [ en-US ] = "Basic Arabic";
+    String RID_SUBSETSTR_BASIC_ARABIC
+    {
+        Text [ en-US ] = "Basic Arabic";
     };
-String RID_SUBSETSTR_ARABIC_EXTENDED
-{
-    Text [ en-US ] = "Arabic Extended";
+    String RID_SUBSETSTR_ARABIC_EXTENDED
+    {
+        Text [ en-US ] = "Arabic Extended";
 
     };
-String RID_SUBSETSTR_DEVANAGARI
-{
-    Text [ en-US ] = "Devanagari";
+    String RID_SUBSETSTR_DEVANAGARI
+    {
+        Text [ en-US ] = "Devanagari";
     };
-String RID_SUBSETSTR_BENGALI
-{
-    Text [ en-US ] = "Bengali";
+    String RID_SUBSETSTR_BENGALI
+    {
+        Text [ en-US ] = "Bengali";
     };
-String RID_SUBSETSTR_GURMUKHI
-{
-    Text [ en-US ] = "Gurmukhi";
+    String RID_SUBSETSTR_GURMUKHI
+    {
+        Text [ en-US ] = "Gurmukhi";
     };
-String RID_SUBSETSTR_GUJARATI
-{
-    Text [ en-US ] = "Gujarati";
+    String RID_SUBSETSTR_GUJARATI
+    {
+        Text [ en-US ] = "Gujarati";
     };
-String RID_SUBSETSTR_ORIYA
-{
-    Text [ en-US ] = "Oriya";
+    String RID_SUBSETSTR_ORIYA
+    {
+        Text [ en-US ] = "Oriya";
     };
-String RID_SUBSETSTR_TAMIL
-{
-    Text [ en-US ] = "Tamil";
+    String RID_SUBSETSTR_TAMIL
+    {
+        Text [ en-US ] = "Tamil";
     };
-String RID_SUBSETSTR_TELUGU
-{
-    Text [ en-US ] = "Telugu";
-
+    String RID_SUBSETSTR_TELUGU
+    {
+        Text [ en-US ] = "Telugu";
     };
-String RID_SUBSETSTR_KANNADA
-{
-    Text [ en-US ] = "Kannada";
+    String RID_SUBSETSTR_KANNADA
+    {
+        Text [ en-US ] = "Kannada";
     };
-String RID_SUBSETSTR_MALAYALAM
-{
-    Text [ en-US ] = "Malayalam";
+    String RID_SUBSETSTR_MALAYALAM
+    {
+        Text [ en-US ] = "Malayalam";
     };
-String RID_SUBSETSTR_THAI
-{
-    Text [ en-US ] = "Thai";
+    String RID_SUBSETSTR_THAI
+    {
+        Text [ en-US ] = "Thai";
     };
-String RID_SUBSETSTR_LAO
-{
-    Text [ en-US ] = "Lao";
+    String RID_SUBSETSTR_LAO
+    {
+        Text [ en-US ] = "Lao";
     };
-String RID_SUBSETSTR_BASIC_GEORGIAN
-{
-    Text [ en-US ] = "Basic Georgian";
+    String RID_SUBSETSTR_BASIC_GEORGIAN
+    {
+        Text [ en-US ] = "Basic Georgian";
     };
-String RID_SUBSETSTR_GEORGIAN_EXTENDED
-{
-    Text [ en-US ] = "Georgian Extended";
+    String RID_SUBSETSTR_GEORGIAN_EXTENDED
+    {
+        Text [ en-US ] = "Georgian Extended";
     };
-String RID_SUBSETSTR_HANGUL_JAMO
-{
-    Text [ en-US ] = "Hangul Jamo";
+    String RID_SUBSETSTR_HANGUL_JAMO
+    {
+        Text [ en-US ] = "Hangul Jamo";
     };
-String RID_SUBSETSTR_LATIN_EXTENDED_ADDS
-{
-    Text [ en-US ] = "Latin Extended Additionals";
+    String RID_SUBSETSTR_LATIN_EXTENDED_ADDS
+    {
+        Text [ en-US ] = "Latin Extended Additionals";
     };
-String RID_SUBSETSTR_GREEK_EXTENDED
-{
-    Text [ en-US ] = "Greek Extended";
+    String RID_SUBSETSTR_GREEK_EXTENDED
+    {
+        Text [ en-US ] = "Greek Extended";
     };
-String RID_SUBSETSTR_GENERAL_PUNCTUATION
-{
-    Text [ en-US ] = "General punctuation";
+    String RID_SUBSETSTR_GENERAL_PUNCTUATION
+    {
+        Text [ en-US ] = "General punctuation";
     };
-String RID_SUBSETSTR_SUB_SUPER_SCRIPTS
-{
-    Text [ en-US ] = "Superscripts and Subscripts";
+    String RID_SUBSETSTR_SUB_SUPER_SCRIPTS
+    {
+        Text [ en-US ] = "Superscripts and Subscripts";
     };
-String RID_SUBSETSTR_CURRENCY_SYMBOLS
-{
-    Text [ en-US ] = "Currency Symbols";
+    String RID_SUBSETSTR_CURRENCY_SYMBOLS
+    {
+        Text [ en-US ] = "Currency Symbols";
     };
-String RID_SUBSETSTR_COMB_DIACRITIC_SYMS
-{
-    Text [ en-US ] = "Combining Diacritical Symbols";
+    String RID_SUBSETSTR_COMB_DIACRITIC_SYMS
+    {
+        Text [ en-US ] = "Combining Diacritical Symbols";
     };
-String RID_SUBSETSTR_LETTERLIKE_SYMBOLS
-{
-    Text [ en-US ] = "Letterlike Symbols";
+    String RID_SUBSETSTR_LETTERLIKE_SYMBOLS
+    {
+        Text [ en-US ] = "Letterlike Symbols";
     };
-String RID_SUBSETSTR_NUMBER_FORMS
-{
-    Text [ en-US ] = "Number Forms";
+    String RID_SUBSETSTR_NUMBER_FORMS
+    {
+        Text [ en-US ] = "Number Forms";
     };
-String RID_SUBSETSTR_ARROWS
-{
-    Text [ en-US ] = "Arrows";
+    String RID_SUBSETSTR_ARROWS
+    {
+        Text [ en-US ] = "Arrows";
     };
-String RID_SUBSETSTR_MATH_OPERATORS
-{
-    Text [ en-US ] = "Mathematical Operators";
+    String RID_SUBSETSTR_MATH_OPERATORS
+    {
+        Text [ en-US ] = "Mathematical Operators";
     };
-String RID_SUBSETSTR_MISC_TECHNICAL
-{
-    Text [ en-US ] = "Miscellaneous Technical";
-
+    String RID_SUBSETSTR_MISC_TECHNICAL
+    {
+        Text [ en-US ] = "Miscellaneous Technical";
     };
-String RID_SUBSETSTR_CONTROL_PICTURES
-{
-    Text [ en-US ] = "Control Pictures";
+    String RID_SUBSETSTR_CONTROL_PICTURES
+    {
+        Text [ en-US ] = "Control Pictures";
     };
-String RID_SUBSETSTR_OPTICAL_CHAR_REC
-{
-    Text [ en-US ] = "Optical Character Recognition";
+    String RID_SUBSETSTR_OPTICAL_CHAR_REC
+    {
+        Text [ en-US ] = "Optical Character Recognition";
     };
-String RID_SUBSETSTR_ENCLOSED_ALPHANUM
-{
-    Text [ en-US ] = "Enclosed Alphanumerics";
+    String RID_SUBSETSTR_ENCLOSED_ALPHANUM
+    {
+        Text [ en-US ] = "Enclosed Alphanumerics";
     };
-String RID_SUBSETSTR_BOX_DRAWING
-{
-    Text [ en-US ] = "Box Drawing";
+    String RID_SUBSETSTR_BOX_DRAWING
+    {
+        Text [ en-US ] = "Box Drawing";
     };
-String RID_SUBSETSTR_BLOCK_ELEMENTS
-{
-    Text [ en-US ] = "Block Elements";
+    String RID_SUBSETSTR_BLOCK_ELEMENTS
+    {
+        Text [ en-US ] = "Block Elements";
     };
-String RID_SUBSETSTR_GEOMETRIC_SHAPES
-{
-    Text [ en-US ] = "Geometric Shapes";
+    String RID_SUBSETSTR_GEOMETRIC_SHAPES
+    {
+        Text [ en-US ] = "Geometric Shapes";
     };
-String RID_SUBSETSTR_MISC_DINGBATS
-{
-    Text [ en-US ] = "Miscellaneous Symbols";
-
+    String RID_SUBSETSTR_MISC_DINGBATS
+    {
+        Text [ en-US ] = "Miscellaneous Symbols";
     };
-String RID_SUBSETSTR_DINGBATS
-{
-    Text [ en-US ] = "Dingbats";
-
+    String RID_SUBSETSTR_DINGBATS
+    {
+        Text [ en-US ] = "Dingbats";
     };
-String RID_SUBSETSTR_CJK_SYMS_PUNCTUATION
-{
-    Text [ en-US ] = "CJK Symbols And Punctuation";
+    String RID_SUBSETSTR_CJK_SYMS_PUNCTUATION
+    {
+        Text [ en-US ] = "CJK Symbols And Punctuation";
     };
-String RID_SUBSETSTR_HIRAGANA
-{
-    Text [ en-US ] = "Hiragana";
+    String RID_SUBSETSTR_HIRAGANA
+    {
+        Text [ en-US ] = "Hiragana";
     };
-String RID_SUBSETSTR_KATAKANA
-{
-    Text [ en-US ] = "Katakana";
+    String RID_SUBSETSTR_KATAKANA
+    {
+        Text [ en-US ] = "Katakana";
     };
-String RID_SUBSETSTR_BOPOMOFO
-{
-    Text [ en-US ] = "Bopomofo";
+    String RID_SUBSETSTR_BOPOMOFO
+    {
+        Text [ en-US ] = "Bopomofo";
     };
-String RID_SUBSETSTR_HANGUL_COMPAT_JAMO
-{
-    Text [ en-US ] = "Hangul Compatibility Jamo";
+    String RID_SUBSETSTR_HANGUL_COMPAT_JAMO
+    {
+        Text [ en-US ] = "Hangul Compatibility Jamo";
     };
-String RID_SUBSETSTR_CJK_MISC
-{
-    Text [ en-US ] = "CJK Miscellaneous";
+    String RID_SUBSETSTR_CJK_MISC
+    {
+        Text [ en-US ] = "CJK Miscellaneous";
     };
-String RID_SUBSETSTR_ENCLOSED_CJK_LETTERS
-{
-    Text [ en-US ] = "Enclosed CJK Letters And Months";
+    String RID_SUBSETSTR_ENCLOSED_CJK_LETTERS
+    {
+        Text [ en-US ] = "Enclosed CJK Letters And Months";
     };
-String RID_SUBSETSTR_CJK_COMPATIBILITY
-{
-    Text [ en-US ] = "CJK Compatibility";
-
+    String RID_SUBSETSTR_CJK_COMPATIBILITY
+    {
+        Text [ en-US ] = "CJK Compatibility";
     };
-String RID_SUBSETSTR_HANGUL
-{
-    Text [ en-US ] = "Hangul";
+    String RID_SUBSETSTR_HANGUL
+    {
+        Text [ en-US ] = "Hangul";
     };
-String RID_SUBSETSTR_CJK_UNIFIED_IDGRAPH
-{
-    Text [ en-US ] = "CJK Unified Ideographs";
+    String RID_SUBSETSTR_CJK_UNIFIED_IDGRAPH
+    {
+        Text [ en-US ] = "CJK Unified Ideographs";
     };
-String RID_SUBSETSTR_CJK_EXT_A_UNIFIED_IDGRAPH
-{
-    Text [ en-US ] = "CJK Unified Ideographs Extension-A";
+    String RID_SUBSETSTR_CJK_EXT_A_UNIFIED_IDGRAPH
+    {
+        Text [ en-US ] = "CJK Unified Ideographs Extension A";
     };
-String RID_SUBSETSTR_PRIVATE_USE_AREA
-{
-    Text [ en-US ] = "Private Use Area";
+    String RID_SUBSETSTR_PRIVATE_USE_AREA
+    {
+        Text [ en-US ] = "Private Use Area";
     };
-String RID_SUBSETSTR_CJK_COMPAT_IDGRAPHS
-{
-    Text [ en-US ] = "CJK Compatibility Ideographs";
+    String RID_SUBSETSTR_CJK_COMPAT_IDGRAPHS
+    {
+        Text [ en-US ] = "CJK Compatibility Ideographs";
     };
-String RID_SUBSETSTR_ALPHA_PRESENTATION
-{
-    Text [ en-US ] = "Alphabetic Presentation Forms";
+    String RID_SUBSETSTR_ALPHA_PRESENTATION
+    {
+        Text [ en-US ] = "Alphabetic Presentation Forms";
     };
-String RID_SUBSETSTR_ARABIC_PRESENT_A
-{
-    Text [ en-US ] = "Arabic Presentation Forms-A";
-
+    String RID_SUBSETSTR_ARABIC_PRESENT_A
+    {
+        Text [ en-US ] = "Arabic Presentation Forms-A";
     };
-String RID_SUBSETSTR_COMBINING_HALF_MARKS
-{
-    Text [ en-US ] = "Combining Half Marks";
+    String RID_SUBSETSTR_COMBINING_HALF_MARKS
+    {
+        Text [ en-US ] = "Combining Half Marks";
     };
-String RID_SUBSETSTR_CJK_COMPAT_FORMS
-{
-    Text [ en-US ] = "CJK Compatibility Forms";
+    String RID_SUBSETSTR_CJK_COMPAT_FORMS
+    {
+        Text [ en-US ] = "CJK Compatibility Forms";
     };
-String RID_SUBSETSTR_SMALL_FORM_VARIANTS
-{
-    Text [ en-US ] = "Small Form Variants";
-
+    String RID_SUBSETSTR_SMALL_FORM_VARIANTS
+    {
+        Text [ en-US ] = "Small Form Variants";
     };
-String RID_SUBSETSTR_ARABIC_PRESENT_B
-{
-    Text [ en-US ] = "Arabic Presentation Forms-B";
+    String RID_SUBSETSTR_ARABIC_PRESENT_B
+    {
+        Text [ en-US ] = "Arabic Presentation Forms-B";
     };
-String RID_SUBSETSTR_HALFW_FULLW_FORMS
-{
-    Text [ en-US ] = "Half-width and Full-width Forms";
+    String RID_SUBSETSTR_HALFW_FULLW_FORMS
+    {
+        Text [ en-US ] = "Half-width and Full-width Forms";
     };
-String RID_SUBSETSTR_SPECIALS
-{
-    Text [ en-US ] = "Specials";
+    String RID_SUBSETSTR_SPECIALS
+    {
+        Text [ en-US ] = "Specials";
     };
-String RID_SUBSETSTR_HANGUL_GA
-{
-    Text [ en-US ] = "Hangul Ga";
+    String RID_SUBSETSTR_YI_SYLLABLES
+    {
+        Text [ en-US ] = "Yi Syllables";
     };
-String RID_SUBSETSTR_HANGUL_NA
-{
-    Text [ en-US ] = "Hangul Na";
+    String RID_SUBSETSTR_YI_RADICALS
+    {
+        Text [ en-US ] = "Yi Radicals";
     };
-String RID_SUBSETSTR_HANGUL_DA
-{
-    Text [ en-US ] = "Hangul Da";
+    String RID_SUBSETSTR_OLD_ITALIC
+    {
+        Text [ en-US ] = "Old Italic";
     };
-String RID_SUBSETSTR_HANGUL_RA
-{
-    Text [ en-US ] = "Hangul Ra";
+    String RID_SUBSETSTR_GOTHIC
+    {
+        Text [ en-US ] = "Gothic";
     };
-String RID_SUBSETSTR_HANGUL_MA
-{
-    Text [ en-US ] = "Hangul Ma";
+    String RID_SUBSETSTR_DESERET
+    {
+        Text [ en-US ] = "Deseret";
     };
-String RID_SUBSETSTR_HANGUL_BA
-{
-    Text [ en-US ] = "Hangul Ba";
+    String RID_SUBSETSTR_BYZANTINE_MUSICAL_SYMBOLS
+    {
+        Text [ en-US ] = "Byzantine Musical Symbols";
     };
-String RID_SUBSETSTR_HANGUL_SA
-{
-    Text [ en-US ] = "Hangul Sa";
+    String RID_SUBSETSTR_MUSICAL_SYMBOLS
+    {
+        Text [ en-US ] = "Musical Symbols";
     };
-String RID_SUBSETSTR_HANGUL_AH
-{
-    Text [ en-US ] = "Hangul Ah";
+    String RID_SUBSETSTR_MATHEMATICAL_ALPHANUMERIC_SYMBOLS
+    {
+        Text [ en-US ] = "Mathematical Alphanumeric Symbols";
     };
-String RID_SUBSETSTR_HANGUL_JA
-{
-    Text [ en-US ] = "Hangul Ja";
+    String RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
+    {
+        Text [ en-US ] = "CJK Unified Ideographs Extension B";
     };
-String RID_SUBSETSTR_HANGUL_CHA
-{
-    Text [ en-US ] = "Hangul Cha";
+    String RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C
+    {
+        Text [ en-US ] = "CJK Unified Ideographs Extension C";
     };
-String RID_SUBSETSTR_HANGUL_KA
-{
-    Text [ en-US ] = "Hangul Ka";
+    String RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D
+    {
+        Text [ en-US ] = "CJK Unified Ideographs Extension D";
     };
-String RID_SUBSETSTR_HANGUL_TA
-{
-    Text [ en-US ] = "Hangul Ta";
+    String RID_SUBSETSTR_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT
+    {
+        Text [ en-US ] = "CJK Compatibility Ideographs Supplement";
     };
-String RID_SUBSETSTR_HANGUL_PA
-{
-    Text [ en-US ] = "Hangul Pa";
+    String RID_SUBSETSTR_TAGS
+    {
+        Text [ en-US ] = "Tags";
     };
-String RID_SUBSETSTR_HANGUL_HA
-{
-    Text [ en-US ] = "Hangul Ha";
+    String RID_SUBSETSTR_CYRILLIC_SUPPLEMENTARY
+    {
+        Text [ en-US ] = "Cyrillic Supplement";
     };
-String RID_SUBSETSTR_YI
-{
-    Text [ en-US ] = "Yi";
+    String RID_SUBSETSTR_VARIATION_SELECTORS
+    {
+        Text [ en-US ] = "Variation Selectors";
     };
-String RID_SUBSETSTR_SINHALA
-{
-    Text [ en-US ] = "Sinhala";
+    String RID_SUBSETSTR_SUPPLEMENTARY_PRIVATE_USE_AREA_A
+    {
+        Text [ en-US ] = "Supplementary Private Use Area-A";
     };
-String RID_SUBSETSTR_TIBETAN
-{
-    Text [ en-US ] = "Tibetan";
+    String RID_SUBSETSTR_SUPPLEMENTARY_PRIVATE_USE_AREA_B
+    {
+        Text [ en-US ] = "Supplementary Private Use Area-B";
     };
-String RID_SUBSETSTR_MYANMAR
-{
-    Text [ en-US ] = "Myanmar";
+    String RID_SUBSETSTR_LIMBU
+    {
+        Text [ en-US ] = "Limbu";
     };
-String RID_SUBSETSTR_KHMER
-{
-    Text [ en-US ] = "Khmer";
+    String RID_SUBSETSTR_TAI_LE
+    {
+        Text [ en-US ] = "Tai Le";
     };
-String RID_SUBSETSTR_OGHAM
-{
-    Text [ en-US ] = "Ogham";
+    String RID_SUBSETSTR_KHMER_SYMBOLS
+    {
+        Text [ en-US ] = "Khmer Symbols";
     };
-String RID_SUBSETSTR_RUNIC
-{
-    Text [ en-US ] = "Runic";
+    String RID_SUBSETSTR_PHONETIC_EXTENSIONS
+    {
+        Text [ en-US ] = "Phonetic Extensions";
     };
-String RID_SUBSETSTR_SYRIAC
-{
-    Text [ en-US ] = "Syriac";
+    String RID_SUBSETSTR_MISCELLANEOUS_SYMBOLS_AND_ARROWS
+    {
+        Text [ en-US ] = "Miscellaneous Symbols And Arrows";
     };
-String RID_SUBSETSTR_THAANA
-{
-    Text [ en-US ] = "Thaana";
+    String RID_SUBSETSTR_YIJING_HEXAGRAM_SYMBOLS
+    {
+        Text [ en-US ] = "Yijing Hexagram Ssymbols";
     };
-String RID_SUBSETSTR_ETHIOPIC
-{
-    Text [ en-US ] = "Ethiopic";
+    String RID_SUBSETSTR_LINEAR_B_SYLLABARY
+    {
+        Text [ en-US ] = "Linear B Syllabary";
     };
-String RID_SUBSETSTR_CHEROKEE
-{
-    Text [ en-US ] = "Cherokee";
+    String RID_SUBSETSTR_LINEAR_B_IDEOGRAMS
+    {
+        Text [ en-US ] = "Linear B Ideograms";
     };
-String RID_SUBSETSTR_CANADIAN_ABORIGINAL
-{
-    Text [ en-US ] = "Canadan Aboriginal Syllables";
+    String RID_SUBSETSTR_AEGEAN_NUMBERS
+    {
+        Text [ en-US ] = "Aegean Numbers";
     };
-String RID_SUBSETSTR_MONGOLIAN
-{
-    Text [ en-US ] = "Mongolian";
+    String RID_SUBSETSTR_UGARITIC
+    {
+        Text [ en-US ] = "Ugaritic";
     };
-
-String RID_SUBSETSTR_MISC_MATH_SYMS_A
-{
-    Text [ en-US ] = "Miscellaneous Mathematical Symbols-A";
+    String RID_SUBSETSTR_SHAVIAN
+    {
+        Text [ en-US ] = "Shavian";
     };
-
-String RID_SUBSETSTR_SUPPL_ARROWS_A
-{
-    Text [ en-US ] = "Supplemental Arrows-A";
+    String RID_SUBSETSTR_OSMANYA
+    {
+        Text [ en-US ] = "Osmanya";
     };
-
-String RID_SUBSETSTR_BRAILLE_PATTERNS
-{
-    Text [ en-US ] = "Braille Patterns";
+    String RID_SUBSETSTR_SINHALA
+    {
+        Text [ en-US ] = "Sinhala";
     };
-
-String RID_SUBSETSTR_SUPPL_ARROWS_B
-{
-    Text [ en-US ] = "Supplemental Arrows-B";
+    String RID_SUBSETSTR_TIBETAN
+    {
+        Text [ en-US ] = "Tibetan";
     };
-
-String RID_SUBSETSTR_MISC_MATH_SYMS_B
-{
-    Text [ en-US ] = "Miscellaneous Mathematical Symbols-B";
+    String RID_SUBSETSTR_MYANMAR
+    {
+        Text [ en-US ] = "Myanmar";
     };
-
-String RID_SUBSETSTR_CJK_RADICAL_SUPPL
-{
-    Text [ en-US ] = "CJK Radical Supplement";
+    String RID_SUBSETSTR_KHMER
+    {
+        Text [ en-US ] = "Khmer";
     };
-
-String RID_SUBSETSTR_KANGXI_RADICALS
-{
-    Text [ en-US ] = "Kangxi Radicals";
+    String RID_SUBSETSTR_OGHAM
+    {
+        Text [ en-US ] = "Ogham";
     };
-
-String RID_SUBSETSTR_IDEO_DESC_CHARS
-{
-    Text [ en-US ] = "Ideographic Description Characters";
+    String RID_SUBSETSTR_RUNIC
+    {
+        Text [ en-US ] = "Runic";
     };
-
-String RID_SUBSETSTR_TAGALOG
-{
-    Text [ en-US ] = "Tagalog";
+    String RID_SUBSETSTR_SYRIAC
+    {
+        Text [ en-US ] = "Syriac";
     };
-
-String RID_SUBSETSTR_HANUNOO
-{
-    Text [ en-US ] = "Hanunoo";
+    String RID_SUBSETSTR_THAANA
+    {
+        Text [ en-US ] = "Thaana";
     };
-
-String RID_SUBSETSTR_TAGBANWA
-{
-    Text [ en-US ] = "Tagbanwa";
+    String RID_SUBSETSTR_ETHIOPIC
+    {
+        Text [ en-US ] = "Ethiopic";
     };
-
-String RID_SUBSETSTR_BUHID
-{
-    Text [ en-US ] = "Buhid";
+    String RID_SUBSETSTR_CHEROKEE
+    {
+        Text [ en-US ] = "Cherokee";
     };
-
-String RID_SUBSETSTR_KANBUN
-{
-    Text [ en-US ] = "Kanbun";
+    String RID_SUBSETSTR_CANADIAN_ABORIGINAL
+    {
+        Text [ en-US ] = "Canadan Aboriginal Syllables";
     };
-
-String RID_SUBSETSTR_BOPOMOFO_EXTENDED
-{
-    Text [ en-US ] = "Bopomofo Extended";
+    String RID_SUBSETSTR_MONGOLIAN
+    {
+        Text [ en-US ] = "Mongolian";
     };
-
-String RID_SUBSETSTR_KATAKANA_PHONETIC
-{
-    Text [ en-US ] = "Katakana Phonetics";
+    String RID_SUBSETSTR_MISC_MATH_SYMS_A
+    {
+        Text [ en-US ] = "Miscellaneous Mathematical Symbols-A";
     };
-
-String RID_SUBSETSTR_CJK_STROKES
-{
-    Text [ en-US ] = "CJK Strokes";
+    String RID_SUBSETSTR_SUPPL_ARROWS_A
+    {
+        Text [ en-US ] = "Supplemental Arrows-A";
+    };
+    String RID_SUBSETSTR_BRAILLE_PATTERNS
+    {
+        Text [ en-US ] = "Braille Patterns";
+    };
+    String RID_SUBSETSTR_SUPPL_ARROWS_B
+    {
+        Text [ en-US ] = "Supplemental Arrows-B";
+    };
+    String RID_SUBSETSTR_MISC_MATH_SYMS_B
+    {
+        Text [ en-US ] = "Miscellaneous Mathematical Symbols-B";
+    };
+    String RID_SUBSETSTR_CJK_RADICAL_SUPPL
+    {
+        Text [ en-US ] = "CJK Radical Supplement";
+    };
+    String RID_SUBSETSTR_KANGXI_RADICALS
+    {
+        Text [ en-US ] = "Kangxi Radicals";
+    };
+    String RID_SUBSETSTR_IDEO_DESC_CHARS
+    {
+        Text [ en-US ] = "Ideographic Description Characters";
+    };
+    String RID_SUBSETSTR_TAGALOG
+    {
+        Text [ en-US ] = "Tagalog";
+    };
+    String RID_SUBSETSTR_HANUNOO
+    {
+        Text [ en-US ] = "Hanunoo";
+    };
+    String RID_SUBSETSTR_TAGBANWA
+    {
+        Text [ en-US ] = "Tagbanwa";
+    };
+    String RID_SUBSETSTR_BUHID
+    {
+        Text [ en-US ] = "Buhid";
+    };
+    String RID_SUBSETSTR_KANBUN
+    {
+        Text [ en-US ] = "Kanbun";
+    };
+    String RID_SUBSETSTR_BOPOMOFO_EXTENDED
+    {
+        Text [ en-US ] = "Bopomofo Extended";
+    };
+    String RID_SUBSETSTR_KATAKANA_PHONETIC
+    {
+        Text [ en-US ] = "Katakana Phonetics";
+    };
+    String RID_SUBSETSTR_CJK_STROKES
+    {
+        Text [ en-US ] = "CJK Strokes";
+    };
+    String RID_SUBSETSTR_CYPRIOT_SYLLABARY
+    {
+        Text [ en-US ] = "Cypriot Syllabary";
+    };
+    String RID_SUBSETSTR_TAI_XUAN_JING_SYMBOLS
+    {
+        Text [ en-US ] = "Tai Xuan Jing Symbols";
+    };
+    String RID_SUBSETSTR_VARIATION_SELECTORS_SUPPLEMENT
+    {
+        Text [ en-US ] = "Variation Selectors Supplement";
+    };
+    String RID_SUBSETSTR_ANCIENT_GREEK_MUSICAL_NOTATION
+    {
+        Text [ en-US ] = "Ancient Greek Musical Notation";
+    };
+    String RID_SUBSETSTR_ANCIENT_GREEK_NUMBERS
+    {
+        Text [ en-US ] = "Ancient Greek Numbers";
+    };
+    String RID_SUBSETSTR_ARABIC_SUPPLEMENT
+    {
+        Text [ en-US ] = "Arabic Supplement";
+    };
+    String RID_SUBSETSTR_BUGINESE
+    {
+        Text [ en-US ] = "Buginese";
+    };
+    String RID_SUBSETSTR_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT
+    {
+        Text [ en-US ] = "Combining Diacritical Marks Supplement";
+    };
+    String RID_SUBSETSTR_COPTIC
+    {
+        Text [ en-US ] = "Coptic";
+    };
+    String RID_SUBSETSTR_ETHIOPIC_EXTENDED
+    {
+        Text [ en-US ] = "Ethiopic Extended";
+    };
+    String RID_SUBSETSTR_ETHIOPIC_SUPPLEMENT
+    {
+        Text [ en-US ] = "Ethiopic Supplement";
+    };
+    String RID_SUBSETSTR_GEORGIAN_SUPPLEMENT
+    {
+        Text [ en-US ] = "Georgian Supplement";
+    };
+    String RID_SUBSETSTR_GLAGOLITIC
+    {
+        Text [ en-US ] = "Glagolitic";
+    };
+    String RID_SUBSETSTR_KHAROSHTHI
+    {
+        Text [ en-US ] = "Kharoshthi";
+    };
+    String RID_SUBSETSTR_MODIFIER_TONE_LETTERS
+    {
+        Text [ en-US ] = "Modifier Tone Letters";
+    };
+    String RID_SUBSETSTR_NEW_TAI_LUE
+    {
+        Text [ en-US ] = "New Tai Lue";
+    };
+    String RID_SUBSETSTR_OLD_PERSIAN
+    {
+        Text [ en-US ] = "Old Persian";
+    };
+    String RID_SUBSETSTR_PHONETIC_EXTENSIONS_SUPPLEMENT
+    {
+        Text [ en-US ] = "Phonetic Extensions Supplement";
+    };
+    String RID_SUBSETSTR_SUPPLEMENTAL_PUNCTUATION
+    {
+        Text [ en-US ] = "Supplemental Punctuation";
+    };
+    String RID_SUBSETSTR_SYLOTI_NAGRI
+    {
+        Text [ en-US ] = "Syloti Nagri";
+    };
+    String RID_SUBSETSTR_TIFINAGH
+    {
+        Text [ en-US ] = "Tifinagh";
+    };
+    String RID_SUBSETSTR_VERTICAL_FORMS
+    {
+        Text [ en-US ] = "Vertical Forms";
+    };
+    String RID_SUBSETSTR_NKO
+    {
+        Text [ en-US ] = "Nko";
+    };
+    String RID_SUBSETSTR_BALINESE
+    {
+        Text [ en-US ] = "Balinese";
+    };
+    String RID_SUBSETSTR_LATIN_EXTENDED_C
+    {
+        Text [ en-US ] = "Latin Extended-C";
+    };
+    String RID_SUBSETSTR_LATIN_EXTENDED_D
+    {
+        Text [ en-US ] = "Latin Extended-D";
+    };
+    String RID_SUBSETSTR_PHAGS_PA
+    {
+        Text [ en-US ] = "Phags-Pa";
+    };
+    String RID_SUBSETSTR_PHOENICIAN
+    {
+        Text [ en-US ] = "Phoenician";
+    };
+    String RID_SUBSETSTR_CUNEIFORM
+    {
+        Text [ en-US ] = "Cuneiform";
+    };
+    String RID_SUBSETSTR_CUNEIFORM_NUMBERS_AND_PUNCTUATION
+    {
+        Text [ en-US ] = "Cuneiform Numbers And Punctuation";
+    };
+    String RID_SUBSETSTR_COUNTING_ROD_NUMERALS
+    {
+        Text [ en-US ] = "Counting Rod Numerals";
+    };
+    String RID_SUBSETSTR_SUNDANESE
+    {
+        Text [ en-US ] = "Sundanese";
+    };
+    String RID_SUBSETSTR_LEPCHA
+    {
+        Text [ en-US ] = "Lepcha";
+    };
+    String RID_SUBSETSTR_OL_CHIKI
+    {
+        Text [ en-US ] = "Ol Chiki";
+    };
+    String RID_SUBSETSTR_CYRILLIC_EXTENDED_A
+    {
+        Text [ en-US ] = "Cyrillic Extended-A";
+    };
+    String RID_SUBSETSTR_VAI
+    {
+        Text [ en-US ] = "Vai";
+    };
+    String RID_SUBSETSTR_CYRILLIC_EXTENDED_B
+    {
+        Text [ en-US ] = "Cyrillic Extended-B";
+    };
+    String RID_SUBSETSTR_SAURASHTRA
+    {
+        Text [ en-US ] = "Saurashtra";
+    };
+    String RID_SUBSETSTR_KAYAH_LI
+    {
+        Text [ en-US ] = "Kayah Li";
+    };
+    String RID_SUBSETSTR_REJANG
+    {
+        Text [ en-US ] = "Rejang";
+    };
+    String RID_SUBSETSTR_CHAM
+    {
+        Text [ en-US ] = "Cham";
+    };
+    String RID_SUBSETSTR_ANCIENT_SYMBOLS
+    {
+        Text [ en-US ] = "Ancient Symbols";
+    };
+    String RID_SUBSETSTR_PHAISTOS_DISC
+    {
+        Text [ en-US ] = "Phaistos Disc";
+    };
+    String RID_SUBSETSTR_LYCIAN
+    {
+        Text [ en-US ] = "Lycian";
+    };
+    String RID_SUBSETSTR_CARIAN
+    {
+        Text [ en-US ] = "Carian";
+    };
+    String RID_SUBSETSTR_LYDIAN
+    {
+        Text [ en-US ] = "Lydian";
+    };
+    String RID_SUBSETSTR_MAHJONG_TILES
+    {
+        Text [ en-US ] = "Mahjong Tiles";
+    };
+    String RID_SUBSETSTR_DOMINO_TILES
+    {
+        Text [ en-US ] = "Domino Tiles";
+    };
+    String RID_SUBSETSTR_SAMARITAN
+    {
+        Text [ en-US ] = "Samaritan";
+    };
+    String RID_SUBSETSTR_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED
+    {
+        Text [ en-US ] = "Canadian Aboriginal Syllabics Extended";
+    };
+    String RID_SUBSETSTR_TAI_THAM
+    {
+        Text [ en-US ] = "Tai Tham";
+    };
+    String RID_SUBSETSTR_VEDIC_EXTENSIONS
+    {
+        Text [ en-US ] = "Vedic Extensions";
+    };
+    String RID_SUBSETSTR_LISU
+    {
+        Text [ en-US ] = "Lisu";
+    };
+    String RID_SUBSETSTR_BAMUM
+    {
+        Text [ en-US ] = "Bamum";
+    };
+    String RID_SUBSETSTR_COMMON_INDIC_NUMBER_FORMS
+    {
+        Text [ en-US ] = "Common Indic Number Forms";
+    };
+    String RID_SUBSETSTR_DEVANAGARI_EXTENDED
+    {
+        Text [ en-US ] = "Devanagari Extended";
+    };
+    String RID_SUBSETSTR_HANGUL_JAMO_EXTENDED_A
+    {
+        Text [ en-US ] = "Hangul Jamo Extended-A";
+    };
+    String RID_SUBSETSTR_JAVANESE
+    {
+        Text [ en-US ] = "Javanese";
+    };
+    String RID_SUBSETSTR_MYANMAR_EXTENDED_A
+    {
+        Text [ en-US ] = "Myanmar Extended-A";
+    };
+    String RID_SUBSETSTR_TAI_VIET
+    {
+        Text [ en-US ] = "Tai Viet";
+    };
+    String RID_SUBSETSTR_MEETEI_MAYEK
+    {
+        Text [ en-US ] = "Meetei Mayek";
+    };
+    String RID_SUBSETSTR_HANGUL_JAMO_EXTENDED_B
+    {
+        Text [ en-US ] = "Hangul Jamo Extended-B";
+    };
+    String RID_SUBSETSTR_IMPERIAL_ARAMAIC
+    {
+        Text [ en-US ] = "Imperial Aramaic";
+    };
+    String RID_SUBSETSTR_OLD_SOUTH_ARABIAN
+    {
+        Text [ en-US ] = "Old South Arabian";
+    };
+    String RID_SUBSETSTR_AVESTAN
+    {
+        Text [ en-US ] = "Avestan";
+    };
+    String RID_SUBSETSTR_INSCRIPTIONAL_PARTHIAN
+    {
+        Text [ en-US ] = "Inscriptional Parthian";
+    };
+    String RID_SUBSETSTR_INSCRIPTIONAL_PAHLAVI
+    {
+        Text [ en-US ] = "Inscriptional Pahlavi";
+    };
+    String RID_SUBSETSTR_OLD_TURKIC
+    {
+        Text [ en-US ] = "Old Turkic";
+    };
+    String RID_SUBSETSTR_RUMI_NUMERAL_SYMBOLS
+    {
+        Text [ en-US ] = "Rumi Numeral Symbols";
+    };
+    String RID_SUBSETSTR_KAITHI
+    {
+        Text [ en-US ] = "Kaithi";
+    };
+    String RID_SUBSETSTR_EGYPTIAN_HIEROGLYPHS
+    {
+        Text [ en-US ] = "Egyptian Hieroglyphs";
+    };
+    String RID_SUBSETSTR_ENCLOSED_ALPHANUMERIC_SUPPLEMENT
+    {
+        Text [ en-US ] = "Enclosed Alphanumeric Supplement";
+    };
+    String RID_SUBSETSTR_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT
+    {
+        Text [ en-US ] = "Enclosed Ideographic Supplement";
+    };
+    String RID_SUBSETSTR_MANDAIC
+    {
+        Text [ en-US ] = "Mandaic";
+    };
+    String RID_SUBSETSTR_BATAK
+    {
+        Text [ en-US ] = "Batak";
+    };
+    String RID_SUBSETSTR_ETHIOPIC_EXTENDED_A
+    {
+        Text [ en-US ] = "Ethiopic Extended-A";
+    };
+    String RID_SUBSETSTR_BRAHMI
+    {
+        Text [ en-US ] = "Brahmi";
+    };
+    String RID_SUBSETSTR_BAMUM_SUPPLEMENT
+    {
+        Text [ en-US ] = "Bamum Supplement";
+    };
+    String RID_SUBSETSTR_KANA_SUPPLEMENT
+    {
+        Text [ en-US ] = "Kana Supplement";
+    };
+    String RID_SUBSETSTR_PLAYING_CARDS
+    {
+        Text [ en-US ] = "Playing Cards";
+    };
+    String RID_SUBSETSTR_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS
+    {
+        Text [ en-US ] = "Miscellaneous Symbols And Pictographs";
+    };
+    String RID_SUBSETSTR_EMOTICONS
+    {
+        Text [ en-US ] = "Emoticons";
+    };
+    String RID_SUBSETSTR_TRANSPORT_AND_MAP_SYMBOLS
+    {
+        Text [ en-US ] = "Transport And Map Symbols";
+    };
+    String RID_SUBSETSTR_ALCHEMICAL_SYMBOLS
+    {
+        Text [ en-US ] = "Alchemical Symbols";
+    };
+    String RID_SUBSETSTR_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D
+    {
+        Text [ en-US ] = "CJK Unified Ideographs Extension D";
+    };
+    String RID_SUBSETSTR_ARABIC_EXTENDED_A
+    {
+        Text [ en-US ] = "Arabic Extended-A";
+    };
+    String RID_SUBSETSTR_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS
+    {
+        Text [ en-US ] = "Arabic Mathematical Alphabetic Symbols";
+    };
+    String RID_SUBSETSTR_CHAKMA
+    {
+        Text [ en-US ] = "Chakma";
+    };
+    String RID_SUBSETSTR_MEETEI_MAYEK_EXTENSIONS
+    {
+        Text [ en-US ] = "Meetei Mayek Extensions";
+    };
+    String RID_SUBSETSTR_MEROITIC_CURSIVE
+    {
+        Text [ en-US ] = "Meroitic Cursive";
+    };
+    String RID_SUBSETSTR_MEROITIC_HIEROGLYPHS
+    {
+        Text [ en-US ] = "Meroitic Hieroglyphs";
+    };
+    String RID_SUBSETSTR_MIAO
+    {
+        Text [ en-US ] = "Miao";
+    };
+    String RID_SUBSETSTR_SHARADA
+    {
+        Text [ en-US ] = "Sharada";
+    };
+    String RID_SUBSETSTR_SORA_SOMPENG
+    {
+        Text [ en-US ] = "Sora Sompeng";
+    };
+    String RID_SUBSETSTR_SUNDANESE_SUPPLEMENT
+    {
+        Text [ en-US ] = "Sundanese Supplement";
+    };
+    String RID_SUBSETSTR_TAKRI
+    {
+        Text [ en-US ] = "Takri";
     };
 };
-
-// ********************************************************************** EOF
commit e789038a9b47d650ea4c31f30420b496109a1b54
Author: OKANO Takayoshi <kano at na.rim.or.jp>
Date:   Tue Jan 29 09:22:21 2013 +0000

    Resolves: fdo#59922 Incorrect character range for "Katakana Phonetic"
    
    Change-Id: Ic541e2510567ca0f264730568c482fef521e6318

diff --git a/svx/inc/svx/ucsubset.hrc b/svx/inc/svx/ucsubset.hrc
index d0a425f..6f29fe4 100644
--- a/svx/inc/svx/ucsubset.hrc
+++ b/svx/inc/svx/ucsubset.hrc
@@ -141,6 +141,7 @@
 #define RID_SUBSETSTR_KANBUN                    (RID_SUBSET_START + 224)
 #define RID_SUBSETSTR_BOPOMOFO_EXTENDED         (RID_SUBSET_START + 225)
 #define RID_SUBSETSTR_KATAKANA_PHONETIC         (RID_SUBSET_START + 226)
+#define RID_SUBSETSTR_CJK_STROKES               (RID_SUBSET_START + 227)
 
 //      RID_SUBSET_END                          (RID_SUBSET_START + 299)
 
diff --git a/svx/source/dialog/charmap.cxx b/svx/source/dialog/charmap.cxx
index b68e2e4..203bd6f 100644
--- a/svx/source/dialog/charmap.cxx
+++ b/svx/source/dialog/charmap.cxx
@@ -868,7 +868,8 @@ void SubsetMap::InitList()
         aAllSubsets.push_back( Subset( 0x3130, 0x318F, RID_SUBSETSTR_HANGUL_COMPAT_JAMO ) );
         aAllSubsets.push_back( Subset( 0x3190, 0x319F, RID_SUBSETSTR_KANBUN ) );
         aAllSubsets.push_back( Subset( 0x31A0, 0x31BF, RID_SUBSETSTR_BOPOMOFO_EXTENDED ) );
-        aAllSubsets.push_back( Subset( 0x31C0, 0x31FF, RID_SUBSETSTR_KATAKANA_PHONETIC ) );
+        aAllSubsets.push_back( Subset( 0x31C0, 0x31EF, RID_SUBSETSTR_CJK_STROKES ) );
+        aAllSubsets.push_back( Subset( 0x31F0, 0x31FF, RID_SUBSETSTR_KATAKANA_PHONETIC ) );
         aAllSubsets.push_back( Subset( 0x3200, 0x32FF, RID_SUBSETSTR_ENCLOSED_CJK_LETTERS ) );

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list