anchor.diff:      | '\u17d7'                 // Khmer
       | '\u1843'                 // Mongolian
       | '\u1aa7'                 // Tai_Tham
  -    | '\u1c78'..'\u1c7e'       // Ol_Chiki
  -    | '\u1d2c'..'\u1d6b'       // Phonetic_Extensions
  +    | '\u1c78'..'\u1c7d'       // Ol_Chiki
  +    | '\u1d2c'..'\u1d6a'       // Phonetic_Extensions
       | '\u1d78'                 // Phonetic_Extensions
  -    | '\u1d9b'..'\u1dc0'       // Phonetic_Extensions_Supplement
  +    | '\u1d9b'..'\u1dbf'       // Phonetic_Extensions_Supplement
       | '\u2071'                 // Superscripts_and_Subscripts
       | '\u207f'                 // Superscripts_and_Subscripts
  -    | '\u2090'..'\u209d'       // Superscripts_and_Subscripts
  -    | '\u2c7c'..'\u2c7e'       // Latin_Extended-C
  +    | '\u2090'..'\u209c'       // Superscripts_and_Subscripts
  +    | '\u2c7c'..'\u2c7d'       // Latin_Extended-C
       | '\u2d6f'                 // Tifinagh
       | '\u2e2f'                 // Supplemental_Punctuation
       | '\u3005'                 // CJK_Symbols_and_Punctuation
  -    | '\u3031'..'\u3036'       // CJK_Symbols_and_Punctuation
  +    | '\u3031'..'\u3035'       // CJK_Symbols_and_Punctuation
       | '\u303b'                 // CJK_Symbols_and_Punctuation
  -    | '\u309d'..'\u309f'       // Hiragana
  -    | '\u30fc'..'\u30ff'       // Katakana
  +    | '\u309d'..'\u309e'       // Hiragana
  +    | '\u30fc'..'\u30fe'       // Katakana
       | '\ua015'                 // Yi_Syllables
  -    | '\ua4f8'..'\ua4fe'       // Lisu
  +    | '\ua4f8'..'\ua4fd'       // Lisu
       | '\ua60c'                 // Vai
       | '\ua67f'                 // Cyrillic_Extended-B
  -    | '\ua69c'..'\ua69e'       // Cyrillic_Extended-B
  -    | '\ua717'..'\ua720'       // Modifier_Tone_Letters
  +    | '\ua69c'..'\ua69d'       // Cyrillic_Extended-B
  +    | '\ua717'..'\ua71f'       // Modifier_Tone_Letters
       | '\ua770'                 // Latin_Extended-D
       | '\ua788'                 // Latin_Extended-D
  -    | '\ua7f8'..'\ua7fa'       // Latin_Extended-D
  +    | '\ua7f8'..'\ua7f9'       // Latin_Extended-D
       | '\ua9cf'                 // Javanese
       | '\ua9e6'                 // Myanmar_Extended-B
       | '\uaa70'                 // Myanmar_Extended-A
       | '\uaadd'                 // Tai_Viet
  -    | '\uaaf3'..'\uaaf5'       // Meetei_Mayek_Extensions
  -    | '\uab5c'..'\uab60'       // Latin_Extended-E
  +    | '\uaaf3'..'\uaaf4'       // Meetei_Mayek_Extensions
  +    | '\uab5c'..'\uab5f'       // Latin_Extended-E
       | '\uff70'                 // Halfwidth_and_Fullwidth_Forms
  -    | '\uff9e'..'\uffa0'       // Halfwidth_and_Fullwidth_Forms
  +    | '\uff9e'..'\uff9f'       // Halfwidth_and_Fullwidth_Forms
   ;
   
   CLASSIFY_Lo:
         '\u00aa'                 // Latin-1_Supplement
       | '\u00ba'                 // Latin-1_Supplement
       | '\u01bb'                 // Latin_Extended-B
  -    | '\u01c0'..'\u01c4'       // Latin_Extended-B
  +    | '\u01c0'..'\u01c3'       // Latin_Extended-B
       | '\u0294'                 // IPA_Extensions
  -    | '\u05d0'..'\u05eb'       // Hebrew
  -    | '\u05f0'..'\u05f3'       // Hebrew
  -    | '\u0620'..'\u0640'       // Arabic
  -    | '\u0641'..'\u064b'       // Arabic
  -    | '\u066e'..'\u0670'       // Arabic
  -    | '\u0671'..'\u06d4'       // Arabic
  +    | '\u05d0'..'\u05ea'       // Hebrew
  +    | '\u05f0'..'\u05f2'       // Hebrew
  +    | '\u0620'..'\u063f'       // Arabic
  +    | '\u0641'..'\u064a'       // Arabic
  +    | '\u066e'..'\u066f'       // Arabic
  +    | '\u0671'..'\u06d3'       // Arabic
       | '\u06d5'                 // Arabic
  -    | '\u06ee'..'\u06f0'       // Arabic
  -    | '\u06fa'..'\u06fd'       // Arabic
  +    | '\u06ee'..'\u06ef'       // Arabic
  +    | '\u06fa'..'\u06fc'       // Arabic
       | '\u06ff'                 // (Absent from Blocks.txt)
       | '\u0710'                 // Syriac
  -    | '\u0712'..'\u0730'       // Syriac
  -    | '\u074d'..'\u07a6'       // Syriac
  +    | '\u0712'..'\u072f'       // Syriac
  +    | '\u074d'..'\u07a5'       // Syriac
       | '\u07b1'                 // Thaana
  -    | '\u07ca'..'\u07eb'       // NKo
  -    | '\u0800'..'\u0816'       // Samaritan
  -    | '\u0840'..'\u0859'       // Mandaic
  -    | '\u08a0'..'\u08b5'       // Arabic_Extended-A
  -    | '\u08b6'..'\u08be'       // Arabic_Extended-A
  -    | '\u0904'..'\u093a'       // Devanagari
  +    | '\u07ca'..'\u07ea'       // NKo
  +    | '\u0800'..'\u0815'       // Samaritan
  +    | '\u0840'..'\u0858'       // Mandaic
  +    | '\u08a0'..'\u08b4'       // Arabic_Extended-A
  +    | '\u08b6'..'\u08bd'       // Arabic_Extended-A
  +    | '\u0904'..'\u0939'       // Devanagari
       | '\u093d'                 // Devanagari
       | '\u0950'                 // Devanagari
  -    | '\u0958'..'\u0962'       // Devanagari
  -    | '\u0972'..'\u0981'       // Devanagari
  -    | '\u0985'..'\u098d'       // Bengali
  -    | '\u098f'..'\u0991'       // Bengali
  -    | '\u0993'..'\u09a9'       // Bengali
  -    | '\u09aa'..'\u09b1'       // Bengali
  +    | '\u0958'..'\u0961'       // Devanagari
  +    | '\u0972'..'\u0980'       // Devanagari
  +    | '\u0985'..'\u098c'       // Bengali
  +    | '\u098f'..'\u0990'       // Bengali
  +    | '\u0993'..'\u09a8'       // Bengali
  +    | '\u09aa'..'\u09b0'       // Bengali
       | '\u09b2'                 // Bengali
  -    | '\u09b6'..'\u09ba'       // Bengali
  +    | '\u09b6'..'\u09b9'       // Bengali
       | '\u09bd'                 // Bengali
       | '\u09ce'                 // Bengali
  -    | '\u09dc'..'\u09de'       // Bengali
  -    | '\u09df'..'\u09e2'       // Bengali
  -    | '\u09f0'..'\u09f2'       // Bengali
  -    | '\u0a05'..'\u0a0b'       // Gurmukhi
  -    | '\u0a0f'..'\u0a11'       // Gurmukhi
  -    | '\u0a13'..'\u0a29'       // Gurmukhi
  -    | '\u0a2a'..'\u0a31'       // Gurmukhi
  -    | '\u0a32'..'\u0a34'       // Gurmukhi
  -    | '\u0a35'..'\u0a37'       // Gurmukhi
  -    | '\u0a38'..'\u0a3a'       // Gurmukhi
  -    | '\u0a59'..'\u0a5d'       // Gurmukhi
  +    | '\u09dc'..'\u09dd'       // Bengali
  +    | '\u09df'..'\u09e1'       // Bengali
  +    | '\u09f0'..'\u09f1'       // Bengali
  +    | '\u0a05'..'\u0a0a'       // Gurmukhi
  +    | '\u0a0f'..'\u0a10'       // Gurmukhi
  +    | '\u0a13'..'\u0a28'       // Gurmukhi
  +    | '\u0a2a'..'\u0a30'       // Gurmukhi
  +    | '\u0a32'..'\u0a33'       // Gurmukhi
  +    | '\u0a35'..'\u0a36'       // Gurmukhi
  +    | '\u0a38'..'\u0a39'       // Gurmukhi
  +    | '\u0a59'..'\u0a5c'       // Gurmukhi
       | '\u0a5e'                 // Gurmukhi
  -    | '\u0a72'..'\u0a75'       // Gurmukhi
  -    | '\u0a85'..'\u0a8e'       // Gujarati
  -    | '\u0a8f'..'\u0a92'       // Gujarati
  -    | '\u0a93'..'\u0aa9'       // Gujarati
  -    | '\u0aaa'..'\u0ab1'       // Gujarati
  -    | '\u0ab2'..'\u0ab4'       // Gujarati
  -    | '\u0ab5'..'\u0aba'       // Gujarati
  +    | '\u0a72'..'\u0a74'       // Gurmukhi
  +    | '\u0a85'..'\u0a8d'       // Gujarati
  +    | '\u0a8f'..'\u0a91'       // Gujarati
  +    | '\u0a93'..'\u0aa8'       // Gujarati
  +    | '\u0aaa'..'\u0ab0'       // Gujarati
  +    | '\u0ab2'..'\u0ab3'       // Gujarati
  +    | '\u0ab5'..'\u0ab9'       // Gujarati
       | '\u0abd'                 // Gujarati
       | '\u0ad0'                 // Gujarati
  -    | '\u0ae0'..'\u0ae2'       // Gujarati
  +    | '\u0ae0'..'\u0ae1'       // Gujarati
       | '\u0af9'                 // Gujarati
  -    | '\u0b05'..'\u0b0d'       // Oriya
  -    | '\u0b0f'..'\u0b11'       // Oriya
  -    | '\u0b13'..'\u0b29'       // Oriya
  -    | '\u0b2a'..'\u0b31'       // Oriya
  -    | '\u0b32'..'\u0b34'       // Oriya
  -    | '\u0b35'..'\u0b3a'       // Oriya
  +    | '\u0b05'..'\u0b0c'       // Oriya
  +    | '\u0b0f'..'\u0b10'       // Oriya
  +    | '\u0b13'..'\u0b28'       // Oriya
  +    | '\u0b2a'..'\u0b30'       // Oriya
  +    | '\u0b32'..'\u0b33'       // Oriya
  +    | '\u0b35'..'\u0b39'       // Oriya
       | '\u0b3d'                 // Oriya
  -    | '\u0b5c'..'\u0b5e'       // Oriya
  -    | '\u0b5f'..'\u0b62'       // Oriya
  +    | '\u0b5c'..'\u0b5d'       // Oriya
  +    | '\u0b5f'..'\u0b61'       // Oriya
       | '\u0b71'                 // Oriya
       | '\u0b83'                 // Tamil
  -    | '\u0b85'..'\u0b8b'       // Tamil
  -    | '\u0b8e'..'\u0b91'       // Tamil
  -    | '\u0b92'..'\u0b96'       // Tamil
  -    | '\u0b99'..'\u0b9b'       // Tamil
  +    | '\u0b85'..'\u0b8a'       // Tamil
  +    | '\u0b8e'..'\u0b90'       // Tamil
  +    | '\u0b92'..'\u0b95'       // Tamil
  +    | '\u0b99'..'\u0b9a'       // Tamil
       | '\u0b9c'                 // Tamil
  -    | '\u0b9e'..'\u0ba0'       // Tamil
  -    | '\u0ba3'..'\u0ba5'       // Tamil
  -    | '\u0ba8'..'\u0bab'       // Tamil
  -    | '\u0bae'..'\u0bba'       // Tamil
  +    | '\u0b9e'..'\u0b9f'       // Tamil
  +    | '\u0ba3'..'\u0ba4'       // Tamil
  +    | '\u0ba8'..'\u0baa'       // Tamil
  +    | '\u0bae'..'\u0bb9'       // Tamil
       | '\u0bd0'                 // Tamil
  -    | '\u0c05'..'\u0c0d'       // Telugu
  -    | '\u0c0e'..'\u0c11'       // Telugu
  -    | '\u0c12'..'\u0c29'       // Telugu
  -    | '\u0c2a'..'\u0c3a'       // Telugu
  +    | '\u0c05'..'\u0c0c'       // Telugu
  +    | '\u0c0e'..'\u0c10'       // Telugu
  +    | '\u0c12'..'\u0c28'       // Telugu
  +    | '\u0c2a'..'\u0c39'       // Telugu
       | '\u0c3d'                 // Telugu
  -    | '\u0c58'..'\u0c5b'       // Telugu
  -    | '\u0c60'..'\u0c62'       // Telugu
  +    | '\u0c58'..'\u0c5a'       // Telugu
  +    | '\u0c60'..'\u0c61'       // Telugu
       | '\u0c80'                 // Kannada
  -    | '\u0c85'..'\u0c8d'       // Kannada
  -    | '\u0c8e'..'\u0c91'       // Kannada
  -    | '\u0c92'..'\u0ca9'       // Kannada
  -    | '\u0caa'..'\u0cb4'       // Kannada
  -    | '\u0cb5'..'\u0cba'       // Kannada
  +    | '\u0c85'..'\u0c8c'       // Kannada
  +    | '\u0c8e'..'\u0c90'       // Kannada
  +    | '\u0c92'..'\u0ca8'       // Kannada
  +    | '\u0caa'..'\u0cb3'       // Kannada
  +    | '\u0cb5'..'\u0cb9'       // Kannada
       | '\u0cbd'                 // Kannada
       | '\u0cde'                 // Kannada
  -    | '\u0ce0'..'\u0ce2'       // Kannada
  -    | '\u0cf1'..'\u0cf3'       // Kannada
  -    | '\u0d05'..'\u0d0d'       // Malayalam
  -    | '\u0d0e'..'\u0d11'       // Malayalam
  -    | '\u0d12'..'\u0d3b'       // Malayalam
  +    | '\u0ce0'..'\u0ce1'       // Kannada
  +    | '\u0cf1'..'\u0cf2'       // Kannada
  +    | '\u0d05'..'\u0d0c'       // Malayalam
  +    | '\u0d0e'..'\u0d10'       // Malayalam
  +    | '\u0d12'..'\u0d3a'       // Malayalam
       | '\u0d3d'                 // Malayalam
       | '\u0d4e'                 // Malayalam
  -    | '\u0d54'..'\u0d57'       // Malayalam
  -    | '\u0d5f'..'\u0d62'       // Malayalam
  -    | '\u0d7a'..'\u0d80'       // Malayalam
  -    | '\u0d85'..'\u0d97'       // Sinhala
  -    | '\u0d9a'..'\u0db2'       // Sinhala
  -    | '\u0db3'..'\u0dbc'       // Sinhala
  +    | '\u0d54'..'\u0d56'       // Malayalam
  +    | '\u0d5f'..'\u0d61'       // Malayalam
  +    | '\u0d7a'..'\u0d7f'       // Malayalam
  +    | '\u0d85'..'\u0d96'       // Sinhala
  +    | '\u0d9a'..'\u0db1'       // Sinhala
  +    | '\u0db3'..'\u0dbb'       // Sinhala
       | '\u0dbd'                 // Sinhala
  -    | '\u0dc0'..'\u0dc7'       // Sinhala
  -    | '\u0e01'..'\u0e31'       // Thai
  -    | '\u0e32'..'\u0e34'       // Thai
  -    | '\u0e40'..'\u0e46'       // Thai
  -    | '\u0e81'..'\u0e83'       // Lao
  +    | '\u0dc0'..'\u0dc6'       // Sinhala
  +    | '\u0e01'..'\u0e30'       // Thai
  +    | '\u0e32'..'\u0e33'       // Thai
  +    | '\u0e40'..'\u0e45'       // Thai
  +    | '\u0e81'..'\u0e82'       // Lao
       | '\u0e84'                 // Lao
  -    | '\u0e87'..'\u0e89'       // Lao
  +    | '\u0e87'..'\u0e88'       // Lao
       | '\u0e8a'                 // Lao
       | '\u0e8d'                 // Lao
  -    | '\u0e94'..'\u0e98'       // Lao
  -    | '\u0e99'..'\u0ea0'       // Lao
  -    | '\u0ea1'..'\u0ea4'       // Lao
  +    | '\u0e94'..'\u0e97'       // Lao
  +    | '\u0e99'..'\u0e9f'       // Lao
  +    | '\u0ea1'..'\u0ea3'       // Lao
       | '\u0ea5'                 // Lao
       | '\u0ea7'                 // Lao
  -    | '\u0eaa'..'\u0eac'       // Lao
  -    | '\u0ead'..'\u0eb1'       // Lao
  -    | '\u0eb2'..'\u0eb4'       // Lao
  +    | '\u0eaa'..'\u0eab'       // Lao
  +    | '\u0ead'..'\u0eb0'       // Lao
  +    | '\u0eb2'..'\u0eb3'       // Lao
       | '\u0ebd'                 // Lao
  -    | '\u0ec0'..'\u0ec5'       // Lao
  -    | '\u0edc'..'\u0ee0'       // Lao
  +    | '\u0ec0'..'\u0ec4'       // Lao
  +    | '\u0edc'..'\u0edf'       // Lao
       | '\u0f00'                 // Tibetan
  -    | '\u0f40'..'\u0f48'       // Tibetan
  -    | '\u0f49'..'\u0f6d'       // Tibetan
  -    | '\u0f88'..'\u0f8d'       // Tibetan
  -    | '\u1000'..'\u102b'       // Myanmar
  +    | '\u0f40'..'\u0f47'       // Tibetan
  +    | '\u0f49'..'\u0f6c'       // Tibetan
  +    | '\u0f88'..'\u0f8c'       // Tibetan
  +    | '\u1000'..'\u102a'       // Myanmar
       | '\u103f'                 // Myanmar
  -    | '\u1050'..'\u1056'       // Myanmar
  -    | '\u105a'..'\u105e'       // Myanmar
  +    | '\u1050'..'\u1055'       // Myanmar
  +    | '\u105a'..'\u105d'       // Myanmar
       | '\u1061'                 // Myanmar
  -    | '\u1065'..'\u1067'       // Myanmar
  -    | '\u106e'..'\u1071'       // Myanmar
  -    | '\u1075'..'\u1082'       // Myanmar
  +    | '\u1065'..'\u1066'       // Myanmar
  +    | '\u106e'..'\u1070'       // Myanmar
  +    | '\u1075'..'\u1081'       // Myanmar
       | '\u108e'                 // Myanmar
  -    | '\u10d0'..'\u10fb'       // Georgian
  -    | '\u10fd'..'\u1249'       // Georgian
  -    | '\u124a'..'\u124e'       // Ethiopic
  -    | '\u1250'..'\u1257'       // Ethiopic
  +    | '\u10d0'..'\u10fa'       // Georgian
  +    | '\u10fd'..'\u1248'       // Georgian
  +    | '\u124a'..'\u124d'       // Ethiopic
  +    | '\u1250'..'\u1256'       // Ethiopic
       | '\u1258'                 // Ethiopic
  -    | '\u125a'..'\u125e'       // Ethiopic
  -    | '\u1260'..'\u1289'       // Ethiopic
  -    | '\u128a'..'\u128e'       // Ethiopic
  -    | '\u1290'..'\u12b1'       // Ethiopic
  -    | '\u12b2'..'\u12b6'       // Ethiopic
  -    | '\u12b8'..'\u12bf'       // Ethiopic
  +    | '\u125a'..'\u125d'       // Ethiopic
  +    | '\u1260'..'\u1288'       // Ethiopic
  +    | '\u128a'..'\u128d'       // Ethiopic
  +    | '\u1290'..'\u12b0'       // Ethiopic
  +    | '\u12b2'..'\u12b5'       // Ethiopic
  +    | '\u12b8'..'\u12be'       // Ethiopic
       | '\u12c0'                 // Ethiopic
  -    | '\u12c2'..'\u12c6'       // Ethiopic
  -    | '\u12c8'..'\u12d7'       // Ethiopic
  -    | '\u12d8'..'\u1311'       // Ethiopic
  -    | '\u1312'..'\u1316'       // Ethiopic
  -    | '\u1318'..'\u135b'       // Ethiopic
  -    | '\u1380'..'\u1390'       // Ethiopic_Supplement
  -    | '\u1401'..'\u166d'       // Unified_Canadian_Aboriginal_Syllabics
  -    | '\u166f'..'\u1680'       // Unified_Canadian_Aboriginal_Syllabics
  -    | '\u1681'..'\u169b'       // Ogham
  -    | '\u16a0'..'\u16eb'       // Runic
  -    | '\u16f1'..'\u16f9'       // Runic
  -    | '\u1700'..'\u170d'       // Tagalog
  -    | '\u170e'..'\u1712'       // Tagalog
  -    | '\u1720'..'\u1732'       // Hanunoo
  -    | '\u1740'..'\u1752'       // Buhid
  -    | '\u1760'..'\u176d'       // Tagbanwa
  -    | '\u176e'..'\u1771'       // Tagbanwa
  -    | '\u1780'..'\u17b4'       // Khmer
  +    | '\u12c2'..'\u12c5'       // Ethiopic
  +    | '\u12c8'..'\u12d6'       // Ethiopic
  +    | '\u12d8'..'\u1310'       // Ethiopic
  +    | '\u1312'..'\u1315'       // Ethiopic
  +    | '\u1318'..'\u135a'       // Ethiopic
  +    | '\u1380'..'\u138f'       // Ethiopic_Supplement
  +    | '\u1401'..'\u166c'       // Unified_Canadian_Aboriginal_Syllabics
  +    | '\u166f'..'\u167f'       // Unified_Canadian_Aboriginal_Syllabics
  +    | '\u1681'..'\u169a'       // Ogham
  +    | '\u16a0'..'\u16ea'       // Runic
  +    | '\u16f1'..'\u16f8'       // Runic
  +    | '\u1700'..'\u170c'       // Tagalog
  +    | '\u170e'..'\u1711'       // Tagalog
  +    | '\u1720'..'\u1731'       // Hanunoo
  +    | '\u1740'..'\u1751'       // Buhid
  +    | '\u1760'..'\u176c'       // Tagbanwa
  +    | '\u176e'..'\u1770'       // Tagbanwa
  +    | '\u1780'..'\u17b3'       // Khmer
       | '\u17dc'                 // Khmer
  -    | '\u1820'..'\u1843'       // Mongolian
  -    | '\u1844'..'\u1878'       // Mongolian
  -    | '\u1880'..'\u1885'       // Mongolian
  -    | '\u1887'..'\u18a9'       // Mongolian
  +    | '\u1820'..'\u1842'       // Mongolian
  +    | '\u1844'..'\u1877'       // Mongolian
  +    | '\u1880'..'\u1884'       // Mongolian
  +    | '\u1887'..'\u18a8'       // Mongolian
       | '\u18aa'                 // Mongolian
  -    | '\u18b0'..'\u18f6'       // Unified_Canadian_Aboriginal_Syllabics_Extended
  -    | '\u1900'..'\u191f'       // Limbu
  -    | '\u1950'..'\u196e'       // Tai_Le
  -    | '\u1970'..'\u1975'       // Tai_Le
  -    | '\u1980'..'\u19ac'       // New_Tai_Lue
  -    | '\u19b0'..'\u19ca'       // New_Tai_Lue
  -    | '\u1a00'..'\u1a17'       // Buginese
  -    | '\u1a20'..'\u1a55'       // Tai_Tham
  -    | '\u1b05'..'\u1b34'       // Balinese
  -    | '\u1b45'..'\u1b4c'       // Balinese
  -    | '\u1b83'..'\u1ba1'       // Sundanese
  -    | '\u1bae'..'\u1bb0'       // Sundanese
  -    | '\u1bba'..'\u1be6'       // Sundanese
  -    | '\u1c00'..'\u1c24'       // Lepcha
  -    | '\u1c4d'..'\u1c50'       // Lepcha
  -    | '\u1c5a'..'\u1c78'       // Ol_Chiki
  -    | '\u1ce9'..'\u1ced'       // Vedic_Extensions
  -    | '\u1cee'..'\u1cf2'       // Vedic_Extensions
  -    | '\u1cf5'..'\u1cf7'       // Vedic_Extensions
  -    | '\u2135'..'\u2139'       // Letterlike_Symbols
  -    | '\u2d30'..'\u2d68'       // Tifinagh
  -    | '\u2d80'..'\u2d97'       // Ethiopic_Extended
  -    | '\u2da0'..'\u2da7'       // Ethiopic_Extended
  -    | '\u2da8'..'\u2daf'       // Ethiopic_Extended
  -    | '\u2db0'..'\u2db7'       // Ethiopic_Extended
  -    | '\u2db8'..'\u2dbf'       // Ethiopic_Extended
  -    | '\u2dc0'..'\u2dc7'       // Ethiopic_Extended
  -    | '\u2dc8'..'\u2dcf'       // Ethiopic_Extended
  -    | '\u2dd0'..'\u2dd7'       // Ethiopic_Extended
  -    | '\u2dd8'..'\u2ddf'       // Ethiopic_Extended
  +    | '\u18b0'..'\u18f5'       // Unified_Canadian_Aboriginal_Syllabics_Extended
  +    | '\u1900'..'\u191e'       // Limbu
  +    | '\u1950'..'\u196d'       // Tai_Le
  +    | '\u1970'..'\u1974'       // Tai_Le
  +    | '\u1980'..'\u19ab'       // New_Tai_Lue
  +    | '\u19b0'..'\u19c9'       // New_Tai_Lue
  +    | '\u1a00'..'\u1a16'       // Buginese
  +    | '\u1a20'..'\u1a54'       // Tai_Tham
  +    | '\u1b05'..'\u1b33'       // Balinese
  +    | '\u1b45'..'\u1b4b'       // Balinese
  +    | '\u1b83'..'\u1ba0'       // Sundanese
  +    | '\u1bae'..'\u1baf'       // Sundanese
  +    | '\u1bba'..'\u1be5'       // Sundanese
  +    | '\u1c00'..'\u1c23'       // Lepcha
  +    | '\u1c4d'..'\u1c4f'       // Lepcha
  +    | '\u1c5a'..'\u1c77'       // Ol_Chiki
  +    | '\u1ce9'..'\u1cec'       // Vedic_Extensions
  +    | '\u1cee'..'\u1cf1'       // Vedic_Extensions
  +    | '\u1cf5'..'\u1cf6'       // Vedic_Extensions
  +    | '\u2135'..'\u2138'       // Letterlike_Symbols
  +    | '\u2d30'..'\u2d67'       // Tifinagh
  +    | '\u2d80'..'\u2d96'       // Ethiopic_Extended
  +    | '\u2da0'..'\u2da6'       // Ethiopic_Extended
  +    | '\u2da8'..'\u2dae'       // Ethiopic_Extended
  +    | '\u2db0'..'\u2db6'       // Ethiopic_Extended
  +    | '\u2db8'..'\u2dbe'       // Ethiopic_Extended
  +    | '\u2dc0'..'\u2dc6'       // Ethiopic_Extended
  +    | '\u2dc8'..'\u2dce'       // Ethiopic_Extended
  +    | '\u2dd0'..'\u2dd6'       // Ethiopic_Extended
  +    | '\u2dd8'..'\u2dde'       // Ethiopic_Extended
       | '\u3006'                 // CJK_Symbols_and_Punctuation
       | '\u303c'                 // CJK_Symbols_and_Punctuation
  -    | '\u3041'..'\u3097'       // Hiragana
  +    | '\u3041'..'\u3096'       // Hiragana
       | '\u309f'                 // (Absent from Blocks.txt)
  -    | '\u30a1'..'\u30fb'       // Katakana
  +    | '\u30a1'..'\u30fa'       // Katakana
       | '\u30ff'                 // (Absent from Blocks.txt)
  -    | '\u3105'..'\u312e'       // Bopomofo
  -    | '\u3131'..'\u318f'       // Hangul_Compatibility_Jamo
  -    | '\u31a0'..'\u31bb'       // Bopomofo_Extended
  -    | '\u31f0'..'\u3200'       // Katakana_Phonetic_Extensions
  -    | '\u3400'..'\u4db6'       // CJK_Unified_Ideographs_Extension_A
  -    | '\u4e00'..'\u9fd6'       // CJK_Unified_Ideographs
  -    | '\ua000'..'\ua015'       // Yi_Syllables
  -    | '\ua016'..'\ua48d'       // Yi_Syllables
  -    | '\ua4d0'..'\ua4f8'       // Lisu
  -    | '\ua500'..'\ua60c'       // Vai
  -    | '\ua610'..'\ua620'       // Vai
  -    | '\ua62a'..'\ua62c'       // Vai
  +    | '\u3105'..'\u312d'       // Bopomofo
  +    | '\u3131'..'\u318e'       // Hangul_Compatibility_Jamo
  +    | '\u31a0'..'\u31ba'       // Bopomofo_Extended
  +    | '\u31f0'..'\u31ff'       // Katakana_Phonetic_Extensions
  +    | '\u3400'..'\u4db5'       // CJK_Unified_Ideographs_Extension_A
  +    | '\u4e00'..'\u9fd5'       // CJK_Unified_Ideographs
  +    | '\ua000'..'\ua014'       // Yi_Syllables
  +    | '\ua016'..'\ua48c'       // Yi_Syllables
  +    | '\ua4d0'..'\ua4f7'       // Lisu
  +    | '\ua500'..'\ua60b'       // Vai
  +    | '\ua610'..'\ua61f'       // Vai
  +    | '\ua62a'..'\ua62b'       // Vai
       | '\ua66e'                 // Cyrillic_Extended-B
  -    | '\ua6a0'..'\ua6e6'       // Bamum
  +    | '\ua6a0'..'\ua6e5'       // Bamum
       | '\ua78f'                 // Latin_Extended-D
       | '\ua7f7'                 // Latin_Extended-D
  -    | '\ua7fb'..'\ua802'       // Latin_Extended-D
  -    | '\ua803'..'\ua806'       // Syloti_Nagri
  -    | '\ua807'..'\ua80b'       // Syloti_Nagri
  -    | '\ua80c'..'\ua823'       // Syloti_Nagri
  -    | '\ua840'..'\ua874'       // Phags-pa
  -    | '\ua882'..'\ua8b4'       // Saurashtra
  -    | '\ua8f2'..'\ua8f8'       // Devanagari_Extended
  +    | '\ua7fb'..'\ua801'       // Latin_Extended-D
  +    | '\ua803'..'\ua805'       // Syloti_Nagri
  +    | '\ua807'..'\ua80a'       // Syloti_Nagri
  +    | '\ua80c'..'\ua822'       // Syloti_Nagri
  +    | '\ua840'..'\ua873'       // Phags-pa
  +    | '\ua882'..'\ua8b3'       // Saurashtra
  +    | '\ua8f2'..'\ua8f7'       // Devanagari_Extended
       | '\ua8fb'                 // Devanagari_Extended
       | '\ua8fd'                 // Devanagari_Extended
  -    | '\ua90a'..'\ua926'       // Kayah_Li
  -    | '\ua930'..'\ua947'       // Rejang
  -    | '\ua960'..'\ua97d'       // Hangul_Jamo_Extended-A
  -    | '\ua984'..'\ua9b3'       // Javanese
  -    | '\ua9e0'..'\ua9e5'       // Myanmar_Extended-B
  -    | '\ua9e7'..'\ua9f0'       // Myanmar_Extended-B
  -    | '\ua9fa'..'\ua9ff'       // Myanmar_Extended-B
  -    | '\uaa00'..'\uaa29'       // Cham
  -    | '\uaa40'..'\uaa43'       // Cham
  -    | '\uaa44'..'\uaa4c'       // Cham
  -    | '\uaa60'..'\uaa70'       // Myanmar_Extended-A
  -    | '\uaa71'..'\uaa77'       // Myanmar_Extended-A
  +    | '\ua90a'..'\ua925'       // Kayah_Li
  +    | '\ua930'..'\ua946'       // Rejang
  +    | '\ua960'..'\ua97c'       // Hangul_Jamo_Extended-A
  +    | '\ua984'..'\ua9b2'       // Javanese
  +    | '\ua9e0'..'\ua9e4'       // Myanmar_Extended-B
  +    | '\ua9e7'..'\ua9ef'       // Myanmar_Extended-B
  +    | '\ua9fa'..'\ua9fe'       // Myanmar_Extended-B
  +    | '\uaa00'..'\uaa28'       // Cham
  +    | '\uaa40'..'\uaa42'       // Cham
  +    | '\uaa44'..'\uaa4b'       // Cham
  +    | '\uaa60'..'\uaa6f'       // Myanmar_Extended-A
  +    | '\uaa71'..'\uaa76'       // Myanmar_Extended-A
       | '\uaa7a'                 // Myanmar_Extended-A
  -    | '\uaa7e'..'\uaab0'       // Myanmar_Extended-A
  +    | '\uaa7e'..'\uaaaf'       // Myanmar_Extended-A
       | '\uaab1'                 // Tai_Viet
  -    | '\uaab5'..'\uaab7'       // Tai_Viet
  -    | '\uaab9'..'\uaabe'       // Tai_Viet
  +    | '\uaab5'..'\uaab6'       // Tai_Viet
  +    | '\uaab9'..'\uaabd'       // Tai_Viet
       | '\uaac0'                 // Tai_Viet
       | '\uaac2'                 // Tai_Viet
  -    | '\uaadb'..'\uaadd'       // Tai_Viet
  -    | '\uaae0'..'\uaaeb'       // Meetei_Mayek_Extensions
  +    | '\uaadb'..'\uaadc'       // Tai_Viet
  +    | '\uaae0'..'\uaaea'       // Meetei_Mayek_Extensions
       | '\uaaf2'                 // Meetei_Mayek_Extensions
  -    | '\uab01'..'\uab07'       // Ethiopic_Extended-A
  -    | '\uab09'..'\uab0f'       // Ethiopic_Extended-A
  -    | '\uab11'..'\uab17'       // Ethiopic_Extended-A
  -    | '\uab20'..'\uab27'       // Ethiopic_Extended-A
  -    | '\uab28'..'\uab2f'       // Ethiopic_Extended-A
  -    | '\uabc0'..'\uabe3'       // Meetei_Mayek
  +    | '\uab01'..'\uab06'       // Ethiopic_Extended-A
  +    | '\uab09'..'\uab0e'       // Ethiopic_Extended-A
  +    | '\uab11'..'\uab16'       // Ethiopic_Extended-A
  +    | '\uab20'..'\uab26'       // Ethiopic_Extended-A
  +    | '\uab28'..'\uab2e'       // Ethiopic_Extended-A
  +    | '\uabc0'..'\uabe2'       // Meetei_Mayek
       | '\uac00'                 // Hangul_Syllables
       | '\ud7a3'                 // Hangul_Syllables
  -    | '\ud7b0'..'\ud7c7'       // Hangul_Jamo_Extended-B
  -    | '\ud7cb'..'\ud7fc'       // Hangul_Jamo_Extended-B
  -    | '\uf900'..'\ufa6e'       // CJK_Compatibility_Ideographs
  -    | '\ufa70'..'\ufada'       // CJK_Compatibility_Ideographs
  +    | '\ud7b0'..'\ud7c6'       // Hangul_Jamo_Extended-B
  +    | '\ud7cb'..'\ud7fb'       // Hangul_Jamo_Extended-B
  +    | '\uf900'..'\ufa6d'       // CJK_Compatibility_Ideographs
  +    | '\ufa70'..'\ufad9'       // CJK_Compatibility_Ideographs
       | '\ufb1d'                 // Alphabetic_Presentation_Forms
  -    | '\ufb1f'..'\ufb29'       // Alphabetic_Presentation_Forms
  -    | '\ufb2a'..'\ufb37'       // Alphabetic_Presentation_Forms
  -    | '\ufb38'..'\ufb3d'       // Alphabetic_Presentation_Forms
  +    | '\ufb1f'..'\ufb28'       // Alphabetic_Presentation_Forms
  +    | '\ufb2a'..'\ufb36'       // Alphabetic_Presentation_Forms
  +    | '\ufb38'..'\ufb3c'       // Alphabetic_Presentation_Forms
       | '\ufb3e'                 // Alphabetic_Presentation_Forms
  -    | '\ufb40'..'\ufb42'       // Alphabetic_Presentation_Forms
  -    | '\ufb43'..'\ufb45'       // Alphabetic_Presentation_Forms
  -    | '\ufb46'..'\ufbb2'       // Alphabetic_Presentation_Forms
  -    | '\ufbd3'..'\ufd3e'       // Arabic_Presentation_Forms-A
  -    | '\ufd50'..'\ufd90'       // Arabic_Presentation_Forms-A
  -    | '\ufd92'..'\ufdc8'       // Arabic_Presentation_Forms-A
  -    | '\ufdf0'..'\ufdfc'       // Arabic_Presentation_Forms-A
  -    | '\ufe70'..'\ufe75'       // Arabic_Presentation_Forms-B
  -    | '\ufe76'..'\ufefd'       // Arabic_Presentation_Forms-B
  -    | '\uff66'..'\uff70'       // Halfwidth_and_Fullwidth_Forms
  -    | '\uff71'..'\uff9e'       // Halfwidth_and_Fullwidth_Forms
  -    | '\uffa0'..'\uffbf'       // Halfwidth_and_Fullwidth_Forms
  -    | '\uffc2'..'\uffc8'       // Halfwidth_and_Fullwidth_Forms
  -    | '\uffca'..'\uffd0'       // Halfwidth_and_Fullwidth_Forms
  -    | '\uffd2'..'\uffd8'       // Halfwidth_and_Fullwidth_Forms
  -    | '\uffda'..'\uffdd'       // Halfwidth_and_Fullwidth_Forms
  +    | '\ufb40'..'\ufb41'       // Alphabetic_Presentation_Forms
  +    | '\ufb43'..'\ufb44'       // Alphabetic_Presentation_Forms
  +    | '\ufb46'..'\ufbb1'       // Alphabetic_Presentation_Forms
  +    | '\ufbd3'..'\ufd3d'       // Arabic_Presentation_Forms-A
  +    | '\ufd50'..'\ufd8f'       // Arabic_Presentation_Forms-A
  +    | '\ufd92'..'\ufdc7'       // Arabic_Presentation_Forms-A
  +    | '\ufdf0'..'\ufdfb'       // Arabic_Presentation_Forms-A
  +    | '\ufe70'..'\ufe74'       // Arabic_Presentation_Forms-B
  +    | '\ufe76'..'\ufefc'       // Arabic_Presentation_Forms-B
  +    | '\uff66'..'\uff6f'       // Halfwidth_and_Fullwidth_Forms
  +    | '\uff71'..'\uff9d'       // Halfwidth_and_Fullwidth_Forms
  +    | '\uffa0'..'\uffbe'       // Halfwidth_and_Fullwidth_Forms
  +    | '\uffc2'..'\uffc7'       // Halfwidth_and_Fullwidth_Forms
  +    | '\uffca'..'\uffcf'       // Halfwidth_and_Fullwidth_Forms
  +    | '\uffd2'..'\uffd7'       // Halfwidth_and_Fullwidth_Forms
  +    | '\uffda'..'\uffdc'       // Halfwidth_and_Fullwidth_Forms
   ;
   
   CLASSIFY_Lt:
  
positive.code:     | '\u00ae'                 // Latin-1_Supplement
      | '\u00b0'                 // Latin-1_Supplement
      | '\u0482'                 // Cyrillic
      | '\u058d'..'\u058f'       // Armenian
      | '\u060e'..'\u0610'       // Arabic
      | '\u06de'                 // Arabic
      | '\u06e9'                 // Arabic
      | '\u06fd'..'\u06ff'       // Arabic
      | '\u07f6'                 // NKo
      | '\u09fa'                 // Bengali
      | '\u0b70'                 // Oriya
      | '\u0bf3'..'\u0bf9'       // Tamil
      | '\u0bfa'                 // Tamil
      | '\u0c7f'                 // (Absent from Blocks.txt)
      | '\u0d4f'                 // Malayalam
      | '\u0d79'                 // Malayalam
      | '\u0f01'..'\u0f04'       // Tibetan
      | '\u0f13'                 // Tibetan
      | '\u0f15'..'\u0f18'       // Tibetan
      | '\u0f1a'..'\u0f20'       // Tibetan
      | '\u0f34'                 // Tibetan
      | '\u0f36'                 // Tibetan
      | '\u0f38'                 // Tibetan
      | '\u0fbe'..'\u0fc6'       // Tibetan
      | '\u0fc7'..'\u0fcd'       // Tibetan
      | '\u0fce'..'\u0fd0'       // Tibetan
      | '\u0fd5'..'\u0fd9'       // Tibetan
      | '\u109e'..'\u10a0'       // Myanmar
      | '\u1390'..'\u139a'       // Ethiopic_Supplement
      | '\u1940'                 // Limbu
      | '\u19de'..'\u1a00'       // New_Tai_Lue
      | '\u1b61'..'\u1b6b'       // Balinese
      | '\u1b74'..'\u1b7d'       // Balinese
      | '\u2100'..'\u2102'       // Letterlike_Symbols
      | '\u2103'..'\u2107'       // Letterlike_Symbols
      | '\u2108'..'\u210a'       // Letterlike_Symbols
      | '\u2114'                 // Letterlike_Symbols
      | '\u2116'..'\u2118'       // Letterlike_Symbols
      | '\u211e'..'\u2124'       // Letterlike_Symbols
      | '\u2125'                 // Letterlike_Symbols
      | '\u2127'                 // Letterlike_Symbols
      | '\u2129'                 // Letterlike_Symbols
      | '\u212e'                 // Letterlike_Symbols
      | '\u213a'..'\u213c'       // Letterlike_Symbols
      | '\u214a'                 // Letterlike_Symbols
      | '\u214c'..'\u214e'       // Letterlike_Symbols
      | '\u214f'                 // (Absent from Blocks.txt)
      | '\u218a'..'\u218c'       // Number_Forms
      | '\u2195'..'\u219a'       // Arrows
      | '\u219c'..'\u21a0'       // Arrows
      | '\u21a1'..'\u21a3'       // Arrows
      | '\u21a4'..'\u21a6'       // Arrows
      | '\u21a7'..'\u21ae'       // Arrows
      | '\u21af'..'\u21ce'       // Arrows
      | '\u21d0'..'\u21d2'       // Arrows
      | '\u21d3'                 // Arrows
      | '\u21d5'..'\u21f4'       // Arrows
      | '\u2300'..'\u2308'       // Miscellaneous_Technical
      | '\u230c'..'\u2320'       // Miscellaneous_Technical
      | '\u2322'..'\u2329'       // Miscellaneous_Technical
      | '\u232b'..'\u237c'       // Miscellaneous_Technical
      | '\u237d'..'\u239b'       // Miscellaneous_Technical
      | '\u23b4'..'\u23dc'       // Miscellaneous_Technical
      | '\u23e2'..'\u23ff'       // Miscellaneous_Technical
      | '\u2400'..'\u2427'       // Control_Pictures
      | '\u2440'..'\u244b'       // Optical_Character_Recognition
      | '\u249c'..'\u24ea'       // Enclosed_Alphanumerics
      | '\u2500'..'\u25b7'       // Box_Drawing
      | '\u25b8'..'\u25c1'       // Geometric_Shapes
      | '\u25c2'..'\u25f8'       // Geometric_Shapes
      | '\u2600'..'\u266f'       // Miscellaneous_Symbols
      | '\u2670'..'\u2768'       // Miscellaneous_Symbols
      | '\u2794'..'\u27c0'       // Dingbats
      | '\u2800'..'\u2900'       // Braille_Patterns
      | '\u2b00'..'\u2b30'       // Miscellaneous_Symbols_and_Arrows
      | '\u2b45'..'\u2b47'       // Miscellaneous_Symbols_and_Arrows
      | '\u2b4d'..'\u2b74'       // Miscellaneous_Symbols_and_Arrows
      | '\u2b76'..'\u2b96'       // Miscellaneous_Symbols_and_Arrows
      | '\u2b98'..'\u2bba'       // Miscellaneous_Symbols_and_Arrows
      | '\u2bbd'..'\u2bc9'       // Miscellaneous_Symbols_and_Arrows
      | '\u2bca'..'\u2bd2'       // Miscellaneous_Symbols_and_Arrows
      | '\u2bec'..'\u2bf0'       // Miscellaneous_Symbols_and_Arrows
      | '\u2ce5'..'\u2ceb'       // Coptic
      | '\u2e80'..'\u2e9a'       // CJK_Radicals_Supplement
      | '\u2e9b'..'\u2ef4'       // CJK_Radicals_Supplement
      | '\u2f00'..'\u2fd6'       // Kangxi_Radicals
      | '\u2ff0'..'\u2ffc'       // Ideographic_Description_Characters
      | '\u3004'                 // CJK_Symbols_and_Punctuation
      | '\u3012'..'\u3014'       // CJK_Symbols_and_Punctuation
      | '\u3020'                 // CJK_Symbols_and_Punctuation
      | '\u3036'..'\u3038'       // CJK_Symbols_and_Punctuation
      | '\u303e'..'\u3040'       // CJK_Symbols_and_Punctuation
      | '\u3190'..'\u3192'       // Kanbun
      | '\u3196'..'\u31a0'       // Kanbun
      | '\u31c0'..'\u31e4'       // CJK_Strokes
      | '\u3200'..'\u321f'       // Enclosed_CJK_Letters_and_Months
      | '\u322a'..'\u3248'       // Enclosed_CJK_Letters_and_Months
      | '\u3250'                 // Enclosed_CJK_Letters_and_Months
      | '\u3260'..'\u3280'       // Enclosed_CJK_Letters_and_Months
      | '\u328a'..'\u32b1'       // Enclosed_CJK_Letters_and_Months
      | '\u32c0'..'\u32ff'       // Enclosed_CJK_Letters_and_Months
      | '\u3300'..'\u3400'       // CJK_Compatibility
      | '\u4dc0'..'\u4e00'       // Yijing_Hexagram_Symbols
      | '\ua490'..'\ua4c7'       // Yi_Radicals
      | '\ua828'..'\ua82c'       // Syloti_Nagri
      | '\ua836'..'\ua838'       // Common_Indic_Number_Forms
      | '\ua839'                 // Common_Indic_Number_Forms
      | '\uaa77'..'\uaa7a'       // Myanmar_Extended-A
      | '\ufdfd'                 // Arabic_Presentation_Forms-A
      | '\uffe4'                 // Halfwidth_and_Fullwidth_Forms
      | '\uffe8'                 // Halfwidth_and_Fullwidth_Forms
      | '\uffed'..'\uffef'       // Halfwidth_and_Fullwidth_Forms
      | '\ufffc'..'\ufffe'       // Specials
  ;
  
  CLASSIFY_Zl:
  
negative.code: 
  CLASSIFY_Cs:
        '\ud800'                 // High_Surrogates
      | '\udb7f'..'\udb80'       // (Absent from Blocks.txt)
      | '\udbff'..'\udc00'       // (Absent from Blocks.txt)
      | '\udfff'                 // (Absent from Blocks.txt)
  ;
  
  CLASSIFY_Ll:
        '\u0061'..'\u007a'       // Basic_Latin
      | '\u00b5'                 // Latin-1_Supplement
      | '\u00df'..'\u00f6'       // Latin-1_Supplement
      | '\u00f8'..'\u00ff'       // Latin-1_Supplement
      | '\u0101'                 // Latin_Extended-A
      | '\u0103'                 // Latin_Extended-A
      | '\u0105'                 // Latin_Extended-A
  