unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Michal Nazarewicz <mina86@mina86.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 24603@debbugs.gnu.org
Subject: bug#24603: [RFC 02/18] Generate upcase and downcase tables from Unicode data
Date: Tue, 04 Oct 2016 16:54:31 +0200	[thread overview]
Message-ID: <xa1td1jgxizc.fsf@mina86.com> (raw)
In-Reply-To: <83a8eko9pl.fsf@gnu.org>

On Tue, Oct 04 2016, Eli Zaretskii wrote:
>> From: Michal Nazarewicz <mina86@mina86.com>
>> Date: Tue,  4 Oct 2016 03:10:25 +0200
>>
>> +  ;; Set all Letter, uppercase; Letter, lowercase and Letter, titlecase syntax
>> +  ;; to word.  FIXME: Should this also be done for Letter, modifier and Letter,
>> +  ;; other?  What about other alphabetic characters?
>> +  (let ((syn-tab (standard-syntax-table)))
>> +    (map-char-table
>> +     (lambda (ch cat)
>> +       (when (memq cat '(Lu Ll Lt))
>> +         (modify-syntax-entry ch "w   " syn-tab)))
>> +     (unicode-property-table-internal 'general-category)))
>
> The answer to these questions is "as required by backward
> compatibility", i.e. compare with the manual setup we had until now.

With that in mind, I’ve applied the following fix to this patch:

---- >8 ----------------------------------------------------------------
@@ -666,14 +666,21 @@ ?L
   (modify-category-entry '(#x20d0 . #x20ff) ?^)

   ;; Set all Letter, uppercase; Letter, lowercase and Letter, titlecase syntax
-  ;; to word.  FIXME: Should this also be done for Letter, modifier and Letter,
-  ;; other?  What about other alphabetic characters?
+  ;; to word.
   (let ((syn-tab (standard-syntax-table)))
     (map-char-table
      (lambda (ch cat)
        (when (memq cat '(Lu Ll Lt))
          (modify-syntax-entry ch "w   " syn-tab)))
-     (unicode-property-table-internal 'general-category)))
+     (unicode-property-table-internal 'general-category))
+
+    ;; Ⅰ through Ⅻ had word syntax in the past so set it here as well.
+    ;; General category of those characers is Number, Letter.
+    (modify-syntax-entry '(#x2160 . #x216b) "w   " syn-tab)
+
+    ;; ⓐ thourgh ⓩ are symbols, other according to Unicode but Emacs set
+    ;; their syntax to word in the past so keep backwards compatibility.
+    (modify-syntax-entry '(#x24D0 . #x24E9) "w   " syn-tab))

   ;; Set downcase and upcase from Unicode properties
---- >8 ----------------------------------------------------------------

With that, if I run

(defun mn-dump-tables ()
  (interactive)
  (switch-to-buffer (get-buffer-create "*Syntax and case tables dump*"))
  (widen)
  (delete-region (point-min) (point-max))
  (insert (emacs-version))
  (insert "\n\n")
  (let ((case-tab (standard-case-table)))
    (dolist (el `(("Syntax" . ,(standard-syntax-table))
                  ("Lower" . ,(case-table-get-table case-tab 'down))
                  ("Upper" . ,(case-table-get-table case-tab 'up))))
      (map-char-table
       (lambda (k v)
         (insert (format "[%s] " (car el)))
         (if (consp k)
             (insert (format "%06x..%06x -> " (car k) (cdr k)))
           (insert (format "        %06x -> " k)))
         (if (numberp v)
             (insert (format "%06x\n" v))
           (insert (format "%s\n" v))))
       (cdr el)))))

I get the following (annotated) differences:

---- >8 ----------------------------------------------------------------
--- orig-tables.txt	2016-10-04 15:30:12.501069384 +0200
+++ modified-tables.txt	2016-10-04 15:31:55.435676953 +0200
@@ -1,4 +1,4 @@
-GNU Emacs 26.0.50.2 (x86_64-unknown-linux-gnu)
+GNU Emacs 26.0.50.3 (x86_64-unknown-linux-gnu)
  of 2016-10-04

 [Syntax] 000000..000008 -> (1)
@@ -44,7 +44,9 @@
 [Syntax]         0000a7 -> (1)
 [Syntax] 0000a8..0000aa -> (3)
 [Syntax]         0000ab -> (1)
-[Syntax] 0000ac..0000b6 -> (3)
+[Syntax] 0000ac..0000b4 -> (3)
+[Syntax]         0000b5 -> (2)  -- micro sign (µ) is now word
+[Syntax]         0000b6 -> (3)
 [Syntax]         0000b7 -> (2)
 [Syntax] 0000b8..0000ba -> (3)
 [Syntax]         0000bb -> (1)
@@ -54,9 +56,7 @@
 [Syntax]         0000d7 -> (3)
 [Syntax] 0000d8..0000f6 -> (2)
 [Syntax]         0000f7 -> (3)
-[Syntax] 0000f8..000148 -> (2)
-[Syntax]         000149 -> (3)  -- ʼn is now word
-[Syntax] 00014a..0002c6 -> (2)
+[Syntax] 0000f8..0002c6 -> (2)
 [Syntax]         0002c7 -> (3)
 [Syntax]         0002c8 -> (2)
 [Syntax]         0002c9 -> (3)
@@ -136,17 +136,11 @@
 [Syntax]         002103 -> (3)
 [Syntax] 002104..002108 -> (2)
 [Syntax]         002109 -> (3)
-[Syntax] 00210a..002112 -> (2)
-[Syntax]         002113 -> (3)  -- ℓ is now word
-[Syntax] 002114..002115 -> (2)
+[Syntax] 00210a..002115 -> (2)
 [Syntax]         002116 -> (1)
 [Syntax] 002117..002120 -> (2)
 [Syntax] 002121..002122 -> (3)
-[Syntax] 002123..002125 -> (2)
-[Syntax]         002126 -> (3)  -- Ohm sign (Ω) is now word
-[Syntax] 002127..00212a -> (2)
-[Syntax]         00212b -> (3)  -- Angstrom sign (Å) is now word
-[Syntax] 00212c..002152 -> (2)
+[Syntax] 002123..002152 -> (2)
 [Syntax] 002153..002154 -> (3)
 [Syntax] 002155..00215a -> (2)
 [Syntax] 00215b..00215e -> (3)
… continued below …
---- >8 ----------------------------------------------------------------

Changes to micro, Ohm and Angstrom signs may be controversial (I
could never understand why those characters are in Unicode) but the
change brings the syntax table in par with Unicode and how other
similar characters are handled (namely, I’m thinking of U+212A:
Kelvin sign).

Changes to ʼn and ℓ seem uncontroversial to me.

Attached below are changes to down and up case tables.  I haven’t
looked at every one of the changes but it appears legitimate to me:
- some additions are for ‘foo becomes foo’ mappings,
- mane are for legitimate missing mappings and
- there are also some fixes to incorrect mapping such as
  𐐀 (Deseret capital letter long i) being mapped to
  𐐜 (Deseret capital letter thee) instead of
  𐐨 (Deseret small letter long i).

---- >8 ----------------------------------------------------------------
… continuation from above …
@@ -677,6 +671,7 @@
 [Lower]         00019a -> 00019a
 [Lower]         00019c -> 00026f
 [Lower]         00019d -> 000272
+[Lower]         00019e -> 00019e
 [Lower]         00019f -> 000275
 [Lower] 0001a0..0001a1 -> 0001a1
 [Lower] 0001a2..0001a3 -> 0001a3
@@ -740,6 +735,7 @@
 [Lower] 00021a..00021b -> 00021b
 [Lower] 00021c..00021d -> 00021d
 [Lower] 00021e..00021f -> 00021f
+[Lower]         000220 -> 00019e
 [Lower] 000222..000223 -> 000223
 [Lower] 000224..000225 -> 000225
 [Lower] 000226..000227 -> 000227
@@ -777,6 +773,7 @@
 [Lower]         000260 -> 000260
 [Lower]         000261 -> 000261
 [Lower]         000263 -> 000263
+[Lower]         000265 -> 000265
 [Lower]         000266 -> 000266
 [Lower]         000268 -> 000268
 [Lower]         000269 -> 000269
@@ -799,6 +796,14 @@
 [Lower]         000292 -> 000292
 [Lower]         00029d -> 00029d
 [Lower]         00029e -> 00029e
+[Lower]         000345 -> 000345
+[Lower] 000370..000371 -> 000371
+[Lower] 000372..000373 -> 000373
+[Lower] 000376..000377 -> 000377
+[Lower]         00037b -> 00037b
+[Lower]         00037c -> 00037c
+[Lower]         00037d -> 00037d
+[Lower]         00037f -> 0003f3
 [Lower]         000386 -> 0003ac
 [Lower]         000388 -> 0003ad
 [Lower]         000389 -> 0003ae
@@ -853,6 +858,7 @@
 [Lower]         0003bf -> 0003bf
 [Lower]         0003c0 -> 0003c0
 [Lower]         0003c1 -> 0003c1
+[Lower]         0003c2 -> 0003c2
 [Lower]         0003c3 -> 0003c3
 [Lower]         0003c4 -> 0003c4
 [Lower]         0003c5 -> 0003c5
@@ -865,6 +871,13 @@
 [Lower]         0003cc -> 0003cc
 [Lower]         0003cd -> 0003cd
 [Lower]         0003ce -> 0003ce
+[Lower]         0003cf -> 0003d7
+[Lower]         0003d0 -> 0003d0
+[Lower]         0003d1 -> 0003d1
+[Lower]         0003d5 -> 0003d5
+[Lower]         0003d6 -> 0003d6
+[Lower]         0003d7 -> 0003d7
+[Lower] 0003d8..0003d9 -> 0003d9
 [Lower] 0003da..0003db -> 0003db
 [Lower] 0003dc..0003dd -> 0003dd
 [Lower] 0003de..0003df -> 0003df
@@ -876,6 +889,18 @@
 [Lower] 0003ea..0003eb -> 0003eb
 [Lower] 0003ec..0003ed -> 0003ed
 [Lower] 0003ee..0003ef -> 0003ef
+[Lower]         0003f0 -> 0003f0
+[Lower]         0003f1 -> 0003f1
+[Lower]         0003f2 -> 0003f2
+[Lower]         0003f3 -> 0003f3
+[Lower]         0003f4 -> 0003b8
+[Lower]         0003f5 -> 0003f5
+[Lower] 0003f7..0003f8 -> 0003f8
+[Lower]         0003f9 -> 0003f2
+[Lower] 0003fa..0003fb -> 0003fb
+[Lower]         0003fd -> 00037b
+[Lower]         0003fe -> 00037c
+[Lower]         0003ff -> 00037d
 [Lower]         000400 -> 000450
 [Lower]         000401 -> 000451
 [Lower]         000402 -> 000452
@@ -989,6 +1014,7 @@
 [Lower] 00047c..00047d -> 00047d
 [Lower] 00047e..00047f -> 00047f
 [Lower] 000480..000481 -> 000481
+[Lower] 00048a..00048b -> 00048b
 [Lower] 00048c..00048d -> 00048d
 [Lower] 00048e..00048f -> 00048f
 [Lower] 000490..000491 -> 000491
@@ -1015,10 +1041,15 @@
 [Lower] 0004ba..0004bb -> 0004bb
 [Lower] 0004bc..0004bd -> 0004bd
 [Lower] 0004be..0004bf -> 0004bf
+[Lower]         0004c0 -> 0004cf
 [Lower] 0004c1..0004c2 -> 0004c2
 [Lower] 0004c3..0004c4 -> 0004c4
+[Lower] 0004c5..0004c6 -> 0004c6
 [Lower] 0004c7..0004c8 -> 0004c8
+[Lower] 0004c9..0004ca -> 0004ca
 [Lower] 0004cb..0004cc -> 0004cc
+[Lower] 0004cd..0004ce -> 0004ce
+[Lower]         0004cf -> 0004cf
 [Lower] 0004d0..0004d1 -> 0004d1
 [Lower] 0004d2..0004d3 -> 0004d3
 [Lower] 0004d4..0004d5 -> 0004d5
@@ -1043,6 +1074,30 @@
 [Lower] 0004fa..0004fb -> 0004fb
 [Lower] 0004fc..0004fd -> 0004fd
 [Lower] 0004fe..0004ff -> 0004ff
+[Lower] 000500..000501 -> 000501
+[Lower] 000502..000503 -> 000503
+[Lower] 000504..000505 -> 000505
+[Lower] 000506..000507 -> 000507
+[Lower] 000508..000509 -> 000509
+[Lower] 00050a..00050b -> 00050b
+[Lower] 00050c..00050d -> 00050d
+[Lower] 00050e..00050f -> 00050f
+[Lower] 000510..000511 -> 000511
+[Lower] 000512..000513 -> 000513
+[Lower] 000514..000515 -> 000515
+[Lower] 000516..000517 -> 000517
+[Lower] 000518..000519 -> 000519
+[Lower] 00051a..00051b -> 00051b
+[Lower] 00051c..00051d -> 00051d
+[Lower] 00051e..00051f -> 00051f
+[Lower] 000520..000521 -> 000521
+[Lower] 000522..000523 -> 000523
+[Lower] 000524..000525 -> 000525
+[Lower] 000526..000527 -> 000527
+[Lower] 000528..000529 -> 000529
+[Lower] 00052a..00052b -> 00052b
+[Lower] 00052c..00052d -> 00052d
+[Lower] 00052e..00052f -> 00052f
 [Lower]         000531 -> 000561
 [Lower]         000532 -> 000562
 [Lower]         000533 -> 000563
@@ -1157,14 +1212,109 @@
 [Lower]         0010c3 -> 002d23
 [Lower]         0010c4 -> 002d24
 [Lower]         0010c5 -> 002d25
-[Lower]         0010c6 -> 002d26
 [Lower]         0010c7 -> 002d27
-[Lower]         0010c8 -> 002d28
-[Lower]         0010c9 -> 002d29
-[Lower]         0010ca -> 002d2a
-[Lower]         0010cb -> 002d2b
-[Lower]         0010cc -> 002d2c
 [Lower]         0010cd -> 002d2d
+[Lower]         0013a0 -> 00ab70
+[Lower]         0013a1 -> 00ab71
+[Lower]         0013a2 -> 00ab72
+[Lower]         0013a3 -> 00ab73
+[Lower]         0013a4 -> 00ab74
+[Lower]         0013a5 -> 00ab75
+[Lower]         0013a6 -> 00ab76
+[Lower]         0013a7 -> 00ab77
+[Lower]         0013a8 -> 00ab78
+[Lower]         0013a9 -> 00ab79
+[Lower]         0013aa -> 00ab7a
+[Lower]         0013ab -> 00ab7b
+[Lower]         0013ac -> 00ab7c
+[Lower]         0013ad -> 00ab7d
+[Lower]         0013ae -> 00ab7e
+[Lower]         0013af -> 00ab7f
+[Lower]         0013b0 -> 00ab80
+[Lower]         0013b1 -> 00ab81
+[Lower]         0013b2 -> 00ab82
+[Lower]         0013b3 -> 00ab83
+[Lower]         0013b4 -> 00ab84
+[Lower]         0013b5 -> 00ab85
+[Lower]         0013b6 -> 00ab86
+[Lower]         0013b7 -> 00ab87
+[Lower]         0013b8 -> 00ab88
+[Lower]         0013b9 -> 00ab89
+[Lower]         0013ba -> 00ab8a
+[Lower]         0013bb -> 00ab8b
+[Lower]         0013bc -> 00ab8c
+[Lower]         0013bd -> 00ab8d
+[Lower]         0013be -> 00ab8e
+[Lower]         0013bf -> 00ab8f
+[Lower]         0013c0 -> 00ab90
+[Lower]         0013c1 -> 00ab91
+[Lower]         0013c2 -> 00ab92
+[Lower]         0013c3 -> 00ab93
+[Lower]         0013c4 -> 00ab94
+[Lower]         0013c5 -> 00ab95
+[Lower]         0013c6 -> 00ab96
+[Lower]         0013c7 -> 00ab97
+[Lower]         0013c8 -> 00ab98
+[Lower]         0013c9 -> 00ab99
+[Lower]         0013ca -> 00ab9a
+[Lower]         0013cb -> 00ab9b
+[Lower]         0013cc -> 00ab9c
+[Lower]         0013cd -> 00ab9d
+[Lower]         0013ce -> 00ab9e
+[Lower]         0013cf -> 00ab9f
+[Lower]         0013d0 -> 00aba0
+[Lower]         0013d1 -> 00aba1
+[Lower]         0013d2 -> 00aba2
+[Lower]         0013d3 -> 00aba3
+[Lower]         0013d4 -> 00aba4
+[Lower]         0013d5 -> 00aba5
+[Lower]         0013d6 -> 00aba6
+[Lower]         0013d7 -> 00aba7
+[Lower]         0013d8 -> 00aba8
+[Lower]         0013d9 -> 00aba9
+[Lower]         0013da -> 00abaa
+[Lower]         0013db -> 00abab
+[Lower]         0013dc -> 00abac
+[Lower]         0013dd -> 00abad
+[Lower]         0013de -> 00abae
+[Lower]         0013df -> 00abaf
+[Lower]         0013e0 -> 00abb0
+[Lower]         0013e1 -> 00abb1
+[Lower]         0013e2 -> 00abb2
+[Lower]         0013e3 -> 00abb3
+[Lower]         0013e4 -> 00abb4
+[Lower]         0013e5 -> 00abb5
+[Lower]         0013e6 -> 00abb6
+[Lower]         0013e7 -> 00abb7
+[Lower]         0013e8 -> 00abb8
+[Lower]         0013e9 -> 00abb9
+[Lower]         0013ea -> 00abba
+[Lower]         0013eb -> 00abbb
+[Lower]         0013ec -> 00abbc
+[Lower]         0013ed -> 00abbd
+[Lower]         0013ee -> 00abbe
+[Lower]         0013ef -> 00abbf
+[Lower]         0013f0 -> 0013f8
+[Lower]         0013f1 -> 0013f9
+[Lower]         0013f2 -> 0013fa
+[Lower]         0013f3 -> 0013fb
+[Lower]         0013f4 -> 0013fc
+[Lower]         0013f5 -> 0013fd
+[Lower]         0013f8 -> 0013f8
+[Lower]         0013f9 -> 0013f9
+[Lower]         0013fa -> 0013fa
+[Lower]         0013fb -> 0013fb
+[Lower]         0013fc -> 0013fc
+[Lower]         0013fd -> 0013fd
+[Lower]         001c80 -> 001c80
+[Lower]         001c81 -> 001c81
+[Lower]         001c82 -> 001c82
+[Lower]         001c83 -> 001c83
+[Lower]         001c84 -> 001c84
+[Lower]         001c85 -> 001c85
+[Lower]         001c86 -> 001c86
+[Lower]         001c87 -> 001c87
+[Lower]         001c88 -> 001c88
 [Lower]         001d79 -> 001d79
 [Lower]         001d7d -> 001d7d
 [Lower] 001e00..001e01 -> 001e01
@@ -1242,6 +1392,8 @@
 [Lower] 001e90..001e91 -> 001e91
 [Lower] 001e92..001e93 -> 001e93
 [Lower] 001e94..001e95 -> 001e95
+[Lower]         001e9b -> 001e9b
+[Lower]         001e9e -> 0000df
 [Lower] 001ea0..001ea1 -> 001ea1
 [Lower] 001ea2..001ea3 -> 001ea3
 [Lower] 001ea4..001ea5 -> 001ea5
@@ -1287,6 +1439,9 @@
 [Lower] 001ef4..001ef5 -> 001ef5
 [Lower] 001ef6..001ef7 -> 001ef7
 [Lower] 001ef8..001ef9 -> 001ef9
+[Lower] 001efa..001efb -> 001efb
+[Lower] 001efc..001efd -> 001efd
+[Lower] 001efe..001eff -> 001eff
 [Lower]         001f00 -> 001f00
 [Lower]         001f01 -> 001f01
 [Lower]         001f02 -> 001f02
@@ -1353,22 +1508,20 @@
 [Lower]         001f43 -> 001f43
 [Lower]         001f44 -> 001f44
 [Lower]         001f45 -> 001f45
-[Lower]         001f46 -> 001f46
-[Lower]         001f47 -> 001f47
 [Lower]         001f48 -> 001f40
 [Lower]         001f49 -> 001f41
 [Lower]         001f4a -> 001f42
 [Lower]         001f4b -> 001f43
 [Lower]         001f4c -> 001f44
 [Lower]         001f4d -> 001f45
-[Lower]         001f4e -> 001f46
-[Lower]         001f4f -> 001f47
 [Lower]         001f51 -> 001f51
 [Lower]         001f53 -> 001f53
 [Lower]         001f55 -> 001f55
+[Lower]         001f57 -> 001f57
 [Lower]         001f59 -> 001f51
 [Lower]         001f5b -> 001f53
 [Lower]         001f5d -> 001f55
+[Lower]         001f5f -> 001f57
 [Lower]         001f60 -> 001f60
 [Lower]         001f61 -> 001f61
 [Lower]         001f62 -> 001f62
@@ -1455,6 +1608,7 @@
 [Lower]         001fba -> 001f70
 [Lower]         001fbb -> 001f71
 [Lower]         001fbc -> 001fb3
+[Lower]         001fbe -> 001fbe
 [Lower]         001fc3 -> 001fc3
 [Lower]         001fc8 -> 001f72
 [Lower]         001fc9 -> 001f73
@@ -1593,6 +1747,10 @@
 [Lower]         00206d -> 00206d
 [Lower]         00206e -> 00206e
 [Lower]         00206f -> 00206f
+[Lower]         002126 -> 0003c9
+[Lower]         00212b -> 0000e5
+[Lower]         002132 -> 00214e
+[Lower]         00214e -> 00214e
 [Lower]         002160 -> 002170
 [Lower]         002161 -> 002171
 [Lower]         002162 -> 002172
@@ -1625,6 +1783,7 @@
 [Lower]         00217d -> 00217d
 [Lower]         00217e -> 00217e
 [Lower]         00217f -> 00217f
+[Lower] 002183..002184 -> 002184
 [Lower]         002190 -> 002190
 [Lower]         002191 -> 002191
 [Lower]         002192 -> 002192
@@ -2525,10 +2684,10 @@
 [Lower] 002cdc..002cdd -> 002cdd
 [Lower] 002cde..002cdf -> 002cdf
 [Lower] 002ce0..002ce1 -> 002ce1
+[Lower] 002ce2..002ce3 -> 002ce3
 [Lower] 002ceb..002cec -> 002cec
 [Lower] 002ced..002cee -> 002cee
-[Lower] 002cef..002cf0 -> 002cf0
-[Lower] 002cf1..002cf2 -> 002cf2
+[Lower] 002cf2..002cf3 -> 002cf3
 [Lower]         002d00 -> 002d00
 [Lower]         002d01 -> 002d01
 [Lower]         002d02 -> 002d02
@@ -2567,13 +2726,7 @@
 [Lower]         002d23 -> 002d23
 [Lower]         002d24 -> 002d24
 [Lower]         002d25 -> 002d25
-[Lower]         002d26 -> 002d26
 [Lower]         002d27 -> 002d27
-[Lower]         002d28 -> 002d28
-[Lower]         002d29 -> 002d29
-[Lower]         002d2a -> 002d2a
-[Lower]         002d2b -> 002d2b
-[Lower]         002d2c -> 002d2c
 [Lower]         002d2d -> 002d2d
 [Lower] 00a640..00a641 -> 00a641
 [Lower] 00a642..00a643 -> 00a643
@@ -2659,7 +2812,7 @@
 [Lower] 00a784..00a785 -> 00a785
 [Lower] 00a786..00a787 -> 00a787
 [Lower] 00a78b..00a78c -> 00a78c
-[Lower] 00a78d..00a78e -> 00a78e
+[Lower]         00a78d -> 000265
 [Lower] 00a790..00a791 -> 00a791
 [Lower] 00a792..00a793 -> 00a793
 [Lower] 00a796..00a797 -> 00a797
@@ -2684,6 +2837,86 @@
 [Lower] 00a7b4..00a7b5 -> 00a7b5
 [Lower] 00a7b6..00a7b7 -> 00a7b7
 [Lower]         00ab53 -> 00ab53
+[Lower]         00ab70 -> 00ab70
+[Lower]         00ab71 -> 00ab71
+[Lower]         00ab72 -> 00ab72
+[Lower]         00ab73 -> 00ab73
+[Lower]         00ab74 -> 00ab74
+[Lower]         00ab75 -> 00ab75
+[Lower]         00ab76 -> 00ab76
+[Lower]         00ab77 -> 00ab77
+[Lower]         00ab78 -> 00ab78
+[Lower]         00ab79 -> 00ab79
+[Lower]         00ab7a -> 00ab7a
+[Lower]         00ab7b -> 00ab7b
+[Lower]         00ab7c -> 00ab7c
+[Lower]         00ab7d -> 00ab7d
+[Lower]         00ab7e -> 00ab7e
+[Lower]         00ab7f -> 00ab7f
+[Lower]         00ab80 -> 00ab80
+[Lower]         00ab81 -> 00ab81
+[Lower]         00ab82 -> 00ab82
+[Lower]         00ab83 -> 00ab83
+[Lower]         00ab84 -> 00ab84
+[Lower]         00ab85 -> 00ab85
+[Lower]         00ab86 -> 00ab86
+[Lower]         00ab87 -> 00ab87
+[Lower]         00ab88 -> 00ab88
+[Lower]         00ab89 -> 00ab89
+[Lower]         00ab8a -> 00ab8a
+[Lower]         00ab8b -> 00ab8b
+[Lower]         00ab8c -> 00ab8c
+[Lower]         00ab8d -> 00ab8d
+[Lower]         00ab8e -> 00ab8e
+[Lower]         00ab8f -> 00ab8f
+[Lower]         00ab90 -> 00ab90
+[Lower]         00ab91 -> 00ab91
+[Lower]         00ab92 -> 00ab92
+[Lower]         00ab93 -> 00ab93
+[Lower]         00ab94 -> 00ab94
+[Lower]         00ab95 -> 00ab95
+[Lower]         00ab96 -> 00ab96
+[Lower]         00ab97 -> 00ab97
+[Lower]         00ab98 -> 00ab98
+[Lower]         00ab99 -> 00ab99
+[Lower]         00ab9a -> 00ab9a
+[Lower]         00ab9b -> 00ab9b
+[Lower]         00ab9c -> 00ab9c
+[Lower]         00ab9d -> 00ab9d
+[Lower]         00ab9e -> 00ab9e
+[Lower]         00ab9f -> 00ab9f
+[Lower]         00aba0 -> 00aba0
+[Lower]         00aba1 -> 00aba1
+[Lower]         00aba2 -> 00aba2
+[Lower]         00aba3 -> 00aba3
+[Lower]         00aba4 -> 00aba4
+[Lower]         00aba5 -> 00aba5
+[Lower]         00aba6 -> 00aba6
+[Lower]         00aba7 -> 00aba7
+[Lower]         00aba8 -> 00aba8
+[Lower]         00aba9 -> 00aba9
+[Lower]         00abaa -> 00abaa
+[Lower]         00abab -> 00abab
+[Lower]         00abac -> 00abac
+[Lower]         00abad -> 00abad
+[Lower]         00abae -> 00abae
+[Lower]         00abaf -> 00abaf
+[Lower]         00abb0 -> 00abb0
+[Lower]         00abb1 -> 00abb1
+[Lower]         00abb2 -> 00abb2
+[Lower]         00abb3 -> 00abb3
+[Lower]         00abb4 -> 00abb4
+[Lower]         00abb5 -> 00abb5
+[Lower]         00abb6 -> 00abb6
+[Lower]         00abb7 -> 00abb7
+[Lower]         00abb8 -> 00abb8
+[Lower]         00abb9 -> 00abb9
+[Lower]         00abba -> 00abba
+[Lower]         00abbb -> 00abbb
+[Lower]         00abbc -> 00abbc
+[Lower]         00abbd -> 00abbd
+[Lower]         00abbe -> 00abbe
+[Lower]         00abbf -> 00abbf
 [Lower]         00ff21 -> 00ff41
 [Lower]         00ff22 -> 00ff42
 [Lower]         00ff23 -> 00ff43
@@ -2736,46 +2969,46 @@
 [Lower]         00ff58 -> 00ff58
 [Lower]         00ff59 -> 00ff59
 [Lower]         00ff5a -> 00ff5a
-[Lower]         010400 -> 01041c
-[Lower]         010401 -> 01041d
-[Lower]         010402 -> 01041e
-[Lower]         010403 -> 01041f
-[Lower]         010404 -> 010420
-[Lower]         010405 -> 010421
-[Lower]         010406 -> 010422
-[Lower]         010407 -> 010423
-[Lower]         010408 -> 010424
-[Lower]         010409 -> 010425
-[Lower]         01040a -> 010426
-[Lower]         01040b -> 010427
-[Lower]         01040c -> 010428
-[Lower]         01040d -> 010429
-[Lower]         01040e -> 01042a
-[Lower]         01040f -> 01042b
-[Lower]         010410 -> 01042c
-[Lower]         010411 -> 01042d
-[Lower]         010412 -> 01042e
-[Lower]         010413 -> 01042f
-[Lower]         010414 -> 010430
-[Lower]         010415 -> 010431
-[Lower]         010416 -> 010432
-[Lower]         010417 -> 010433
-[Lower]         010418 -> 010434
-[Lower]         010419 -> 010435
-[Lower]         01041a -> 010436
-[Lower]         01041b -> 010437
-[Lower]         01041c -> 010438
-[Lower]         01041d -> 010439
-[Lower]         01041e -> 01043a
-[Lower]         01041f -> 01043b
-[Lower]         010420 -> 01043c
-[Lower]         010421 -> 01043d
-[Lower]         010422 -> 01043e
-[Lower]         010423 -> 01043f
-[Lower]         010424 -> 010440
-[Lower]         010425 -> 010441
-[Lower]         010426 -> 010442
-[Lower]         010427 -> 010443
+[Lower]         010400 -> 010428
+[Lower]         010401 -> 010429
+[Lower]         010402 -> 01042a
+[Lower]         010403 -> 01042b
+[Lower]         010404 -> 01042c
+[Lower]         010405 -> 01042d
+[Lower]         010406 -> 01042e
+[Lower]         010407 -> 01042f
+[Lower]         010408 -> 010430
+[Lower]         010409 -> 010431
+[Lower]         01040a -> 010432
+[Lower]         01040b -> 010433
+[Lower]         01040c -> 010434
+[Lower]         01040d -> 010435
+[Lower]         01040e -> 010436
+[Lower]         01040f -> 010437
+[Lower]         010410 -> 010438
+[Lower]         010411 -> 010439
+[Lower]         010412 -> 01043a
+[Lower]         010413 -> 01043b
+[Lower]         010414 -> 01043c
+[Lower]         010415 -> 01043d
+[Lower]         010416 -> 01043e
+[Lower]         010417 -> 01043f
+[Lower]         010418 -> 010440
+[Lower]         010419 -> 010441
+[Lower]         01041a -> 010442
+[Lower]         01041b -> 010443
+[Lower]         01041c -> 010444
+[Lower]         01041d -> 010445
+[Lower]         01041e -> 010446
+[Lower]         01041f -> 010447
+[Lower]         010420 -> 010448
+[Lower]         010421 -> 010449
+[Lower]         010422 -> 01044a
+[Lower]         010423 -> 01044b
+[Lower]         010424 -> 01044c
+[Lower]         010425 -> 01044d
+[Lower]         010426 -> 01044e
+[Lower]         010427 -> 01044f
 [Lower]         010428 -> 010428
 [Lower]         010429 -> 010429
 [Lower]         01042a -> 01042a
@@ -2804,6 +3037,18 @@
 [Lower]         010441 -> 010441
 [Lower]         010442 -> 010442
 [Lower]         010443 -> 010443
+[Lower]         010444 -> 010444
+[Lower]         010445 -> 010445
+[Lower]         010446 -> 010446
+[Lower]         010447 -> 010447
+[Lower]         010448 -> 010448
+[Lower]         010449 -> 010449
+[Lower]         01044a -> 01044a
+[Lower]         01044b -> 01044b
+[Lower]         01044c -> 01044c
+[Lower]         01044d -> 01044d
+[Lower]         01044e -> 01044e
+[Lower]         01044f -> 01044f
 [Lower]         0104b0 -> 0104d8
 [Lower]         0104b1 -> 0104d9
 [Lower]         0104b2 -> 0104da
@@ -3307,7 +3552,7 @@
 [Upper]         0000ae -> 0000ae
 [Upper]         0000b0 -> 0000b0
 [Upper]         0000b1 -> 0000b1
-[Upper]         0000b5 -> 0000b5
+[Upper]         0000b5 -> 0003bc
 [Upper]         0000b7 -> 0000b7
 [Upper]         0000bb -> 0000bb
 [Upper]         0000bc -> 0000bc
@@ -3462,6 +3707,7 @@
 [Upper]         00019a -> 00019a
 [Upper]         00019c -> 00026f
 [Upper]         00019d -> 000272
+[Upper]         00019e -> 00019e
 [Upper]         00019f -> 000275
 [Upper] 0001a0..0001a1 -> 0001a1
 [Upper] 0001a2..0001a3 -> 0001a3
@@ -3525,6 +3771,7 @@
 [Upper] 00021a..00021b -> 00021b
 [Upper] 00021c..00021d -> 00021d
 [Upper] 00021e..00021f -> 00021f
+[Upper]         000220 -> 00019e
 [Upper] 000222..000223 -> 000223
 [Upper] 000224..000225 -> 000225
 [Upper] 000226..000227 -> 000227
@@ -3562,6 +3809,7 @@
 [Upper]         000260 -> 000260
 [Upper]         000261 -> 000261
 [Upper]         000263 -> 000263
+[Upper]         000265 -> 000265
 [Upper]         000266 -> 000266
 [Upper]         000268 -> 000268
 [Upper]         000269 -> 000269
@@ -3584,6 +3832,14 @@
 [Upper]         000292 -> 000292
 [Upper]         00029d -> 00029d
 [Upper]         00029e -> 00029e
+[Upper]         000345 -> 0003b9
+[Upper] 000370..000371 -> 000371
+[Upper] 000372..000373 -> 000373
+[Upper] 000376..000377 -> 000377
+[Upper]         00037b -> 00037b
+[Upper]         00037c -> 00037c
+[Upper]         00037d -> 00037d
+[Upper]         00037f -> 0003f3
 [Upper]         000386 -> 0003ac
 [Upper]         000388 -> 0003ad
 [Upper]         000389 -> 0003ae
@@ -3638,7 +3894,7 @@
 [Upper]         0003bf -> 0003bf
 [Upper]         0003c0 -> 0003c0
 [Upper]         0003c1 -> 0003c1
-[Upper]         0003c3 -> 0003c3
+[Upper] 0003c2..0003c3 -> 0003c3
 [Upper]         0003c4 -> 0003c4
 [Upper]         0003c5 -> 0003c5
 [Upper]         0003c6 -> 0003c6
@@ -3650,6 +3906,13 @@
 [Upper]         0003cc -> 0003cc
 [Upper]         0003cd -> 0003cd
 [Upper]         0003ce -> 0003ce
+[Upper]         0003cf -> 0003d7
+[Upper]         0003d0 -> 0003b2
+[Upper]         0003d1 -> 0003b8
+[Upper]         0003d5 -> 0003c6
+[Upper]         0003d6 -> 0003c0
+[Upper]         0003d7 -> 0003d7
+[Upper] 0003d8..0003d9 -> 0003d9
 [Upper] 0003da..0003db -> 0003db
 [Upper] 0003dc..0003dd -> 0003dd
 [Upper] 0003de..0003df -> 0003df
@@ -3661,6 +3924,18 @@
 [Upper] 0003ea..0003eb -> 0003eb
 [Upper] 0003ec..0003ed -> 0003ed
 [Upper] 0003ee..0003ef -> 0003ef
+[Upper]         0003f0 -> 0003ba
+[Upper]         0003f1 -> 0003c1
+[Upper]         0003f2 -> 0003f2
+[Upper]         0003f3 -> 0003f3
+[Upper]         0003f4 -> 0003b8
+[Upper]         0003f5 -> 0003b5
+[Upper] 0003f7..0003f8 -> 0003f8
+[Upper]         0003f9 -> 0003f2
+[Upper] 0003fa..0003fb -> 0003fb
+[Upper]         0003fd -> 00037b
+[Upper]         0003fe -> 00037c
+[Upper]         0003ff -> 00037d
 [Upper]         000400 -> 000450
 [Upper]         000401 -> 000451
 [Upper]         000402 -> 000452
@@ -3774,6 +4049,7 @@
 [Upper] 00047c..00047d -> 00047d
 [Upper] 00047e..00047f -> 00047f
 [Upper] 000480..000481 -> 000481
+[Upper] 00048a..00048b -> 00048b
 [Upper] 00048c..00048d -> 00048d
 [Upper] 00048e..00048f -> 00048f
 [Upper] 000490..000491 -> 000491
@@ -3800,10 +4076,15 @@
 [Upper] 0004ba..0004bb -> 0004bb
 [Upper] 0004bc..0004bd -> 0004bd
 [Upper] 0004be..0004bf -> 0004bf
+[Upper]         0004c0 -> 0004cf
 [Upper] 0004c1..0004c2 -> 0004c2
 [Upper] 0004c3..0004c4 -> 0004c4
+[Upper] 0004c5..0004c6 -> 0004c6
 [Upper] 0004c7..0004c8 -> 0004c8
+[Upper] 0004c9..0004ca -> 0004ca
 [Upper] 0004cb..0004cc -> 0004cc
+[Upper] 0004cd..0004ce -> 0004ce
+[Upper]         0004cf -> 0004cf
 [Upper] 0004d0..0004d1 -> 0004d1
 [Upper] 0004d2..0004d3 -> 0004d3
 [Upper] 0004d4..0004d5 -> 0004d5
@@ -3828,6 +4109,30 @@
 [Upper] 0004fa..0004fb -> 0004fb
 [Upper] 0004fc..0004fd -> 0004fd
 [Upper] 0004fe..0004ff -> 0004ff
+[Upper] 000500..000501 -> 000501
+[Upper] 000502..000503 -> 000503
+[Upper] 000504..000505 -> 000505
+[Upper] 000506..000507 -> 000507
+[Upper] 000508..000509 -> 000509
+[Upper] 00050a..00050b -> 00050b
+[Upper] 00050c..00050d -> 00050d
+[Upper] 00050e..00050f -> 00050f
+[Upper] 000510..000511 -> 000511
+[Upper] 000512..000513 -> 000513
+[Upper] 000514..000515 -> 000515
+[Upper] 000516..000517 -> 000517
+[Upper] 000518..000519 -> 000519
+[Upper] 00051a..00051b -> 00051b
+[Upper] 00051c..00051d -> 00051d
+[Upper] 00051e..00051f -> 00051f
+[Upper] 000520..000521 -> 000521
+[Upper] 000522..000523 -> 000523
+[Upper] 000524..000525 -> 000525
+[Upper] 000526..000527 -> 000527
+[Upper] 000528..000529 -> 000529
+[Upper] 00052a..00052b -> 00052b
+[Upper] 00052c..00052d -> 00052d
+[Upper] 00052e..00052f -> 00052f
 [Upper]         000531 -> 000561
 [Upper]         000532 -> 000562
 [Upper]         000533 -> 000563
@@ -3942,14 +4247,108 @@
 [Upper]         0010c3 -> 002d23
 [Upper]         0010c4 -> 002d24
 [Upper]         0010c5 -> 002d25
-[Upper]         0010c6 -> 002d26
 [Upper]         0010c7 -> 002d27
-[Upper]         0010c8 -> 002d28
-[Upper]         0010c9 -> 002d29
-[Upper]         0010ca -> 002d2a
-[Upper]         0010cb -> 002d2b
-[Upper]         0010cc -> 002d2c
 [Upper]         0010cd -> 002d2d
+[Upper]         0013a0 -> 00ab70
+[Upper]         0013a1 -> 00ab71
+[Upper]         0013a2 -> 00ab72
+[Upper]         0013a3 -> 00ab73
+[Upper]         0013a4 -> 00ab74
+[Upper]         0013a5 -> 00ab75
+[Upper]         0013a6 -> 00ab76
+[Upper]         0013a7 -> 00ab77
+[Upper]         0013a8 -> 00ab78
+[Upper]         0013a9 -> 00ab79
+[Upper]         0013aa -> 00ab7a
+[Upper]         0013ab -> 00ab7b
+[Upper]         0013ac -> 00ab7c
+[Upper]         0013ad -> 00ab7d
+[Upper]         0013ae -> 00ab7e
+[Upper]         0013af -> 00ab7f
+[Upper]         0013b0 -> 00ab80
+[Upper]         0013b1 -> 00ab81
+[Upper]         0013b2 -> 00ab82
+[Upper]         0013b3 -> 00ab83
+[Upper]         0013b4 -> 00ab84
+[Upper]         0013b5 -> 00ab85
+[Upper]         0013b6 -> 00ab86
+[Upper]         0013b7 -> 00ab87
+[Upper]         0013b8 -> 00ab88
+[Upper]         0013b9 -> 00ab89
+[Upper]         0013ba -> 00ab8a
+[Upper]         0013bb -> 00ab8b
+[Upper]         0013bc -> 00ab8c
+[Upper]         0013bd -> 00ab8d
+[Upper]         0013be -> 00ab8e
+[Upper]         0013bf -> 00ab8f
+[Upper]         0013c0 -> 00ab90
+[Upper]         0013c1 -> 00ab91
+[Upper]         0013c2 -> 00ab92
+[Upper]         0013c3 -> 00ab93
+[Upper]         0013c4 -> 00ab94
+[Upper]         0013c5 -> 00ab95
+[Upper]         0013c6 -> 00ab96
+[Upper]         0013c7 -> 00ab97
+[Upper]         0013c8 -> 00ab98
+[Upper]         0013c9 -> 00ab99
+[Upper]         0013ca -> 00ab9a
+[Upper]         0013cb -> 00ab9b
+[Upper]         0013cc -> 00ab9c
+[Upper]         0013cd -> 00ab9d
+[Upper]         0013ce -> 00ab9e
+[Upper]         0013cf -> 00ab9f
+[Upper]         0013d0 -> 00aba0
+[Upper]         0013d1 -> 00aba1
+[Upper]         0013d2 -> 00aba2
+[Upper]         0013d3 -> 00aba3
+[Upper]         0013d4 -> 00aba4
+[Upper]         0013d5 -> 00aba5
+[Upper]         0013d6 -> 00aba6
+[Upper]         0013d7 -> 00aba7
+[Upper]         0013d8 -> 00aba8
+[Upper]         0013d9 -> 00aba9
+[Upper]         0013da -> 00abaa
+[Upper]         0013db -> 00abab
+[Upper]         0013dc -> 00abac
+[Upper]         0013dd -> 00abad
+[Upper]         0013de -> 00abae
+[Upper]         0013df -> 00abaf
+[Upper]         0013e0 -> 00abb0
+[Upper]         0013e1 -> 00abb1
+[Upper]         0013e2 -> 00abb2
+[Upper]         0013e3 -> 00abb3
+[Upper]         0013e4 -> 00abb4
+[Upper]         0013e5 -> 00abb5
+[Upper]         0013e6 -> 00abb6
+[Upper]         0013e7 -> 00abb7
+[Upper]         0013e8 -> 00abb8
+[Upper]         0013e9 -> 00abb9
+[Upper]         0013ea -> 00abba
+[Upper]         0013eb -> 00abbb
+[Upper]         0013ec -> 00abbc
+[Upper]         0013ed -> 00abbd
+[Upper]         0013ee -> 00abbe
+[Upper]         0013ef -> 00abbf
+[Upper]         0013f0 -> 0013f8
+[Upper]         0013f1 -> 0013f9
+[Upper]         0013f2 -> 0013fa
+[Upper]         0013f3 -> 0013fb
+[Upper]         0013f4 -> 0013fc
+[Upper]         0013f5 -> 0013fd
+[Upper]         0013f8 -> 0013f8
+[Upper]         0013f9 -> 0013f9
+[Upper]         0013fa -> 0013fa
+[Upper]         0013fb -> 0013fb
+[Upper]         0013fc -> 0013fc
+[Upper]         0013fd -> 0013fd
+[Upper]         001c80 -> 000432
+[Upper]         001c81 -> 000434
+[Upper]         001c82 -> 00043e
+[Upper]         001c83 -> 000441
+[Upper] 001c84..001c85 -> 000442
+[Upper]         001c86 -> 00044a
+[Upper]         001c87 -> 000463
+[Upper]         001c88 -> 00a64b
 [Upper]         001d79 -> 001d79
 [Upper]         001d7d -> 001d7d
 [Upper] 001e00..001e01 -> 001e01
@@ -4027,6 +4426,8 @@
 [Upper] 001e90..001e91 -> 001e91
 [Upper] 001e92..001e93 -> 001e93
 [Upper] 001e94..001e95 -> 001e95
+[Upper]         001e9b -> 001e61
+[Upper]         001e9e -> 0000df
 [Upper] 001ea0..001ea1 -> 001ea1
 [Upper] 001ea2..001ea3 -> 001ea3
 [Upper] 001ea4..001ea5 -> 001ea5
@@ -4072,6 +4473,9 @@
 [Upper] 001ef4..001ef5 -> 001ef5
 [Upper] 001ef6..001ef7 -> 001ef7
 [Upper] 001ef8..001ef9 -> 001ef9
+[Upper] 001efa..001efb -> 001efb
+[Upper] 001efc..001efd -> 001efd
+[Upper] 001efe..001eff -> 001eff
 [Upper]         001f00 -> 001f00
 [Upper]         001f01 -> 001f01
 [Upper]         001f02 -> 001f02
@@ -4138,22 +4542,20 @@
 [Upper]         001f43 -> 001f43
 [Upper]         001f44 -> 001f44
 [Upper]         001f45 -> 001f45
-[Upper]         001f46 -> 001f46
-[Upper]         001f47 -> 001f47
 [Upper]         001f48 -> 001f40
 [Upper]         001f49 -> 001f41
 [Upper]         001f4a -> 001f42
 [Upper]         001f4b -> 001f43
 [Upper]         001f4c -> 001f44
 [Upper]         001f4d -> 001f45
-[Upper]         001f4e -> 001f46
-[Upper]         001f4f -> 001f47
 [Upper]         001f51 -> 001f51
 [Upper]         001f53 -> 001f53
 [Upper]         001f55 -> 001f55
+[Upper]         001f57 -> 001f57
 [Upper]         001f59 -> 001f51
 [Upper]         001f5b -> 001f53
 [Upper]         001f5d -> 001f55
+[Upper]         001f5f -> 001f57
 [Upper]         001f60 -> 001f60
 [Upper]         001f61 -> 001f61
 [Upper]         001f62 -> 001f62
@@ -4240,6 +4642,7 @@
 [Upper]         001fba -> 001f70
 [Upper]         001fbb -> 001f71
 [Upper]         001fbc -> 001fb3
+[Upper]         001fbe -> 0003b9
 [Upper]         001fc3 -> 001fc3
 [Upper]         001fc8 -> 001f72
 [Upper]         001fc9 -> 001f73
@@ -4378,6 +4781,10 @@
 [Upper]         00206d -> 00206d
 [Upper]         00206e -> 00206e
 [Upper]         00206f -> 00206f
+[Upper]         002126 -> 0003c9
+[Upper]         00212b -> 0000e5
+[Upper]         002132 -> 00214e
+[Upper]         00214e -> 00214e
 [Upper]         002160 -> 002170
 [Upper]         002161 -> 002171
 [Upper]         002162 -> 002172
@@ -4410,6 +4817,7 @@
 [Upper]         00217d -> 00217d
 [Upper]         00217e -> 00217e
 [Upper]         00217f -> 00217f
+[Upper] 002183..002184 -> 002184
 [Upper]         002190 -> 002190
 [Upper]         002191 -> 002191
 [Upper]         002192 -> 002192
@@ -5310,10 +5718,10 @@
 [Upper] 002cdc..002cdd -> 002cdd
 [Upper] 002cde..002cdf -> 002cdf
 [Upper] 002ce0..002ce1 -> 002ce1
+[Upper] 002ce2..002ce3 -> 002ce3
 [Upper] 002ceb..002cec -> 002cec
 [Upper] 002ced..002cee -> 002cee
-[Upper] 002cef..002cf0 -> 002cf0
-[Upper] 002cf1..002cf2 -> 002cf2
+[Upper] 002cf2..002cf3 -> 002cf3
 [Upper]         002d00 -> 002d00
 [Upper]         002d01 -> 002d01
 [Upper]         002d02 -> 002d02
@@ -5352,13 +5760,7 @@
 [Upper]         002d23 -> 002d23
 [Upper]         002d24 -> 002d24
 [Upper]         002d25 -> 002d25
-[Upper]         002d26 -> 002d26
 [Upper]         002d27 -> 002d27
-[Upper]         002d28 -> 002d28
-[Upper]         002d29 -> 002d29
-[Upper]         002d2a -> 002d2a
-[Upper]         002d2b -> 002d2b
-[Upper]         002d2c -> 002d2c
 [Upper]         002d2d -> 002d2d
 [Upper] 00a640..00a641 -> 00a641
 [Upper] 00a642..00a643 -> 00a643
@@ -5444,7 +5846,7 @@
 [Upper] 00a784..00a785 -> 00a785
 [Upper] 00a786..00a787 -> 00a787
 [Upper] 00a78b..00a78c -> 00a78c
-[Upper] 00a78d..00a78e -> 00a78e
+[Upper]         00a78d -> 000265
 [Upper] 00a790..00a791 -> 00a791
 [Upper] 00a792..00a793 -> 00a793
 [Upper] 00a796..00a797 -> 00a797
@@ -5469,6 +5871,86 @@
 [Upper] 00a7b4..00a7b5 -> 00a7b5
 [Upper] 00a7b6..00a7b7 -> 00a7b7
 [Upper]         00ab53 -> 00ab53
+[Upper]         00ab70 -> 00ab70
+[Upper]         00ab71 -> 00ab71
+[Upper]         00ab72 -> 00ab72
+[Upper]         00ab73 -> 00ab73
+[Upper]         00ab74 -> 00ab74
+[Upper]         00ab75 -> 00ab75
+[Upper]         00ab76 -> 00ab76
+[Upper]         00ab77 -> 00ab77
+[Upper]         00ab78 -> 00ab78
+[Upper]         00ab79 -> 00ab79
+[Upper]         00ab7a -> 00ab7a
+[Upper]         00ab7b -> 00ab7b
+[Upper]         00ab7c -> 00ab7c
+[Upper]         00ab7d -> 00ab7d
+[Upper]         00ab7e -> 00ab7e
+[Upper]         00ab7f -> 00ab7f
+[Upper]         00ab80 -> 00ab80
+[Upper]         00ab81 -> 00ab81
+[Upper]         00ab82 -> 00ab82
+[Upper]         00ab83 -> 00ab83
+[Upper]         00ab84 -> 00ab84
+[Upper]         00ab85 -> 00ab85
+[Upper]         00ab86 -> 00ab86
+[Upper]         00ab87 -> 00ab87
+[Upper]         00ab88 -> 00ab88
+[Upper]         00ab89 -> 00ab89
+[Upper]         00ab8a -> 00ab8a
+[Upper]         00ab8b -> 00ab8b
+[Upper]         00ab8c -> 00ab8c
+[Upper]         00ab8d -> 00ab8d
+[Upper]         00ab8e -> 00ab8e
+[Upper]         00ab8f -> 00ab8f
+[Upper]         00ab90 -> 00ab90
+[Upper]         00ab91 -> 00ab91
+[Upper]         00ab92 -> 00ab92
+[Upper]         00ab93 -> 00ab93
+[Upper]         00ab94 -> 00ab94
+[Upper]         00ab95 -> 00ab95
+[Upper]         00ab96 -> 00ab96
+[Upper]         00ab97 -> 00ab97
+[Upper]         00ab98 -> 00ab98
+[Upper]         00ab99 -> 00ab99
+[Upper]         00ab9a -> 00ab9a
+[Upper]         00ab9b -> 00ab9b
+[Upper]         00ab9c -> 00ab9c
+[Upper]         00ab9d -> 00ab9d
+[Upper]         00ab9e -> 00ab9e
+[Upper]         00ab9f -> 00ab9f
+[Upper]         00aba0 -> 00aba0
+[Upper]         00aba1 -> 00aba1
+[Upper]         00aba2 -> 00aba2
+[Upper]         00aba3 -> 00aba3
+[Upper]         00aba4 -> 00aba4
+[Upper]         00aba5 -> 00aba5
+[Upper]         00aba6 -> 00aba6
+[Upper]         00aba7 -> 00aba7
+[Upper]         00aba8 -> 00aba8
+[Upper]         00aba9 -> 00aba9
+[Upper]         00abaa -> 00abaa
+[Upper]         00abab -> 00abab
+[Upper]         00abac -> 00abac
+[Upper]         00abad -> 00abad
+[Upper]         00abae -> 00abae
+[Upper]         00abaf -> 00abaf
+[Upper]         00abb0 -> 00abb0
+[Upper]         00abb1 -> 00abb1
+[Upper]         00abb2 -> 00abb2
+[Upper]         00abb3 -> 00abb3
+[Upper]         00abb4 -> 00abb4
+[Upper]         00abb5 -> 00abb5
+[Upper]         00abb6 -> 00abb6
+[Upper]         00abb7 -> 00abb7
+[Upper]         00abb8 -> 00abb8
+[Upper]         00abb9 -> 00abb9
+[Upper]         00abba -> 00abba
+[Upper]         00abbb -> 00abbb
+[Upper]         00abbc -> 00abbc
+[Upper]         00abbd -> 00abbd
+[Upper]         00abbe -> 00abbe
+[Upper]         00abbf -> 00abbf
 [Upper]         00ff21 -> 00ff41
 [Upper]         00ff22 -> 00ff42
 [Upper]         00ff23 -> 00ff43
@@ -5521,46 +6003,46 @@
 [Upper]         00ff58 -> 00ff58
 [Upper]         00ff59 -> 00ff59
 [Upper]         00ff5a -> 00ff5a
-[Upper]         010400 -> 010438
-[Upper]         010401 -> 010439
-[Upper]         010402 -> 01043a
-[Upper]         010403 -> 01043b
-[Upper]         010404 -> 01043c
-[Upper]         010405 -> 01043d
-[Upper]         010406 -> 01043e
-[Upper]         010407 -> 01043f
-[Upper]         010408 -> 010440
-[Upper]         010409 -> 010441
-[Upper]         01040a -> 010442
-[Upper]         01040b -> 010443
-[Upper]         01040c -> 010428
-[Upper]         01040d -> 010429
-[Upper]         01040e -> 01042a
-[Upper]         01040f -> 01042b
-[Upper]         010410 -> 01042c
-[Upper]         010411 -> 01042d
-[Upper]         010412 -> 01042e
-[Upper]         010413 -> 01042f
-[Upper]         010414 -> 010430
-[Upper]         010415 -> 010431
-[Upper]         010416 -> 010432
-[Upper]         010417 -> 010433
-[Upper]         010418 -> 010434
-[Upper]         010419 -> 010435
-[Upper]         01041a -> 010436
-[Upper]         01041b -> 010437
-[Upper]         01041c -> 010438
-[Upper]         01041d -> 010439
-[Upper]         01041e -> 01043a
-[Upper]         01041f -> 01043b
-[Upper]         010420 -> 01043c
-[Upper]         010421 -> 01043d
-[Upper]         010422 -> 01043e
-[Upper]         010423 -> 01043f
-[Upper]         010424 -> 010440
-[Upper]         010425 -> 010441
-[Upper]         010426 -> 010442
-[Upper]         010427 -> 010443
+[Upper]         010400 -> 010428
+[Upper]         010401 -> 010429
+[Upper]         010402 -> 01042a
+[Upper]         010403 -> 01042b
+[Upper]         010404 -> 01042c
+[Upper]         010405 -> 01042d
+[Upper]         010406 -> 01042e
+[Upper]         010407 -> 01042f
+[Upper]         010408 -> 010430
+[Upper]         010409 -> 010431
+[Upper]         01040a -> 010432
+[Upper]         01040b -> 010433
+[Upper]         01040c -> 010434
+[Upper]         01040d -> 010435
+[Upper]         01040e -> 010436
+[Upper]         01040f -> 010437
+[Upper]         010410 -> 010438
+[Upper]         010411 -> 010439
+[Upper]         010412 -> 01043a
+[Upper]         010413 -> 01043b
+[Upper]         010414 -> 01043c
+[Upper]         010415 -> 01043d
+[Upper]         010416 -> 01043e
+[Upper]         010417 -> 01043f
+[Upper]         010418 -> 010440
+[Upper]         010419 -> 010441
+[Upper]         01041a -> 010442
+[Upper]         01041b -> 010443
+[Upper]         01041c -> 010444
+[Upper]         01041d -> 010445
+[Upper]         01041e -> 010446
+[Upper]         01041f -> 010447
+[Upper]         010420 -> 010448
+[Upper]         010421 -> 010449
+[Upper]         010422 -> 01044a
+[Upper]         010423 -> 01044b
+[Upper]         010424 -> 01044c
+[Upper]         010425 -> 01044d
+[Upper]         010426 -> 01044e
+[Upper]         010427 -> 01044f
 [Upper]         010428 -> 010428
 [Upper]         010429 -> 010429
 [Upper]         01042a -> 01042a
@@ -5589,6 +6071,18 @@
 [Upper]         010441 -> 010441
 [Upper]         010442 -> 010442
 [Upper]         010443 -> 010443
+[Upper]         010444 -> 010444
+[Upper]         010445 -> 010445
+[Upper]         010446 -> 010446
+[Upper]         010447 -> 010447
+[Upper]         010448 -> 010448
+[Upper]         010449 -> 010449
+[Upper]         01044a -> 01044a
+[Upper]         01044b -> 01044b
+[Upper]         01044c -> 01044c
+[Upper]         01044d -> 01044d
+[Upper]         01044e -> 01044e
+[Upper]         01044f -> 01044f
 [Upper]         0104b0 -> 0104d8
 [Upper]         0104b1 -> 0104d9
 [Upper]         0104b2 -> 0104da





  reply	other threads:[~2016-10-04 14:54 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-04  1:05 bug#24603: [RFC 00/18] Improvement to casing Michal Nazarewicz
2016-10-04  1:10 ` bug#24603: [RFC 01/18] Add tests for casefiddle.c Michal Nazarewicz
2016-10-04  1:10   ` bug#24603: [RFC 02/18] Generate upcase and downcase tables from Unicode data Michal Nazarewicz
2016-10-04  7:27     ` Eli Zaretskii
2016-10-04 14:54       ` Michal Nazarewicz [this message]
2016-10-04 15:06         ` Eli Zaretskii
2016-10-04 16:57           ` Michal Nazarewicz
2016-10-04 17:27             ` Eli Zaretskii
2016-10-04 17:44               ` Eli Zaretskii
2016-10-06 20:29                 ` Michal Nazarewicz
2016-10-07  6:52                   ` Eli Zaretskii
2016-10-04  1:10   ` bug#24603: [RFC 03/18] Don’t assume character can be either upper- or lower-case when casing Michal Nazarewicz
2016-10-04  1:10   ` bug#24603: [RFC 04/18] Split casify_object into multiple functions Michal Nazarewicz
2016-10-04  1:10   ` bug#24603: [RFC 05/18] Introduce case_character function Michal Nazarewicz
2016-10-04  1:10   ` bug#24603: [RFC 06/18] Add support for title-casing letters Michal Nazarewicz
2016-10-04  1:10   ` bug#24603: [RFC 07/18] Split up casify_region function Michal Nazarewicz
2016-10-04  7:17     ` Eli Zaretskii
2016-10-18  2:27       ` Michal Nazarewicz
2016-10-04  1:10   ` bug#24603: [RFC 08/18] Support casing characters which map into multiple code points Michal Nazarewicz
2016-10-04  7:38     ` Eli Zaretskii
2016-10-06 21:40       ` Michal Nazarewicz
2016-10-07  7:46         ` Eli Zaretskii
2017-01-28 23:48           ` Michal Nazarewicz
2017-02-10  9:12             ` Eli Zaretskii
2016-10-04  1:10   ` bug#24603: [RFC 09/18] Implement special sigma casing rule Michal Nazarewicz
2016-10-04  7:22     ` Eli Zaretskii
2016-10-04  1:10   ` bug#24603: [RFC 10/18] Implement Turkic dotless and dotted i handling when casing strings Michal Nazarewicz
2016-10-04  7:12     ` Eli Zaretskii
2016-10-04  1:10   ` bug#24603: [RFC 11/18] Implement casing rules for Lithuanian Michal Nazarewicz
2016-10-04  1:10   ` bug#24603: [RFC 12/18] Implement rules for title-casing Dutch ij ‘letter’ Michal Nazarewicz
2016-10-04  1:10   ` bug#24603: [RFC 13/18] Add some tricky Unicode characters to regex test Michal Nazarewicz
2016-10-04  1:10   ` bug#24603: [RFC 14/18] Factor out character category lookup to separate function Michal Nazarewicz
2016-10-04  1:10   ` bug#24603: [RFC 15/18] Base lower- and upper-case tests on Unicode properties Michal Nazarewicz
2016-10-04  6:54     ` Eli Zaretskii
2016-10-04  1:10   ` bug#24603: [RFC 16/18] Refactor character class checking; optimise ASCII case Michal Nazarewicz
2016-10-04  7:48     ` Eli Zaretskii
2016-10-17 13:22       ` Michal Nazarewicz
2016-11-06 19:26       ` Michal Nazarewicz
2016-11-06 19:44         ` Eli Zaretskii
2016-12-20 14:32           ` Michal Nazarewicz
2016-12-20 16:39             ` Eli Zaretskii
2016-12-22 14:02               ` Michal Nazarewicz
2016-10-04  1:10   ` bug#24603: [RFC 17/18] Optimise character class matching in regexes Michal Nazarewicz
2016-10-04  1:10   ` bug#24603: [RFC 18/18] Fix case-fold-search character class matching Michal Nazarewicz
2016-10-17 22:03 ` bug#24603: [PATCH 0/3] Case table updates Michal Nazarewicz
2016-10-17 22:03   ` bug#24603: [PATCH 1/3] Add tests for casefiddle.c Michal Nazarewicz
2016-10-17 22:03   ` bug#24603: [PATCH 2/3] Generate upcase and downcase tables from Unicode data Michal Nazarewicz
2016-10-17 22:03   ` bug#24603: [PATCH 3/3] Don’t generate ‘X maps to X’ entries in case tables Michal Nazarewicz
2016-10-18  6:36   ` bug#24603: [PATCH 0/3] Case table updates Eli Zaretskii
2016-10-24 15:11     ` Michal Nazarewicz
2016-10-24 15:33       ` Eli Zaretskii
2017-03-09 21:51 ` bug#24603: [PATCHv5 00/11] Casing improvements Michal Nazarewicz
2017-03-09 21:51   ` bug#24603: [PATCHv5 01/11] Split casify_object into multiple functions Michal Nazarewicz
2017-03-10  9:00     ` Andreas Schwab
2017-03-09 21:51   ` bug#24603: [PATCHv5 02/11] Introduce case_character function Michal Nazarewicz
2017-03-09 21:51   ` bug#24603: [PATCHv5 03/11] Add support for title-casing letters (bug#24603) Michal Nazarewicz
2017-03-11  9:03     ` Eli Zaretskii
2017-03-09 21:51   ` bug#24603: [PATCHv5 04/11] Split up casify_region function (bug#24603) Michal Nazarewicz
2017-03-09 21:51   ` bug#24603: [PATCHv5 05/11] Support casing characters which map into multiple code points (bug#24603) Michal Nazarewicz
2017-03-11  9:14     ` Eli Zaretskii
2017-03-21  2:09       ` Michal Nazarewicz
2017-03-09 21:51   ` bug#24603: [PATCHv5 06/11] Implement special sigma casing rule (bug#24603) Michal Nazarewicz
2017-03-09 21:51   ` bug#24603: [PATCHv5 07/11] Introduce ‘buffer-language’ buffer-locar variable Michal Nazarewicz
2017-03-11  9:29     ` Eli Zaretskii
2017-03-09 21:51   ` bug#24603: [PATCHv5 08/11] Implement rules for title-casing Dutch ij ‘letter’ (bug#24603) Michal Nazarewicz
2017-03-11  9:40     ` Eli Zaretskii
2017-03-16 21:30       ` Michal Nazarewicz
2017-03-17 13:43         ` Eli Zaretskii
2017-03-09 21:51   ` bug#24603: [PATCHv5 09/11] Implement Turkic dotless and dotted i casing rules (bug#24603) Michal Nazarewicz
2017-03-09 21:51   ` bug#24603: [PATCHv5 10/11] Implement casing rules for Lithuanian (bug#24603) Michal Nazarewicz
2017-03-09 21:51   ` bug#24603: [PATCHv5 11/11] Implement Irish casing rules (bug#24603) Michal Nazarewicz
2017-03-11  9:44     ` Eli Zaretskii
2017-03-16 22:16       ` Michal Nazarewicz
2017-03-17  8:20         ` Eli Zaretskii
2017-03-11 10:00   ` bug#24603: [PATCHv5 00/11] Casing improvements Eli Zaretskii
2017-03-21  1:27   ` bug#24603: [PATCHv6 0/6] Casing improvements, language-independent part Michal Nazarewicz
2017-03-21  1:27     ` bug#24603: [PATCHv6 1/6] Split casify_object into multiple functions Michal Nazarewicz
2017-03-21  1:27     ` bug#24603: [PATCHv6 2/6] Introduce case_character function Michal Nazarewicz
2017-03-21  1:27     ` bug#24603: [PATCHv6 3/6] Add support for title-casing letters (bug#24603) Michal Nazarewicz
2017-03-21  1:27     ` bug#24603: [PATCHv6 4/6] Split up casify_region function (bug#24603) Michal Nazarewicz
2017-03-21  1:27     ` bug#24603: [PATCHv6 5/6] Support casing characters which map into multiple code points (bug#24603) Michal Nazarewicz
2017-03-22 16:06       ` Eli Zaretskii
2017-04-03  9:01         ` Michal Nazarewicz
2017-04-03 14:52           ` Eli Zaretskii
2019-06-25  0:09           ` Lars Ingebrigtsen
2019-06-25  0:29             ` Michał Nazarewicz
2020-08-11 13:46               ` Lars Ingebrigtsen
2021-05-10 11:51                 ` bug#24603: [RFC 00/18] Improvement to casing Lars Ingebrigtsen
2017-03-21  1:27     ` bug#24603: [PATCHv6 6/6] Implement special sigma casing rule (bug#24603) Michal Nazarewicz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xa1td1jgxizc.fsf@mina86.com \
    --to=mina86@mina86.com \
    --cc=24603@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).