Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r54045 - in sandbox/SOC/2009/unicode: boost boost/iterator boost/unicode boost/unicode/ucd boost/unicode/ucd/detail libs/unicode/data_parser libs/unicode/doc libs/unicode/example libs/unicode/src libs/unicode/src/ucd
From: loufoque_at_[hidden]
Date: 2009-06-17 21:26:57


Author: mgaunard
Date: 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
New Revision: 54045
URL: http://svn.boost.org/trac/boost/changeset/54045

Log:
Block support, general cleanup and automatic doxygen documentation
Added:
   sandbox/SOC/2009/unicode/boost/unicode/surrogates.hpp (contents, props changed)
   sandbox/SOC/2009/unicode/boost/unicode/ucd/block_types.hpp (contents, props changed)
   sandbox/SOC/2009/unicode/boost/unicode/ucd/detail/
   sandbox/SOC/2009/unicode/boost/unicode/ucd/detail/unichar_data.hpp (contents, props changed)
   sandbox/SOC/2009/unicode/boost/unicode/ucd/properties.hpp (contents, props changed)
   sandbox/SOC/2009/unicode/boost/unicode/ucd/properties_types.hpp (contents, props changed)
Removed:
   sandbox/SOC/2009/unicode/boost/unicode/ucd/unicode_block_types.hpp
   sandbox/SOC/2009/unicode/boost/unicode/unicode_properties.hpp
   sandbox/SOC/2009/unicode/boost/unicode/unicode_properties_types.hpp
   sandbox/SOC/2009/unicode/boost/unicode/unicode_proprieties.hpp
Text files modified:
   sandbox/SOC/2009/unicode/boost/cuchar.hpp | 10
   sandbox/SOC/2009/unicode/boost/iterator/pipe_iterator.hpp | 2
   sandbox/SOC/2009/unicode/boost/unicode/utf_conversion.hpp | 54
   sandbox/SOC/2009/unicode/libs/unicode/data_parser/main.cpp | 2
   sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_character_properties.cpp | 2
   sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_character_properties.hpp | 2
   sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_character_properties_unicodedata.cpp | 36
   sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_collation_data.hpp | 2
   sandbox/SOC/2009/unicode/libs/unicode/data_parser/write_character_properties.cpp | 27
   sandbox/SOC/2009/unicode/libs/unicode/data_parser/write_character_properties.hpp | 1
   sandbox/SOC/2009/unicode/libs/unicode/doc/Jamfile.v2 | 24
   sandbox/SOC/2009/unicode/libs/unicode/doc/users_manual.qbk | 229
   sandbox/SOC/2009/unicode/libs/unicode/example/test.cpp | 4
   sandbox/SOC/2009/unicode/libs/unicode/src/Jamfile.v2 | 2
   sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data.cpp | 346
   sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_1.ipp | 1452
   sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_2.ipp | 464
   sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_3.ipp | 3126 +-
   sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_4.ipp | 1348
   sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_5.ipp | 1480
   sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_6.ipp | 2182
   sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_7.ipp | 3194 +-
   sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_8.ipp | 6876 ++--
   sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_9.ipp | 990
   sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_sort_data.ipp | 52608 ++++++++++++++++++++++++++++++++-------
   sandbox/SOC/2009/unicode/libs/unicode/src/unicode_properties.cpp | 51
   26 files changed, 53323 insertions(+), 21191 deletions(-)

Modified: sandbox/SOC/2009/unicode/boost/cuchar.hpp
==============================================================================
--- sandbox/SOC/2009/unicode/boost/cuchar.hpp (original)
+++ sandbox/SOC/2009/unicode/boost/cuchar.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -5,14 +5,20 @@
 
 namespace boost
 {
-#ifdef BOOST_NO_CHAR16_T
+#if defined(BOOST_NO_CHAR16_T)
     typedef boost::uint_least16_t char16;
+#elif defined(BOOST_UNICODE_DOXYGEN_INVOKED)
+ /** Typedef to C++0x char16_t, or uint_least16_t from cstdint if not available. **/
+ typedef detail::char16 char16;
 #else
         typedef char16_t char16;
 #endif
         
-#ifdef BOOST_NO_CHAR32_T
+#if defined(BOOST_NO_CHAR32_T)
         typedef boost::uint_least32_t char32;
+#elif defined(BOOST_UNICODE_DOXYGEN_INVOKED)
+ /** Typedef to C++0x char32_t, or uint_least32_t from cstdint if not available. **/
+ typedef detail::char32 char32;
 #else
         typedef char32_t char32;
 #endif

Modified: sandbox/SOC/2009/unicode/boost/iterator/pipe_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/unicode/boost/iterator/pipe_iterator.hpp (original)
+++ sandbox/SOC/2009/unicode/boost/iterator/pipe_iterator.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -145,7 +145,7 @@
         {
                 return pos;
         }
-
+
 private:
         typedef typename Pipe::output_type T;
 

Added: sandbox/SOC/2009/unicode/boost/unicode/surrogates.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/unicode/boost/unicode/surrogates.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -0,0 +1,29 @@
+#ifndef BOOST_UNICODE_SURROGATES_HPP
+#define BOOST_UNICODE_SURROGATES_HPP
+
+#include <boost/cuchar.hpp>
+
+namespace boost
+{
+namespace unicode
+{
+
+inline bool is_high_surrogate(char32 v)
+{
+ return (v & 0xFC00u) == 0xd800u;
+}
+
+inline bool is_low_surrogate(char32 v)
+{
+ return (v & 0xFC00u) == 0xdc00u;
+}
+
+inline bool is_surrogate(char32 v)
+{
+ return (v & 0xF800u) == 0xd800;
+}
+
+} // namespace unicode
+} // namespace boost
+
+#endif

Added: sandbox/SOC/2009/unicode/boost/unicode/ucd/block_types.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/unicode/boost/unicode/ucd/block_types.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -0,0 +1,212 @@
+// Though this file is under the Boost license, it is NOT (or not yet) part of
+// Boost!
+
+// Copyright Graham Barnett, Rogier van Dalen 2005.
+// Use, modification, and distribution are subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This file was created using information from the
+// www.unicode.org web site
+// License http://www.unicode.org/copyright.html
+
+/**** This file should be included in any project that uses ****/
+/**** the boost Unicode character interface ****/
+/**** This file is automatically generated and should not be modified.****/
+
+/**** WARNING !! The block enum is a sparse enum to allow for ****/
+/**** new values to be added to the unicode spec without affecting ****/
+/**** existing code ****/
+
+
+#ifndef BOOST_UNICODE_UNI_UCD_CHARACTER_PROPERTIES_HPP_INCLUDED
+#define BOOST_UNICODE_UNI_UCD_CHARACTER_PROPERTIES_HPP_INCLUDED
+
+
+namespace boost { namespace unicode { namespace ucd {
+
+ struct block
+ {
+ enum type
+ {
+ none = -1,
+
+ basic_latin = 0x0,
+ latin_1_supplement = 0x80,
+ latin_extended_a = 0x100,
+ latin_extended_b = 0x180,
+ ipa_extensions = 0x250,
+ spacing_modifier_letters = 0x2b0,
+ combining_diacritical_marks = 0x300,
+ greek_and_coptic = 0x370,
+ cyrillic = 0x400,
+ cyrillic_supplement = 0x500,
+ armenian = 0x530,
+ hebrew = 0x590,
+ arabic = 0x600,
+ syriac = 0x700,
+ arabic_supplement = 0x750,
+ thaana = 0x780,
+ nko = 0x7c0,
+ devanagari = 0x900,
+ bengali = 0x980,
+ gurmukhi = 0xa00,
+ gujarati = 0xa80,
+ oriya = 0xb00,
+ tamil = 0xb80,
+ telugu = 0xc00,
+ kannada = 0xc80,
+ malayalam = 0xd00,
+ sinhala = 0xd80,
+ thai = 0xe00,
+ lao = 0xe80,
+ tibetan = 0xf00,
+ myanmar = 0x1000,
+ georgian = 0x10a0,
+ hangul_jamo = 0x1100,
+ ethiopic = 0x1200,
+ ethiopic_supplement = 0x1380,
+ cherokee = 0x13a0,
+ unified_canadian_aboriginal_syllabics = 0x1400,
+ ogham = 0x1680,
+ runic = 0x16a0,
+ tagalog = 0x1700,
+ hanunoo = 0x1720,
+ buhid = 0x1740,
+ tagbanwa = 0x1760,
+ khmer = 0x1780,
+ mongolian = 0x1800,
+ limbu = 0x1900,
+ tai_le = 0x1950,
+ new_tai_lue = 0x1980,
+ khmer_symbols = 0x19e0,
+ buginese = 0x1a00,
+ balinese = 0x1b00,
+ sundanese = 0x1b80,
+ lepcha = 0x1c00,
+ ol_chiki = 0x1c50,
+ phonetic_extensions = 0x1d00,
+ phonetic_extensions_supplement = 0x1d80,
+ combining_diacritical_marks_supplement = 0x1dc0,
+ latin_extended_additional = 0x1e00,
+ greek_extended = 0x1f00,
+ general_punctuation = 0x2000,
+ superscripts_and_subscripts = 0x2070,
+ currency_symbols = 0x20a0,
+ combining_diacritical_marks_for_symbols = 0x20d0,
+ letterlike_symbols = 0x2100,
+ number_forms = 0x2150,
+ arrows = 0x2190,
+ mathematical_operators = 0x2200,
+ miscellaneous_technical = 0x2300,
+ control_pictures = 0x2400,
+ optical_character_recognition = 0x2440,
+ enclosed_alphanumerics = 0x2460,
+ box_drawing = 0x2500,
+ block_elements = 0x2580,
+ geometric_shapes = 0x25a0,
+ miscellaneous_symbols = 0x2600,
+ dingbats = 0x2700,
+ miscellaneous_mathematical_symbols_a = 0x27c0,
+ supplemental_arrows_a = 0x27f0,
+ braille_patterns = 0x2800,
+ supplemental_arrows_b = 0x2900,
+ miscellaneous_mathematical_symbols_b = 0x2980,
+ supplemental_mathematical_operators = 0x2a00,
+ miscellaneous_symbols_and_arrows = 0x2b00,
+ glagolitic = 0x2c00,
+ latin_extended_c = 0x2c60,
+ coptic = 0x2c80,
+ georgian_supplement = 0x2d00,
+ tifinagh = 0x2d30,
+ ethiopic_extended = 0x2d80,
+ cyrillic_extended_a = 0x2de0,
+ supplemental_punctuation = 0x2e00,
+ cjk_radicals_supplement = 0x2e80,
+ kangxi_radicals = 0x2f00,
+ ideographic_description_characters = 0x2ff0,
+ cjk_symbols_and_punctuation = 0x3000,
+ hiragana = 0x3040,
+ katakana = 0x30a0,
+ bopomofo = 0x3100,
+ hangul_compatibility_jamo = 0x3130,
+ kanbun = 0x3190,
+ bopomofo_extended = 0x31a0,
+ cjk_strokes = 0x31c0,
+ katakana_phonetic_extensions = 0x31f0,
+ enclosed_cjk_letters_and_months = 0x3200,
+ cjk_compatibility = 0x3300,
+ cjk_unified_ideographs_extension_a = 0x3400,
+ yijing_hexagram_symbols = 0x4dc0,
+ cjk_unified_ideographs = 0x4e00,
+ yi_syllables = 0xa000,
+ yi_radicals = 0xa490,
+ vai = 0xa500,
+ cyrillic_extended_b = 0xa640,
+ modifier_tone_letters = 0xa700,
+ latin_extended_d = 0xa720,
+ syloti_nagri = 0xa800,
+ phags_pa = 0xa840,
+ saurashtra = 0xa880,
+ kayah_li = 0xa900,
+ rejang = 0xa930,
+ cham = 0xaa00,
+ hangul_syllables = 0xac00,
+ high_surrogates = 0xd800,
+ high_private_use_surrogates = 0xdb80,
+ low_surrogates = 0xdc00,
+ private_use_area = 0xe000,
+ cjk_compatibility_ideographs = 0xf900,
+ alphabetic_presentation_forms = 0xfb00,
+ arabic_presentation_forms_a = 0xfb50,
+ variation_selectors = 0xfe00,
+ vertical_forms = 0xfe10,
+ combining_half_marks = 0xfe20,
+ cjk_compatibility_forms = 0xfe30,
+ small_form_variants = 0xfe50,
+ arabic_presentation_forms_b = 0xfe70,
+ halfwidth_and_fullwidth_forms = 0xff00,
+ specials = 0xfff0,
+ linear_b_syllabary = 0x10000,
+ linear_b_ideograms = 0x10080,
+ aegean_numbers = 0x10100,
+ ancient_greek_numbers = 0x10140,
+ ancient_symbols = 0x10190,
+ phaistos_disc = 0x101d0,
+ lycian = 0x10280,
+ carian = 0x102a0,
+ old_italic = 0x10300,
+ gothic = 0x10330,
+ ugaritic = 0x10380,
+ old_persian = 0x103a0,
+ deseret = 0x10400,
+ shavian = 0x10450,
+ osmanya = 0x10480,
+ cypriot_syllabary = 0x10800,
+ phoenician = 0x10900,
+ lydian = 0x10920,
+ kharoshthi = 0x10a00,
+ cuneiform = 0x12000,
+ cuneiform_numbers_and_punctuation = 0x12400,
+ byzantine_musical_symbols = 0x1d000,
+ musical_symbols = 0x1d100,
+ ancient_greek_musical_notation = 0x1d200,
+ tai_xuan_jing_symbols = 0x1d300,
+ counting_rod_numerals = 0x1d360,
+ mathematical_alphanumeric_symbols = 0x1d400,
+ mahjong_tiles = 0x1f000,
+ domino_tiles = 0x1f030,
+ cjk_unified_ideographs_extension_b = 0x20000,
+ cjk_compatibility_ideographs_supplement = 0x2f800,
+ tags = 0xe0000,
+ variation_selectors_supplement = 0xe0100,
+ supplementary_private_use_area_a = 0xf0000,
+ supplementary_private_use_area_b = 0x100000,
+ };
+ };
+
+ const char* as_string(block::type);
+
+}}} // namespaces
+
+#endif // BOOST_UNICODE_UNI_UCD_CHARACTER_PROPERTIES_HPP_INCLUDED

Added: sandbox/SOC/2009/unicode/boost/unicode/ucd/detail/unichar_data.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/unicode/boost/unicode/ucd/detail/unichar_data.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -0,0 +1,154 @@
+#ifndef BOOST_UNICODE_UNICHAR_DATA_HPP
+#define BOOST_UNICODE_UNICHAR_DATA_HPP
+
+#include <boost/assert.hpp>
+#include <boost/mpl/int.hpp>
+
+#include <boost/cuchar.hpp>
+#include <boost/unicode/ucd/properties_types.hpp>
+
+namespace boost
+{
+namespace unicode
+{
+namespace ucd
+{
+ namespace detail
+ {
+ template<int X, int Y>
+ struct pow : boost::mpl::int_< X * pow<X, Y-1>::value >
+ {
+ };
+
+ template<int X>
+ struct pow<X, 0> : boost::mpl::int_<1>
+ {
+ };
+ } // namespace detail
+
+ /***************************************************************
+ *** These structure are for internal use only and should not be
+ **** used by any developer unless they are providing a custom
+ **** implementation of the character properties interface
+ **** Changes to this must be reflected
+ **** in write_character_properties.cpp:
+ **** fnct: operator << (std::fstream& file, const write_entry& data)
+ ****************************************************************/
+ const int complex_case_size_const = 4;
+ const int block_size_bits_const = 7;
+ const int block_size_const = detail::pow<2, block_size_bits_const>::value;
+
+ struct unichar_sort_data_entry
+ {
+ // to optimise the structure across different targets we move the
+ // pointers to the front
+ const uint16_t * sort_data_begin;
+ const uint16_t * sort_data_end;
+ const char32 * following_chars;
+ const uint16_t following_chars_count;
+ };
+
+ struct unichar_complex_case_internal
+ {
+ const int length_uppercase;
+ const char32 uppercase[complex_case_size_const];
+ const int length_lowercase;
+ const char32 lowercase[complex_case_size_const];
+ const int length_titlecase;
+ const char32 titlecase[complex_case_size_const];
+ // There may be several sequential entries for complex case
+ // for a single character
+ // Entries will be parsed in order until an entry with
+ // finalEntry is found
+ const bool final_entry;
+ // TODO local and conditions
+ };
+
+ struct sort_type
+ {
+ enum type
+ {
+ // this enum is used to reduce the data size required
+ // to represent the sort data from the uca
+
+ // sort data is default value for the character range for the character
+ default_ = 0,
+
+ // sort data is defined in the unichar_sort_data_entry table
+ // and sort_index_or_data1 is the index into the table
+ is_index,
+
+ // sort data is 0000.data1.data2.char32
+ zero_data1_data2_cp,
+
+ // sort data is data1.0020.data2.char32
+ data1_0x0020_data2_cp,
+
+ _count
+ };
+ enum { data_0x0020_0x000D_cp_offset = 5 };
+ };
+ const char* as_string(sort_type::type);
+
+ struct unichar_data_internal
+ {
+ // to optimise the structure across different targets we move the
+ // pointers to the front
+ const char * name;
+ const char32 * decomp;
+ const unichar_complex_case_internal* complex_case;
+
+ struct
+ {
+ uint32_t category : 5;
+ uint32_t join_type : 3;
+ uint32_t word_break : 3;
+ uint32_t unknown_char : 1;
+ // first value for sort_variable
+ uint32_t sort_variable : 1;
+ uint32_t sort_data_type : 2;
+ uint32_t sort_data2 : 16;
+ uint32_t : 0; // alignment
+
+ uint32_t bidi_class : 5;
+ uint32_t decomposition_type : 5;
+ uint32_t break_class : 6;
+ uint32_t combining : 8;
+ uint32_t sentence_break : 4;
+ uint32_t grapheme_cluster_break : 4;
+ uint32_t : 0; // alignment
+ };
+ // the meaning of this is controlled by predefined_sort
+ const uint16_t sort_index_or_data1;
+ const char32 uppercase;
+ const char32 lowercase;
+ const char32 titlecase;
+ };
+
+ struct unichar_blocks_internal
+ {
+ const char32 first;
+ const char32 last;
+ const char* name;
+ };
+
+ extern const boost::unicode::ucd::unichar_data_internal* __uni_char_data[];
+ extern const boost::unicode::ucd::unichar_blocks_internal __uni_block_data[];
+ extern const boost::unicode::ucd::unichar_sort_data_entry __uni_sort_entry[];
+
+ extern const size_t __uni_block_data_size;
+
+ inline const unichar_data_internal& get_data_internal(char32 ch)
+ {
+ BOOST_ASSERT(ch <= 0x10FFFD);
+
+ return __uni_char_data
+ [ch >> block_size_bits_const]
+ [ch & (block_size_const-1)];
+ }
+
+} // namespace ucd
+} // namespace unicode
+} // namespace boost
+
+#endif

Added: sandbox/SOC/2009/unicode/boost/unicode/ucd/properties.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/unicode/boost/unicode/ucd/properties.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -0,0 +1,60 @@
+#ifndef BOOST_UNICODE_PROPRIETIES_HPP
+#define BOOST_UNICODE_PROPRIETIES_HPP
+
+#include <boost/cuchar.hpp>
+#include <boost/unicode/ucd/properties_types.hpp>
+#include <boost/unicode/ucd/block_types.hpp>
+
+#include <boost/unicode/ucd/detail/unichar_data.hpp>
+
+#include <algorithm>
+#include <iostream>
+
+namespace boost
+{
+namespace unicode
+{
+
+/** INTERNAL ONLY **/
+#define BOOST_UNICODE_GET_PROPERTY_DEF(Name) \
+inline Name::type get_ ## Name(char32 ch) \
+{ \
+ return (Name::type)ucd::get_data_internal(ch).Name; \
+}
+
+namespace ucd
+{
+
+BOOST_UNICODE_GET_PROPERTY_DEF(category)
+BOOST_UNICODE_GET_PROPERTY_DEF(join_type)
+BOOST_UNICODE_GET_PROPERTY_DEF(bidi_class)
+BOOST_UNICODE_GET_PROPERTY_DEF(decomposition_type)
+BOOST_UNICODE_GET_PROPERTY_DEF(break_class)
+BOOST_UNICODE_GET_PROPERTY_DEF(grapheme_cluster_break)
+BOOST_UNICODE_GET_PROPERTY_DEF(word_break)
+BOOST_UNICODE_GET_PROPERTY_DEF(sentence_break)
+
+inline bool is_unknown(char32 ch)
+{
+ return ucd::get_data_internal(ch).unknown_char;
+}
+
+inline const char* get_name(char32 ch)
+{
+ return ucd::get_data_internal(ch).name;
+}
+
+inline int get_combining_class(char32 ch)
+{
+ return ucd::get_data_internal(ch).combining;
+}
+
+/** Returns the block the code point designated by \c ch is in, or
+ * \c block::none if the code point does not lie in any block. */
+block::type get_block(char32 ch);
+
+} // namespace ucd
+} // namespace unicode
+} // namespace boost
+
+#endif

Added: sandbox/SOC/2009/unicode/boost/unicode/ucd/properties_types.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/unicode/boost/unicode/ucd/properties_types.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -0,0 +1,270 @@
+// Define Unicode character properties.
+// Though this file is under the Boost license, it is NOT (or not yet) part of
+// Boost!
+
+// Copyright Graham Barnett, Rogier van Dalen 2005.
+// Use, modification, and distribution are subject to the Boost Software
+// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_UNICODE_CHARACTER_PROPERTIES_HPP_INCLUDED
+#define BOOST_UNICODE_CHARACTER_PROPERTIES_HPP_INCLUDED
+
+namespace boost
+{
+namespace unicode
+{
+
+ namespace ucd
+ {
+ /*
+ Unicode character types
+ */
+
+ struct category
+ {
+ enum type // maximum 32 values (5 bits)
+ {
+ letter_uppercase = 0,
+ letter_lowercase,
+ letter_titlecase,
+ letter_modifier,
+ letter_other,
+ mark_nonspacing,
+ mark_spacing_combining,
+ mark_enclosing,
+ number_decimal_digit,
+ number_letter,
+ number_other,
+ punctuation_connector,
+ punctuation_dash,
+ punctuation_open,
+ punctuation_close,
+ punctuation_initial_quote,
+ punctuation_final_quote,
+ punctuation_other,
+ symbol_math,
+ symbol_currency,
+ symbol_modifier,
+ symbol_other,
+ separator_space,
+ separator_line,
+ separator_paragraph,
+ other_control,
+ other_format,
+ other_surrogate,
+ other_private_use,
+ // Todo: collapse these values into one?
+ // It seems too subtle a difference.
+ other_not_assigned,
+ unknown, // default value for unknown characters
+
+ _count
+ };
+ };
+ const char* as_string(category::type);
+
+ struct join_type
+ {
+ enum type // maximum 8 values (3 bits)
+ {
+ none = 0, // default value for unknown characters
+ right,
+ left,
+ dual,
+ causing,
+ transparent,
+ _count
+ };
+ };
+ const char* as_string(join_type::type);
+
+ struct bidi_class
+ {
+ enum type // maximum 32 values (5 bits)
+ {
+ // default value for unknown characters
+ strong_left_to_right = 1,
+ strong_left_to_right_embedding,
+ strong_left_to_right_override,
+
+ strong_right_to_left, // = 4
+ strong_right_to_left_arabic,
+ strong_right_to_left_embedding,
+ strong_right_to_left_override,
+
+ weak_pop_direction_format, // = 8
+ weak_european_digits,
+ weak_european_number_separator,
+ weak_european_number_terminator,
+ weak_arabic_number,
+ weak_common_number_separator,
+ weak_non_spacing_mark,
+ weak_boundary_neutral,
+
+ neutral_paragraph_separator, // = 16
+ neutral_segment_separator,
+ neutral_whitespace,
+ neutral_other,
+
+ _count
+ };
+ };
+ const char* as_string(bidi_class::type);
+
+ struct break_class
+ {
+ enum type // maximum 64 values (6 bits)
+ {
+ mandatory = 0,
+ carriage_return,
+ line_feed,
+ combining_mark,
+ next_line,
+ surrogate,
+ word_joiner,
+ zero_width_space,
+ non_breaking,
+ contingent_break_opportunity,
+ space,
+ break_opportunity_before_after,
+ break_opportunity_after,
+ break_opportunity_before,
+ hyphen,
+ closing_punctuation,
+ exclamation_interrogation,
+ inseparable,
+ non_starter,
+ opening_punctuation,
+ ambiguous_quotation,
+ infix_separator,
+ numeric,
+ postfix_numeric,
+ prefix_numeric,
+ symbol_allowing_break,
+ ambiguous,
+ ordinary_alpabetic_or_symbol_character,
+ hangul_lv_syllable,
+ hangul_lvt_syllable,
+ ideograph,
+ hangul_l_jamo,
+ hangul_v_jamo,
+ hangul_t_jamo,
+ complex_context,
+ unknown, // default value for unknown characters
+
+ _count
+ };
+ };
+ const char* as_string(break_class::type);
+
+ struct break_action // maximum 8 values (3 bits)
+ {
+ enum type
+ {
+ direct = 0,
+ indirect = 1, // default value for unknown characters
+ combining_indirect = 2,
+ combining_prohibited = 3,
+ prohibited = 4,
+ always = 5,
+
+ _count
+ };
+ };
+ const char* as_string(break_action::type);
+
+ struct decomposition_type
+ {
+ enum type // maximum 32 values (5 bits)
+ {
+ font = 0,
+ no_break,
+ initial,
+ medial,
+ final,
+ isolated,
+ circle,
+ super,
+ sub,
+ vertical,
+ wide,
+ narrow,
+ small,
+ square,
+ fraction,
+ compat,
+ canonical,
+ none, // default value for unknown characters
+
+ _count
+ };
+ };
+ const char* as_string(decomposition_type::type);
+
+ struct grapheme_cluster_break
+ {
+ enum type // maximum 16 values (4 bits)
+ {
+ cr = 0, // value fixed
+ lf = 1, // value fixed
+ control = 2, // value fixed
+ l = 3, // value fixed
+ v = 4, // value fixed
+ t = 5, // value fixed
+ lv = 6, // value fixed
+ lvt = 7, // value fixed
+ extend = 8, // value fixed
+ // default value for unknown characters
+ any = 9, // value fixed
+
+ _count
+ };
+ };
+ const char* as_string(grapheme_cluster_break::type);
+
+ struct word_break
+ {
+ enum type // maximum 8 values (3 bits)
+ {
+ format = 0,
+ katakana,
+ aletter,
+ midletter,
+ midnum,
+ numeric,
+ extendnumlet,
+ any, // default value for unknown characters
+
+ _count
+ };
+ };
+ const char* as_string(word_break::type);
+
+ struct sentence_break
+ {
+ enum type // maximum 16 values (4 bits)
+ {
+ sep = 0,
+ format,
+ sp,
+ lower,
+ upper,
+ oletter,
+ numeric,
+ aterm,
+ sterm,
+ close,
+ any, // default value for unknown characters
+
+ _count
+ };
+ };
+ const char* as_string(sentence_break::type);
+
+ } // namespace ucd
+
+} // namespace unicode
+} // namespace boost
+
+#endif // BOOST_UNICODE_CHARACTER_PROPERTIES_HPP_INCLUDED

Deleted: sandbox/SOC/2009/unicode/boost/unicode/ucd/unicode_block_types.hpp
==============================================================================
--- sandbox/SOC/2009/unicode/boost/unicode/ucd/unicode_block_types.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
+++ (empty file)
@@ -1,207 +0,0 @@
-// Though this file is under the Boost license, it is NOT (or not yet) part of
-// Boost!
-
-// Copyright Graham Barnett, Rogier van Dalen 2005.
-// Use, modification, and distribution are subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// This file was created using information from the
-// www.unicode.org web site
-// License http://www.unicode.org/copyright.html
-
-/**** This file should be included in any project that uses ****/
-/**** the boost Unicode character interface ****/
-/**** This file is automatically generated and should not be modified.****/
-
-/**** WARNING !! The block enum is a sparse enum to allow for ****/
-/**** new values to be added to the unicode spec without affecting ****/
-/**** existing code ****/
-
-
-#ifndef BOOST_UNICODE_UNI_UCD_CHARACTER_PROPERTIES_HPP_INCLUDED
-#define BOOST_UNICODE_UNI_UCD_CHARACTER_PROPERTIES_HPP_INCLUDED
-
-
-namespace boost { namespace unicode {
-
- struct block
- {
- enum type
- {
- basic_latin = 0x0,
- latin_1_supplement = 0x80,
- latin_extended_a = 0x100,
- latin_extended_b = 0x180,
- ipa_extensions = 0x250,
- spacing_modifier_letters = 0x2b0,
- combining_diacritical_marks = 0x300,
- greek_and_coptic = 0x370,
- cyrillic = 0x400,
- cyrillic_supplement = 0x500,
- armenian = 0x530,
- hebrew = 0x590,
- arabic = 0x600,
- syriac = 0x700,
- arabic_supplement = 0x750,
- thaana = 0x780,
- nko = 0x7c0,
- devanagari = 0x900,
- bengali = 0x980,
- gurmukhi = 0xa00,
- gujarati = 0xa80,
- oriya = 0xb00,
- tamil = 0xb80,
- telugu = 0xc00,
- kannada = 0xc80,
- malayalam = 0xd00,
- sinhala = 0xd80,
- thai = 0xe00,
- lao = 0xe80,
- tibetan = 0xf00,
- myanmar = 0x1000,
- georgian = 0x10a0,
- hangul_jamo = 0x1100,
- ethiopic = 0x1200,
- ethiopic_supplement = 0x1380,
- cherokee = 0x13a0,
- unified_canadian_aboriginal_syllabics = 0x1400,
- ogham = 0x1680,
- runic = 0x16a0,
- tagalog = 0x1700,
- hanunoo = 0x1720,
- buhid = 0x1740,
- tagbanwa = 0x1760,
- khmer = 0x1780,
- mongolian = 0x1800,
- limbu = 0x1900,
- tai_le = 0x1950,
- new_tai_lue = 0x1980,
- khmer_symbols = 0x19e0,
- buginese = 0x1a00,
- balinese = 0x1b00,
- sundanese = 0x1b80,
- lepcha = 0x1c00,
- ol_chiki = 0x1c50,
- phonetic_extensions = 0x1d00,
- phonetic_extensions_supplement = 0x1d80,
- combining_diacritical_marks_supplement = 0x1dc0,
- latin_extended_additional = 0x1e00,
- greek_extended = 0x1f00,
- general_punctuation = 0x2000,
- superscripts_and_subscripts = 0x2070,
- currency_symbols = 0x20a0,
- combining_diacritical_marks_for_symbols = 0x20d0,
- letterlike_symbols = 0x2100,
- number_forms = 0x2150,
- arrows = 0x2190,
- mathematical_operators = 0x2200,
- miscellaneous_technical = 0x2300,
- control_pictures = 0x2400,
- optical_character_recognition = 0x2440,
- enclosed_alphanumerics = 0x2460,
- box_drawing = 0x2500,
- block_elements = 0x2580,
- geometric_shapes = 0x25a0,
- miscellaneous_symbols = 0x2600,
- dingbats = 0x2700,
- miscellaneous_mathematical_symbols_a = 0x27c0,
- supplemental_arrows_a = 0x27f0,
- braille_patterns = 0x2800,
- supplemental_arrows_b = 0x2900,
- miscellaneous_mathematical_symbols_b = 0x2980,
- supplemental_mathematical_operators = 0x2a00,
- miscellaneous_symbols_and_arrows = 0x2b00,
- glagolitic = 0x2c00,
- latin_extended_c = 0x2c60,
- coptic = 0x2c80,
- georgian_supplement = 0x2d00,
- tifinagh = 0x2d30,
- ethiopic_extended = 0x2d80,
- cyrillic_extended_a = 0x2de0,
- supplemental_punctuation = 0x2e00,
- cjk_radicals_supplement = 0x2e80,
- kangxi_radicals = 0x2f00,
- ideographic_description_characters = 0x2ff0,
- cjk_symbols_and_punctuation = 0x3000,
- hiragana = 0x3040,
- katakana = 0x30a0,
- bopomofo = 0x3100,
- hangul_compatibility_jamo = 0x3130,
- kanbun = 0x3190,
- bopomofo_extended = 0x31a0,
- cjk_strokes = 0x31c0,
- katakana_phonetic_extensions = 0x31f0,
- enclosed_cjk_letters_and_months = 0x3200,
- cjk_compatibility = 0x3300,
- cjk_unified_ideographs_extension_a = 0x3400,
- yijing_hexagram_symbols = 0x4dc0,
- cjk_unified_ideographs = 0x4e00,
- yi_syllables = 0xa000,
- yi_radicals = 0xa490,
- vai = 0xa500,
- cyrillic_extended_b = 0xa640,
- modifier_tone_letters = 0xa700,
- latin_extended_d = 0xa720,
- syloti_nagri = 0xa800,
- phags_pa = 0xa840,
- saurashtra = 0xa880,
- kayah_li = 0xa900,
- rejang = 0xa930,
- cham = 0xaa00,
- hangul_syllables = 0xac00,
- high_surrogates = 0xd800,
- high_private_use_surrogates = 0xdb80,
- low_surrogates = 0xdc00,
- private_use_area = 0xe000,
- cjk_compatibility_ideographs = 0xf900,
- alphabetic_presentation_forms = 0xfb00,
- arabic_presentation_forms_a = 0xfb50,
- variation_selectors = 0xfe00,
- vertical_forms = 0xfe10,
- combining_half_marks = 0xfe20,
- cjk_compatibility_forms = 0xfe30,
- small_form_variants = 0xfe50,
- arabic_presentation_forms_b = 0xfe70,
- halfwidth_and_fullwidth_forms = 0xff00,
- specials = 0xfff0,
- linear_b_syllabary = 0x10000,
- linear_b_ideograms = 0x10080,
- aegean_numbers = 0x10100,
- ancient_greek_numbers = 0x10140,
- ancient_symbols = 0x10190,
- phaistos_disc = 0x101d0,
- lycian = 0x10280,
- carian = 0x102a0,
- old_italic = 0x10300,
- gothic = 0x10330,
- ugaritic = 0x10380,
- old_persian = 0x103a0,
- deseret = 0x10400,
- shavian = 0x10450,
- osmanya = 0x10480,
- cypriot_syllabary = 0x10800,
- phoenician = 0x10900,
- lydian = 0x10920,
- kharoshthi = 0x10a00,
- cuneiform = 0x12000,
- cuneiform_numbers_and_punctuation = 0x12400,
- byzantine_musical_symbols = 0x1d000,
- musical_symbols = 0x1d100,
- ancient_greek_musical_notation = 0x1d200,
- tai_xuan_jing_symbols = 0x1d300,
- counting_rod_numerals = 0x1d360,
- mathematical_alphanumeric_symbols = 0x1d400,
- mahjong_tiles = 0x1f000,
- domino_tiles = 0x1f030,
- cjk_unified_ideographs_extension_b = 0x20000,
- cjk_compatibility_ideographs_supplement = 0x2f800,
- tags = 0xe0000,
- variation_selectors_supplement = 0xe0100,
- supplementary_private_use_area_a = 0xf0000,
- supplementary_private_use_area_b = 0x100000,
- };
- };
-}} // namespaces
-
-#endif // BOOST_UNICODE_UNI_UCD_CHARACTER_PROPERTIES_HPP_INCLUDED

Deleted: sandbox/SOC/2009/unicode/boost/unicode/unicode_properties.hpp
==============================================================================
--- sandbox/SOC/2009/unicode/boost/unicode/unicode_properties.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
+++ (empty file)
@@ -1,200 +0,0 @@
-#ifndef BOOST_UNICODE_PROPRIETIES
-#define BOOST_UNICODE_PROPRIETIES
-
-#include <boost/cuchar.hpp>
-#include <boost/assert.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/mpl/int.hpp>
-
-#include <boost/unicode/unicode_properties_types.hpp>
-
-namespace boost
-{
-namespace unicode
-{
-
-inline bool is_high_surrogate(char32 v)
-{
- return (v & 0xFC00u) == 0xd800u;
-}
-
-inline bool is_low_surrogate(char32 v)
-{
- return (v & 0xFC00u) == 0xdc00u;
-}
-
-inline bool is_surrogate(char32 v)
-{
- return (v & 0xF800u) == 0xd800;
-}
-
-namespace detail
-{
- template<int X, int Y>
- struct pow : boost::mpl::int_< X * pow<X, Y-1>::value >
- {
- };
-
- template<int X>
- struct pow<X, 0> : boost::mpl::int_<1>
- {
- };
-}
-
-namespace ucd
-{
- /***************************************************************
- *** These structure are for internal use only and should not be
- **** used by any developer unless they are providing a custom
- **** implementation of the character properties interface
- **** Changes to this must be reflected
- **** in write_character_properties.cpp:
- **** fnct: operator << (std::fstream& file, const write_entry& data)
- ****************************************************************/
- const int complex_case_size_const = 4;
- const int block_size_bits_const = 7;
- const int block_size_const = detail::pow<2, block_size_bits_const>::value;
-
- struct unichar_sort_data_entry
- {
- // to optimise the structure across different targets we move the
- // pointers to the front
- const uint16_t * sort_data_begin;
- const uint16_t * sort_data_end;
- const char32 * following_chars;
- const uint16_t following_chars_count;
- };
-
- struct unichar_complex_case_internal
- {
- const int length_uppercase;
- const char32 uppercase[complex_case_size_const];
- const int length_lowercase;
- const char32 lowercase[complex_case_size_const];
- const int length_titlecase;
- const char32 titlecase[complex_case_size_const];
- // There may be several sequential entries for complex case
- // for a single character
- // Entries will be parsed in order until an entry with
- // finalEntry is found
- const bool final_entry;
- // TODO local and conditions
- };
-
- struct sort_type
- {
- enum type
- {
- // this enum is used to reduce the data size required
- // to represent the sort data from the uca
-
- // sort data is default value for the character range for the character
- default_ = 0,
-
- // sort data is defined in the unichar_sort_data_entry table
- // and sort_index_or_data1 is the index into the table
- is_index,
-
- // sort data is 0000.data1.data2.char32
- zero_data1_data2_cp,
-
- // sort data is data1.0020.data2.char32
- data1_0x0020_data2_cp,
-
- _count
- };
- enum { data_0x0020_0x000D_cp_offset = 5 };
- };
- const char* as_string(sort_type::type);
-
- struct unichar_data_internal
- {
- // to optimise the structure across different targets we move the
- // pointers to the front
- const char * name;
- const char32 * decomp;
- const unichar_complex_case_internal* complex_case;
-
- struct
- {
- uint32_t category : 5;
- uint32_t join_type : 3;
- uint32_t word_break : 3;
- uint32_t unknown_char : 1;
- // first value for sort_variable
- uint32_t sort_variable : 1;
- uint32_t sort_data_type : 2;
- uint32_t sort_data2 : 16;
- uint32_t : 0; // alignment
-
- uint32_t bidi_class : 5;
- uint32_t decomposition_type : 5;
- uint32_t break_class : 6;
- uint32_t combining : 8;
- uint32_t sentence_break : 4;
- uint32_t grapheme_cluster_break : 4;
- uint32_t : 0; // alignment
- };
- // the meaning of this is controlled by predefined_sort
- const uint16_t sort_index_or_data1;
- const char32 uppercase;
- const char32 lowercase;
- const char32 titlecase;
- };
-
- struct unichar_blocks_internal
- {
- const char32 first;
- const char32 last;
- const char* name;
- };
-
- extern const boost::unicode::ucd::unichar_data_internal* __uni_char_data[];
- extern const boost::unicode::ucd::unichar_blocks_internal __uni_block_data[];
- extern const boost::unicode::ucd::unichar_sort_data_entry __uni_sort_entry[];
-
- inline const unichar_data_internal& get_data_internal(char32 ch)
- {
- BOOST_ASSERT(ch <= 0x10FFFD);
-
- return __uni_char_data
- [ch >> block_size_bits_const]
- [ch & (block_size_const-1)];
- }
-
-} // namespace ucd
-
-#define BOOST_UNICODE_GET_PROPERTY_DEF(Name) \
-inline Name::type BOOST_PP_CAT(get_, Name)(char32 ch) \
-{ \
- return (Name::type)ucd::get_data_internal(ch).Name; \
-}
-
-BOOST_UNICODE_GET_PROPERTY_DEF(category)
-BOOST_UNICODE_GET_PROPERTY_DEF(join_type)
-BOOST_UNICODE_GET_PROPERTY_DEF(bidi_class)
-BOOST_UNICODE_GET_PROPERTY_DEF(decomposition_type)
-BOOST_UNICODE_GET_PROPERTY_DEF(break_class)
-BOOST_UNICODE_GET_PROPERTY_DEF(grapheme_cluster_break)
-BOOST_UNICODE_GET_PROPERTY_DEF(word_break)
-BOOST_UNICODE_GET_PROPERTY_DEF(sentence_break)
-
-inline bool is_unknown(char32 ch)
-{
- return ucd::get_data_internal(ch).unknown_char;
-}
-
-inline const char* get_name(char32 ch)
-{
- return ucd::get_data_internal(ch).name;
-}
-
-inline int get_combining_class(char32 ch)
-{
- return ucd::get_data_internal(ch).combining;
-}
-
-} // namespace unicode
-} // namespace boost
-
-#endif

Deleted: sandbox/SOC/2009/unicode/boost/unicode/unicode_properties_types.hpp
==============================================================================
--- sandbox/SOC/2009/unicode/boost/unicode/unicode_properties_types.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
+++ (empty file)
@@ -1,269 +0,0 @@
-// Define Unicode character properties.
-// Though this file is under the Boost license, it is NOT (or not yet) part of
-// Boost!
-
-// Copyright Graham Barnett, Rogier van Dalen 2005.
-// Use, modification, and distribution are subject to the Boost Software
-// License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_UNICODE_CHARACTER_PROPERTIES_HPP_INCLUDED
-#define BOOST_UNICODE_CHARACTER_PROPERTIES_HPP_INCLUDED
-
-#include <boost/unicode/ucd/unicode_block_types.hpp>
-
-namespace boost
-{
-
- namespace unicode
- {
- /*
- Unicode character types
- */
-
- struct category
- {
- enum type // maximum 32 values (5 bits)
- {
- letter_uppercase = 0,
- letter_lowercase,
- letter_titlecase,
- letter_modifier,
- letter_other,
- mark_nonspacing,
- mark_spacing_combining,
- mark_enclosing,
- number_decimal_digit,
- number_letter,
- number_other,
- punctuation_connector,
- punctuation_dash,
- punctuation_open,
- punctuation_close,
- punctuation_initial_quote,
- punctuation_final_quote,
- punctuation_other,
- symbol_math,
- symbol_currency,
- symbol_modifier,
- symbol_other,
- separator_space,
- separator_line,
- separator_paragraph,
- other_control,
- other_format,
- other_surrogate,
- other_private_use,
- // Todo: collapse these values into one?
- // It seems too subtle a difference.
- other_not_assigned,
- unknown, // default value for unknown characters
-
- _count
- };
- };
- const char* as_string(category::type);
-
- struct join_type
- {
- enum type // maximum 8 values (3 bits)
- {
- none = 0, // default value for unknown characters
- right,
- left,
- dual,
- causing,
- transparent,
- _count
- };
- };
- const char* as_string(join_type::type);
-
- struct bidi_class
- {
- enum type // maximum 32 values (5 bits)
- {
- // default value for unknown characters
- strong_left_to_right = 1,
- strong_left_to_right_embedding,
- strong_left_to_right_override,
-
- strong_right_to_left, // = 4
- strong_right_to_left_arabic,
- strong_right_to_left_embedding,
- strong_right_to_left_override,
-
- weak_pop_direction_format, // = 8
- weak_european_digits,
- weak_european_number_separator,
- weak_european_number_terminator,
- weak_arabic_number,
- weak_common_number_separator,
- weak_non_spacing_mark,
- weak_boundary_neutral,
-
- neutral_paragraph_separator, // = 16
- neutral_segment_separator,
- neutral_whitespace,
- neutral_other,
-
- _count
- };
- };
- const char* as_string(bidi_class::type);
-
- struct break_class
- {
- enum type // maximum 64 values (6 bits)
- {
- mandatory = 0,
- carriage_return,
- line_feed,
- combining_mark,
- next_line,
- surrogate,
- word_joiner,
- zero_width_space,
- non_breaking,
- contingent_break_opportunity,
- space,
- break_opportunity_before_after,
- break_opportunity_after,
- break_opportunity_before,
- hyphen,
- closing_punctuation,
- exclamation_interrogation,
- inseparable,
- non_starter,
- opening_punctuation,
- ambiguous_quotation,
- infix_separator,
- numeric,
- postfix_numeric,
- prefix_numeric,
- symbol_allowing_break,
- ambiguous,
- ordinary_alpabetic_or_symbol_character,
- hangul_lv_syllable,
- hangul_lvt_syllable,
- ideograph,
- hangul_l_jamo,
- hangul_v_jamo,
- hangul_t_jamo,
- complex_context,
- unknown, // default value for unknown characters
-
- _count
- };
- };
- const char* as_string(break_class::type);
-
- struct break_action // maximum 8 values (3 bits)
- {
- enum type
- {
- direct = 0,
- indirect = 1, // default value for unknown characters
- combining_indirect = 2,
- combining_prohibited = 3,
- prohibited = 4,
- always = 5,
-
- _count
- };
- };
- const char* as_string(break_action::type);
-
- struct decomposition_type
- {
- enum type // maximum 32 values (5 bits)
- {
- dct_font = 0,
- dct_no_break,
- dct_initial,
- dct_medial,
- dct_final,
- dct_isolated,
- dct_circle,
- dct_super,
- dct_sub,
- dct_vertical,
- dct_wide,
- dct_narrow,
- dct_small,
- dct_square,
- dct_fraction,
- dct_compat,
- dct_canonical,
- dct_none, // default value for unknown characters
-
- _count
- };
- };
- const char* as_string(decomposition_type::type);
-
- struct grapheme_cluster_break
- {
- enum type // maximum 16 values (4 bits)
- {
- cr = 0, // value fixed
- lf = 1, // value fixed
- control = 2, // value fixed
- l = 3, // value fixed
- v = 4, // value fixed
- t = 5, // value fixed
- lv = 6, // value fixed
- lvt = 7, // value fixed
- extend = 8, // value fixed
- // default value for unknown characters
- any = 9, // value fixed
-
- _count
- };
- };
- const char* as_string(grapheme_cluster_break::type);
-
- struct word_break
- {
- enum type // maximum 8 values (3 bits)
- {
- format = 0,
- katakana,
- aletter,
- midletter,
- midnum,
- numeric,
- extendnumlet,
- any, // default value for unknown characters
-
- _count
- };
- };
- const char* as_string(word_break::type);
-
- struct sentence_break
- {
- enum type // maximum 16 values (4 bits)
- {
- sep = 0,
- format,
- sp,
- lower,
- upper,
- oletter,
- numeric,
- aterm,
- sterm,
- close,
- any, // default value for unknown characters
-
- _count
- };
- };
- const char* as_string(sentence_break::type);
-
- } // namespace unicode
-
-} // namespace boost
-
-#endif // BOOST_UNICODE_CHARACTER_PROPERTIES_HPP_INCLUDED

Deleted: sandbox/SOC/2009/unicode/boost/unicode/unicode_proprieties.hpp
==============================================================================
--- sandbox/SOC/2009/unicode/boost/unicode/unicode_proprieties.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
+++ (empty file)
@@ -1,29 +0,0 @@
-#ifndef BOOST_UNICODE_PROPRIETIES
-#define BOOST_UNICODE_PROPRIETIES
-
-#include <boost/cuchar.hpp>
-
-namespace boost
-{
-namespace unicode
-{
-
-inline bool is_high_surrogate(char32 v)
-{
- return (v & 0xFC00u) == 0xd800u;
-}
-
-inline bool is_low_surrogate(char32 v)
-{
- return (v & 0xFC00u) == 0xdc00u;
-}
-
-inline bool is_surrogate(char32 v)
-{
- return (v & 0xF800u) == 0xd800;
-}
-
-} // namespace unicode
-} // namespace boost
-
-#endif

Modified: sandbox/SOC/2009/unicode/boost/unicode/utf_conversion.hpp
==============================================================================
--- sandbox/SOC/2009/unicode/boost/unicode/utf_conversion.hpp (original)
+++ sandbox/SOC/2009/unicode/boost/unicode/utf_conversion.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -10,11 +10,14 @@
 #endif
 
 #include <boost/iterator/pipe_iterator.hpp>
-#include <boost/unicode/unicode_properties.hpp>
+#include <boost/unicode/surrogates.hpp>
 
 namespace boost
 {
 
+namespace unicode
+{
+
 namespace detail
 {
     
@@ -69,6 +72,8 @@
         throw_exception(e);
 }
 
+} // namespace detail
+
 struct u16_packer
 {
         typedef char16 output_type;
@@ -155,18 +160,18 @@
                 if(unicode::is_low_surrogate(value))
                 {
                         if(it == begin)
- invalid_utf_sequence(begin, end);
+ detail::invalid_utf_sequence(begin, end);
                         --it;
                         
                         char16 hi = *it;
                  if(!unicode::is_high_surrogate(hi))
- invalid_code_point(hi);
+ detail::invalid_code_point(hi);
                         
                         value = code_point(hi, value);
               }
               // postcondition; result must not be a surrogate:
               if(unicode::is_surrogate(value))
- invalid_code_point(static_cast<char16>(value));
+ detail::invalid_code_point(static_cast<char16>(value));
                         
                 *out++ = value;
                 
@@ -297,56 +302,63 @@
         }
 };
 
-} // namespace detail
+} // namespace unicode
 
+/** \brief test
+ * blabla
+ * \param range a big ass range
+ * \return something
+ * \throw bla
+ * \pre precondition
+ * \post postcondition **/
 template<typename Range>
 std::pair<
- pipe_iterator<typename range_iterator<const Range>::type, one_many_pipe<detail::u16_packer> >,
- pipe_iterator<typename range_iterator<const Range>::type, one_many_pipe<detail::u16_packer> >
+ pipe_iterator<typename range_iterator<const Range>::type, one_many_pipe<unicode::u16_packer> >,
+ pipe_iterator<typename range_iterator<const Range>::type, one_many_pipe<unicode::u16_packer> >
> make_u32_to_u16_range(const Range& range)
 {
- return make_pipe_range(range, make_one_many_pipe(detail::u16_packer()));
+ return make_pipe_range(range, make_one_many_pipe(unicode::u16_packer()));
 }
 
 template<typename Range>
 std::pair<
- pipe_iterator<typename range_iterator<const Range>::type, detail::u16_unpacker>,
- pipe_iterator<typename range_iterator<const Range>::type, detail::u16_unpacker>
+ pipe_iterator<typename range_iterator<const Range>::type, unicode::u16_unpacker>,
+ pipe_iterator<typename range_iterator<const Range>::type, unicode::u16_unpacker>
> make_u16_to_u32_range(const Range& range)
 {
- return make_pipe_range(range, detail::u16_unpacker());
+ return make_pipe_range(range, unicode::u16_unpacker());
 }
 
 template<typename Range>
 std::pair<
- pipe_iterator<typename range_iterator<const Range>::type, one_many_pipe<detail::u8_packer> >,
- pipe_iterator<typename range_iterator<const Range>::type, one_many_pipe<detail::u8_packer> >
+ pipe_iterator<typename range_iterator<const Range>::type, one_many_pipe<unicode::u8_packer> >,
+ pipe_iterator<typename range_iterator<const Range>::type, one_many_pipe<unicode::u8_packer> >
> make_u32_to_u8_range(const Range& range)
 {
- return make_pipe_range(range, make_one_many_pipe(detail::u8_packer()));
+ return make_pipe_range(range, make_one_many_pipe(unicode::u8_packer()));
 }
 
 template<typename Range>
 std::pair<
- pipe_iterator<typename range_iterator<const Range>::type, detail::u8_unpacker>,
- pipe_iterator<typename range_iterator<const Range>::type, detail::u8_unpacker>
+ pipe_iterator<typename range_iterator<const Range>::type, unicode::u8_unpacker>,
+ pipe_iterator<typename range_iterator<const Range>::type, unicode::u8_unpacker>
> make_u8_to_u32_range(const Range& range)
 {
- return make_pipe_range(range, detail::u8_unpacker());
+ return make_pipe_range(range, unicode::u8_unpacker());
 }
 
 template<typename OutputIterator>
-pipe_output_iterator<OutputIterator, one_many_pipe<detail::u8_packer> >
+pipe_output_iterator<OutputIterator, one_many_pipe<unicode::u8_packer> >
 make_u8_output_iterator(OutputIterator out)
 {
- return make_pipe_output_iterator(out, make_one_many_pipe(detail::u8_packer()));
+ return make_pipe_output_iterator(out, make_one_many_pipe(unicode::u8_packer()));
 }
 
 template<typename OutputIterator>
-pipe_output_iterator<OutputIterator, one_many_pipe<detail::u16_packer> >
+pipe_output_iterator<OutputIterator, one_many_pipe<unicode::u16_packer> >
 make_u16_output_iterator(OutputIterator out)
 {
- return make_pipe_output_iterator(out, make_one_many_pipe(detail::u16_packer()));
+ return make_pipe_output_iterator(out, make_one_many_pipe(unicode::u16_packer()));
 }
 
 } // namespace boost

Modified: sandbox/SOC/2009/unicode/libs/unicode/data_parser/main.cpp
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/data_parser/main.cpp (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/data_parser/main.cpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -8,7 +8,7 @@
 // http://www.boost.org/LICENSE_1_0.txt)
 
 
-#include <boost/unicode/unicode_properties.hpp>
+#include <boost/unicode/ucd/detail/unichar_data.hpp>
 #include "read_character_properties.hpp"
 #include "read_character_properties_files.hpp"
 #include "write_character_properties.hpp"

Modified: sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_character_properties.cpp
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_character_properties.cpp (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_character_properties.cpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -48,7 +48,7 @@
         char_not_present.general_category = category::unknown;
         char_not_present.combining = 0;
         char_not_present.bidi = bidi_class::strong_left_to_right;
- char_not_present.decomposition_kind = decomposition_type::dct_none;
+ char_not_present.decomposition_kind = decomposition_type::none;
         char_not_present.line_break = break_class::unknown;
         char_not_present.joining = join_type::none;
         char_not_present.unknown_char = true;

Modified: sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_character_properties.hpp
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_character_properties.hpp (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_character_properties.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -15,7 +15,7 @@
 #include <vector>
 #include <map>
 
-#include <boost/unicode/unicode_properties.hpp>
+#include <boost/unicode/ucd/detail/unichar_data.hpp>
 
 namespace boost
 {

Modified: sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_character_properties_unicodedata.cpp
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_character_properties_unicodedata.cpp (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_character_properties_unicodedata.cpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -221,60 +221,60 @@
                 // If none is indicated, it's a canonical decomposition_type.
                 (((str_p ("<font>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_font)] |
+ decomposition_type::font)] |
                 str_p ("<noBreak>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_no_break)] |
+ decomposition_type::no_break)] |
                 str_p ("<initial>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_initial)] |
+ decomposition_type::initial)] |
                 str_p ("<medial>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_medial)] |
+ decomposition_type::medial)] |
                 str_p ("<final>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_final)] |
+ decomposition_type::final)] |
                 str_p ("<isolated>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_isolated)] |
+ decomposition_type::isolated)] |
                 str_p ("<circle>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_circle)] |
+ decomposition_type::circle)] |
                 str_p ("<super>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_super)] |
+ decomposition_type::super)] |
                 str_p ("<sub>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_sub)] |
+ decomposition_type::sub)] |
                 str_p ("<vertical>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_vertical)] |
+ decomposition_type::vertical)] |
                 str_p ("<wide>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_wide)] |
+ decomposition_type::wide)] |
                 str_p ("<narrow>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_narrow)] |
+ decomposition_type::narrow)] |
                 str_p ("<small>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_small)] |
+ decomposition_type::small)] |
                 str_p ("<square>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_square)] |
+ decomposition_type::square)] |
                 str_p ("<fraction>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_fraction)] |
+ decomposition_type::fraction)] |
                 str_p ("<compat>")
                         [assign_a (prop.decomposition_kind,
- decomposition_type::dct_compat)] |
+ decomposition_type::compat)] |
                 eps_p [assign_a (prop.decomposition_kind,
- decomposition_type::dct_canonical)]
+ decomposition_type::canonical)]
                 ) >>
                 // composition
                 +(hex_p [push_back_a (prop.decomposition)])
                 ) |
                 // or no composition at all
- eps_p [assign_a (prop.decomposition_kind, decomposition_type::dct_none)]
+ eps_p [assign_a (prop.decomposition_kind, decomposition_type::none)]
                 ) >> ';' >>
 
                 // numeric type is skipped

Modified: sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_collation_data.hpp
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_collation_data.hpp (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/data_parser/read_collation_data.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -22,7 +22,7 @@
 #include <vector>
 #include <map>
 
-#include <boost/unicode/unicode_properties.hpp>
+#include <boost/unicode/ucd/detail/unichar_data.hpp>
 #include "read_character_properties.hpp"
 
 namespace boost

Modified: sandbox/SOC/2009/unicode/libs/unicode/data_parser/write_character_properties.cpp
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/data_parser/write_character_properties.cpp (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/data_parser/write_character_properties.cpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -310,8 +310,8 @@
 std::fstream& operator << (std::fstream& file, const read_block& data)
 {
         file << "\t{ ";
- file << "0x" << data.first << ", ";
- file << "0x" << data.last << ", ";
+ file << "0x" << std::hex << data.first << ", ";
+ file << "0x" << std::hex << data.last << ", ";
         file << "\"" << data.name << "\" ";
         file << "},\n";
 
@@ -437,7 +437,7 @@
     
         file << "\n\n#include <boost/assert.hpp>\n";
         file << "#include <boost/static_assert.hpp>\n";
- file << "#include <boost/unicode/unicode_properties.hpp>\n";
+ file << "#include <boost/unicode/ucd/properties.hpp>\n";
         size_t n;
         for (n = 0; n < nFiles; n++)
         {
@@ -455,14 +455,14 @@
                 file << tbl_block[n];
         }
 
- // write a terminating block
+ /*// write a terminating block
     read_block terminating_data;
     terminating_data.first = 0;
     terminating_data.last = 0;
     terminating_data.name = "";
- file << terminating_data;
+ file << terminating_data;*/
 
- file << "};\n\n\n";
+ file << "};\n\nconst size_t __uni_block_data_size = sizeof __uni_block_data / sizeof __uni_block_data[0];\n\n";
 
         // ---- block table -------------------------------------------------------
         
@@ -488,12 +488,12 @@
         const std::vector<read_block>& tbl_block, const char * dest_path_ucd_props)
 {
         std::cout << " writing " << dest_path_ucd_props
- << "unicode_block_types.hpp" << std::endl;
+ << "block_types.hpp" << std::endl;
 
         // open file
         std::stringstream fss;
         fss << dest_path_ucd_props;
- fss << "unicode_block_types.hpp";
+ fss << "block_types.hpp";
 
         std::fstream file;
         file.open(fss.str().c_str(), std::ios_base::out);
@@ -509,7 +509,7 @@
         
     file << "\n\n#ifndef BOOST_UNICODE_UNI_UCD_CHARACTER_PROPERTIES_HPP_INCLUDED\n";
     file << "#define BOOST_UNICODE_UNI_UCD_CHARACTER_PROPERTIES_HPP_INCLUDED\n";
- file << "\n\nnamespace boost { namespace unicode { \n\n";
+ file << "\n\nnamespace boost { namespace unicode { namespace ucd { \n\n";
 
         // ---- block table -------------------------------------------------------
 
@@ -517,6 +517,7 @@
         file << "\t\t{\n";
         file << "\t\t\tenum type\n";
         file << "\t\t\t{\n";
+ file << "\t\t\t\tnone = -1,\n\n";
 
         for (size_t n = 0; n < tbl_block.size(); n++)
         {
@@ -538,8 +539,10 @@
 
         file << "\t\t\t};\n";
         file << "\t\t};\n";
+
+ file << "\n\t\tconst char* as_string(block::type);\n\n";
 
- file << "}} // namespaces\n\n";
+ file << "}}} // namespaces\n\n";
     file << "#endif // BOOST_UNICODE_UNI_UCD_CHARACTER_PROPERTIES_HPP_INCLUDED\n";
         
         file.flush();
@@ -670,7 +673,7 @@
                     collation_entry sort_entry;
                     get_default_sort_characteristics(cp, sort_entry);
                     // this optimisation requires default to be of size 1
- assert(sort_entry.data.size() == 1);
+ //BUG assert(sort_entry.data.size() == 1);
                     tbl_coll.push_back(sort_entry.data[0]);
                 }
                 break;
@@ -694,7 +697,7 @@
                 break;
             default:
                 // invalid enum
- assert(iter_char->second.sort_type == (size_t)-1);
+ assert(iter_char->second.sort_type == (sort_type::type)-1);
                 break;
             }
         }

Modified: sandbox/SOC/2009/unicode/libs/unicode/data_parser/write_character_properties.hpp
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/data_parser/write_character_properties.hpp (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/data_parser/write_character_properties.hpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -27,7 +27,6 @@
 #endif
 #include <boost/tuple/tuple.hpp>
 
-#include <boost/unicode/unicode_properties.hpp>
 #include "read_character_properties.hpp"
 
 namespace boost { namespace unicode { namespace ucd {

Modified: sandbox/SOC/2009/unicode/libs/unicode/doc/Jamfile.v2
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/doc/Jamfile.v2 (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/doc/Jamfile.v2 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -9,13 +9,33 @@
 import boostbook : boostbook ;
 using quickbook ;
 
+import toolset ;
+toolset.using doxygen ;
+
 path-constant images : html ;
 
+import path ;
+
 boostbook quickbook
     :
- users_manual.qbk
+ users_manual.qbk autodoc
     :
+ <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html
         <format>pdf:<xsl:param>img.src.path=$(images)/
     ;
 
-
+doxygen autodoc
+ :
+ [ path.glob-tree ../../../boost/unicode ../../../boost/iterator : *.hpp : .svn detail ]
+ ../../../boost/cuchar.hpp
+ :
+ <doxygen:param>EXTRACT_ALL=YES
+ <doxygen:param>"PREDEFINED=\"BOOST_UNICODE_DOXYGEN_INVOKED\""
+ <doxygen:param>HIDE_UNDOC_MEMBERS=NO
+ <doxygen:param>EXTRACT_PRIVATE=NO
+ <doxygen:param>ENABLE_PREPROCESSING=YES
+ <doxygen:param>MACRO_EXPANSION=YES
+# <doxygen:param>EXPAND_ONLY_PREDEF=YES
+ <doxygen:param>SEARCH_INCLUDES=YES
+ <doxygen:param>INCLUDE_PATH=$(BOOST_ROOT)
+ ;

Modified: sandbox/SOC/2009/unicode/libs/unicode/doc/users_manual.qbk
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/doc/users_manual.qbk (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/doc/users_manual.qbk 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -1,6 +1,6 @@
 [library Unicode
     [quickbook 1.3]
- [version 1.0]
+ [version 0.1a2]
     [authors [Gaunard, Mathias]]
     [copyright 2009 Mathias Gaunard]
     [category string-text]
@@ -67,23 +67,26 @@
 Since microprocessors usually deal with integers whose capacity are multiples of 8 bits, a naive usage would be to use 32 bits per code point,
 which is quite a waste, especially since most daily-used characters lie in the Basic Multilingual Plane, which fits on 16 bits.
 
-That is why variable-width encodings were designed, where each code point is represented by a variable number of *code values*.
+That is why variable-width encodings were designed, where each code point is represented by a variable number of *code units*, formely also known as code values.
 [endsect]
 
 [section Encodings]
 
-The UTF-X family of encodings encode a single *code point* into a variable number of *code values*, each of which does X bits.
+The UTF-X family of encodings encode a single *code point* into a variable number of *code units*, each of which does X bits.
 
 [heading UTF-32]
 
-This encoding is fixed-width, each code value is simply a code point.
+This encoding is fixed-width, each code unit is simply a code point.
+
+This encoding isn't really recommended
 
 [heading UTF-16]
 
-Every code point is encoded by one or two code values. If the code point lies within the BMP, it is represented by exactly that code point.
+Every code point is encoded by one or two code units. If the code point lies within the BMP, it is represented by exactly that code point.
 Otherwise, the code point is represented by two values which both lie in the surrogate category of Unicode code points.
 
-This is the recommended encoding for dealing with Unicode.
+This is the recommended encoding for dealing with Unicode internally for general purposes, since it has fairly low processing overhead
+compared to UTF-8 and doesn't waste as much memory as UTF-32.
 
 [heading UTF-8]
 
@@ -92,6 +95,8 @@
 Every code point within ASCII is represented as exactly that ASCII character, others are represented as a variable-sized sequence from
 two to four bytes, all of which are non-ASCII.
 
+This encoding is popular for data storage and interchange, but can also be useful for compatibility with byte-oriented string manipulation.
+
 [endsect]
 
 [section Composite characters]
@@ -116,190 +121,118 @@
 the normalized form assumed by the XML standard.
 [endsect]
 
-[section Other]
-[endsect]
+[section Other operations]
 The Unicode standard also specifies various features such as a collation algorithm in __tr10__ for comparison and ordering of strings with
 a locale-specific criterion, as well as mechanisms to iterate over words, sentences and lines in __tr29__.
 
-Those features are not implemented by this library.
+Those features are not implemented by the current version of the library.
 [endsect]
 
-[section Core types]
-The library provides the following core types in the boost namespace:
-
-``uchar8_t
-uchar16_t
-uchar32_t``
-
-[^uchar/X/_t] is a /X/-bit character used as a *code value* in UTF-/X/.
-
-[endsect]
+[section Character properties]
 
-[section Concepts]
+Unicode also provides a database of character properties called the Unicode Character Database (UCD), which consists of a set of files describing
+the following properties:
 
-This library uses ranges to represent Unicode text, and thus refines the __boost_range__ concepts.
+* Name.
+* General category (classification as letters, numbers, symbols, punctuation, etc.).
+* Other important general characteristics (white space, dash, ideographic, alphabetic, non character, deprecated, etc.).
+* Character shaping (bidi category, shaping, mirroring, width, etc.).
+* Case (upper, lower, title, folding; both simple and full).
+* Numeric values and types (for digits).
+* Script and block.
+* Normalization properties (decompositions, decomposition type, canonical combining class, composition exclusions, etc.).
+* Age (version of the standard in which the code point was first designated).
+* Boundaries (grapheme cluster, word, line and sentence).
+* Standardized variants.
 
-[section =UnicodeRange=]
-refinement of =SinglePassRange=.
-
-A model of =UnicodeRange= is a range of Unicode *code values* whose *encoding is valid* and which is in *Normalized Form C*.
-As such, it does nothing more than a =SinglePassRange= except assume additional invariants.
-
-The encoding depends on the value type of the range: UTF-8 for =uchar8_t=, UTF-16 for =uchar16_t= and UTF-32 for =uchar32_t=.
-
-For any =X= model of =UnicodeRange=, the meta-function `boost::is_unicode_range<X>` evaluates to =true=.
+The database is useful for Unicode implementation in general, as it is the base for most algorithms, but can also be of interest to the library user that wants to
+implement facilities not provided by the library core.
 
 [endsect]
-[section =UnicodeCPRange=]
-refinement of =UnicodeRange=.
-
-An =UnicodeCPRange= is an =UnicodeRange= whose value type is =uchar32_t=. Every *code value* is thus a *code point*.
-
-For any =X= model of =UnicodeCPRange=, the meta-function `boost::is_unicode_cp_range<X>` evaluates to =true=.
-
-[endsect]
-[section =UnicodeGrapheme=]
-refinement of =SinglePassRange=.
-
-A model of =UnicodeGrapheme= is a range of Unicode *code points* that is a single *grapheme cluster* in *Normalized Form C*.
-
-For any =X= model of =UnicodeGrapheme=, the meta-function `boost::is_unicode_grapheme<X>` evaluates to =true=.
-
-
-[endsect]
-[endsect]
-
-[section Type erasure]
-Type erasure types can be constructed from objects of any type that model a certain concept. They wrap that object
-while erasing its type information.
-
-``template<typename Value>
-struct unicode_range;``
-
-`unicode_range<Value>` is a model of =UnicodeRange= whose value type is =Value=.
-
-``struct unicode_grapheme;``
-
-`unicode_grapheme` is a model of =UnicodeGrapheme=.
 [endsect]
 
-[section Range adaptors]
+[section Linking the library]
 
-C++0x notation is used for simplification.
+As has been stated in [link unicode.introduction_to_unicode.character_properties Introduction to Unicode], several Unicode algorithms require the usage of a large
+database of information which, as of version 0.2 of this library, is 2.6 MB big on x86.
 
-All iterator adaptors have a =base()= member function returning the adapted iterator.
+For this reason, features that can avoid dependency on that database do so; it is not required for conversions for example. All algorithms that depend on the Unicode
+Character Database are documented as such. All other features are header-only.
 
-[section Putting invariants in place]
+[heading UCD generation]
 
-``template<SinglePassRange Range>
-unspecified assume_utf8(Range&& range);``
+The Unicode Character Database can be generated using a parser present in the source distribution of this library to analyze
+[@http://www.unicode.org/Public/ the data provided by Unicode.org].
 
-Assumes range =range= is a properly encoded UTF-8 range in Normalization Form C. The behaviour is undefined if it isn't.
+Note however that the parser itself needs to be updated whenever new properties are added, and the layout of the table adapted to accomodate for the storage
+required to encode those new properties; otherwise those properties will fallback to the default value.
 
-Return type is a model of =UnicodeRange= whose value type is =uchar8_t=.
+[heading Binary compatibility]
 
+This library does not provide any kind of binary compatibility of the UCD so that applications compiled with version X of the library may actually
+link to version Y of the libray, with Y >= X, partially due to performance considerations.
 
-``template<SinglePassRange Range>
-unspecified make_utf8(Range&& range);``
+This may change in the future once proper benchmarking has been done.
 
-Assumes range =range= is a properly encoded UTF-8 range in Normalization Form C. Iterating the range may throw an exception if it isn't.
+[heading Alternate databases]
 
-Return type is a model of =UnicodeRange= whose value type is =uchar8_t=.
-
-``template<SinglePassRange Range>
-unspecified assume_utf16(Range&& range);``
-
-Assumes range =range= is a properly encoded UTF-16 range in Normalization Form C. The behaviour is undefined if it isn't.
-
-Return type is a model of =UnicodeRange= whose value type is =uchar16_t=.
-
-``template<SinglePassRange Range>
-unspecified make_utf16(Range&& range);``
-
-Assumes range =range= is a properly encoded UTF-16 range in Normalization Form C. Iterating the range may throw an exception if it isn't.
-
-Return type is a model of =UnicodeRange= whose value type is =uchar16_t=.
-
-``template<SinglePassRange Range>
-unspecified assume_utf32(Range&& range);``
-
-Assumes range =range= is a properly encoded UTF-32 range in Normalization Form C. The behaviour is undefined if it isn't.
-
-Return type is a model of =UnicodeRange= whose value type is =uchar32_t=.
-
-``template<SinglePassRange Range>
-unspecified make_utf32(Range&& range);``
-
-Assumes range =range= is a properly encoded UTF-32 range in Normalization Form C. Iterating the range throws an exception if it isn't.
-
-Return type is a model of =UnicodeRange= whose value type is =uchar32_t=.
+Future versions of this library may provide alternate implementations of this database as a thin layer over a database provided by another library or environment
+to prevent duplication of data.
 
 [endsect]
 
-[section On-the-fly UTF conversion]
+[section Conversions]
 
-[section Input]
-Read-only range adaptors.
+``auto concept Pipe<typename T>
+{
+ typename output_type = T::output_type;
+ static const int T::max_output; // optional
 
-``template<UnicodeCPRange Range>
-unspecified as_utf16(Range&& range);``
+ template<typename In, typename Out>
+ std::pair<In, Out> T::ltr(In begin, In end, Out out);
+
+ template<typename In, typename Out>
+ std::pair<In, Out> T::rtl(In begin, In end, Out out);
+};``
 
-Return type is a model of =UnicodeRange= whose value type is =uchar16_t=.
+models: [classref boost::unicode::u8_unpacker], [classref boost::unicode::u8_packer],
+[classref boost::unicode::u16_unpacker], [classref boost::unicode::u16_packer].
 
-``template<UnicodeCPRange Range>
-unspecified as_utf8(Range&& range);``
+Then pipe_iterator for on-the-fly conversion.
 
-Return type is a model of =UnicodeRange= whose value type is =uchar8_t=.
-
-``template<UnicodeRange Range>
-unspecified as_code_points(Range&& range);``
-
-Return type is a model of =UnicodeCPRange=.
 [endsect]
 
-[section Output]
-Output iterators that convert any *code point* to a sequence of *code values*.
-
-``template<typename OutputIterator>
-struct utf8_output_iterator;``
+[section Boundaries]
 
-``template<typename OutputIterator>
-struct utf16_output_iterator;``
+``auto concept BoundaryChecker<typename T>
+{
+ template<typename Iterator>
+ bool T::operator()(Iterator begin, Iterator end, Iterator pos);
+};``
 
-[endsect]
+``auto concept BoundaryConsumer<typename T>
+{
+ template<typename Iterator>
+ Iterator T::ltr(Iterator begin, Iterator end);
+
+ template<typename Iterator>
+ Iterator T::rtl(Iterator begin, Iterator end);
+}``
 
-[endsect]
+basically the same as Pipe without the output.
 
-[section Iterating Graphemes]
-``template<UnicodeCPRange Range>
-unspecified as_graphemes(Range&& range);``
+BoundaryConsumer can be defined in terms of BoundaryChecker.
 
-Return type is a read-only range whose value type is a model of =UnicodeGrapheme=.
-[endsect]
 
 [endsect]
 
-[section Character proprieties]
+[xinclude autodoc.xml]
 
-The library provides ways to check for certain *code point* proprieties within the =boost::unicode= namespace.
-All functions take any integer and return a boolean.
-
-``is_surrogate
-is_high_surrogate
-is_low_surrogate
-
-is_prepend
-is_hangul_syllable
-is_control
-is_grapheme_extend
-is_spacing_mark``
-
-[endsect]
-
-[section Normalization]
+[section Acknowledgements]
 
-[section String algorithms]
+Eric Niebler for mentoring this project, John Maddock for contributing preliminary on-the-fly UTF conversion, Graham Barnett and Rogier van Dalen for their work
+on Unicode character properties.
 
-It is expected that algorithms would take models of =UnicodeRange= as input.
+Beman Dawes and other members of the mailing list for their suggestions and support.
 
 [endsect]

Modified: sandbox/SOC/2009/unicode/libs/unicode/example/test.cpp
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/example/test.cpp (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/example/test.cpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -1,6 +1,7 @@
 #include <iostream>
 #include <boost/foreach.hpp>
 #include <boost/unicode/utf_conversion.hpp>
+#include <boost/unicode/ucd/properties.hpp>
 
 template<typename Range>
 std::pair<
@@ -38,5 +39,6 @@
         BOOST_FOREACH(char cp, make_reverse_range(boost::make_u32_to_u8_range(v)))
                 std::cout << std::hex << (int)(unsigned char)cp << std::endl;
         
- std::cout << "\n" << boost::unicode::get_name(0xE9) << std::endl;
+ std::cout << "\n" << boost::unicode::ucd::get_name(0xE9) << std::endl;
+ std::cout << boost::unicode::ucd::as_string(boost::unicode::ucd::get_block(0xE9)) << std::endl;
 }

Modified: sandbox/SOC/2009/unicode/libs/unicode/src/Jamfile.v2
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/src/Jamfile.v2 (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/src/Jamfile.v2 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -12,4 +12,4 @@
       <include>$(BOOST_ROOT)
     ;
 
-lib boost-unicode : unicode_properties.cpp ucd/uni_ucd_interface_impl_data.cpp ;
+lib boost-unicode : unicode_properties.cpp unicode_blocks.cpp ucd/uni_ucd_interface_impl_data.cpp ;

Modified: sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data.cpp
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data.cpp (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data.cpp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -19,7 +19,7 @@
 
 #include <boost/assert.hpp>
 #include <boost/static_assert.hpp>
-#include <boost/unicode/unicode_properties.hpp>
+#include <boost/unicode/ucd/properties.hpp>
 #include "uni_ucd_interface_impl_data_1.ipp"
 #include "uni_ucd_interface_impl_data_2.ipp"
 #include "uni_ucd_interface_impl_data_3.ipp"
@@ -36,180 +36,180 @@
 
 const unichar_blocks_internal __uni_block_data[]=
 {
- { 0x0, 0x127, "Basic Latin" },
- { 0x128, 0x255, "Latin-1 Supplement" },
- { 0x256, 0x383, "Latin Extended-A" },
- { 0x384, 0x591, "Latin Extended-B" },
- { 0x592, 0x687, "IPA Extensions" },
- { 0x688, 0x767, "Spacing Modifier Letters" },
- { 0x768, 0x879, "Combining Diacritical Marks" },
- { 0x880, 0x1023, "Greek and Coptic" },
- { 0x1024, 0x1279, "Cyrillic" },
- { 0x1280, 0x1327, "Cyrillic Supplement" },
- { 0x1328, 0x1423, "Armenian" },
- { 0x1424, 0x1535, "Hebrew" },
- { 0x1536, 0x1791, "Arabic" },
- { 0x1792, 0x1871, "Syriac" },
- { 0x1872, 0x1919, "Arabic Supplement" },
- { 0x1920, 0x1983, "Thaana" },
- { 0x1984, 0x2047, "NKo" },
- { 0x2304, 0x2431, "Devanagari" },
- { 0x2432, 0x2559, "Bengali" },
- { 0x2560, 0x2687, "Gurmukhi" },
- { 0x2688, 0x2815, "Gujarati" },
- { 0x2816, 0x2943, "Oriya" },
- { 0x2944, 0x3071, "Tamil" },
- { 0x3072, 0x3199, "Telugu" },
- { 0x3200, 0x3327, "Kannada" },
- { 0x3328, 0x3455, "Malayalam" },
- { 0x3456, 0x3583, "Sinhala" },
- { 0x3584, 0x3711, "Thai" },
- { 0x3712, 0x3839, "Lao" },
- { 0x3840, 0x4095, "Tibetan" },
- { 0x4096, 0x4255, "Myanmar" },
- { 0x4256, 0x4351, "Georgian" },
- { 0x4352, 0x4607, "Hangul Jamo" },
- { 0x4608, 0x4991, "Ethiopic" },
- { 0x4992, 0x5023, "Ethiopic Supplement" },
- { 0x5024, 0x5119, "Cherokee" },
- { 0x5120, 0x5759, "Unified Canadian Aboriginal Syllabics" },
- { 0x5760, 0x5791, "Ogham" },
- { 0x5792, 0x5887, "Runic" },
- { 0x5888, 0x5919, "Tagalog" },
- { 0x5920, 0x5951, "Hanunoo" },
- { 0x5952, 0x5983, "Buhid" },
- { 0x5984, 0x6015, "Tagbanwa" },
- { 0x6016, 0x6143, "Khmer" },
- { 0x6144, 0x6319, "Mongolian" },
- { 0x6400, 0x6479, "Limbu" },
- { 0x6480, 0x6527, "Tai Le" },
- { 0x6528, 0x6623, "New Tai Lue" },
- { 0x6624, 0x6655, "Khmer Symbols" },
- { 0x6656, 0x6687, "Buginese" },
- { 0x6912, 0x7039, "Balinese" },
- { 0x7040, 0x7103, "Sundanese" },
- { 0x7168, 0x7247, "Lepcha" },
- { 0x7248, 0x7295, "Ol Chiki" },
- { 0x7424, 0x7551, "Phonetic Extensions" },
- { 0x7552, 0x7615, "Phonetic Extensions Supplement" },
- { 0x7616, 0x7679, "Combining Diacritical Marks Supplement" },
- { 0x7680, 0x7935, "Latin Extended Additional" },
- { 0x7936, 0x8191, "Greek Extended" },
- { 0x8192, 0x8303, "General Punctuation" },
- { 0x8304, 0x8351, "Superscripts and Subscripts" },
- { 0x8352, 0x8399, "Currency Symbols" },
- { 0x8400, 0x8447, "Combining Diacritical Marks for Symbols" },
- { 0x8448, 0x8527, "Letterlike Symbols" },
- { 0x8528, 0x8591, "Number Forms" },
- { 0x8592, 0x8703, "Arrows" },
- { 0x8704, 0x8959, "Mathematical Operators" },
- { 0x8960, 0x9215, "Miscellaneous Technical" },
- { 0x9216, 0x9279, "Control Pictures" },
- { 0x9280, 0x9311, "Optical Character Recognition" },
- { 0x9312, 0x9471, "Enclosed Alphanumerics" },
- { 0x9472, 0x9599, "Box Drawing" },
- { 0x9600, 0x9631, "Block Elements" },
- { 0x9632, 0x9727, "Geometric Shapes" },
- { 0x9728, 0x9983, "Miscellaneous Symbols" },
- { 0x9984, 0x10175, "Dingbats" },
- { 0x10176, 0x10223, "Miscellaneous Mathematical Symbols-A" },
- { 0x10224, 0x10239, "Supplemental Arrows-A" },
- { 0x10240, 0x10495, "Braille Patterns" },
- { 0x10496, 0x10623, "Supplemental Arrows-B" },
- { 0x10624, 0x10751, "Miscellaneous Mathematical Symbols-B" },
- { 0x10752, 0x11007, "Supplemental Mathematical Operators" },
- { 0x11008, 0x11263, "Miscellaneous Symbols and Arrows" },
- { 0x11264, 0x11359, "Glagolitic" },
- { 0x11360, 0x11391, "Latin Extended-C" },
- { 0x11392, 0x11519, "Coptic" },
- { 0x11520, 0x11567, "Georgian Supplement" },
- { 0x11568, 0x11647, "Tifinagh" },
- { 0x11648, 0x11743, "Ethiopic Extended" },
- { 0x11744, 0x11775, "Cyrillic Extended-A" },
- { 0x11776, 0x11903, "Supplemental Punctuation" },
- { 0x11904, 0x12031, "CJK Radicals Supplement" },
- { 0x12032, 0x12255, "Kangxi Radicals" },
- { 0x12272, 0x12287, "Ideographic Description Characters" },
- { 0x12288, 0x12351, "CJK Symbols and Punctuation" },
- { 0x12352, 0x12447, "Hiragana" },
- { 0x12448, 0x12543, "Katakana" },
- { 0x12544, 0x12591, "Bopomofo" },
- { 0x12592, 0x12687, "Hangul Compatibility Jamo" },
- { 0x12688, 0x12703, "Kanbun" },
- { 0x12704, 0x12735, "Bopomofo Extended" },
- { 0x12736, 0x12783, "CJK Strokes" },
- { 0x12784, 0x12799, "Katakana Phonetic Extensions" },
- { 0x12800, 0x13055, "Enclosed CJK Letters and Months" },
- { 0x13056, 0x13311, "CJK Compatibility" },
- { 0x13312, 0x19903, "CJK Unified Ideographs Extension A" },
- { 0x19904, 0x19967, "Yijing Hexagram Symbols" },
- { 0x19968, 0x40959, "CJK Unified Ideographs" },
- { 0x40960, 0x42127, "Yi Syllables" },
- { 0x42128, 0x42191, "Yi Radicals" },
- { 0x42240, 0x42559, "Vai" },
- { 0x42560, 0x42655, "Cyrillic Extended-B" },
- { 0x42752, 0x42783, "Modifier Tone Letters" },
- { 0x42784, 0x43007, "Latin Extended-D" },
- { 0x43008, 0x43055, "Syloti Nagri" },
- { 0x43072, 0x43135, "Phags-pa" },
- { 0x43136, 0x43231, "Saurashtra" },
- { 0x43264, 0x43311, "Kayah Li" },
- { 0x43312, 0x43359, "Rejang" },
- { 0x43520, 0x43615, "Cham" },
- { 0x44032, 0x55215, "Hangul Syllables" },
- { 0x55296, 0x56191, "High Surrogates" },
- { 0x56192, 0x56319, "High Private Use Surrogates" },
- { 0x56320, 0x57343, "Low Surrogates" },
- { 0x57344, 0x63743, "Private Use Area" },
- { 0x63744, 0x64255, "CJK Compatibility Ideographs" },
- { 0x64256, 0x64335, "Alphabetic Presentation Forms" },
- { 0x64336, 0x65023, "Arabic Presentation Forms-A" },
- { 0x65024, 0x65039, "Variation Selectors" },
- { 0x65040, 0x65055, "Vertical Forms" },
- { 0x65056, 0x65071, "Combining Half Marks" },
- { 0x65072, 0x65103, "CJK Compatibility Forms" },
- { 0x65104, 0x65135, "Small Form Variants" },
- { 0x65136, 0x65279, "Arabic Presentation Forms-B" },
- { 0x65280, 0x65519, "Halfwidth and Fullwidth Forms" },
- { 0x65520, 0x65535, "Specials" },
- { 0x65536, 0x65663, "Linear B Syllabary" },
- { 0x65664, 0x65791, "Linear B Ideograms" },
- { 0x65792, 0x65855, "Aegean Numbers" },
- { 0x65856, 0x65935, "Ancient Greek Numbers" },
- { 0x65936, 0x65999, "Ancient Symbols" },
- { 0x66000, 0x66047, "Phaistos Disc" },
- { 0x66176, 0x66207, "Lycian" },
- { 0x66208, 0x66271, "Carian" },
- { 0x66304, 0x66351, "Old Italic" },
- { 0x66352, 0x66383, "Gothic" },
- { 0x66432, 0x66463, "Ugaritic" },
- { 0x66464, 0x66527, "Old Persian" },
- { 0x66560, 0x66639, "Deseret" },
- { 0x66640, 0x66687, "Shavian" },
- { 0x66688, 0x66735, "Osmanya" },
- { 0x67584, 0x67647, "Cypriot Syllabary" },
- { 0x67840, 0x67871, "Phoenician" },
- { 0x67872, 0x67903, "Lydian" },
- { 0x68096, 0x68191, "Kharoshthi" },
- { 0x73728, 0x74751, "Cuneiform" },
- { 0x74752, 0x74879, "Cuneiform Numbers and Punctuation" },
- { 0x118784, 0x119039, "Byzantine Musical Symbols" },
- { 0x119040, 0x119295, "Musical Symbols" },
- { 0x119296, 0x119375, "Ancient Greek Musical Notation" },
- { 0x119552, 0x119647, "Tai Xuan Jing Symbols" },
- { 0x119648, 0x119679, "Counting Rod Numerals" },
- { 0x119808, 0x120831, "Mathematical Alphanumeric Symbols" },
- { 0x126976, 0x127023, "Mahjong Tiles" },
- { 0x127024, 0x127135, "Domino Tiles" },
- { 0x131072, 0x173791, "CJK Unified Ideographs Extension B" },
- { 0x194560, 0x195103, "CJK Compatibility Ideographs Supplement" },
- { 0x917504, 0x917631, "Tags" },
- { 0x917760, 0x917999, "Variation Selectors Supplement" },
- { 0x983040, 0x1048575, "Supplementary Private Use Area-A" },
- { 0x1048576, 0x1114111, "Supplementary Private Use Area-B" },
- { 0x0, 0x0, "" },
+ { 0x0, 0x7f, "Basic Latin" },
+ { 0x80, 0xff, "Latin-1 Supplement" },
+ { 0x100, 0x17f, "Latin Extended-A" },
+ { 0x180, 0x24f, "Latin Extended-B" },
+ { 0x250, 0x2af, "IPA Extensions" },
+ { 0x2b0, 0x2ff, "Spacing Modifier Letters" },
+ { 0x300, 0x36f, "Combining Diacritical Marks" },
+ { 0x370, 0x3ff, "Greek and Coptic" },
+ { 0x400, 0x4ff, "Cyrillic" },
+ { 0x500, 0x52f, "Cyrillic Supplement" },
+ { 0x530, 0x58f, "Armenian" },
+ { 0x590, 0x5ff, "Hebrew" },
+ { 0x600, 0x6ff, "Arabic" },
+ { 0x700, 0x74f, "Syriac" },
+ { 0x750, 0x77f, "Arabic Supplement" },
+ { 0x780, 0x7bf, "Thaana" },
+ { 0x7c0, 0x7ff, "NKo" },
+ { 0x900, 0x97f, "Devanagari" },
+ { 0x980, 0x9ff, "Bengali" },
+ { 0xa00, 0xa7f, "Gurmukhi" },
+ { 0xa80, 0xaff, "Gujarati" },
+ { 0xb00, 0xb7f, "Oriya" },
+ { 0xb80, 0xbff, "Tamil" },
+ { 0xc00, 0xc7f, "Telugu" },
+ { 0xc80, 0xcff, "Kannada" },
+ { 0xd00, 0xd7f, "Malayalam" },
+ { 0xd80, 0xdff, "Sinhala" },
+ { 0xe00, 0xe7f, "Thai" },
+ { 0xe80, 0xeff, "Lao" },
+ { 0xf00, 0xfff, "Tibetan" },
+ { 0x1000, 0x109f, "Myanmar" },
+ { 0x10a0, 0x10ff, "Georgian" },
+ { 0x1100, 0x11ff, "Hangul Jamo" },
+ { 0x1200, 0x137f, "Ethiopic" },
+ { 0x1380, 0x139f, "Ethiopic Supplement" },
+ { 0x13a0, 0x13ff, "Cherokee" },
+ { 0x1400, 0x167f, "Unified Canadian Aboriginal Syllabics" },
+ { 0x1680, 0x169f, "Ogham" },
+ { 0x16a0, 0x16ff, "Runic" },
+ { 0x1700, 0x171f, "Tagalog" },
+ { 0x1720, 0x173f, "Hanunoo" },
+ { 0x1740, 0x175f, "Buhid" },
+ { 0x1760, 0x177f, "Tagbanwa" },
+ { 0x1780, 0x17ff, "Khmer" },
+ { 0x1800, 0x18af, "Mongolian" },
+ { 0x1900, 0x194f, "Limbu" },
+ { 0x1950, 0x197f, "Tai Le" },
+ { 0x1980, 0x19df, "New Tai Lue" },
+ { 0x19e0, 0x19ff, "Khmer Symbols" },
+ { 0x1a00, 0x1a1f, "Buginese" },
+ { 0x1b00, 0x1b7f, "Balinese" },
+ { 0x1b80, 0x1bbf, "Sundanese" },
+ { 0x1c00, 0x1c4f, "Lepcha" },
+ { 0x1c50, 0x1c7f, "Ol Chiki" },
+ { 0x1d00, 0x1d7f, "Phonetic Extensions" },
+ { 0x1d80, 0x1dbf, "Phonetic Extensions Supplement" },
+ { 0x1dc0, 0x1dff, "Combining Diacritical Marks Supplement" },
+ { 0x1e00, 0x1eff, "Latin Extended Additional" },
+ { 0x1f00, 0x1fff, "Greek Extended" },
+ { 0x2000, 0x206f, "General Punctuation" },
+ { 0x2070, 0x209f, "Superscripts and Subscripts" },
+ { 0x20a0, 0x20cf, "Currency Symbols" },
+ { 0x20d0, 0x20ff, "Combining Diacritical Marks for Symbols" },
+ { 0x2100, 0x214f, "Letterlike Symbols" },
+ { 0x2150, 0x218f, "Number Forms" },
+ { 0x2190, 0x21ff, "Arrows" },
+ { 0x2200, 0x22ff, "Mathematical Operators" },
+ { 0x2300, 0x23ff, "Miscellaneous Technical" },
+ { 0x2400, 0x243f, "Control Pictures" },
+ { 0x2440, 0x245f, "Optical Character Recognition" },
+ { 0x2460, 0x24ff, "Enclosed Alphanumerics" },
+ { 0x2500, 0x257f, "Box Drawing" },
+ { 0x2580, 0x259f, "Block Elements" },
+ { 0x25a0, 0x25ff, "Geometric Shapes" },
+ { 0x2600, 0x26ff, "Miscellaneous Symbols" },
+ { 0x2700, 0x27bf, "Dingbats" },
+ { 0x27c0, 0x27ef, "Miscellaneous Mathematical Symbols-A" },
+ { 0x27f0, 0x27ff, "Supplemental Arrows-A" },
+ { 0x2800, 0x28ff, "Braille Patterns" },
+ { 0x2900, 0x297f, "Supplemental Arrows-B" },
+ { 0x2980, 0x29ff, "Miscellaneous Mathematical Symbols-B" },
+ { 0x2a00, 0x2aff, "Supplemental Mathematical Operators" },
+ { 0x2b00, 0x2bff, "Miscellaneous Symbols and Arrows" },
+ { 0x2c00, 0x2c5f, "Glagolitic" },
+ { 0x2c60, 0x2c7f, "Latin Extended-C" },
+ { 0x2c80, 0x2cff, "Coptic" },
+ { 0x2d00, 0x2d2f, "Georgian Supplement" },
+ { 0x2d30, 0x2d7f, "Tifinagh" },
+ { 0x2d80, 0x2ddf, "Ethiopic Extended" },
+ { 0x2de0, 0x2dff, "Cyrillic Extended-A" },
+ { 0x2e00, 0x2e7f, "Supplemental Punctuation" },
+ { 0x2e80, 0x2eff, "CJK Radicals Supplement" },
+ { 0x2f00, 0x2fdf, "Kangxi Radicals" },
+ { 0x2ff0, 0x2fff, "Ideographic Description Characters" },
+ { 0x3000, 0x303f, "CJK Symbols and Punctuation" },
+ { 0x3040, 0x309f, "Hiragana" },
+ { 0x30a0, 0x30ff, "Katakana" },
+ { 0x3100, 0x312f, "Bopomofo" },
+ { 0x3130, 0x318f, "Hangul Compatibility Jamo" },
+ { 0x3190, 0x319f, "Kanbun" },
+ { 0x31a0, 0x31bf, "Bopomofo Extended" },
+ { 0x31c0, 0x31ef, "CJK Strokes" },
+ { 0x31f0, 0x31ff, "Katakana Phonetic Extensions" },
+ { 0x3200, 0x32ff, "Enclosed CJK Letters and Months" },
+ { 0x3300, 0x33ff, "CJK Compatibility" },
+ { 0x3400, 0x4dbf, "CJK Unified Ideographs Extension A" },
+ { 0x4dc0, 0x4dff, "Yijing Hexagram Symbols" },
+ { 0x4e00, 0x9fff, "CJK Unified Ideographs" },
+ { 0xa000, 0xa48f, "Yi Syllables" },
+ { 0xa490, 0xa4cf, "Yi Radicals" },
+ { 0xa500, 0xa63f, "Vai" },
+ { 0xa640, 0xa69f, "Cyrillic Extended-B" },
+ { 0xa700, 0xa71f, "Modifier Tone Letters" },
+ { 0xa720, 0xa7ff, "Latin Extended-D" },
+ { 0xa800, 0xa82f, "Syloti Nagri" },
+ { 0xa840, 0xa87f, "Phags-pa" },
+ { 0xa880, 0xa8df, "Saurashtra" },
+ { 0xa900, 0xa92f, "Kayah Li" },
+ { 0xa930, 0xa95f, "Rejang" },
+ { 0xaa00, 0xaa5f, "Cham" },
+ { 0xac00, 0xd7af, "Hangul Syllables" },
+ { 0xd800, 0xdb7f, "High Surrogates" },
+ { 0xdb80, 0xdbff, "High Private Use Surrogates" },
+ { 0xdc00, 0xdfff, "Low Surrogates" },
+ { 0xe000, 0xf8ff, "Private Use Area" },
+ { 0xf900, 0xfaff, "CJK Compatibility Ideographs" },
+ { 0xfb00, 0xfb4f, "Alphabetic Presentation Forms" },
+ { 0xfb50, 0xfdff, "Arabic Presentation Forms-A" },
+ { 0xfe00, 0xfe0f, "Variation Selectors" },
+ { 0xfe10, 0xfe1f, "Vertical Forms" },
+ { 0xfe20, 0xfe2f, "Combining Half Marks" },
+ { 0xfe30, 0xfe4f, "CJK Compatibility Forms" },
+ { 0xfe50, 0xfe6f, "Small Form Variants" },
+ { 0xfe70, 0xfeff, "Arabic Presentation Forms-B" },
+ { 0xff00, 0xffef, "Halfwidth and Fullwidth Forms" },
+ { 0xfff0, 0xffff, "Specials" },
+ { 0x10000, 0x1007f, "Linear B Syllabary" },
+ { 0x10080, 0x100ff, "Linear B Ideograms" },
+ { 0x10100, 0x1013f, "Aegean Numbers" },
+ { 0x10140, 0x1018f, "Ancient Greek Numbers" },
+ { 0x10190, 0x101cf, "Ancient Symbols" },
+ { 0x101d0, 0x101ff, "Phaistos Disc" },
+ { 0x10280, 0x1029f, "Lycian" },
+ { 0x102a0, 0x102df, "Carian" },
+ { 0x10300, 0x1032f, "Old Italic" },
+ { 0x10330, 0x1034f, "Gothic" },
+ { 0x10380, 0x1039f, "Ugaritic" },
+ { 0x103a0, 0x103df, "Old Persian" },
+ { 0x10400, 0x1044f, "Deseret" },
+ { 0x10450, 0x1047f, "Shavian" },
+ { 0x10480, 0x104af, "Osmanya" },
+ { 0x10800, 0x1083f, "Cypriot Syllabary" },
+ { 0x10900, 0x1091f, "Phoenician" },
+ { 0x10920, 0x1093f, "Lydian" },
+ { 0x10a00, 0x10a5f, "Kharoshthi" },
+ { 0x12000, 0x123ff, "Cuneiform" },
+ { 0x12400, 0x1247f, "Cuneiform Numbers and Punctuation" },
+ { 0x1d000, 0x1d0ff, "Byzantine Musical Symbols" },
+ { 0x1d100, 0x1d1ff, "Musical Symbols" },
+ { 0x1d200, 0x1d24f, "Ancient Greek Musical Notation" },
+ { 0x1d300, 0x1d35f, "Tai Xuan Jing Symbols" },
+ { 0x1d360, 0x1d37f, "Counting Rod Numerals" },
+ { 0x1d400, 0x1d7ff, "Mathematical Alphanumeric Symbols" },
+ { 0x1f000, 0x1f02f, "Mahjong Tiles" },
+ { 0x1f030, 0x1f09f, "Domino Tiles" },
+ { 0x20000, 0x2a6df, "CJK Unified Ideographs Extension B" },
+ { 0x2f800, 0x2fa1f, "CJK Compatibility Ideographs Supplement" },
+ { 0xe0000, 0xe007f, "Tags" },
+ { 0xe0100, 0xe01ef, "Variation Selectors Supplement" },
+ { 0xf0000, 0xfffff, "Supplementary Private Use Area-A" },
+ { 0x100000, 0x10ffff, "Supplementary Private Use Area-B" },
 };
 
+const size_t __uni_block_data_size = sizeof __uni_block_data / sizeof __uni_block_data[0];
 
 const unichar_data_internal* __uni_char_data[]=
 {

Modified: sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_1.ipp
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_1.ipp (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_1.ipp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -3964,8 +3964,8 @@
                         word_break::any,
                         false,
                         true,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 27,
                         bidi_class::weak_common_number_separator,
                         decomposition_type::no_break,
                         break_class::non_breaking,
@@ -3973,7 +3973,7 @@
                         sentence_break::sp,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 521,
                 0x0,
                 0x0,
                 0x0,
@@ -4156,8 +4156,8 @@
                         word_break::any,
                         false,
                         true,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 2,
                         bidi_class::neutral_other,
                         decomposition_type::compat,
                         break_class::ambiguous,
@@ -4165,7 +4165,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 533,
                 0x0,
                 0x0,
                 0x0,
@@ -4204,8 +4204,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ambiguous,
@@ -4213,7 +4213,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 4417,
                 0x0,
                 0x0,
                 0x0,
@@ -4324,8 +4324,8 @@
                         word_break::any,
                         false,
                         true,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 2,
                         bidi_class::neutral_other,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -4333,7 +4333,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 529,
                 0x0,
                 0x0,
                 0x0,
@@ -4396,8 +4396,8 @@
                         word_break::any,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::weak_european_digits,
                         decomposition_type::super,
                         break_class::ambiguous,
@@ -4405,7 +4405,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 4409,
                 0x0,
                 0x0,
                 0x0,
@@ -4420,8 +4420,8 @@
                         word_break::any,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::weak_european_digits,
                         decomposition_type::super,
                         break_class::ambiguous,
@@ -4429,7 +4429,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 4410,
                 0x0,
                 0x0,
                 0x0,
@@ -4444,8 +4444,8 @@
                         word_break::any,
                         false,
                         true,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 2,
                         bidi_class::neutral_other,
                         decomposition_type::compat,
                         break_class::break_opportunity_before,
@@ -4453,7 +4453,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 526,
                 0x0,
                 0x0,
                 0x0,
@@ -4540,8 +4540,8 @@
                         word_break::any,
                         false,
                         true,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 2,
                         bidi_class::neutral_other,
                         decomposition_type::compat,
                         break_class::ambiguous,
@@ -4549,7 +4549,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 538,
                 0x0,
                 0x0,
                 0x0,
@@ -4564,8 +4564,8 @@
                         word_break::any,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::weak_european_digits,
                         decomposition_type::super,
                         break_class::ambiguous,
@@ -4573,7 +4573,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 4408,
                 0x0,
                 0x0,
                 0x0,
@@ -4588,8 +4588,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ambiguous,
@@ -4597,7 +4597,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 4800,
                 0x0,
                 0x0,
                 0x0,
@@ -4669,7 +4669,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 66,
                 0x0,
                 0x0,
                 0x0,
@@ -4693,7 +4693,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 67,
                 0x0,
                 0x0,
                 0x0,
@@ -4741,7 +4741,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 68,
                 0x0,
                 0xe0,
                 0x0,
@@ -4765,7 +4765,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 69,
                 0x0,
                 0xe1,
                 0x0,
@@ -4789,7 +4789,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 70,
                 0x0,
                 0xe2,
                 0x0,
@@ -4813,7 +4813,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 71,
                 0x0,
                 0xe3,
                 0x0,
@@ -4837,7 +4837,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 72,
                 0x0,
                 0xe4,
                 0x0,
@@ -4861,7 +4861,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 73,
                 0x0,
                 0xe5,
                 0x0,
@@ -4885,7 +4885,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 65,
+ 74,
                 0x0,
                 0xe6,
                 0x0,
@@ -4909,7 +4909,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 66,
+ 75,
                 0x0,
                 0xe7,
                 0x0,
@@ -4933,7 +4933,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 66,
+ 76,
                 0x0,
                 0xe8,
                 0x0,
@@ -4957,7 +4957,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 66,
+ 77,
                 0x0,
                 0xe9,
                 0x0,
@@ -4981,7 +4981,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 66,
+ 78,
                 0x0,
                 0xea,
                 0x0,
@@ -5005,7 +5005,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 66,
+ 79,
                 0x0,
                 0xeb,
                 0x0,
@@ -5029,7 +5029,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 66,
+ 80,
                 0x0,
                 0xec,
                 0x0,
@@ -5053,7 +5053,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 66,
+ 81,
                 0x0,
                 0xed,
                 0x0,
@@ -5077,7 +5077,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 66,
+ 82,
                 0x0,
                 0xee,
                 0x0,
@@ -5101,7 +5101,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 66,
+ 83,
                 0x0,
                 0xef,
                 0x0,
@@ -5125,7 +5125,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 66,
+ 84,
                 0x0,
                 0xf0,
                 0x0,
@@ -5149,7 +5149,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 67,
+ 85,
                 0x0,
                 0xf1,
                 0x0,
@@ -5173,7 +5173,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 67,
+ 86,
                 0x0,
                 0xf2,
                 0x0,
@@ -5197,7 +5197,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 67,
+ 87,
                 0x0,
                 0xf3,
                 0x0,
@@ -5221,7 +5221,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 67,
+ 88,
                 0x0,
                 0xf4,
                 0x0,
@@ -5245,7 +5245,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 67,
+ 89,
                 0x0,
                 0xf5,
                 0x0,
@@ -5269,7 +5269,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 67,
+ 90,
                 0x0,
                 0xf6,
                 0x0,
@@ -5317,7 +5317,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 67,
+ 91,
                 0x0,
                 0xf8,
                 0x0,
@@ -5341,7 +5341,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 68,
+ 92,
                 0x0,
                 0xf9,
                 0x0,
@@ -5365,7 +5365,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 68,
+ 93,
                 0x0,
                 0xfa,
                 0x0,
@@ -5389,7 +5389,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 68,
+ 94,
                 0x0,
                 0xfb,
                 0x0,
@@ -5413,7 +5413,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 68,
+ 95,
                 0x0,
                 0xfc,
                 0x0,
@@ -5437,7 +5437,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 68,
+ 96,
                 0x0,
                 0xfd,
                 0x0,
@@ -5485,7 +5485,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 68,
+ 97,
                 0x0,
                 0xdf,
                 0x0,
@@ -5509,7 +5509,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 69,
+ 98,
                 0xc0,
                 0x0,
                 0xc0,
@@ -5533,7 +5533,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 69,
+ 99,
                 0xc1,
                 0x0,
                 0xc1,
@@ -5557,7 +5557,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 69,
+ 100,
                 0xc2,
                 0x0,
                 0xc2,
@@ -5581,7 +5581,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 69,
+ 101,
                 0xc3,
                 0x0,
                 0xc3,
@@ -5605,7 +5605,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 69,
+ 102,
                 0xc4,
                 0x0,
                 0xc4,
@@ -5629,7 +5629,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 69,
+ 103,
                 0xc5,
                 0x0,
                 0xc5,
@@ -5653,7 +5653,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 69,
+ 104,
                 0xc6,
                 0x0,
                 0xc6,
@@ -5677,7 +5677,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 70,
+ 105,
                 0xc7,
                 0x0,
                 0xc7,
@@ -5701,7 +5701,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 70,
+ 106,
                 0xc8,
                 0x0,
                 0xc8,
@@ -5725,7 +5725,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 70,
+ 107,
                 0xc9,
                 0x0,
                 0xc9,
@@ -5749,7 +5749,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 70,
+ 108,
                 0xca,
                 0x0,
                 0xca,
@@ -5773,7 +5773,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 70,
+ 109,
                 0xcb,
                 0x0,
                 0xcb,
@@ -5797,7 +5797,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 70,
+ 110,
                 0xcc,
                 0x0,
                 0xcc,
@@ -5821,7 +5821,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 70,
+ 111,
                 0xcd,
                 0x0,
                 0xcd,
@@ -5845,7 +5845,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 70,
+ 112,
                 0xce,
                 0x0,
                 0xce,
@@ -5869,7 +5869,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 70,
+ 113,
                 0xcf,
                 0x0,
                 0xcf,
@@ -5893,7 +5893,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 70,
+ 114,
                 0xd0,
                 0x0,
                 0xd0,
@@ -5917,7 +5917,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 71,
+ 115,
                 0xd1,
                 0x0,
                 0xd1,
@@ -5941,7 +5941,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 71,
+ 116,
                 0xd2,
                 0x0,
                 0xd2,
@@ -5965,7 +5965,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 71,
+ 117,
                 0xd3,
                 0x0,
                 0xd3,
@@ -5989,7 +5989,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 71,
+ 118,
                 0xd4,
                 0x0,
                 0xd4,
@@ -6013,7 +6013,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 71,
+ 119,
                 0xd5,
                 0x0,
                 0xd5,
@@ -6037,7 +6037,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 71,
+ 120,
                 0xd6,
                 0x0,
                 0xd6,
@@ -6085,7 +6085,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 71,
+ 121,
                 0xd8,
                 0x0,
                 0xd8,
@@ -6109,7 +6109,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 122,
                 0xd9,
                 0x0,
                 0xd9,
@@ -6133,7 +6133,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 123,
                 0xda,
                 0x0,
                 0xda,
@@ -6157,7 +6157,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 124,
                 0xdb,
                 0x0,
                 0xdb,
@@ -6181,7 +6181,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 125,
                 0xdc,
                 0x0,
                 0xdc,
@@ -6205,7 +6205,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 126,
                 0xdd,
                 0x0,
                 0xdd,
@@ -6253,7 +6253,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 127,
                 0x178,
                 0x0,
                 0x178,
@@ -6422,7 +6422,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 128,
                 0x0,
                 0x101,
                 0x0,
@@ -6446,7 +6446,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 129,
                 0x100,
                 0x0,
                 0x100,
@@ -6470,7 +6470,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 130,
                 0x0,
                 0x103,
                 0x0,
@@ -6494,7 +6494,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 131,
                 0x102,
                 0x0,
                 0x102,
@@ -6518,7 +6518,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 132,
                 0x0,
                 0x105,
                 0x0,
@@ -6542,7 +6542,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 133,
                 0x104,
                 0x0,
                 0x104,
@@ -6566,7 +6566,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 134,
                 0x0,
                 0x107,
                 0x0,
@@ -6590,7 +6590,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 135,
                 0x106,
                 0x0,
                 0x106,
@@ -6614,7 +6614,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 136,
                 0x0,
                 0x109,
                 0x0,
@@ -6638,7 +6638,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 137,
                 0x108,
                 0x0,
                 0x108,
@@ -6662,7 +6662,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 138,
                 0x0,
                 0x10b,
                 0x0,
@@ -6686,7 +6686,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 139,
                 0x10a,
                 0x0,
                 0x10a,
@@ -6710,7 +6710,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 140,
                 0x0,
                 0x10d,
                 0x0,
@@ -6734,7 +6734,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 141,
                 0x10c,
                 0x0,
                 0x10c,
@@ -6758,7 +6758,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 142,
                 0x0,
                 0x10f,
                 0x0,
@@ -6782,7 +6782,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 143,
                 0x10e,
                 0x0,
                 0x10e,
@@ -6806,7 +6806,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 72,
+ 144,
                 0x0,
                 0x111,
                 0x0,
@@ -6830,7 +6830,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 73,
+ 145,
                 0x110,
                 0x0,
                 0x110,
@@ -6854,7 +6854,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 146,
                 0x0,
                 0x113,
                 0x0,
@@ -6878,7 +6878,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 147,
                 0x112,
                 0x0,
                 0x112,
@@ -6902,7 +6902,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 148,
                 0x0,
                 0x115,
                 0x0,
@@ -6926,7 +6926,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 149,
                 0x114,
                 0x0,
                 0x114,
@@ -6950,7 +6950,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 150,
                 0x0,
                 0x117,
                 0x0,
@@ -6974,7 +6974,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 151,
                 0x116,
                 0x0,
                 0x116,
@@ -6998,7 +6998,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 152,
                 0x0,
                 0x119,
                 0x0,
@@ -7022,7 +7022,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 153,
                 0x118,
                 0x0,
                 0x118,
@@ -7046,7 +7046,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 154,
                 0x0,
                 0x11b,
                 0x0,
@@ -7070,7 +7070,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 155,
                 0x11a,
                 0x0,
                 0x11a,
@@ -7094,7 +7094,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 156,
                 0x0,
                 0x11d,
                 0x0,
@@ -7118,7 +7118,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 157,
                 0x11c,
                 0x0,
                 0x11c,
@@ -7142,7 +7142,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 158,
                 0x0,
                 0x11f,
                 0x0,
@@ -7166,7 +7166,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 159,
                 0x11e,
                 0x0,
                 0x11e,
@@ -7190,7 +7190,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 160,
                 0x0,
                 0x121,
                 0x0,
@@ -7214,7 +7214,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 161,
                 0x120,
                 0x0,
                 0x120,
@@ -7238,7 +7238,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 162,
                 0x0,
                 0x123,
                 0x0,
@@ -7262,7 +7262,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 163,
                 0x122,
                 0x0,
                 0x122,
@@ -7286,7 +7286,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 164,
                 0x0,
                 0x125,
                 0x0,
@@ -7310,7 +7310,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 165,
                 0x124,
                 0x0,
                 0x124,
@@ -7334,7 +7334,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 74,
+ 166,
                 0x0,
                 0x127,
                 0x0,
@@ -7358,7 +7358,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 75,
+ 167,
                 0x126,
                 0x0,
                 0x126,
@@ -7382,7 +7382,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 168,
                 0x0,
                 0x129,
                 0x0,
@@ -7406,7 +7406,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 169,
                 0x128,
                 0x0,
                 0x128,
@@ -7430,7 +7430,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 170,
                 0x0,
                 0x12b,
                 0x0,
@@ -7454,7 +7454,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 171,
                 0x12a,
                 0x0,
                 0x12a,
@@ -7478,7 +7478,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 172,
                 0x0,
                 0x12d,
                 0x0,
@@ -7502,7 +7502,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 173,
                 0x12c,
                 0x0,
                 0x12c,
@@ -7526,7 +7526,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 174,
                 0x0,
                 0x12f,
                 0x0,
@@ -7550,7 +7550,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 175,
                 0x12e,
                 0x0,
                 0x12e,
@@ -7574,7 +7574,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 176,
                 0x130,
                 0x69,
                 0x130,
@@ -7622,7 +7622,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 177,
                 0x0,
                 0x133,
                 0x0,
@@ -7646,7 +7646,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 178,
                 0x132,
                 0x0,
                 0x132,
@@ -7670,7 +7670,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 179,
                 0x0,
                 0x135,
                 0x0,
@@ -7694,7 +7694,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 180,
                 0x134,
                 0x0,
                 0x134,
@@ -7718,7 +7718,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 181,
                 0x0,
                 0x137,
                 0x0,
@@ -7742,7 +7742,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 182,
                 0x136,
                 0x0,
                 0x136,
@@ -7790,7 +7790,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 76,
+ 183,
                 0x0,
                 0x13a,
                 0x0,
@@ -7814,7 +7814,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 77,
+ 184,
                 0x139,
                 0x0,
                 0x139,
@@ -7838,7 +7838,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 78,
+ 185,
                 0x0,
                 0x13c,
                 0x0,
@@ -7862,7 +7862,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 79,
+ 186,
                 0x13b,
                 0x0,
                 0x13b,
@@ -7886,7 +7886,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 80,
+ 187,
                 0x0,
                 0x13e,
                 0x0,
@@ -7910,7 +7910,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 81,
+ 188,
                 0x13d,
                 0x0,
                 0x13d,
@@ -7934,7 +7934,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 82,
+ 189,
                 0x0,
                 0x140,
                 0x0,
@@ -7958,7 +7958,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 83,
+ 190,
                 0x13f,
                 0x0,
                 0x13f,
@@ -7982,7 +7982,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 84,
+ 191,
                 0x0,
                 0x142,
                 0x0,
@@ -8006,7 +8006,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 85,
+ 192,
                 0x141,
                 0x0,
                 0x141,
@@ -8030,7 +8030,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 86,
+ 193,
                 0x0,
                 0x144,
                 0x0,
@@ -8054,7 +8054,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 86,
+ 194,
                 0x143,
                 0x0,
                 0x143,
@@ -8078,7 +8078,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 86,
+ 195,
                 0x0,
                 0x146,
                 0x0,
@@ -8102,7 +8102,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 86,
+ 196,
                 0x145,
                 0x0,
                 0x145,
@@ -8126,7 +8126,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 86,
+ 197,
                 0x0,
                 0x148,
                 0x0,
@@ -8150,7 +8150,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 86,
+ 198,
                 0x147,
                 0x0,
                 0x147,
@@ -8174,7 +8174,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 86,
+ 199,
                 0x0,
                 0x149,
                 0x0,
@@ -8246,7 +8246,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 87,
+ 200,
                 0x0,
                 0x14d,
                 0x0,
@@ -8270,7 +8270,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 87,
+ 201,
                 0x14c,
                 0x0,
                 0x14c,
@@ -8294,7 +8294,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 87,
+ 202,
                 0x0,
                 0x14f,
                 0x0,
@@ -8318,7 +8318,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 87,
+ 203,
                 0x14e,
                 0x0,
                 0x14e,
@@ -8342,7 +8342,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 87,
+ 204,
                 0x0,
                 0x151,
                 0x0,
@@ -8366,7 +8366,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 87,
+ 205,
                 0x150,
                 0x0,
                 0x150,
@@ -8390,7 +8390,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 87,
+ 206,
                 0x0,
                 0x153,
                 0x0,
@@ -8414,7 +8414,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 88,
+ 207,
                 0x152,
                 0x0,
                 0x152,
@@ -8438,7 +8438,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 208,
                 0x0,
                 0x155,
                 0x0,
@@ -8462,7 +8462,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 209,
                 0x154,
                 0x0,
                 0x154,
@@ -8486,7 +8486,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 210,
                 0x0,
                 0x157,
                 0x0,
@@ -8510,7 +8510,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 211,
                 0x156,
                 0x0,
                 0x156,
@@ -8534,7 +8534,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 212,
                 0x0,
                 0x159,
                 0x0,
@@ -8558,7 +8558,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 213,
                 0x158,
                 0x0,
                 0x158,
@@ -8582,7 +8582,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 214,
                 0x0,
                 0x15b,
                 0x0,
@@ -8606,7 +8606,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 215,
                 0x15a,
                 0x0,
                 0x15a,
@@ -8630,7 +8630,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 216,
                 0x0,
                 0x15d,
                 0x0,
@@ -8654,7 +8654,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 217,
                 0x15c,
                 0x0,
                 0x15c,
@@ -8678,7 +8678,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 218,
                 0x0,
                 0x15f,
                 0x0,
@@ -8702,7 +8702,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 219,
                 0x15e,
                 0x0,
                 0x15e,
@@ -8726,7 +8726,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 220,
                 0x0,
                 0x161,
                 0x0,
@@ -8750,7 +8750,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 221,
                 0x160,
                 0x0,
                 0x160,
@@ -8774,7 +8774,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 222,
                 0x0,
                 0x163,
                 0x0,
@@ -8798,7 +8798,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 223,
                 0x162,
                 0x0,
                 0x162,
@@ -8822,7 +8822,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 224,
                 0x0,
                 0x165,
                 0x0,
@@ -8846,7 +8846,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 225,
                 0x164,
                 0x0,
                 0x164,
@@ -8918,7 +8918,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 226,
                 0x0,
                 0x169,
                 0x0,
@@ -8942,7 +8942,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 227,
                 0x168,
                 0x0,
                 0x168,
@@ -8966,7 +8966,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 228,
                 0x0,
                 0x16b,
                 0x0,
@@ -8990,7 +8990,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 229,
                 0x16a,
                 0x0,
                 0x16a,
@@ -9014,7 +9014,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 230,
                 0x0,
                 0x16d,
                 0x0,
@@ -9038,7 +9038,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 231,
                 0x16c,
                 0x0,
                 0x16c,
@@ -9062,7 +9062,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 232,
                 0x0,
                 0x16f,
                 0x0,
@@ -9086,7 +9086,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 233,
                 0x16e,
                 0x0,
                 0x16e,
@@ -9110,7 +9110,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 234,
                 0x0,
                 0x171,
                 0x0,
@@ -9134,7 +9134,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 235,
                 0x170,
                 0x0,
                 0x170,
@@ -9158,7 +9158,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 236,
                 0x0,
                 0x173,
                 0x0,
@@ -9182,7 +9182,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 237,
                 0x172,
                 0x0,
                 0x172,
@@ -9206,7 +9206,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 238,
                 0x0,
                 0x175,
                 0x0,
@@ -9230,7 +9230,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 239,
                 0x174,
                 0x0,
                 0x174,
@@ -9254,7 +9254,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 240,
                 0x0,
                 0x177,
                 0x0,
@@ -9278,7 +9278,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 241,
                 0x176,
                 0x0,
                 0x176,
@@ -9302,7 +9302,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 242,
                 0x0,
                 0xff,
                 0x0,
@@ -9326,7 +9326,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 243,
                 0x0,
                 0x17a,
                 0x0,
@@ -9350,7 +9350,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 244,
                 0x179,
                 0x0,
                 0x179,
@@ -9374,7 +9374,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 245,
                 0x0,
                 0x17c,
                 0x0,
@@ -9398,7 +9398,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 246,
                 0x17b,
                 0x0,
                 0x17b,
@@ -9422,7 +9422,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 247,
                 0x0,
                 0x17e,
                 0x0,
@@ -9446,7 +9446,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 248,
                 0x17d,
                 0x0,
                 0x17d,
@@ -9470,7 +9470,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 249,
                 0x53,
                 0x0,
                 0x53,
@@ -9885,7 +9885,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 89,
+ 250,
                 0x0,
                 0x0,
                 0x0,
@@ -10341,7 +10341,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 90,
+ 251,
                 0x0,
                 0x1a1,
                 0x0,
@@ -10365,7 +10365,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 90,
+ 252,
                 0x1a0,
                 0x0,
                 0x1a0,
@@ -10701,7 +10701,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 90,
+ 253,
                 0x0,
                 0x1b0,
                 0x0,
@@ -10725,7 +10725,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 90,
+ 254,
                 0x1af,
                 0x0,
                 0x1af,
@@ -11061,7 +11061,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 90,
+ 255,
                 0x0,
                 0x0,
                 0x0,
@@ -11205,7 +11205,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 91,
+ 256,
                 0x0,
                 0x1c6,
                 0x1c5,
@@ -11229,7 +11229,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 91,
+ 257,
                 0x1c4,
                 0x1c6,
                 0x1c5,
@@ -11253,7 +11253,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 91,
+ 258,
                 0x1c4,
                 0x0,
                 0x1c5,
@@ -11277,7 +11277,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 91,
+ 259,
                 0x0,
                 0x1c9,
                 0x1c8,
@@ -11301,7 +11301,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 92,
+ 260,
                 0x1c7,
                 0x1c9,
                 0x1c8,
@@ -11325,7 +11325,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 93,
+ 261,
                 0x1c7,
                 0x0,
                 0x1c8,
@@ -11349,7 +11349,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 262,
                 0x0,
                 0x1cc,
                 0x1cb,
@@ -11373,7 +11373,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 263,
                 0x1ca,
                 0x1cc,
                 0x1cb,
@@ -11397,7 +11397,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 264,
                 0x1ca,
                 0x0,
                 0x1cb,
@@ -11421,7 +11421,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 265,
                 0x0,
                 0x1ce,
                 0x0,
@@ -11445,7 +11445,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 266,
                 0x1cd,
                 0x0,
                 0x1cd,
@@ -11469,7 +11469,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 267,
                 0x0,
                 0x1d0,
                 0x0,
@@ -11493,7 +11493,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 268,
                 0x1cf,
                 0x0,
                 0x1cf,
@@ -11517,7 +11517,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 269,
                 0x0,
                 0x1d2,
                 0x0,
@@ -11541,7 +11541,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 270,
                 0x1d1,
                 0x0,
                 0x1d1,
@@ -11565,7 +11565,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 271,
                 0x0,
                 0x1d4,
                 0x0,
@@ -11589,7 +11589,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 272,
                 0x1d3,
                 0x0,
                 0x1d3,
@@ -11613,7 +11613,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 273,
                 0x0,
                 0x1d6,
                 0x0,
@@ -11637,7 +11637,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 273,
                 0x1d5,
                 0x0,
                 0x1d5,
@@ -11661,7 +11661,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 273,
                 0x0,
                 0x1d8,
                 0x0,
@@ -11685,7 +11685,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 273,
                 0x1d7,
                 0x0,
                 0x1d7,
@@ -11709,7 +11709,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 273,
                 0x0,
                 0x1da,
                 0x0,
@@ -11733,7 +11733,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 273,
                 0x1d9,
                 0x0,
                 0x1d9,
@@ -11757,7 +11757,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 273,
                 0x0,
                 0x1dc,
                 0x0,
@@ -11781,7 +11781,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 273,
                 0x1db,
                 0x0,
                 0x1db,
@@ -11829,7 +11829,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 273,
                 0x0,
                 0x1df,
                 0x0,
@@ -11853,7 +11853,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 273,
                 0x1de,
                 0x0,
                 0x1de,
@@ -11877,7 +11877,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 273,
                 0x0,
                 0x1e1,
                 0x0,
@@ -11901,7 +11901,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 273,
                 0x1e0,
                 0x0,
                 0x1e0,
@@ -11925,7 +11925,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 94,
+ 273,
                 0x0,
                 0x1e3,
                 0x0,
@@ -11949,7 +11949,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 95,
+ 274,
                 0x1e2,
                 0x0,
                 0x1e2,
@@ -12021,7 +12021,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 275,
                 0x0,
                 0x1e7,
                 0x0,
@@ -12045,7 +12045,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 276,
                 0x1e6,
                 0x0,
                 0x1e6,
@@ -12069,7 +12069,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 277,
                 0x0,
                 0x1e9,
                 0x0,
@@ -12093,7 +12093,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 278,
                 0x1e8,
                 0x0,
                 0x1e8,
@@ -12117,7 +12117,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 279,
                 0x0,
                 0x1eb,
                 0x0,
@@ -12141,7 +12141,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 280,
                 0x1ea,
                 0x0,
                 0x1ea,
@@ -12165,7 +12165,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 281,
                 0x0,
                 0x1ed,
                 0x0,
@@ -12189,7 +12189,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 281,
                 0x1ec,
                 0x0,
                 0x1ec,
@@ -12213,7 +12213,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 281,
                 0x0,
                 0x1ef,
                 0x0,
@@ -12237,7 +12237,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 282,
                 0x1ee,
                 0x0,
                 0x1ee,
@@ -12261,7 +12261,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 282,
                 0x0,
                 0x1f0,
                 0x0,
@@ -12285,7 +12285,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 283,
                 0x0,
                 0x1f3,
                 0x1f2,
@@ -12309,7 +12309,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 284,
                 0x1f1,
                 0x1f3,
                 0x1f2,
@@ -12333,7 +12333,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 285,
                 0x1f1,
                 0x0,
                 0x1f2,
@@ -12357,7 +12357,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 286,
                 0x0,
                 0x1f5,
                 0x0,
@@ -12381,7 +12381,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 287,
                 0x1f4,
                 0x0,
                 0x1f4,
@@ -12453,7 +12453,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 288,
                 0x0,
                 0x1f9,
                 0x0,
@@ -12477,7 +12477,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 289,
                 0x1f8,
                 0x0,
                 0x1f8,
@@ -12501,7 +12501,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 290,
                 0x0,
                 0x1fb,
                 0x0,
@@ -12525,7 +12525,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 290,
                 0x1fa,
                 0x0,
                 0x1fa,
@@ -12549,7 +12549,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 96,
+ 290,
                 0x0,
                 0x1fd,
                 0x0,
@@ -12573,7 +12573,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 97,
+ 291,
                 0x1fc,
                 0x0,
                 0x1fc,
@@ -12597,7 +12597,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 292,
                 0x0,
                 0x1ff,
                 0x0,
@@ -12621,7 +12621,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 292,
                 0x1fe,
                 0x0,
                 0x1fe,
@@ -12698,7 +12698,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 292,
                 0x0,
                 0x201,
                 0x0,
@@ -12722,7 +12722,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 293,
                 0x200,
                 0x0,
                 0x200,
@@ -12746,7 +12746,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 294,
                 0x0,
                 0x203,
                 0x0,
@@ -12770,7 +12770,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 295,
                 0x202,
                 0x0,
                 0x202,
@@ -12794,7 +12794,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 296,
                 0x0,
                 0x205,
                 0x0,
@@ -12818,7 +12818,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 297,
                 0x204,
                 0x0,
                 0x204,
@@ -12842,7 +12842,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 298,
                 0x0,
                 0x207,
                 0x0,
@@ -12866,7 +12866,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 299,
                 0x206,
                 0x0,
                 0x206,
@@ -12890,7 +12890,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 300,
                 0x0,
                 0x209,
                 0x0,
@@ -12914,7 +12914,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 301,
                 0x208,
                 0x0,
                 0x208,
@@ -12938,7 +12938,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 302,
                 0x0,
                 0x20b,
                 0x0,
@@ -12962,7 +12962,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 303,
                 0x20a,
                 0x0,
                 0x20a,
@@ -12986,7 +12986,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 304,
                 0x0,
                 0x20d,
                 0x0,
@@ -13010,7 +13010,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 305,
                 0x20c,
                 0x0,
                 0x20c,
@@ -13034,7 +13034,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 306,
                 0x0,
                 0x20f,
                 0x0,
@@ -13058,7 +13058,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 307,
                 0x20e,
                 0x0,
                 0x20e,
@@ -13082,7 +13082,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 308,
                 0x0,
                 0x211,
                 0x0,
@@ -13106,7 +13106,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 309,
                 0x210,
                 0x0,
                 0x210,
@@ -13130,7 +13130,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 310,
                 0x0,
                 0x213,
                 0x0,
@@ -13154,7 +13154,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 311,
                 0x212,
                 0x0,
                 0x212,
@@ -13178,7 +13178,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 312,
                 0x0,
                 0x215,
                 0x0,
@@ -13202,7 +13202,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 313,
                 0x214,
                 0x0,
                 0x214,
@@ -13226,7 +13226,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 314,
                 0x0,
                 0x217,
                 0x0,
@@ -13250,7 +13250,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 315,
                 0x216,
                 0x0,
                 0x216,
@@ -13274,7 +13274,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 316,
                 0x0,
                 0x219,
                 0x0,
@@ -13298,7 +13298,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 317,
                 0x218,
                 0x0,
                 0x218,
@@ -13322,7 +13322,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 318,
                 0x0,
                 0x21b,
                 0x0,
@@ -13346,7 +13346,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 319,
                 0x21a,
                 0x0,
                 0x21a,
@@ -13418,7 +13418,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 320,
                 0x0,
                 0x21f,
                 0x0,
@@ -13442,7 +13442,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 321,
                 0x21e,
                 0x0,
                 0x21e,
@@ -13610,7 +13610,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 322,
                 0x0,
                 0x227,
                 0x0,
@@ -13634,7 +13634,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 323,
                 0x226,
                 0x0,
                 0x226,
@@ -13658,7 +13658,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 324,
                 0x0,
                 0x229,
                 0x0,
@@ -13682,7 +13682,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 325,
                 0x228,
                 0x0,
                 0x228,
@@ -13706,7 +13706,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 326,
                 0x0,
                 0x22b,
                 0x0,
@@ -13730,7 +13730,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 326,
                 0x22a,
                 0x0,
                 0x22a,
@@ -13754,7 +13754,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 326,
                 0x0,
                 0x22d,
                 0x0,
@@ -13778,7 +13778,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 326,
                 0x22c,
                 0x0,
                 0x22c,
@@ -13802,7 +13802,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 326,
                 0x0,
                 0x22f,
                 0x0,
@@ -13826,7 +13826,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 327,
                 0x22e,
                 0x0,
                 0x22e,
@@ -13850,7 +13850,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 328,
                 0x0,
                 0x231,
                 0x0,
@@ -13874,7 +13874,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 328,
                 0x230,
                 0x0,
                 0x230,
@@ -13898,7 +13898,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 328,
                 0x0,
                 0x233,
                 0x0,
@@ -13922,7 +13922,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 329,
                 0x232,
                 0x0,
                 0x232,
@@ -14042,7 +14042,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 98,
+ 330,
                 0x0,
                 0x0,
                 0x0,
@@ -14066,7 +14066,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 99,
+ 331,
                 0x0,
                 0x0,
                 0x0,
@@ -16639,7 +16639,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 100,
+ 332,
                 0x0,
                 0x0,
                 0x0,
@@ -16663,7 +16663,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 101,
+ 333,
                 0x0,
                 0x0,
                 0x0,
@@ -16687,7 +16687,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 102,
+ 334,
                 0x0,
                 0x0,
                 0x0,
@@ -16711,7 +16711,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 103,
+ 335,
                 0x0,
                 0x0,
                 0x0,
@@ -16735,7 +16735,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 104,
+ 336,
                 0x0,
                 0x0,
                 0x0,
@@ -16759,7 +16759,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 105,
+ 337,
                 0x0,
                 0x0,
                 0x0,
@@ -16783,7 +16783,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 106,
+ 338,
                 0x0,
                 0x0,
                 0x0,
@@ -16807,7 +16807,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 107,
+ 339,
                 0x0,
                 0x0,
                 0x0,
@@ -16831,7 +16831,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 108,
+ 340,
                 0x0,
                 0x0,
                 0x0,
@@ -16942,8 +16942,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -16951,7 +16951,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 4613,
                 0x0,
                 0x0,
                 0x0,
@@ -16966,8 +16966,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -16975,7 +16975,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 4625,
                 0x0,
                 0x0,
                 0x0,
@@ -16990,8 +16990,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -16999,7 +16999,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 4663,
                 0x0,
                 0x0,
                 0x0,
@@ -17014,8 +17014,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -17023,7 +17023,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 4876,
                 0x0,
                 0x0,
                 0x0,
@@ -17038,8 +17038,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -17047,7 +17047,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 4891,
                 0x0,
                 0x0,
                 0x0,
@@ -17062,8 +17062,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -17071,7 +17071,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 4901,
                 0x0,
                 0x0,
                 0x0,
@@ -17086,8 +17086,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -17095,7 +17095,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 4923,
                 0x0,
                 0x0,
                 0x0,
@@ -17110,8 +17110,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -17119,7 +17119,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 5055,
                 0x0,
                 0x0,
                 0x0,
@@ -17134,8 +17134,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -17143,7 +17143,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 5070,
                 0x0,
                 0x0,
                 0x0,
@@ -17902,8 +17902,8 @@
                         word_break::any,
                         false,
                         true,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 2,
                         bidi_class::neutral_other,
                         decomposition_type::compat,
                         break_class::ambiguous,
@@ -17911,7 +17911,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 531,
                 0x0,
                 0x0,
                 0x0,
@@ -17926,8 +17926,8 @@
                         word_break::any,
                         false,
                         true,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 2,
                         bidi_class::neutral_other,
                         decomposition_type::compat,
                         break_class::ambiguous,
@@ -17935,7 +17935,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 532,
                 0x0,
                 0x0,
                 0x0,
@@ -17950,8 +17950,8 @@
                         word_break::any,
                         false,
                         true,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 2,
                         bidi_class::neutral_other,
                         decomposition_type::compat,
                         break_class::ambiguous,
@@ -17959,7 +17959,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 534,
                 0x0,
                 0x0,
                 0x0,
@@ -17974,8 +17974,8 @@
                         word_break::any,
                         false,
                         true,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 2,
                         bidi_class::neutral_other,
                         decomposition_type::compat,
                         break_class::ambiguous,
@@ -17983,7 +17983,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 539,
                 0x0,
                 0x0,
                 0x0,
@@ -17998,8 +17998,8 @@
                         word_break::any,
                         false,
                         true,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 2,
                         bidi_class::neutral_other,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -18007,7 +18007,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 527,
                 0x0,
                 0x0,
                 0x0,
@@ -18022,8 +18022,8 @@
                         word_break::any,
                         false,
                         true,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 2,
                         bidi_class::neutral_other,
                         decomposition_type::compat,
                         break_class::ambiguous,
@@ -18031,7 +18031,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 535,
                 0x0,
                 0x0,
                 0x0,
@@ -18094,8 +18094,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -18103,7 +18103,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 4605,
                 0x0,
                 0x0,
                 0x0,
@@ -18127,7 +18127,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 109,
+ 341,
                 0x0,
                 0x0,
                 0x0,
@@ -18142,8 +18142,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -18151,7 +18151,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 4930,
                 0x0,
                 0x0,
                 0x0,
@@ -18166,8 +18166,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -18175,7 +18175,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 5065,
                 0x0,
                 0x0,
                 0x0,
@@ -18190,8 +18190,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -18199,7 +18199,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 5186,
                 0x0,
                 0x0,
                 0x0,
@@ -20423,7 +20423,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 110,
+ 342,
                 0x0,
                 0x0,
                 0x0,
@@ -20447,7 +20447,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 110,
+ 342,
                 0x0,
                 0x0,
                 0x0,
@@ -20495,7 +20495,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 110,
+ 342,
                 0x0,
                 0x0,
                 0x0,
@@ -20519,7 +20519,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 110,
+ 342,
                 0x0,
                 0x0,
                 0x0,
@@ -21671,7 +21671,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 343,
                 0x0,
                 0x0,
                 0x0,
@@ -21806,8 +21806,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 4,
                         bidi_class::strong_left_to_right,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -21815,7 +21815,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 5252,
                 0x0,
                 0x0,
                 0x0,
@@ -21911,7 +21911,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 343,
                 0x0,
                 0x0,
                 0x0,
@@ -22113,8 +22113,8 @@
                         word_break::any,
                         false,
                         true,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 2,
                         bidi_class::neutral_other,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -22122,7 +22122,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 526,
                 0x0,
                 0x0,
                 0x0,
@@ -22146,7 +22146,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 343,
                 0x0,
                 0x0,
                 0x0,
@@ -22170,7 +22170,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 344,
                 0x0,
                 0x3ac,
                 0x0,
@@ -22194,7 +22194,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 345,
                 0x0,
                 0x0,
                 0x0,
@@ -22218,7 +22218,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 345,
                 0x0,
                 0x3ad,
                 0x0,
@@ -22242,7 +22242,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 346,
                 0x0,
                 0x3ae,
                 0x0,
@@ -22266,7 +22266,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 347,
                 0x0,
                 0x3af,
                 0x0,
@@ -22314,7 +22314,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 348,
                 0x0,
                 0x3cc,
                 0x0,
@@ -22362,7 +22362,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 349,
                 0x0,
                 0x3cd,
                 0x0,
@@ -22386,7 +22386,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 350,
                 0x0,
                 0x3ce,
                 0x0,
@@ -22410,7 +22410,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 351,
                 0x0,
                 0x390,
                 0x0,
@@ -23034,7 +23034,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 352,
                 0x0,
                 0x3ca,
                 0x0,
@@ -23058,7 +23058,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 353,
                 0x0,
                 0x3cb,
                 0x0,
@@ -23082,7 +23082,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 354,
                 0x386,
                 0x0,
                 0x386,
@@ -23106,7 +23106,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 355,
                 0x388,
                 0x0,
                 0x388,
@@ -23130,7 +23130,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 356,
                 0x389,
                 0x0,
                 0x389,
@@ -23154,7 +23154,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 357,
                 0x38a,
                 0x0,
                 0x38a,
@@ -23178,7 +23178,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 358,
                 0x0,
                 0x3b0,
                 0x0,
@@ -23802,7 +23802,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 359,
                 0x3aa,
                 0x0,
                 0x3aa,
@@ -23826,7 +23826,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 360,
                 0x3ab,
                 0x0,
                 0x3ab,
@@ -23850,7 +23850,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 361,
                 0x38c,
                 0x0,
                 0x38c,
@@ -23874,7 +23874,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 362,
                 0x38e,
                 0x0,
                 0x38e,
@@ -23898,7 +23898,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 363,
                 0x38f,
                 0x0,
                 0x38f,
@@ -23922,7 +23922,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 110,
+ 364,
                 0x0,
                 0x3d7,
                 0x0,
@@ -23937,8 +23937,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 4,
                         bidi_class::strong_left_to_right,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -23946,7 +23946,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 111,
+ 5240,
                 0x392,
                 0x0,
                 0x392,
@@ -23961,8 +23961,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 4,
                         bidi_class::strong_left_to_right,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -23970,7 +23970,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 111,
+ 5251,
                 0x398,
                 0x0,
                 0x398,
@@ -23985,8 +23985,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 10,
                         bidi_class::strong_left_to_right,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -23994,7 +23994,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 111,
+ 5274,
                 0x0,
                 0x0,
                 0x0,
@@ -24018,7 +24018,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 111,
+ 365,
                 0x0,
                 0x0,
                 0x0,
@@ -24042,7 +24042,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 111,
+ 365,
                 0x0,
                 0x0,
                 0x0,
@@ -24057,8 +24057,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 4,
                         bidi_class::strong_left_to_right,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -24066,7 +24066,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 111,
+ 5275,
                 0x3a6,
                 0x0,
                 0x3a6,
@@ -24081,8 +24081,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 4,
                         bidi_class::strong_left_to_right,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -24090,7 +24090,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 111,
+ 5261,
                 0x3a0,
                 0x0,
                 0x3a0,
@@ -24114,7 +24114,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 111,
+ 365,
                 0x3cf,
                 0x0,
                 0x3cf,
@@ -24705,8 +24705,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 4,
                         bidi_class::strong_left_to_right,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -24714,7 +24714,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 112,
+ 5254,
                 0x39a,
                 0x0,
                 0x39a,
@@ -24729,8 +24729,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 4,
                         bidi_class::strong_left_to_right,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -24738,7 +24738,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 112,
+ 5266,
                 0x3a1,
                 0x0,
                 0x3a1,
@@ -24753,8 +24753,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 4,
                         bidi_class::strong_left_to_right,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -24762,7 +24762,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 112,
+ 5269,
                 0x3f9,
                 0x0,
                 0x3f9,
@@ -24801,8 +24801,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 10,
                         bidi_class::strong_left_to_right,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -24810,7 +24810,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 112,
+ 5251,
                 0x0,
                 0x3b8,
                 0x0,
@@ -24825,8 +24825,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 4,
                         bidi_class::strong_left_to_right,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -24834,7 +24834,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 112,
+ 5244,
                 0x395,
                 0x0,
                 0x395,
@@ -24921,8 +24921,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 10,
                         bidi_class::strong_left_to_right,
                         decomposition_type::compat,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -24930,7 +24930,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 112,
+ 5269,
                 0x0,
                 0x3f2,
                 0x0,
@@ -25125,7 +25125,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 112,
+ 366,
                 0x0,
                 0x450,
                 0x0,
@@ -25149,7 +25149,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 113,
+ 367,
                 0x0,
                 0x451,
                 0x0,
@@ -25197,7 +25197,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 114,
+ 368,
                 0x0,
                 0x453,
                 0x0,
@@ -25269,7 +25269,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 115,
+ 369,
                 0x0,
                 0x456,
                 0x0,
@@ -25293,7 +25293,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 117,
+ 371,
                 0x0,
                 0x457,
                 0x0,
@@ -25413,7 +25413,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 118,
+ 372,
                 0x0,
                 0x45c,
                 0x0,
@@ -25437,7 +25437,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 119,
+ 373,
                 0x0,
                 0x45d,
                 0x0,
@@ -25461,7 +25461,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 120,
+ 374,
                 0x0,
                 0x45e,
                 0x0,
@@ -25509,7 +25509,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 121,
+ 375,
                 0x0,
                 0x430,
                 0x0,
@@ -25581,7 +25581,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 124,
+ 378,
                 0x0,
                 0x433,
                 0x0,
@@ -25629,7 +25629,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 127,
+ 381,
                 0x0,
                 0x435,
                 0x0,
@@ -25653,7 +25653,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 129,
+ 383,
                 0x0,
                 0x436,
                 0x0,
@@ -25677,7 +25677,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 131,
+ 385,
                 0x0,
                 0x437,
                 0x0,
@@ -25701,7 +25701,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 133,
+ 387,
                 0x0,
                 0x438,
                 0x0,
@@ -25725,7 +25725,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 136,
+ 390,
                 0x0,
                 0x439,
                 0x0,
@@ -25749,7 +25749,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 137,
+ 391,
                 0x0,
                 0x43a,
                 0x0,
@@ -25845,7 +25845,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 140,
+ 394,
                 0x0,
                 0x43e,
                 0x0,
@@ -25965,7 +25965,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 142,
+ 396,
                 0x0,
                 0x443,
                 0x0,
@@ -26061,7 +26061,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 146,
+ 400,
                 0x0,
                 0x447,
                 0x0,
@@ -26157,7 +26157,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 148,
+ 402,
                 0x0,
                 0x44b,
                 0x0,
@@ -26205,7 +26205,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 150,
+ 404,
                 0x0,
                 0x44d,
                 0x0,
@@ -26277,7 +26277,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 152,
+ 406,
                 0x410,
                 0x0,
                 0x410,
@@ -26349,7 +26349,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 155,
+ 409,
                 0x413,
                 0x0,
                 0x413,
@@ -26397,7 +26397,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 158,
+ 412,
                 0x415,
                 0x0,
                 0x415,
@@ -26421,7 +26421,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 160,
+ 414,
                 0x416,
                 0x0,
                 0x416,
@@ -26445,7 +26445,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 162,
+ 416,
                 0x417,
                 0x0,
                 0x417,
@@ -26469,7 +26469,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 164,
+ 418,
                 0x418,
                 0x0,
                 0x418,
@@ -26493,7 +26493,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 167,
+ 421,
                 0x419,
                 0x0,
                 0x419,
@@ -26517,7 +26517,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 168,
+ 422,
                 0x41a,
                 0x0,
                 0x41a,
@@ -26613,7 +26613,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 171,
+ 425,
                 0x41e,
                 0x0,
                 0x41e,
@@ -26733,7 +26733,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 173,
+ 427,
                 0x423,
                 0x0,
                 0x423,
@@ -26829,7 +26829,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 177,
+ 431,
                 0x427,
                 0x0,
                 0x427,
@@ -26925,7 +26925,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 179,
+ 433,
                 0x42b,
                 0x0,
                 0x42b,
@@ -26973,7 +26973,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 181,
+ 435,
                 0x42d,
                 0x0,
                 0x42d,
@@ -27045,7 +27045,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 183,
+ 437,
                 0x400,
                 0x0,
                 0x400,
@@ -27069,7 +27069,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 184,
+ 438,
                 0x401,
                 0x0,
                 0x401,
@@ -27117,7 +27117,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 185,
+ 439,
                 0x403,
                 0x0,
                 0x403,
@@ -27189,7 +27189,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 186,
+ 440,
                 0x406,
                 0x0,
                 0x406,
@@ -27213,7 +27213,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 188,
+ 442,
                 0x407,
                 0x0,
                 0x407,
@@ -27333,7 +27333,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 189,
+ 443,
                 0x40c,
                 0x0,
                 0x40c,
@@ -27357,7 +27357,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 190,
+ 444,
                 0x40d,
                 0x0,
                 0x40d,
@@ -27381,7 +27381,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 191,
+ 445,
                 0x40e,
                 0x0,
                 0x40e,
@@ -27909,7 +27909,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 192,
+ 446,
                 0x0,
                 0x475,
                 0x0,
@@ -27933,7 +27933,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 194,
+ 448,
                 0x474,
                 0x0,
                 0x474,
@@ -27957,7 +27957,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 196,
+ 450,
                 0x0,
                 0x477,
                 0x0,
@@ -27981,7 +27981,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 197,
+ 451,
                 0x476,
                 0x0,
                 0x476,
@@ -28624,7 +28624,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 198,
+ 452,
                 0x0,
                 0x491,
                 0x0,
@@ -28648,7 +28648,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 199,
+ 453,
                 0x490,
                 0x0,
                 0x490,
@@ -29800,7 +29800,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 200,
+ 454,
                 0x0,
                 0x4c2,
                 0x0,
@@ -29824,7 +29824,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 201,
+ 455,
                 0x4c1,
                 0x0,
                 0x4c1,
@@ -30160,7 +30160,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 202,
+ 456,
                 0x0,
                 0x4d1,
                 0x0,
@@ -30184,7 +30184,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 203,
+ 457,
                 0x4d0,
                 0x0,
                 0x4d0,
@@ -30208,7 +30208,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 204,
+ 458,
                 0x0,
                 0x4d3,
                 0x0,
@@ -30232,7 +30232,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 205,
+ 459,
                 0x4d2,
                 0x0,
                 0x4d2,
@@ -30304,7 +30304,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 206,
+ 460,
                 0x0,
                 0x4d7,
                 0x0,
@@ -30328,7 +30328,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 207,
+ 461,
                 0x4d6,
                 0x0,
                 0x4d6,
@@ -30352,7 +30352,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 208,
+ 462,
                 0x0,
                 0x4d9,
                 0x0,
@@ -30376,7 +30376,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 210,
+ 464,
                 0x4d8,
                 0x0,
                 0x4d8,
@@ -30400,7 +30400,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 212,
+ 466,
                 0x0,
                 0x4db,
                 0x0,
@@ -30424,7 +30424,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 213,
+ 467,
                 0x4da,
                 0x0,
                 0x4da,
@@ -30448,7 +30448,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 214,
+ 468,
                 0x0,
                 0x4dd,
                 0x0,
@@ -30472,7 +30472,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 215,
+ 469,
                 0x4dc,
                 0x0,
                 0x4dc,
@@ -30496,7 +30496,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 216,
+ 470,
                 0x0,
                 0x4df,
                 0x0,
@@ -30520,7 +30520,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 217,
+ 471,
                 0x4de,
                 0x0,
                 0x4de,
@@ -30592,7 +30592,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 218,
+ 472,
                 0x0,
                 0x4e3,
                 0x0,
@@ -30616,7 +30616,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 219,
+ 473,
                 0x4e2,
                 0x0,
                 0x4e2,
@@ -30640,7 +30640,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 220,
+ 474,
                 0x0,
                 0x4e5,
                 0x0,
@@ -30664,7 +30664,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 221,
+ 475,
                 0x4e4,
                 0x0,
                 0x4e4,
@@ -30688,7 +30688,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 222,
+ 476,
                 0x0,
                 0x4e7,
                 0x0,
@@ -30712,7 +30712,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 223,
+ 477,
                 0x4e6,
                 0x0,
                 0x4e6,
@@ -30736,7 +30736,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 224,
+ 478,
                 0x0,
                 0x4e9,
                 0x0,
@@ -30760,7 +30760,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 226,
+ 480,
                 0x4e8,
                 0x0,
                 0x4e8,
@@ -30784,7 +30784,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 228,
+ 482,
                 0x0,
                 0x4eb,
                 0x0,
@@ -30808,7 +30808,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 229,
+ 483,
                 0x4ea,
                 0x0,
                 0x4ea,
@@ -30832,7 +30832,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 230,
+ 484,
                 0x0,
                 0x4ed,
                 0x0,
@@ -30856,7 +30856,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 231,
+ 485,
                 0x4ec,
                 0x0,
                 0x4ec,
@@ -30880,7 +30880,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 232,
+ 486,
                 0x0,
                 0x4ef,
                 0x0,
@@ -30904,7 +30904,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 233,
+ 487,
                 0x4ee,
                 0x0,
                 0x4ee,
@@ -30928,7 +30928,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 234,
+ 488,
                 0x0,
                 0x4f1,
                 0x0,
@@ -30952,7 +30952,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 235,
+ 489,
                 0x4f0,
                 0x0,
                 0x4f0,
@@ -30976,7 +30976,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 236,
+ 490,
                 0x0,
                 0x4f3,
                 0x0,
@@ -31000,7 +31000,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 237,
+ 491,
                 0x4f2,
                 0x0,
                 0x4f2,
@@ -31024,7 +31024,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 238,
+ 492,
                 0x0,
                 0x4f5,
                 0x0,
@@ -31048,7 +31048,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 239,
+ 493,
                 0x4f4,
                 0x0,
                 0x4f4,
@@ -31120,7 +31120,7 @@
                         sentence_break::upper,
                         grapheme_cluster_break::any,
                 },
- 240,
+ 494,
                 0x0,
                 0x4f9,
                 0x0,
@@ -31144,7 +31144,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 241,
+ 495,
                 0x4f8,
                 0x0,
                 0x4f8,
@@ -34582,7 +34582,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 242,
+ 496,
                 0x0,
                 0x587,
                 0x0,
@@ -37102,7 +37102,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 242,
+ 497,
                 0x0,
                 0x0,
                 0x0,
@@ -37126,7 +37126,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 243,
+ 498,
                 0x0,
                 0x0,
                 0x0,
@@ -37150,7 +37150,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 244,
+ 499,
                 0x0,
                 0x0,
                 0x0,
@@ -38320,7 +38320,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 245,
+ 500,
                 0x0,
                 0x0,
                 0x0,
@@ -38344,7 +38344,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 246,
+ 501,
                 0x0,
                 0x0,
                 0x0,
@@ -38368,7 +38368,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 247,
+ 502,
                 0x0,
                 0x0,
                 0x0,
@@ -38392,7 +38392,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 248,
+ 503,
                 0x0,
                 0x0,
                 0x0,
@@ -38416,7 +38416,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 249,
+ 504,
                 0x0,
                 0x0,
                 0x0,
@@ -38440,7 +38440,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 250,
+ 505,
                 0x0,
                 0x0,
                 0x0,
@@ -39232,7 +39232,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 254,
+ 509,
                 0x0,
                 0x0,
                 0x0,
@@ -39280,7 +39280,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 256,
+ 511,
                 0x0,
                 0x0,
                 0x0,
@@ -39808,7 +39808,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 258,
+ 513,
                 0x0,
                 0x0,
                 0x0,
@@ -39832,7 +39832,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 259,
+ 514,
                 0x0,
                 0x0,
                 0x0,
@@ -39856,7 +39856,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 260,
+ 515,
                 0x0,
                 0x0,
                 0x0,
@@ -39880,7 +39880,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 261,
+ 516,
                 0x0,
                 0x0,
                 0x0,
@@ -39904,7 +39904,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 262,
+ 517,
                 0x0,
                 0x0,
                 0x0,
@@ -39928,7 +39928,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 263,
+ 518,
                 0x0,
                 0x0,
                 0x0,
@@ -39952,7 +39952,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 264,
+ 519,
                 0x0,
                 0x0,
                 0x0,
@@ -39976,7 +39976,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 265,
+ 520,
                 0x0,
                 0x0,
                 0x0,
@@ -40000,7 +40000,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 266,
+ 521,
                 0x0,
                 0x0,
                 0x0,
@@ -40024,7 +40024,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 267,
+ 522,
                 0x0,
                 0x0,
                 0x0,
@@ -40312,7 +40312,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 268,
+ 523,
                 0x0,
                 0x0,
                 0x0,
@@ -40336,7 +40336,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 269,
+ 524,
                 0x0,
                 0x0,
                 0x0,
@@ -40360,7 +40360,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 270,
+ 525,
                 0x0,
                 0x0,
                 0x0,
@@ -40384,7 +40384,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 271,
+ 526,
                 0x0,
                 0x0,
                 0x0,
@@ -42124,7 +42124,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 272,
+ 527,
                 0x0,
                 0x0,
                 0x0,
@@ -42172,7 +42172,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 272,
+ 528,
                 0x0,
                 0x0,
                 0x0,
@@ -42580,7 +42580,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 272,
+ 529,
                 0x0,
                 0x0,
                 0x0,
@@ -43276,7 +43276,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 272,
+ 530,
                 0x0,
                 0x0,
                 0x0,
@@ -43300,7 +43300,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 273,
+ 531,
                 0x0,
                 0x0,
                 0x0,
@@ -43324,7 +43324,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 274,
+ 532,
                 0x0,
                 0x0,
                 0x0,
@@ -43348,7 +43348,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 275,
+ 533,
                 0x0,
                 0x0,
                 0x0,
@@ -43372,7 +43372,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 276,
+ 534,
                 0x0,
                 0x0,
                 0x0,
@@ -43396,7 +43396,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 277,
+ 535,
                 0x0,
                 0x0,
                 0x0,
@@ -43420,7 +43420,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 278,
+ 536,
                 0x0,
                 0x0,
                 0x0,
@@ -43444,7 +43444,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 279,
+ 537,
                 0x0,
                 0x0,
                 0x0,
@@ -43468,7 +43468,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 280,
+ 538,
                 0x0,
                 0x0,
                 0x0,
@@ -43492,7 +43492,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 281,
+ 539,
                 0x0,
                 0x0,
                 0x0,
@@ -43588,7 +43588,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 282,
+ 540,
                 0x0,
                 0x0,
                 0x0,
@@ -43612,7 +43612,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 283,
+ 541,
                 0x0,
                 0x0,
                 0x0,
@@ -44029,7 +44029,7 @@
                         sentence_break::format,
                         grapheme_cluster_break::control,
                 },
- 284,
+ 542,
                 0x0,
                 0x0,
                 0x0,
@@ -44149,7 +44149,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 285,
+ 543,
                 0x0,
                 0x0,
                 0x0,
@@ -44341,7 +44341,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 286,
+ 544,
                 0x0,
                 0x0,
                 0x0,
@@ -44605,7 +44605,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 287,
+ 545,
                 0x0,
                 0x0,
                 0x0,
@@ -44749,7 +44749,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 288,
+ 546,
                 0x0,
                 0x0,
                 0x0,
@@ -44773,7 +44773,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 289,
+ 547,
                 0x0,
                 0x0,
                 0x0,
@@ -44797,7 +44797,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 290,
+ 548,
                 0x0,
                 0x0,
                 0x0,
@@ -48286,7 +48286,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 291,
+ 549,
                 0x0,
                 0x0,
                 0x0,
@@ -48310,7 +48310,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 292,
+ 550,
                 0x0,
                 0x0,
                 0x0,
@@ -48334,7 +48334,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 293,
+ 551,
                 0x0,
                 0x0,
                 0x0,
@@ -48358,7 +48358,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 294,
+ 552,
                 0x0,
                 0x0,
                 0x0,
@@ -48382,7 +48382,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 295,
+ 553,
                 0x0,
                 0x0,
                 0x0,
@@ -48406,7 +48406,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 296,
+ 554,
                 0x0,
                 0x0,
                 0x0,
@@ -48430,7 +48430,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 297,
+ 555,
                 0x0,
                 0x0,
                 0x0,
@@ -48454,7 +48454,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 298,
+ 556,
                 0x0,
                 0x0,
                 0x0,
@@ -48478,7 +48478,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 299,
+ 557,
                 0x0,
                 0x0,
                 0x0,
@@ -48502,7 +48502,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 300,
+ 558,
                 0x0,
                 0x0,
                 0x0,
@@ -49246,7 +49246,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 301,
+ 559,
                 0x0,
                 0x0,
                 0x0,
@@ -49270,7 +49270,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 302,
+ 560,
                 0x0,
                 0x0,
                 0x0,
@@ -49294,7 +49294,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 303,
+ 561,
                 0x0,
                 0x0,
                 0x0,
@@ -53907,7 +53907,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 304,
+ 562,
                 0x0,
                 0x0,
                 0x0,
@@ -54099,7 +54099,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 304,
+ 563,
                 0x0,
                 0x0,
                 0x0,
@@ -54171,7 +54171,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 304,
+ 564,
                 0x0,
                 0x0,
                 0x0,
@@ -55035,7 +55035,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 304,
+ 565,
                 0x0,
                 0x0,
                 0x0,
@@ -55059,7 +55059,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 304,
+ 566,
                 0x0,
                 0x0,
                 0x0,
@@ -55083,7 +55083,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 304,
+ 567,
                 0x0,
                 0x0,
                 0x0,
@@ -55107,7 +55107,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 304,
+ 568,
                 0x0,
                 0x0,
                 0x0,
@@ -55131,7 +55131,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 304,
+ 569,
                 0x0,
                 0x0,
                 0x0,
@@ -55155,7 +55155,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 304,
+ 570,
                 0x0,
                 0x0,
                 0x0,
@@ -55179,7 +55179,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 304,
+ 571,
                 0x0,
                 0x0,
                 0x0,
@@ -55203,7 +55203,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 304,
+ 572,
                 0x0,
                 0x0,
                 0x0,
@@ -55371,7 +55371,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 304,
+ 573,
                 0x0,
                 0x0,
                 0x0,
@@ -55395,7 +55395,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 305,
+ 574,
                 0x0,
                 0x0,
                 0x0,
@@ -55419,7 +55419,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 306,
+ 575,
                 0x0,
                 0x0,
                 0x0,
@@ -55443,7 +55443,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 307,
+ 576,
                 0x0,
                 0x0,
                 0x0,
@@ -55467,7 +55467,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 308,
+ 577,
                 0x0,
                 0x0,
                 0x0,
@@ -55491,7 +55491,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 309,
+ 578,
                 0x0,
                 0x0,
                 0x0,
@@ -55515,7 +55515,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 310,
+ 579,
                 0x0,
                 0x0,
                 0x0,
@@ -55539,7 +55539,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 311,
+ 580,
                 0x0,
                 0x0,
                 0x0,
@@ -55563,7 +55563,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 312,
+ 581,
                 0x0,
                 0x0,
                 0x0,
@@ -55587,7 +55587,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 313,
+ 582,
                 0x0,
                 0x0,
                 0x0,
@@ -57713,7 +57713,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 314,
+ 583,
                 0x0,
                 0x0,
                 0x0,
@@ -57809,7 +57809,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 317,
+ 586,
                 0x0,
                 0x0,
                 0x0,
@@ -57833,7 +57833,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 318,
+ 587,
                 0x0,
                 0x0,
                 0x0,
@@ -57881,7 +57881,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 319,
+ 588,
                 0x0,
                 0x0,
                 0x0,
@@ -58217,7 +58217,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 320,
+ 589,
                 0x0,
                 0x0,
                 0x0,
@@ -58241,7 +58241,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 320,
+ 590,
                 0x0,
                 0x0,
                 0x0,
@@ -58289,7 +58289,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 320,
+ 591,
                 0x0,
                 0x0,
                 0x0,
@@ -58457,7 +58457,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 320,
+ 592,
                 0x0,
                 0x0,
                 0x0,
@@ -58481,7 +58481,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 321,
+ 593,
                 0x0,
                 0x0,
                 0x0,
@@ -58505,7 +58505,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 322,
+ 594,
                 0x0,
                 0x0,
                 0x0,
@@ -58529,7 +58529,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 323,
+ 595,
                 0x0,
                 0x0,
                 0x0,
@@ -58553,7 +58553,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 324,
+ 596,
                 0x0,
                 0x0,
                 0x0,
@@ -58577,7 +58577,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 325,
+ 597,
                 0x0,
                 0x0,
                 0x0,
@@ -58601,7 +58601,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 326,
+ 598,
                 0x0,
                 0x0,
                 0x0,
@@ -58625,7 +58625,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 327,
+ 599,
                 0x0,
                 0x0,
                 0x0,
@@ -58649,7 +58649,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 328,
+ 600,
                 0x0,
                 0x0,
                 0x0,
@@ -58673,7 +58673,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 329,
+ 601,
                 0x0,
                 0x0,
                 0x0,
@@ -58793,7 +58793,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 330,
+ 602,
                 0x0,
                 0x0,
                 0x0,
@@ -58817,7 +58817,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 331,
+ 603,
                 0x0,
                 0x0,
                 0x0,
@@ -58841,7 +58841,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 332,
+ 604,
                 0x0,
                 0x0,
                 0x0,
@@ -58865,7 +58865,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 333,
+ 605,
                 0x0,
                 0x0,
                 0x0,
@@ -60320,7 +60320,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 334,
+ 606,
                 0x0,
                 0x0,
                 0x0,
@@ -60392,7 +60392,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 334,
+ 607,
                 0x0,
                 0x0,
                 0x0,
@@ -61232,7 +61232,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 334,
+ 607,
                 0x0,
                 0x0,
                 0x0,
@@ -61256,7 +61256,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 334,
+ 608,
                 0x0,
                 0x0,
                 0x0,
@@ -61280,7 +61280,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 334,
+ 609,
                 0x0,
                 0x0,
                 0x0,
@@ -61352,7 +61352,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 334,
+ 610,
                 0x0,
                 0x0,
                 0x0,
@@ -61544,7 +61544,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 334,
+ 611,
                 0x0,
                 0x0,
                 0x0,
@@ -61568,7 +61568,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 335,
+ 612,
                 0x0,
                 0x0,
                 0x0,
@@ -61592,7 +61592,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 336,
+ 613,
                 0x0,
                 0x0,
                 0x0,
@@ -61616,7 +61616,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 337,
+ 614,
                 0x0,
                 0x0,
                 0x0,
@@ -61640,7 +61640,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 338,
+ 615,
                 0x0,
                 0x0,
                 0x0,
@@ -61664,7 +61664,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 339,
+ 616,
                 0x0,
                 0x0,
                 0x0,
@@ -61688,7 +61688,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 340,
+ 617,
                 0x0,
                 0x0,
                 0x0,
@@ -61712,7 +61712,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 341,
+ 618,
                 0x0,
                 0x0,
                 0x0,
@@ -61736,7 +61736,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 342,
+ 619,
                 0x0,
                 0x0,
                 0x0,
@@ -61760,7 +61760,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 343,
+ 620,
                 0x0,
                 0x0,
                 0x0,
@@ -64625,7 +64625,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 344,
+ 621,
                 0x0,
                 0x0,
                 0x0,
@@ -64649,7 +64649,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 345,
+ 622,
                 0x0,
                 0x0,
                 0x0,
@@ -64673,7 +64673,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 346,
+ 623,
                 0x0,
                 0x0,
                 0x0,
@@ -64697,7 +64697,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 347,
+ 624,
                 0x0,
                 0x0,
                 0x0,
@@ -64721,7 +64721,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 348,
+ 625,
                 0x0,
                 0x0,
                 0x0,
@@ -64745,7 +64745,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 349,
+ 626,
                 0x0,
                 0x0,
                 0x0,
@@ -64769,7 +64769,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 350,
+ 627,
                 0x0,
                 0x0,
                 0x0,
@@ -64793,7 +64793,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 351,
+ 628,
                 0x0,
                 0x0,
                 0x0,
@@ -64817,7 +64817,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 352,
+ 629,
                 0x0,
                 0x0,
                 0x0,
@@ -64841,7 +64841,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 353,
+ 630,
                 0x0,
                 0x0,
                 0x0,
@@ -66967,7 +66967,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 354,
+ 631,
                 0x0,
                 0x0,
                 0x0,
@@ -66991,7 +66991,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 358,
+ 635,
                 0x0,
                 0x0,
                 0x0,
@@ -67063,7 +67063,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 359,
+ 636,
                 0x0,
                 0x0,
                 0x0,
@@ -67087,7 +67087,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 360,
+ 637,
                 0x0,
                 0x0,
                 0x0,
@@ -67471,7 +67471,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 361,
+ 638,
                 0x0,
                 0x0,
                 0x0,
@@ -67495,7 +67495,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 361,
+ 639,
                 0x0,
                 0x0,
                 0x0,
@@ -67711,7 +67711,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 361,
+ 640,
                 0x0,
                 0x0,
                 0x0,
@@ -67735,7 +67735,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 362,
+ 641,
                 0x0,
                 0x0,
                 0x0,
@@ -67759,7 +67759,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 363,
+ 642,
                 0x0,
                 0x0,
                 0x0,
@@ -67783,7 +67783,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 364,
+ 643,
                 0x0,
                 0x0,
                 0x0,
@@ -67807,7 +67807,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 365,
+ 644,
                 0x0,
                 0x0,
                 0x0,
@@ -67831,7 +67831,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 366,
+ 645,
                 0x0,
                 0x0,
                 0x0,
@@ -67855,7 +67855,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 367,
+ 646,
                 0x0,
                 0x0,
                 0x0,
@@ -67879,7 +67879,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 368,
+ 647,
                 0x0,
                 0x0,
                 0x0,
@@ -67903,7 +67903,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 369,
+ 648,
                 0x0,
                 0x0,
                 0x0,
@@ -67927,7 +67927,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 370,
+ 649,
                 0x0,
                 0x0,
                 0x0,
@@ -68780,7 +68780,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 371,
+ 650,
                 0x0,
                 0x0,
                 0x0,
@@ -68828,7 +68828,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 373,
+ 652,
                 0x0,
                 0x0,
                 0x0,
@@ -70028,7 +70028,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 374,
+ 653,
                 0x0,
                 0x0,
                 0x0,
@@ -70052,7 +70052,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 377,
+ 656,
                 0x0,
                 0x0,
                 0x0,
@@ -70124,7 +70124,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 379,
+ 658,
                 0x0,
                 0x0,
                 0x0,
@@ -70148,7 +70148,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 380,
+ 659,
                 0x0,
                 0x0,
                 0x0,
@@ -70172,7 +70172,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 381,
+ 660,
                 0x0,
                 0x0,
                 0x0,
@@ -70796,7 +70796,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 382,
+ 661,
                 0x0,
                 0x0,
                 0x0,
@@ -70820,7 +70820,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 383,
+ 662,
                 0x0,
                 0x0,
                 0x0,
@@ -70844,7 +70844,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 384,
+ 663,
                 0x0,
                 0x0,
                 0x0,
@@ -70868,7 +70868,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 385,
+ 664,
                 0x0,
                 0x0,
                 0x0,
@@ -70892,7 +70892,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 386,
+ 665,
                 0x0,
                 0x0,
                 0x0,
@@ -70916,7 +70916,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 387,
+ 666,
                 0x0,
                 0x0,
                 0x0,
@@ -70940,7 +70940,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 388,
+ 667,
                 0x0,
                 0x0,
                 0x0,
@@ -70964,7 +70964,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 389,
+ 668,
                 0x0,
                 0x0,
                 0x0,
@@ -70988,7 +70988,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 390,
+ 669,
                 0x0,
                 0x0,
                 0x0,
@@ -71012,7 +71012,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 391,
+ 670,
                 0x0,
                 0x0,
                 0x0,
@@ -73110,7 +73110,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 392,
+ 671,
                 0x0,
                 0x0,
                 0x0,
@@ -73158,7 +73158,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 394,
+ 673,
                 0x0,
                 0x0,
                 0x0,
@@ -73878,7 +73878,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 395,
+ 674,
                 0x0,
                 0x0,
                 0x0,
@@ -73902,7 +73902,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 396,
+ 675,
                 0x0,
                 0x0,
                 0x0,
@@ -73926,7 +73926,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 397,
+ 676,
                 0x0,
                 0x0,
                 0x0,
@@ -73950,7 +73950,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 398,
+ 677,
                 0x0,
                 0x0,
                 0x0,
@@ -73974,7 +73974,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 399,
+ 678,
                 0x0,
                 0x0,
                 0x0,
@@ -73998,7 +73998,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 400,
+ 679,
                 0x0,
                 0x0,
                 0x0,
@@ -74022,7 +74022,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 401,
+ 680,
                 0x0,
                 0x0,
                 0x0,
@@ -74046,7 +74046,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 402,
+ 681,
                 0x0,
                 0x0,
                 0x0,
@@ -74070,7 +74070,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 403,
+ 682,
                 0x0,
                 0x0,
                 0x0,
@@ -74094,7 +74094,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 404,
+ 683,
                 0x0,
                 0x0,
                 0x0,
@@ -74310,7 +74310,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 405,
+ 684,
                 0x0,
                 0x0,
                 0x0,
@@ -74334,7 +74334,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 406,
+ 685,
                 0x0,
                 0x0,
                 0x0,
@@ -74358,7 +74358,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 407,
+ 686,
                 0x0,
                 0x0,
                 0x0,
@@ -74382,7 +74382,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 408,
+ 687,
                 0x0,
                 0x0,
                 0x0,
@@ -74406,7 +74406,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 409,
+ 688,
                 0x0,
                 0x0,
                 0x0,
@@ -74430,7 +74430,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 410,
+ 689,
                 0x0,
                 0x0,
                 0x0,
@@ -74454,7 +74454,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 411,
+ 690,
                 0x0,
                 0x0,
                 0x0,

Modified: sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_2.ipp
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_2.ipp (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_2.ipp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -1563,7 +1563,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 412,
+ 691,
                 0x0,
                 0x0,
                 0x0,
@@ -1587,7 +1587,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 414,
+ 693,
                 0x0,
                 0x0,
                 0x0,
@@ -1731,7 +1731,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 415,
+ 694,
                 0x0,
                 0x0,
                 0x0,
@@ -1755,7 +1755,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 420,
+ 699,
                 0x0,
                 0x0,
                 0x0,
@@ -1779,7 +1779,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 421,
+ 700,
                 0x0,
                 0x0,
                 0x0,
@@ -1827,7 +1827,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 422,
+ 701,
                 0x0,
                 0x0,
                 0x0,
@@ -1851,7 +1851,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 424,
+ 703,
                 0x0,
                 0x0,
                 0x0,
@@ -2499,7 +2499,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 425,
+ 704,
                 0x0,
                 0x0,
                 0x0,
@@ -2523,7 +2523,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 426,
+ 705,
                 0x0,
                 0x0,
                 0x0,
@@ -2547,7 +2547,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 427,
+ 706,
                 0x0,
                 0x0,
                 0x0,
@@ -2571,7 +2571,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 428,
+ 707,
                 0x0,
                 0x0,
                 0x0,
@@ -2595,7 +2595,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 429,
+ 708,
                 0x0,
                 0x0,
                 0x0,
@@ -2619,7 +2619,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 430,
+ 709,
                 0x0,
                 0x0,
                 0x0,
@@ -2643,7 +2643,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 431,
+ 710,
                 0x0,
                 0x0,
                 0x0,
@@ -2667,7 +2667,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 432,
+ 711,
                 0x0,
                 0x0,
                 0x0,
@@ -2691,7 +2691,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 433,
+ 712,
                 0x0,
                 0x0,
                 0x0,
@@ -2715,7 +2715,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 434,
+ 713,
                 0x0,
                 0x0,
                 0x0,
@@ -4815,7 +4815,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 435,
+ 714,
                 0x0,
                 0x0,
                 0x0,
@@ -4839,7 +4839,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 438,
+ 717,
                 0x0,
                 0x0,
                 0x0,
@@ -4911,7 +4911,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 440,
+ 719,
                 0x0,
                 0x0,
                 0x0,
@@ -4935,7 +4935,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 441,
+ 720,
                 0x0,
                 0x0,
                 0x0,
@@ -4959,7 +4959,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 442,
+ 721,
                 0x0,
                 0x0,
                 0x0,
@@ -5583,7 +5583,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 443,
+ 722,
                 0x0,
                 0x0,
                 0x0,
@@ -5607,7 +5607,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 444,
+ 723,
                 0x0,
                 0x0,
                 0x0,
@@ -5631,7 +5631,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 445,
+ 724,
                 0x0,
                 0x0,
                 0x0,
@@ -5655,7 +5655,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 446,
+ 725,
                 0x0,
                 0x0,
                 0x0,
@@ -5679,7 +5679,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 447,
+ 726,
                 0x0,
                 0x0,
                 0x0,
@@ -5703,7 +5703,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 448,
+ 727,
                 0x0,
                 0x0,
                 0x0,
@@ -5727,7 +5727,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 449,
+ 728,
                 0x0,
                 0x0,
                 0x0,
@@ -5751,7 +5751,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 450,
+ 729,
                 0x0,
                 0x0,
                 0x0,
@@ -5775,7 +5775,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 451,
+ 730,
                 0x0,
                 0x0,
                 0x0,
@@ -5799,7 +5799,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 452,
+ 731,
                 0x0,
                 0x0,
                 0x0,
@@ -8356,7 +8356,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 453,
+ 732,
                 0x0,
                 0x0,
                 0x0,
@@ -8380,7 +8380,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 458,
+ 737,
                 0x0,
                 0x0,
                 0x0,
@@ -8428,7 +8428,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 459,
+ 738,
                 0x0,
                 0x0,
                 0x0,
@@ -8452,7 +8452,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 461,
+ 740,
                 0x0,
                 0x0,
                 0x0,
@@ -8476,7 +8476,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 462,
+ 741,
                 0x0,
                 0x0,
                 0x0,
@@ -10526,7 +10526,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::extend,
                 },
- 463,
+ 742,
                 0x0,
                 0x0,
                 0x0,
@@ -10838,7 +10838,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 464,
+ 743,
                 0x0,
                 0x0,
                 0x0,
@@ -10862,7 +10862,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 511,
+ 790,
                 0x0,
                 0x0,
                 0x0,
@@ -10886,7 +10886,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 558,
+ 837,
                 0x0,
                 0x0,
                 0x0,
@@ -10910,7 +10910,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 605,
+ 884,
                 0x0,
                 0x0,
                 0x0,
@@ -10934,7 +10934,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 652,
+ 931,
                 0x0,
                 0x0,
                 0x0,
@@ -11150,7 +11150,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 699,
+ 978,
                 0x0,
                 0x0,
                 0x0,
@@ -11222,7 +11222,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 701,
+ 980,
                 0x0,
                 0x0,
                 0x0,
@@ -11246,7 +11246,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 702,
+ 981,
                 0x0,
                 0x0,
                 0x0,
@@ -11270,7 +11270,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 703,
+ 982,
                 0x0,
                 0x0,
                 0x0,
@@ -11294,7 +11294,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 704,
+ 983,
                 0x0,
                 0x0,
                 0x0,
@@ -11318,7 +11318,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 705,
+ 984,
                 0x0,
                 0x0,
                 0x0,
@@ -11342,7 +11342,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 706,
+ 985,
                 0x0,
                 0x0,
                 0x0,
@@ -11366,7 +11366,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 707,
+ 986,
                 0x0,
                 0x0,
                 0x0,
@@ -11390,7 +11390,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 708,
+ 987,
                 0x0,
                 0x0,
                 0x0,
@@ -11414,7 +11414,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 709,
+ 988,
                 0x0,
                 0x0,
                 0x0,
@@ -11438,7 +11438,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 710,
+ 989,
                 0x0,
                 0x0,
                 0x0,
@@ -13610,7 +13610,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::extend,
                 },
- 711,
+ 990,
                 0x0,
                 0x0,
                 0x0,
@@ -13922,7 +13922,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 712,
+ 991,
                 0x0,
                 0x0,
                 0x0,
@@ -13946,7 +13946,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 742,
+ 1021,
                 0x0,
                 0x0,
                 0x0,
@@ -13970,7 +13970,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 772,
+ 1051,
                 0x0,
                 0x0,
                 0x0,
@@ -13994,7 +13994,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 802,
+ 1081,
                 0x0,
                 0x0,
                 0x0,
@@ -14018,7 +14018,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 832,
+ 1111,
                 0x0,
                 0x0,
                 0x0,
@@ -14234,7 +14234,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 862,
+ 1141,
                 0x0,
                 0x0,
                 0x0,
@@ -14306,7 +14306,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 864,
+ 1143,
                 0x0,
                 0x0,
                 0x0,
@@ -14330,7 +14330,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 865,
+ 1144,
                 0x0,
                 0x0,
                 0x0,
@@ -14354,7 +14354,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 866,
+ 1145,
                 0x0,
                 0x0,
                 0x0,
@@ -14378,7 +14378,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 867,
+ 1146,
                 0x0,
                 0x0,
                 0x0,
@@ -14402,7 +14402,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 868,
+ 1147,
                 0x0,
                 0x0,
                 0x0,
@@ -14426,7 +14426,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 869,
+ 1148,
                 0x0,
                 0x0,
                 0x0,
@@ -14450,7 +14450,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 870,
+ 1149,
                 0x0,
                 0x0,
                 0x0,
@@ -14474,7 +14474,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 871,
+ 1150,
                 0x0,
                 0x0,
                 0x0,
@@ -14498,7 +14498,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 872,
+ 1151,
                 0x0,
                 0x0,
                 0x0,
@@ -14522,7 +14522,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 873,
+ 1152,
                 0x0,
                 0x0,
                 0x0,
@@ -14594,7 +14594,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 874,
+ 1153,
                 0x0,
                 0x0,
                 0x0,
@@ -14618,7 +14618,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 874,
+ 1154,
                 0x0,
                 0x0,
                 0x0,
@@ -15480,7 +15480,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 874,
+ 1155,
                 0x0,
                 0x0,
                 0x0,
@@ -15759,8 +15759,8 @@
                         word_break::any,
                         false,
                         true,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 27,
                         bidi_class::strong_left_to_right,
                         decomposition_type::no_break,
                         break_class::non_breaking,
@@ -15768,7 +15768,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 875,
+ 887,
                 0x0,
                 0x0,
                 0x0,
@@ -16248,7 +16248,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 875,
+ 1156,
                 0x0,
                 0x0,
                 0x0,
@@ -16272,7 +16272,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 876,
+ 1157,
                 0x0,
                 0x0,
                 0x0,
@@ -16296,7 +16296,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 877,
+ 1158,
                 0x0,
                 0x0,
                 0x0,
@@ -16320,7 +16320,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 878,
+ 1159,
                 0x0,
                 0x0,
                 0x0,
@@ -16344,7 +16344,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 879,
+ 1160,
                 0x0,
                 0x0,
                 0x0,
@@ -16368,7 +16368,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 880,
+ 1161,
                 0x0,
                 0x0,
                 0x0,
@@ -16392,7 +16392,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 881,
+ 1162,
                 0x0,
                 0x0,
                 0x0,
@@ -16416,7 +16416,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 882,
+ 1163,
                 0x0,
                 0x0,
                 0x0,
@@ -16440,7 +16440,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 883,
+ 1164,
                 0x0,
                 0x0,
                 0x0,
@@ -16464,7 +16464,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 884,
+ 1165,
                 0x0,
                 0x0,
                 0x0,
@@ -16488,7 +16488,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 885,
+ 1166,
                 0x0,
                 0x0,
                 0x0,
@@ -16512,7 +16512,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 886,
+ 1167,
                 0x0,
                 0x0,
                 0x0,
@@ -16536,7 +16536,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 887,
+ 1168,
                 0x0,
                 0x0,
                 0x0,
@@ -16560,7 +16560,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 888,
+ 1169,
                 0x0,
                 0x0,
                 0x0,
@@ -16584,7 +16584,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 889,
+ 1170,
                 0x0,
                 0x0,
                 0x0,
@@ -16608,7 +16608,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 890,
+ 1171,
                 0x0,
                 0x0,
                 0x0,
@@ -16632,7 +16632,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 891,
+ 1172,
                 0x0,
                 0x0,
                 0x0,
@@ -16656,7 +16656,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 892,
+ 1173,
                 0x0,
                 0x0,
                 0x0,
@@ -16680,7 +16680,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 893,
+ 1174,
                 0x0,
                 0x0,
                 0x0,
@@ -16704,7 +16704,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 894,
+ 1175,
                 0x0,
                 0x0,
                 0x0,
@@ -17088,7 +17088,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 895,
+ 1176,
                 0x0,
                 0x0,
                 0x0,
@@ -17328,7 +17328,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 895,
+ 1177,
                 0x0,
                 0x0,
                 0x0,
@@ -17448,7 +17448,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 895,
+ 1178,
                 0x0,
                 0x0,
                 0x0,
@@ -17568,7 +17568,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 895,
+ 1179,
                 0x0,
                 0x0,
                 0x0,
@@ -17688,7 +17688,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 895,
+ 1180,
                 0x0,
                 0x0,
                 0x0,
@@ -18000,7 +18000,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 895,
+ 1181,
                 0x0,
                 0x0,
                 0x0,
@@ -18024,7 +18024,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 895,
+ 1182,
                 0x0,
                 0x0,
                 0x0,
@@ -18192,7 +18192,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 896,
+ 1183,
                 0x0,
                 0x0,
                 0x0,
@@ -18240,7 +18240,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 900,
+ 1187,
                 0x0,
                 0x0,
                 0x0,
@@ -18288,7 +18288,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 901,
+ 1188,
                 0x0,
                 0x0,
                 0x0,
@@ -18312,7 +18312,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 902,
+ 1189,
                 0x0,
                 0x0,
                 0x0,
@@ -18336,7 +18336,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 903,
+ 1190,
                 0x0,
                 0x0,
                 0x0,
@@ -18360,7 +18360,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 904,
+ 1191,
                 0x0,
                 0x0,
                 0x0,
@@ -18384,7 +18384,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 905,
+ 1192,
                 0x0,
                 0x0,
                 0x0,
@@ -18592,7 +18592,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 906,
+ 1193,
                 0x0,
                 0x0,
                 0x0,
@@ -19024,7 +19024,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 907,
+ 1194,
                 0x0,
                 0x0,
                 0x0,
@@ -19264,7 +19264,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 907,
+ 1195,
                 0x0,
                 0x0,
                 0x0,
@@ -19384,7 +19384,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 907,
+ 1196,
                 0x0,
                 0x0,
                 0x0,
@@ -19504,7 +19504,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 907,
+ 1197,
                 0x0,
                 0x0,
                 0x0,
@@ -19624,7 +19624,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 907,
+ 1198,
                 0x0,
                 0x0,
                 0x0,
@@ -19768,7 +19768,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 907,
+ 1199,
                 0x0,
                 0x0,
                 0x0,
@@ -19792,7 +19792,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 911,
+ 1203,
                 0x0,
                 0x0,
                 0x0,
@@ -19936,7 +19936,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 915,
+ 1207,
                 0x0,
                 0x0,
                 0x0,
@@ -19960,7 +19960,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 915,
+ 1208,
                 0x0,
                 0x0,
                 0x0,
@@ -19984,7 +19984,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 916,
+ 1209,
                 0x0,
                 0x0,
                 0x0,
@@ -20008,7 +20008,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 917,
+ 1210,
                 0x0,
                 0x0,
                 0x0,
@@ -22538,7 +22538,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 918,
+ 1211,
                 0x0,
                 0x0,
                 0x0,
@@ -22562,7 +22562,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 920,
+ 1213,
                 0x0,
                 0x0,
                 0x0,
@@ -23162,7 +23162,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 921,
+ 1214,
                 0x0,
                 0x0,
                 0x0,
@@ -23186,7 +23186,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 922,
+ 1215,
                 0x0,
                 0x0,
                 0x0,
@@ -23210,7 +23210,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 923,
+ 1216,
                 0x0,
                 0x0,
                 0x0,
@@ -23234,7 +23234,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 924,
+ 1217,
                 0x0,
                 0x0,
                 0x0,
@@ -23258,7 +23258,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 925,
+ 1218,
                 0x0,
                 0x0,
                 0x0,
@@ -23282,7 +23282,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 926,
+ 1219,
                 0x0,
                 0x0,
                 0x0,
@@ -23306,7 +23306,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 927,
+ 1220,
                 0x0,
                 0x0,
                 0x0,
@@ -23330,7 +23330,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 928,
+ 1221,
                 0x0,
                 0x0,
                 0x0,
@@ -23354,7 +23354,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 929,
+ 1222,
                 0x0,
                 0x0,
                 0x0,
@@ -23378,7 +23378,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 930,
+ 1223,
                 0x0,
                 0x0,
                 0x0,
@@ -23402,7 +23402,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 931,
+ 1224,
                 0x0,
                 0x0,
                 0x0,
@@ -25116,7 +25116,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 932,
+ 1225,
                 0x0,
                 0x0,
                 0x0,
@@ -25140,7 +25140,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 933,
+ 1226,
                 0x0,
                 0x0,
                 0x0,
@@ -25164,7 +25164,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 934,
+ 1227,
                 0x0,
                 0x0,
                 0x0,
@@ -25188,7 +25188,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 935,
+ 1228,
                 0x0,
                 0x0,
                 0x0,
@@ -25212,7 +25212,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 936,
+ 1229,
                 0x0,
                 0x0,
                 0x0,
@@ -25236,7 +25236,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 937,
+ 1230,
                 0x0,
                 0x0,
                 0x0,
@@ -25260,7 +25260,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 938,
+ 1231,
                 0x0,
                 0x0,
                 0x0,
@@ -25284,7 +25284,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 939,
+ 1232,
                 0x0,
                 0x0,
                 0x0,
@@ -25308,7 +25308,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 940,
+ 1233,
                 0x0,
                 0x0,
                 0x0,
@@ -25332,7 +25332,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 941,
+ 1234,
                 0x0,
                 0x0,
                 0x0,
@@ -27699,8 +27699,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 20,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -27708,7 +27708,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 942,
+ 5933,
                 0x0,
                 0x0,
                 0x0,
@@ -42657,7 +42657,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 942,
+ 1235,
                 0x0,
                 0x0,
                 0x0,
@@ -42681,7 +42681,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 943,
+ 1236,
                 0x0,
                 0x0,
                 0x0,
@@ -42705,7 +42705,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 944,
+ 1237,
                 0x0,
                 0x0,
                 0x0,
@@ -42729,7 +42729,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 945,
+ 1238,
                 0x0,
                 0x0,
                 0x0,
@@ -42753,7 +42753,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 946,
+ 1239,
                 0x0,
                 0x0,
                 0x0,
@@ -42777,7 +42777,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 947,
+ 1240,
                 0x0,
                 0x0,
                 0x0,
@@ -42801,7 +42801,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 948,
+ 1241,
                 0x0,
                 0x0,
                 0x0,
@@ -42825,7 +42825,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 949,
+ 1242,
                 0x0,
                 0x0,
                 0x0,
@@ -42849,7 +42849,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 950,
+ 1243,
                 0x0,
                 0x0,
                 0x0,
@@ -62496,7 +62496,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 951,
+ 1244,
                 0x0,
                 0x0,
                 0x0,
@@ -62568,7 +62568,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 952,
+ 1245,
                 0x0,
                 0x0,
                 0x0,
@@ -62592,7 +62592,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 953,
+ 1246,
                 0x0,
                 0x0,
                 0x0,
@@ -62640,7 +62640,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 954,
+ 1247,
                 0x0,
                 0x0,
                 0x0,
@@ -62688,7 +62688,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 955,
+ 1248,
                 0x0,
                 0x0,
                 0x0,
@@ -62760,7 +62760,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 956,
+ 1249,
                 0x0,
                 0x0,
                 0x0,
@@ -62784,7 +62784,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 957,
+ 1250,
                 0x0,
                 0x0,
                 0x0,
@@ -62808,7 +62808,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 958,
+ 1251,
                 0x0,
                 0x0,
                 0x0,
@@ -62928,7 +62928,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 959,
+ 1252,
                 0x0,
                 0x0,
                 0x0,
@@ -62952,7 +62952,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 960,
+ 1253,
                 0x0,
                 0x0,
                 0x0,
@@ -62976,7 +62976,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 961,
+ 1254,
                 0x0,
                 0x0,
                 0x0,
@@ -63000,7 +63000,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 962,
+ 1255,
                 0x0,
                 0x0,
                 0x0,
@@ -63120,7 +63120,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 963,
+ 1256,
                 0x0,
                 0x0,
                 0x0,
@@ -63144,7 +63144,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 964,
+ 1257,
                 0x0,
                 0x0,
                 0x0,
@@ -63168,7 +63168,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 965,
+ 1258,
                 0x0,
                 0x0,
                 0x0,
@@ -63216,7 +63216,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 966,
+ 1259,
                 0x0,
                 0x0,
                 0x0,
@@ -63240,7 +63240,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 967,
+ 1260,
                 0x0,
                 0x0,
                 0x0,
@@ -63288,7 +63288,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 968,
+ 1261,
                 0x0,
                 0x0,
                 0x0,
@@ -63336,7 +63336,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 969,
+ 1262,
                 0x0,
                 0x0,
                 0x0,
@@ -63384,7 +63384,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 970,
+ 1263,
                 0x0,
                 0x0,
                 0x0,
@@ -63504,7 +63504,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 971,
+ 1264,
                 0x0,
                 0x0,
                 0x0,
@@ -63528,7 +63528,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 972,
+ 1265,
                 0x0,
                 0x0,
                 0x0,
@@ -63552,7 +63552,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 973,
+ 1266,
                 0x0,
                 0x0,
                 0x0,
@@ -63576,7 +63576,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 974,
+ 1267,
                 0x0,
                 0x0,
                 0x0,
@@ -63624,7 +63624,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 975,
+ 1268,
                 0x0,
                 0x0,
                 0x0,
@@ -63648,7 +63648,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 976,
+ 1269,
                 0x0,
                 0x0,
                 0x0,
@@ -63696,7 +63696,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 977,
+ 1270,
                 0x0,
                 0x0,
                 0x0,
@@ -63720,7 +63720,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 978,
+ 1271,
                 0x0,
                 0x0,
                 0x0,
@@ -63744,7 +63744,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 979,
+ 1272,
                 0x0,
                 0x0,
                 0x0,
@@ -63816,7 +63816,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 980,
+ 1273,
                 0x0,
                 0x0,
                 0x0,
@@ -63840,7 +63840,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 981,
+ 1274,
                 0x0,
                 0x0,
                 0x0,
@@ -63888,7 +63888,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 982,
+ 1275,
                 0x0,
                 0x0,
                 0x0,
@@ -63936,7 +63936,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 983,
+ 1276,
                 0x0,
                 0x0,
                 0x0,
@@ -64176,7 +64176,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 984,
+ 1277,
                 0x0,
                 0x0,
                 0x0,
@@ -64200,7 +64200,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 985,
+ 1278,
                 0x0,
                 0x0,
                 0x0,
@@ -64224,7 +64224,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 986,
+ 1279,
                 0x0,
                 0x0,
                 0x0,
@@ -64248,7 +64248,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 987,
+ 1280,
                 0x0,
                 0x0,
                 0x0,
@@ -64344,7 +64344,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 988,
+ 1281,
                 0x0,
                 0x0,
                 0x0,
@@ -64368,7 +64368,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 989,
+ 1282,
                 0x0,
                 0x0,
                 0x0,
@@ -64392,7 +64392,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 990,
+ 1283,
                 0x0,
                 0x0,
                 0x0,
@@ -70170,7 +70170,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 991,
+ 1284,
                 0x0,
                 0x0,
                 0x0,
@@ -70194,7 +70194,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 992,
+ 1285,
                 0x0,
                 0x0,
                 0x0,
@@ -70218,7 +70218,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 993,
+ 1286,
                 0x0,
                 0x0,
                 0x0,
@@ -70242,7 +70242,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 994,
+ 1287,
                 0x0,
                 0x0,
                 0x0,
@@ -70266,7 +70266,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 995,
+ 1288,
                 0x0,
                 0x0,
                 0x0,
@@ -70290,7 +70290,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 996,
+ 1289,
                 0x0,
                 0x0,
                 0x0,
@@ -70314,7 +70314,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 997,
+ 1290,
                 0x0,
                 0x0,
                 0x0,
@@ -70338,7 +70338,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 998,
+ 1291,
                 0x0,
                 0x0,
                 0x0,
@@ -70362,7 +70362,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 999,
+ 1292,
                 0x0,
                 0x0,
                 0x0,
@@ -70386,7 +70386,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1000,
+ 1293,
                 0x0,
                 0x0,
                 0x0,
@@ -70554,7 +70554,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1001,
+ 1294,
                 0x0,
                 0x0,
                 0x0,
@@ -70578,7 +70578,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1002,
+ 1295,
                 0x0,
                 0x0,
                 0x0,
@@ -70602,7 +70602,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1003,
+ 1296,
                 0x0,
                 0x0,
                 0x0,
@@ -70626,7 +70626,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1004,
+ 1297,
                 0x0,
                 0x0,
                 0x0,
@@ -70650,7 +70650,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1005,
+ 1298,
                 0x0,
                 0x0,
                 0x0,
@@ -70674,7 +70674,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1006,
+ 1299,
                 0x0,
                 0x0,
                 0x0,
@@ -70698,7 +70698,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1007,
+ 1300,
                 0x0,
                 0x0,
                 0x0,
@@ -70722,7 +70722,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1008,
+ 1301,
                 0x0,
                 0x0,
                 0x0,
@@ -70746,7 +70746,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1009,
+ 1302,
                 0x0,
                 0x0,
                 0x0,
@@ -70770,7 +70770,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1010,
+ 1303,
                 0x0,
                 0x0,
                 0x0,
@@ -71211,7 +71211,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 1011,
+ 1304,
                 0x0,
                 0x0,
                 0x0,
@@ -71235,7 +71235,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 1012,
+ 1305,
                 0x0,
                 0x0,
                 0x0,
@@ -71259,7 +71259,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 1013,
+ 1306,
                 0x0,
                 0x0,
                 0x0,
@@ -71283,7 +71283,7 @@
                         sentence_break::sp,
                         grapheme_cluster_break::any,
                 },
- 1014,
+ 1307,
                 0x0,
                 0x0,
                 0x0,
@@ -71331,7 +71331,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1015,
+ 1308,
                 0x0,
                 0x0,
                 0x0,
@@ -71355,7 +71355,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1016,
+ 1309,
                 0x0,
                 0x0,
                 0x0,
@@ -71379,7 +71379,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1017,
+ 1310,
                 0x0,
                 0x0,
                 0x0,
@@ -71403,7 +71403,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1018,
+ 1311,
                 0x0,
                 0x0,
                 0x0,
@@ -71427,7 +71427,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1019,
+ 1312,
                 0x0,
                 0x0,
                 0x0,
@@ -71451,7 +71451,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1020,
+ 1313,
                 0x0,
                 0x0,
                 0x0,
@@ -71475,7 +71475,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1021,
+ 1314,
                 0x0,
                 0x0,
                 0x0,
@@ -71499,7 +71499,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1022,
+ 1315,
                 0x0,
                 0x0,
                 0x0,
@@ -71523,7 +71523,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1023,
+ 1316,
                 0x0,
                 0x0,
                 0x0,
@@ -71547,7 +71547,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1024,
+ 1317,
                 0x0,
                 0x0,
                 0x0,

Modified: sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_3.ipp
==============================================================================
--- sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_3.ipp (original)
+++ sandbox/SOC/2009/unicode/libs/unicode/src/ucd/uni_ucd_interface_impl_data_3.ipp 2009-06-17 21:26:43 EDT (Wed, 17 Jun 2009)
@@ -4807,7 +4807,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1025,
+ 1318,
                 0x0,
                 0x0,
                 0x0,
@@ -4831,7 +4831,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1026,
+ 1319,
                 0x0,
                 0x0,
                 0x0,
@@ -4855,7 +4855,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1027,
+ 1320,
                 0x0,
                 0x0,
                 0x0,
@@ -4879,7 +4879,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1028,
+ 1321,
                 0x0,
                 0x0,
                 0x0,
@@ -4903,7 +4903,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1029,
+ 1322,
                 0x0,
                 0x0,
                 0x0,
@@ -4927,7 +4927,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1030,
+ 1323,
                 0x0,
                 0x0,
                 0x0,
@@ -4951,7 +4951,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1031,
+ 1324,
                 0x0,
                 0x0,
                 0x0,
@@ -4975,7 +4975,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1032,
+ 1325,
                 0x0,
                 0x0,
                 0x0,
@@ -4999,7 +4999,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1033,
+ 1326,
                 0x0,
                 0x0,
                 0x0,
@@ -5023,7 +5023,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1034,
+ 1327,
                 0x0,
                 0x0,
                 0x0,
@@ -8128,7 +8128,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1035,
+ 1328,
                 0x0,
                 0x0,
                 0x0,
@@ -8152,7 +8152,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1036,
+ 1329,
                 0x0,
                 0x0,
                 0x0,
@@ -8176,7 +8176,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1037,
+ 1330,
                 0x0,
                 0x0,
                 0x0,
@@ -8200,7 +8200,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1038,
+ 1331,
                 0x0,
                 0x0,
                 0x0,
@@ -8224,7 +8224,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1039,
+ 1332,
                 0x0,
                 0x0,
                 0x0,
@@ -8248,7 +8248,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1040,
+ 1333,
                 0x0,
                 0x0,
                 0x0,
@@ -8272,7 +8272,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1041,
+ 1334,
                 0x0,
                 0x0,
                 0x0,
@@ -8296,7 +8296,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1042,
+ 1335,
                 0x0,
                 0x0,
                 0x0,
@@ -8320,7 +8320,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1043,
+ 1336,
                 0x0,
                 0x0,
                 0x0,
@@ -8344,7 +8344,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1044,
+ 1337,
                 0x0,
                 0x0,
                 0x0,
@@ -8464,7 +8464,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1045,
+ 1338,
                 0x0,
                 0x0,
                 0x0,
@@ -8488,7 +8488,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1046,
+ 1339,
                 0x0,
                 0x0,
                 0x0,
@@ -12501,7 +12501,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 1047,
+ 1340,
                 0x0,
                 0x0,
                 0x0,
@@ -12525,7 +12525,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 1049,
+ 1342,
                 0x0,
                 0x0,
                 0x0,
@@ -12549,7 +12549,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 1050,
+ 1343,
                 0x0,
                 0x0,
                 0x0,
@@ -12573,7 +12573,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 1052,
+ 1345,
                 0x0,
                 0x0,
                 0x0,
@@ -12597,7 +12597,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 1053,
+ 1346,
                 0x0,
                 0x0,
                 0x0,
@@ -12621,7 +12621,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 1055,
+ 1348,
                 0x0,
                 0x0,
                 0x0,
@@ -12645,7 +12645,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 1056,
+ 1349,
                 0x0,
                 0x0,
                 0x0,
@@ -12669,7 +12669,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 1058,
+ 1351,
                 0x0,
                 0x0,
                 0x0,
@@ -12693,7 +12693,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 1059,
+ 1352,
                 0x0,
                 0x0,
                 0x0,
@@ -12717,7 +12717,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 1061,
+ 1354,
                 0x0,
                 0x0,
                 0x0,
@@ -12789,7 +12789,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 1062,
+ 1355,
                 0x0,
                 0x0,
                 0x0,
@@ -12813,7 +12813,7 @@
                         sentence_break::oletter,
                         grapheme_cluster_break::any,
                 },
- 1064,
+ 1357,
                 0x0,
                 0x0,
                 0x0,
@@ -13773,7 +13773,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 1065,
+ 1358,
                 0x0,
                 0x0,
                 0x0,
@@ -13797,7 +13797,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1067,
+ 1360,
                 0x0,
                 0x0,
                 0x0,
@@ -13821,7 +13821,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 1068,
+ 1361,
                 0x0,
                 0x0,
                 0x0,
@@ -13845,7 +13845,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1070,
+ 1363,
                 0x0,
                 0x0,
                 0x0,
@@ -13869,7 +13869,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1071,
+ 1364,
                 0x0,
                 0x0,
                 0x0,
@@ -13893,7 +13893,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1073,
+ 1366,
                 0x0,
                 0x0,
                 0x0,
@@ -13917,7 +13917,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1075,
+ 1368,
                 0x0,
                 0x0,
                 0x0,
@@ -13941,7 +13941,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1076,
+ 1369,
                 0x0,
                 0x0,
                 0x0,
@@ -13965,7 +13965,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::extend,
                 },
- 1077,
+ 1370,
                 0x0,
                 0x0,
                 0x0,
@@ -13989,7 +13989,7 @@
                         sentence_break::any,
                         grapheme_cluster_break::any,
                 },
- 1079,
+ 1372,
                 0x0,
                 0x0,
                 0x0,
@@ -14301,7 +14301,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1080,
+ 1373,
                 0x0,
                 0x0,
                 0x0,
@@ -14325,7 +14325,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1081,
+ 1374,
                 0x0,
                 0x0,
                 0x0,
@@ -14349,7 +14349,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1082,
+ 1375,
                 0x0,
                 0x0,
                 0x0,
@@ -14373,7 +14373,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1083,
+ 1376,
                 0x0,
                 0x0,
                 0x0,
@@ -14397,7 +14397,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1084,
+ 1377,
                 0x0,
                 0x0,
                 0x0,
@@ -14421,7 +14421,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1085,
+ 1378,
                 0x0,
                 0x0,
                 0x0,
@@ -14445,7 +14445,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1086,
+ 1379,
                 0x0,
                 0x0,
                 0x0,
@@ -14469,7 +14469,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1087,
+ 1380,
                 0x0,
                 0x0,
                 0x0,
@@ -14493,7 +14493,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1088,
+ 1381,
                 0x0,
                 0x0,
                 0x0,
@@ -14517,7 +14517,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1089,
+ 1382,
                 0x0,
                 0x0,
                 0x0,
@@ -16614,7 +16614,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1090,
+ 1383,
                 0x0,
                 0x0,
                 0x0,
@@ -16638,7 +16638,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1091,
+ 1384,
                 0x0,
                 0x0,
                 0x0,
@@ -16662,7 +16662,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1092,
+ 1385,
                 0x0,
                 0x0,
                 0x0,
@@ -16686,7 +16686,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1093,
+ 1386,
                 0x0,
                 0x0,
                 0x0,
@@ -16710,7 +16710,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1094,
+ 1387,
                 0x0,
                 0x0,
                 0x0,
@@ -16734,7 +16734,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1095,
+ 1388,
                 0x0,
                 0x0,
                 0x0,
@@ -16758,7 +16758,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1096,
+ 1389,
                 0x0,
                 0x0,
                 0x0,
@@ -16782,7 +16782,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1097,
+ 1390,
                 0x0,
                 0x0,
                 0x0,
@@ -16806,7 +16806,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1098,
+ 1391,
                 0x0,
                 0x0,
                 0x0,
@@ -16830,7 +16830,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1099,
+ 1392,
                 0x0,
                 0x0,
                 0x0,
@@ -20079,7 +20079,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1100,
+ 1393,
                 0x0,
                 0x0,
                 0x0,
@@ -20103,7 +20103,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1101,
+ 1394,
                 0x0,
                 0x0,
                 0x0,
@@ -20127,7 +20127,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1102,
+ 1395,
                 0x0,
                 0x0,
                 0x0,
@@ -20151,7 +20151,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1103,
+ 1396,
                 0x0,
                 0x0,
                 0x0,
@@ -20175,7 +20175,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1104,
+ 1397,
                 0x0,
                 0x0,
                 0x0,
@@ -20199,7 +20199,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1105,
+ 1398,
                 0x0,
                 0x0,
                 0x0,
@@ -20223,7 +20223,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1106,
+ 1399,
                 0x0,
                 0x0,
                 0x0,
@@ -20247,7 +20247,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1107,
+ 1400,
                 0x0,
                 0x0,
                 0x0,
@@ -20271,7 +20271,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1108,
+ 1401,
                 0x0,
                 0x0,
                 0x0,
@@ -20295,7 +20295,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1109,
+ 1402,
                 0x0,
                 0x0,
                 0x0,
@@ -20463,7 +20463,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1110,
+ 1403,
                 0x0,
                 0x0,
                 0x0,
@@ -20487,7 +20487,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1111,
+ 1404,
                 0x0,
                 0x0,
                 0x0,
@@ -20511,7 +20511,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1112,
+ 1405,
                 0x0,
                 0x0,
                 0x0,
@@ -20535,7 +20535,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1113,
+ 1406,
                 0x0,
                 0x0,
                 0x0,
@@ -20559,7 +20559,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1114,
+ 1407,
                 0x0,
                 0x0,
                 0x0,
@@ -20583,7 +20583,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1115,
+ 1408,
                 0x0,
                 0x0,
                 0x0,
@@ -20607,7 +20607,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1116,
+ 1409,
                 0x0,
                 0x0,
                 0x0,
@@ -20631,7 +20631,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1117,
+ 1410,
                 0x0,
                 0x0,
                 0x0,
@@ -20655,7 +20655,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1118,
+ 1411,
                 0x0,
                 0x0,
                 0x0,
@@ -20679,7 +20679,7 @@
                         sentence_break::numeric,
                         grapheme_cluster_break::any,
                 },
- 1119,
+ 1412,
                 0x0,
                 0x0,
                 0x0,
@@ -22732,8 +22732,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -22741,7 +22741,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1120,
+ 4417,
                 0x0,
                 0x0,
                 0x0,
@@ -22765,7 +22765,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1120,
+ 1413,
                 0x0,
                 0x0,
                 0x0,
@@ -22780,8 +22780,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -22789,7 +22789,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1121,
+ 4439,
                 0x0,
                 0x0,
                 0x0,
@@ -22828,8 +22828,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -22837,7 +22837,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1121,
+ 4482,
                 0x0,
                 0x0,
                 0x0,
@@ -22852,8 +22852,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -22861,7 +22861,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1121,
+ 4509,
                 0x0,
                 0x0,
                 0x0,
@@ -22876,8 +22876,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -22885,7 +22885,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1121,
+ 4520,
                 0x0,
                 0x0,
                 0x0,
@@ -22900,8 +22900,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -22909,7 +22909,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1121,
+ 4578,
                 0x0,
                 0x0,
                 0x0,
@@ -22924,8 +22924,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -22933,7 +22933,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1121,
+ 4613,
                 0x0,
                 0x0,
                 0x0,
@@ -22948,8 +22948,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -22957,7 +22957,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1121,
+ 4638,
                 0x0,
                 0x0,
                 0x0,
@@ -22972,8 +22972,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -22981,7 +22981,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1121,
+ 4663,
                 0x0,
                 0x0,
                 0x0,
@@ -22996,8 +22996,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -23005,7 +23005,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1121,
+ 4688,
                 0x0,
                 0x0,
                 0x0,
@@ -23029,7 +23029,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1121,
+ 1414,
                 0x0,
                 0x0,
                 0x0,
@@ -23044,8 +23044,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -23053,7 +23053,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1122,
+ 4753,
                 0x0,
                 0x0,
                 0x0,
@@ -23068,8 +23068,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -23077,7 +23077,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1122,
+ 4767,
                 0x0,
                 0x0,
                 0x0,
@@ -23116,8 +23116,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -23125,7 +23125,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1122,
+ 4800,
                 0x0,
                 0x0,
                 0x0,
@@ -23140,8 +23140,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -23149,7 +23149,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1122,
+ 4832,
                 0x0,
                 0x0,
                 0x0,
@@ -23164,8 +23164,8 @@
                         word_break::aletter,
                         false,
                         false,
- ucd::sort_type::is_index,
- 0,
+ ucd::sort_type::data1_0x0020_data2_cp,
+ 29,
                         bidi_class::strong_left_to_right,
                         decomposition_type::super,
                         break_class::ordinary_alpabetic_or_symbol_character,
@@ -23173,7 +23173,7 @@
                         sentence_break::lower,
                         grapheme_cluster_break::any,
                 },
- 1122,
+ 4837,
                 0x0,
                 0x0,
                 0x0,
@@ -23188,8 +23188,8 @@
                         word_break::aletter,
      &nb