2010-10-07 Thomas Quinot <quinot@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 7 Oct 2010 09:16:06 +0000 (09:16 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 7 Oct 2010 09:16:06 +0000 (09:16 +0000)
* sem_res.adb: Minor reformatting.

2010-10-07  Arnaud Charlet  <charlet@adacore.com>

* debug.adb: Update -gnatd.J documentation.

2010-10-07  Robert Dewar  <dewar@adacore.com>

* gnat_rm.texi: Document handling of invalid values
* s-utf_32.ads, s-utf_32.adb (UTF_To_Lower_Case): Fix implementation
to match new spec.
(UTF_To_Upper_Case): New function.

git-svn-id: svn://gcc.gnu.org/svn/gcc/trunk@165083 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/debug.adb
gcc/ada/gnat_rm.texi
gcc/ada/s-utf_32.adb
gcc/ada/s-utf_32.ads
gcc/ada/sem_res.adb

index c774342..1bbae26 100644 (file)
@@ -1,3 +1,18 @@
+2010-10-07  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_res.adb: Minor reformatting.
+
+2010-10-07  Arnaud Charlet  <charlet@adacore.com>
+
+       * debug.adb: Update -gnatd.J documentation.
+
+2010-10-07  Robert Dewar  <dewar@adacore.com>
+
+       * gnat_rm.texi: Document handling of invalid values
+       * s-utf_32.ads, s-utf_32.adb (UTF_To_Lower_Case): Fix implementation
+       to match new spec.
+       (UTF_To_Upper_Case): New function.
+
 2010-10-07  Robert Dewar  <dewar@adacore.com>
 
        * sem_attr.adb: Minor reformatting.
index c6fa834..116d801 100644 (file)
@@ -127,7 +127,7 @@ package body Debug is
    --  d.G
    --  d.H
    --  d.I  SCIL generation mode
-   --  d.J  Parallel SCIL generation mode
+   --  d.J  Disable parallel SCIL generation mode
    --  d.K
    --  d.L  Depend on back end for limited types in conditional expressions
    --  d.M
@@ -563,9 +563,9 @@ package body Debug is
    --       of static analysis tools, and ensure additional tree consistency
    --       between different compilations of specs.
 
-   --  d.J  Ensure the SCIL generated is compatible with parallel builds.
-   --       This means in particular not writing the same files under the
-   --       same directory.
+   --  d.J  Disable parallel SCIL generation. Normally SCIL file generation is
+   --       done in parallel to speed processing. This switch disables this
+   --       behavior.
 
    --  d.L  Normally the front end generates special expansion for conditional
    --       expressions of a limited type. This debug flag removes this special
index aca8c04..86e9220 100644 (file)
@@ -7912,10 +7912,11 @@ Followed.
 @chapter Implementation Defined Characteristics
 
 @noindent
-In addition to the implementation dependent pragmas and attributes, and
-the implementation advice, there are a number of other Ada features
-that are potentially implementation dependent.  These are mentioned
-throughout the Ada Reference Manual, and are summarized in Annex M@.
+In addition to the implementation dependent pragmas and attributes, and the
+implementation advice, there are a number of other Ada features that are
+potentially implementation dependent and are designated as
+implementation-defined. These are mentioned throughout the Ada Reference
+Manual, and are summarized in Annex M@.
 
 A requirement for conforming Ada compilers is that they provide
 documentation describing how the implementation deals with each of these
@@ -8528,6 +8529,35 @@ unconstrained array are not permitted. If the target alignment is
 greater than the source alignment, then a copy of the result is
 made with appropriate alignment
 
+@sp 1
+@cartouche
+@noindent
+@strong{53}. The semantics of operations on invalid representations.
+See 13.9.2(10-11).
+@end cartouche
+@noindent
+For assignments and other operations where the use of invalid values cannot
+result in erroneous behavior, the compiler ignores the possibility of invalid
+values. An exception is raised at the point where an invalid value would
+result in erroneous behavior. For example executing:
+
+@smallexample @c ada
+procedure invalidvals is
+   X : Integer := -1;
+   Y : Natural range 1 .. 10;
+   for Y'Address use X'Address;
+   Z : Natural range 1 .. 10;
+   A : array (Natural range 1 .. 10) of Integer;
+begin
+   Z := Y;     -- no exception
+   A (Z) := 3; -- exception raised;
+end;
+@end smallexample
+
+@noindent
+As indicated, an exception is raised on the array assignment, but not
+on the simple assignment of the invalid negative value from Y to Z.
+
 @sp 1
 @cartouche
 @noindent
index 263f13e..a5af4fb 100755 (executable)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2005-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2005-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -4232,15 +4232,16 @@ package body System.UTF_32 is
 
    --  The following two tables define the mapping to upper case. The first
    --  table gives the ranges of lower case letters. The corresponding entry
-   --  in Uppercase_Adjust shows the amount to be added (or subtracted) from
-   --  the code value to get the corresponding upper case letter.
-
-   --  Note that this folding is not reversible, for example lower case
-   --  dotless i folds to normal upper case I, and that cannot be reversed.
+   --  in Uppercase_Adjust shows the amount to be added to (or subtracted from
+   --  if the value is negative) the code value to get the corresponding upper
+   --  case letter.
+   --
+   --  An entry is in this table if its 10646 has the string SMALL LETTER
+   --  the name, and there is a corresponding entry which has the string
+   --  CAPITAL LETTER in its name.
 
    Lower_Case_Letters : constant UTF_32_Ranges := (
      (16#00061#, 16#0007A#),  -- LATIN SMALL LETTER A .. LATIN SMALL LETTER Z
-     (16#000B5#, 16#000B5#),  -- MICRO SIGN .. MICRO SIGN
      (16#000E0#, 16#000F6#),  -- LATIN SMALL LETTER A WITH GRAVE .. LATIN SMALL LETTER O WITH DIAERESIS
      (16#000F8#, 16#000FE#),  -- LATIN SMALL LETTER O WITH STROKE .. LATIN SMALL LETTER THORN
      (16#000FF#, 16#000FF#),  -- LATIN SMALL LETTER Y WITH DIAERESIS .. LATIN SMALL LETTER Y WITH DIAERESIS
@@ -4268,8 +4269,7 @@ package body System.UTF_32 is
      (16#0012B#, 16#0012B#),  -- LATIN SMALL LETTER I WITH MACRON .. LATIN SMALL LETTER I WITH MACRON
      (16#0012D#, 16#0012D#),  -- LATIN SMALL LETTER I WITH BREVE .. LATIN SMALL LETTER I WITH BREVE
      (16#0012F#, 16#0012F#),  -- LATIN SMALL LETTER I WITH OGONEK .. LATIN SMALL LETTER I WITH OGONEK
-     (16#00131#, 16#00131#),  -- LATIN SMALL LETTER DOTLESS I .. LATIN SMALL LETTER DOTLESS I
-     (16#00133#, 16#00133#),  -- LATIN SMALL LIGATURE IJ .. LATIN SMALL LIGATURE IJ
+     (16#00133#, 16#00133#),  -- LATIN SMALL LETTER I J .. LATIN SMALL LETTER I J
      (16#00135#, 16#00135#),  -- LATIN SMALL LETTER J WITH CIRCUMFLEX .. LATIN SMALL LETTER J WITH CIRCUMFLEX
      (16#00137#, 16#00137#),  -- LATIN SMALL LETTER K WITH CEDILLA .. LATIN SMALL LETTER K WITH CEDILLA
      (16#0013A#, 16#0013A#),  -- LATIN SMALL LETTER L WITH ACUTE .. LATIN SMALL LETTER L WITH ACUTE
@@ -4284,7 +4284,7 @@ package body System.UTF_32 is
      (16#0014D#, 16#0014D#),  -- LATIN SMALL LETTER O WITH MACRON .. LATIN SMALL LETTER O WITH MACRON
      (16#0014F#, 16#0014F#),  -- LATIN SMALL LETTER O WITH BREVE .. LATIN SMALL LETTER O WITH BREVE
      (16#00151#, 16#00151#),  -- LATIN SMALL LETTER O WITH DOUBLE ACUTE .. LATIN SMALL LETTER O WITH DOUBLE ACUTE
-     (16#00153#, 16#00153#),  -- LATIN SMALL LIGATURE OE .. LATIN SMALL LIGATURE OE
+     (16#00153#, 16#00153#),  -- LATIN SMALL LETTER O E .. LATIN SMALL LETTER O E
      (16#00155#, 16#00155#),  -- LATIN SMALL LETTER R WITH ACUTE .. LATIN SMALL LETTER R WITH ACUTE
      (16#00157#, 16#00157#),  -- LATIN SMALL LETTER R WITH CEDILLA .. LATIN SMALL LETTER R WITH CEDILLA
      (16#00159#, 16#00159#),  -- LATIN SMALL LETTER R WITH CARON .. LATIN SMALL LETTER R WITH CARON
@@ -4306,13 +4306,11 @@ package body System.UTF_32 is
      (16#0017A#, 16#0017A#),  -- LATIN SMALL LETTER Z WITH ACUTE .. LATIN SMALL LETTER Z WITH ACUTE
      (16#0017C#, 16#0017C#),  -- LATIN SMALL LETTER Z WITH DOT ABOVE .. LATIN SMALL LETTER Z WITH DOT ABOVE
      (16#0017E#, 16#0017E#),  -- LATIN SMALL LETTER Z WITH CARON .. LATIN SMALL LETTER Z WITH CARON
-     (16#0017F#, 16#0017F#),  -- LATIN SMALL LETTER LONG S .. LATIN SMALL LETTER LONG S
      (16#00183#, 16#00183#),  -- LATIN SMALL LETTER B WITH TOPBAR .. LATIN SMALL LETTER B WITH TOPBAR
      (16#00185#, 16#00185#),  -- LATIN SMALL LETTER TONE SIX .. LATIN SMALL LETTER TONE SIX
      (16#00188#, 16#00188#),  -- LATIN SMALL LETTER C WITH HOOK .. LATIN SMALL LETTER C WITH HOOK
      (16#0018C#, 16#0018C#),  -- LATIN SMALL LETTER D WITH TOPBAR .. LATIN SMALL LETTER D WITH TOPBAR
      (16#00192#, 16#00192#),  -- LATIN SMALL LETTER F WITH HOOK .. LATIN SMALL LETTER F WITH HOOK
-     (16#00195#, 16#00195#),  -- LATIN SMALL LETTER HV .. LATIN SMALL LETTER HV
      (16#00199#, 16#00199#),  -- LATIN SMALL LETTER K WITH HOOK .. LATIN SMALL LETTER K WITH HOOK
      (16#0019E#, 16#0019E#),  -- LATIN SMALL LETTER N WITH LONG RIGHT LEG .. LATIN SMALL LETTER N WITH LONG RIGHT LEG
      (16#001A1#, 16#001A1#),  -- LATIN SMALL LETTER O WITH HORN .. LATIN SMALL LETTER O WITH HORN
@@ -4325,12 +4323,8 @@ package body System.UTF_32 is
      (16#001B6#, 16#001B6#),  -- LATIN SMALL LETTER Z WITH STROKE .. LATIN SMALL LETTER Z WITH STROKE
      (16#001B9#, 16#001B9#),  -- LATIN SMALL LETTER EZH REVERSED .. LATIN SMALL LETTER EZH REVERSED
      (16#001BD#, 16#001BD#),  -- LATIN SMALL LETTER TONE FIVE .. LATIN SMALL LETTER TONE FIVE
-     (16#001BF#, 16#001BF#),  -- LATIN LETTER WYNN .. LATIN LETTER WYNN
-     (16#001C5#, 16#001C5#),  -- LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON .. LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
      (16#001C6#, 16#001C6#),  -- LATIN SMALL LETTER DZ WITH CARON .. LATIN SMALL LETTER DZ WITH CARON
-     (16#001C8#, 16#001C8#),  -- LATIN CAPITAL LETTER L WITH SMALL LETTER J .. LATIN CAPITAL LETTER L WITH SMALL LETTER J
      (16#001C9#, 16#001C9#),  -- LATIN SMALL LETTER LJ .. LATIN SMALL LETTER LJ
-     (16#001CB#, 16#001CB#),  -- LATIN CAPITAL LETTER N WITH SMALL LETTER J .. LATIN CAPITAL LETTER N WITH SMALL LETTER J
      (16#001CC#, 16#001CC#),  -- LATIN SMALL LETTER NJ .. LATIN SMALL LETTER NJ
      (16#001CE#, 16#001CE#),  -- LATIN SMALL LETTER A WITH CARON .. LATIN SMALL LETTER A WITH CARON
      (16#001D0#, 16#001D0#),  -- LATIN SMALL LETTER I WITH CARON .. LATIN SMALL LETTER I WITH CARON
@@ -4340,7 +4334,6 @@ package body System.UTF_32 is
      (16#001D8#, 16#001D8#),  -- LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE .. LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
      (16#001DA#, 16#001DA#),  -- LATIN SMALL LETTER U WITH DIAERESIS AND CARON .. LATIN SMALL LETTER U WITH DIAERESIS AND CARON
      (16#001DC#, 16#001DC#),  -- LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE .. LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-     (16#001DD#, 16#001DD#),  -- LATIN SMALL LETTER TURNED E .. LATIN SMALL LETTER TURNED E
      (16#001DF#, 16#001DF#),  -- LATIN SMALL LETTER A WITH DIAERESIS AND MACRON .. LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
      (16#001E1#, 16#001E1#),  -- LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON .. LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
      (16#001E3#, 16#001E3#),  -- LATIN SMALL LETTER AE WITH MACRON .. LATIN SMALL LETTER AE WITH MACRON
@@ -4350,7 +4343,6 @@ package body System.UTF_32 is
      (16#001EB#, 16#001EB#),  -- LATIN SMALL LETTER O WITH OGONEK .. LATIN SMALL LETTER O WITH OGONEK
      (16#001ED#, 16#001ED#),  -- LATIN SMALL LETTER O WITH OGONEK AND MACRON .. LATIN SMALL LETTER O WITH OGONEK AND MACRON
      (16#001EF#, 16#001EF#),  -- LATIN SMALL LETTER EZH WITH CARON .. LATIN SMALL LETTER EZH WITH CARON
-     (16#001F2#, 16#001F2#),  -- LATIN CAPITAL LETTER D WITH SMALL LETTER Z .. LATIN CAPITAL LETTER D WITH SMALL LETTER Z
      (16#001F3#, 16#001F3#),  -- LATIN SMALL LETTER DZ .. LATIN SMALL LETTER DZ
      (16#001F5#, 16#001F5#),  -- LATIN SMALL LETTER G WITH ACUTE .. LATIN SMALL LETTER G WITH ACUTE
      (16#001F9#, 16#001F9#),  -- LATIN SMALL LETTER N WITH GRAVE .. LATIN SMALL LETTER N WITH GRAVE
@@ -4384,8 +4376,8 @@ package body System.UTF_32 is
      (16#00233#, 16#00233#),  -- LATIN SMALL LETTER Y WITH MACRON .. LATIN SMALL LETTER Y WITH MACRON
      (16#00253#, 16#00253#),  -- LATIN SMALL LETTER B WITH HOOK .. LATIN SMALL LETTER B WITH HOOK
      (16#00254#, 16#00254#),  -- LATIN SMALL LETTER OPEN O .. LATIN SMALL LETTER OPEN O
-     (16#00256#, 16#00257#),  -- LATIN SMALL LETTER D WITH TAIL .. LATIN SMALL LETTER D WITH HOOK
-     (16#00259#, 16#00259#),  -- LATIN SMALL LETTER SCHWA .. LATIN SMALL LETTER SCHWA
+     (16#00257#, 16#00257#),  -- LATIN SMALL LETTER D WITH HOOK .. LATIN SMALL LETTER D WITH HOOK
+     (16#00258#, 16#00259#),  -- LATIN SMALL LETTER REVERSED E .. LATIN SMALL LETTER SCHWA
      (16#0025B#, 16#0025B#),  -- LATIN SMALL LETTER OPEN E .. LATIN SMALL LETTER OPEN E
      (16#00260#, 16#00260#),  -- LATIN SMALL LETTER G WITH HOOK .. LATIN SMALL LETTER G WITH HOOK
      (16#00263#, 16#00263#),  -- LATIN SMALL LETTER GAMMA .. LATIN SMALL LETTER GAMMA
@@ -4393,8 +4385,6 @@ package body System.UTF_32 is
      (16#00269#, 16#00269#),  -- LATIN SMALL LETTER IOTA .. LATIN SMALL LETTER IOTA
      (16#0026F#, 16#0026F#),  -- LATIN SMALL LETTER TURNED M .. LATIN SMALL LETTER TURNED M
      (16#00272#, 16#00272#),  -- LATIN SMALL LETTER N WITH LEFT HOOK .. LATIN SMALL LETTER N WITH LEFT HOOK
-     (16#00275#, 16#00275#),  -- LATIN SMALL LETTER BARRED O .. LATIN SMALL LETTER BARRED O
-     (16#00280#, 16#00280#),  -- LATIN LETTER SMALL CAPITAL R .. LATIN LETTER SMALL CAPITAL R
      (16#00283#, 16#00283#),  -- LATIN SMALL LETTER ESH .. LATIN SMALL LETTER ESH
      (16#00288#, 16#00288#),  -- LATIN SMALL LETTER T WITH RETROFLEX HOOK .. LATIN SMALL LETTER T WITH RETROFLEX HOOK
      (16#0028A#, 16#0028B#),  -- LATIN SMALL LETTER UPSILON .. LATIN SMALL LETTER V WITH HOOK
@@ -4402,15 +4392,9 @@ package body System.UTF_32 is
      (16#003AC#, 16#003AC#),  -- GREEK SMALL LETTER ALPHA WITH TONOS .. GREEK SMALL LETTER ALPHA WITH TONOS
      (16#003AD#, 16#003AF#),  -- GREEK SMALL LETTER EPSILON WITH TONOS .. GREEK SMALL LETTER IOTA WITH TONOS
      (16#003B1#, 16#003C1#),  -- GREEK SMALL LETTER ALPHA .. GREEK SMALL LETTER RHO
-     (16#003C2#, 16#003C2#),  -- GREEK SMALL LETTER FINAL SIGMA .. GREEK SMALL LETTER FINAL SIGMA
      (16#003C3#, 16#003CB#),  -- GREEK SMALL LETTER SIGMA .. GREEK SMALL LETTER UPSILON WITH DIALYTIKA
      (16#003CC#, 16#003CC#),  -- GREEK SMALL LETTER OMICRON WITH TONOS .. GREEK SMALL LETTER OMICRON WITH TONOS
      (16#003CD#, 16#003CE#),  -- GREEK SMALL LETTER UPSILON WITH TONOS .. GREEK SMALL LETTER OMEGA WITH TONOS
-     (16#003D0#, 16#003D0#),  -- GREEK BETA SYMBOL .. GREEK BETA SYMBOL
-     (16#003D1#, 16#003D1#),  -- GREEK THETA SYMBOL .. GREEK THETA SYMBOL
-     (16#003D5#, 16#003D5#),  -- GREEK PHI SYMBOL .. GREEK PHI SYMBOL
-     (16#003D6#, 16#003D6#),  -- GREEK PI SYMBOL .. GREEK PI SYMBOL
-     (16#003D9#, 16#003D9#),  -- GREEK SMALL LETTER ARCHAIC KOPPA .. GREEK SMALL LETTER ARCHAIC KOPPA
      (16#003DB#, 16#003DB#),  -- GREEK SMALL LETTER STIGMA .. GREEK SMALL LETTER STIGMA
      (16#003DD#, 16#003DD#),  -- GREEK SMALL LETTER DIGAMMA .. GREEK SMALL LETTER DIGAMMA
      (16#003DF#, 16#003DF#),  -- GREEK SMALL LETTER KOPPA .. GREEK SMALL LETTER KOPPA
@@ -4422,10 +4406,8 @@ package body System.UTF_32 is
      (16#003EB#, 16#003EB#),  -- COPTIC SMALL LETTER GANGIA .. COPTIC SMALL LETTER GANGIA
      (16#003ED#, 16#003ED#),  -- COPTIC SMALL LETTER SHIMA .. COPTIC SMALL LETTER SHIMA
      (16#003EF#, 16#003EF#),  -- COPTIC SMALL LETTER DEI .. COPTIC SMALL LETTER DEI
-     (16#003F0#, 16#003F0#),  -- GREEK KAPPA SYMBOL .. GREEK KAPPA SYMBOL
-     (16#003F1#, 16#003F1#),  -- GREEK RHO SYMBOL .. GREEK RHO SYMBOL
-     (16#003F2#, 16#003F2#),  -- GREEK LUNATE SIGMA SYMBOL .. GREEK LUNATE SIGMA SYMBOL
-     (16#003F5#, 16#003F5#),  -- GREEK LUNATE EPSILON SYMBOL .. GREEK LUNATE EPSILON SYMBOL
+     (16#003F8#, 16#003F8#),  -- GREEK SMALL LETTER SHO .. GREEK SMALL LETTER SHO
+     (16#003FB#, 16#003FB#),  -- GREEK SMALL LETTER SAN .. GREEK SMALL LETTER SAN
      (16#00430#, 16#0044F#),  -- CYRILLIC SMALL LETTER A .. CYRILLIC SMALL LETTER YA
      (16#00450#, 16#0045F#),  -- CYRILLIC SMALL LETTER IE WITH GRAVE .. CYRILLIC SMALL LETTER DZHE
      (16#00461#, 16#00461#),  -- CYRILLIC SMALL LETTER OMEGA .. CYRILLIC SMALL LETTER OMEGA
@@ -4458,7 +4440,7 @@ package body System.UTF_32 is
      (16#0049F#, 16#0049F#),  -- CYRILLIC SMALL LETTER KA WITH STROKE .. CYRILLIC SMALL LETTER KA WITH STROKE
      (16#004A1#, 16#004A1#),  -- CYRILLIC SMALL LETTER BASHKIR KA .. CYRILLIC SMALL LETTER BASHKIR KA
      (16#004A3#, 16#004A3#),  -- CYRILLIC SMALL LETTER EN WITH DESCENDER .. CYRILLIC SMALL LETTER EN WITH DESCENDER
-     (16#004A5#, 16#004A5#),  -- CYRILLIC SMALL LIGATURE EN GHE .. CYRILLIC SMALL LIGATURE EN GHE
+     (16#004A5#, 16#004A5#),  -- CYRILLIC SMALL LETTER EN GE .. CYRILLIC SMALL LETTER EN GE
      (16#004A7#, 16#004A7#),  -- CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK .. CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
      (16#004A9#, 16#004A9#),  -- CYRILLIC SMALL LETTER ABKHASIAN HA .. CYRILLIC SMALL LETTER ABKHASIAN HA
      (16#004AB#, 16#004AB#),  -- CYRILLIC SMALL LETTER ES WITH DESCENDER .. CYRILLIC SMALL LETTER ES WITH DESCENDER
@@ -4466,7 +4448,7 @@ package body System.UTF_32 is
      (16#004AF#, 16#004AF#),  -- CYRILLIC SMALL LETTER STRAIGHT U .. CYRILLIC SMALL LETTER STRAIGHT U
      (16#004B1#, 16#004B1#),  -- CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE .. CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
      (16#004B3#, 16#004B3#),  -- CYRILLIC SMALL LETTER HA WITH DESCENDER .. CYRILLIC SMALL LETTER HA WITH DESCENDER
-     (16#004B5#, 16#004B5#),  -- CYRILLIC SMALL LIGATURE TE TSE .. CYRILLIC SMALL LIGATURE TE TSE
+     (16#004B5#, 16#004B5#),  -- CYRILLIC SMALL LETTER TE TSE .. CYRILLIC SMALL LETTER TE TSE
      (16#004B7#, 16#004B7#),  -- CYRILLIC SMALL LETTER CHE WITH DESCENDER .. CYRILLIC SMALL LETTER CHE WITH DESCENDER
      (16#004B9#, 16#004B9#),  -- CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE .. CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
      (16#004BB#, 16#004BB#),  -- CYRILLIC SMALL LETTER SHHA .. CYRILLIC SMALL LETTER SHHA
@@ -4481,7 +4463,6 @@ package body System.UTF_32 is
      (16#004CE#, 16#004CE#),  -- CYRILLIC SMALL LETTER EM WITH TAIL .. CYRILLIC SMALL LETTER EM WITH TAIL
      (16#004D1#, 16#004D1#),  -- CYRILLIC SMALL LETTER A WITH BREVE .. CYRILLIC SMALL LETTER A WITH BREVE
      (16#004D3#, 16#004D3#),  -- CYRILLIC SMALL LETTER A WITH DIAERESIS .. CYRILLIC SMALL LETTER A WITH DIAERESIS
-     (16#004D5#, 16#004D5#),  -- CYRILLIC SMALL LIGATURE A IE .. CYRILLIC SMALL LIGATURE A IE
      (16#004D7#, 16#004D7#),  -- CYRILLIC SMALL LETTER IE WITH BREVE .. CYRILLIC SMALL LETTER IE WITH BREVE
      (16#004D9#, 16#004D9#),  -- CYRILLIC SMALL LETTER SCHWA .. CYRILLIC SMALL LETTER SCHWA
      (16#004DB#, 16#004DB#),  -- CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS .. CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
@@ -4508,6 +4489,7 @@ package body System.UTF_32 is
      (16#0050D#, 16#0050D#),  -- CYRILLIC SMALL LETTER KOMI SJE .. CYRILLIC SMALL LETTER KOMI SJE
      (16#0050F#, 16#0050F#),  -- CYRILLIC SMALL LETTER KOMI TJE .. CYRILLIC SMALL LETTER KOMI TJE
      (16#00561#, 16#00586#),  -- ARMENIAN SMALL LETTER AYB .. ARMENIAN SMALL LETTER FEH
+     (16#010D0#, 16#010F5#),  -- GEORGIAN SMALL LETTER AN .. GEORGIAN SMALL LETTER HOE
      (16#01E01#, 16#01E01#),  -- LATIN SMALL LETTER A WITH RING BELOW .. LATIN SMALL LETTER A WITH RING BELOW
      (16#01E03#, 16#01E03#),  -- LATIN SMALL LETTER B WITH DOT ABOVE .. LATIN SMALL LETTER B WITH DOT ABOVE
      (16#01E05#, 16#01E05#),  -- LATIN SMALL LETTER B WITH DOT BELOW .. LATIN SMALL LETTER B WITH DOT BELOW
@@ -4583,7 +4565,6 @@ package body System.UTF_32 is
      (16#01E91#, 16#01E91#),  -- LATIN SMALL LETTER Z WITH CIRCUMFLEX .. LATIN SMALL LETTER Z WITH CIRCUMFLEX
      (16#01E93#, 16#01E93#),  -- LATIN SMALL LETTER Z WITH DOT BELOW .. LATIN SMALL LETTER Z WITH DOT BELOW
      (16#01E95#, 16#01E95#),  -- LATIN SMALL LETTER Z WITH LINE BELOW .. LATIN SMALL LETTER Z WITH LINE BELOW
-     (16#01E9B#, 16#01E9B#),  -- LATIN SMALL LETTER LONG S WITH DOT ABOVE .. LATIN SMALL LETTER LONG S WITH DOT ABOVE
      (16#01EA1#, 16#01EA1#),  -- LATIN SMALL LETTER A WITH DOT BELOW .. LATIN SMALL LETTER A WITH DOT BELOW
      (16#01EA3#, 16#01EA3#),  -- LATIN SMALL LETTER A WITH HOOK ABOVE .. LATIN SMALL LETTER A WITH HOOK ABOVE
      (16#01EA5#, 16#01EA5#),  -- LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE .. LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
@@ -4645,24 +4626,18 @@ package body System.UTF_32 is
      (16#01F78#, 16#01F79#),  -- GREEK SMALL LETTER OMICRON WITH VARIA .. GREEK SMALL LETTER OMICRON WITH OXIA
      (16#01F7A#, 16#01F7B#),  -- GREEK SMALL LETTER UPSILON WITH VARIA .. GREEK SMALL LETTER UPSILON WITH OXIA
      (16#01F7C#, 16#01F7D#),  -- GREEK SMALL LETTER OMEGA WITH VARIA .. GREEK SMALL LETTER OMEGA WITH OXIA
-     (16#01F80#, 16#01F87#),  -- GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI .. GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-     (16#01F90#, 16#01F97#),  -- GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI .. GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-     (16#01FA0#, 16#01FA7#),  -- GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI .. GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
      (16#01FB0#, 16#01FB1#),  -- GREEK SMALL LETTER ALPHA WITH VRACHY .. GREEK SMALL LETTER ALPHA WITH MACRON
-     (16#01FB3#, 16#01FB3#),  -- GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI .. GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
-     (16#01FBE#, 16#01FBE#),  -- GREEK PROSGEGRAMMENI .. GREEK PROSGEGRAMMENI
-     (16#01FC3#, 16#01FC3#),  -- GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI .. GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
      (16#01FD0#, 16#01FD1#),  -- GREEK SMALL LETTER IOTA WITH VRACHY .. GREEK SMALL LETTER IOTA WITH MACRON
      (16#01FE0#, 16#01FE1#),  -- GREEK SMALL LETTER UPSILON WITH VRACHY .. GREEK SMALL LETTER UPSILON WITH MACRON
      (16#01FE5#, 16#01FE5#),  -- GREEK SMALL LETTER RHO WITH DASIA .. GREEK SMALL LETTER RHO WITH DASIA
-     (16#01FF3#, 16#01FF3#),  -- GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI .. GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
+     (16#024D0#, 16#024E9#),  -- CIRCLED LATIN SMALL LETTER A .. CIRCLED LATIN SMALL LETTER Z
      (16#0FF41#, 16#0FF5A#),  -- FULLWIDTH LATIN SMALL LETTER A .. FULLWIDTH LATIN SMALL LETTER Z
-     (16#10428#, 16#1044D#)); -- DESERET SMALL LETTER LONG I .. DESERET SMALL LETTER ENG
+     (16#10428#, 16#1044F#),  -- DESERET SMALL LETTER LONG I .. DESERET SMALL LETTER EW
+     (16#E0061#, 16#E007A#)); -- TAG LATIN SMALL LETTER A .. TAG LATIN SMALL LETTER Z
 
-   Upper_Case_Adjust : constant array (Lower_Case_Letters'Range)
+   Lower_Case_Adjust : constant array (Lower_Case_Letters'Range)
      of UTF_32'Base := (
        -32,  -- LATIN SMALL LETTER A .. LATIN SMALL LETTER Z
-       743,  -- MICRO SIGN .. MICRO SIGN
        -32,  -- LATIN SMALL LETTER A WITH GRAVE .. LATIN SMALL LETTER O WITH DIAERESIS
        -32,  -- LATIN SMALL LETTER O WITH STROKE .. LATIN SMALL LETTER THORN
        121,  -- LATIN SMALL LETTER Y WITH DIAERESIS .. LATIN SMALL LETTER Y WITH DIAERESIS
@@ -4690,8 +4665,7 @@ package body System.UTF_32 is
         -1,  -- LATIN SMALL LETTER I WITH MACRON .. LATIN SMALL LETTER I WITH MACRON
         -1,  -- LATIN SMALL LETTER I WITH BREVE .. LATIN SMALL LETTER I WITH BREVE
         -1,  -- LATIN SMALL LETTER I WITH OGONEK .. LATIN SMALL LETTER I WITH OGONEK
-      -232,  -- LATIN SMALL LETTER DOTLESS I .. LATIN SMALL LETTER DOTLESS I
-        -1,  -- LATIN SMALL LIGATURE IJ .. LATIN SMALL LIGATURE IJ
+        -1,  -- LATIN SMALL LETTER I J .. LATIN SMALL LETTER I J
         -1,  -- LATIN SMALL LETTER J WITH CIRCUMFLEX .. LATIN SMALL LETTER J WITH CIRCUMFLEX
         -1,  -- LATIN SMALL LETTER K WITH CEDILLA .. LATIN SMALL LETTER K WITH CEDILLA
         -1,  -- LATIN SMALL LETTER L WITH ACUTE .. LATIN SMALL LETTER L WITH ACUTE
@@ -4706,7 +4680,7 @@ package body System.UTF_32 is
         -1,  -- LATIN SMALL LETTER O WITH MACRON .. LATIN SMALL LETTER O WITH MACRON
         -1,  -- LATIN SMALL LETTER O WITH BREVE .. LATIN SMALL LETTER O WITH BREVE
         -1,  -- LATIN SMALL LETTER O WITH DOUBLE ACUTE .. LATIN SMALL LETTER O WITH DOUBLE ACUTE
-        -1,  -- LATIN SMALL LIGATURE OE .. LATIN SMALL LIGATURE OE
+        -1,  -- LATIN SMALL LETTER O E .. LATIN SMALL LETTER O E
         -1,  -- LATIN SMALL LETTER R WITH ACUTE .. LATIN SMALL LETTER R WITH ACUTE
         -1,  -- LATIN SMALL LETTER R WITH CEDILLA .. LATIN SMALL LETTER R WITH CEDILLA
         -1,  -- LATIN SMALL LETTER R WITH CARON .. LATIN SMALL LETTER R WITH CARON
@@ -4728,13 +4702,11 @@ package body System.UTF_32 is
         -1,  -- LATIN SMALL LETTER Z WITH ACUTE .. LATIN SMALL LETTER Z WITH ACUTE
         -1,  -- LATIN SMALL LETTER Z WITH DOT ABOVE .. LATIN SMALL LETTER Z WITH DOT ABOVE
         -1,  -- LATIN SMALL LETTER Z WITH CARON .. LATIN SMALL LETTER Z WITH CARON
-      -300,  -- LATIN SMALL LETTER LONG S .. LATIN SMALL LETTER LONG S
         -1,  -- LATIN SMALL LETTER B WITH TOPBAR .. LATIN SMALL LETTER B WITH TOPBAR
         -1,  -- LATIN SMALL LETTER TONE SIX .. LATIN SMALL LETTER TONE SIX
         -1,  -- LATIN SMALL LETTER C WITH HOOK .. LATIN SMALL LETTER C WITH HOOK
         -1,  -- LATIN SMALL LETTER D WITH TOPBAR .. LATIN SMALL LETTER D WITH TOPBAR
         -1,  -- LATIN SMALL LETTER F WITH HOOK .. LATIN SMALL LETTER F WITH HOOK
-        97,  -- LATIN SMALL LETTER HV .. LATIN SMALL LETTER HV
         -1,  -- LATIN SMALL LETTER K WITH HOOK .. LATIN SMALL LETTER K WITH HOOK
        130,  -- LATIN SMALL LETTER N WITH LONG RIGHT LEG .. LATIN SMALL LETTER N WITH LONG RIGHT LEG
         -1,  -- LATIN SMALL LETTER O WITH HORN .. LATIN SMALL LETTER O WITH HORN
@@ -4747,12 +4719,8 @@ package body System.UTF_32 is
         -1,  -- LATIN SMALL LETTER Z WITH STROKE .. LATIN SMALL LETTER Z WITH STROKE
         -1,  -- LATIN SMALL LETTER EZH REVERSED .. LATIN SMALL LETTER EZH REVERSED
         -1,  -- LATIN SMALL LETTER TONE FIVE .. LATIN SMALL LETTER TONE FIVE
-        56,  -- LATIN LETTER WYNN .. LATIN LETTER WYNN
-        -1,  -- LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON .. LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
         -2,  -- LATIN SMALL LETTER DZ WITH CARON .. LATIN SMALL LETTER DZ WITH CARON
-        -1,  -- LATIN CAPITAL LETTER L WITH SMALL LETTER J .. LATIN CAPITAL LETTER L WITH SMALL LETTER J
         -2,  -- LATIN SMALL LETTER LJ .. LATIN SMALL LETTER LJ
-        -1,  -- LATIN CAPITAL LETTER N WITH SMALL LETTER J .. LATIN CAPITAL LETTER N WITH SMALL LETTER J
         -2,  -- LATIN SMALL LETTER NJ .. LATIN SMALL LETTER NJ
         -1,  -- LATIN SMALL LETTER A WITH CARON .. LATIN SMALL LETTER A WITH CARON
         -1,  -- LATIN SMALL LETTER I WITH CARON .. LATIN SMALL LETTER I WITH CARON
@@ -4762,7 +4730,6 @@ package body System.UTF_32 is
         -1,  -- LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE .. LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
         -1,  -- LATIN SMALL LETTER U WITH DIAERESIS AND CARON .. LATIN SMALL LETTER U WITH DIAERESIS AND CARON
         -1,  -- LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE .. LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-       -79,  -- LATIN SMALL LETTER TURNED E .. LATIN SMALL LETTER TURNED E
         -1,  -- LATIN SMALL LETTER A WITH DIAERESIS AND MACRON .. LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
         -1,  -- LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON .. LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
         -1,  -- LATIN SMALL LETTER AE WITH MACRON .. LATIN SMALL LETTER AE WITH MACRON
@@ -4772,7 +4739,6 @@ package body System.UTF_32 is
         -1,  -- LATIN SMALL LETTER O WITH OGONEK .. LATIN SMALL LETTER O WITH OGONEK
         -1,  -- LATIN SMALL LETTER O WITH OGONEK AND MACRON .. LATIN SMALL LETTER O WITH OGONEK AND MACRON
         -1,  -- LATIN SMALL LETTER EZH WITH CARON .. LATIN SMALL LETTER EZH WITH CARON
-        -1,  -- LATIN CAPITAL LETTER D WITH SMALL LETTER Z .. LATIN CAPITAL LETTER D WITH SMALL LETTER Z
         -2,  -- LATIN SMALL LETTER DZ .. LATIN SMALL LETTER DZ
         -1,  -- LATIN SMALL LETTER G WITH ACUTE .. LATIN SMALL LETTER G WITH ACUTE
         -1,  -- LATIN SMALL LETTER N WITH GRAVE .. LATIN SMALL LETTER N WITH GRAVE
@@ -4806,8 +4772,8 @@ package body System.UTF_32 is
         -1,  -- LATIN SMALL LETTER Y WITH MACRON .. LATIN SMALL LETTER Y WITH MACRON
       -210,  -- LATIN SMALL LETTER B WITH HOOK .. LATIN SMALL LETTER B WITH HOOK
       -206,  -- LATIN SMALL LETTER OPEN O .. LATIN SMALL LETTER OPEN O
-      -205,  -- LATIN SMALL LETTER D WITH TAIL .. LATIN SMALL LETTER D WITH HOOK
-      -202,  -- LATIN SMALL LETTER SCHWA .. LATIN SMALL LETTER SCHWA
+      -205,  -- LATIN SMALL LETTER D WITH HOOK .. LATIN SMALL LETTER D WITH HOOK
+      -202,  -- LATIN SMALL LETTER REVERSED E .. LATIN SMALL LETTER SCHWA
       -203,  -- LATIN SMALL LETTER OPEN E .. LATIN SMALL LETTER OPEN E
       -205,  -- LATIN SMALL LETTER G WITH HOOK .. LATIN SMALL LETTER G WITH HOOK
       -207,  -- LATIN SMALL LETTER GAMMA .. LATIN SMALL LETTER GAMMA
@@ -4815,8 +4781,6 @@ package body System.UTF_32 is
       -211,  -- LATIN SMALL LETTER IOTA .. LATIN SMALL LETTER IOTA
       -211,  -- LATIN SMALL LETTER TURNED M .. LATIN SMALL LETTER TURNED M
       -213,  -- LATIN SMALL LETTER N WITH LEFT HOOK .. LATIN SMALL LETTER N WITH LEFT HOOK
-      -214,  -- LATIN SMALL LETTER BARRED O .. LATIN SMALL LETTER BARRED O
-      -218,  -- LATIN LETTER SMALL CAPITAL R .. LATIN LETTER SMALL CAPITAL R
       -218,  -- LATIN SMALL LETTER ESH .. LATIN SMALL LETTER ESH
       -218,  -- LATIN SMALL LETTER T WITH RETROFLEX HOOK .. LATIN SMALL LETTER T WITH RETROFLEX HOOK
       -217,  -- LATIN SMALL LETTER UPSILON .. LATIN SMALL LETTER V WITH HOOK
@@ -4824,15 +4788,9 @@ package body System.UTF_32 is
        -38,  -- GREEK SMALL LETTER ALPHA WITH TONOS .. GREEK SMALL LETTER ALPHA WITH TONOS
        -37,  -- GREEK SMALL LETTER EPSILON WITH TONOS .. GREEK SMALL LETTER IOTA WITH TONOS
        -32,  -- GREEK SMALL LETTER ALPHA .. GREEK SMALL LETTER RHO
-       -31,  -- GREEK SMALL LETTER FINAL SIGMA .. GREEK SMALL LETTER FINAL SIGMA
        -32,  -- GREEK SMALL LETTER SIGMA .. GREEK SMALL LETTER UPSILON WITH DIALYTIKA
        -64,  -- GREEK SMALL LETTER OMICRON WITH TONOS .. GREEK SMALL LETTER OMICRON WITH TONOS
        -63,  -- GREEK SMALL LETTER UPSILON WITH TONOS .. GREEK SMALL LETTER OMEGA WITH TONOS
-       -62,  -- GREEK BETA SYMBOL .. GREEK BETA SYMBOL
-       -57,  -- GREEK THETA SYMBOL .. GREEK THETA SYMBOL
-       -47,  -- GREEK PHI SYMBOL .. GREEK PHI SYMBOL
-       -54,  -- GREEK PI SYMBOL .. GREEK PI SYMBOL
-        -1,  -- GREEK SMALL LETTER ARCHAIC KOPPA .. GREEK SMALL LETTER ARCHAIC KOPPA
         -1,  -- GREEK SMALL LETTER STIGMA .. GREEK SMALL LETTER STIGMA
         -1,  -- GREEK SMALL LETTER DIGAMMA .. GREEK SMALL LETTER DIGAMMA
         -1,  -- GREEK SMALL LETTER KOPPA .. GREEK SMALL LETTER KOPPA
@@ -4844,10 +4802,8 @@ package body System.UTF_32 is
         -1,  -- COPTIC SMALL LETTER GANGIA .. COPTIC SMALL LETTER GANGIA
         -1,  -- COPTIC SMALL LETTER SHIMA .. COPTIC SMALL LETTER SHIMA
         -1,  -- COPTIC SMALL LETTER DEI .. COPTIC SMALL LETTER DEI
-       -86,  -- GREEK KAPPA SYMBOL .. GREEK KAPPA SYMBOL
-       -80,  -- GREEK RHO SYMBOL .. GREEK RHO SYMBOL
-       -79,  -- GREEK LUNATE SIGMA SYMBOL .. GREEK LUNATE SIGMA SYMBOL
-       -96,  -- GREEK LUNATE EPSILON SYMBOL .. GREEK LUNATE EPSILON SYMBOL
+        -1,  -- GREEK SMALL LETTER SHO .. GREEK SMALL LETTER SHO
+        -1,  -- GREEK SMALL LETTER SAN .. GREEK SMALL LETTER SAN
        -32,  -- CYRILLIC SMALL LETTER A .. CYRILLIC SMALL LETTER YA
        -80,  -- CYRILLIC SMALL LETTER IE WITH GRAVE .. CYRILLIC SMALL LETTER DZHE
         -1,  -- CYRILLIC SMALL LETTER OMEGA .. CYRILLIC SMALL LETTER OMEGA
@@ -4880,7 +4836,7 @@ package body System.UTF_32 is
         -1,  -- CYRILLIC SMALL LETTER KA WITH STROKE .. CYRILLIC SMALL LETTER KA WITH STROKE
         -1,  -- CYRILLIC SMALL LETTER BASHKIR KA .. CYRILLIC SMALL LETTER BASHKIR KA
         -1,  -- CYRILLIC SMALL LETTER EN WITH DESCENDER .. CYRILLIC SMALL LETTER EN WITH DESCENDER
-        -1,  -- CYRILLIC SMALL LIGATURE EN GHE .. CYRILLIC SMALL LIGATURE EN GHE
+        -1,  -- CYRILLIC SMALL LETTER EN GE .. CYRILLIC SMALL LETTER EN GE
         -1,  -- CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK .. CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
         -1,  -- CYRILLIC SMALL LETTER ABKHASIAN HA .. CYRILLIC SMALL LETTER ABKHASIAN HA
         -1,  -- CYRILLIC SMALL LETTER ES WITH DESCENDER .. CYRILLIC SMALL LETTER ES WITH DESCENDER
@@ -4888,7 +4844,7 @@ package body System.UTF_32 is
         -1,  -- CYRILLIC SMALL LETTER STRAIGHT U .. CYRILLIC SMALL LETTER STRAIGHT U
         -1,  -- CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE .. CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
         -1,  -- CYRILLIC SMALL LETTER HA WITH DESCENDER .. CYRILLIC SMALL LETTER HA WITH DESCENDER
-        -1,  -- CYRILLIC SMALL LIGATURE TE TSE .. CYRILLIC SMALL LIGATURE TE TSE
+        -1,  -- CYRILLIC SMALL LETTER TE TSE .. CYRILLIC SMALL LETTER TE TSE
         -1,  -- CYRILLIC SMALL LETTER CHE WITH DESCENDER .. CYRILLIC SMALL LETTER CHE WITH DESCENDER
         -1,  -- CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE .. CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
         -1,  -- CYRILLIC SMALL LETTER SHHA .. CYRILLIC SMALL LETTER SHHA
@@ -4903,7 +4859,6 @@ package body System.UTF_32 is
         -1,  -- CYRILLIC SMALL LETTER EM WITH TAIL .. CYRILLIC SMALL LETTER EM WITH TAIL
         -1,  -- CYRILLIC SMALL LETTER A WITH BREVE .. CYRILLIC SMALL LETTER A WITH BREVE
         -1,  -- CYRILLIC SMALL LETTER A WITH DIAERESIS .. CYRILLIC SMALL LETTER A WITH DIAERESIS
-        -1,  -- CYRILLIC SMALL LIGATURE A IE .. CYRILLIC SMALL LIGATURE A IE
         -1,  -- CYRILLIC SMALL LETTER IE WITH BREVE .. CYRILLIC SMALL LETTER IE WITH BREVE
         -1,  -- CYRILLIC SMALL LETTER SCHWA .. CYRILLIC SMALL LETTER SCHWA
         -1,  -- CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS .. CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
@@ -4930,6 +4885,7 @@ package body System.UTF_32 is
         -1,  -- CYRILLIC SMALL LETTER KOMI SJE .. CYRILLIC SMALL LETTER KOMI SJE
         -1,  -- CYRILLIC SMALL LETTER KOMI TJE .. CYRILLIC SMALL LETTER KOMI TJE
        -48,  -- ARMENIAN SMALL LETTER AYB .. ARMENIAN SMALL LETTER FEH
+       -48,  -- GEORGIAN SMALL LETTER AN .. GEORGIAN SMALL LETTER HOE
         -1,  -- LATIN SMALL LETTER A WITH RING BELOW .. LATIN SMALL LETTER A WITH RING BELOW
         -1,  -- LATIN SMALL LETTER B WITH DOT ABOVE .. LATIN SMALL LETTER B WITH DOT ABOVE
         -1,  -- LATIN SMALL LETTER B WITH DOT BELOW .. LATIN SMALL LETTER B WITH DOT BELOW
@@ -5005,7 +4961,6 @@ package body System.UTF_32 is
         -1,  -- LATIN SMALL LETTER Z WITH CIRCUMFLEX .. LATIN SMALL LETTER Z WITH CIRCUMFLEX
         -1,  -- LATIN SMALL LETTER Z WITH DOT BELOW .. LATIN SMALL LETTER Z WITH DOT BELOW
         -1,  -- LATIN SMALL LETTER Z WITH LINE BELOW .. LATIN SMALL LETTER Z WITH LINE BELOW
-       -59,  -- LATIN SMALL LETTER LONG S WITH DOT ABOVE .. LATIN SMALL LETTER LONG S WITH DOT ABOVE
         -1,  -- LATIN SMALL LETTER A WITH DOT BELOW .. LATIN SMALL LETTER A WITH DOT BELOW
         -1,  -- LATIN SMALL LETTER A WITH HOOK ABOVE .. LATIN SMALL LETTER A WITH HOOK ABOVE
         -1,  -- LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE .. LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
@@ -5067,20 +5022,1086 @@ package body System.UTF_32 is
        128,  -- GREEK SMALL LETTER OMICRON WITH VARIA .. GREEK SMALL LETTER OMICRON WITH OXIA
        112,  -- GREEK SMALL LETTER UPSILON WITH VARIA .. GREEK SMALL LETTER UPSILON WITH OXIA
        126,  -- GREEK SMALL LETTER OMEGA WITH VARIA .. GREEK SMALL LETTER OMEGA WITH OXIA
-         8,  -- GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI .. GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-         8,  -- GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI .. GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
-         8,  -- GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI .. GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
          8,  -- GREEK SMALL LETTER ALPHA WITH VRACHY .. GREEK SMALL LETTER ALPHA WITH MACRON
-         9,  -- GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI .. GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
-     -7205,  -- GREEK PROSGEGRAMMENI .. GREEK PROSGEGRAMMENI
-         9,  -- GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI .. GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
          8,  -- GREEK SMALL LETTER IOTA WITH VRACHY .. GREEK SMALL LETTER IOTA WITH MACRON
          8,  -- GREEK SMALL LETTER UPSILON WITH VRACHY .. GREEK SMALL LETTER UPSILON WITH MACRON
          7,  -- GREEK SMALL LETTER RHO WITH DASIA .. GREEK SMALL LETTER RHO WITH DASIA
-         9,  -- GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI .. GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
+       -26,  -- CIRCLED LATIN SMALL LETTER A .. CIRCLED LATIN SMALL LETTER Z
        -32,  -- FULLWIDTH LATIN SMALL LETTER A .. FULLWIDTH LATIN SMALL LETTER Z
-       -40); -- DESERET SMALL LETTER LONG I .. DESERET SMALL LETTER ENG
+       -40,  -- DESERET SMALL LETTER LONG I .. DESERET SMALL LETTER EW
+       -32); -- TAG LATIN SMALL LETTER A .. TAG LATIN SMALL LETTER Z
+
+   --  The following is a list of the 10646 names for SMALL LETTER entries
+   --  that have no matching CAPITAL LETTER entry and are thus not folded
 
+   --  LATIN SMALL LETTER SHARP S
+   --  LATIN SMALL LETTER DOTLESS I
+   --  LATIN SMALL LETTER KRA
+   --  LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+   --  LATIN SMALL LETTER LONG S
+   --  LATIN SMALL LETTER B WITH STROKE
+   --  LATIN SMALL LETTER TURNED DELTA
+   --  LATIN SMALL LETTER HV
+   --  LATIN SMALL LETTER L WITH BAR
+   --  LATIN SMALL LETTER LAMBDA WITH STROKE
+   --  LATIN SMALL LETTER T WITH PALATAL HOOK
+   --  LATIN SMALL LETTER EZH WITH TAIL
+   --  LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+   --  LATIN CAPITAL LETTER L WITH SMALL LETTER J
+   --  LATIN CAPITAL LETTER N WITH SMALL LETTER J
+   --  LATIN SMALL LETTER TURNED E
+   --  LATIN SMALL LETTER J WITH CARON
+   --  LATIN CAPITAL LETTER D WITH SMALL LETTER Z
+   --  LATIN SMALL LETTER D WITH CURL
+   --  LATIN SMALL LETTER L WITH CURL
+   --  LATIN SMALL LETTER N WITH CURL
+   --  LATIN SMALL LETTER T WITH CURL
+   --  LATIN SMALL LETTER TURNED A
+   --  LATIN SMALL LETTER ALPHA
+   --  LATIN SMALL LETTER TURNED ALPHA
+   --  LATIN SMALL LETTER C WITH CURL
+   --  LATIN SMALL LETTER D WITH TAIL
+   --  LATIN SMALL LETTER SCHWA WITH HOOK
+   --  LATIN SMALL LETTER REVERSED OPEN E
+   --  LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
+   --  LATIN SMALL LETTER CLOSED REVERSED OPEN E
+   --  LATIN SMALL LETTER DOTLESS J WITH STROKE
+   --  LATIN SMALL LETTER SCRIPT G
+   --  LATIN SMALL LETTER RAMS HORN
+   --  LATIN SMALL LETTER TURNED H
+   --  LATIN SMALL LETTER H WITH HOOK
+   --  LATIN SMALL LETTER HENG WITH HOOK
+   --  LATIN SMALL LETTER L WITH MIDDLE TILDE
+   --  LATIN SMALL LETTER L WITH BELT
+   --  LATIN SMALL LETTER L WITH RETROFLEX HOOK
+   --  LATIN SMALL LETTER LEZH
+   --  LATIN SMALL LETTER TURNED M WITH LONG LEG
+   --  LATIN SMALL LETTER M WITH HOOK
+   --  LATIN SMALL LETTER N WITH RETROFLEX HOOK
+   --  LATIN SMALL LETTER BARRED O
+   --  LATIN SMALL LETTER CLOSED OMEGA
+   --  LATIN SMALL LETTER PHI
+   --  LATIN SMALL LETTER TURNED R
+   --  LATIN SMALL LETTER TURNED R WITH LONG LEG
+   --  LATIN SMALL LETTER TURNED R WITH HOOK
+   --  LATIN SMALL LETTER R WITH LONG LEG
+   --  LATIN SMALL LETTER R WITH TAIL
+   --  LATIN SMALL LETTER R WITH FISHHOOK
+   --  LATIN SMALL LETTER REVERSED R WITH FISHHOOK
+   --  LATIN SMALL LETTER S WITH HOOK
+   --  LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
+   --  LATIN SMALL LETTER SQUAT REVERSED ESH
+   --  LATIN SMALL LETTER ESH WITH CURL
+   --  LATIN SMALL LETTER TURNED T
+   --  LATIN SMALL LETTER U BAR
+   --  LATIN SMALL LETTER TURNED V
+   --  LATIN SMALL LETTER TURNED W
+   --  LATIN SMALL LETTER TURNED Y
+   --  LATIN SMALL LETTER Z WITH RETROFLEX HOOK
+   --  LATIN SMALL LETTER Z WITH CURL
+   --  LATIN SMALL LETTER EZH WITH CURL
+   --  LATIN SMALL LETTER CLOSED OPEN E
+   --  LATIN SMALL LETTER J WITH CROSSED-TAIL
+   --  LATIN SMALL LETTER TURNED K
+   --  LATIN SMALL LETTER Q WITH HOOK
+   --  LATIN SMALL LETTER DZ DIGRAPH
+   --  LATIN SMALL LETTER DEZH DIGRAPH
+   --  LATIN SMALL LETTER DZ DIGRAPH WITH CURL
+   --  LATIN SMALL LETTER TS DIGRAPH
+   --  LATIN SMALL LETTER TESH DIGRAPH
+   --  LATIN SMALL LETTER TC DIGRAPH WITH CURL
+   --  LATIN SMALL LETTER FENG DIGRAPH
+   --  LATIN SMALL LETTER LS DIGRAPH
+   --  LATIN SMALL LETTER LZ DIGRAPH
+   --  LATIN SMALL LETTER TURNED H WITH FISHHOOK
+   --  LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+   --  COMBINING LATIN SMALL LETTER A
+   --  COMBINING LATIN SMALL LETTER E
+   --  COMBINING LATIN SMALL LETTER I
+   --  COMBINING LATIN SMALL LETTER O
+   --  COMBINING LATIN SMALL LETTER U
+   --  COMBINING LATIN SMALL LETTER C
+   --  COMBINING LATIN SMALL LETTER D
+   --  COMBINING LATIN SMALL LETTER H
+   --  COMBINING LATIN SMALL LETTER M
+   --  COMBINING LATIN SMALL LETTER R
+   --  COMBINING LATIN SMALL LETTER T
+   --  COMBINING LATIN SMALL LETTER V
+   --  COMBINING LATIN SMALL LETTER X
+   --  GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+   --  GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+   --  GREEK SMALL LETTER FINAL SIGMA
+   --  GREEK SMALL LETTER CURLED BETA
+   --  GREEK SMALL LETTER SCRIPT THETA
+   --  GREEK SMALL LETTER SCRIPT PHI
+   --  GREEK SMALL LETTER OMEGA PI
+   --  GREEK SMALL LETTER ARCHAIC KOPPA
+   --  GREEK SMALL LETTER SCRIPT KAPPA
+   --  GREEK SMALL LETTER TAILED RHO
+   --  GREEK SMALL LETTER LUNATE SIGMA
+   --  GEORGIAN SMALL LETTER FI
+   --  LIMBU SMALL LETTER KA
+   --  LIMBU SMALL LETTER NGA
+   --  LIMBU SMALL LETTER ANUSVARA
+   --  LIMBU SMALL LETTER TA
+   --  LIMBU SMALL LETTER NA
+   --  LIMBU SMALL LETTER PA
+   --  LIMBU SMALL LETTER MA
+   --  LIMBU SMALL LETTER RA
+   --  LIMBU SMALL LETTER LA
+   --  LATIN SMALL LETTER TURNED AE
+   --  LATIN SMALL LETTER TURNED OPEN E
+   --  LATIN SMALL LETTER TURNED I
+   --  LATIN SMALL LETTER SIDEWAYS O
+   --  LATIN SMALL LETTER SIDEWAYS OPEN O
+   --  LATIN SMALL LETTER SIDEWAYS O WITH STROKE
+   --  LATIN SMALL LETTER TURNED OE
+   --  LATIN SMALL LETTER TOP HALF O
+   --  LATIN SMALL LETTER BOTTOM HALF O
+   --  LATIN SMALL LETTER SIDEWAYS U
+   --  LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
+   --  LATIN SMALL LETTER SIDEWAYS TURNED M
+   --  LATIN SUBSCRIPT SMALL LETTER I
+   --  LATIN SUBSCRIPT SMALL LETTER R
+   --  LATIN SUBSCRIPT SMALL LETTER U
+   --  LATIN SUBSCRIPT SMALL LETTER V
+   --  GREEK SUBSCRIPT SMALL LETTER BETA
+   --  GREEK SUBSCRIPT SMALL LETTER GAMMA
+   --  GREEK SUBSCRIPT SMALL LETTER RHO
+   --  GREEK SUBSCRIPT SMALL LETTER PHI
+   --  GREEK SUBSCRIPT SMALL LETTER CHI
+   --  LATIN SMALL LETTER UE
+   --  LATIN SMALL LETTER H WITH LINE BELOW
+   --  LATIN SMALL LETTER T WITH DIAERESIS
+   --  LATIN SMALL LETTER W WITH RING ABOVE
+   --  LATIN SMALL LETTER Y WITH RING ABOVE
+   --  LATIN SMALL LETTER A WITH RIGHT HALF RING
+   --  LATIN SMALL LETTER LONG S WITH DOT ABOVE
+   --  GREEK SMALL LETTER UPSILON WITH PSILI
+   --  GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
+   --  GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
+   --  GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
+   --  GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ALPHA WITH PERISPOMENI
+   --  GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER ETA WITH PERISPOMENI
+   --  GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
+   --  GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+   --  GREEK SMALL LETTER IOTA WITH PERISPOMENI
+   --  GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
+   --  GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
+   --  GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
+   --  GREEK SMALL LETTER RHO WITH PSILI
+   --  GREEK SMALL LETTER UPSILON WITH PERISPOMENI
+   --  GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
+   --  GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
+   --  GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+   --  GREEK SMALL LETTER OMEGA WITH PERISPOMENI
+   --  GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
+   --  SUPERSCRIPT LATIN SMALL LETTER I
+   --  SUPERSCRIPT LATIN SMALL LETTER N
+   --  TURNED GREEK SMALL LETTER IOTA
+   --  PARENTHESIZED LATIN SMALL LETTER A
+   --  PARENTHESIZED LATIN SMALL LETTER B
+   --  PARENTHESIZED LATIN SMALL LETTER C
+   --  PARENTHESIZED LATIN SMALL LETTER D
+   --  PARENTHESIZED LATIN SMALL LETTER E
+   --  PARENTHESIZED LATIN SMALL LETTER F
+   --  PARENTHESIZED LATIN SMALL LETTER G
+   --  PARENTHESIZED LATIN SMALL LETTER H
+   --  PARENTHESIZED LATIN SMALL LETTER I
+   --  PARENTHESIZED LATIN SMALL LETTER J
+   --  PARENTHESIZED LATIN SMALL LETTER K
+   --  PARENTHESIZED LATIN SMALL LETTER L
+   --  PARENTHESIZED LATIN SMALL LETTER M
+   --  PARENTHESIZED LATIN SMALL LETTER N
+   --  PARENTHESIZED LATIN SMALL LETTER O
+   --  PARENTHESIZED LATIN SMALL LETTER P
+   --  PARENTHESIZED LATIN SMALL LETTER Q
+   --  PARENTHESIZED LATIN SMALL LETTER R
+   --  PARENTHESIZED LATIN SMALL LETTER S
+   --  PARENTHESIZED LATIN SMALL LETTER T
+   --  PARENTHESIZED LATIN SMALL LETTER U
+   --  PARENTHESIZED LATIN SMALL LETTER V
+   --  PARENTHESIZED LATIN SMALL LETTER W
+   --  PARENTHESIZED LATIN SMALL LETTER X
+   --  PARENTHESIZED LATIN SMALL LETTER Y
+   --  PARENTHESIZED LATIN SMALL LETTER Z
+
+   --  The following two tables define the mapping to lower case. The first
+   --  table gives the ranges of upper case letters. The corresponding entry
+   --  in Lower_Case_Adjust shows the amount to be added to (or subtracted from
+   --  if the value is negative) the code value to get the corresponding lower
+   --  case letter.
+
+   --  An entry is in this table if its 10646 has the string CAPITAL LETTER
+   --  the name, and there is a corresponding entry which has the string
+   --  SMALL LETTER in its name.
+
+   Upper_Case_Letters : constant UTF_32_Ranges := (
+     (16#00041#, 16#0005A#),  -- LATIN CAPITAL LETTER A .. LATIN CAPITAL LETTER Z
+     (16#000C0#, 16#000D6#),  -- LATIN CAPITAL LETTER A WITH GRAVE .. LATIN CAPITAL LETTER O WITH DIAERESIS
+     (16#000D8#, 16#000DE#),  -- LATIN CAPITAL LETTER O WITH STROKE .. LATIN CAPITAL LETTER THORN
+     (16#00100#, 16#00100#),  -- LATIN CAPITAL LETTER A WITH MACRON .. LATIN CAPITAL LETTER A WITH MACRON
+     (16#00102#, 16#00102#),  -- LATIN CAPITAL LETTER A WITH BREVE .. LATIN CAPITAL LETTER A WITH BREVE
+     (16#00104#, 16#00104#),  -- LATIN CAPITAL LETTER A WITH OGONEK .. LATIN CAPITAL LETTER A WITH OGONEK
+     (16#00106#, 16#00106#),  -- LATIN CAPITAL LETTER C WITH ACUTE .. LATIN CAPITAL LETTER C WITH ACUTE
+     (16#00108#, 16#00108#),  -- LATIN CAPITAL LETTER C WITH CIRCUMFLEX .. LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+     (16#0010A#, 16#0010A#),  -- LATIN CAPITAL LETTER C WITH DOT ABOVE .. LATIN CAPITAL LETTER C WITH DOT ABOVE
+     (16#0010C#, 16#0010C#),  -- LATIN CAPITAL LETTER C WITH CARON .. LATIN CAPITAL LETTER C WITH CARON
+     (16#0010E#, 16#0010E#),  -- LATIN CAPITAL LETTER D WITH CARON .. LATIN CAPITAL LETTER D WITH CARON
+     (16#00110#, 16#00110#),  -- LATIN CAPITAL LETTER D WITH STROKE .. LATIN CAPITAL LETTER D WITH STROKE
+     (16#00112#, 16#00112#),  -- LATIN CAPITAL LETTER E WITH MACRON .. LATIN CAPITAL LETTER E WITH MACRON
+     (16#00114#, 16#00114#),  -- LATIN CAPITAL LETTER E WITH BREVE .. LATIN CAPITAL LETTER E WITH BREVE
+     (16#00116#, 16#00116#),  -- LATIN CAPITAL LETTER E WITH DOT ABOVE .. LATIN CAPITAL LETTER E WITH DOT ABOVE
+     (16#00118#, 16#00118#),  -- LATIN CAPITAL LETTER E WITH OGONEK .. LATIN CAPITAL LETTER E WITH OGONEK
+     (16#0011A#, 16#0011A#),  -- LATIN CAPITAL LETTER E WITH CARON .. LATIN CAPITAL LETTER E WITH CARON
+     (16#0011C#, 16#0011C#),  -- LATIN CAPITAL LETTER G WITH CIRCUMFLEX .. LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+     (16#0011E#, 16#0011E#),  -- LATIN CAPITAL LETTER G WITH BREVE .. LATIN CAPITAL LETTER G WITH BREVE
+     (16#00120#, 16#00120#),  -- LATIN CAPITAL LETTER G WITH DOT ABOVE .. LATIN CAPITAL LETTER G WITH DOT ABOVE
+     (16#00122#, 16#00122#),  -- LATIN CAPITAL LETTER G WITH CEDILLA .. LATIN CAPITAL LETTER G WITH CEDILLA
+     (16#00124#, 16#00124#),  -- LATIN CAPITAL LETTER H WITH CIRCUMFLEX .. LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+     (16#00126#, 16#00126#),  -- LATIN CAPITAL LETTER H WITH STROKE .. LATIN CAPITAL LETTER H WITH STROKE
+     (16#00128#, 16#00128#),  -- LATIN CAPITAL LETTER I WITH TILDE .. LATIN CAPITAL LETTER I WITH TILDE
+     (16#0012A#, 16#0012A#),  -- LATIN CAPITAL LETTER I WITH MACRON .. LATIN CAPITAL LETTER I WITH MACRON
+     (16#0012C#, 16#0012C#),  -- LATIN CAPITAL LETTER I WITH BREVE .. LATIN CAPITAL LETTER I WITH BREVE
+     (16#0012E#, 16#0012E#),  -- LATIN CAPITAL LETTER I WITH OGONEK .. LATIN CAPITAL LETTER I WITH OGONEK
+     (16#00132#, 16#00132#),  -- LATIN CAPITAL LETTER I J .. LATIN CAPITAL LETTER I J
+     (16#00134#, 16#00134#),  -- LATIN CAPITAL LETTER J WITH CIRCUMFLEX .. LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+     (16#00136#, 16#00136#),  -- LATIN CAPITAL LETTER K WITH CEDILLA .. LATIN CAPITAL LETTER K WITH CEDILLA
+     (16#00139#, 16#00139#),  -- LATIN CAPITAL LETTER L WITH ACUTE .. LATIN CAPITAL LETTER L WITH ACUTE
+     (16#0013B#, 16#0013B#),  -- LATIN CAPITAL LETTER L WITH CEDILLA .. LATIN CAPITAL LETTER L WITH CEDILLA
+     (16#0013D#, 16#0013D#),  -- LATIN CAPITAL LETTER L WITH CARON .. LATIN CAPITAL LETTER L WITH CARON
+     (16#0013F#, 16#0013F#),  -- LATIN CAPITAL LETTER L WITH MIDDLE DOT .. LATIN CAPITAL LETTER L WITH MIDDLE DOT
+     (16#00141#, 16#00141#),  -- LATIN CAPITAL LETTER L WITH STROKE .. LATIN CAPITAL LETTER L WITH STROKE
+     (16#00143#, 16#00143#),  -- LATIN CAPITAL LETTER N WITH ACUTE .. LATIN CAPITAL LETTER N WITH ACUTE
+     (16#00145#, 16#00145#),  -- LATIN CAPITAL LETTER N WITH CEDILLA .. LATIN CAPITAL LETTER N WITH CEDILLA
+     (16#00147#, 16#00147#),  -- LATIN CAPITAL LETTER N WITH CARON .. LATIN CAPITAL LETTER N WITH CARON
+     (16#0014A#, 16#0014A#),  -- LATIN CAPITAL LETTER ENG .. LATIN CAPITAL LETTER ENG
+     (16#0014C#, 16#0014C#),  -- LATIN CAPITAL LETTER O WITH MACRON .. LATIN CAPITAL LETTER O WITH MACRON
+     (16#0014E#, 16#0014E#),  -- LATIN CAPITAL LETTER O WITH BREVE .. LATIN CAPITAL LETTER O WITH BREVE
+     (16#00150#, 16#00150#),  -- LATIN CAPITAL LETTER O WITH DOUBLE ACUTE .. LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+     (16#00152#, 16#00152#),  -- LATIN CAPITAL LETTER O E .. LATIN CAPITAL LETTER O E
+     (16#00154#, 16#00154#),  -- LATIN CAPITAL LETTER R WITH ACUTE .. LATIN CAPITAL LETTER R WITH ACUTE
+     (16#00156#, 16#00156#),  -- LATIN CAPITAL LETTER R WITH CEDILLA .. LATIN CAPITAL LETTER R WITH CEDILLA
+     (16#00158#, 16#00158#),  -- LATIN CAPITAL LETTER R WITH CARON .. LATIN CAPITAL LETTER R WITH CARON
+     (16#0015A#, 16#0015A#),  -- LATIN CAPITAL LETTER S WITH ACUTE .. LATIN CAPITAL LETTER S WITH ACUTE
+     (16#0015C#, 16#0015C#),  -- LATIN CAPITAL LETTER S WITH CIRCUMFLEX .. LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+     (16#0015E#, 16#0015E#),  -- LATIN CAPITAL LETTER S WITH CEDILLA .. LATIN CAPITAL LETTER S WITH CEDILLA
+     (16#00160#, 16#00160#),  -- LATIN CAPITAL LETTER S WITH CARON .. LATIN CAPITAL LETTER S WITH CARON
+     (16#00162#, 16#00162#),  -- LATIN CAPITAL LETTER T WITH CEDILLA .. LATIN CAPITAL LETTER T WITH CEDILLA
+     (16#00164#, 16#00164#),  -- LATIN CAPITAL LETTER T WITH CARON .. LATIN CAPITAL LETTER T WITH CARON
+     (16#00166#, 16#00166#),  -- LATIN CAPITAL LETTER T WITH STROKE .. LATIN CAPITAL LETTER T WITH STROKE
+     (16#00168#, 16#00168#),  -- LATIN CAPITAL LETTER U WITH TILDE .. LATIN CAPITAL LETTER U WITH TILDE
+     (16#0016A#, 16#0016A#),  -- LATIN CAPITAL LETTER U WITH MACRON .. LATIN CAPITAL LETTER U WITH MACRON
+     (16#0016C#, 16#0016C#),  -- LATIN CAPITAL LETTER U WITH BREVE .. LATIN CAPITAL LETTER U WITH BREVE
+     (16#0016E#, 16#0016E#),  -- LATIN CAPITAL LETTER U WITH RING ABOVE .. LATIN CAPITAL LETTER U WITH RING ABOVE
+     (16#00170#, 16#00170#),  -- LATIN CAPITAL LETTER U WITH DOUBLE ACUTE .. LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+     (16#00172#, 16#00172#),  -- LATIN CAPITAL LETTER U WITH OGONEK .. LATIN CAPITAL LETTER U WITH OGONEK
+     (16#00174#, 16#00174#),  -- LATIN CAPITAL LETTER W WITH CIRCUMFLEX .. LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+     (16#00176#, 16#00176#),  -- LATIN CAPITAL LETTER Y WITH CIRCUMFLEX .. LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+     (16#00178#, 16#00178#),  -- LATIN CAPITAL LETTER Y WITH DIAERESIS .. LATIN CAPITAL LETTER Y WITH DIAERESIS
+     (16#00179#, 16#00179#),  -- LATIN CAPITAL LETTER Z WITH ACUTE .. LATIN CAPITAL LETTER Z WITH ACUTE
+     (16#0017B#, 16#0017B#),  -- LATIN CAPITAL LETTER Z WITH DOT ABOVE .. LATIN CAPITAL LETTER Z WITH DOT ABOVE
+     (16#0017D#, 16#0017D#),  -- LATIN CAPITAL LETTER Z WITH CARON .. LATIN CAPITAL LETTER Z WITH CARON
+     (16#00181#, 16#00181#),  -- LATIN CAPITAL LETTER B WITH HOOK .. LATIN CAPITAL LETTER B WITH HOOK
+     (16#00182#, 16#00182#),  -- LATIN CAPITAL LETTER B WITH TOPBAR .. LATIN CAPITAL LETTER B WITH TOPBAR
+     (16#00184#, 16#00184#),  -- LATIN CAPITAL LETTER TONE SIX .. LATIN CAPITAL LETTER TONE SIX
+     (16#00186#, 16#00186#),  -- LATIN CAPITAL LETTER OPEN O .. LATIN CAPITAL LETTER OPEN O
+     (16#00187#, 16#00187#),  -- LATIN CAPITAL LETTER C WITH HOOK .. LATIN CAPITAL LETTER C WITH HOOK
+     (16#0018A#, 16#0018A#),  -- LATIN CAPITAL LETTER D WITH HOOK .. LATIN CAPITAL LETTER D WITH HOOK
+     (16#0018B#, 16#0018B#),  -- LATIN CAPITAL LETTER D WITH TOPBAR .. LATIN CAPITAL LETTER D WITH TOPBAR
+     (16#0018E#, 16#0018F#),  -- LATIN CAPITAL LETTER REVERSED E .. LATIN CAPITAL LETTER SCHWA
+     (16#00190#, 16#00190#),  -- LATIN CAPITAL LETTER OPEN E .. LATIN CAPITAL LETTER OPEN E
+     (16#00191#, 16#00191#),  -- LATIN CAPITAL LETTER F WITH HOOK .. LATIN CAPITAL LETTER F WITH HOOK
+     (16#00193#, 16#00193#),  -- LATIN CAPITAL LETTER G WITH HOOK .. LATIN CAPITAL LETTER G WITH HOOK
+     (16#00194#, 16#00194#),  -- LATIN CAPITAL LETTER GAMMA .. LATIN CAPITAL LETTER GAMMA
+     (16#00196#, 16#00196#),  -- LATIN CAPITAL LETTER IOTA .. LATIN CAPITAL LETTER IOTA
+     (16#00197#, 16#00197#),  -- LATIN CAPITAL LETTER I WITH STROKE .. LATIN CAPITAL LETTER I WITH STROKE
+     (16#00198#, 16#00198#),  -- LATIN CAPITAL LETTER K WITH HOOK .. LATIN CAPITAL LETTER K WITH HOOK
+     (16#0019C#, 16#0019C#),  -- LATIN CAPITAL LETTER TURNED M .. LATIN CAPITAL LETTER TURNED M
+     (16#0019D#, 16#0019D#),  -- LATIN CAPITAL LETTER N WITH LEFT HOOK .. LATIN CAPITAL LETTER N WITH LEFT HOOK
+     (16#001A0#, 16#001A0#),  -- LATIN CAPITAL LETTER O WITH HORN .. LATIN CAPITAL LETTER O WITH HORN
+     (16#001A2#, 16#001A2#),  -- LATIN CAPITAL LETTER OI .. LATIN CAPITAL LETTER OI
+     (16#001A4#, 16#001A4#),  -- LATIN CAPITAL LETTER P WITH HOOK .. LATIN CAPITAL LETTER P WITH HOOK
+     (16#001A7#, 16#001A7#),  -- LATIN CAPITAL LETTER TONE TWO .. LATIN CAPITAL LETTER TONE TWO
+     (16#001A9#, 16#001A9#),  -- LATIN CAPITAL LETTER ESH .. LATIN CAPITAL LETTER ESH
+     (16#001AC#, 16#001AC#),  -- LATIN CAPITAL LETTER T WITH HOOK .. LATIN CAPITAL LETTER T WITH HOOK
+     (16#001AE#, 16#001AE#),  -- LATIN CAPITAL LETTER T WITH RETROFLEX HOOK .. LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
+     (16#001AF#, 16#001AF#),  -- LATIN CAPITAL LETTER U WITH HORN .. LATIN CAPITAL LETTER U WITH HORN
+     (16#001B1#, 16#001B2#),  -- LATIN CAPITAL LETTER UPSILON .. LATIN CAPITAL LETTER V WITH HOOK
+     (16#001B3#, 16#001B3#),  -- LATIN CAPITAL LETTER Y WITH HOOK .. LATIN CAPITAL LETTER Y WITH HOOK
+     (16#001B5#, 16#001B5#),  -- LATIN CAPITAL LETTER Z WITH STROKE .. LATIN CAPITAL LETTER Z WITH STROKE
+     (16#001B7#, 16#001B7#),  -- LATIN CAPITAL LETTER EZH .. LATIN CAPITAL LETTER EZH
+     (16#001B8#, 16#001B8#),  -- LATIN CAPITAL LETTER EZH REVERSED .. LATIN CAPITAL LETTER EZH REVERSED
+     (16#001BC#, 16#001BC#),  -- LATIN CAPITAL LETTER TONE FIVE .. LATIN CAPITAL LETTER TONE FIVE
+     (16#001C4#, 16#001C4#),  -- LATIN CAPITAL LETTER DZ WITH CARON .. LATIN CAPITAL LETTER DZ WITH CARON
+     (16#001C7#, 16#001C7#),  -- LATIN CAPITAL LETTER LJ .. LATIN CAPITAL LETTER LJ
+     (16#001CA#, 16#001CA#),  -- LATIN CAPITAL LETTER NJ .. LATIN CAPITAL LETTER NJ
+     (16#001CD#, 16#001CD#),  -- LATIN CAPITAL LETTER A WITH CARON .. LATIN CAPITAL LETTER A WITH CARON
+     (16#001CF#, 16#001CF#),  -- LATIN CAPITAL LETTER I WITH CARON .. LATIN CAPITAL LETTER I WITH CARON
+     (16#001D1#, 16#001D1#),  -- LATIN CAPITAL LETTER O WITH CARON .. LATIN CAPITAL LETTER O WITH CARON
+     (16#001D3#, 16#001D3#),  -- LATIN CAPITAL LETTER U WITH CARON .. LATIN CAPITAL LETTER U WITH CARON
+     (16#001D5#, 16#001D5#),  -- LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON .. LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+     (16#001D7#, 16#001D7#),  -- LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE .. LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+     (16#001D9#, 16#001D9#),  -- LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON .. LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+     (16#001DB#, 16#001DB#),  -- LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE .. LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+     (16#001DE#, 16#001DE#),  -- LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON .. LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+     (16#001E0#, 16#001E0#),  -- LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON .. LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
+     (16#001E2#, 16#001E2#),  -- LATIN CAPITAL LETTER AE WITH MACRON .. LATIN CAPITAL LETTER AE WITH MACRON
+     (16#001E4#, 16#001E4#),  -- LATIN CAPITAL LETTER G WITH STROKE .. LATIN CAPITAL LETTER G WITH STROKE
+     (16#001E6#, 16#001E6#),  -- LATIN CAPITAL LETTER G WITH CARON .. LATIN CAPITAL LETTER G WITH CARON
+     (16#001E8#, 16#001E8#),  -- LATIN CAPITAL LETTER K WITH CARON .. LATIN CAPITAL LETTER K WITH CARON
+     (16#001EA#, 16#001EA#),  -- LATIN CAPITAL LETTER O WITH OGONEK .. LATIN CAPITAL LETTER O WITH OGONEK
+     (16#001EC#, 16#001EC#),  -- LATIN CAPITAL LETTER O WITH OGONEK AND MACRON .. LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
+     (16#001EE#, 16#001EE#),  -- LATIN CAPITAL LETTER EZH WITH CARON .. LATIN CAPITAL LETTER EZH WITH CARON
+     (16#001F1#, 16#001F1#),  -- LATIN CAPITAL LETTER DZ .. LATIN CAPITAL LETTER DZ
+     (16#001F4#, 16#001F4#),  -- LATIN CAPITAL LETTER G WITH ACUTE .. LATIN CAPITAL LETTER G WITH ACUTE
+     (16#001F8#, 16#001F8#),  -- LATIN CAPITAL LETTER N WITH GRAVE .. LATIN CAPITAL LETTER N WITH GRAVE
+     (16#001FA#, 16#001FA#),  -- LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE .. LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+     (16#001FC#, 16#001FC#),  -- LATIN CAPITAL LETTER AE WITH ACUTE .. LATIN CAPITAL LETTER AE WITH ACUTE
+     (16#001FE#, 16#001FE#),  -- LATIN CAPITAL LETTER O WITH STROKE AND ACUTE .. LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+     (16#00200#, 16#00200#),  -- LATIN CAPITAL LETTER A WITH DOUBLE GRAVE .. LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+     (16#00202#, 16#00202#),  -- LATIN CAPITAL LETTER A WITH INVERTED BREVE .. LATIN CAPITAL LETTER A WITH INVERTED BREVE
+     (16#00204#, 16#00204#),  -- LATIN CAPITAL LETTER E WITH DOUBLE GRAVE .. LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+     (16#00206#, 16#00206#),  -- LATIN CAPITAL LETTER E WITH INVERTED BREVE .. LATIN CAPITAL LETTER E WITH INVERTED BREVE
+     (16#00208#, 16#00208#),  -- LATIN CAPITAL LETTER I WITH DOUBLE GRAVE .. LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+     (16#0020A#, 16#0020A#),  -- LATIN CAPITAL LETTER I WITH INVERTED BREVE .. LATIN CAPITAL LETTER I WITH INVERTED BREVE
+     (16#0020C#, 16#0020C#),  -- LATIN CAPITAL LETTER O WITH DOUBLE GRAVE .. LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+     (16#0020E#, 16#0020E#),  -- LATIN CAPITAL LETTER O WITH INVERTED BREVE .. LATIN CAPITAL LETTER O WITH INVERTED BREVE
+     (16#00210#, 16#00210#),  -- LATIN CAPITAL LETTER R WITH DOUBLE GRAVE .. LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+     (16#00212#, 16#00212#),  -- LATIN CAPITAL LETTER R WITH INVERTED BREVE .. LATIN CAPITAL LETTER R WITH INVERTED BREVE
+     (16#00214#, 16#00214#),  -- LATIN CAPITAL LETTER U WITH DOUBLE GRAVE .. LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+     (16#00216#, 16#00216#),  -- LATIN CAPITAL LETTER U WITH INVERTED BREVE .. LATIN CAPITAL LETTER U WITH INVERTED BREVE
+     (16#00218#, 16#00218#),  -- LATIN CAPITAL LETTER S WITH COMMA BELOW .. LATIN CAPITAL LETTER S WITH COMMA BELOW
+     (16#0021A#, 16#0021A#),  -- LATIN CAPITAL LETTER T WITH COMMA BELOW .. LATIN CAPITAL LETTER T WITH COMMA BELOW
+     (16#0021C#, 16#0021C#),  -- LATIN CAPITAL LETTER YOGH .. LATIN CAPITAL LETTER YOGH
+     (16#0021E#, 16#0021E#),  -- LATIN CAPITAL LETTER H WITH CARON .. LATIN CAPITAL LETTER H WITH CARON
+     (16#00220#, 16#00220#),  -- LATIN CAPITAL LETTER N WITH LONG RIGHT LEG .. LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
+     (16#00222#, 16#00222#),  -- LATIN CAPITAL LETTER OU .. LATIN CAPITAL LETTER OU
+     (16#00224#, 16#00224#),  -- LATIN CAPITAL LETTER Z WITH HOOK .. LATIN CAPITAL LETTER Z WITH HOOK
+     (16#00226#, 16#00226#),  -- LATIN CAPITAL LETTER A WITH DOT ABOVE .. LATIN CAPITAL LETTER A WITH DOT ABOVE
+     (16#00228#, 16#00228#),  -- LATIN CAPITAL LETTER E WITH CEDILLA .. LATIN CAPITAL LETTER E WITH CEDILLA
+     (16#0022A#, 16#0022A#),  -- LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON .. LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+     (16#0022C#, 16#0022C#),  -- LATIN CAPITAL LETTER O WITH TILDE AND MACRON .. LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+     (16#0022E#, 16#0022E#),  -- LATIN CAPITAL LETTER O WITH DOT ABOVE .. LATIN CAPITAL LETTER O WITH DOT ABOVE
+     (16#00230#, 16#00230#),  -- LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON .. LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
+     (16#00232#, 16#00232#),  -- LATIN CAPITAL LETTER Y WITH MACRON .. LATIN CAPITAL LETTER Y WITH MACRON
+     (16#00386#, 16#00386#),  -- GREEK CAPITAL LETTER ALPHA WITH TONOS .. GREEK CAPITAL LETTER ALPHA WITH TONOS
+     (16#00388#, 16#0038A#),  -- GREEK CAPITAL LETTER EPSILON WITH TONOS .. GREEK CAPITAL LETTER IOTA WITH TONOS
+     (16#0038C#, 16#0038C#),  -- GREEK CAPITAL LETTER OMICRON WITH TONOS .. GREEK CAPITAL LETTER OMICRON WITH TONOS
+     (16#0038E#, 16#0038F#),  -- GREEK CAPITAL LETTER UPSILON WITH TONOS .. GREEK CAPITAL LETTER OMEGA WITH TONOS
+     (16#00391#, 16#003A1#),  -- GREEK CAPITAL LETTER ALPHA .. GREEK CAPITAL LETTER RHO
+     (16#003A3#, 16#003AB#),  -- GREEK CAPITAL LETTER SIGMA .. GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+     (16#003DA#, 16#003DA#),  -- GREEK CAPITAL LETTER STIGMA .. GREEK CAPITAL LETTER STIGMA
+     (16#003DC#, 16#003DC#),  -- GREEK CAPITAL LETTER DIGAMMA .. GREEK CAPITAL LETTER DIGAMMA
+     (16#003DE#, 16#003DE#),  -- GREEK CAPITAL LETTER KOPPA .. GREEK CAPITAL LETTER KOPPA
+     (16#003E0#, 16#003E0#),  -- GREEK CAPITAL LETTER SAMPI .. GREEK CAPITAL LETTER SAMPI
+     (16#003E2#, 16#003E2#),  -- COPTIC CAPITAL LETTER SHEI .. COPTIC CAPITAL LETTER SHEI
+     (16#003E4#, 16#003E4#),  -- COPTIC CAPITAL LETTER FEI .. COPTIC CAPITAL LETTER FEI
+     (16#003E6#, 16#003E6#),  -- COPTIC CAPITAL LETTER KHEI .. COPTIC CAPITAL LETTER KHEI
+     (16#003E8#, 16#003E8#),  -- COPTIC CAPITAL LETTER HORI .. COPTIC CAPITAL LETTER HORI
+     (16#003EA#, 16#003EA#),  -- COPTIC CAPITAL LETTER GANGIA .. COPTIC CAPITAL LETTER GANGIA
+     (16#003EC#, 16#003EC#),  -- COPTIC CAPITAL LETTER SHIMA .. COPTIC CAPITAL LETTER SHIMA
+     (16#003EE#, 16#003EE#),  -- COPTIC CAPITAL LETTER DEI .. COPTIC CAPITAL LETTER DEI
+     (16#003F7#, 16#003F7#),  -- GREEK CAPITAL LETTER SHO .. GREEK CAPITAL LETTER SHO
+     (16#003FA#, 16#003FA#),  -- GREEK CAPITAL LETTER SAN .. GREEK CAPITAL LETTER SAN
+     (16#00400#, 16#0040F#),  -- CYRILLIC CAPITAL LETTER IE WITH GRAVE .. CYRILLIC CAPITAL LETTER DZHE
+     (16#00410#, 16#0042F#),  -- CYRILLIC CAPITAL LETTER A .. CYRILLIC CAPITAL LETTER YA
+     (16#00460#, 16#00460#),  -- CYRILLIC CAPITAL LETTER OMEGA .. CYRILLIC CAPITAL LETTER OMEGA
+     (16#00462#, 16#00462#),  -- CYRILLIC CAPITAL LETTER YAT .. CYRILLIC CAPITAL LETTER YAT
+     (16#00464#, 16#00464#),  -- CYRILLIC CAPITAL LETTER IOTIFIED E .. CYRILLIC CAPITAL LETTER IOTIFIED E
+     (16#00466#, 16#00466#),  -- CYRILLIC CAPITAL LETTER LITTLE YUS .. CYRILLIC CAPITAL LETTER LITTLE YUS
+     (16#00468#, 16#00468#),  -- CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS .. CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
+     (16#0046A#, 16#0046A#),  -- CYRILLIC CAPITAL LETTER BIG YUS .. CYRILLIC CAPITAL LETTER BIG YUS
+     (16#0046C#, 16#0046C#),  -- CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS .. CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
+     (16#0046E#, 16#0046E#),  -- CYRILLIC CAPITAL LETTER KSI .. CYRILLIC CAPITAL LETTER KSI
+     (16#00470#, 16#00470#),  -- CYRILLIC CAPITAL LETTER PSI .. CYRILLIC CAPITAL LETTER PSI
+     (16#00472#, 16#00472#),  -- CYRILLIC CAPITAL LETTER FITA .. CYRILLIC CAPITAL LETTER FITA
+     (16#00474#, 16#00474#),  -- CYRILLIC CAPITAL LETTER IZHITSA .. CYRILLIC CAPITAL LETTER IZHITSA
+     (16#00476#, 16#00476#),  -- CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT .. CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+     (16#00478#, 16#00478#),  -- CYRILLIC CAPITAL LETTER UK .. CYRILLIC CAPITAL LETTER UK
+     (16#0047A#, 16#0047A#),  -- CYRILLIC CAPITAL LETTER ROUND OMEGA .. CYRILLIC CAPITAL LETTER ROUND OMEGA
+     (16#0047C#, 16#0047C#),  -- CYRILLIC CAPITAL LETTER OMEGA WITH TITLO .. CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
+     (16#0047E#, 16#0047E#),  -- CYRILLIC CAPITAL LETTER OT .. CYRILLIC CAPITAL LETTER OT
+     (16#00480#, 16#00480#),  -- CYRILLIC CAPITAL LETTER KOPPA .. CYRILLIC CAPITAL LETTER KOPPA
+     (16#0048A#, 16#0048A#),  -- CYRILLIC CAPITAL LETTER SHORT I WITH TAIL .. CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
+     (16#0048C#, 16#0048C#),  -- CYRILLIC CAPITAL LETTER SEMISOFT SIGN .. CYRILLIC CAPITAL LETTER SEMISOFT SIGN
+     (16#0048E#, 16#0048E#),  -- CYRILLIC CAPITAL LETTER ER WITH TICK .. CYRILLIC CAPITAL LETTER ER WITH TICK
+     (16#00490#, 16#00490#),  -- CYRILLIC CAPITAL LETTER GHE WITH UPTURN .. CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+     (16#00492#, 16#00492#),  -- CYRILLIC CAPITAL LETTER GHE WITH STROKE .. CYRILLIC CAPITAL LETTER GHE WITH STROKE
+     (16#00494#, 16#00494#),  -- CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK .. CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+     (16#00496#, 16#00496#),  -- CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER .. CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+     (16#00498#, 16#00498#),  -- CYRILLIC CAPITAL LETTER ZE WITH DESCENDER .. CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+     (16#0049A#, 16#0049A#),  -- CYRILLIC CAPITAL LETTER KA WITH DESCENDER .. CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+     (16#0049C#, 16#0049C#),  -- CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE .. CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+     (16#0049E#, 16#0049E#),  -- CYRILLIC CAPITAL LETTER KA WITH STROKE .. CYRILLIC CAPITAL LETTER KA WITH STROKE
+     (16#004A0#, 16#004A0#),  -- CYRILLIC CAPITAL LETTER BASHKIR KA .. CYRILLIC CAPITAL LETTER BASHKIR KA
+     (16#004A2#, 16#004A2#),  -- CYRILLIC CAPITAL LETTER EN WITH DESCENDER .. CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+     (16#004A4#, 16#004A4#),  -- CYRILLIC CAPITAL LETTER EN GE .. CYRILLIC CAPITAL LETTER EN GE
+     (16#004A6#, 16#004A6#),  -- CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK .. CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+     (16#004A8#, 16#004A8#),  -- CYRILLIC CAPITAL LETTER ABKHASIAN HA .. CYRILLIC CAPITAL LETTER ABKHASIAN HA
+     (16#004AA#, 16#004AA#),  -- CYRILLIC CAPITAL LETTER ES WITH DESCENDER .. CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+     (16#004AC#, 16#004AC#),  -- CYRILLIC CAPITAL LETTER TE WITH DESCENDER .. CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+     (16#004AE#, 16#004AE#),  -- CYRILLIC CAPITAL LETTER STRAIGHT U .. CYRILLIC CAPITAL LETTER STRAIGHT U
+     (16#004B0#, 16#004B0#),  -- CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE .. CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+     (16#004B2#, 16#004B2#),  -- CYRILLIC CAPITAL LETTER HA WITH DESCENDER .. CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+     (16#004B4#, 16#004B4#),  -- CYRILLIC CAPITAL LETTER TE TSE .. CYRILLIC CAPITAL LETTER TE TSE
+     (16#004B6#, 16#004B6#),  -- CYRILLIC CAPITAL LETTER CHE WITH DESCENDER .. CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+     (16#004B8#, 16#004B8#),  -- CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE .. CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+     (16#004BA#, 16#004BA#),  -- CYRILLIC CAPITAL LETTER SHHA .. CYRILLIC CAPITAL LETTER SHHA
+     (16#004BC#, 16#004BC#),  -- CYRILLIC CAPITAL LETTER ABKHASIAN CHE .. CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+     (16#004BE#, 16#004BE#),  -- CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER .. CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+     (16#004C1#, 16#004C1#),  -- CYRILLIC CAPITAL LETTER ZHE WITH BREVE .. CYRILLIC CAPITAL LETTER ZHE WITH BREVE
+     (16#004C3#, 16#004C3#),  -- CYRILLIC CAPITAL LETTER KA WITH HOOK .. CYRILLIC CAPITAL LETTER KA WITH HOOK
+     (16#004C5#, 16#004C5#),  -- CYRILLIC CAPITAL LETTER EL WITH TAIL .. CYRILLIC CAPITAL LETTER EL WITH TAIL
+     (16#004C7#, 16#004C7#),  -- CYRILLIC CAPITAL LETTER EN WITH HOOK .. CYRILLIC CAPITAL LETTER EN WITH HOOK
+     (16#004C9#, 16#004C9#),  -- CYRILLIC CAPITAL LETTER EN WITH TAIL .. CYRILLIC CAPITAL LETTER EN WITH TAIL
+     (16#004CB#, 16#004CB#),  -- CYRILLIC CAPITAL LETTER KHAKASSIAN CHE .. CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+     (16#004CD#, 16#004CD#),  -- CYRILLIC CAPITAL LETTER EM WITH TAIL .. CYRILLIC CAPITAL LETTER EM WITH TAIL
+     (16#004D0#, 16#004D0#),  -- CYRILLIC CAPITAL LETTER A WITH BREVE .. CYRILLIC CAPITAL LETTER A WITH BREVE
+     (16#004D2#, 16#004D2#),  -- CYRILLIC CAPITAL LETTER A WITH DIAERESIS .. CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+     (16#004D6#, 16#004D6#),  -- CYRILLIC CAPITAL LETTER IE WITH BREVE .. CYRILLIC CAPITAL LETTER IE WITH BREVE
+     (16#004D8#, 16#004D8#),  -- CYRILLIC CAPITAL LETTER SCHWA .. CYRILLIC CAPITAL LETTER SCHWA
+     (16#004DA#, 16#004DA#),  -- CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS .. CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+     (16#004DC#, 16#004DC#),  -- CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS .. CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+     (16#004DE#, 16#004DE#),  -- CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS .. CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+     (16#004E0#, 16#004E0#),  -- CYRILLIC CAPITAL LETTER ABKHASIAN DZE .. CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+     (16#004E2#, 16#004E2#),  -- CYRILLIC CAPITAL LETTER I WITH MACRON .. CYRILLIC CAPITAL LETTER I WITH MACRON
+     (16#004E4#, 16#004E4#),  -- CYRILLIC CAPITAL LETTER I WITH DIAERESIS .. CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+     (16#004E6#, 16#004E6#),  -- CYRILLIC CAPITAL LETTER O WITH DIAERESIS .. CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+     (16#004E8#, 16#004E8#),  -- CYRILLIC CAPITAL LETTER BARRED O .. CYRILLIC CAPITAL LETTER BARRED O
+     (16#004EA#, 16#004EA#),  -- CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS .. CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+     (16#004EC#, 16#004EC#),  -- CYRILLIC CAPITAL LETTER E WITH DIAERESIS .. CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+     (16#004EE#, 16#004EE#),  -- CYRILLIC CAPITAL LETTER U WITH MACRON .. CYRILLIC CAPITAL LETTER U WITH MACRON
+     (16#004F0#, 16#004F0#),  -- CYRILLIC CAPITAL LETTER U WITH DIAERESIS .. CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+     (16#004F2#, 16#004F2#),  -- CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE .. CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+     (16#004F4#, 16#004F4#),  -- CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS .. CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+     (16#004F8#, 16#004F8#),  -- CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS .. CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+     (16#00500#, 16#00500#),  -- CYRILLIC CAPITAL LETTER KOMI DE .. CYRILLIC CAPITAL LETTER KOMI DE
+     (16#00502#, 16#00502#),  -- CYRILLIC CAPITAL LETTER KOMI DJE .. CYRILLIC CAPITAL LETTER KOMI DJE
+     (16#00504#, 16#00504#),  -- CYRILLIC CAPITAL LETTER KOMI ZJE .. CYRILLIC CAPITAL LETTER KOMI ZJE
+     (16#00506#, 16#00506#),  -- CYRILLIC CAPITAL LETTER KOMI DZJE .. CYRILLIC CAPITAL LETTER KOMI DZJE
+     (16#00508#, 16#00508#),  -- CYRILLIC CAPITAL LETTER KOMI LJE .. CYRILLIC CAPITAL LETTER KOMI LJE
+     (16#0050A#, 16#0050A#),  -- CYRILLIC CAPITAL LETTER KOMI NJE .. CYRILLIC CAPITAL LETTER KOMI NJE
+     (16#0050C#, 16#0050C#),  -- CYRILLIC CAPITAL LETTER KOMI SJE .. CYRILLIC CAPITAL LETTER KOMI SJE
+     (16#0050E#, 16#0050E#),  -- CYRILLIC CAPITAL LETTER KOMI TJE .. CYRILLIC CAPITAL LETTER KOMI TJE
+     (16#00531#, 16#00556#),  -- ARMENIAN CAPITAL LETTER AYB .. ARMENIAN CAPITAL LETTER FEH
+     (16#010A0#, 16#010C5#),  -- GEORGIAN CAPITAL LETTER AN .. GEORGIAN CAPITAL LETTER HOE
+     (16#01E00#, 16#01E00#),  -- LATIN CAPITAL LETTER A WITH RING BELOW .. LATIN CAPITAL LETTER A WITH RING BELOW
+     (16#01E02#, 16#01E02#),  -- LATIN CAPITAL LETTER B WITH DOT ABOVE .. LATIN CAPITAL LETTER B WITH DOT ABOVE
+     (16#01E04#, 16#01E04#),  -- LATIN CAPITAL LETTER B WITH DOT BELOW .. LATIN CAPITAL LETTER B WITH DOT BELOW
+     (16#01E06#, 16#01E06#),  -- LATIN CAPITAL LETTER B WITH LINE BELOW .. LATIN CAPITAL LETTER B WITH LINE BELOW
+     (16#01E08#, 16#01E08#),  -- LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE .. LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
+     (16#01E0A#, 16#01E0A#),  -- LATIN CAPITAL LETTER D WITH DOT ABOVE .. LATIN CAPITAL LETTER D WITH DOT ABOVE
+     (16#01E0C#, 16#01E0C#),  -- LATIN CAPITAL LETTER D WITH DOT BELOW .. LATIN CAPITAL LETTER D WITH DOT BELOW
+     (16#01E0E#, 16#01E0E#),  -- LATIN CAPITAL LETTER D WITH LINE BELOW .. LATIN CAPITAL LETTER D WITH LINE BELOW
+     (16#01E10#, 16#01E10#),  -- LATIN CAPITAL LETTER D WITH CEDILLA .. LATIN CAPITAL LETTER D WITH CEDILLA
+     (16#01E12#, 16#01E12#),  -- LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW .. LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
+     (16#01E14#, 16#01E14#),  -- LATIN CAPITAL LETTER E WITH MACRON AND GRAVE .. LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
+     (16#01E16#, 16#01E16#),  -- LATIN CAPITAL LETTER E WITH MACRON AND ACUTE .. LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
+     (16#01E18#, 16#01E18#),  -- LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
+     (16#01E1A#, 16#01E1A#),  -- LATIN CAPITAL LETTER E WITH TILDE BELOW .. LATIN CAPITAL LETTER E WITH TILDE BELOW
+     (16#01E1C#, 16#01E1C#),  -- LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE .. LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
+     (16#01E1E#, 16#01E1E#),  -- LATIN CAPITAL LETTER F WITH DOT ABOVE .. LATIN CAPITAL LETTER F WITH DOT ABOVE
+     (16#01E20#, 16#01E20#),  -- LATIN CAPITAL LETTER G WITH MACRON .. LATIN CAPITAL LETTER G WITH MACRON
+     (16#01E22#, 16#01E22#),  -- LATIN CAPITAL LETTER H WITH DOT ABOVE .. LATIN CAPITAL LETTER H WITH DOT ABOVE
+     (16#01E24#, 16#01E24#),  -- LATIN CAPITAL LETTER H WITH DOT BELOW .. LATIN CAPITAL LETTER H WITH DOT BELOW
+     (16#01E26#, 16#01E26#),  -- LATIN CAPITAL LETTER H WITH DIAERESIS .. LATIN CAPITAL LETTER H WITH DIAERESIS
+     (16#01E28#, 16#01E28#),  -- LATIN CAPITAL LETTER H WITH CEDILLA .. LATIN CAPITAL LETTER H WITH CEDILLA
+     (16#01E2A#, 16#01E2A#),  -- LATIN CAPITAL LETTER H WITH BREVE BELOW .. LATIN CAPITAL LETTER H WITH BREVE BELOW
+     (16#01E2C#, 16#01E2C#),  -- LATIN CAPITAL LETTER I WITH TILDE BELOW .. LATIN CAPITAL LETTER I WITH TILDE BELOW
+     (16#01E2E#, 16#01E2E#),  -- LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE .. LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
+     (16#01E30#, 16#01E30#),  -- LATIN CAPITAL LETTER K WITH ACUTE .. LATIN CAPITAL LETTER K WITH ACUTE
+     (16#01E32#, 16#01E32#),  -- LATIN CAPITAL LETTER K WITH DOT BELOW .. LATIN CAPITAL LETTER K WITH DOT BELOW
+     (16#01E34#, 16#01E34#),  -- LATIN CAPITAL LETTER K WITH LINE BELOW .. LATIN CAPITAL LETTER K WITH LINE BELOW
+     (16#01E36#, 16#01E36#),  -- LATIN CAPITAL LETTER L WITH DOT BELOW .. LATIN CAPITAL LETTER L WITH DOT BELOW
+     (16#01E38#, 16#01E38#),  -- LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON .. LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
+     (16#01E3A#, 16#01E3A#),  -- LATIN CAPITAL LETTER L WITH LINE BELOW .. LATIN CAPITAL LETTER L WITH LINE BELOW
+     (16#01E3C#, 16#01E3C#),  -- LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW .. LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
+     (16#01E3E#, 16#01E3E#),  -- LATIN CAPITAL LETTER M WITH ACUTE .. LATIN CAPITAL LETTER M WITH ACUTE
+     (16#01E40#, 16#01E40#),  -- LATIN CAPITAL LETTER M WITH DOT ABOVE .. LATIN CAPITAL LETTER M WITH DOT ABOVE
+     (16#01E42#, 16#01E42#),  -- LATIN CAPITAL LETTER M WITH DOT BELOW .. LATIN CAPITAL LETTER M WITH DOT BELOW
+     (16#01E44#, 16#01E44#),  -- LATIN CAPITAL LETTER N WITH DOT ABOVE .. LATIN CAPITAL LETTER N WITH DOT ABOVE
+     (16#01E46#, 16#01E46#),  -- LATIN CAPITAL LETTER N WITH DOT BELOW .. LATIN CAPITAL LETTER N WITH DOT BELOW
+     (16#01E48#, 16#01E48#),  -- LATIN CAPITAL LETTER N WITH LINE BELOW .. LATIN CAPITAL LETTER N WITH LINE BELOW
+     (16#01E4A#, 16#01E4A#),  -- LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW .. LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
+     (16#01E4C#, 16#01E4C#),  -- LATIN CAPITAL LETTER O WITH TILDE AND ACUTE .. LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+     (16#01E4E#, 16#01E4E#),  -- LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS .. LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+     (16#01E50#, 16#01E50#),  -- LATIN CAPITAL LETTER O WITH MACRON AND GRAVE .. LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
+     (16#01E52#, 16#01E52#),  -- LATIN CAPITAL LETTER O WITH MACRON AND ACUTE .. LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
+     (16#01E54#, 16#01E54#),  -- LATIN CAPITAL LETTER P WITH ACUTE .. LATIN CAPITAL LETTER P WITH ACUTE
+     (16#01E56#, 16#01E56#),  -- LATIN CAPITAL LETTER P WITH DOT ABOVE .. LATIN CAPITAL LETTER P WITH DOT ABOVE
+     (16#01E58#, 16#01E58#),  -- LATIN CAPITAL LETTER R WITH DOT ABOVE .. LATIN CAPITAL LETTER R WITH DOT ABOVE
+     (16#01E5A#, 16#01E5A#),  -- LATIN CAPITAL LETTER R WITH DOT BELOW .. LATIN CAPITAL LETTER R WITH DOT BELOW
+     (16#01E5C#, 16#01E5C#),  -- LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON .. LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
+     (16#01E5E#, 16#01E5E#),  -- LATIN CAPITAL LETTER R WITH LINE BELOW .. LATIN CAPITAL LETTER R WITH LINE BELOW
+     (16#01E60#, 16#01E60#),  -- LATIN CAPITAL LETTER S WITH DOT ABOVE .. LATIN CAPITAL LETTER S WITH DOT ABOVE
+     (16#01E62#, 16#01E62#),  -- LATIN CAPITAL LETTER S WITH DOT BELOW .. LATIN CAPITAL LETTER S WITH DOT BELOW
+     (16#01E64#, 16#01E64#),  -- LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE .. LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
+     (16#01E66#, 16#01E66#),  -- LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE .. LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
+     (16#01E68#, 16#01E68#),  -- LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE .. LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
+     (16#01E6A#, 16#01E6A#),  -- LATIN CAPITAL LETTER T WITH DOT ABOVE .. LATIN CAPITAL LETTER T WITH DOT ABOVE
+     (16#01E6C#, 16#01E6C#),  -- LATIN CAPITAL LETTER T WITH DOT BELOW .. LATIN CAPITAL LETTER T WITH DOT BELOW
+     (16#01E6E#, 16#01E6E#),  -- LATIN CAPITAL LETTER T WITH LINE BELOW .. LATIN CAPITAL LETTER T WITH LINE BELOW
+     (16#01E70#, 16#01E70#),  -- LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW .. LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
+     (16#01E72#, 16#01E72#),  -- LATIN CAPITAL LETTER U WITH DIAERESIS BELOW .. LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
+     (16#01E74#, 16#01E74#),  -- LATIN CAPITAL LETTER U WITH TILDE BELOW .. LATIN CAPITAL LETTER U WITH TILDE BELOW
+     (16#01E76#, 16#01E76#),  -- LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW .. LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
+     (16#01E78#, 16#01E78#),  -- LATIN CAPITAL LETTER U WITH TILDE AND ACUTE .. LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
+     (16#01E7A#, 16#01E7A#),  -- LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS .. LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
+     (16#01E7C#, 16#01E7C#),  -- LATIN CAPITAL LETTER V WITH TILDE .. LATIN CAPITAL LETTER V WITH TILDE
+     (16#01E7E#, 16#01E7E#),  -- LATIN CAPITAL LETTER V WITH DOT BELOW .. LATIN CAPITAL LETTER V WITH DOT BELOW
+     (16#01E80#, 16#01E80#),  -- LATIN CAPITAL LETTER W WITH GRAVE .. LATIN CAPITAL LETTER W WITH GRAVE
+     (16#01E82#, 16#01E82#),  -- LATIN CAPITAL LETTER W WITH ACUTE .. LATIN CAPITAL LETTER W WITH ACUTE
+     (16#01E84#, 16#01E84#),  -- LATIN CAPITAL LETTER W WITH DIAERESIS .. LATIN CAPITAL LETTER W WITH DIAERESIS
+     (16#01E86#, 16#01E86#),  -- LATIN CAPITAL LETTER W WITH DOT ABOVE .. LATIN CAPITAL LETTER W WITH DOT ABOVE
+     (16#01E88#, 16#01E88#),  -- LATIN CAPITAL LETTER W WITH DOT BELOW .. LATIN CAPITAL LETTER W WITH DOT BELOW
+     (16#01E8A#, 16#01E8A#),  -- LATIN CAPITAL LETTER X WITH DOT ABOVE .. LATIN CAPITAL LETTER X WITH DOT ABOVE
+     (16#01E8C#, 16#01E8C#),  -- LATIN CAPITAL LETTER X WITH DIAERESIS .. LATIN CAPITAL LETTER X WITH DIAERESIS
+     (16#01E8E#, 16#01E8E#),  -- LATIN CAPITAL LETTER Y WITH DOT ABOVE .. LATIN CAPITAL LETTER Y WITH DOT ABOVE
+     (16#01E90#, 16#01E90#),  -- LATIN CAPITAL LETTER Z WITH CIRCUMFLEX .. LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+     (16#01E92#, 16#01E92#),  -- LATIN CAPITAL LETTER Z WITH DOT BELOW .. LATIN CAPITAL LETTER Z WITH DOT BELOW
+     (16#01E94#, 16#01E94#),  -- LATIN CAPITAL LETTER Z WITH LINE BELOW .. LATIN CAPITAL LETTER Z WITH LINE BELOW
+     (16#01EA0#, 16#01EA0#),  -- LATIN CAPITAL LETTER A WITH DOT BELOW .. LATIN CAPITAL LETTER A WITH DOT BELOW
+     (16#01EA2#, 16#01EA2#),  -- LATIN CAPITAL LETTER A WITH HOOK ABOVE .. LATIN CAPITAL LETTER A WITH HOOK ABOVE
+     (16#01EA4#, 16#01EA4#),  -- LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE .. LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+     (16#01EA6#, 16#01EA6#),  -- LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE .. LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+     (16#01EA8#, 16#01EA8#),  -- LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE .. LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+     (16#01EAA#, 16#01EAA#),  -- LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE .. LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+     (16#01EAC#, 16#01EAC#),  -- LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW .. LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+     (16#01EAE#, 16#01EAE#),  -- LATIN CAPITAL LETTER A WITH BREVE AND ACUTE .. LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+     (16#01EB0#, 16#01EB0#),  -- LATIN CAPITAL LETTER A WITH BREVE AND GRAVE .. LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+     (16#01EB2#, 16#01EB2#),  -- LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE .. LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+     (16#01EB4#, 16#01EB4#),  -- LATIN CAPITAL LETTER A WITH BREVE AND TILDE .. LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+     (16#01EB6#, 16#01EB6#),  -- LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW .. LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+     (16#01EB8#, 16#01EB8#),  -- LATIN CAPITAL LETTER E WITH DOT BELOW .. LATIN CAPITAL LETTER E WITH DOT BELOW
+     (16#01EBA#, 16#01EBA#),  -- LATIN CAPITAL LETTER E WITH HOOK ABOVE .. LATIN CAPITAL LETTER E WITH HOOK ABOVE
+     (16#01EBC#, 16#01EBC#),  -- LATIN CAPITAL LETTER E WITH TILDE .. LATIN CAPITAL LETTER E WITH TILDE
+     (16#01EBE#, 16#01EBE#),  -- LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+     (16#01EC0#, 16#01EC0#),  -- LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+     (16#01EC2#, 16#01EC2#),  -- LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+     (16#01EC4#, 16#01EC4#),  -- LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+     (16#01EC6#, 16#01EC6#),  -- LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+     (16#01EC8#, 16#01EC8#),  -- LATIN CAPITAL LETTER I WITH HOOK ABOVE .. LATIN CAPITAL LETTER I WITH HOOK ABOVE
+     (16#01ECA#, 16#01ECA#),  -- LATIN CAPITAL LETTER I WITH DOT BELOW .. LATIN CAPITAL LETTER I WITH DOT BELOW
+     (16#01ECC#, 16#01ECC#),  -- LATIN CAPITAL LETTER O WITH DOT BELOW .. LATIN CAPITAL LETTER O WITH DOT BELOW
+     (16#01ECE#, 16#01ECE#),  -- LATIN CAPITAL LETTER O WITH HOOK ABOVE .. LATIN CAPITAL LETTER O WITH HOOK ABOVE
+     (16#01ED0#, 16#01ED0#),  -- LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE .. LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+     (16#01ED2#, 16#01ED2#),  -- LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE .. LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+     (16#01ED4#, 16#01ED4#),  -- LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE .. LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+     (16#01ED6#, 16#01ED6#),  -- LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE .. LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+     (16#01ED8#, 16#01ED8#),  -- LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW .. LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+     (16#01EDA#, 16#01EDA#),  -- LATIN CAPITAL LETTER O WITH HORN AND ACUTE .. LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+     (16#01EDC#, 16#01EDC#),  -- LATIN CAPITAL LETTER O WITH HORN AND GRAVE .. LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+     (16#01EDE#, 16#01EDE#),  -- LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE .. LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+     (16#01EE0#, 16#01EE0#),  -- LATIN CAPITAL LETTER O WITH HORN AND TILDE .. LATIN CAPITAL LETTER O WITH HORN AND TILDE
+     (16#01EE2#, 16#01EE2#),  -- LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW .. LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+     (16#01EE4#, 16#01EE4#),  -- LATIN CAPITAL LETTER U WITH DOT BELOW .. LATIN CAPITAL LETTER U WITH DOT BELOW
+     (16#01EE6#, 16#01EE6#),  -- LATIN CAPITAL LETTER U WITH HOOK ABOVE .. LATIN CAPITAL LETTER U WITH HOOK ABOVE
+     (16#01EE8#, 16#01EE8#),  -- LATIN CAPITAL LETTER U WITH HORN AND ACUTE .. LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+     (16#01EEA#, 16#01EEA#),  -- LATIN CAPITAL LETTER U WITH HORN AND GRAVE .. LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+     (16#01EEC#, 16#01EEC#),  -- LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE .. LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+     (16#01EEE#, 16#01EEE#),  -- LATIN CAPITAL LETTER U WITH HORN AND TILDE .. LATIN CAPITAL LETTER U WITH HORN AND TILDE
+     (16#01EF0#, 16#01EF0#),  -- LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW .. LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+     (16#01EF2#, 16#01EF2#),  -- LATIN CAPITAL LETTER Y WITH GRAVE .. LATIN CAPITAL LETTER Y WITH GRAVE
+     (16#01EF4#, 16#01EF4#),  -- LATIN CAPITAL LETTER Y WITH DOT BELOW .. LATIN CAPITAL LETTER Y WITH DOT BELOW
+     (16#01EF6#, 16#01EF6#),  -- LATIN CAPITAL LETTER Y WITH HOOK ABOVE .. LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+     (16#01EF8#, 16#01EF8#),  -- LATIN CAPITAL LETTER Y WITH TILDE .. LATIN CAPITAL LETTER Y WITH TILDE
+     (16#01F08#, 16#01F0F#),  -- GREEK CAPITAL LETTER ALPHA WITH PSILI .. GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
+     (16#01F18#, 16#01F1D#),  -- GREEK CAPITAL LETTER EPSILON WITH PSILI .. GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+     (16#01F28#, 16#01F2F#),  -- GREEK CAPITAL LETTER ETA WITH PSILI .. GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
+     (16#01F38#, 16#01F3F#),  -- GREEK CAPITAL LETTER IOTA WITH PSILI .. GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
+     (16#01F48#, 16#01F4D#),  -- GREEK CAPITAL LETTER OMICRON WITH PSILI .. GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+     (16#01F59#, 16#01F59#),  -- GREEK CAPITAL LETTER UPSILON WITH DASIA .. GREEK CAPITAL LETTER UPSILON WITH DASIA
+     (16#01F5B#, 16#01F5B#),  -- GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA .. GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+     (16#01F5D#, 16#01F5D#),  -- GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA .. GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+     (16#01F5F#, 16#01F5F#),  -- GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI .. GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
+     (16#01F68#, 16#01F6F#),  -- GREEK CAPITAL LETTER OMEGA WITH PSILI .. GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
+     (16#01FB8#, 16#01FB9#),  -- GREEK CAPITAL LETTER ALPHA WITH VRACHY .. GREEK CAPITAL LETTER ALPHA WITH MACRON
+     (16#01FBA#, 16#01FBB#),  -- GREEK CAPITAL LETTER ALPHA WITH VARIA .. GREEK CAPITAL LETTER ALPHA WITH OXIA
+     (16#01FC8#, 16#01FCB#),  -- GREEK CAPITAL LETTER EPSILON WITH VARIA .. GREEK CAPITAL LETTER ETA WITH OXIA
+     (16#01FD8#, 16#01FD9#),  -- GREEK CAPITAL LETTER IOTA WITH VRACHY .. GREEK CAPITAL LETTER IOTA WITH MACRON
+     (16#01FDA#, 16#01FDB#),  -- GREEK CAPITAL LETTER IOTA WITH VARIA .. GREEK CAPITAL LETTER IOTA WITH OXIA
+     (16#01FE8#, 16#01FE9#),  -- GREEK CAPITAL LETTER UPSILON WITH VRACHY .. GREEK CAPITAL LETTER UPSILON WITH MACRON
+     (16#01FEA#, 16#01FEB#),  -- GREEK CAPITAL LETTER UPSILON WITH VARIA .. GREEK CAPITAL LETTER UPSILON WITH OXIA
+     (16#01FEC#, 16#01FEC#),  -- GREEK CAPITAL LETTER RHO WITH DASIA .. GREEK CAPITAL LETTER RHO WITH DASIA
+     (16#01FF8#, 16#01FF9#),  -- GREEK CAPITAL LETTER OMICRON WITH VARIA .. GREEK CAPITAL LETTER OMICRON WITH OXIA
+     (16#01FFA#, 16#01FFB#),  -- GREEK CAPITAL LETTER OMEGA WITH VARIA .. GREEK CAPITAL LETTER OMEGA WITH OXIA
+     (16#024B6#, 16#024CF#),  -- CIRCLED LATIN CAPITAL LETTER A .. CIRCLED LATIN CAPITAL LETTER Z
+     (16#0FF21#, 16#0FF3A#),  -- FULLWIDTH LATIN CAPITAL LETTER A .. FULLWIDTH LATIN CAPITAL LETTER Z
+     (16#10400#, 16#10427#),  -- DESERET CAPITAL LETTER LONG I .. DESERET CAPITAL LETTER EW
+     (16#E0041#, 16#E005A#)); -- TAG LATIN CAPITAL LETTER A .. TAG LATIN CAPITAL LETTER Z
+
+   Upper_Case_Adjust : constant array (Lower_Case_Letters'Range)
+     of UTF_32'Base := (
+        32,  -- LATIN CAPITAL LETTER A .. LATIN CAPITAL LETTER Z
+        32,  -- LATIN CAPITAL LETTER A WITH GRAVE .. LATIN CAPITAL LETTER O WITH DIAERESIS
+        32,  -- LATIN CAPITAL LETTER O WITH STROKE .. LATIN CAPITAL LETTER THORN
+         1,  -- LATIN CAPITAL LETTER A WITH MACRON .. LATIN CAPITAL LETTER A WITH MACRON
+         1,  -- LATIN CAPITAL LETTER A WITH BREVE .. LATIN CAPITAL LETTER A WITH BREVE
+         1,  -- LATIN CAPITAL LETTER A WITH OGONEK .. LATIN CAPITAL LETTER A WITH OGONEK
+         1,  -- LATIN CAPITAL LETTER C WITH ACUTE .. LATIN CAPITAL LETTER C WITH ACUTE
+         1,  -- LATIN CAPITAL LETTER C WITH CIRCUMFLEX .. LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+         1,  -- LATIN CAPITAL LETTER C WITH DOT ABOVE .. LATIN CAPITAL LETTER C WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER C WITH CARON .. LATIN CAPITAL LETTER C WITH CARON
+         1,  -- LATIN CAPITAL LETTER D WITH CARON .. LATIN CAPITAL LETTER D WITH CARON
+         1,  -- LATIN CAPITAL LETTER D WITH STROKE .. LATIN CAPITAL LETTER D WITH STROKE
+         1,  -- LATIN CAPITAL LETTER E WITH MACRON .. LATIN CAPITAL LETTER E WITH MACRON
+         1,  -- LATIN CAPITAL LETTER E WITH BREVE .. LATIN CAPITAL LETTER E WITH BREVE
+         1,  -- LATIN CAPITAL LETTER E WITH DOT ABOVE .. LATIN CAPITAL LETTER E WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER E WITH OGONEK .. LATIN CAPITAL LETTER E WITH OGONEK
+         1,  -- LATIN CAPITAL LETTER E WITH CARON .. LATIN CAPITAL LETTER E WITH CARON
+         1,  -- LATIN CAPITAL LETTER G WITH CIRCUMFLEX .. LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+         1,  -- LATIN CAPITAL LETTER G WITH BREVE .. LATIN CAPITAL LETTER G WITH BREVE
+         1,  -- LATIN CAPITAL LETTER G WITH DOT ABOVE .. LATIN CAPITAL LETTER G WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER G WITH CEDILLA .. LATIN CAPITAL LETTER G WITH CEDILLA
+         1,  -- LATIN CAPITAL LETTER H WITH CIRCUMFLEX .. LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+         1,  -- LATIN CAPITAL LETTER H WITH STROKE .. LATIN CAPITAL LETTER H WITH STROKE
+         1,  -- LATIN CAPITAL LETTER I WITH TILDE .. LATIN CAPITAL LETTER I WITH TILDE
+         1,  -- LATIN CAPITAL LETTER I WITH MACRON .. LATIN CAPITAL LETTER I WITH MACRON
+         1,  -- LATIN CAPITAL LETTER I WITH BREVE .. LATIN CAPITAL LETTER I WITH BREVE
+         1,  -- LATIN CAPITAL LETTER I WITH OGONEK .. LATIN CAPITAL LETTER I WITH OGONEK
+         1,  -- LATIN CAPITAL LETTER I J .. LATIN CAPITAL LETTER I J
+         1,  -- LATIN CAPITAL LETTER J WITH CIRCUMFLEX .. LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+         1,  -- LATIN CAPITAL LETTER K WITH CEDILLA .. LATIN CAPITAL LETTER K WITH CEDILLA
+         1,  -- LATIN CAPITAL LETTER L WITH ACUTE .. LATIN CAPITAL LETTER L WITH ACUTE
+         1,  -- LATIN CAPITAL LETTER L WITH CEDILLA .. LATIN CAPITAL LETTER L WITH CEDILLA
+         1,  -- LATIN CAPITAL LETTER L WITH CARON .. LATIN CAPITAL LETTER L WITH CARON
+         1,  -- LATIN CAPITAL LETTER L WITH MIDDLE DOT .. LATIN CAPITAL LETTER L WITH MIDDLE DOT
+         1,  -- LATIN CAPITAL LETTER L WITH STROKE .. LATIN CAPITAL LETTER L WITH STROKE
+         1,  -- LATIN CAPITAL LETTER N WITH ACUTE .. LATIN CAPITAL LETTER N WITH ACUTE
+         1,  -- LATIN CAPITAL LETTER N WITH CEDILLA .. LATIN CAPITAL LETTER N WITH CEDILLA
+         1,  -- LATIN CAPITAL LETTER N WITH CARON .. LATIN CAPITAL LETTER N WITH CARON
+         1,  -- LATIN CAPITAL LETTER ENG .. LATIN CAPITAL LETTER ENG
+         1,  -- LATIN CAPITAL LETTER O WITH MACRON .. LATIN CAPITAL LETTER O WITH MACRON
+         1,  -- LATIN CAPITAL LETTER O WITH BREVE .. LATIN CAPITAL LETTER O WITH BREVE
+         1,  -- LATIN CAPITAL LETTER O WITH DOUBLE ACUTE .. LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+         1,  -- LATIN CAPITAL LETTER O E .. LATIN CAPITAL LETTER O E
+         1,  -- LATIN CAPITAL LETTER R WITH ACUTE .. LATIN CAPITAL LETTER R WITH ACUTE
+         1,  -- LATIN CAPITAL LETTER R WITH CEDILLA .. LATIN CAPITAL LETTER R WITH CEDILLA
+         1,  -- LATIN CAPITAL LETTER R WITH CARON .. LATIN CAPITAL LETTER R WITH CARON
+         1,  -- LATIN CAPITAL LETTER S WITH ACUTE .. LATIN CAPITAL LETTER S WITH ACUTE
+         1,  -- LATIN CAPITAL LETTER S WITH CIRCUMFLEX .. LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+         1,  -- LATIN CAPITAL LETTER S WITH CEDILLA .. LATIN CAPITAL LETTER S WITH CEDILLA
+         1,  -- LATIN CAPITAL LETTER S WITH CARON .. LATIN CAPITAL LETTER S WITH CARON
+         1,  -- LATIN CAPITAL LETTER T WITH CEDILLA .. LATIN CAPITAL LETTER T WITH CEDILLA
+         1,  -- LATIN CAPITAL LETTER T WITH CARON .. LATIN CAPITAL LETTER T WITH CARON
+         1,  -- LATIN CAPITAL LETTER T WITH STROKE .. LATIN CAPITAL LETTER T WITH STROKE
+         1,  -- LATIN CAPITAL LETTER U WITH TILDE .. LATIN CAPITAL LETTER U WITH TILDE
+         1,  -- LATIN CAPITAL LETTER U WITH MACRON .. LATIN CAPITAL LETTER U WITH MACRON
+         1,  -- LATIN CAPITAL LETTER U WITH BREVE .. LATIN CAPITAL LETTER U WITH BREVE
+         1,  -- LATIN CAPITAL LETTER U WITH RING ABOVE .. LATIN CAPITAL LETTER U WITH RING ABOVE
+         1,  -- LATIN CAPITAL LETTER U WITH DOUBLE ACUTE .. LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+         1,  -- LATIN CAPITAL LETTER U WITH OGONEK .. LATIN CAPITAL LETTER U WITH OGONEK
+         1,  -- LATIN CAPITAL LETTER W WITH CIRCUMFLEX .. LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+         1,  -- LATIN CAPITAL LETTER Y WITH CIRCUMFLEX .. LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+      -121,  -- LATIN CAPITAL LETTER Y WITH DIAERESIS .. LATIN CAPITAL LETTER Y WITH DIAERESIS
+         1,  -- LATIN CAPITAL LETTER Z WITH ACUTE .. LATIN CAPITAL LETTER Z WITH ACUTE
+         1,  -- LATIN CAPITAL LETTER Z WITH DOT ABOVE .. LATIN CAPITAL LETTER Z WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER Z WITH CARON .. LATIN CAPITAL LETTER Z WITH CARON
+       210,  -- LATIN CAPITAL LETTER B WITH HOOK .. LATIN CAPITAL LETTER B WITH HOOK
+         1,  -- LATIN CAPITAL LETTER B WITH TOPBAR .. LATIN CAPITAL LETTER B WITH TOPBAR
+         1,  -- LATIN CAPITAL LETTER TONE SIX .. LATIN CAPITAL LETTER TONE SIX
+       206,  -- LATIN CAPITAL LETTER OPEN O .. LATIN CAPITAL LETTER OPEN O
+         1,  -- LATIN CAPITAL LETTER C WITH HOOK .. LATIN CAPITAL LETTER C WITH HOOK
+       205,  -- LATIN CAPITAL LETTER D WITH HOOK .. LATIN CAPITAL LETTER D WITH HOOK
+         1,  -- LATIN CAPITAL LETTER D WITH TOPBAR .. LATIN CAPITAL LETTER D WITH TOPBAR
+       202,  -- LATIN CAPITAL LETTER REVERSED E .. LATIN CAPITAL LETTER SCHWA
+       203,  -- LATIN CAPITAL LETTER OPEN E .. LATIN CAPITAL LETTER OPEN E
+         1,  -- LATIN CAPITAL LETTER F WITH HOOK .. LATIN CAPITAL LETTER F WITH HOOK
+       205,  -- LATIN CAPITAL LETTER G WITH HOOK .. LATIN CAPITAL LETTER G WITH HOOK
+       207,  -- LATIN CAPITAL LETTER GAMMA .. LATIN CAPITAL LETTER GAMMA
+       211,  -- LATIN CAPITAL LETTER IOTA .. LATIN CAPITAL LETTER IOTA
+       209,  -- LATIN CAPITAL LETTER I WITH STROKE .. LATIN CAPITAL LETTER I WITH STROKE
+         1,  -- LATIN CAPITAL LETTER K WITH HOOK .. LATIN CAPITAL LETTER K WITH HOOK
+       211,  -- LATIN CAPITAL LETTER TURNED M .. LATIN CAPITAL LETTER TURNED M
+       213,  -- LATIN CAPITAL LETTER N WITH LEFT HOOK .. LATIN CAPITAL LETTER N WITH LEFT HOOK
+         1,  -- LATIN CAPITAL LETTER O WITH HORN .. LATIN CAPITAL LETTER O WITH HORN
+         1,  -- LATIN CAPITAL LETTER OI .. LATIN CAPITAL LETTER OI
+         1,  -- LATIN CAPITAL LETTER P WITH HOOK .. LATIN CAPITAL LETTER P WITH HOOK
+         1,  -- LATIN CAPITAL LETTER TONE TWO .. LATIN CAPITAL LETTER TONE TWO
+       218,  -- LATIN CAPITAL LETTER ESH .. LATIN CAPITAL LETTER ESH
+         1,  -- LATIN CAPITAL LETTER T WITH HOOK .. LATIN CAPITAL LETTER T WITH HOOK
+       218,  -- LATIN CAPITAL LETTER T WITH RETROFLEX HOOK .. LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
+         1,  -- LATIN CAPITAL LETTER U WITH HORN .. LATIN CAPITAL LETTER U WITH HORN
+       217,  -- LATIN CAPITAL LETTER UPSILON .. LATIN CAPITAL LETTER V WITH HOOK
+         1,  -- LATIN CAPITAL LETTER Y WITH HOOK .. LATIN CAPITAL LETTER Y WITH HOOK
+         1,  -- LATIN CAPITAL LETTER Z WITH STROKE .. LATIN CAPITAL LETTER Z WITH STROKE
+       219,  -- LATIN CAPITAL LETTER EZH .. LATIN CAPITAL LETTER EZH
+         1,  -- LATIN CAPITAL LETTER EZH REVERSED .. LATIN CAPITAL LETTER EZH REVERSED
+         1,  -- LATIN CAPITAL LETTER TONE FIVE .. LATIN CAPITAL LETTER TONE FIVE
+         2,  -- LATIN CAPITAL LETTER DZ WITH CARON .. LATIN CAPITAL LETTER DZ WITH CARON
+         2,  -- LATIN CAPITAL LETTER LJ .. LATIN CAPITAL LETTER LJ
+         2,  -- LATIN CAPITAL LETTER NJ .. LATIN CAPITAL LETTER NJ
+         1,  -- LATIN CAPITAL LETTER A WITH CARON .. LATIN CAPITAL LETTER A WITH CARON
+         1,  -- LATIN CAPITAL LETTER I WITH CARON .. LATIN CAPITAL LETTER I WITH CARON
+         1,  -- LATIN CAPITAL LETTER O WITH CARON .. LATIN CAPITAL LETTER O WITH CARON
+         1,  -- LATIN CAPITAL LETTER U WITH CARON .. LATIN CAPITAL LETTER U WITH CARON
+         1,  -- LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON .. LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+         1,  -- LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE .. LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+         1,  -- LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON .. LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+         1,  -- LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE .. LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+         1,  -- LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON .. LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+         1,  -- LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON .. LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
+         1,  -- LATIN CAPITAL LETTER AE WITH MACRON .. LATIN CAPITAL LETTER AE WITH MACRON
+         1,  -- LATIN CAPITAL LETTER G WITH STROKE .. LATIN CAPITAL LETTER G WITH STROKE
+         1,  -- LATIN CAPITAL LETTER G WITH CARON .. LATIN CAPITAL LETTER G WITH CARON
+         1,  -- LATIN CAPITAL LETTER K WITH CARON .. LATIN CAPITAL LETTER K WITH CARON
+         1,  -- LATIN CAPITAL LETTER O WITH OGONEK .. LATIN CAPITAL LETTER O WITH OGONEK
+         1,  -- LATIN CAPITAL LETTER O WITH OGONEK AND MACRON .. LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
+         1,  -- LATIN CAPITAL LETTER EZH WITH CARON .. LATIN CAPITAL LETTER EZH WITH CARON
+         2,  -- LATIN CAPITAL LETTER DZ .. LATIN CAPITAL LETTER DZ
+         1,  -- LATIN CAPITAL LETTER G WITH ACUTE .. LATIN CAPITAL LETTER G WITH ACUTE
+         1,  -- LATIN CAPITAL LETTER N WITH GRAVE .. LATIN CAPITAL LETTER N WITH GRAVE
+         1,  -- LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE .. LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+         1,  -- LATIN CAPITAL LETTER AE WITH ACUTE .. LATIN CAPITAL LETTER AE WITH ACUTE
+         1,  -- LATIN CAPITAL LETTER O WITH STROKE AND ACUTE .. LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+         1,  -- LATIN CAPITAL LETTER A WITH DOUBLE GRAVE .. LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+         1,  -- LATIN CAPITAL LETTER A WITH INVERTED BREVE .. LATIN CAPITAL LETTER A WITH INVERTED BREVE
+         1,  -- LATIN CAPITAL LETTER E WITH DOUBLE GRAVE .. LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+         1,  -- LATIN CAPITAL LETTER E WITH INVERTED BREVE .. LATIN CAPITAL LETTER E WITH INVERTED BREVE
+         1,  -- LATIN CAPITAL LETTER I WITH DOUBLE GRAVE .. LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+         1,  -- LATIN CAPITAL LETTER I WITH INVERTED BREVE .. LATIN CAPITAL LETTER I WITH INVERTED BREVE
+         1,  -- LATIN CAPITAL LETTER O WITH DOUBLE GRAVE .. LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+         1,  -- LATIN CAPITAL LETTER O WITH INVERTED BREVE .. LATIN CAPITAL LETTER O WITH INVERTED BREVE
+         1,  -- LATIN CAPITAL LETTER R WITH DOUBLE GRAVE .. LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+         1,  -- LATIN CAPITAL LETTER R WITH INVERTED BREVE .. LATIN CAPITAL LETTER R WITH INVERTED BREVE
+         1,  -- LATIN CAPITAL LETTER U WITH DOUBLE GRAVE .. LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+         1,  -- LATIN CAPITAL LETTER U WITH INVERTED BREVE .. LATIN CAPITAL LETTER U WITH INVERTED BREVE
+         1,  -- LATIN CAPITAL LETTER S WITH COMMA BELOW .. LATIN CAPITAL LETTER S WITH COMMA BELOW
+         1,  -- LATIN CAPITAL LETTER T WITH COMMA BELOW .. LATIN CAPITAL LETTER T WITH COMMA BELOW
+         1,  -- LATIN CAPITAL LETTER YOGH .. LATIN CAPITAL LETTER YOGH
+         1,  -- LATIN CAPITAL LETTER H WITH CARON .. LATIN CAPITAL LETTER H WITH CARON
+      -130,  -- LATIN CAPITAL LETTER N WITH LONG RIGHT LEG .. LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
+         1,  -- LATIN CAPITAL LETTER OU .. LATIN CAPITAL LETTER OU
+         1,  -- LATIN CAPITAL LETTER Z WITH HOOK .. LATIN CAPITAL LETTER Z WITH HOOK
+         1,  -- LATIN CAPITAL LETTER A WITH DOT ABOVE .. LATIN CAPITAL LETTER A WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER E WITH CEDILLA .. LATIN CAPITAL LETTER E WITH CEDILLA
+         1,  -- LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON .. LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+         1,  -- LATIN CAPITAL LETTER O WITH TILDE AND MACRON .. LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+         1,  -- LATIN CAPITAL LETTER O WITH DOT ABOVE .. LATIN CAPITAL LETTER O WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON .. LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
+         1,  -- LATIN CAPITAL LETTER Y WITH MACRON .. LATIN CAPITAL LETTER Y WITH MACRON
+        38,  -- GREEK CAPITAL LETTER ALPHA WITH TONOS .. GREEK CAPITAL LETTER ALPHA WITH TONOS
+        37,  -- GREEK CAPITAL LETTER EPSILON WITH TONOS .. GREEK CAPITAL LETTER IOTA WITH TONOS
+        64,  -- GREEK CAPITAL LETTER OMICRON WITH TONOS .. GREEK CAPITAL LETTER OMICRON WITH TONOS
+        63,  -- GREEK CAPITAL LETTER UPSILON WITH TONOS .. GREEK CAPITAL LETTER OMEGA WITH TONOS
+        32,  -- GREEK CAPITAL LETTER ALPHA .. GREEK CAPITAL LETTER RHO
+        32,  -- GREEK CAPITAL LETTER SIGMA .. GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+         1,  -- GREEK CAPITAL LETTER STIGMA .. GREEK CAPITAL LETTER STIGMA
+         1,  -- GREEK CAPITAL LETTER DIGAMMA .. GREEK CAPITAL LETTER DIGAMMA
+         1,  -- GREEK CAPITAL LETTER KOPPA .. GREEK CAPITAL LETTER KOPPA
+         1,  -- GREEK CAPITAL LETTER SAMPI .. GREEK CAPITAL LETTER SAMPI
+         1,  -- COPTIC CAPITAL LETTER SHEI .. COPTIC CAPITAL LETTER SHEI
+         1,  -- COPTIC CAPITAL LETTER FEI .. COPTIC CAPITAL LETTER FEI
+         1,  -- COPTIC CAPITAL LETTER KHEI .. COPTIC CAPITAL LETTER KHEI
+         1,  -- COPTIC CAPITAL LETTER HORI .. COPTIC CAPITAL LETTER HORI
+         1,  -- COPTIC CAPITAL LETTER GANGIA .. COPTIC CAPITAL LETTER GANGIA
+         1,  -- COPTIC CAPITAL LETTER SHIMA .. COPTIC CAPITAL LETTER SHIMA
+         1,  -- COPTIC CAPITAL LETTER DEI .. COPTIC CAPITAL LETTER DEI
+         1,  -- GREEK CAPITAL LETTER SHO .. GREEK CAPITAL LETTER SHO
+         1,  -- GREEK CAPITAL LETTER SAN .. GREEK CAPITAL LETTER SAN
+        80,  -- CYRILLIC CAPITAL LETTER IE WITH GRAVE .. CYRILLIC CAPITAL LETTER DZHE
+        32,  -- CYRILLIC CAPITAL LETTER A .. CYRILLIC CAPITAL LETTER YA
+         1,  -- CYRILLIC CAPITAL LETTER OMEGA .. CYRILLIC CAPITAL LETTER OMEGA
+         1,  -- CYRILLIC CAPITAL LETTER YAT .. CYRILLIC CAPITAL LETTER YAT
+         1,  -- CYRILLIC CAPITAL LETTER IOTIFIED E .. CYRILLIC CAPITAL LETTER IOTIFIED E
+         1,  -- CYRILLIC CAPITAL LETTER LITTLE YUS .. CYRILLIC CAPITAL LETTER LITTLE YUS
+         1,  -- CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS .. CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
+         1,  -- CYRILLIC CAPITAL LETTER BIG YUS .. CYRILLIC CAPITAL LETTER BIG YUS
+         1,  -- CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS .. CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
+         1,  -- CYRILLIC CAPITAL LETTER KSI .. CYRILLIC CAPITAL LETTER KSI
+         1,  -- CYRILLIC CAPITAL LETTER PSI .. CYRILLIC CAPITAL LETTER PSI
+         1,  -- CYRILLIC CAPITAL LETTER FITA .. CYRILLIC CAPITAL LETTER FITA
+         1,  -- CYRILLIC CAPITAL LETTER IZHITSA .. CYRILLIC CAPITAL LETTER IZHITSA
+         1,  -- CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT .. CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+         1,  -- CYRILLIC CAPITAL LETTER UK .. CYRILLIC CAPITAL LETTER UK
+         1,  -- CYRILLIC CAPITAL LETTER ROUND OMEGA .. CYRILLIC CAPITAL LETTER ROUND OMEGA
+         1,  -- CYRILLIC CAPITAL LETTER OMEGA WITH TITLO .. CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
+         1,  -- CYRILLIC CAPITAL LETTER OT .. CYRILLIC CAPITAL LETTER OT
+         1,  -- CYRILLIC CAPITAL LETTER KOPPA .. CYRILLIC CAPITAL LETTER KOPPA
+         1,  -- CYRILLIC CAPITAL LETTER SHORT I WITH TAIL .. CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
+         1,  -- CYRILLIC CAPITAL LETTER SEMISOFT SIGN .. CYRILLIC CAPITAL LETTER SEMISOFT SIGN
+         1,  -- CYRILLIC CAPITAL LETTER ER WITH TICK .. CYRILLIC CAPITAL LETTER ER WITH TICK
+         1,  -- CYRILLIC CAPITAL LETTER GHE WITH UPTURN .. CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+         1,  -- CYRILLIC CAPITAL LETTER GHE WITH STROKE .. CYRILLIC CAPITAL LETTER GHE WITH STROKE
+         1,  -- CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK .. CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+         1,  -- CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER .. CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+         1,  -- CYRILLIC CAPITAL LETTER ZE WITH DESCENDER .. CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+         1,  -- CYRILLIC CAPITAL LETTER KA WITH DESCENDER .. CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+         1,  -- CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE .. CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+         1,  -- CYRILLIC CAPITAL LETTER KA WITH STROKE .. CYRILLIC CAPITAL LETTER KA WITH STROKE
+         1,  -- CYRILLIC CAPITAL LETTER BASHKIR KA .. CYRILLIC CAPITAL LETTER BASHKIR KA
+         1,  -- CYRILLIC CAPITAL LETTER EN WITH DESCENDER .. CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+         1,  -- CYRILLIC CAPITAL LETTER EN GE .. CYRILLIC CAPITAL LETTER EN GE
+         1,  -- CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK .. CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+         1,  -- CYRILLIC CAPITAL LETTER ABKHASIAN HA .. CYRILLIC CAPITAL LETTER ABKHASIAN HA
+         1,  -- CYRILLIC CAPITAL LETTER ES WITH DESCENDER .. CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+         1,  -- CYRILLIC CAPITAL LETTER TE WITH DESCENDER .. CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+         1,  -- CYRILLIC CAPITAL LETTER STRAIGHT U .. CYRILLIC CAPITAL LETTER STRAIGHT U
+         1,  -- CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE .. CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+         1,  -- CYRILLIC CAPITAL LETTER HA WITH DESCENDER .. CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+         1,  -- CYRILLIC CAPITAL LETTER TE TSE .. CYRILLIC CAPITAL LETTER TE TSE
+         1,  -- CYRILLIC CAPITAL LETTER CHE WITH DESCENDER .. CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+         1,  -- CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE .. CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+         1,  -- CYRILLIC CAPITAL LETTER SHHA .. CYRILLIC CAPITAL LETTER SHHA
+         1,  -- CYRILLIC CAPITAL LETTER ABKHASIAN CHE .. CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+         1,  -- CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER .. CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+         1,  -- CYRILLIC CAPITAL LETTER ZHE WITH BREVE .. CYRILLIC CAPITAL LETTER ZHE WITH BREVE
+         1,  -- CYRILLIC CAPITAL LETTER KA WITH HOOK .. CYRILLIC CAPITAL LETTER KA WITH HOOK
+         1,  -- CYRILLIC CAPITAL LETTER EL WITH TAIL .. CYRILLIC CAPITAL LETTER EL WITH TAIL
+         1,  -- CYRILLIC CAPITAL LETTER EN WITH HOOK .. CYRILLIC CAPITAL LETTER EN WITH HOOK
+         1,  -- CYRILLIC CAPITAL LETTER EN WITH TAIL .. CYRILLIC CAPITAL LETTER EN WITH TAIL
+         1,  -- CYRILLIC CAPITAL LETTER KHAKASSIAN CHE .. CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+         1,  -- CYRILLIC CAPITAL LETTER EM WITH TAIL .. CYRILLIC CAPITAL LETTER EM WITH TAIL
+         1,  -- CYRILLIC CAPITAL LETTER A WITH BREVE .. CYRILLIC CAPITAL LETTER A WITH BREVE
+         1,  -- CYRILLIC CAPITAL LETTER A WITH DIAERESIS .. CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+         1,  -- CYRILLIC CAPITAL LETTER IE WITH BREVE .. CYRILLIC CAPITAL LETTER IE WITH BREVE
+         1,  -- CYRILLIC CAPITAL LETTER SCHWA .. CYRILLIC CAPITAL LETTER SCHWA
+         1,  -- CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS .. CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+         1,  -- CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS .. CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+         1,  -- CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS .. CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+         1,  -- CYRILLIC CAPITAL LETTER ABKHASIAN DZE .. CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+         1,  -- CYRILLIC CAPITAL LETTER I WITH MACRON .. CYRILLIC CAPITAL LETTER I WITH MACRON
+         1,  -- CYRILLIC CAPITAL LETTER I WITH DIAERESIS .. CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+         1,  -- CYRILLIC CAPITAL LETTER O WITH DIAERESIS .. CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+         1,  -- CYRILLIC CAPITAL LETTER BARRED O .. CYRILLIC CAPITAL LETTER BARRED O
+         1,  -- CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS .. CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+         1,  -- CYRILLIC CAPITAL LETTER E WITH DIAERESIS .. CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+         1,  -- CYRILLIC CAPITAL LETTER U WITH MACRON .. CYRILLIC CAPITAL LETTER U WITH MACRON
+         1,  -- CYRILLIC CAPITAL LETTER U WITH DIAERESIS .. CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+         1,  -- CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE .. CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+         1,  -- CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS .. CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+         1,  -- CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS .. CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+         1,  -- CYRILLIC CAPITAL LETTER KOMI DE .. CYRILLIC CAPITAL LETTER KOMI DE
+         1,  -- CYRILLIC CAPITAL LETTER KOMI DJE .. CYRILLIC CAPITAL LETTER KOMI DJE
+         1,  -- CYRILLIC CAPITAL LETTER KOMI ZJE .. CYRILLIC CAPITAL LETTER KOMI ZJE
+         1,  -- CYRILLIC CAPITAL LETTER KOMI DZJE .. CYRILLIC CAPITAL LETTER KOMI DZJE
+         1,  -- CYRILLIC CAPITAL LETTER KOMI LJE .. CYRILLIC CAPITAL LETTER KOMI LJE
+         1,  -- CYRILLIC CAPITAL LETTER KOMI NJE .. CYRILLIC CAPITAL LETTER KOMI NJE
+         1,  -- CYRILLIC CAPITAL LETTER KOMI SJE .. CYRILLIC CAPITAL LETTER KOMI SJE
+         1,  -- CYRILLIC CAPITAL LETTER KOMI TJE .. CYRILLIC CAPITAL LETTER KOMI TJE
+        48,  -- ARMENIAN CAPITAL LETTER AYB .. ARMENIAN CAPITAL LETTER FEH
+        48,  -- GEORGIAN CAPITAL LETTER AN .. GEORGIAN CAPITAL LETTER HOE
+         1,  -- LATIN CAPITAL LETTER A WITH RING BELOW .. LATIN CAPITAL LETTER A WITH RING BELOW
+         1,  -- LATIN CAPITAL LETTER B WITH DOT ABOVE .. LATIN CAPITAL LETTER B WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER B WITH DOT BELOW .. LATIN CAPITAL LETTER B WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER B WITH LINE BELOW .. LATIN CAPITAL LETTER B WITH LINE BELOW
+         1,  -- LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE .. LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
+         1,  -- LATIN CAPITAL LETTER D WITH DOT ABOVE .. LATIN CAPITAL LETTER D WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER D WITH DOT BELOW .. LATIN CAPITAL LETTER D WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER D WITH LINE BELOW .. LATIN CAPITAL LETTER D WITH LINE BELOW
+         1,  -- LATIN CAPITAL LETTER D WITH CEDILLA .. LATIN CAPITAL LETTER D WITH CEDILLA
+         1,  -- LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW .. LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
+         1,  -- LATIN CAPITAL LETTER E WITH MACRON AND GRAVE .. LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
+         1,  -- LATIN CAPITAL LETTER E WITH MACRON AND ACUTE .. LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
+         1,  -- LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
+         1,  -- LATIN CAPITAL LETTER E WITH TILDE BELOW .. LATIN CAPITAL LETTER E WITH TILDE BELOW
+         1,  -- LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE .. LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
+         1,  -- LATIN CAPITAL LETTER F WITH DOT ABOVE .. LATIN CAPITAL LETTER F WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER G WITH MACRON .. LATIN CAPITAL LETTER G WITH MACRON
+         1,  -- LATIN CAPITAL LETTER H WITH DOT ABOVE .. LATIN CAPITAL LETTER H WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER H WITH DOT BELOW .. LATIN CAPITAL LETTER H WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER H WITH DIAERESIS .. LATIN CAPITAL LETTER H WITH DIAERESIS
+         1,  -- LATIN CAPITAL LETTER H WITH CEDILLA .. LATIN CAPITAL LETTER H WITH CEDILLA
+         1,  -- LATIN CAPITAL LETTER H WITH BREVE BELOW .. LATIN CAPITAL LETTER H WITH BREVE BELOW
+         1,  -- LATIN CAPITAL LETTER I WITH TILDE BELOW .. LATIN CAPITAL LETTER I WITH TILDE BELOW
+         1,  -- LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE .. LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
+         1,  -- LATIN CAPITAL LETTER K WITH ACUTE .. LATIN CAPITAL LETTER K WITH ACUTE
+         1,  -- LATIN CAPITAL LETTER K WITH DOT BELOW .. LATIN CAPITAL LETTER K WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER K WITH LINE BELOW .. LATIN CAPITAL LETTER K WITH LINE BELOW
+         1,  -- LATIN CAPITAL LETTER L WITH DOT BELOW .. LATIN CAPITAL LETTER L WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON .. LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
+         1,  -- LATIN CAPITAL LETTER L WITH LINE BELOW .. LATIN CAPITAL LETTER L WITH LINE BELOW
+         1,  -- LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW .. LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
+         1,  -- LATIN CAPITAL LETTER M WITH ACUTE .. LATIN CAPITAL LETTER M WITH ACUTE
+         1,  -- LATIN CAPITAL LETTER M WITH DOT ABOVE .. LATIN CAPITAL LETTER M WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER M WITH DOT BELOW .. LATIN CAPITAL LETTER M WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER N WITH DOT ABOVE .. LATIN CAPITAL LETTER N WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER N WITH DOT BELOW .. LATIN CAPITAL LETTER N WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER N WITH LINE BELOW .. LATIN CAPITAL LETTER N WITH LINE BELOW
+         1,  -- LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW .. LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
+         1,  -- LATIN CAPITAL LETTER O WITH TILDE AND ACUTE .. LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+         1,  -- LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS .. LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+         1,  -- LATIN CAPITAL LETTER O WITH MACRON AND GRAVE .. LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
+         1,  -- LATIN CAPITAL LETTER O WITH MACRON AND ACUTE .. LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
+         1,  -- LATIN CAPITAL LETTER P WITH ACUTE .. LATIN CAPITAL LETTER P WITH ACUTE
+         1,  -- LATIN CAPITAL LETTER P WITH DOT ABOVE .. LATIN CAPITAL LETTER P WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER R WITH DOT ABOVE .. LATIN CAPITAL LETTER R WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER R WITH DOT BELOW .. LATIN CAPITAL LETTER R WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON .. LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
+         1,  -- LATIN CAPITAL LETTER R WITH LINE BELOW .. LATIN CAPITAL LETTER R WITH LINE BELOW
+         1,  -- LATIN CAPITAL LETTER S WITH DOT ABOVE .. LATIN CAPITAL LETTER S WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER S WITH DOT BELOW .. LATIN CAPITAL LETTER S WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE .. LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE .. LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE .. LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER T WITH DOT ABOVE .. LATIN CAPITAL LETTER T WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER T WITH DOT BELOW .. LATIN CAPITAL LETTER T WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER T WITH LINE BELOW .. LATIN CAPITAL LETTER T WITH LINE BELOW
+         1,  -- LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW .. LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
+         1,  -- LATIN CAPITAL LETTER U WITH DIAERESIS BELOW .. LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
+         1,  -- LATIN CAPITAL LETTER U WITH TILDE BELOW .. LATIN CAPITAL LETTER U WITH TILDE BELOW
+         1,  -- LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW .. LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
+         1,  -- LATIN CAPITAL LETTER U WITH TILDE AND ACUTE .. LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
+         1,  -- LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS .. LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
+         1,  -- LATIN CAPITAL LETTER V WITH TILDE .. LATIN CAPITAL LETTER V WITH TILDE
+         1,  -- LATIN CAPITAL LETTER V WITH DOT BELOW .. LATIN CAPITAL LETTER V WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER W WITH GRAVE .. LATIN CAPITAL LETTER W WITH GRAVE
+         1,  -- LATIN CAPITAL LETTER W WITH ACUTE .. LATIN CAPITAL LETTER W WITH ACUTE
+         1,  -- LATIN CAPITAL LETTER W WITH DIAERESIS .. LATIN CAPITAL LETTER W WITH DIAERESIS
+         1,  -- LATIN CAPITAL LETTER W WITH DOT ABOVE .. LATIN CAPITAL LETTER W WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER W WITH DOT BELOW .. LATIN CAPITAL LETTER W WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER X WITH DOT ABOVE .. LATIN CAPITAL LETTER X WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER X WITH DIAERESIS .. LATIN CAPITAL LETTER X WITH DIAERESIS
+         1,  -- LATIN CAPITAL LETTER Y WITH DOT ABOVE .. LATIN CAPITAL LETTER Y WITH DOT ABOVE
+         1,  -- LATIN CAPITAL LETTER Z WITH CIRCUMFLEX .. LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+         1,  -- LATIN CAPITAL LETTER Z WITH DOT BELOW .. LATIN CAPITAL LETTER Z WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER Z WITH LINE BELOW .. LATIN CAPITAL LETTER Z WITH LINE BELOW
+         1,  -- LATIN CAPITAL LETTER A WITH DOT BELOW .. LATIN CAPITAL LETTER A WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER A WITH HOOK ABOVE .. LATIN CAPITAL LETTER A WITH HOOK ABOVE
+         1,  -- LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE .. LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+         1,  -- LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE .. LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+         1,  -- LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE .. LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+         1,  -- LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE .. LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+         1,  -- LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW .. LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+         1,  -- LATIN CAPITAL LETTER A WITH BREVE AND ACUTE .. LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+         1,  -- LATIN CAPITAL LETTER A WITH BREVE AND GRAVE .. LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+         1,  -- LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE .. LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+         1,  -- LATIN CAPITAL LETTER A WITH BREVE AND TILDE .. LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+         1,  -- LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW .. LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+         1,  -- LATIN CAPITAL LETTER E WITH DOT BELOW .. LATIN CAPITAL LETTER E WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER E WITH HOOK ABOVE .. LATIN CAPITAL LETTER E WITH HOOK ABOVE
+         1,  -- LATIN CAPITAL LETTER E WITH TILDE .. LATIN CAPITAL LETTER E WITH TILDE
+         1,  -- LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+         1,  -- LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+         1,  -- LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+         1,  -- LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+         1,  -- LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW .. LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+         1,  -- LATIN CAPITAL LETTER I WITH HOOK ABOVE .. LATIN CAPITAL LETTER I WITH HOOK ABOVE
+         1,  -- LATIN CAPITAL LETTER I WITH DOT BELOW .. LATIN CAPITAL LETTER I WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER O WITH DOT BELOW .. LATIN CAPITAL LETTER O WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER O WITH HOOK ABOVE .. LATIN CAPITAL LETTER O WITH HOOK ABOVE
+         1,  -- LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE .. LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+         1,  -- LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE .. LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+         1,  -- LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE .. LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+         1,  -- LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE .. LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+         1,  -- LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW .. LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+         1,  -- LATIN CAPITAL LETTER O WITH HORN AND ACUTE .. LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+         1,  -- LATIN CAPITAL LETTER O WITH HORN AND GRAVE .. LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+         1,  -- LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE .. LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+         1,  -- LATIN CAPITAL LETTER O WITH HORN AND TILDE .. LATIN CAPITAL LETTER O WITH HORN AND TILDE
+         1,  -- LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW .. LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+         1,  -- LATIN CAPITAL LETTER U WITH DOT BELOW .. LATIN CAPITAL LETTER U WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER U WITH HOOK ABOVE .. LATIN CAPITAL LETTER U WITH HOOK ABOVE
+         1,  -- LATIN CAPITAL LETTER U WITH HORN AND ACUTE .. LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+         1,  -- LATIN CAPITAL LETTER U WITH HORN AND GRAVE .. LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+         1,  -- LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE .. LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+         1,  -- LATIN CAPITAL LETTER U WITH HORN AND TILDE .. LATIN CAPITAL LETTER U WITH HORN AND TILDE
+         1,  -- LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW .. LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+         1,  -- LATIN CAPITAL LETTER Y WITH GRAVE .. LATIN CAPITAL LETTER Y WITH GRAVE
+         1,  -- LATIN CAPITAL LETTER Y WITH DOT BELOW .. LATIN CAPITAL LETTER Y WITH DOT BELOW
+         1,  -- LATIN CAPITAL LETTER Y WITH HOOK ABOVE .. LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+         1,  -- LATIN CAPITAL LETTER Y WITH TILDE .. LATIN CAPITAL LETTER Y WITH TILDE
+        -8,  -- GREEK CAPITAL LETTER ALPHA WITH PSILI .. GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
+        -8,  -- GREEK CAPITAL LETTER EPSILON WITH PSILI .. GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+        -8,  -- GREEK CAPITAL LETTER ETA WITH PSILI .. GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
+        -8,  -- GREEK CAPITAL LETTER IOTA WITH PSILI .. GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
+        -8,  -- GREEK CAPITAL LETTER OMICRON WITH PSILI .. GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+        -8,  -- GREEK CAPITAL LETTER UPSILON WITH DASIA .. GREEK CAPITAL LETTER UPSILON WITH DASIA
+        -8,  -- GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA .. GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+        -8,  -- GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA .. GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+        -8,  -- GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI .. GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
+        -8,  -- GREEK CAPITAL LETTER OMEGA WITH PSILI .. GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
+        -8,  -- GREEK CAPITAL LETTER ALPHA WITH VRACHY .. GREEK CAPITAL LETTER ALPHA WITH MACRON
+       -74,  -- GREEK CAPITAL LETTER ALPHA WITH VARIA .. GREEK CAPITAL LETTER ALPHA WITH OXIA
+       -86,  -- GREEK CAPITAL LETTER EPSILON WITH VARIA .. GREEK CAPITAL LETTER ETA WITH OXIA
+        -8,  -- GREEK CAPITAL LETTER IOTA WITH VRACHY .. GREEK CAPITAL LETTER IOTA WITH MACRON
+      -100,  -- GREEK CAPITAL LETTER IOTA WITH VARIA .. GREEK CAPITAL LETTER IOTA WITH OXIA
+        -8,  -- GREEK CAPITAL LETTER UPSILON WITH VRACHY .. GREEK CAPITAL LETTER UPSILON WITH MACRON
+      -112,  -- GREEK CAPITAL LETTER UPSILON WITH VARIA .. GREEK CAPITAL LETTER UPSILON WITH OXIA
+        -7,  -- GREEK CAPITAL LETTER RHO WITH DASIA .. GREEK CAPITAL LETTER RHO WITH DASIA
+      -128,  -- GREEK CAPITAL LETTER OMICRON WITH VARIA .. GREEK CAPITAL LETTER OMICRON WITH OXIA
+      -126,  -- GREEK CAPITAL LETTER OMEGA WITH VARIA .. GREEK CAPITAL LETTER OMEGA WITH OXIA
+        26,  -- CIRCLED LATIN CAPITAL LETTER A .. CIRCLED LATIN CAPITAL LETTER Z
+        32,  -- FULLWIDTH LATIN CAPITAL LETTER A .. FULLWIDTH LATIN CAPITAL LETTER Z
+        40,  -- DESERET CAPITAL LETTER LONG I .. DESERET CAPITAL LETTER EW
+        32); -- TAG LATIN CAPITAL LETTER A .. TAG LATIN CAPITAL LETTER Z
+
+   --  The following is a list of the 10646 names for CAPITAL LETTER entries
+   --  that have no matching SMALL LETTER entry and are thus not folded
+
+   --  LATIN CAPITAL LETTER I WITH DOT ABOVE
+   --  LATIN CAPITAL LETTER AFRICAN D
+   --  LATIN CAPITAL LETTER O WITH MIDDLE TILDE
+   --  LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+   --  LATIN CAPITAL LETTER L WITH SMALL LETTER J
+   --  LATIN CAPITAL LETTER N WITH SMALL LETTER J
+   --  LATIN CAPITAL LETTER D WITH SMALL LETTER Z
+   --  LATIN CAPITAL LETTER HWAIR
+   --  LATIN CAPITAL LETTER WYNN
+   --  GREEK CAPITAL LETTER UPSILON HOOK
+   --  GREEK CAPITAL LETTER UPSILON HOOK TONOS
+   --  GREEK CAPITAL LETTER UPSILON HOOK DIAERESIS
+   --  GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+   --  GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
 
    -----------------------
    -- Local Subprograms --
@@ -5289,6 +6310,20 @@ package body System.UTF_32 is
       end loop;
    end Range_Search;
 
+   --------------------------
+   -- UTF_32_To_Lower_Case --
+   --------------------------
+
+   function UTF_32_To_Lower_Case (U : UTF_32) return UTF_32 is
+      Index : constant Integer := Range_Search (U, Upper_Case_Letters);
+   begin
+      if Index = 0 then
+         return U;
+      else
+         return U + Upper_Case_Adjust (Index);
+      end if;
+   end UTF_32_To_Lower_Case;
+
    --------------------------
    -- UTF_32_To_Upper_Case --
    --------------------------
@@ -5299,7 +6334,7 @@ package body System.UTF_32 is
       if Index = 0 then
          return U;
       else
-         return U + Upper_Case_Adjust (Index);
+         return U + Lower_Case_Adjust (Index);
       end if;
    end UTF_32_To_Upper_Case;
 
index 41ed6d7..c4c04e0 100755 (executable)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---          Copyright (C) 2005-2009, Free Software Foundation, Inc.         --
+--          Copyright (C) 2005-2010, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -185,13 +185,27 @@ package System.UTF_32 is
    --  The following function is used to fold to upper case, as required by
    --  the Ada 2005 standard rules for identifier case folding. Two
    --  identifiers are equivalent if they are identical after folding all
-   --  letters to upper case using this routine.
+   --  letters to upper case using this routine. A corresponding routine to
+   --  fold to lower case is also provided.
+
+   function UTF_32_To_Lower_Case (U : UTF_32) return UTF_32;
+   pragma Inline (UTF_32_To_Lower_Case);
+   --  If U represents an upper case letter, returns the corresponding lower
+   --  case letter, otherwise U is returned unchanged. The folding rule is
+   --  simply that if the code corresponds to a 10646 entry whose name contains
+   --  the string CAPITAL LETTER, and there is a corresponding entry whose name
+   --  is the same but with CAPITAL LETTER replaced by SMALL LETTER, then the
+   --  code is folded to this SMALL LETTER code. Otherwise the input code is
+   --  returned unchanged.
 
    function UTF_32_To_Upper_Case (U : UTF_32) return UTF_32;
    pragma Inline (UTF_32_To_Upper_Case);
-   --  If U represents a lower case letter, returns the corresponding upper
-   --  case letter, otherwise U is returned unchanged. The folding is locale
-   --  independent as defined by documents referenced in the note in section
-   --  1 of ISO/IEC 10646:2003
+   --  If U represents a lower case letter, returns the corresponding lower
+   --  case letter, otherwise U is returned unchanged. The folding rule is
+   --  simply that if the code corresponds to a 10646 entry whose name contains
+   --  the string SMALL LETTER, and there is a corresponding entry whose name
+   --  is the same but with SMALL LETTER replaced by CAPITAL LETTER, then the
+   --  code is folded to this CAPITAL LETTER code. Otherwise the input code is
+   --  returned unchanged.
 
 end System.UTF_32;
index a372166..34bddda 100644 (file)
@@ -1012,7 +1012,7 @@ package body Sem_Res is
 
       begin
          --  If the context is an attribute reference that can apply to
-         --  functions, this is never a parameterless call (RM 4.1.4 (6)).
+         --  functions, this is never a parameterless call (RM 4.1.4(6)).
 
          if Nkind (Parent (N)) = N_Attribute_Reference
             and then (Attribute_Name (Parent (N)) = Name_Address
@@ -1150,7 +1150,7 @@ package body Sem_Res is
    begin
       return Ekind (Btyp) = E_Access_Type
         or else (Ekind (Btyp) = E_Access_Subprogram_Type
-                  and then Comes_From_Source (Btyp));
+                   and then Comes_From_Source (Btyp));
    end Is_Definite_Access_Type;
 
    ----------------------
@@ -1199,13 +1199,13 @@ package body Sem_Res is
       type Kind_Test is access function (E : Entity_Id) return Boolean;
 
       function Operand_Type_In_Scope (S : Entity_Id) return Boolean;
-      --  If the operand is not universal, and the operator is given by a
-      --  expanded name, verify that the operand has an interpretation with
-      --  type defined in the given scope of the operator.
+      --  If the operand is not universal, and the operator is given by an
+      --  expanded name, verify that the operand has an interpretation with a
+      --  type defined in the given scope of the operator.
 
       function Type_In_P (Test : Kind_Test) return Entity_Id;
-      --  Find a type of the given class in the package Pack that contains
-      --  the operator.
+      --  Find a type of the given class in package Pack that contains the
+      --  operator.
 
       ---------------------------
       -- Operand_Type_In_Scope --
@@ -1280,12 +1280,10 @@ package body Sem_Res is
       --  Start of processing for Type_In_P
 
       begin
-         --  If the context type is declared in the prefix package, this
-         --  is the desired base type.
+         --  If the context type is declared in the prefix package, this is the
+         --  desired base type.
 
-         if Scope (Base_Type (Typ)) = Pack
-           and then Test (Typ)
-         then
+         if Scope (Base_Type (Typ)) = Pack and then Test (Typ) then
             return Base_Type (Typ);
 
          else
@@ -1343,7 +1341,7 @@ package body Sem_Res is
 
       --  A final wrinkle is the multiplication operator for fixed point types,
       --  which is defined in Standard only, and not in the scope of the
-      --  fixed_point type itself.
+      --  fixed point type itself.
 
       if Nkind (Name (N)) = N_Expanded_Name then
          Pack := Entity (Prefix (Name (N)));
@@ -1371,7 +1369,7 @@ package body Sem_Res is
                Error := True;
             end if;
 
-         --  Ada 2005, AI-420: Predefined equality on Universal_Access is
+         --  Ada 2005 AI-420: Predefined equality on Universal_Access is
          --  available.
 
          elsif Ada_Version >= Ada_05