Index | Thread | Search

From:
Ingo Schwarze <schwarze@usta.de>
Subject:
Re: Update locale to Unicode Version 15.0.0
To:
Andrew Hewus Fresh <andrew@afresh1.com>
Cc:
tech@openbsd.org
Date:
Mon, 24 Mar 2025 13:51:02 +0100

Download raw body.

Thread
Hello Andrew,

Andrew Fresh wrote on Sat, Mar 22, 2025 at 07:43:45PM -0700:

> This is just the result of running gen_ctype_utf8.pl, which a recent
> email from schwarze@ reminded me I hadn't done  after the perl update.
> 
> Comments, OK?

I have looked through about half the patch in some detail, and what i saw
looked plausible and certainly not dangerous to me:

* one Telugu combining sign reclassified from SPECIAL to ALPHA
* one new Kannada combining sign
* one new Lao combining SPECIAL sign
* two new Tibetan combining signs
* one new extension block for Arabic characters
* two new Kaithi combining signs
* two new Khojki letters and one modifier
* one new extension block of Devanagari signs
* one completely new historical script, Kawi
* one new Egyptian hieroglyph
* some changes to Egyptian hieroglyph format controls
* ...

The rest looks similar in spirit, touches only blocks with even higher
codepoints, and does not touch any blocks that might cause alarm.

So i think you should put this in.  Even relatively close to release,
i think that's OK.  It seems highly unlikely this breaks anything,
and there is a small chance it might help some people working in unusual
fields.

Yours,
  Ingo


> Index: en_US.UTF-8.src
> ===================================================================
> RCS file: /cvs/src/share/locale/ctype/en_US.UTF-8.src,v
> diff -u -p -r1.13 en_US.UTF-8.src
> --- en_US.UTF-8.src	16 Feb 2023 01:07:01 -0000	1.13
> +++ en_US.UTF-8.src	23 Mar 2025 02:34:06 -0000
> @@ -40,7 +40,7 @@
>  ENCODING        "UTF8"
>  VARIABLE        CODESET=UTF-8
>  
> -/* Unicode Version 14.0.0 */
> +/* Unicode Version 15.0.0 */
>  
>  /*
>   * U+0000 - U+007F : Basic Latin
> @@ -1192,9 +1192,9 @@ TODIGIT   < 0x0bf2 1000 >
>   * U+0C00 - U+0C7F : Telugu
>   */
>  
> -ALPHA     0x0c00 - 0x0c03  0x0c05 - 0x0c0c  0x0c0e - 0x0c10  0x0c12 - 0x0c28
> -ALPHA     0x0c2a - 0x0c39  0x0c3d - 0x0c44  0x0c46 - 0x0c48  0x0c4a - 0x0c4c
> -ALPHA     0x0c55 - 0x0c56  0x0c58 - 0x0c5a  0x0c5d  0x0c60 - 0x0c63
> +ALPHA     0x0c00 - 0x0c0c  0x0c0e - 0x0c10  0x0c12 - 0x0c28  0x0c2a - 0x0c39
> +ALPHA     0x0c3d - 0x0c44  0x0c46 - 0x0c48  0x0c4a - 0x0c4c  0x0c55 - 0x0c56
> +ALPHA     0x0c58 - 0x0c5a  0x0c5d  0x0c60 - 0x0c63
>  DIGIT     0x0c66 - 0x0c6f
>  GRAPH     0x0c00 - 0x0c0c  0x0c0e - 0x0c10  0x0c12 - 0x0c28  0x0c2a - 0x0c39
>  GRAPH     0x0c3c - 0x0c44  0x0c46 - 0x0c48  0x0c4a - 0x0c4d  0x0c55 - 0x0c56
> @@ -1205,7 +1205,7 @@ PRINT     0x0c00 - 0x0c0c  0x0c0e - 0x0c
>  PRINT     0x0c3c - 0x0c44  0x0c46 - 0x0c48  0x0c4a - 0x0c4d  0x0c55 - 0x0c56
>  PRINT     0x0c58 - 0x0c5a  0x0c5d  0x0c60 - 0x0c63  0x0c66 - 0x0c6f
>  PRINT     0x0c77 - 0x0c7f
> -SPECIAL   0x0c04  0x0c3c  0x0c4d  0x0c78 - 0x0c7e
> +SPECIAL   0x0c3c  0x0c4d  0x0c78 - 0x0c7e
>  SWIDTH0   0x0c00  0x0c04  0x0c3c  0x0c3e - 0x0c40  0x0c46 - 0x0c48
>  SWIDTH0   0x0c4a - 0x0c4d  0x0c55 - 0x0c56  0x0c62 - 0x0c63
>  SWIDTH1   0x0c01 - 0x0c03  0x0c05 - 0x0c0c  0x0c0e - 0x0c10  0x0c12 - 0x0c28
> @@ -1223,23 +1223,23 @@ TODIGIT   < 0x0c7c - 0x0c7e : 1 >
>  ALPHA     0x0c80 - 0x0c83  0x0c85 - 0x0c8c  0x0c8e - 0x0c90  0x0c92 - 0x0ca8
>  ALPHA     0x0caa - 0x0cb3  0x0cb5 - 0x0cb9  0x0cbd - 0x0cc4  0x0cc6 - 0x0cc8
>  ALPHA     0x0cca - 0x0ccc  0x0cd5 - 0x0cd6  0x0cdd - 0x0cde  0x0ce0 - 0x0ce3
> -ALPHA     0x0cf1 - 0x0cf2
> +ALPHA     0x0cf1 - 0x0cf3
>  DIGIT     0x0ce6 - 0x0cef
>  GRAPH     0x0c80 - 0x0c8c  0x0c8e - 0x0c90  0x0c92 - 0x0ca8  0x0caa - 0x0cb3
>  GRAPH     0x0cb5 - 0x0cb9  0x0cbc - 0x0cc4  0x0cc6 - 0x0cc8  0x0cca - 0x0ccd
>  GRAPH     0x0cd5 - 0x0cd6  0x0cdd - 0x0cde  0x0ce0 - 0x0ce3  0x0ce6 - 0x0cef
> -GRAPH     0x0cf1 - 0x0cf2
> +GRAPH     0x0cf1 - 0x0cf3
>  PUNCT     0x0c84
>  PRINT     0x0c80 - 0x0c8c  0x0c8e - 0x0c90  0x0c92 - 0x0ca8  0x0caa - 0x0cb3
>  PRINT     0x0cb5 - 0x0cb9  0x0cbc - 0x0cc4  0x0cc6 - 0x0cc8  0x0cca - 0x0ccd
>  PRINT     0x0cd5 - 0x0cd6  0x0cdd - 0x0cde  0x0ce0 - 0x0ce3  0x0ce6 - 0x0cef
> -PRINT     0x0cf1 - 0x0cf2
> +PRINT     0x0cf1 - 0x0cf3
>  SPECIAL   0x0cbc  0x0ccd
>  SWIDTH0   0x0c81  0x0cbc  0x0cbf  0x0cc6  0x0ccc - 0x0ccd  0x0ce2 - 0x0ce3
>  SWIDTH1   0x0c80  0x0c82 - 0x0c8c  0x0c8e - 0x0c90  0x0c92 - 0x0ca8
>  SWIDTH1   0x0caa - 0x0cb3  0x0cb5 - 0x0cb9  0x0cbd - 0x0cbe  0x0cc0 - 0x0cc4
>  SWIDTH1   0x0cc7 - 0x0cc8  0x0cca - 0x0ccb  0x0cd5 - 0x0cd6  0x0cdd - 0x0cde
> -SWIDTH1   0x0ce0 - 0x0ce1  0x0ce6 - 0x0cef  0x0cf1 - 0x0cf2
> +SWIDTH1   0x0ce0 - 0x0ce1  0x0ce6 - 0x0cef  0x0cf1 - 0x0cf3
>  
>  TODIGIT   < 0x0ce6 - 0x0cef : 0x0000 >
>  
> @@ -1314,13 +1314,13 @@ ALPHA     0x0ea7 - 0x0eb9  0x0ebb - 0x0e
>  ALPHA     0x0edc - 0x0edf
>  DIGIT     0x0ed0 - 0x0ed9
>  GRAPH     0x0e81 - 0x0e82  0x0e84  0x0e86 - 0x0e8a  0x0e8c - 0x0ea3  0x0ea5
> -GRAPH     0x0ea7 - 0x0ebd  0x0ec0 - 0x0ec4  0x0ec6  0x0ec8 - 0x0ecd
> +GRAPH     0x0ea7 - 0x0ebd  0x0ec0 - 0x0ec4  0x0ec6  0x0ec8 - 0x0ece
>  GRAPH     0x0ed0 - 0x0ed9  0x0edc - 0x0edf
>  PRINT     0x0e81 - 0x0e82  0x0e84  0x0e86 - 0x0e8a  0x0e8c - 0x0ea3  0x0ea5
> -PRINT     0x0ea7 - 0x0ebd  0x0ec0 - 0x0ec4  0x0ec6  0x0ec8 - 0x0ecd
> +PRINT     0x0ea7 - 0x0ebd  0x0ec0 - 0x0ec4  0x0ec6  0x0ec8 - 0x0ece
>  PRINT     0x0ed0 - 0x0ed9  0x0edc - 0x0edf
> -SPECIAL   0x0eba  0x0ec8 - 0x0ecc
> -SWIDTH0   0x0eb1  0x0eb4 - 0x0ebc  0x0ec8 - 0x0ecd
> +SPECIAL   0x0eba  0x0ec8 - 0x0ecc  0x0ece
> +SWIDTH0   0x0eb1  0x0eb4 - 0x0ebc  0x0ec8 - 0x0ece
>  SWIDTH1   0x0e81 - 0x0e82  0x0e84  0x0e86 - 0x0e8a  0x0e8c - 0x0ea3  0x0ea5
>  SWIDTH1   0x0ea7 - 0x0eb0  0x0eb2 - 0x0eb3  0x0ebd  0x0ec0 - 0x0ec4  0x0ec6
>  SWIDTH1   0x0ed0 - 0x0ed9  0x0edc - 0x0edf
> @@ -1331,7 +1331,7 @@ TODIGIT   < 0x0ed0 - 0x0ed9 : 0x0000 >
>   * U+0F00 - U+0FFF : Tibetan
>   */
>  
> -ALPHA     0x0f00  0x0f40 - 0x0f47  0x0f49 - 0x0f6c  0x0f71 - 0x0f81
> +ALPHA     0x0f00  0x0f40 - 0x0f47  0x0f49 - 0x0f6c  0x0f71 - 0x0f83
>  ALPHA     0x0f88 - 0x0f97  0x0f99 - 0x0fbc
>  DIGIT     0x0f20 - 0x0f29
>  GRAPH     0x0f00 - 0x0f47  0x0f49 - 0x0f6c  0x0f71 - 0x0f97  0x0f99 - 0x0fbc
> @@ -1342,7 +1342,7 @@ PUNCT     0x0fce - 0x0fda
>  PRINT     0x0f00 - 0x0f47  0x0f49 - 0x0f6c  0x0f71 - 0x0f97  0x0f99 - 0x0fbc
>  PRINT     0x0fbe - 0x0fcc  0x0fce - 0x0fda
>  SPECIAL   0x0f18 - 0x0f19  0x0f2a - 0x0f33  0x0f35  0x0f37  0x0f39
> -SPECIAL   0x0f3e - 0x0f3f  0x0f82 - 0x0f84  0x0f86 - 0x0f87  0x0fc6
> +SPECIAL   0x0f3e - 0x0f3f  0x0f84  0x0f86 - 0x0f87  0x0fc6
>  PHONOGRAM 0x0f00
>  SWIDTH0   0x0f18 - 0x0f19  0x0f35  0x0f37  0x0f39  0x0f71 - 0x0f7e
>  SWIDTH0   0x0f80 - 0x0f84  0x0f86 - 0x0f87  0x0f8d - 0x0f97  0x0f99 - 0x0fbc
> @@ -4720,9 +4720,14 @@ SWIDTH1   0x10e80 - 0x10ea9  0x10ead  0x
>  
>  
>  /*
> - * U+10EC0 - U+10EFF : No_Block
> + * U+10EC0 - U+10EFF : Arabic Extended-C
>   */
>  
> +GRAPH     0x10efd - 0x10eff
> +PRINT     0x10efd - 0x10eff
> +SPECIAL   0x10efd - 0x10eff
> +SWIDTH0   0x10efd - 0x10eff
> +
>  
>  /*
>   * U+10F00 - U+10F2F : Old Sogdian
> @@ -4826,11 +4831,11 @@ TODIGIT   < 0x11066 - 0x1106f : 0x0000 >
>   * U+11080 - U+110CF : Kaithi
>   */
>  
> -ALPHA     0x11082 - 0x110b8  0x110c2
> +ALPHA     0x11080 - 0x110b8  0x110c2
>  GRAPH     0x11080 - 0x110c2  0x110cd
>  PUNCT     0x110bb - 0x110bc  0x110be - 0x110c1
>  PRINT     0x11080 - 0x110c2  0x110cd
> -SPECIAL   0x11080 - 0x11081  0x110b9 - 0x110ba  0x110bd  0x110cd
> +SPECIAL   0x110b9 - 0x110ba  0x110bd  0x110cd
>  SWIDTH0   0x11080 - 0x11081  0x110b3 - 0x110b6  0x110b9 - 0x110ba  0x110bd
>  SWIDTH0   0x110c2  0x110cd
>  SWIDTH1   0x11082 - 0x110b2  0x110b7 - 0x110b8  0x110bb - 0x110bc
> @@ -4919,14 +4924,14 @@ TODIGIT   < 0x111f4 1000 >
>   * U+11200 - U+1124F : Khojki
>   */
>  
> -ALPHA     0x11200 - 0x11211  0x11213 - 0x11234  0x11237  0x1123e
> -GRAPH     0x11200 - 0x11211  0x11213 - 0x1123e
> +ALPHA     0x11200 - 0x11211  0x11213 - 0x11234  0x11237  0x1123e - 0x11241
> +GRAPH     0x11200 - 0x11211  0x11213 - 0x11241
>  PUNCT     0x11238 - 0x1123d
> -PRINT     0x11200 - 0x11211  0x11213 - 0x1123e
> +PRINT     0x11200 - 0x11211  0x11213 - 0x11241
>  SPECIAL   0x11235 - 0x11236
> -SWIDTH0   0x1122f - 0x11231  0x11234  0x11236 - 0x11237  0x1123e
> +SWIDTH0   0x1122f - 0x11231  0x11234  0x11236 - 0x11237  0x1123e  0x11241
>  SWIDTH1   0x11200 - 0x11211  0x11213 - 0x1122e  0x11232 - 0x11233  0x11235
> -SWIDTH1   0x11238 - 0x1123d
> +SWIDTH1   0x11238 - 0x1123d  0x1123f - 0x11240
>  
>  
>  /*
> @@ -5251,7 +5256,17 @@ SWIDTH1   0x11ac0 - 0x11af8
>  
>  
>  /*
> - * U+11B00 - U+11BFF : No_Block
> + * U+11B00 - U+11B5F : Devanagari Extended-A
> + */
> +
> +GRAPH     0x11b00 - 0x11b09
> +PUNCT     0x11b00 - 0x11b09
> +PRINT     0x11b00 - 0x11b09
> +SWIDTH1   0x11b00 - 0x11b09
> +
> +
> +/*
> + * U+11B60 - U+11BFF : No_Block
>   */
>  
>  
> @@ -5356,7 +5371,23 @@ SWIDTH1   0x11ee0 - 0x11ef2  0x11ef5 - 0
>  
>  
>  /*
> - * U+11F00 - U+11FAF : No_Block
> + * U+11F00 - U+11F5F : Kawi
> + */
> +
> +ALPHA     0x11f00 - 0x11f10  0x11f12 - 0x11f3a  0x11f3e - 0x11f40
> +DIGIT     0x11f50 - 0x11f59
> +GRAPH     0x11f00 - 0x11f10  0x11f12 - 0x11f3a  0x11f3e - 0x11f59
> +PUNCT     0x11f43 - 0x11f4f
> +PRINT     0x11f00 - 0x11f10  0x11f12 - 0x11f3a  0x11f3e - 0x11f59
> +SPECIAL   0x11f41 - 0x11f42
> +SWIDTH0   0x11f00 - 0x11f01  0x11f36 - 0x11f3a  0x11f40  0x11f42
> +SWIDTH1   0x11f02 - 0x11f10  0x11f12 - 0x11f35  0x11f3e - 0x11f3f  0x11f41
> +SWIDTH1   0x11f43 - 0x11f59
> +
> +TODIGIT   < 0x11f50 - 0x11f59 : 0x0000 >
> +
> +/*
> + * U+11F60 - U+11FAF : No_Block
>   */
>  
>  
> @@ -5465,24 +5496,27 @@ SWIDTH1   0x12f90 - 0x12ff2
>   * U+13000 - U+1342F : Egyptian Hieroglyphs
>   */
>  
> -ALPHA     0x13000 - 0x1342e
> -GRAPH     0x13000 - 0x1342e
> -PRINT     0x13000 - 0x1342e
> -SWIDTH1   0x13000 - 0x1342e
> +ALPHA     0x13000 - 0x1342f
> +GRAPH     0x13000 - 0x1342f
> +PRINT     0x13000 - 0x1342f
> +SWIDTH1   0x13000 - 0x1342f
>  
>  
>  /*
> - * U+13430 - U+1343F : Egyptian Hieroglyph Format Controls
> + * U+13430 - U+1345F : Egyptian Hieroglyph Format Controls
>   */
>  
> -CONTROL   0x13430 - 0x13438
> -GRAPH     0x13430 - 0x13438
> -PRINT     0x13430 - 0x13438
> -SWIDTH0   0x13430 - 0x13438
> +ALPHA     0x13441 - 0x13446
> +CONTROL   0x13430 - 0x1343f
> +GRAPH     0x13430 - 0x13455
> +PRINT     0x13430 - 0x13455
> +SPECIAL   0x13440  0x13447 - 0x13455
> +SWIDTH0   0x13430 - 0x13440  0x13447 - 0x13455
> +SWIDTH1   0x13441 - 0x13446
>  
>  
>  /*
> - * U+13440 - U+143FF : No_Block
> + * U+13460 - U+143FF : No_Block
>   */
>  
>  
> @@ -5711,10 +5745,10 @@ SWIDTH2   0x1b100 - 0x1b122
>   * U+1B130 - U+1B16F : Small Kana Extension
>   */
>  
> -ALPHA     0x1b150 - 0x1b152  0x1b164 - 0x1b167
> -GRAPH     0x1b150 - 0x1b152  0x1b164 - 0x1b167
> -PRINT     0x1b150 - 0x1b152  0x1b164 - 0x1b167
> -SWIDTH2   0x1b150 - 0x1b152  0x1b164 - 0x1b167
> +ALPHA     0x1b132  0x1b150 - 0x1b152  0x1b155  0x1b164 - 0x1b167
> +GRAPH     0x1b132  0x1b150 - 0x1b152  0x1b155  0x1b164 - 0x1b167
> +PRINT     0x1b132  0x1b150 - 0x1b152  0x1b155  0x1b164 - 0x1b167
> +SWIDTH2   0x1b132  0x1b150 - 0x1b152  0x1b155  0x1b164 - 0x1b167
>  
>  
>  /*
> @@ -5821,11 +5855,22 @@ SWIDTH1   0x1d200 - 0x1d241  0x1d245
>  
>  
>  /*
> - * U+1D250 - U+1D2DF : No_Block
> + * U+1D250 - U+1D2BF : No_Block
>   */
>  
>  
>  /*
> + * U+1D2C0 - U+1D2DF : Kaktovik Numerals
> + */
> +
> +GRAPH     0x1d2c0 - 0x1d2d3
> +PRINT     0x1d2c0 - 0x1d2d3
> +SPECIAL   0x1d2c0 - 0x1d2d3
> +SWIDTH1   0x1d2c0 - 0x1d2d3
> +
> +TODIGIT   < 0x1d2c0 - 0x1d2d3 : 0x0000 >
> +
> +/*
>   * U+1D2E0 - U+1D2FF : Mayan Numerals
>   */
>  
> @@ -5957,11 +6002,11 @@ SWIDTH1   0x1da76 - 0x1da83  0x1da85 - 0
>   * U+1DF00 - U+1DFFF : Latin Extended-G
>   */
>  
> -ALPHA     0x1df00 - 0x1df1e
> -GRAPH     0x1df00 - 0x1df1e
> -LOWER     0x1df00 - 0x1df09  0x1df0b - 0x1df1e
> -PRINT     0x1df00 - 0x1df1e
> -SWIDTH1   0x1df00 - 0x1df1e
> +ALPHA     0x1df00 - 0x1df1e  0x1df25 - 0x1df2a
> +GRAPH     0x1df00 - 0x1df1e  0x1df25 - 0x1df2a
> +LOWER     0x1df00 - 0x1df09  0x1df0b - 0x1df1e  0x1df25 - 0x1df2a
> +PRINT     0x1df00 - 0x1df1e  0x1df25 - 0x1df2a
> +SWIDTH1   0x1df00 - 0x1df1e  0x1df25 - 0x1df2a
>  
>  
>  /*
> @@ -5979,7 +6024,18 @@ SWIDTH0   0x1e023 - 0x1e024  0x1e026 - 0
>  
>  
>  /*
> - * U+1E030 - U+1E0FF : No_Block
> + * U+1E030 - U+1E08F : Cyrillic Extended-D
> + */
> +
> +ALPHA     0x1e030 - 0x1e06d  0x1e08f
> +GRAPH     0x1e030 - 0x1e06d  0x1e08f
> +PRINT     0x1e030 - 0x1e06d  0x1e08f
> +SWIDTH0   0x1e08f
> +SWIDTH1   0x1e030 - 0x1e06d
> +
> +
> +/*
> + * U+1E090 - U+1E0FF : No_Block
>   */
>  
>  
> @@ -6035,7 +6091,26 @@ SWIDTH1   0x1e2c0 - 0x1e2eb  0x1e2f0 - 0
>  TODIGIT   < 0x1e2f0 - 0x1e2f9 : 0x0000 >
>  
>  /*
> - * U+1E300 - U+1E7DF : No_Block
> + * U+1E300 - U+1E4CF : No_Block
> + */
> +
> +
> +/*
> + * U+1E4D0 - U+1E4FF : Nag Mundari
> + */
> +
> +ALPHA     0x1e4d0 - 0x1e4eb
> +DIGIT     0x1e4f0 - 0x1e4f9
> +GRAPH     0x1e4d0 - 0x1e4f9
> +PRINT     0x1e4d0 - 0x1e4f9
> +SPECIAL   0x1e4ec - 0x1e4ef
> +SWIDTH0   0x1e4ec - 0x1e4ef
> +SWIDTH1   0x1e4d0 - 0x1e4eb  0x1e4f0 - 0x1e4f9
> +
> +TODIGIT   < 0x1e4f0 - 0x1e4f9 : 0x0000 >
> +
> +/*
> + * U+1E500 - U+1E7DF : No_Block
>   */
>  
>  
> @@ -6371,33 +6446,33 @@ SWIDTH1   0x1f650 - 0x1f67f
>   * U+1F680 - U+1F6FF : Transport and Map Symbols
>   */
>  
> -GRAPH     0x1f680 - 0x1f6d7  0x1f6dd - 0x1f6ec  0x1f6f0 - 0x1f6fc
> -PUNCT     0x1f680 - 0x1f6d7  0x1f6dd - 0x1f6ec  0x1f6f0 - 0x1f6fc
> -PRINT     0x1f680 - 0x1f6d7  0x1f6dd - 0x1f6ec  0x1f6f0 - 0x1f6fc
> +GRAPH     0x1f680 - 0x1f6d7  0x1f6dc - 0x1f6ec  0x1f6f0 - 0x1f6fc
> +PUNCT     0x1f680 - 0x1f6d7  0x1f6dc - 0x1f6ec  0x1f6f0 - 0x1f6fc
> +PRINT     0x1f680 - 0x1f6d7  0x1f6dc - 0x1f6ec  0x1f6f0 - 0x1f6fc
>  SWIDTH1   0x1f6c6 - 0x1f6cb  0x1f6cd - 0x1f6cf  0x1f6d3 - 0x1f6d4
>  SWIDTH1   0x1f6e0 - 0x1f6ea  0x1f6f0 - 0x1f6f3
>  SWIDTH2   0x1f680 - 0x1f6c5  0x1f6cc  0x1f6d0 - 0x1f6d2  0x1f6d5 - 0x1f6d7
> -SWIDTH2   0x1f6dd - 0x1f6df  0x1f6eb - 0x1f6ec  0x1f6f4 - 0x1f6fc
> +SWIDTH2   0x1f6dc - 0x1f6df  0x1f6eb - 0x1f6ec  0x1f6f4 - 0x1f6fc
>  
>  
>  /*
>   * U+1F700 - U+1F77F : Alchemical Symbols
>   */
>  
> -GRAPH     0x1f700 - 0x1f773
> -PUNCT     0x1f700 - 0x1f773
> -PRINT     0x1f700 - 0x1f773
> -SWIDTH1   0x1f700 - 0x1f773
> +GRAPH     0x1f700 - 0x1f776  0x1f77b - 0x1f77f
> +PUNCT     0x1f700 - 0x1f776  0x1f77b - 0x1f77f
> +PRINT     0x1f700 - 0x1f776  0x1f77b - 0x1f77f
> +SWIDTH1   0x1f700 - 0x1f776  0x1f77b - 0x1f77f
>  
>  
>  /*
>   * U+1F780 - U+1F7FF : Geometric Shapes Extended
>   */
>  
> -GRAPH     0x1f780 - 0x1f7d8  0x1f7e0 - 0x1f7eb  0x1f7f0
> -PUNCT     0x1f780 - 0x1f7d8  0x1f7e0 - 0x1f7eb  0x1f7f0
> -PRINT     0x1f780 - 0x1f7d8  0x1f7e0 - 0x1f7eb  0x1f7f0
> -SWIDTH1   0x1f780 - 0x1f7d8
> +GRAPH     0x1f780 - 0x1f7d9  0x1f7e0 - 0x1f7eb  0x1f7f0
> +PUNCT     0x1f780 - 0x1f7d9  0x1f7e0 - 0x1f7eb  0x1f7f0
> +PRINT     0x1f780 - 0x1f7d9  0x1f7e0 - 0x1f7eb  0x1f7f0
> +SWIDTH1   0x1f780 - 0x1f7d9
>  SWIDTH2   0x1f7e0 - 0x1f7eb  0x1f7f0
>  
>  
> @@ -6440,18 +6515,18 @@ SWIDTH1   0x1fa00 - 0x1fa53  0x1fa60 - 0
>   * U+1FA70 - U+1FAFF : Symbols and Pictographs Extended-A
>   */
>  
> -GRAPH     0x1fa70 - 0x1fa74  0x1fa78 - 0x1fa7c  0x1fa80 - 0x1fa86
> -GRAPH     0x1fa90 - 0x1faac  0x1fab0 - 0x1faba  0x1fac0 - 0x1fac5
> -GRAPH     0x1fad0 - 0x1fad9  0x1fae0 - 0x1fae7  0x1faf0 - 0x1faf6
> -PUNCT     0x1fa70 - 0x1fa74  0x1fa78 - 0x1fa7c  0x1fa80 - 0x1fa86
> -PUNCT     0x1fa90 - 0x1faac  0x1fab0 - 0x1faba  0x1fac0 - 0x1fac5
> -PUNCT     0x1fad0 - 0x1fad9  0x1fae0 - 0x1fae7  0x1faf0 - 0x1faf6
> -PRINT     0x1fa70 - 0x1fa74  0x1fa78 - 0x1fa7c  0x1fa80 - 0x1fa86
> -PRINT     0x1fa90 - 0x1faac  0x1fab0 - 0x1faba  0x1fac0 - 0x1fac5
> -PRINT     0x1fad0 - 0x1fad9  0x1fae0 - 0x1fae7  0x1faf0 - 0x1faf6
> -SWIDTH2   0x1fa70 - 0x1fa74  0x1fa78 - 0x1fa7c  0x1fa80 - 0x1fa86
> -SWIDTH2   0x1fa90 - 0x1faac  0x1fab0 - 0x1faba  0x1fac0 - 0x1fac5
> -SWIDTH2   0x1fad0 - 0x1fad9  0x1fae0 - 0x1fae7  0x1faf0 - 0x1faf6
> +GRAPH     0x1fa70 - 0x1fa7c  0x1fa80 - 0x1fa88  0x1fa90 - 0x1fabd
> +GRAPH     0x1fabf - 0x1fac5  0x1face - 0x1fadb  0x1fae0 - 0x1fae8
> +GRAPH     0x1faf0 - 0x1faf8
> +PUNCT     0x1fa70 - 0x1fa7c  0x1fa80 - 0x1fa88  0x1fa90 - 0x1fabd
> +PUNCT     0x1fabf - 0x1fac5  0x1face - 0x1fadb  0x1fae0 - 0x1fae8
> +PUNCT     0x1faf0 - 0x1faf8
> +PRINT     0x1fa70 - 0x1fa7c  0x1fa80 - 0x1fa88  0x1fa90 - 0x1fabd
> +PRINT     0x1fabf - 0x1fac5  0x1face - 0x1fadb  0x1fae0 - 0x1fae8
> +PRINT     0x1faf0 - 0x1faf8
> +SWIDTH2   0x1fa70 - 0x1fa7c  0x1fa80 - 0x1fa88  0x1fa90 - 0x1fabd
> +SWIDTH2   0x1fabf - 0x1fac5  0x1face - 0x1fadb  0x1fae0 - 0x1fae8
> +SWIDTH2   0x1faf0 - 0x1faf8
>  
>  
>  /*
> @@ -6509,10 +6584,10 @@ TODIGIT   < 0x2626d 4 >
>   * U+2A700 - U+2B73F : CJK Unified Ideographs Extension C
>   */
>  
> -ALPHA     0x2a700 - 0x2b738
> -GRAPH     0x2a700 - 0x2b738
> -PRINT     0x2a700 - 0x2b738
> -SWIDTH2   0x2a700 - 0x2b738
> +ALPHA     0x2a700 - 0x2b739
> +GRAPH     0x2a700 - 0x2b739
> +PRINT     0x2a700 - 0x2b739
> +SWIDTH2   0x2a700 - 0x2b739
>  
>  
>  /*
> @@ -6577,7 +6652,17 @@ SWIDTH2   0x30000 - 0x3134a
>  
>  
>  /*
> - * U+31350 - U+DFFFF : No_Block
> + * U+31350 - U+323AF : CJK Unified Ideographs Extension H
> + */
> +
> +ALPHA     0x31350 - 0x323af
> +GRAPH     0x31350 - 0x323af
> +PRINT     0x31350 - 0x323af
> +SWIDTH2   0x31350 - 0x323af
> +
> +
> +/*
> + * U+323B0 - U+DFFFF : No_Block
>   */
>  
>