texlive[54961] Master/texmf-dist: xecjk (1may20)

commits+karl at tug.org commits+karl at tug.org
Fri May 1 23:29:24 CEST 2020


Revision: 54961
          http://tug.org/svn/texlive?view=revision&revision=54961
Author:   karl
Date:     2020-05-01 23:29:24 +0200 (Fri, 01 May 2020)
Log Message:
-----------
xecjk (1may20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/xelatex/xecjk/README.md
    trunk/Master/texmf-dist/doc/xelatex/xecjk/example/xeCJK-example-mathblock.tex
    trunk/Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf
    trunk/Master/texmf-dist/doc/xelatex/xecjk/xunicode-symbols.pdf
    trunk/Master/texmf-dist/doc/xelatex/xecjk/xunicode-symbols.tex
    trunk/Master/texmf-dist/fonts/misc/xetex/fontmapping/xecjk/han-simp.map
    trunk/Master/texmf-dist/fonts/misc/xetex/fontmapping/xecjk/han-simp.tec
    trunk/Master/texmf-dist/fonts/misc/xetex/fontmapping/xecjk/han-trad.map
    trunk/Master/texmf-dist/fonts/misc/xetex/fontmapping/xecjk/han-trad.tec
    trunk/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx
    trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty
    trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg
    trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
    trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty
    trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty
    trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def

Added Paths:
-----------
    trunk/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins

Modified: trunk/Master/texmf-dist/doc/xelatex/xecjk/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/xecjk/README.md	2020-05-01 21:28:49 UTC (rev 54960)
+++ trunk/Master/texmf-dist/doc/xelatex/xecjk/README.md	2020-05-01 21:29:24 UTC (rev 54961)
@@ -34,7 +34,7 @@
     and version 1.3 or later is part of all distributions of
     LaTeX version 2005/12/01 or later.
 
-    This work has the LPPL maintenance status `maintained'.
+    This work has the LPPL maintenance status "maintained".
 
     The Current Maintainers of this work are Leo Liu and Qing Lee.
 

Modified: trunk/Master/texmf-dist/doc/xelatex/xecjk/example/xeCJK-example-mathblock.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/xecjk/example/xeCJK-example-mathblock.tex	2020-05-01 21:28:49 UTC (rev 54960)
+++ trunk/Master/texmf-dist/doc/xelatex/xecjk/example/xeCJK-example-mathblock.tex	2020-05-01 21:29:24 UTC (rev 54961)
@@ -25,7 +25,7 @@
       [ #1 , Color = \test_color:n {#1} , BoldFont = SimHei ] { SimSun }
     \setCJKmonofont [ #1 ] { KaiTi }
   }
-\cs_new_protected_nopar:Npn \TEST
+\cs_new_protected:Npn \TEST
   {
     \exp_args:No \path { \c_test_text_tl } \par
     \c_test_text_tl \par

Modified: trunk/Master/texmf-dist/doc/xelatex/xecjk/xeCJK.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/xelatex/xecjk/xunicode-symbols.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/xelatex/xecjk/xunicode-symbols.tex
===================================================================
--- trunk/Master/texmf-dist/doc/xelatex/xecjk/xunicode-symbols.tex	2020-05-01 21:28:49 UTC (rev 54960)
+++ trunk/Master/texmf-dist/doc/xelatex/xecjk/xunicode-symbols.tex	2020-05-01 21:29:24 UTC (rev 54961)
@@ -18,7 +18,7 @@
 
 \makeatletter
 \ExplSyntaxOn
-\cs_new_protected_nopar:Npx \__xunsym_restore_catcode:
+\cs_new_protected:Npx \__xunsym_restore_catcode:
   { \char_set_catcode:nn { 0 } { \char_value_catcode:n { 0 } } }
 \file_if_exist:nTF { xunicode-commands.tex }
   { \char_set_catcode_comment:n { 0 } }
@@ -31,7 +31,7 @@
 ^^@ \prop_new:N \l__xunsym_command_prop
 ^^@ \prop_new:N \l__xunsym_combine_mark_prop
 ^^@ \prop_new:N \l__xunsym_combine_marks_prop
-^^@ \cs_new_protected_nopar:Npn \SaveUTFCommands
+^^@ \cs_new_protected:Npn \SaveUTFCommands
 ^^@   {
 ^^@     \group_begin:
 ^^@     \__xunsym_restore_catcode:
@@ -151,7 +151,7 @@
     \int_gincr:N \g__xunsym_table_int
     \exp_args:Nx \__xunsym_make_table:nnn { UTFTABLE - \int_use:N \g__xunsym_table_int } {#1} {#2}
   }
-\cs_new_protected_nopar:Npn \__xunsym_make_table:nnn #1#2#3
+\cs_new_protected:Npn \__xunsym_make_table:nnn #1#2#3
   {
     \section{#2~(\zref at extractdefault{#1}{default}{0})}
     \zref at refused{#1}

Modified: trunk/Master/texmf-dist/fonts/misc/xetex/fontmapping/xecjk/han-simp.map
===================================================================
--- trunk/Master/texmf-dist/fonts/misc/xetex/fontmapping/xecjk/han-simp.map	2020-05-01 21:28:49 UTC (rev 54960)
+++ trunk/Master/texmf-dist/fonts/misc/xetex/fontmapping/xecjk/han-simp.map	2020-05-01 21:29:24 UTC (rev 54961)
@@ -2,8 +2,8 @@
 ; from the Unicode Unihan database: <http://www.unicode.org/Public/UNIDATA/Unihan.zip>
 ;
 ; Unihan_Variants.txt
-; Date: 2018-11-09 21:36:19 GMT [JHJ]
-; Unicode version: 12.0.0
+; Date: 2020-02-18 18:27:33 GMT [JHJ]
+; Unicode version: 13.0.0
 ;
 
 LHSName "traditional"
@@ -16,91 +16,589 @@
 U+300E <> U+2018
 U+300F <> U+2019
 
+U+346E <> U+2B748
 U+346F <> U+3454
 U+3473 <> U+3447
+U+3476 <> U+3439
 U+3493 <> U+20242
+U+349C <> U+201D0
+U+34A3 <> U+2CF96
+U+34BF <> U+305A9
+U+34C4 <> U+2A81F
+U+34D6 <> U+300FB
 U+34E8 <> U+523E
+U+3503 <> U+2B98C
+U+3505 <> U+2B985
+U+350B <> U+2A7CE
+U+351D <> U+2B9A9
+U+3522 <> U+2B9B3
+U+3552 <> U+30195
+U+3562 <> U+301C0
+U+35A6 <> U+301CE
+U+35AE <> U+2A835
+U+35D9 <> U+2BA69
+U+35E2 <> U+301D6
+U+35E3 <> U+2BABA
+U+35F0 <> U+2BA5B
 U+35F2 <> U+20D7E
+U+35F6 <> U+2D1DC
+U+35FB <> U+2BA80
+U+35FC <> U+2BA64
+U+35FF <> U+2A85B
+U+3613 <> U+2A88C
+U+3614 <> U+2BB10
+U+3616 <> U+30241
+U+3619 <> U+2BA82
 U+361A <> U+360E
+U+3624 <> U+2121B
+U+3654 <> U+30258
+U+3661 <> U+2D382
+U+3662 <> U+3029F
+U+366C <> U+2BB9C
+U+367A <> U+3029B
+U+367E <> U+3027D
+U+36DD <> U+2B766
 U+3704 <> U+36AF
 U+370F <> U+36E3
+U+3710 <> U+2B767
+U+3717 <> U+2178B
+U+371E <> U+30306
 U+3722 <> U+217B1
+U+3725 <> U+2BC28
+U+372D <> U+2BC20
+U+372E <> U+2BC55
 U+3737 <> U+21760
+U+373A <> U+2BC97
+U+375E <> U+2BCC3
+U+375F <> U+2B938
 U+379E <> U+2AA0A
+U+37FA <> U+2AA47
+U+3801 <> U+2BD85
 U+380F <> U+37C6
+U+3820 <> U+30390
+U+3823 <> U+2BD77
+U+3853 <> U+2BDC5
+U+385E <> U+303DC
+U+3897 <> U+2AA91
 U+389D <> U+222C8
+U+3932 <> U+2BE81
 U+396E <> U+3918
+U+3977 <> U+30478
+U+398A <> U+2BE86
 U+398E <> U+226EF
+U+3996 <> U+2BE93
+U+399B <> U+225D3
+U+399E <> U+2AAF7
+U+39A6 <> U+2BEC1
+U+39AC <> U+3046B
+U+39AD <> U+2D74B
+U+3A1B <> U+304D4
+U+3A1F <> U+2BF25
+U+3A25 <> U+2BF40
+U+3A3B <> U+2AB83
+U+3A47 <> U+2BF47
+U+3A4B <> U+2AB8B
+U+3A4C <> U+2BF67
 U+3A5C <> U+3A2B
+U+3A63 <> U+2BF89
+U+3A6D <> U+2BF4A
 U+3A73 <> U+39D0
+U+3A75 <> U+64DC
+U+3A77 <> U+30532
+U+3A79 <> U+22DA3
+U+3A8E <> U+2ABCB
+U+3AB9 <> U+2C5A0
+U+3B23 <> U+2C02E
+U+3B2E <> U+305A0
+U+3B93 <> U+23572
+U+3B9D <> U+23497
+U+3BB2 <> U+305D9
+U+3BC2 <> U+30600
+U+3BC6 <> U+305E1
+U+3BE4 <> U+23610
+U+3BF8 <> U+305E6
+U+3BFC <> U+23665
+U+3C02 <> U+305F5
+U+3C05 <> U+2DAD9
+U+3C0D <> U+2CE9C
+U+3C30 <> U+2C162
+U+3C33 <> U+2DB48
+U+3CAF <> U+306AA
+U+3CB0 <> U+30694
+U+3CB2 <> U+2C1C7
+U+3D38 <> U+306DB
+U+3D3F <> U+306FD
+U+3D4D <> U+2C1F0
+U+3D51 <> U+30722
+U+3D52 <> U+2C215
+U+3D57 <> U+23CC6
+U+3D64 <> U+2C247
+U+3D7E <> U+2ADCD
+U+3D86 <> U+2B79B
+U+3D8C <> U+23F8D
+U+3D8D <> U+3075F
+U+3D8F <> U+3074B
+U+3D92 <> U+306E9
+U+3D95 <> U+30757
+U+3DC3 <> U+3077E
+U+3DCD <> U+241A2
+U+3DF2 <> U+30789
+U+3DF6 <> U+307B2
+U+3DFB <> U+2DD0A
 U+3DFF <> U+24237
+U+3E05 <> U+3078D
+U+3E0A <> U+2C2CD
+U+3E10 <> U+2C2BE
+U+3E53 <> U+30834
+U+3E7D <> U+2B7A3
 U+3E8F <> U+2480B
+U+3E91 <> U+2C337
+U+3E9C <> U+2AEBB
+U+3EF6 <> U+2AF0B
+U+3EFD <> U+3EEA
+U+3F06 <> U+2C386
+U+3F08 <> U+2DE5C
+U+3F3B <> U+2C3A7
+U+3FB5 <> U+2C3DF
+U+3FBA <> U+2C3DC
+U+3FC9 <> U+308F6
+U+3FCE <> U+2C3F7
+U+3FD6 <> U+2AF6E
+U+3FD7 <> U+24ECA
 U+3FE7 <> U+24F6F
+U+3FF9 <> U+30928
+U+4009 <> U+25062
+U+400D <> U+3094A
+U+4034 <> U+2C44F
 U+4039 <> U+25174
+U+405D <> U+3095E
 U+406A <> U+251E2
+U+4071 <> U+2C452
 U+407B <> U+4025
+U+408E <> U+2539D
+U+4093 <> U+30994
+U+40C1 <> U+309B4
+U+40D5 <> U+309B7
+U+40D8 <> U+2C48E
+U+40E2 <> U+309CE
+U+40E3 <> U+309A8
+U+40E4 <> U+2C495
+U+40EE <> U+9FCE
+U+40F4 <> U+309D8
+U+4150 <> U+2B028
+U+4158 <> U+257C2
+U+4173 <> U+2B02C
+U+4185 <> U+30A33
+U+4189 <> U+2B042
+U+41D3 <> U+30A67
+U+424D <> U+2C54A
+U+4250 <> U+2C55B
+U+4251 <> U+2B072
 U+4259 <> U+25B00
 U+426C <> U+2B088
+U+4271 <> U+2C566
 U+4272 <> U+25B9C
+U+4276 <> U+2B077
+U+429C <> U+30AAB
+U+429F <> U+30ACB
 U+42AD <> U+25E85
+U+42B2 <> U+2C87B
+U+42B5 <> U+2E260
 U+42B7 <> U+4336
+U+42BA <> U+2B11A
+U+42C3 <> U+2B11C
+U+42C6 <> U+30B01
+U+42CD <> U+30B02
+U+42CE <> U+2C61C
+U+42CF <> U+2E263
+U+42D0 <> U+2C619
+U+42D1 <> U+30B03
+U+42D4 <> U+2B11E
 U+42D9 <> U+433A
 U+42DA <> U+433B
+U+42E6 <> U+2B129
+U+42EB <> U+30B11
+U+42F9 <> U+433F
+U+42FA <> U+2C634
 U+42FB <> U+433E
+U+42FC <> U+2B12E
+U+42FD <> U+30B2D
+U+42FE <> U+2C632
 U+42FF <> U+26213
+U+4301 <> U+2C631
+U+4307 <> U+30B31
 U+4308 <> U+26216
 U+430B <> U+26218
+U+430C <> U+30B36
+U+4310 <> U+2C62E
 U+4316 <> U+2621C
 U+431D <> U+2621F
+U+431E <> U+2C62A
 U+431F <> U+2621E
 U+4325 <> U+26220
+U+432A <> U+2C641
 U+4330 <> U+26219
+U+4364 <> U+2B145
+U+4377 <> U+2C66D
+U+437D <> U+26360
+U+4398 <> U+2C684
+U+4399 <> U+2B16D
+U+43B1 <> U+43AC
+U+43CA <> U+30B79
+U+4422 <> U+30B99
+U+4423 <> U+2C07D
+U+4437 <> U+2C085
+U+4439 <> U+30BB2
+U+443D <> U+30BCE
+U+4457 <> U+2C6F9
+U+447C <> U+30C0C
+U+44E3 <> U+2C72F
+U+4507 <> U+30C34
+U+4508 <> U+30C40
+U+4521 <> U+2C741
+U+4561 <> U+30C69
+U+4564 <> U+2B7D5
 U+4573 <> U+26C34
+U+4579 <> U+30C36
+U+457C <> U+2C774
+U+4580 <> U+30C96
+U+4585 <> U+2B7D1
+U+459A <> U+30C9F
+U+45C3 <> U+30CB3
+U+45C5 <> U+2B2AA
+U+45E5 <> U+30CAF
+U+45FB <> U+2E502
+U+45FD <> U+30CDA
 U+45FF <> U+2725E
+U+4654 <> U+2B2F2
 U+4661 <> U+464C
+U+4671 <> U+2772D
+U+467C <> U+30D16
+U+4686 <> U+2C891
+U+4689 <> U+2C890
+U+4695 <> U+30D17
+U+469E <> U+30D24
+U+46A9 <> U+2B32F
+U+46B3 <> U+2C8DB
+U+46B5 <> U+2C8DF
+U+46BD <> U+2C8DC
+U+46C0 <> U+30D50
+U+46C4 <> U+2B360
+U+46CC <> U+30D5C
+U+46CD <> U+2C8E7
+U+46D8 <> U+2C8EF
+U+46DB <> U+2C8EC
+U+46DE <> U+2C8F8
+U+46E0 <> U+30D6B
+U+46E4 <> U+2C8F9
+U+46EC <> U+2C901
+U+46ED <> U+30D70
+U+46F3 <> U+2B36B
+U+46FD <> U+2C90C
+U+46FF <> U+2C911
 U+4700 <> U+4727
+U+4704 <> U+30D88
+U+4709 <> U+2C918
+U+470B <> U+2C909
+U+470D <> U+2C91F
+U+470E <> U+2C8FF
+U+470F <> U+30D87
+U+4712 <> U+2C921
+U+4716 <> U+2B7E2
+U+471A <> U+2C92A
+U+471D <> U+2C92C
+U+474F <> U+30DAC
+U+4755 <> U+2C944
+U+476D <> U+2B3A7
+U+476F <> U+2C975
 U+477B <> U+27E55
 U+477C <> U+478D
+U+4780 <> U+2C97D
+U+4781 <> U+2C97A
+U+4782 <> U+2C97B
 U+4788 <> U+27E51
+U+4789 <> U+30DE9
+U+478B <> U+2B3AA
+U+4793 <> U+2B3AD
+U+47B6 <> U+2C985
+U+47C3 <> U+2B3BA
+U+47C6 <> U+2B3B3
+U+47CF <> U+30DF4
+U+47D0 <> U+2B3B1
+U+47FA <> U+2C9A5
+U+4806 <> U+2B3C3
+U+481F <> U+30E08
+U+4820 <> U+30E1B
+U+4829 <> U+30E0A
+U+482E <> U+2C9C3
+U+4831 <> U+2815B
+U+4841 <> U+2C9E2
+U+4845 <> U+30E73
+U+4847 <> U+30E77
+U+484A <> U+30E7A
+U+4850 <> U+2B7E4
+U+4857 <> U+2CA06
+U+4858 <> U+2CA09
+U+485D <> U+30E91
+U+485F <> U+2CA0C
+U+4866 <> U+2CA11
+U+4869 <> U+2B7E5
+U+4870 <> U+30E98
+U+4874 <> U+30E9D
+U+4875 <> U+2B7E6
+U+4876 <> U+2CA14
+U+4877 <> U+30EA1
+U+487B <> U+30EA4
+U+487E <> U+30EA0
+U+4888 <> U+30EAD
 U+48A8 <> U+28479
+U+490C <> U+2E81E
+U+490D <> U+30F11
+U+4920 <> U+30F60
+U+4924 <> U+2B7FA
+U+4925 <> U+30F7A
+U+4928 <> U+30F78
+U+4929 <> U+2CB48
+U+492A <> U+2CB46
+U+492C <> U+30F88
+U+4935 <> U+30F90
+U+4938 <> U+30FA6
+U+493B <> U+30F96
+U+493C <> U+2CB63
+U+4944 <> U+2B800
 U+4947 <> U+4982
 U+4951 <> U+9FCF
+U+4955 <> U+2CB6F
+U+4956 <> U+30FBB
+U+4957 <> U+2B50B
+U+495B <> U+2CB74
+U+495D <> U+30FC1
+U+495E <> U+2CB7B
 U+4969 <> U+28C56
+U+496F <> U+2B506
 U+4971 <> U+497E
+U+4974 <> U+30FC5
+U+4976 <> U+30F5D
+U+4977 <> U+30FC7
+U+4978 <> U+289EE
+U+498C <> U+2E92C
+U+498E <> U+30FE8
 U+4998 <> U+28E04
 U+499B <> U+49B6
+U+499D <> U+2CBA8
 U+499F <> U+49B7
+U+49AA <> U+30FF4
+U+49AF <> U+2B535
+U+49B1 <> U+30FEB
 U+49B3 <> U+28DFF
+U+49DE <> U+2CBBA
 U+49E2 <> U+28E1F
+U+4A34 <> U+31052
+U+4A6B <> U+2CC25
+U+4A8A <> U+2B585
+U+4A8D <> U+3107D
 U+4A8F <> U+293FC
+U+4A90 <> U+31085
+U+4A93 <> U+2CC33
 U+4A97 <> U+29400
 U+4A98 <> U+293FF
+U+4A9C <> U+2CC37
+U+4A9D <> U+3108C
+U+4AA5 <> U+3108E
+U+4AB4 <> U+2B5AB
+U+4ABC <> U+310A2
+U+4ABE <> U+2B5AC
+U+4AC0 <> U+2B5B1
+U+4AC2 <> U+2B5B0
+U+4AC8 <> U+2CC63
+U+4AC9 <> U+2C948
+U+4ACC <> U+310AE
+U+4ACF <> U+2CC66
+U+4AD0 <> U+2C0F2
+U+4ADC <> U+2CC6E
+U+4ADF <> U+2B5B2
+U+4AE0 <> U+2CC70
+U+4AE5 <> U+3119A
+U+4AE9 <> U+2CC6C
 U+4AF4 <> U+29597
+U+4AF6 <> U+2B5BA
+U+4AFB <> U+2B5C7
+U+4AFC <> U+2CC77
+U+4AFE <> U+2B808
+U+4B00 <> U+310D6
+U+4B02 <> U+2CC78
+U+4B05 <> U+310DA
+U+4B0D <> U+2CC80
+U+4B0E <> U+2CC7F
+U+4B10 <> U+310DC
+U+4B13 <> U+2B5CA
+U+4B14 <> U+310DE
 U+4B18 <> U+2966E
 U+4B1D <> U+2966F
 U+4B1E <> U+29667
+U+4B1F <> U+310D9
+U+4B23 <> U+310F1
+U+4B27 <> U+2B5DF
+U+4B2A <> U+310F3
+U+4B2B <> U+2CCAE
+U+4B2C <> U+310F5
+U+4B2F <> U+2CCAB
+U+4B32 <> U+2CCAF
+U+4B33 <> U+310F7
+U+4B36 <> U+2CCB7
+U+4B39 <> U+310F8
+U+4B3E <> U+2CCBB
 U+4B40 <> U+29807
 U+4B43 <> U+29808
+U+4B45 <> U+2CCBE
+U+4B47 <> U+2CCC0
+U+4B48 <> U+31103
+U+4B49 <> U+2CCC5
+U+4B51 <> U+2B5F1
+U+4B52 <> U+2CCCB
+U+4B53 <> U+310F9
+U+4B54 <> U+2B5F0
+U+4B55 <> U+2CC95
+U+4B58 <> U+2CCD1
+U+4B5E <> U+2CCB3
+U+4B61 <> U+31109
+U+4B62 <> U+2CCB2
+U+4B63 <> U+2CCB6
+U+4B6D <> U+2CC6F
 U+4B7F <> U+299ED
+U+4B82 <> U+31144
+U+4B84 <> U+2B80A
+U+4B88 <> U+2CCFE
+U+4B97 <> U+2CD01
 U+4B9D <> U+299F0
 U+4B9E <> U+29A01
 U+4BA0 <> U+299FF
+U+4BA7 <> U+31160
 U+4BAB <> U+29A07
+U+4BB0 <> U+2B62E
+U+4BB2 <> U+31166
 U+4BB3 <> U+29A0F
+U+4BB8 <> U+2CCF8
+U+4BBD <> U+2CD0D
 U+4BBE <> U+299EA
+U+4BBF <> U+2CD0F
 U+4BC0 <> U+4BC5
+U+4BE4 <> U+29A48
+U+4C0E <> U+31183
+U+4C10 <> U+31185
+U+4C16 <> U+31188
+U+4C2B <> U+31199
+U+4C32 <> U+311CD
+U+4C37 <> U+2CD86
+U+4C3B <> U+311D5
+U+4C3D <> U+311D1
 U+4C3E <> U+9C83
+U+4C40 <> U+2B690
+U+4C41 <> U+2B68F
+U+4C42 <> U+311E4
+U+4C45 <> U+311DA
+U+4C47 <> U+311DE
+U+4C4C <> U+311EC
+U+4C4D <> U+2CD8A
+U+4C4E <> U+311E5
+U+4C50 <> U+311F2
+U+4C52 <> U+311F0
+U+4C53 <> U+2CD93
+U+4C57 <> U+2EB1E
 U+4C59 <> U+29F88
+U+4C5A <> U+2EB20
+U+4C5B <> U+2EB1F
+U+4C5C <> U+311F7
+U+4C5F <> U+31200
+U+4C61 <> U+311FD
+U+4C64 <> U+311FB
+U+4C65 <> U+311F9
+U+4C67 <> U+2B6A0
 U+4C6C <> U+29F8A
+U+4C6D <> U+31207
 U+4C70 <> U+29F8B
+U+4C71 <> U+2CDA4
+U+4C74 <> U+31208
+U+4C75 <> U+2EB22
 U+4C77 <> U+4CA3
+U+4C78 <> U+2B811
+U+4C79 <> U+2CDA3
+U+4C7B <> U+2EB21
 U+4C7D <> U+4C9D
+U+4C7E <> U+31206
 U+4C81 <> U+9CDA
+U+4C85 <> U+2B69C
+U+4C89 <> U+31212
+U+4C8F <> U+2CD97
+U+4C95 <> U+2CDB4
 U+4C96 <> U+29F82
+U+4C97 <> U+2EB23
+U+4C98 <> U+9CE4
+U+4C99 <> U+2CD8E
+U+4C9A <> U+31216
+U+4C9B <> U+3121B
+U+4CA8 <> U+2CDFE
 U+4CB0 <> U+2A242
+U+4CB8 <> U+2EB61
+U+4CB9 <> U+31256
+U+4CBC <> U+2CE06
+U+4CC5 <> U+31259
+U+4CC7 <> U+3125E
+U+4CCD <> U+2EB65
+U+4CCF <> U+31264
+U+4CD2 <> U+31267
+U+4CD3 <> U+31266
+U+4CD5 <> U+3127A
+U+4CDA <> U+31276
+U+4CDC <> U+2B6EC
+U+4CDF <> U+31282
+U+4CE2 <> U+2B6F0
+U+4CE4 <> U+2B6EE
+U+4CE7 <> U+2B6FA
+U+4CE8 <> U+2CE1B
+U+4CEB <> U+2B6FC
+U+4CED <> U+3127C
+U+4CEE <> U+31293
+U+4CF2 <> U+31299
+U+4CFA <> U+312A3
+U+4D07 <> U+312AA
+U+4D08 <> U+2CE29
 U+4D09 <> U+9E6E
+U+4D0B <> U+2B705
+U+4D1A <> U+2EB70
+U+4D1D <> U+312BC
 U+4D2C <> U+2A388
+U+4D2D <> U+2CE45
+U+4D2E <> U+312C6
+U+4D31 <> U+2B712
+U+4D32 <> U+312CA
+U+4D33 <> U+312CE
 U+4D34 <> U+2A38B
+U+4D35 <> U+312D4
+U+4D37 <> U+2CE49
+U+4D38 <> U+312D7
+U+4D39 <> U+312D9
+U+4D3A <> U+312DD
+U+4D3D <> U+2B714
+U+4D42 <> U+312EA
+U+4D43 <> U+312EB
+U+4D46 <> U+312EE
+U+4D50 <> U+312F4
+U+4D58 <> U+2C4F8
+U+4D73 <> U+2A445
+U+4D74 <> U+2B719
+U+4D76 <> U+31301
+U+4D77 <> U+31303
+U+4D95 <> U+2B728
+U+4D97 <> U+2EBD9
+U+4DA2 <> U+2CE8D
+U+4DA3 <> U+2CE83
+U+4DA6 <> U+2CE89
+U+4DA7 <> U+31330
+U+4DA8 <> U+31335
+U+4DAA <> U+2CE95
+U+4DB1 <> U+31347
+U+4DB2 <> U+2B733
 U+4E1F <> U+4E22
 U+4E26 <> U+5E76
 U+4E7E <> U+5E72
@@ -114,6 +612,7 @@
 U+4FB6 <> U+4FA3
 U+4FC1 <> U+4FE3
 U+4FC2 <> U+7CFB
+U+4FD3 <> U+201F9
 U+4FD4 <> U+4F23
 U+4FE0 <> U+4FA0
 U+4FE5 <> U+4F21
@@ -127,44 +626,66 @@
 U+5032 <> U+3448
 U+5049 <> U+4F1F
 U+5051 <> U+343D
+U+5069 <> U+3007E
 U+5074 <> U+4FA7
 U+5075 <> U+4FA6
 U+507D <> U+4F2A
+U+508C <> U+3437
 U+5091 <> U+6770
 U+5096 <> U+4F27
 U+5098 <> U+4F1E
 U+5099 <> U+5907
+U+50AA <> U+2B8BA
 U+50AD <> U+4F63
 U+50AF <> U+506C
+U+50B1 <> U+30067
 U+50B3 <> U+4F20
 U+50B4 <> U+4F1B
 U+50B5 <> U+503A
 U+50B7 <> U+4F24
 U+50BE <> U+503E
+U+50C0 <> U+30097
 U+50C2 <> U+507B
 U+50C5 <> U+4EC5
+U+50C6 <> U+2B8AA
 U+50C9 <> U+4F65
+U+50CD <> U+2B899
 U+50D1 <> U+4FA8
+U+50D3 <> U+3009C
 U+50D5 <> U+4EC6
+U+50D7 <> U+2B8AC
 U+50DE <> U+4F2A
+U+50E4 <> U+2B8B8
 U+50E5 <> U+4FA5
 U+50E8 <> U+507E
+U+50E9 <> U+3008E
+U+50F4 <> U+3008B
 U+50F9 <> U+4EF7
+U+50FE <> U+2B8CA
 U+5100 <> U+4EEA
+U+5101 <> U+347A
 U+5102 <> U+4FAC
 U+5104 <> U+4EBF
+U+5105 <> U+30078
 U+5108 <> U+4FA9
 U+5109 <> U+4FED
 U+5110 <> U+50A7
 U+5114 <> U+4FE6
 U+5115 <> U+4FAA
+U+5116 <> U+2B8C9
 U+5118 <> U+5C3D
 U+511F <> U+507F
+U+5122 <> U+300A6
 U+5123 <> U+201B2
+U+5125 <> U+3008F
+U+5129 <> U+300AD
 U+512A <> U+4F18
+U+5130 <> U+2B8AD
+U+5131 <> U+2B892
 U+5132 <> U+50A8
 U+5137 <> U+4FEA
 U+5138 <> U+3469
+U+5139 <> U+300C6
 U+513A <> U+50A9
 U+513B <> U+50A5
 U+513C <> U+4FE8
@@ -177,9 +698,12 @@
 U+51AA <> U+5E42
 U+51C8 <> U+51C0
 U+51CD <> U+51BB
+U+51D4 <> U+300F7
 U+51D9 <> U+2A79D
 U+51DC <> U+51DB
+U+51DF <> U+300FF
 U+51F1 <> U+51EF
+U+51FA <> U+51FA
 U+5225 <> U+522B
 U+522A <> U+5220
 U+5244 <> U+522D
@@ -192,6 +716,7 @@
 U+526E <> U+5250
 U+5274 <> U+5240
 U+5275 <> U+521B
+U+5278 <> U+3011E
 U+527E <> U+206C5
 U+5283 <> U+5212
 U+5287 <> U+5267
@@ -201,8 +726,10 @@
 U+528D <> U+5251
 U+528F <> U+34E5
 U+5291 <> U+5242
+U+5297 <> U+2D11B
 U+529A <> U+3509
 U+52C1 <> U+52B2
+U+52D1 <> U+20860
 U+52D5 <> U+52A8
 U+52D9 <> U+52A1
 U+52DB <> U+52CB
@@ -209,19 +736,25 @@
 U+52DD <> U+80DC
 U+52DE <> U+52B3
 U+52E2 <> U+52BF
+U+52E3 <> U+2A7DD
 U+52E9 <> U+52DA
 U+52F1 <> U+52A2
+U+52F4 <> U+30154
 U+52F5 <> U+52B1
 U+52F8 <> U+529D
 U+52FB <> U+5300
 U+532D <> U+5326
 U+532F <> U+6C47
+U+5330 <> U+30166
 U+5331 <> U+532E
+U+5335 <> U+30165
 U+5340 <> U+533A
 U+5354 <> U+534F
+U+5368 <> U+2B9EF
 U+537B <> U+5374
 U+5399 <> U+538D
 U+53AD <> U+538C
+U+53B1 <> U+3019A
 U+53B2 <> U+5389
 U+53B4 <> U+53A3
 U+53C3 <> U+53C2
@@ -230,6 +763,7 @@
 U+53F0 <> U+53F0
 U+540C <> U+540C
 U+540E <> U+540E
+U+5411 <> U+5411
 U+5412 <> U+54A4
 U+5433 <> U+5434
 U+5436 <> U+5450
@@ -238,7 +772,10 @@
 U+54E1 <> U+5458
 U+54EF <> U+20BDF
 U+5504 <> U+5457
+U+550A <> U+301D5
+U+5513 <> U+2A833
 U+551A <> U+5423
+U+553B <> U+2BA81
 U+554F <> U+95EE
 U+555E <> U+54D1
 U+555F <> U+542F
@@ -254,10 +791,14 @@
 U+55CA <> U+551D
 U+55CE <> U+5417
 U+55DA <> U+545C
+U+55E7 <> U+301E0
 U+55E9 <> U+5522
 U+55F6 <> U+54D4
 U+55F9 <> U+2A84F
+U+55FF <> U+301F2
+U+5604 <> U+2BAA7
 U+5606 <> U+53F9
+U+5607 <> U+301FC
 U+560D <> U+55BD
 U+5613 <> U+556F
 U+5614 <> U+5455
@@ -265,16 +806,21 @@
 U+5617 <> U+5C1D
 U+561C <> U+551B
 U+5629 <> U+54D7
+U+562A <> U+2A843
 U+562E <> U+5520
 U+562F <> U+5578
 U+5630 <> U+53FD
+U+5633 <> U+2A85E
 U+5635 <> U+54D3
 U+5638 <> U+5452
+U+563A <> U+2A840
 U+563D <> U+5574
+U+5641 <> U+2BAC7
 U+5645 <> U+20BE0
 U+5653 <> U+5618
 U+565A <> U+358A
 U+565D <> U+549D
+U+565E <> U+2A84B
 U+5660 <> U+54D2
 U+5665 <> U+54DD
 U+5666 <> U+54D5
@@ -284,23 +830,44 @@
 U+5678 <> U+5428
 U+5679 <> U+5F53
 U+5680 <> U+549B
+U+5682 <> U+30213
 U+5687 <> U+5413
+U+5688 <> U+2BA6B
 U+568C <> U+54DC
+U+568D <> U+2BA7A
+U+5690 <> U+30207
 U+5695 <> U+565C
 U+5699 <> U+556E
+U+569B <> U+2A838
+U+569D <> U+2BA55
+U+56A0 <> U+2D1EF
 U+56A6 <> U+5456
+U+56A7 <> U+20C37
 U+56A8 <> U+5499
+U+56A9 <> U+30236
+U+56AA <> U+2BAE6
+U+56AB <> U+3020D
+U+56AC <> U+2BAFE
+U+56B1 <> U+301E3
 U+56B2 <> U+4EB8
 U+56B3 <> U+55BE
 U+56B4 <> U+4E25
 U+56B6 <> U+5624
+U+56B8 <> U+3020A
+U+56BD <> U+2A895
+U+56BF <> U+2BA65
 U+56C0 <> U+556D
 U+56C1 <> U+55EB
 U+56C2 <> U+56A3
 U+56C5 <> U+5181
+U+56C7 <> U+2BA83
 U+56C8 <> U+5453
 U+56C9 <> U+5570
+U+56CB <> U+30244
+U+56D0 <> U+3022F
 U+56D1 <> U+5631
+U+56D2 <> U+2A8A0
+U+56D5 <> U+30206
 U+56EA <> U+56F1
 U+5707 <> U+56F5
 U+570B <> U+56FD
@@ -311,12 +878,18 @@
 U+5718 <> U+56E2
 U+571E <> U+2A8AE
 U+57B5 <> U+57EF
+U+57B7 <> U+3025A
+U+57C9 <> U+30265
 U+57E1 <> U+57AD
+U+57E8 <> U+2BB62
+U+57EC <> U+2A8C6
 U+57F0 <> U+91C7
 U+57F7 <> U+6267
 U+5805 <> U+575A
+U+5808 <> U+30259
 U+580A <> U+57A9
 U+5816 <> U+57B4
+U+581A <> U+2A8D2
 U+581D <> U+57DA
 U+582F <> U+5C27
 U+5831 <> U+62A5
@@ -329,24 +902,48 @@
 U+5862 <> U+575E
 U+5864 <> U+57D9
 U+5875 <> U+5C18
+U+5878 <> U+2BB5F
 U+5879 <> U+5811
+U+587C <> U+2BB5E
+U+587F <> U+2A8FB
+U+5886 <> U+30282
 U+588A <> U+57AB
+U+588B <> U+2BB85
+U+588F <> U+30288
 U+589C <> U+5760
+U+589D <> U+2BB6A
+U+58A0 <> U+2BB83
+U+58A2 <> U+2BB68
+U+58A7 <> U+30269
 U+58AE <> U+5815
 U+58B3 <> U+575F
+U+58B6 <> U+57AF
+U+58B7 <> U+3026A
 U+58BE <> U+57A6
+U+58BF <> U+30263
 U+58C7 <> U+575B
 U+58C8 <> U+21484
 U+58CB <> U+57B1
+U+58CD <> U+302A2
+U+58CF <> U+30291
+U+58D0 <> U+21291
+U+58D2 <> U+2D3E6
 U+58D3 <> U+538B
+U+58D4 <> U+2D39C
+U+58D7 <> U+212E4
 U+58D8 <> U+5792
 U+58D9 <> U+5739
 U+58DA <> U+5786
+U+58DB <> U+302A1
+U+58DD <> U+2D3F8
 U+58DE <> U+574F
 U+58DF <> U+5784
 U+58E0 <> U+5785
 U+58E2 <> U+575C
+U+58E3 <> U+2A91A
+U+58E7 <> U+2BB72
 U+58E9 <> U+575D
+U+58EA <> U+5846
 U+58EF <> U+58EE
 U+58FA <> U+58F6
 U+58FC <> U+58F8
@@ -358,53 +955,88 @@
 U+5967 <> U+5965
 U+5969 <> U+5941
 U+596A <> U+593A
+U+596B <> U+2BBF6
+U+596C <> U+5968
 U+596E <> U+594B
+U+596F <> U+2BBE5
+U+5972 <> U+2BC02
 U+597C <> U+59F9
 U+599D <> U+5986
 U+59CD <> U+59D7
 U+59E6 <> U+5978
+U+5A19 <> U+2BC1B
 U+5A1B <> U+5A31
 U+5A41 <> U+5A04
+U+5A61 <> U+2B76B
 U+5A66 <> U+5987
 U+5A6D <> U+5A05
+U+5A78 <> U+302F8
+U+5A81 <> U+2BC0D
+U+5A88 <> U+2B768
+U+5A9C <> U+30302
 U+5AA7 <> U+5A32
 U+5AAF <> U+59AB
 U+5AB0 <> U+36C0
 U+5ABC <> U+5AAA
 U+5ABD <> U+5988
+U+5AC8 <> U+30300
 U+5AD7 <> U+59AA
+U+5AE2 <> U+2BC39
+U+5AE5 <> U+302F9
+U+5AE7 <> U+30307
 U+5AF5 <> U+59A9
 U+5AFB <> U+5A34
 U+5AFF <> U+5A73
 U+5B03 <> U+5AAD
+U+5B05 <> U+2BC21
+U+5B07 <> U+2B76C
 U+5B08 <> U+5A06
 U+5B0B <> U+5A75
 U+5B0C <> U+5A07
+U+5B10 <> U+2BC30
+U+5B12 <> U+2BC22
 U+5B19 <> U+5AF1
 U+5B21 <> U+5AD2
+U+5B23 <> U+2A970
 U+5B24 <> U+5B37
+U+5B26 <> U+2B769
 U+5B2A <> U+5AD4
+U+5B2E <> U+302FD
 U+5B30 <> U+5A74
 U+5B38 <> U+5A76
+U+5B3B <> U+2A97F
+U+5B3E <> U+30319
+U+5B44 <> U+2B76E
+U+5B46 <> U+2B76D
+U+5B47 <> U+2A96B
 U+5B4B <> U+36E4
 U+5B4C <> U+5A08
+U+5B4E <> U+2181F
 U+5B6B <> U+5B59
+U+5B72 <> U+30326
 U+5B78 <> U+5B66
+U+5B7B <> U+21967
+U+5B7E <> U+2A9C0
 U+5B7F <> U+5B6A
 U+5BAE <> U+5BAB
+U+5BE0 <> U+2A9D8
 U+5BE2 <> U+5BDD
 U+5BE6 <> U+5B9E
 U+5BE7 <> U+5B81
 U+5BE9 <> U+5BA1
+U+5BEA <> U+30337
 U+5BEB <> U+5199
 U+5BEC <> U+5BBD
+U+5BEF <> U+3766
 U+5BF5 <> U+5BA0
 U+5BF6 <> U+5B9D
+U+5BF7 <> U+2BCB8
 U+5C07 <> U+5C06
 U+5C08 <> U+4E13
 U+5C0B <> U+5BFB
 U+5C0D <> U+5BF9
 U+5C0E <> U+5BFC
+U+5C35 <> U+2AA07
 U+5C37 <> U+5C34
 U+5C46 <> U+5C4A
 U+5C4D <> U+5C38
@@ -421,63 +1053,102 @@
 U+5CFD <> U+5CE1
 U+5D0D <> U+5D03
 U+5D17 <> U+5C97
+U+5D19 <> U+2AA27
+U+5D20 <> U+3038F
 U+5D22 <> U+5CE5
 U+5D2C <> U+5CBD
+U+5D31 <> U+30396
+U+5D35 <> U+2BD75
 U+5D50 <> U+5C9A
+U+5D77 <> U+3038C
+U+5D78 <> U+21D5D
 U+5D7C <> U+21DB4
+U+5D7D <> U+2BD87
+U+5D7E <> U+37E5
 U+5D81 <> U+5D5D
 U+5D84 <> U+5D2D
 U+5D87 <> U+5C96
+U+5D88 <> U+21E83
 U+5D94 <> U+5D5A
 U+5D97 <> U+5D02
 U+5DA0 <> U+5CE4
 U+5DA2 <> U+5CE3
+U+5DA4 <> U+30394
 U+5DA7 <> U+5CC4
+U+5DA9 <> U+3039E
+U+5DAA <> U+30391
 U+5DAE <> U+5D04
 U+5DB4 <> U+5C99
 U+5DB8 <> U+5D58
+U+5DB9 <> U+2B775
 U+5DBA <> U+5CAD
 U+5DBC <> U+5C7F
+U+5DBD <> U+303AB
+U+5DC3 <> U+3038E
+U+5DC6 <> U+2BD95
+U+5DCA <> U+2AA4E
 U+5DCB <> U+5CBF
+U+5DD1 <> U+303C1
 U+5DD2 <> U+5CE6
 U+5DD4 <> U+5DC5
+U+5DD6 <> U+303A0
+U+5DD7 <> U+2AA37
+U+5DD8 <> U+2AA58
+U+5DDA <> U+303B9
+U+5DE0 <> U+22016
 U+5DF0 <> U+5DEF
 U+5E25 <> U+5E05
 U+5E2B <> U+5E08
 U+5E33 <> U+5E10
+U+5E34 <> U+303D5
 U+5E36 <> U+5E26
 U+5E40 <> U+5E27
 U+5E43 <> U+5E0F
+U+5E53 <> U+384E
 U+5E57 <> U+5E3C
 U+5E58 <> U+5E3B
 U+5E5F <> U+5E1C
+U+5E60 <> U+2D613
 U+5E63 <> U+5E01
+U+5E69 <> U+2AA78
 U+5E6B <> U+5E2E
 U+5E6C <> U+5E31
+U+5E70 <> U+2BDC9
+U+5E71 <> U+303DF
 U+5E79 <> U+5E72
 U+5E7A <> U+4E48
 U+5E7E <> U+51E0
 U+5EAB <> U+5E93
+U+5EB2 <> U+2BDEC
 U+5EC1 <> U+5395
 U+5EC2 <> U+53A2
 U+5EC4 <> U+53A9
 U+5EC8 <> U+53A6
+U+5ED4 <> U+2BDF9
+U+5ED5 <> U+2BDEE
+U+5ED7 <> U+303FC
 U+5EDA <> U+53A8
 U+5EDD <> U+53AE
+U+5EDE <> U+2BDF7
 U+5EDF <> U+5E99
 U+5EE0 <> U+5382
 U+5EE1 <> U+5E91
 U+5EE2 <> U+5E9F
 U+5EE3 <> U+5E7F
+U+5EE5 <> U+303F6
+U+5EE7 <> U+2AA9E
 U+5EE9 <> U+5EEA
 U+5EEC <> U+5E90
+U+5EEE <> U+2BDFE
 U+5EF3 <> U+5385
 U+5F12 <> U+5F11
 U+5F33 <> U+5F2A
 U+5F35 <> U+5F20
 U+5F37 <> U+5F3A
+U+5F44 <> U+2BE29
 U+5F48 <> U+5F39
 U+5F4C <> U+5F25
+U+5F4D <> U+2D6A6
 U+5F4E <> U+5F2F
 U+5F59 <> U+6C47
 U+5F5E <> U+5F5D
@@ -492,20 +1163,25 @@
 U+5FA9 <> U+590D
 U+5FB5 <> U+5F81
 U+5FB9 <> U+5F7B
+U+5FBF <> U+2AACC
 U+5FD7 <> U+5FD7
 U+6046 <> U+6052
 U+6065 <> U+803B
 U+6085 <> U+60A6
+U+608F <> U+2BE82
 U+609E <> U+60AE
 U+60B5 <> U+6005
 U+60B6 <> U+95F7
+U+60C0 <> U+30444
 U+60E1 <> U+6076
 U+60F1 <> U+607C
 U+60F2 <> U+607D
 U+60FB <> U+607B
+U+6107 <> U+2BE74
 U+611B <> U+7231
 U+611C <> U+60EC
 U+6128 <> U+60AB
+U+6129 <> U+2BE8C
 U+6134 <> U+6006
 U+6137 <> U+607A
 U+613E <> U+5FFE
@@ -513,7 +1189,9 @@
 U+6144 <> U+6817
 U+614B <> U+6001
 U+614D <> U+6120
+U+6150 <> U+3045F
 U+6158 <> U+60E8
+U+6159 <> U+30467
 U+615A <> U+60ED
 U+615F <> U+6078
 U+6163 <> U+60EF
@@ -520,27 +1198,53 @@
 U+616A <> U+6004
 U+616B <> U+6002
 U+616E <> U+8651
+U+616F <> U+2BE7D
+U+6171 <> U+30441
+U+6172 <> U+30486
 U+6173 <> U+60AD
 U+6176 <> U+5E86
+U+6178 <> U+30475
+U+6179 <> U+30454
+U+617A <> U+396A
 U+6182 <> U+5FE7
 U+618A <> U+60EB
+U+618D <> U+392D
 U+6190 <> U+601C
 U+6191 <> U+51ED
 U+6192 <> U+6126
+U+6196 <> U+616D
 U+619A <> U+60EE
+U+61A2 <> U+22652
 U+61A4 <> U+6124
+U+61A6 <> U+2BE98
+U+61AA <> U+30465
 U+61AB <> U+60AF
 U+61AE <> U+6003
 U+61B2 <> U+5BAA
+U+61B4 <> U+3046A
 U+61B6 <> U+5FC6
+U+61B8 <> U+2AAFA
+U+61B9 <> U+22650
 U+61C0 <> U+22653
 U+61C7 <> U+6073
 U+61C9 <> U+5E94
 U+61CC <> U+603F
 U+61CD <> U+61D4
+U+61D3 <> U+2D784
+U+61D5 <> U+30455
+U+61D8 <> U+30492
+U+61D9 <> U+2BE6E
+U+61DC <> U+227FC
 U+61DF <> U+603C
+U+61E0 <> U+2BE8A
 U+61E3 <> U+61D1
+U+61E4 <> U+393D
+U+61E7 <> U+3916
 U+61E8 <> U+6079
+U+61E9 <> U+2BEAA
+U+61EB <> U+3046C
+U+61ED <> U+3043E
+U+61F0 <> U+30459
 U+61F2 <> U+60E9
 U+61F6 <> U+61D2
 U+61F7 <> U+6000
@@ -549,6 +1253,8 @@
 U+61FC <> U+60E7
 U+61FE <> U+6151
 U+6200 <> U+604B
+U+6201 <> U+2BEB7
+U+6203 <> U+3047F
 U+6207 <> U+6206
 U+6214 <> U+620B
 U+6227 <> U+6217
@@ -562,11 +1268,13 @@
 U+633E <> U+631F
 U+6368 <> U+820D
 U+636B <> U+626A
+U+6381 <> U+304C4
 U+6383 <> U+626B
 U+6384 <> U+62A1
 U+6386 <> U+39CF
 U+6397 <> U+631C
 U+6399 <> U+6323
+U+639A <> U+2AB75
 U+639B <> U+6302
 U+63A1 <> U+91C7
 U+63C0 <> U+62E3
@@ -573,20 +1281,34 @@
 U+63DA <> U+626C
 U+63DB <> U+6362
 U+63EE <> U+6325
+U+640A <> U+2BF1D
 U+640D <> U+635F
+U+640E <> U+304E7
 U+6416 <> U+6447
 U+6417 <> U+6363
 U+6435 <> U+63FE
 U+6436 <> U+62A2
+U+6440 <> U+304C6
+U+6443 <> U+2BF31
 U+644B <> U+22AEC
+U+6450 <> U+2AB62
 U+6451 <> U+63B4
+U+6455 <> U+30507
+U+6459 <> U+2BF41
 U+645C <> U+63BC
 U+645F <> U+6402
+U+646A <> U+2BF63
+U+646B <> U+304FB
 U+646F <> U+631A
+U+6472 <> U+304FC
 U+6473 <> U+62A0
 U+6476 <> U+629F
 U+647B <> U+63BA
+U+647C <> U+304F1
 U+6488 <> U+635E
+U+648A <> U+2AB7E
+U+648B <> U+304F7
+U+648C <> U+3050B
 U+648F <> U+6326
 U+6490 <> U+6491
 U+6493 <> U+6320
@@ -594,27 +1316,37 @@
 U+649F <> U+6322
 U+64A3 <> U+63B8
 U+64A5 <> U+62E8
+U+64A7 <> U+2AB96
 U+64AB <> U+629A
 U+64B2 <> U+6251
 U+64B3 <> U+63FF
+U+64B6 <> U+2BF27
 U+64BB <> U+631E
 U+64BE <> U+631D
 U+64BF <> U+6361
 U+64C1 <> U+62E5
+U+64C3 <> U+2BF2E
 U+64C4 <> U+63B3
 U+64C7 <> U+62E9
+U+64C8 <> U+2D819
 U+64CA <> U+51FB
 U+64CB <> U+6321
 U+64D3 <> U+39DF
 U+64D4 <> U+62C5
 U+64DA <> U+636E
+U+64DF <> U+2AB67
 U+64E0 <> U+6324
 U+64E3 <> U+22B4F
+U+64E5 <> U+39DB
+U+64E7 <> U+22A93
+U+64EA <> U+304D9
+U+64EB <> U+22B0D
 U+64EC <> U+62DF
 U+64EF <> U+6448
 U+64F0 <> U+62E7
 U+64F1 <> U+6401
 U+64F2 <> U+63B7
+U+64F3 <> U+304DC
 U+64F4 <> U+6269
 U+64F7 <> U+64B7
 U+64FA <> U+6446
@@ -624,7 +1356,10 @@
 U+64FE <> U+6270
 U+6504 <> U+6445
 U+6506 <> U+64B5
+U+650B <> U+2ABB6
+U+650E <> U+22AD8
 U+650F <> U+62E2
+U+6511 <> U+2BF65
 U+6514 <> U+62E6
 U+6516 <> U+6484
 U+6519 <> U+6400
@@ -631,29 +1366,45 @@
 U+651B <> U+64BA
 U+651C <> U+643A
 U+651D <> U+6444
+U+651E <> U+2BF4B
 U+6522 <> U+6512
 U+6523 <> U+631B
 U+6524 <> U+644A
+U+6526 <> U+304EC
+U+6527 <> U+2D8C7
+U+6529 <> U+2BF6E
 U+652A <> U+6405
 U+652C <> U+63FD
+U+6533 <> U+30541
 U+6557 <> U+8D25
 U+6558 <> U+53D9
 U+6575 <> U+654C
 U+6578 <> U+6570
+U+657A <> U+30545
+U+657F <> U+30548
+U+6581 <> U+2D8E7
 U+6582 <> U+655B
 U+6583 <> U+6BD9
+U+6584 <> U+2D90E
 U+6585 <> U+22F7E
 U+6586 <> U+6569
 U+6595 <> U+6593
 U+65AC <> U+65A9
 U+65B7 <> U+65AD
+U+65B8 <> U+230C1
 U+65BC <> U+4E8E
+U+65DD <> U+3056D
+U+65DF <> U+2D930
+U+661C <> U+200D3
 U+6642 <> U+65F6
 U+6649 <> U+664B
+U+665B <> U+2C02A
 U+665D <> U+663C
 U+6688 <> U+6655
 U+6689 <> U+6656
+U+6690 <> U+2C029
 U+6698 <> U+65F8
+U+669F <> U+2C031
 U+66A2 <> U+7545
 U+66AB <> U+6682
 U+66C4 <> U+6654
@@ -660,6 +1411,7 @@
 U+66C6 <> U+5386
 U+66C7 <> U+6619
 U+66C9 <> U+6653
+U+66CA <> U+2AC36
 U+66CF <> U+5411
 U+66D6 <> U+66A7
 U+66E0 <> U+65F7
@@ -666,21 +1418,28 @@
 U+66E5 <> U+23190
 U+66E8 <> U+663D
 U+66EC <> U+6652
+U+66ED <> U+2D9CB
+U+66EE <> U+30588
+U+66F2 <> U+66F2
 U+66F8 <> U+4E66
 U+6703 <> U+4F1A
 U+6725 <> U+266E8
 U+6727 <> U+80E7
 U+6771 <> U+4E1C
-U+6774 <> U+9528
+U+677F <> U+677F
 U+6781 <> U+6781
 U+67F5 <> U+6805
+U+6871 <> U+23415
 U+687F <> U+6746
 U+6894 <> U+6800
+U+6896 <> U+2AC77
 U+6898 <> U+67A7
+U+689C <> U+2C0A9
 U+689D <> U+6761
 U+689F <> U+67AD
 U+68B2 <> U+68C1
 U+68C4 <> U+5F03
+U+68C6 <> U+305D6
 U+68D6 <> U+67A8
 U+68D7 <> U+67A3
 U+68DF <> U+680B
@@ -689,14 +1448,19 @@
 U+68F2 <> U+6816
 U+68F6 <> U+68BE
 U+690F <> U+6860
+U+691A <> U+2DA5B
 U+6932 <> U+3B4F
+U+6947 <> U+2348C
 U+694A <> U+6768
+U+694E <> U+305E2
 U+6953 <> U+67AB
 U+6968 <> U+6862
 U+696D <> U+4E1A
 U+6975 <> U+6781
+U+699D <> U+2C0AE
 U+69AA <> U+6769
 U+69AE <> U+8363
+U+69AF <> U+305E8
 U+69B2 <> U+6985
 U+69BF <> U+6864
 U+69CB <> U+6784
@@ -704,8 +1468,11 @@
 U+69E4 <> U+68BF
 U+69E7 <> U+6920
 U+69E8 <> U+6901
+U+69EB <> U+233E2
+U+69EE <> U+692E
 U+69F3 <> U+6868
 U+69F6 <> U+6922
+U+69FB <> U+2C0C0
 U+69FC <> U+691D
 U+6A01 <> U+6869
 U+6A02 <> U+4E50
@@ -713,33 +1480,56 @@
 U+6A13 <> U+697C
 U+6A19 <> U+6807
 U+6A1E <> U+67A2
+U+6A20 <> U+235CA
 U+6A22 <> U+3B64
 U+6A23 <> U+6837
 U+6A2B <> U+3B74
+U+6A32 <> U+2C0D8
 U+6A33 <> U+686A
 U+6A38 <> U+6734
 U+6A39 <> U+6811
 U+6A3A <> U+6866
+U+6A3B <> U+2DAC0
 U+6A3F <> U+692B
+U+6A43 <> U+2DA70
+U+6A45 <> U+2C0A0
 U+6A48 <> U+6861
 U+6A4B <> U+6865
+U+6A5A <> U+305F9
 U+6A5F <> U+673A
 U+6A62 <> U+692D
+U+6A68 <> U+305FA
 U+6A6B <> U+6A2A
+U+6A6F <> U+234FF
 U+6A81 <> U+6AA9
+U+6A82 <> U+2C0B0
 U+6A89 <> U+67FD
+U+6A8B <> U+30608
+U+6A92 <> U+2EA34
 U+6A94 <> U+6863
+U+6A9B <> U+2DA86
 U+6A9C <> U+6867
 U+6A9F <> U+69DA
+U+6AA1 <> U+305DB
 U+6AA2 <> U+68C0
 U+6AA3 <> U+6A2F
+U+6AA5 <> U+2DA5A
 U+6AAD <> U+23634
 U+6AAE <> U+68BC
 U+6AAF <> U+53F0
+U+6AB0 <> U+30623
+U+6AB2 <> U+2345D
 U+6AB3 <> U+69DF
+U+6AB5 <> U+2AC9B
 U+6AB8 <> U+67E0
 U+6ABB <> U+69DB
+U+6ABE <> U+30613
+U+6ABF <> U+305DC
 U+6AC3 <> U+67DC
+U+6AC5 <> U+2AC8E
+U+6ACD <> U+2C0CA
+U+6ACE <> U+305D3
+U+6ACF <> U+305EC
 U+6AD3 <> U+6A79
 U+6ADA <> U+6988
 U+6ADB <> U+6809
@@ -746,26 +1536,44 @@
 U+6ADD <> U+691F
 U+6ADE <> U+6A7C
 U+6ADF <> U+680E
+U+6AE0 <> U+2ACAE
+U+6AE2 <> U+30638
 U+6AE5 <> U+6A71
 U+6AE7 <> U+69E0
 U+6AE8 <> U+680C
+U+6AE9 <> U+30620
 U+6AEA <> U+67A5
 U+6AEB <> U+6A65
 U+6AEC <> U+6987
+U+6AEF <> U+30636
 U+6AF1 <> U+8616
 U+6AF3 <> U+680A
+U+6AF4 <> U+30633
+U+6AF6 <> U+2C0EB
 U+6AF8 <> U+6989
+U+6AF9 <> U+30629
 U+6AFB <> U+6A31
+U+6AFD <> U+2C129
 U+6B04 <> U+680F
+U+6B07 <> U+2ACCD
 U+6B0A <> U+6743
 U+6B0D <> U+23424
 U+6B0F <> U+6924
+U+6B10 <> U+2AC94
+U+6B11 <> U+2AD19
 U+6B12 <> U+683E
 U+6B13 <> U+235CB
 U+6B16 <> U+6984
+U+6B18 <> U+2369A
 U+6B1E <> U+68C2
 U+6B3D <> U+94A6
+U+6B44 <> U+2C165
+U+6B4D <> U+3064B
 U+6B50 <> U+6B27
+U+6B55 <> U+2C16B
+U+6B57 <> U+30651
+U+6B5B <> U+3064E
+U+6B5E <> U+2AD2F
 U+6B5F <> U+6B24
 U+6B61 <> U+6B22
 U+6B72 <> U+5C81
@@ -774,6 +1582,7 @@
 U+6B7F <> U+6B81
 U+6B98 <> U+6B8B
 U+6B9E <> U+6B92
+U+6BA2 <> U+23A3C
 U+6BA4 <> U+6B87
 U+6BA8 <> U+3C6E
 U+6BAB <> U+6B9A
@@ -784,8 +1593,11 @@
 U+6BBA <> U+6740
 U+6BBC <> U+58F3
 U+6BC0 <> U+6BC1
+U+6BC4 <> U+2C1A6
 U+6BC6 <> U+6BB4
+U+6BCA <> U+2AD51
 U+6BFF <> U+6BF5
+U+6C00 <> U+306A6
 U+6C02 <> U+7266
 U+6C08 <> U+6BE1
 U+6C0C <> U+6C07
@@ -792,14 +1604,18 @@
 U+6C23 <> U+6C14
 U+6C2B <> U+6C22
 U+6C2C <> U+6C29
+U+6C2D <> U+23C5D
 U+6C33 <> U+6C32
 U+6C7A <> U+51B3
 U+6C92 <> U+6CA1
 U+6C96 <> U+51B2
 U+6CC1 <> U+51B5
+U+6CE8 <> U+6CE8
 U+6D36 <> U+6C79
 U+6D79 <> U+6D43
+U+6D7F <> U+2C1D9
 U+6D87 <> U+6CFE
+U+6DB7 <> U+306D2
 U+6DBC <> U+51C9
 U+6DDA <> U+6CEA
 U+6DE5 <> U+6E0C
@@ -814,12 +1630,17 @@
 U+6E2C <> U+6D4B
 U+6E3E <> U+6D51
 U+6E4A <> U+51D1
+U+6E4B <> U+23C97
 U+6E5E <> U+6D48
 U+6E6F <> U+6C64
 U+6E88 <> U+6CA9
 U+6E96 <> U+51C6
 U+6E9D <> U+6C9F
+U+6EA1 <> U+2AD84
+U+6EA4 <> U+306CA
 U+6EAB <> U+6E29
+U+6EAE <> U+6D49
+U+6EB0 <> U+306E5
 U+6EB3 <> U+6DA2
 U+6EC4 <> U+6CA7
 U+6EC5 <> U+706D
@@ -826,8 +1647,10 @@
 U+6ECC <> U+6DA4
 U+6ECE <> U+8365
 U+6EEC <> U+6CAA
+U+6EED <> U+306E1
 U+6EEF <> U+6EDE
 U+6EF2 <> U+6E17
+U+6EF7 <> U+306EE
 U+6EF8 <> U+6D52
 U+6EFB <> U+6D50
 U+6EFE <> U+6EDA
@@ -834,6 +1657,10 @@
 U+6EFF <> U+6EE1
 U+6F01 <> U+6E14
 U+6F0A <> U+6E87
+U+6F0D <> U+2C1F9
+U+6F0E <> U+306CF
+U+6F10 <> U+306E3
+U+6F19 <> U+2C1D8
 U+6F1A <> U+6CA4
 U+6F22 <> U+6C49
 U+6F23 <> U+6D9F
@@ -845,8 +1672,11 @@
 U+6F41 <> U+988D
 U+6F51 <> U+6CFC
 U+6F54 <> U+6D01
+U+6F5A <> U+3D0B
 U+6F5B <> U+6F5C
+U+6F63 <> U+2B797
 U+6F64 <> U+6DA6
+U+6F6C <> U+2C201
 U+6F6F <> U+6D54
 U+6F70 <> U+6E83
 U+6F77 <> U+6ED7
@@ -855,12 +1685,18 @@
 U+6F85 <> U+23DA9
 U+6F86 <> U+6D47
 U+6F87 <> U+6D9D
+U+6F92 <> U+2DC4A
+U+6F96 <> U+306F5
 U+6F97 <> U+6DA7
 U+6FA0 <> U+6E11
+U+6FA2 <> U+2DC0E
 U+6FA4 <> U+6CFD
 U+6FA6 <> U+6EEA
 U+6FA9 <> U+6CF6
+U+6FAB <> U+2C1D5
+U+6FAC <> U+2B79A
 U+6FAE <> U+6D4D
+U+6FB0 <> U+306F2
 U+6FB1 <> U+6DC0
 U+6FBE <> U+3CE0
 U+6FC1 <> U+6D4A
@@ -867,8 +1703,11 @@
 U+6FC3 <> U+6D53
 U+6FC4 <> U+3CE1
 U+6FC6 <> U+23E23
+U+6FC7 <> U+2C227
+U+6FCA <> U+306E6
 U+6FD5 <> U+6E7F
 U+6FD8 <> U+6CDE
+U+6FDA <> U+6E81
 U+6FDC <> U+6D55
 U+6FDF <> U+6D4E
 U+6FE4 <> U+6D9B
@@ -879,42 +1718,59 @@
 U+6FFA <> U+6E85
 U+6FFC <> U+6CFA
 U+6FFE <> U+6EE4
+U+6FFF <> U+2AD71
+U+7001 <> U+3071D
 U+7002 <> U+6F9B
 U+7003 <> U+23F77
+U+7004 <> U+306E4
 U+7005 <> U+6EE2
 U+7006 <> U+6E0E
 U+7007 <> U+3CBF
+U+7008 <> U+3074D
 U+7009 <> U+6CFB
 U+700B <> U+6C88
 U+700F <> U+6D4F
 U+7015 <> U+6FD2
 U+7018 <> U+6CF8
+U+7019 <> U+3071C
 U+701D <> U+6CA5
 U+701F <> U+6F47
 U+7020 <> U+6F46
+U+7022 <> U+2C24B
 U+7026 <> U+6F74
 U+7027 <> U+6CF7
 U+7028 <> U+6FD1
+U+702F <> U+30745
 U+7030 <> U+3CFD
 U+7032 <> U+6F4B
+U+7033 <> U+30728
+U+7034 <> U+30733
+U+7035 <> U+2C242
 U+703E <> U+6F9C
 U+7043 <> U+6CA3
 U+7044 <> U+6EE0
+U+704D <> U+2B79D
 U+7051 <> U+6D12
+U+7052 <> U+2ADFD
+U+7053 <> U+306EA
 U+7055 <> U+6F13
 U+7058 <> U+6EE9
 U+7059 <> U+23EBC
 U+705D <> U+704F
+U+705F <> U+2DCAB
 U+7060 <> U+6F24
 U+7061 <> U+3CD5
 U+7063 <> U+6E7E
 U+7064 <> U+6EE6
+U+7066 <> U+30764
 U+7067 <> U+6EDF
 U+707D <> U+707E
 U+70BA <> U+4E3A
 U+70CF <> U+4E4C
 U+70F4 <> U+70C3
+U+711B <> U+2CB9F
 U+7121 <> U+65E0
+U+7147 <> U+2AE29
 U+7149 <> U+70BC
 U+7152 <> U+709C
 U+7159 <> U+70DF
@@ -923,52 +1779,87 @@
 U+7169 <> U+70E6
 U+716C <> U+7080
 U+7171 <> U+3DBD
+U+717C <> U+2C282
+U+7182 <> U+2AE15
 U+7185 <> U+7174
 U+7189 <> U+24236
 U+718C <> U+241C4
 U+7192 <> U+8367
 U+7193 <> U+241A1
+U+7195 <> U+2C28E
 U+7197 <> U+709D
+U+719E <> U+307A4
 U+71A1 <> U+242CF
+U+71B0 <> U+2C27C
 U+71B1 <> U+70ED
 U+71B2 <> U+988E
 U+71BE <> U+70BD
+U+71C0 <> U+2C2A4
 U+71C1 <> U+70E8
 U+71C8 <> U+706F
+U+71CC <> U+307BB
 U+71D2 <> U+70E7
+U+71D6 <> U+2C288
+U+71D8 <> U+2C296
 U+71D9 <> U+70EB
 U+71DC <> U+7116
 U+71DF <> U+8425
+U+71E1 <> U+30787
 U+71E6 <> U+707F
 U+71ED <> U+70DB
+U+71F0 <> U+2C2BA
 U+71F4 <> U+70E9
+U+71F5 <> U+2C289
 U+71F6 <> U+3DB6
 U+71FC <> U+70EC
+U+71FD <> U+2C28D
 U+71FE <> U+7118
+U+7201 <> U+2C2B6
+U+7203 <> U+2B7A1
 U+7204 <> U+241C3
 U+720D <> U+70C1
 U+7210 <> U+7089
+U+7213 <> U+307D8
+U+7216 <> U+241ED
 U+721B <> U+70C2
+U+7223 <> U+2C2B5
+U+7225 <> U+2AE73
+U+7227 <> U+2B7A0
 U+722D <> U+4E89
 U+723A <> U+7237
 U+723E <> U+5C14
 U+7246 <> U+5899
+U+724B <> U+3081B
 U+7258 <> U+724D
+U+727C <> U+30832
 U+727D <> U+7275
+U+7285 <> U+3082B
+U+7293 <> U+2C31D
 U+7296 <> U+8366
+U+729E <> U+2AEAD
 U+72A2 <> U+728A
+U+72A4 <> U+30839
 U+72A7 <> U+727A
 U+72C0 <> U+72B6
 U+72F9 <> U+72ED
 U+72FD <> U+72C8
+U+730C <> U+2AEBD
+U+730D <> U+3084E
 U+7319 <> U+72F0
+U+7327 <> U+3084F
 U+7336 <> U+72B9
 U+733B <> U+72F2
 U+7341 <> U+72B8
 U+7344 <> U+72F1
 U+7345 <> U+72EE
+U+734A <> U+2AEB7
 U+734E <> U+5956
+U+7351 <> U+30854
+U+7356 <> U+3085E
+U+735F <> U+2C32E
+U+7362 <> U+3084A
 U+7368 <> U+72EC
+U+7369 <> U+24783
 U+736A <> U+72EF
 U+736B <> U+7303
 U+736E <> U+72DD
@@ -978,35 +1869,60 @@
 U+7375 <> U+730E
 U+7377 <> U+72B7
 U+7378 <> U+517D
+U+7379 <> U+30844
 U+737A <> U+736D
 U+737B <> U+732E
 U+737C <> U+7315
 U+7380 <> U+7321
 U+7381 <> U+247A4
+U+7382 <> U+30869
+U+73FC <> U+2B7A5
 U+73FE <> U+73B0
+U+7416 <> U+2C359
 U+743A <> U+73D0
 U+743F <> U+73F2
 U+744B <> U+73AE
 U+7452 <> U+739A
+U+7459 <> U+3087B
 U+7463 <> U+7410
 U+7464 <> U+7476
 U+7469 <> U+83B9
 U+746A <> U+739B
 U+7472 <> U+73B1
+U+747B <> U+2AEF2
 U+747D <> U+2AED0
 U+7489 <> U+740F
+U+748A <> U+2B7A9
+U+7495 <> U+2C364
+U+7497 <> U+2C361
+U+749B <> U+30884
+U+749D <> U+2AEFA
+U+74A1 <> U+740E
 U+74A3 <> U+7391
 U+74A6 <> U+7477
 U+74AB <> U+73F0
 U+74AF <> U+3EC5
 U+74B0 <> U+73AF
+U+74B5 <> U+7399
+U+74B8 <> U+7478
+U+74B9 <> U+3087D
+U+74BC <> U+2B7A8
 U+74BD <> U+73BA
+U+74BE <> U+2B7A6
+U+74C4 <> U+2AEE8
+U+74C5 <> U+2C35B
 U+74CA <> U+743C
 U+74CF <> U+73D1
+U+74D0 <> U+30875
+U+74D3 <> U+2C391
 U+74D4 <> U+748E
 U+74D5 <> U+24980
 U+74DA <> U+74D2
+U+74DB <> U+24A7D
+U+750A <> U+308A6
 U+750C <> U+74EF
+U+7512 <> U+308A2
+U+7516 <> U+308A4
 U+7522 <> U+4EA7
 U+755D <> U+4EA9
 U+7562 <> U+6BD5
@@ -1016,28 +1932,37 @@
 U+7587 <> U+7574
 U+758A <> U+53E0
 U+75D9 <> U+75C9
+U+75EE <> U+2AF6A
 U+75FE <> U+75B4
 U+7602 <> U+75D6
 U+760B <> U+75AF
 U+760D <> U+75A1
+U+7611 <> U+2C3EE
+U+7612 <> U+2C3EB
 U+7613 <> U+75EA
 U+761E <> U+7617
 U+7621 <> U+75AE
 U+7627 <> U+759F
 U+762E <> U+7606
+U+7631 <> U+2AF77
 U+7632 <> U+75AD
 U+763A <> U+7618
 U+7642 <> U+7597
 U+7646 <> U+75E8
 U+7647 <> U+75EB
+U+7648 <> U+2C3E6
 U+7649 <> U+7605
+U+764E <> U+308EF
+U+7650 <> U+24D8A
 U+7658 <> U+75A0
 U+765F <> U+762A
+U+7660 <> U+308EC
 U+7662 <> U+75D2
 U+7664 <> U+7596
 U+7665 <> U+75C7
 U+7667 <> U+75AC
 U+7669 <> U+765E
+U+766A <> U+308FC
 U+766C <> U+7663
 U+766D <> U+763F
 U+766E <> U+763E
@@ -1044,12 +1969,15 @@
 U+7670 <> U+75C8
 U+7671 <> U+762B
 U+7672 <> U+766B
+U+7674 <> U+308FD
 U+767C <> U+53D1
 U+769A <> U+7691
 U+769F <> U+24F80
+U+76AA <> U+30915
 U+76B0 <> U+75B1
 U+76B8 <> U+76B2
 U+76BA <> U+76B1
+U+76BE <> U+3092C
 U+76DC <> U+76D7
 U+76DE <> U+76CF
 U+76E1 <> U+5C3D
@@ -1056,27 +1984,45 @@
 U+76E3 <> U+76D1
 U+76E4 <> U+76D8
 U+76E7 <> U+5362
+U+76E8 <> U+2AF94
 U+76EA <> U+8361
 U+7725 <> U+7726
 U+773E <> U+4F17
 U+774D <> U+2AFA2
 U+774F <> U+56F0
+U+7754 <> U+2C446
 U+775C <> U+7741
 U+775E <> U+7750
+U+776A <> U+20B24
+U+7774 <> U+2C455
+U+7793 <> U+3095B
 U+7798 <> U+770D
+U+779B <> U+30952
 U+779C <> U+4056
 U+779E <> U+7792
+U+77A1 <> U+3096A
 U+77A4 <> U+251A7
+U+77AF <> U+30968
+U+77B1 <> U+2C453
 U+77B6 <> U+7786
+U+77B7 <> U+2C457
 U+77BC <> U+7751
+U+77C9 <> U+2AFB8
+U+77CA <> U+2C467
+U+77D1 <> U+2AFA6
 U+77D3 <> U+772C
+U+77D5 <> U+30960
+U+77D6 <> U+30962
+U+77D8 <> U+30979
 U+77DA <> U+77A9
 U+77EF <> U+77EB
+U+77F2 <> U+3099C
 U+785C <> U+7841
 U+7864 <> U+7856
 U+7868 <> U+7817
 U+786F <> U+781A
 U+7899 <> U+2543B
+U+78A2 <> U+309BF
 U+78A9 <> U+7855
 U+78AD <> U+7800
 U+78B8 <> U+781C
@@ -1084,32 +2030,52 @@
 U+78BC <> U+7801
 U+78BD <> U+40B5
 U+78D1 <> U+7859
+U+78D2 <> U+2C48D
 U+78DA <> U+7816
 U+78E0 <> U+7875
 U+78E3 <> U+789C
 U+78E7 <> U+789B
 U+78EF <> U+77F6
+U+78F1 <> U+2E024
+U+78F5 <> U+309C3
 U+78FD <> U+7857
+U+78FE <> U+40C5
 U+7904 <> U+785A
 U+7906 <> U+7877
+U+790B <> U+309B0
 U+790E <> U+7840
+U+790F <> U+2C486
+U+7910 <> U+2C488
 U+7912 <> U+2541F
 U+7919 <> U+788D
+U+791A <> U+25564
+U+791B <> U+309D4
+U+7925 <> U+309C7
 U+7926 <> U+77FF
+U+7929 <> U+309C9
 U+792A <> U+783A
 U+792B <> U+783E
 U+792C <> U+77FE
+U+792E <> U+2AFEB
+U+7930 <> U+309A6
 U+7931 <> U+783B
+U+7932 <> U+309AD
+U+7939 <> U+309BE
 U+797F <> U+7984
 U+798D <> U+7978
 U+798E <> U+796F
+U+7993 <> U+309F0
 U+7995 <> U+794E
+U+799C <> U+30C48
 U+79A1 <> U+7943
 U+79A6 <> U+5FA1
 U+79AA <> U+7985
+U+79AC <> U+309FB
 U+79AE <> U+793C
+U+79AF <> U+309FE
 U+79B0 <> U+7962
 U+79B1 <> U+7977
+U+79B5 <> U+30A16
 U+79BF <> U+79C3
 U+79C8 <> U+7C7C
 U+7A05 <> U+7A0E
@@ -1119,27 +2085,35 @@
 U+7A2E <> U+79CD
 U+7A31 <> U+79F0
 U+7A40 <> U+8C37
+U+7A47 <> U+415F
 U+7A4C <> U+7A23
 U+7A4D <> U+79EF
 U+7A4E <> U+9896
+U+7A56 <> U+2C4E0
 U+7A60 <> U+79FE
 U+7A61 <> U+7A51
 U+7A62 <> U+79FD
+U+7A67 <> U+30A26
 U+7A68 <> U+2C4FC
 U+7A69 <> U+7A33
 U+7A6B <> U+83B7
+U+7A6C <> U+30A1C
 U+7A6D <> U+7A06
 U+7AA9 <> U+7A9D
 U+7AAA <> U+6D3C
 U+7AAE <> U+7A77
 U+7AAF <> U+7A91
+U+7AB1 <> U+30A4F
 U+7AB5 <> U+7A8E
 U+7AB6 <> U+7AAD
 U+7ABA <> U+7AA5
+U+7AC0 <> U+30A53
 U+7AC4 <> U+7A9C
 U+7AC5 <> U+7A8D
 U+7AC7 <> U+7AA6
+U+7AC9 <> U+30A45
 U+7ACA <> U+7A83
+U+7AF1 <> U+2B05F
 U+7AF6 <> U+7ADE
 U+7B46 <> U+7B14
 U+7B4D <> U+7B0B
@@ -1147,6 +2121,7 @@
 U+7B74 <> U+41F2
 U+7B8B <> U+7B3A
 U+7B8F <> U+7B5D
+U+7BB9 <> U+30A7A
 U+7BC0 <> U+8282
 U+7BC4 <> U+8303
 U+7BC9 <> U+7B51
@@ -1153,16 +2128,26 @@
 U+7BCB <> U+7BA7
 U+7BD4 <> U+7B7C
 U+7BD8 <> U+25B20
+U+7BE2 <> U+2C542
 U+7BE4 <> U+7B03
 U+7BE9 <> U+7B5B
 U+7BF3 <> U+7B5A
+U+7BF5 <> U+25B08
+U+7BF8 <> U+25BBE
+U+7BFF <> U+30A6E
 U+7C00 <> U+7BA6
+U+7C02 <> U+2B086
 U+7C0D <> U+7BD3
+U+7C1C <> U+30A79
 U+7C1E <> U+7BAA
 U+7C21 <> U+7B80
+U+7C22 <> U+2B083
 U+7C23 <> U+7BD1
+U+7C25 <> U+30A78
 U+7C2B <> U+7BAB
+U+7C35 <> U+30A8F
 U+7C39 <> U+7B5C
+U+7C3B <> U+30A7B
 U+7C3D <> U+7B7E
 U+7C3E <> U+5E18
 U+7C43 <> U+7BEE
@@ -1170,25 +2155,39 @@
 U+7C4C <> U+7B79
 U+7C54 <> U+4264
 U+7C59 <> U+7B93
+U+7C5A <> U+30A72
 U+7C5B <> U+7BEF
 U+7C5C <> U+7BA8
 U+7C5F <> U+7C41
 U+7C60 <> U+7B3C
+U+7C63 <> U+2E18F
+U+7C66 <> U+30A8A
 U+7C69 <> U+7B3E
 U+7C6A <> U+7C16
+U+7C6B <> U+2C583
 U+7C6C <> U+7BF1
+U+7C6D <> U+2C544
 U+7C6E <> U+7BA9
+U+7C6F <> U+30AA3
+U+7CAF <> U+2C591
 U+7CB5 <> U+7CA4
+U+7CBB <> U+30AAD
 U+7CDD <> U+7CC1
 U+7CDE <> U+7CAA
 U+7CE7 <> U+7CAE
+U+7CEE <> U+2C5AE
+U+7CF0 <> U+30AB6
 U+7CF2 <> U+7C9D
 U+7CF4 <> U+7C74
 U+7CF6 <> U+7C9C
+U+7CF7 <> U+30AD6
 U+7CF9 <> U+7E9F
+U+7CFA <> U+2B119
+U+7CFD <> U+30AFC
 U+7CFE <> U+7EA0
 U+7D00 <> U+7EAA
 U+7D02 <> U+7EA3
+U+7D03 <> U+2C613
 U+7D04 <> U+7EA6
 U+7D05 <> U+7EA2
 U+7D06 <> U+7EA1
@@ -1196,8 +2195,11 @@
 U+7D08 <> U+7EA8
 U+7D09 <> U+7EAB
 U+7D0B <> U+7EB9
+U+7D0C <> U+2C615
 U+7D0D <> U+7EB3
 U+7D10 <> U+7EBD
+U+7D11 <> U+30AFD
+U+7D12 <> U+30B00
 U+7D13 <> U+7EBE
 U+7D14 <> U+7EAF
 U+7D15 <> U+7EB0
@@ -1209,54 +2211,99 @@
 U+7D1B <> U+7EB7
 U+7D1C <> U+7EAD
 U+7D1D <> U+7EB4
+U+7D1E <> U+2C618
+U+7D1F <> U+2B11B
 U+7D21 <> U+7EBA
+U+7D28 <> U+30B05
+U+7D29 <> U+2E262
 U+7D2C <> U+4337
+U+7D2D <> U+30B0B
 U+7D30 <> U+7EC6
 U+7D31 <> U+7EC2
 U+7D32 <> U+7EC1
 U+7D33 <> U+7EC5
 U+7D35 <> U+7EBB
+U+7D36 <> U+2C61B
+U+7D38 <> U+30B07
 U+7D39 <> U+7ECD
 U+7D3A <> U+7EC0
 U+7D3C <> U+7ECB
+U+7D3D <> U+30B09
+U+7D3E <> U+2C61D
 U+7D3F <> U+7ED0
 U+7D40 <> U+7ECC
+U+7D41 <> U+2B11F
 U+7D42 <> U+7EC8
+U+7D43 <> U+30B08
 U+7D44 <> U+7EC4
 U+7D45 <> U+4339
 U+7D46 <> U+7ECA
+U+7D47 <> U+30B06
+U+7D4D <> U+2B7C3
 U+7D4E <> U+7ED7
 U+7D50 <> U+7ED3
+U+7D51 <> U+30B0F
+U+7D53 <> U+2E264
 U+7D55 <> U+7EDD
+U+7D56 <> U+2C622
+U+7D58 <> U+30B12
+U+7D59 <> U+2B120
+U+7D5A <> U+30B0C
 U+7D5B <> U+7EE6
 U+7D5D <> U+7ED4
 U+7D5E <> U+7EDE
+U+7D5F <> U+2C625
+U+7D60 <> U+2C620
 U+7D61 <> U+7EDC
 U+7D62 <> U+7EDA
+U+7D63 <> U+30B14
+U+7D64 <> U+2C61F
+U+7D65 <> U+2B122
 U+7D66 <> U+7ED9
+U+7D67 <> U+2B121
 U+7D68 <> U+7ED2
+U+7D6A <> U+2C621
+U+7D6F <> U+30B13
 U+7D70 <> U+7ED6
 U+7D71 <> U+7EDF
 U+7D72 <> U+4E1D
 U+7D73 <> U+7EDB
+U+7D78 <> U+2C616
 U+7D79 <> U+7EE2
 U+7D7A <> U+2B128
+U+7D7B <> U+30B1C
+U+7D7C <> U+30B1B
+U+7D7D <> U+2C624
+U+7D7E <> U+30B16
+U+7D7F <> U+30B17
 U+7D80 <> U+2620C
 U+7D81 <> U+7ED1
 U+7D83 <> U+7EE1
+U+7D84 <> U+2C62B
+U+7D85 <> U+30B1E
 U+7D86 <> U+7EE0
 U+7D87 <> U+2620B
 U+7D88 <> U+7EE8
+U+7D8A <> U+30B0D
+U+7D8B <> U+2B7C4
 U+7D8C <> U+7EE4
+U+7D8D <> U+30B18
+U+7D8E <> U+2C629
 U+7D8F <> U+7EE5
 U+7D90 <> U+433C
 U+7D93 <> U+7ECF
+U+7D95 <> U+2C628
+U+7D96 <> U+2B127
 U+7D9C <> U+7EFC
 U+7D9D <> U+2C62D
 U+7D9E <> U+7F0D
+U+7D9F <> U+2B12B
 U+7DA0 <> U+7EFF
+U+7DA1 <> U+2B7C5
 U+7DA2 <> U+7EF8
 U+7DA3 <> U+7EFB
+U+7DA7 <> U+2C62F
+U+7DAA <> U+2C62C
 U+7DAC <> U+7EF6
 U+7DAD <> U+7EF4
 U+7DAF <> U+7EF9
@@ -1265,91 +2312,149 @@
 U+7DB2 <> U+7F51
 U+7DB4 <> U+7F00
 U+7DB5 <> U+433D
+U+7DB7 <> U+2E26C
 U+7DB8 <> U+7EB6
 U+7DB9 <> U+7EFA
 U+7DBA <> U+7EEE
 U+7DBB <> U+7EFD
+U+7DBC <> U+30B24
 U+7DBD <> U+7EF0
 U+7DBE <> U+7EEB
 U+7DBF <> U+7EF5
+U+7DC0 <> U+30B22
+U+7DC1 <> U+30B21
+U+7DC2 <> U+30B27
 U+7DC4 <> U+7EF2
+U+7DC5 <> U+2E26A
+U+7DC6 <> U+30B23
 U+7DC7 <> U+7F01
+U+7DC9 <> U+2E267
 U+7DCA <> U+7D27
 U+7DCB <> U+7EEF
+U+7DCC <> U+2E26B
 U+7DCD <> U+2620F
+U+7DCE <> U+30B1F
+U+7DCF <> U+30B25
 U+7DD2 <> U+7EEA
 U+7DD3 <> U+7EEC
+U+7DD4 <> U+7EF1
 U+7DD7 <> U+7F03
 U+7DD8 <> U+7F04
 U+7DD9 <> U+7F02
 U+7DDA <> U+7EBF
+U+7DDB <> U+2C630
 U+7DDD <> U+7F09
 U+7DDE <> U+7F0E
+U+7DDF <> U+2B7C6
 U+7DE0 <> U+7F14
 U+7DE1 <> U+7F17
+U+7DE2 <> U+30B2C
 U+7DE3 <> U+7F18
+U+7DE4 <> U+2B12C
 U+7DE6 <> U+7F0C
+U+7DE7 <> U+2C636
 U+7DE8 <> U+7F16
 U+7DE9 <> U+7F13
+U+7DEA <> U+2C635
+U+7DEB <> U+30B30
 U+7DEC <> U+7F05
+U+7DEE <> U+2B12D
 U+7DEF <> U+7EAC
 U+7DF0 <> U+26215
 U+7DF1 <> U+7F11
 U+7DF2 <> U+7F08
 U+7DF4 <> U+7EC3
+U+7DF5 <> U+30B2F
 U+7DF6 <> U+7F0F
 U+7DF7 <> U+26209
 U+7DF8 <> U+26211
 U+7DF9 <> U+7F07
+U+7DFA <> U+2E268
 U+7DFB <> U+81F4
 U+7E08 <> U+8426
 U+7E09 <> U+7F19
 U+7E0A <> U+7F22
 U+7E0B <> U+7F12
+U+7E0C <> U+30B33
+U+7E0D <> U+2B130
 U+7E0E <> U+26214
 U+7E10 <> U+7EC9
 U+7E11 <> U+7F23
+U+7E12 <> U+2C637
+U+7E13 <> U+30B32
 U+7E15 <> U+7F0A
+U+7E16 <> U+2C63B
 U+7E17 <> U+7F1E
+U+7E1A <> U+2C63A
 U+7E1B <> U+7F1A
+U+7E1C <> U+30B1A
 U+7E1D <> U+7F1C
 U+7E1E <> U+7F1F
 U+7E1F <> U+7F1B
+U+7E21 <> U+30B34
 U+7E23 <> U+53BF
+U+7E27 <> U+7EE6
+U+7E29 <> U+2E26F
+U+7E2A <> U+30B0E
 U+7E2B <> U+7F1D
 U+7E2C <> U+2621A
 U+7E2D <> U+7F21
 U+7E2E <> U+7F29
+U+7E2F <> U+2C642
+U+7E30 <> U+2B133
 U+7E31 <> U+7EB5
 U+7E32 <> U+7F27
 U+7E33 <> U+4338
+U+7E34 <> U+30B2E
 U+7E35 <> U+7F26
 U+7E36 <> U+7D77
 U+7E37 <> U+7F15
+U+7E38 <> U+2B132
 U+7E39 <> U+7F25
 U+7E3A <> U+26210
+U+7E3C <> U+30B35
 U+7E3D <> U+603B
 U+7E3E <> U+7EE9
+U+7E3F <> U+30B2A
+U+7E40 <> U+2E26E
+U+7E42 <> U+2B134
 U+7E43 <> U+7EF7
 U+7E45 <> U+7F2B
 U+7E46 <> U+7F2A
+U+7E48 <> U+2B136
+U+7E4E <> U+2C647
 U+7E4F <> U+2621D
+U+7E50 <> U+30B38
+U+7E51 <> U+30B10
 U+7E52 <> U+7F2F
 U+7E53 <> U+2621B
 U+7E54 <> U+7EC7
 U+7E55 <> U+7F2E
+U+7E56 <> U+30B37
+U+7E57 <> U+2C648
+U+7E58 <> U+30B3B
+U+7E59 <> U+2C646
 U+7E5A <> U+7F2D
+U+7E5C <> U+30B3A
 U+7E5E <> U+7ED5
 U+7E5F <> U+2620E
 U+7E61 <> U+7EE3
 U+7E62 <> U+7F0B
+U+7E63 <> U+30B20
+U+7E68 <> U+2B124
 U+7E69 <> U+7EF3
 U+7E6A <> U+7ED8
 U+7E6B <> U+7CFB
+U+7E6C <> U+2B131
 U+7E6D <> U+8327
+U+7E6E <> U+7F30
 U+7E6F <> U+7F33
 U+7E70 <> U+7F32
+U+7E72 <> U+30B3D
 U+7E73 <> U+7F34
+U+7E75 <> U+2C649
+U+7E76 <> U+2B137
+U+7E77 <> U+2B123
 U+7E78 <> U+4341
 U+7E79 <> U+7ECE
 U+7E7B <> U+26221
@@ -1357,23 +2462,35 @@
 U+7E7D <> U+7F24
 U+7E7E <> U+7F31
 U+7E7F <> U+4340
+U+7E80 <> U+30B3F
 U+7E81 <> U+2B138
+U+7E83 <> U+2C627
+U+7E86 <> U+2C64A
 U+7E87 <> U+98A3
 U+7E88 <> U+7F2C
 U+7E8A <> U+7EA9
+U+7E8B <> U+30B40
 U+7E8C <> U+7EED
 U+7E8D <> U+7D2F
 U+7E8F <> U+7F20
+U+7E91 <> U+2E261
 U+7E93 <> U+7F28
+U+7E95 <> U+2C64B
 U+7E96 <> U+7EA4
+U+7E97 <> U+2B139
 U+7E98 <> U+7F35
+U+7E9A <> U+2B125
 U+7E9C <> U+7F06
 U+7F3D <> U+94B5
+U+7F46 <> U+30B44
 U+7F48 <> U+575B
 U+7F4C <> U+7F42
+U+7F4F <> U+2C64E
 U+7F70 <> U+7F5A
 U+7F75 <> U+9A82
 U+7F77 <> U+7F62
+U+7F7C <> U+2C65D
+U+7F82 <> U+30B54
 U+7F85 <> U+7F57
 U+7F86 <> U+7F74
 U+7F88 <> U+7F81
@@ -1380,10 +2497,13 @@
 U+7F8B <> U+8288
 U+7FA5 <> U+7F9F
 U+7FA9 <> U+4E49
+U+7FB5 <> U+2B157
 U+7FD2 <> U+4E60
+U+7FDC <> U+30B62
 U+7FEC <> U+7FDA
 U+7FF9 <> U+7FD8
 U+7FFD <> U+7FD9
+U+7FFF <> U+30B63
 U+802C <> U+8027
 U+802E <> U+8022
 U+8056 <> U+5723
@@ -1396,9 +2516,11 @@
 U+8076 <> U+8042
 U+8077 <> U+804C
 U+8079 <> U+804D
+U+807B <> U+2B18F
 U+807D <> U+542C
 U+807E <> U+804B
 U+8085 <> U+8083
+U+80B4 <> U+80B4
 U+8105 <> U+80C1
 U+8108 <> U+8109
 U+811B <> U+80EB
@@ -1414,14 +2536,22 @@
 U+8173 <> U+811A
 U+8178 <> U+80A0
 U+8183 <> U+817D
+U+8192 <> U+2C075
 U+8195 <> U+8158
 U+819A <> U+80A4
+U+819E <> U+43DD
 U+81A0 <> U+80F6
 U+81A2 <> U+2677C
 U+81A9 <> U+817B
+U+81AE <> U+30B9D
+U+81B4 <> U+30B87
+U+81B6 <> U+2C080
+U+81B7 <> U+30B85
+U+81B9 <> U+2AC65
 U+81BD <> U+80C6
 U+81BE <> U+810D
 U+81BF <> U+8113
+U+81C7 <> U+442A
 U+81C9 <> U+8138
 U+81CD <> U+8110
 U+81CF <> U+8191
@@ -1430,8 +2560,10 @@
 U+81DA <> U+80EA
 U+81DF <> U+810F
 U+81E0 <> U+8114
+U+81E1 <> U+30BCB
 U+81E2 <> U+81DC
 U+81E8 <> U+4E34
+U+81F4 <> U+81F4
 U+81FA <> U+53F0
 U+8207 <> U+4E0E
 U+8208 <> U+5174
@@ -1438,9 +2570,12 @@
 U+8209 <> U+4E3E
 U+820A <> U+65E7
 U+8259 <> U+8231
+U+825B <> U+30C11
+U+825C <> U+30C0F
 U+8264 <> U+8223
 U+8266 <> U+8230
 U+826B <> U+823B
+U+826D <> U+30C0B
 U+8271 <> U+8270
 U+8277 <> U+8273
 U+82BB <> U+520D
@@ -1451,162 +2586,282 @@
 U+8396 <> U+830E
 U+83A2 <> U+835A
 U+83A7 <> U+82CB
+U+83D5 <> U+30C28
 U+83EF <> U+534E
 U+8407 <> U+82CC
 U+840A <> U+83B1
 U+842C <> U+4E07
+U+842F <> U+30C37
 U+8434 <> U+835D
 U+8435 <> U+83B4
 U+8449 <> U+53F6
 U+8452 <> U+836D
 U+8457 <> U+7740
+U+845D <> U+2B20E
 U+8464 <> U+836E
 U+8466 <> U+82C7
 U+8477 <> U+8364
+U+847B <> U+2C725
+U+848D <> U+2B1ED
+U+8492 <> U+30C33
 U+8494 <> U+83B3
 U+849E <> U+8385
+U+84AD <> U+2B1F4
+U+84B3 <> U+30C4C
+U+84B6 <> U+30C4D
 U+84BC <> U+82CD
 U+84C0 <> U+836A
 U+84CB <> U+76D6
 U+84EE <> U+83B2
 U+84EF <> U+82C1
+U+84F2 <> U+30C24
 U+84F4 <> U+83BC
 U+84FD <> U+835C
+U+8504 <> U+2C72C
+U+850E <> U+30C3A
 U+851E <> U+848C
+U+8520 <> U+30C5B
 U+8523 <> U+848B
 U+8525 <> U+8471
 U+8526 <> U+8311
+U+852A <> U+30C51
 U+852D <> U+836B
+U+852E <> U+2C73F
+U+852F <> U+2B21F
+U+8531 <> U+30C35
 U+8541 <> U+8368
+U+8544 <> U+30C49
 U+8546 <> U+8487
 U+854E <> U+835E
+U+8551 <> U+30C47
 U+8552 <> U+836C
 U+8553 <> U+82B8
 U+8555 <> U+83B8
 U+8558 <> U+835B
+U+855D <> U+2B235
+U+855F <> U+2C727
+U+8561 <> U+30C5F
 U+8562 <> U+8489
+U+8567 <> U+30C66
 U+8569 <> U+8361
 U+856A <> U+829C
 U+856D <> U+8427
+U+8573 <> U+2B209
 U+8577 <> U+84E3
+U+857D <> U+2B1FD
 U+8580 <> U+8570
+U+8586 <> U+2B241
 U+8588 <> U+835F
+U+8589 <> U+2C728
 U+858A <> U+84DF
+U+858B <> U+30C71
 U+858C <> U+8297
 U+8594 <> U+8537
+U+8596 <> U+30C3E
 U+8598 <> U+8359
 U+859F <> U+83B6
+U+85A0 <> U+2E41A
 U+85A6 <> U+8350
 U+85A9 <> U+8428
+U+85B1 <> U+30C31
+U+85B2 <> U+2C76F
 U+85B3 <> U+44D5
 U+85B4 <> U+82E7
+U+85B5 <> U+44D3
 U+85BA <> U+8360
+U+85C7 <> U+30C20
 U+85CD <> U+84DD
 U+85CE <> U+8369
+U+85D6 <> U+2C73E
+U+85D8 <> U+30C6E
+U+85DA <> U+30C50
 U+85DD <> U+827A
+U+85E3 <> U+30C6F
 U+85E5 <> U+836F
 U+85EA <> U+85AE
+U+85EC <> U+2C798
+U+85F0 <> U+30C39
 U+85F6 <> U+82C8
+U+85F7 <> U+2B244
 U+85F9 <> U+853C
 U+85FA <> U+853A
+U+85FE <> U+30C7E
+U+8600 <> U+841A
 U+8604 <> U+8572
 U+8606 <> U+82A6
 U+8607 <> U+82CF
+U+8608 <> U+30C81
 U+860A <> U+8574
 U+860B <> U+82F9
 U+861A <> U+85D3
 U+861E <> U+8539
+U+861F <> U+26ED5
+U+8621 <> U+2E428
 U+8622 <> U+830F
+U+862B <> U+2C7AB
+U+862C <> U+30C2E
 U+862D <> U+5170
+U+8631 <> U+30C92
+U+8635 <> U+30C72
+U+8639 <> U+2C738
 U+863A <> U+84E0
 U+863F <> U+841D
+U+8645 <> U+30C82
 U+8646 <> U+8502
+U+8649 <> U+2C7C1
 U+8655 <> U+5904
 U+865B <> U+865A
 U+865C <> U+864F
 U+865F <> U+53F7
+U+8666 <> U+30CA0
 U+8667 <> U+4E8F
 U+866F <> U+866C
+U+86F5 <> U+30CB6
 U+86FA <> U+86F1
 U+86FB <> U+8715
+U+86FC <> U+30CAC
 U+8706 <> U+86AC
 U+8721 <> U+8721
+U+8726 <> U+30CB0
+U+8738 <> U+30CAE
+U+873D <> U+2E50A
+U+8740 <> U+2C7FD
+U+8741 <> U+30CB8
 U+8755 <> U+8680
+U+875C <> U+2E505
 U+875F <> U+732C
 U+8766 <> U+867E
 U+8778 <> U+8717
 U+8784 <> U+86F3
+U+8798 <> U+30CB9
 U+879E <> U+8682
 U+87A2 <> U+8424
 U+87AE <> U+45D6
+U+87B4 <> U+30CC4
+U+87B9 <> U+30CC2
 U+87BB <> U+877C
 U+87BF <> U+8780
+U+87C2 <> U+2B2C7
 U+87C4 <> U+86F0
 U+87C8 <> U+8748
 U+87CE <> U+87A8
+U+87D8 <> U+2B2CC
+U+87DC <> U+2B2B8
+U+87E1 <> U+30CB2
 U+87E3 <> U+866E
+U+87E6 <> U+30CCA
 U+87EC <> U+8749
 U+87EF <> U+86F2
+U+87F1 <> U+30CAB
 U+87F2 <> U+866B
+U+87F3 <> U+2B2BB
 U+87F6 <> U+86CF
+U+87F7 <> U+2C805
 U+87FB <> U+8681
+U+87FD <> U+30CBB
+U+8800 <> U+273D7
 U+8801 <> U+8683
 U+8805 <> U+8747
 U+8806 <> U+867F
+U+8808 <> U+2C820
+U+880C <> U+30CB5
 U+8810 <> U+86F4
 U+8811 <> U+877E
+U+8812 <> U+2B2B1
+U+8819 <> U+273D6
+U+881E <> U+2C74B
 U+881F <> U+8721
 U+8823 <> U+86CE
+U+8826 <> U+2B2AE
 U+8828 <> U+87CF
+U+882A <> U+30CB4
 U+8831 <> U+86CA
+U+8833 <> U+30CD7
 U+8836 <> U+8695
 U+883B <> U+86EE
+U+883E <> U+2744F
 U+8853 <> U+672F
 U+8855 <> U+540C
 U+885A <> U+80E1
 U+885B <> U+536B
 U+885D <> U+51B2
+U+8868 <> U+8868
 U+889E <> U+886E
 U+88CA <> U+8885
+U+88CC <> U+2C852
 U+88DC <> U+8865
 U+88DD <> U+88C5
 U+88E1 <> U+91CC
+U+88F2 <> U+2E581
 U+88FD <> U+5236
 U+8907 <> U+590D
 U+890C <> U+88C8
 U+8918 <> U+8886
+U+892D <> U+2C847
 U+8932 <> U+88E4
 U+8933 <> U+88E2
 U+8938 <> U+891B
+U+893A <> U+2C853
 U+893B <> U+4EB5
 U+8940 <> U+2B300
-U+8949 <> U+88E5
+U+8942 <> U+30D02
+U+8947 <> U+88E5
+U+894C <> U+891D
 U+894F <> U+88AF
+U+8953 <> U+2B2F9
 U+8956 <> U+8884
+U+8957 <> U+2B2F7
+U+8958 <> U+2B2FB
+U+895B <> U+30CFA
 U+895D <> U+88E3
 U+8960 <> U+88C6
 U+8964 <> U+8934
+U+8968 <> U+30CF8
 U+896A <> U+889C
 U+896C <> U+4653
+U+896D <> U+2E5B1
 U+896F <> U+886C
+U+8970 <> U+2775D
+U+8971 <> U+30CF2
 U+8972 <> U+88AD
 U+8974 <> U+8955
+U+8975 <> U+2B307
+U+8978 <> U+2C877
+U+8979 <> U+30CFC
+U+897C <> U+30CF5
 U+8986 <> U+590D
 U+898B <> U+89C1
 U+898E <> U+89C3
 U+898F <> U+89C4
+U+8992 <> U+2C1BE
 U+8993 <> U+89C5
+U+8995 <> U+30D15
 U+8996 <> U+89C6
+U+8997 <> U+2C88A
 U+8998 <> U+89C7
+U+899B <> U+2B32A
+U+899C <> U+2C88B
+U+899F <> U+2C88C
+U+89A0 <> U+30D19
 U+89A1 <> U+89CB
+U+89A2 <> U+2C2A6
+U+89A4 <> U+2C7EA
 U+89A5 <> U+89CD
 U+89A6 <> U+89CE
+U+89A9 <> U+2C88E
 U+89AA <> U+4EB2
 U+89AC <> U+89CA
+U+89AD <> U+2C892
 U+89AF <> U+89CF
+U+89B0 <> U+30D1C
 U+89B2 <> U+89D0
+U+89B4 <> U+2C894
+U+89B6 <> U+30D1D
 U+89B7 <> U+89D1
+U+89B8 <> U+30D18
+U+89B9 <> U+2B32D
 U+89BA <> U+89C9
+U+89BB <> U+30D1E
 U+89BC <> U+2B328
 U+89BD <> U+89C8
 U+89BF <> U+89CC
@@ -1613,14 +2868,20 @@
 U+89C0 <> U+89C2
 U+89F4 <> U+89DE
 U+89F6 <> U+89EF
+U+89F7 <> U+30D23
 U+89F8 <> U+89E6
+U+89F9 <> U+27924
+U+89FB <> U+30D22
+U+89FD <> U+27945
 U+8A01 <> U+8BA0
 U+8A02 <> U+8BA2
 U+8A03 <> U+8BA3
+U+8A06 <> U+30D4A
 U+8A08 <> U+8BA1
 U+8A0A <> U+8BAF
 U+8A0C <> U+8BA7
 U+8A0E <> U+8BA8
+U+8A0F <> U+2C8D9
 U+8A10 <> U+8BA6
 U+8A11 <> U+2B359
 U+8A12 <> U+8BB1
@@ -1630,26 +2891,46 @@
 U+8A17 <> U+8BAC
 U+8A18 <> U+8BB0
 U+8A1B <> U+8BB9
+U+8A1C <> U+2B35B
 U+8A1D <> U+8BB6
+U+8A1E <> U+2B35A
 U+8A1F <> U+8BBC
 U+8A22 <> U+4723
 U+8A23 <> U+8BC0
 U+8A25 <> U+8BB7
+U+8A26 <> U+30D52
+U+8A27 <> U+30D4E
+U+8A28 <> U+2B7DE
 U+8A29 <> U+8BBB
 U+8A2A <> U+8BBF
+U+8A2C <> U+30D4F
 U+8A2D <> U+8BBE
+U+8A30 <> U+30D4D
 U+8A31 <> U+8BB8
 U+8A34 <> U+8BC9
 U+8A36 <> U+8BC3
+U+8A38 <> U+30D5D
+U+8A39 <> U+30D53
 U+8A3A <> U+8BCA
 U+8A3B <> U+6CE8
+U+8A3D <> U+30D5B
 U+8A40 <> U+27BAA
 U+8A41 <> U+8BC2
+U+8A43 <> U+2C8E4
+U+8A44 <> U+30D59
+U+8A45 <> U+30D5A
 U+8A46 <> U+8BCB
+U+8A47 <> U+30D57
+U+8A49 <> U+30D60
+U+8A4A <> U+2B7DF
+U+8A4C <> U+2C8E0
+U+8A4D <> U+30D54
 U+8A4E <> U+8BB5
+U+8A4F <> U+2C8E6
 U+8A50 <> U+8BC8
-U+8A51 <> U+2B35F
+U+8A51 <> U+2B361
 U+8A52 <> U+8BD2
+U+8A53 <> U+2B35C
 U+8A54 <> U+8BCF
 U+8A55 <> U+8BC4
 U+8A56 <> U+8BD0
@@ -1656,35 +2937,56 @@
 U+8A57 <> U+8BC7
 U+8A58 <> U+8BCE
 U+8A5B <> U+8BC5
+U+8A5C <> U+2C8E5
+U+8A5D <> U+2C8DE
 U+8A5E <> U+8BCD
 U+8A60 <> U+548F
 U+8A61 <> U+8BE9
 U+8A62 <> U+8BE2
 U+8A63 <> U+8BE3
+U+8A65 <> U+30D63
 U+8A66 <> U+8BD5
+U+8A68 <> U+30D66
 U+8A69 <> U+8BD7
+U+8A6A <> U+2C8F3
 U+8A6B <> U+8BE7
 U+8A6C <> U+8BDF
 U+8A6D <> U+8BE1
 U+8A6E <> U+8BE0
+U+8A6F <> U+2C8F0
 U+8A70 <> U+8BD8
 U+8A71 <> U+8BDD
 U+8A72 <> U+8BE5
 U+8A73 <> U+8BE6
+U+8A74 <> U+2C8E9
 U+8A75 <> U+8BDC
+U+8A76 <> U+2C8F1
+U+8A77 <> U+2B363
+U+8A7A <> U+2C8EE
+U+8A7B <> U+30D64
 U+8A7C <> U+8BD9
 U+8A7F <> U+8BD6
+U+8A82 <> U+2B365
+U+8A83 <> U+30D65
 U+8A84 <> U+8BD4
 U+8A85 <> U+8BDB
 U+8A86 <> U+8BD3
 U+8A87 <> U+5938
+U+8A8B <> U+2B36A
 U+8A8C <> U+5FD7
 U+8A8D <> U+8BA4
+U+8A8E <> U+2C8F7
+U+8A8F <> U+2C8FC
+U+8A90 <> U+30D6E
 U+8A91 <> U+8BF3
 U+8A92 <> U+8BF6
+U+8A94 <> U+2C8FB
 U+8A95 <> U+8BDE
+U+8A97 <> U+30D6D
 U+8A98 <> U+8BF1
+U+8A99 <> U+30D61
 U+8A9A <> U+8BEE
+U+8A9C <> U+30D6F
 U+8A9E <> U+8BED
 U+8AA0 <> U+8BDA
 U+8AA1 <> U+8BEB
@@ -1692,24 +2994,40 @@
 U+8AA4 <> U+8BEF
 U+8AA5 <> U+8BF0
 U+8AA6 <> U+8BF5
+U+8AA7 <> U+30D69
 U+8AA8 <> U+8BF2
 U+8AAA <> U+8BF4
+U+8AAB <> U+2B368
 U+8AB0 <> U+8C01
 U+8AB2 <> U+8BFE
+U+8AB3 <> U+2B36E
+U+8AB4 <> U+2B7E1
 U+8AB6 <> U+8C07
+U+8AB7 <> U+2B36C
 U+8AB9 <> U+8BFD
+U+8ABA <> U+2B367
+U+8ABB <> U+30D78
 U+8ABC <> U+8C0A
+U+8ABD <> U+30D75
 U+8ABE <> U+8A1A
 U+8ABF <> U+8C03
+U+8AC1 <> U+30D77
 U+8AC2 <> U+8C04
+U+8AC3 <> U+30D71
 U+8AC4 <> U+8C06
+U+8AC6 <> U+30D72
 U+8AC7 <> U+8C08
+U+8AC8 <> U+30D76
 U+8AC9 <> U+8BFF
 U+8ACB <> U+8BF7
 U+8ACD <> U+8BE4
+U+8ACE <> U+2C8FE
 U+8ACF <> U+8BF9
 U+8AD1 <> U+8BFC
 U+8AD2 <> U+8C05
+U+8AD3 <> U+2C8E1
+U+8AD4 <> U+30D74
+U+8AD5 <> U+2C900
 U+8AD6 <> U+8BBA
 U+8AD7 <> U+8C02
 U+8ADB <> U+8C00
@@ -1716,20 +3034,30 @@
 U+8ADC <> U+8C0D
 U+8ADD <> U+8C1E
 U+8ADE <> U+8C1D
+U+8ADF <> U+2C90A
+U+8AE0 <> U+2C90E
 U+8AE2 <> U+8BE8
+U+8AE3 <> U+2B369
 U+8AE4 <> U+8C14
+U+8AE5 <> U+2B373
 U+8AE6 <> U+8C1B
 U+8AE7 <> U+8C10
+U+8AE9 <> U+2C8F2
 U+8AEB <> U+8C0F
 U+8AED <> U+8C15
 U+8AEE <> U+8C18
+U+8AEF <> U+2B371
 U+8AF0 <> U+2B370
 U+8AF1 <> U+8BB3
+U+8AF2 <> U+2C907
 U+8AF3 <> U+8C19
+U+8AF4 <> U+2B36F
 U+8AF6 <> U+8C0C
 U+8AF7 <> U+8BBD
 U+8AF8 <> U+8BF8
+U+8AF9 <> U+30D4C
 U+8AFA <> U+8C1A
+U+8AFB <> U+2C90D
 U+8AFC <> U+8C16
 U+8AFE <> U+8BFA
 U+8B00 <> U+8C0B
@@ -1737,10 +3065,16 @@
 U+8B02 <> U+8C13
 U+8B04 <> U+8A8A
 U+8B05 <> U+8BCC
+U+8B06 <> U+2B378
+U+8B09 <> U+2B377
 U+8B0A <> U+8C0E
+U+8B0B <> U+30D7C
+U+8B0C <> U+2C910
+U+8B0D <> U+30D2F
 U+8B0E <> U+8C1C
 U+8B0F <> U+2B372
 U+8B10 <> U+8C27
+U+8B11 <> U+30D7E
 U+8B14 <> U+8C11
 U+8B16 <> U+8C21
 U+8B17 <> U+8C24
@@ -1747,18 +3081,44 @@
 U+8B19 <> U+8C26
 U+8B1A <> U+8C25
 U+8B1B <> U+8BB2
+U+8B1C <> U+30D7A
 U+8B1D <> U+8C22
+U+8B1E <> U+30D7F
+U+8B1F <> U+30D7D
 U+8B20 <> U+8C23
+U+8B23 <> U+30D80
+U+8B25 <> U+30D82
 U+8B28 <> U+8C1F
 U+8B2B <> U+8C2A
 U+8B2C <> U+8C2C
+U+8B2D <> U+8C2B
+U+8B2F <> U+2B379
+U+8B30 <> U+2C8FD
+U+8B31 <> U+2B374
+U+8B32 <> U+2C8B3
 U+8B33 <> U+8BB4
+U+8B34 <> U+2C906
+U+8B35 <> U+30D83
+U+8B38 <> U+2B375
 U+8B39 <> U+8C28
+U+8B3B <> U+30D81
+U+8B3C <> U+2C919
 U+8B3E <> U+8C29
+U+8B40 <> U+30D86
+U+8B42 <> U+2B7E0
+U+8B44 <> U+2C924
+U+8B45 <> U+30D8E
+U+8B46 <> U+2B37B
+U+8B47 <> U+30D84
+U+8B48 <> U+2C923
 U+8B49 <> U+8BC1
 U+8B4A <> U+2B362
+U+8B4C <> U+30D51
 U+8B4E <> U+8C32
 U+8B4F <> U+8BA5
+U+8B50 <> U+2C922
+U+8B51 <> U+2B364
+U+8B53 <> U+2C91D
 U+8B54 <> U+2C925
 U+8B56 <> U+8C2E
 U+8B58 <> U+8BC6
@@ -1765,31 +3125,60 @@
 U+8B59 <> U+8C2F
 U+8B5A <> U+8C2D
 U+8B5C <> U+8C31
+U+8B5E <> U+2B37D
+U+8B5F <> U+2C928
+U+8B60 <> U+30D89
+U+8B61 <> U+2C8ED
+U+8B68 <> U+2B366
+U+8B69 <> U+30D8A
 U+8B6B <> U+8C35
 U+8B6F <> U+8BD1
 U+8B70 <> U+8BAE
+U+8B73 <> U+30D8C
 U+8B74 <> U+8C34
 U+8B77 <> U+62A4
 U+8B78 <> U+8BEA
+U+8B79 <> U+2C92B
+U+8B7A <> U+2C929
+U+8B7B <> U+2C8AF
+U+8B7C <> U+46D3
 U+8B7D <> U+8A89
 U+8B7E <> U+8C2B
+U+8B7F <> U+2C92D
 U+8B80 <> U+8BFB
+U+8B82 <> U+30D8D
+U+8B85 <> U+8C09
+U+8B86 <> U+2C8C0
+U+8B87 <> U+2C91B
+U+8B89 <> U+2C926
 U+8B8A <> U+53D8
 U+8B8B <> U+8A5F
 U+8B8C <> U+4729
 U+8B8E <> U+96E0
+U+8B91 <> U+30D8F
 U+8B92 <> U+8C17
 U+8B93 <> U+8BA9
+U+8B94 <> U+2E64A
 U+8B95 <> U+8C30
 U+8B96 <> U+8C36
+U+8B98 <> U+30D79
+U+8B99 <> U+2C930
+U+8B9A <> U+2C92E
+U+8B9B <> U+30D56
 U+8B9C <> U+8C20
+U+8B9D <> U+30D68
 U+8B9E <> U+8C33
+U+8B9F <> U+2E64B
+U+8C44 <> U+30D94
+U+8C45 <> U+30D91
 U+8C48 <> U+5C82
 U+8C4E <> U+7AD6
 U+8C50 <> U+4E30
 U+8C6C <> U+732A
+U+8C75 <> U+2B386
 U+8C76 <> U+8C6E
 U+8C93 <> U+732B
+U+8C97 <> U+2B38C
 U+8C99 <> U+4759
 U+8C9D <> U+8D1D
 U+8C9E <> U+8D1E
@@ -1797,6 +3186,9 @@
 U+8CA0 <> U+8D1F
 U+8CA1 <> U+8D22
 U+8CA2 <> U+8D21
+U+8CA3 <> U+30DDE
+U+8CA4 <> U+30DE0
+U+8CA6 <> U+30DE1
 U+8CA7 <> U+8D2B
 U+8CA8 <> U+8D27
 U+8CA9 <> U+8D29
@@ -1805,6 +3197,7 @@
 U+8CAC <> U+8D23
 U+8CAF <> U+8D2E
 U+8CB0 <> U+8D33
+U+8CB1 <> U+2C976
 U+8CB2 <> U+8D40
 U+8CB3 <> U+8D30
 U+8CB4 <> U+8D35
@@ -1815,6 +3208,7 @@
 U+8CBB <> U+8D39
 U+8CBC <> U+8D34
 U+8CBD <> U+8D3B
+U+8CBE <> U+30DE2
 U+8CBF <> U+8D38
 U+8CC0 <> U+8D3A
 U+8CC1 <> U+8D32
@@ -1829,9 +3223,11 @@
 U+8CD2 <> U+8D4A
 U+8CD3 <> U+5BBE
 U+8CD5 <> U+8D47
+U+8CD7 <> U+2C978
 U+8CD9 <> U+8D52
 U+8CDA <> U+8D49
 U+8CDC <> U+8D50
+U+8CDD <> U+2B3A9
 U+8CDE <> U+8D4F
 U+8CDF <> U+27E56
 U+8CE0 <> U+8D54
@@ -1839,14 +3235,20 @@
 U+8CE2 <> U+8D24
 U+8CE3 <> U+5356
 U+8CE4 <> U+8D31
+U+8CE5 <> U+30DE4
 U+8CE6 <> U+8D4B
 U+8CE7 <> U+8D55
+U+8CE8 <> U+30DE5
 U+8CEA <> U+8D28
 U+8CEC <> U+8D26
 U+8CED <> U+8D4C
+U+8CEE <> U+30DE7
 U+8CF0 <> U+4790
 U+8CF4 <> U+8D56
 U+8CF5 <> U+8D57
+U+8CF6 <> U+2C973
+U+8CF8 <> U+2C089
+U+8CF9 <> U+30DEA
 U+8CFA <> U+8D5A
 U+8CFB <> U+8D59
 U+8CFC <> U+8D2D
@@ -1855,31 +3257,48 @@
 U+8D03 <> U+27E57
 U+8D04 <> U+8D3D
 U+8D05 <> U+8D58
+U+8D06 <> U+30DEB
 U+8D07 <> U+8D5F
 U+8D08 <> U+8D60
+U+8D09 <> U+2B3AB
 U+8D0A <> U+8D5E
+U+8D0B <> U+8D5D
 U+8D0D <> U+8D61
 U+8D0F <> U+8D62
 U+8D10 <> U+8D46
+U+8D11 <> U+2B3AC
 U+8D13 <> U+8D43
 U+8D14 <> U+8D51
+U+8D15 <> U+2B9FF
 U+8D16 <> U+8D4E
 U+8D17 <> U+8D5D
+U+8D19 <> U+30DEE
+U+8D1A <> U+2B3A6
 U+8D1B <> U+8D63
 U+8D6C <> U+8D6A
 U+8D95 <> U+8D76
 U+8D99 <> U+8D75
 U+8DA8 <> U+8D8B
+U+8DAB <> U+30DF6
+U+8DAC <> U+30DF5
 U+8DB2 <> U+8DB1
 U+8DE1 <> U+8FF9
 U+8E10 <> U+8DF5
+U+8E1A <> U+2C9A7
 U+8E34 <> U+8E0A
 U+8E4C <> U+8DC4
+U+8E54 <> U+2B3D0
 U+8E55 <> U+8DF8
+U+8E5B <> U+30E1A
+U+8E61 <> U+2C9C0
 U+8E63 <> U+8E52
 U+8E64 <> U+8E2A
+U+8E65 <> U+30E14
+U+8E6A <> U+30E1E
+U+8E73 <> U+2B3C6
 U+8E7A <> U+8DF7
 U+8E7B <> U+2B3CB
+U+8E80 <> U+2C9BB
 U+8E82 <> U+8DF6
 U+8E89 <> U+8DB8
 U+8E8A <> U+8E0C
@@ -1890,29 +3309,51 @@
 U+8E92 <> U+8DDE
 U+8E93 <> U+8E2C
 U+8E95 <> U+8E70
+U+8E98 <> U+28001
 U+8E9A <> U+8DF9
 U+8E9D <> U+2816C
 U+8EA1 <> U+8E51
 U+8EA5 <> U+8E7F
 U+8EA6 <> U+8E9C
+U+8EA7 <> U+30E10
 U+8EAA <> U+8E8F
 U+8EC0 <> U+8EAF
+U+8EC2 <> U+2C9E4
+U+8EC3 <> U+30E40
+U+8EC7 <> U+2E736
 U+8EC9 <> U+28257
 U+8ECA <> U+8F66
 U+8ECB <> U+8F67
 U+8ECC <> U+8F68
 U+8ECD <> U+519B
+U+8ECE <> U+30E72
 U+8ECF <> U+2B404
 U+8ED1 <> U+8F6A
 U+8ED2 <> U+8F69
+U+8ED3 <> U+30E74
 U+8ED4 <> U+8F6B
+U+8ED5 <> U+2B405
+U+8ED6 <> U+30E76
 U+8ED7 <> U+28405
+U+8ED8 <> U+30E78
 U+8EDB <> U+8F6D
+U+8EDC <> U+2B407
+U+8EDD <> U+2CA02
+U+8EDE <> U+2CA01
 U+8EDF <> U+8F6F
 U+8EE4 <> U+8F77
+U+8EE5 <> U+30E81
+U+8EE7 <> U+30E80
 U+8EE8 <> U+2B409
 U+8EEB <> U+8F78
+U+8EEC <> U+2B40A
+U+8EEE <> U+2CA04
+U+8EEF <> U+30E7D
+U+8EF1 <> U+2E774
 U+8EF2 <> U+8F71
+U+8EF3 <> U+30E82
+U+8EF5 <> U+30E7F
+U+8EF7 <> U+2B408
 U+8EF8 <> U+8F74
 U+8EF9 <> U+8F75
 U+8EFA <> U+8F7A
@@ -1919,49 +3360,95 @@
 U+8EFB <> U+8F72
 U+8EFC <> U+8F76
 U+8EFE <> U+8F7C
+U+8EFF <> U+2B40C
+U+8F00 <> U+2E775
+U+8F01 <> U+30E84
+U+8F02 <> U+30E85
 U+8F03 <> U+8F83
 U+8F04 <> U+28408
 U+8F05 <> U+8F82
+U+8F06 <> U+2CA07
 U+8F07 <> U+8F81
 U+8F08 <> U+8F80
 U+8F09 <> U+8F7D
 U+8F0A <> U+8F7E
+U+8F0B <> U+2AA36
+U+8F10 <> U+30E87
+U+8F11 <> U+30E88
 U+8F12 <> U+8F84
 U+8F13 <> U+633D
 U+8F14 <> U+8F85
 U+8F15 <> U+8F7B
+U+8F16 <> U+2B40F
 U+8F17 <> U+2B410
+U+8F18 <> U+30E8A
+U+8F19 <> U+30E8B
+U+8F1A <> U+30E7C
 U+8F1B <> U+8F86
 U+8F1C <> U+8F8E
 U+8F1D <> U+8F89
 U+8F1E <> U+8F8B
 U+8F1F <> U+8F8D
+U+8F20 <> U+30E8D
+U+8F21 <> U+30E90
+U+8F22 <> U+2B40E
+U+8F23 <> U+30E8F
+U+8F24 <> U+30E89
 U+8F25 <> U+8F8A
 U+8F26 <> U+8F87
+U+8F28 <> U+2B411
 U+8F29 <> U+8F88
 U+8F2A <> U+8F6E
+U+8F2B <> U+30E8E
 U+8F2C <> U+8F8C
 U+8F2E <> U+2B413
 U+8F2F <> U+8F91
+U+8F32 <> U+30E92
 U+8F33 <> U+8F8F
+U+8F34 <> U+2E778
+U+8F35 <> U+2CA0D
+U+8F36 <> U+2CA0E
+U+8F37 <> U+2B412
 U+8F38 <> U+8F93
+U+8F39 <> U+30E93
 U+8F3B <> U+8F90
 U+8F3E <> U+8F97
 U+8F3F <> U+8206
 U+8F40 <> U+8F92
 U+8F42 <> U+6BC2
+U+8F43 <> U+30E96
 U+8F44 <> U+8F96
 U+8F45 <> U+8F95
 U+8F46 <> U+8F98
+U+8F47 <> U+2B416
+U+8F48 <> U+2CA13
 U+8F49 <> U+8F6C
+U+8F4A <> U+2B415
 U+8F4D <> U+8F99
 U+8F4E <> U+8F7F
+U+8F4F <> U+30E9E
+U+8F50 <> U+2B417
+U+8F51 <> U+30E9B
+U+8F52 <> U+2E777
+U+8F53 <> U+30E9C
 U+8F54 <> U+8F9A
+U+8F55 <> U+2E77A
+U+8F56 <> U+30E99
+U+8F57 <> U+2B418
+U+8F58 <> U+2E779
+U+8F59 <> U+30E75
+U+8F5A <> U+30E9F
+U+8F5B <> U+30E83
+U+8F5D <> U+2C6FC
+U+8F5E <> U+30E97
 U+8F5F <> U+8F70
+U+8F60 <> U+2B419
 U+8F61 <> U+8F94
 U+8F62 <> U+8F79
 U+8F63 <> U+2B406
 U+8F64 <> U+8F73
+U+8F65 <> U+30EA3
+U+8F9F <> U+8F9F
 U+8FA6 <> U+529E
 U+8FAD <> U+8F9E
 U+8FAE <> U+8FAB
@@ -1971,6 +3458,7 @@
 U+9019 <> U+8FD9
 U+9023 <> U+8FDE
 U+9032 <> U+8FDB
+U+903F <> U+30EB2
 U+904B <> U+8FD0
 U+904E <> U+8FC7
 U+9054 <> U+8FBE
@@ -1980,7 +3468,10 @@
 U+905E <> U+9012
 U+9060 <> U+8FDC
 U+9069 <> U+9002
+U+9070 <> U+30EC6
+U+9071 <> U+2B437
 U+9072 <> U+8FDF
+U+9076 <> U+30EB7
 U+9077 <> U+8FC1
 U+9078 <> U+9009
 U+907A <> U+9057
@@ -1992,6 +3483,7 @@
 U+908F <> U+903B
 U+9090 <> U+9026
 U+90DF <> U+90CF
+U+90F2 <> U+2CA7E
 U+90F5 <> U+90AE
 U+9106 <> U+90D3
 U+9109 <> U+4E61
@@ -1998,20 +3490,34 @@
 U+9112 <> U+90B9
 U+9114 <> U+90AC
 U+9116 <> U+90E7
+U+911F <> U+2B458
+U+9121 <> U+30EEE
+U+9126 <> U+30EE1
 U+9127 <> U+9093
+U+9129 <> U+2CA7D
+U+912A <> U+30EF3
+U+912C <> U+30EE6
 U+912D <> U+90D1
+U+912E <> U+2CA8D
 U+9130 <> U+90BB
 U+9132 <> U+90F8
+U+9133 <> U+2B461
 U+9134 <> U+90BA
 U+9136 <> U+90D0
 U+913A <> U+909D
 U+9147 <> U+9142
 U+9148 <> U+90E6
+U+9186 <> U+2CAA8
 U+919C <> U+4E11
 U+919E <> U+915D
+U+91A6 <> U+2E833
+U+91A7 <> U+2CAA7
 U+91AB <> U+533B
 U+91AC <> U+9171
 U+91B1 <> U+9166
+U+91B2 <> U+2CAA9
+U+91B3 <> U+30F05
+U+91B6 <> U+2B477
 U+91C0 <> U+917F
 U+91C1 <> U+8845
 U+91C3 <> U+917E
@@ -2025,37 +3531,64 @@
 U+91D7 <> U+948A
 U+91D8 <> U+9489
 U+91D9 <> U+948B
+U+91DA <> U+2B7F2
+U+91DB <> U+30F56
 U+91DD <> U+9488
+U+91DF <> U+2B4E5
 U+91E3 <> U+9493
 U+91E4 <> U+9490
+U+91E5 <> U+30F5B
+U+91E6 <> U+2CB2A
 U+91E7 <> U+948F
+U+91E8 <> U+2B4E6
 U+91E9 <> U+9492
+U+91EA <> U+30F57
+U+91EB <> U+2CB28
+U+91EC <> U+2CB27
+U+91ED <> U+2E8F2
+U+91F1 <> U+30F58
+U+91F2 <> U+2B7F3
 U+91F3 <> U+28C3F
+U+91F4 <> U+2CB29
 U+91F5 <> U+9497
 U+91F7 <> U+948D
 U+91F9 <> U+9495
 U+91FA <> U+948E
+U+91FD <> U+2CB32
 U+91FE <> U+497A
+U+91FF <> U+2CB31
 U+9200 <> U+94AF
 U+9201 <> U+94AB
+U+9202 <> U+2CB35
 U+9203 <> U+9498
 U+9204 <> U+94AD
+U+9206 <> U+2B4EA
 U+9207 <> U+2B4E7
 U+9208 <> U+949A
 U+9209 <> U+94A0
 U+920B <> U+28C42
 U+920D <> U+949D
+U+920E <> U+94A9
+U+920F <> U+30F63
 U+9210 <> U+94A4
 U+9211 <> U+94A3
 U+9212 <> U+9491
+U+9213 <> U+2CB2F
 U+9214 <> U+949E
 U+9215 <> U+94AE
+U+9216 <> U+2B7F4
+U+9217 <> U+2B7F5
+U+921A <> U+2CB2B
+U+921B <> U+2B4E8
+U+921C <> U+2E8F3
 U+921E <> U+94A7
 U+9220 <> U+28C41
 U+9223 <> U+9499
+U+9224 <> U+30F61
 U+9225 <> U+94AC
 U+9226 <> U+949B
 U+9227 <> U+94AA
+U+922A <> U+30F5E
 U+922E <> U+94CC
 U+922F <> U+28C44
 U+9230 <> U+94C8
@@ -2062,10 +3595,13 @@
 U+9232 <> U+28C43
 U+9233 <> U+94B6
 U+9234 <> U+94C3
+U+9235 <> U+30F65
+U+9236 <> U+2CB40
 U+9237 <> U+94B4
 U+9238 <> U+94B9
 U+9239 <> U+94CD
 U+923A <> U+94B0
+U+923C <> U+2CB3D
 U+923D <> U+94B8
 U+923E <> U+94C0
 U+923F <> U+94BF
@@ -2074,39 +3610,74 @@
 U+9245 <> U+949C
 U+9248 <> U+94CA
 U+9249 <> U+94C9
+U+924A <> U+2CB3F
 U+924B <> U+94C7
+U+924C <> U+30F6C
 U+924D <> U+94CB
+U+924E <> U+30F6B
+U+924F <> U+2CB3A
+U+9250 <> U+2CB37
 U+9251 <> U+94C2
+U+9252 <> U+30F6F
+U+9254 <> U+2B4EC
 U+9255 <> U+94B7
 U+9257 <> U+94B3
+U+9258 <> U+30F71
+U+9259 <> U+30F68
 U+925A <> U+94C6
 U+925B <> U+94C5
+U+925C <> U+30F6E
+U+925D <> U+2B7F7
 U+925E <> U+94BA
+U+925F <> U+30F67
+U+9260 <> U+2B4ED
+U+9261 <> U+30F70
 U+9264 <> U+94A9
+U+9265 <> U+2CB38
 U+9266 <> U+94B2
+U+9267 <> U+2CB41
 U+9268 <> U+9FED
 U+926C <> U+94BC
 U+926D <> U+94BD
+U+926E <> U+2CB39
+U+9272 <> U+30F69
+U+9275 <> U+30F76
 U+9276 <> U+94CF
+U+9277 <> U+2B7F9
 U+9278 <> U+94F0
+U+9279 <> U+30F79
 U+927A <> U+94D2
 U+927B <> U+94EC
+U+927C <> U+30F7C
+U+927D <> U+2B7F8
+U+927E <> U+2B4F4
 U+927F <> U+94EA
 U+9280 <> U+94F6
+U+9281 <> U+2B4F2
+U+9282 <> U+2B7FB
 U+9283 <> U+94F3
 U+9285 <> U+94DC
+U+9288 <> U+2B4EF
+U+928A <> U+2B4F0
+U+928B <> U+30F7B
 U+928D <> U+94DA
+U+928F <> U+2B7F6
 U+9291 <> U+94E3
 U+9293 <> U+94E8
+U+9294 <> U+2CB43
 U+9296 <> U+94E2
+U+9297 <> U+2CB45
 U+9298 <> U+94ED
+U+9299 <> U+30F74
 U+929A <> U+94EB
 U+929B <> U+94E6
 U+929C <> U+8854
 U+92A0 <> U+94D1
+U+92A1 <> U+30F72
 U+92A3 <> U+94F7
 U+92A5 <> U+94F1
 U+92A6 <> U+94DF
+U+92A7 <> U+30F75
 U+92A8 <> U+94F5
 U+92A9 <> U+94E5
 U+92AA <> U+94D5
@@ -2113,26 +3684,41 @@
 U+92AB <> U+94EF
 U+92AC <> U+94D0
 U+92B1 <> U+94DE
+U+92B2 <> U+2CB4D
 U+92B3 <> U+9510
 U+92B6 <> U+28C47
 U+92B7 <> U+9500
+U+92B8 <> U+30F7F
+U+92B9 <> U+9508
 U+92BB <> U+9511
 U+92BC <> U+9509
+U+92BE <> U+30F81
 U+92C1 <> U+94DD
+U+92C2 <> U+30F84
 U+92C3 <> U+9512
 U+92C5 <> U+950C
 U+92C7 <> U+94A1
 U+92C9 <> U+28C48
+U+92CA <> U+30F86
+U+92CB <> U+2E8F4
 U+92CC <> U+94E4
+U+92CD <> U+30F80
 U+92CF <> U+94D7
+U+92D0 <> U+2CB4E
 U+92D2 <> U+950B
+U+92D7 <> U+2B4F6
+U+92D8 <> U+2CB4C
 U+92D9 <> U+94FB
+U+92DC <> U+30F83
 U+92DD <> U+950A
 U+92DF <> U+9513
+U+92E0 <> U+2B4F5
+U+92E1 <> U+30F85
 U+92E3 <> U+94D8
 U+92E4 <> U+9504
 U+92E5 <> U+9503
 U+92E6 <> U+9514
+U+92E7 <> U+30F62
 U+92E8 <> U+9507
 U+92E9 <> U+94D3
 U+92EA <> U+94FA
@@ -2142,7 +3728,10 @@
 U+92F1 <> U+94FD
 U+92F6 <> U+950D
 U+92F8 <> U+952F
+U+92F9 <> U+2CB2E
 U+92FC <> U+94A2
+U+92FE <> U+30F8F
+U+9300 <> U+2CB2D
 U+9301 <> U+951E
 U+9302 <> U+28C4B
 U+9304 <> U+5F55
@@ -2149,59 +3738,110 @@
 U+9306 <> U+9516
 U+9307 <> U+952B
 U+9308 <> U+9529
+U+930B <> U+2CB56
+U+930D <> U+30F8E
 U+930F <> U+94D4
 U+9310 <> U+9525
+U+9311 <> U+2CB5C
 U+9312 <> U+9515
+U+9314 <> U+30F93
 U+9315 <> U+951F
+U+9317 <> U+2CB57
 U+9318 <> U+9524
 U+9319 <> U+9531
 U+931A <> U+94EE
 U+931B <> U+951B
+U+931C <> U+2B4FB
+U+931D <> U+2B4FD
+U+931E <> U+2CB5A
 U+931F <> U+952C
 U+9320 <> U+952D
 U+9321 <> U+951C
 U+9322 <> U+94B1
+U+9323 <> U+2E8F5
+U+9324 <> U+2B4F9
+U+9325 <> U+2B4FE
 U+9326 <> U+9526
+U+9327 <> U+30F92
 U+9328 <> U+951A
 U+9329 <> U+9520
+U+932A <> U+2CB53
 U+932B <> U+9521
+U+932D <> U+2CB55
 U+932E <> U+9522
 U+932F <> U+9519
 U+9333 <> U+9530
 U+9336 <> U+8868
 U+9338 <> U+94FC
+U+933D <> U+2B4F8
 U+9340 <> U+951D
+U+9341 <> U+9528
+U+9342 <> U+30F91
 U+9343 <> U+952A
 U+9344 <> U+28C49
 U+9346 <> U+9494
 U+9347 <> U+9534
 U+9348 <> U+9533
+U+9349 <> U+2B502
+U+934A <> U+2B500
 U+934B <> U+9505
 U+934D <> U+9540
+U+934F <> U+2CB2C
+U+9350 <> U+30F9E
+U+9351 <> U+30F9F
+U+9352 <> U+2B504
 U+9354 <> U+9537
+U+9356 <> U+30F98
 U+9358 <> U+94E1
 U+935A <> U+9496
 U+935B <> U+953B
+U+935C <> U+30FA4
+U+935D <> U+30F99
+U+935F <> U+30F9D
 U+9360 <> U+953D
+U+9361 <> U+30F9A
+U+9363 <> U+2CB61
 U+9364 <> U+9538
 U+9365 <> U+9532
+U+9366 <> U+30FA2
+U+9367 <> U+30FA1
+U+9368 <> U+30FA5
 U+9369 <> U+9518
 U+936C <> U+9539
+U+936D <> U+2CB64
 U+936E <> U+28C4E
+U+936F <> U+2CB65
 U+9370 <> U+953E
+U+9371 <> U+30F95
+U+9374 <> U+30F9C
 U+9375 <> U+952E
 U+9376 <> U+9536
 U+937A <> U+9517
+U+937C <> U+30F97
 U+937E <> U+949F
 U+9382 <> U+9541
 U+9384 <> U+953F
+U+9385 <> U+30F9B
 U+9387 <> U+9545
+U+9388 <> U+2B7FF
+U+9389 <> U+30FAC
 U+938A <> U+9551
+U+938B <> U+2CB6A
+U+938C <> U+30FAE
+U+938D <> U+2B505
+U+9391 <> U+30FA9
+U+9392 <> U+2CB66
+U+9393 <> U+2CB69
 U+9394 <> U+9555
+U+9395 <> U+30FAF
 U+9396 <> U+9501
+U+9397 <> U+2CB30
 U+9398 <> U+9549
+U+9399 <> U+2B508
+U+939A <> U+2CB68
 U+939B <> U+9548
 U+939D <> U+28C4F
+U+939E <> U+2B507
 U+93A1 <> U+9543
 U+93A2 <> U+94A8
 U+93A3 <> U+84E5
@@ -2219,6 +3859,8 @@
 U+93B6 <> U+9FD4
 U+93B7 <> U+28C3E
 U+93BF <> U+954E
+U+93C1 <> U+2CB72
+U+93C2 <> U+30F5C
 U+93C3 <> U+955E
 U+93C6 <> U+28C4C
 U+93C7 <> U+955F
@@ -2226,10 +3868,17 @@
 U+93C9 <> U+28C52
 U+93CC <> U+9546
 U+93CD <> U+9559
+U+93CF <> U+2CB6C
 U+93D0 <> U+9560
 U+93D1 <> U+955D
+U+93D2 <> U+2CB5D
+U+93D3 <> U+30FB1
+U+93D4 <> U+2CB70
+U+93D5 <> U+30FB2
 U+93D7 <> U+94FF
 U+93D8 <> U+9535
+U+93D9 <> U+30FB0
+U+93DA <> U+2CB6D
 U+93DC <> U+9557
 U+93DD <> U+9558
 U+93DE <> U+955B
@@ -2237,16 +3886,27 @@
 U+93E1 <> U+955C
 U+93E2 <> U+9556
 U+93E4 <> U+9542
+U+93E5 <> U+2B50A
 U+93E6 <> U+2B4E9
 U+93E8 <> U+933E
+U+93E9 <> U+30F8C
 U+93F0 <> U+955A
 U+93F5 <> U+94E7
 U+93F7 <> U+9564
+U+93F8 <> U+30FB6
 U+93F9 <> U+956A
 U+93FA <> U+497D
+U+93FB <> U+2CB78
 U+93FD <> U+9508
+U+93FE <> U+2B50C
+U+9400 <> U+2CB62
+U+9401 <> U+30FB4
 U+9403 <> U+94D9
 U+9404 <> U+28C51
+U+9407 <> U+2B50D
+U+9408 <> U+2B4F1
+U+9409 <> U+30FBC
+U+940A <> U+2CB4F
 U+940B <> U+94F4
 U+940D <> U+2B50E
 U+940E <> U+28C53
@@ -2255,49 +3915,84 @@
 U+9412 <> U+94F9
 U+9413 <> U+9566
 U+9414 <> U+9561
+U+9415 <> U+30FB7
+U+9416 <> U+30F55
 U+9418 <> U+949F
 U+9419 <> U+956B
+U+941A <> U+30FAA
+U+941D <> U+9562
 U+9420 <> U+9568
+U+9424 <> U+30FB8
 U+9425 <> U+4985
 U+9426 <> U+950E
 U+9427 <> U+950F
 U+9428 <> U+9544
+U+9429 <> U+2CB7C
+U+942A <> U+2B4FA
 U+942B <> U+954C
+U+942C <> U+30F77
 U+942E <> U+9570
 U+942F <> U+4983
 U+9432 <> U+956F
 U+9433 <> U+956D
+U+9434 <> U+2CB7D
 U+9435 <> U+94C1
 U+9436 <> U+956E
 U+9438 <> U+94CE
+U+9439 <> U+30F7E
 U+943A <> U+94DB
+U+943C <> U+2B501
+U+943D <> U+2B7FC
 U+943F <> U+9571
+U+9440 <> U+30FAD
 U+9444 <> U+94F8
+U+9447 <> U+2CB49
 U+9448 <> U+9FED
+U+9449 <> U+2B801
 U+944A <> U+956C
+U+944B <> U+30F3B
 U+944C <> U+9554
+U+944F <> U+2CB3E
+U+9450 <> U+30FC2
+U+9451 <> U+30FAB
 U+9452 <> U+9274
 U+9454 <> U+9572
 U+9455 <> U+9527
+U+9456 <> U+30FC3
+U+9458 <> U+30FC4
+U+9459 <> U+2CB7F
+U+945B <> U+30F5A
 U+945E <> U+9574
 U+9460 <> U+94C4
+U+9461 <> U+2CB54
+U+9462 <> U+2E8F6
 U+9463 <> U+9573
 U+9465 <> U+9565
+U+9468 <> U+30F66
+U+946A <> U+2CB3B
 U+946D <> U+9567
+U+946E <> U+2CB81
+U+946F <> U+30FC8
 U+9470 <> U+94A5
 U+9471 <> U+9575
 U+9472 <> U+9576
+U+9474 <> U+2B514
 U+9477 <> U+954A
+U+9478 <> U+30FC9
 U+9479 <> U+9569
 U+947C <> U+9523
 U+947D <> U+94BB
 U+947E <> U+92AE
 U+947F <> U+51FF
-U+9481 <> U+9562
+U+9480 <> U+30FBE
+U+9481 <> U+4986
+U+9483 <> U+30FBD
 U+9577 <> U+957F
 U+9580 <> U+95E8
 U+9582 <> U+95E9
 U+9583 <> U+95EA
+U+9584 <> U+2CB98
+U+9585 <> U+2E92B
 U+9586 <> U+95EB
 U+9588 <> U+95EC
 U+9589 <> U+95ED
@@ -2308,19 +4003,33 @@
 U+958F <> U+95F0
 U+9590 <> U+28E03
 U+9591 <> U+95F2
+U+9592 <> U+95F2
 U+9593 <> U+95F4
 U+9594 <> U+95F5
+U+9595 <> U+30FE9
+U+9597 <> U+2B52F
 U+9598 <> U+95F8
+U+959B <> U+30FEC
+U+959C <> U+2CBA0
+U+959D <> U+2B802
+U+959E <> U+2B530
+U+959F <> U+2E932
 U+95A1 <> U+9602
 U+95A3 <> U+9601
+U+95A4 <> U+2CBA4
 U+95A5 <> U+9600
+U+95A6 <> U+2CBA5
+U+95A7 <> U+2CBA2
 U+95A8 <> U+95FA
 U+95A9 <> U+95FD
 U+95AB <> U+9603
 U+95AC <> U+9606
 U+95AD <> U+95FE
+U+95AF <> U+2CBAA
 U+95B1 <> U+9605
+U+95B5 <> U+2B534
 U+95B6 <> U+960A
+U+95B7 <> U+30FF3
 U+95B9 <> U+9609
 U+95BB <> U+960E
 U+95BC <> U+960F
@@ -2328,22 +4037,30 @@
 U+95BE <> U+9608
 U+95BF <> U+960C
 U+95C3 <> U+9612
+U+95C4 <> U+2CBB2
 U+95C6 <> U+677F
+U+95C7 <> U+2CBB4
 U+95C8 <> U+95F1
+U+95C9 <> U+2CBB1
 U+95CA <> U+9614
 U+95CB <> U+9615
 U+95CC <> U+9611
 U+95CD <> U+9607
 U+95D0 <> U+9617
+U+95D1 <> U+2B536
 U+95D2 <> U+9618
 U+95D3 <> U+95FF
 U+95D4 <> U+9616
 U+95D5 <> U+9619
 U+95D6 <> U+95EF
+U+95DA <> U+2CBAD
+U+95DB <> U+30FFA
 U+95DC <> U+5173
 U+95DE <> U+961A
+U+95DF <> U+30FFB
 U+95E0 <> U+9613
 U+95E1 <> U+9610
+U+95E2 <> U+8F9F
 U+95E4 <> U+961B
 U+95E5 <> U+95FC
 U+962A <> U+5742
@@ -2354,15 +4071,22 @@
 U+9673 <> U+9648
 U+9678 <> U+9646
 U+967D <> U+9633
+U+967F <> U+2CBC5
 U+9689 <> U+9667
 U+968A <> U+961F
 U+968E <> U+9636
+U+9691 <> U+2CBBF
 U+9695 <> U+9668
+U+9696 <> U+2CBBB
 U+969B <> U+9645
 U+96A4 <> U+2CBCE
 U+96A8 <> U+968F
 U+96AA <> U+9669
+U+96AB <> U+31021
+U+96AE <> U+2CBC0
+U+96AF <> U+9666
 U+96B1 <> U+9690
+U+96B2 <> U+31011
 U+96B4 <> U+9647
 U+96B8 <> U+96B6
 U+96BB <> U+53EA
@@ -2377,34 +4101,62 @@
 U+96F2 <> U+4E91
 U+96FB <> U+7535
 U+9722 <> U+9721
+U+9723 <> U+2B565
 U+9727 <> U+96FE
+U+973C <> U+2AD63
 U+973D <> U+9701
 U+9742 <> U+96F3
 U+9744 <> U+972D
+U+9745 <> U+30DE6
+U+9746 <> U+53C7
 U+9748 <> U+7075
+U+9749 <> U+53C6
 U+975A <> U+9753
 U+975C <> U+9759
-U+9766 <> U+817C
+U+9762 <> U+9762
+U+9766 <> U+4A44
+U+9767 <> U+2B583
 U+9768 <> U+9765
 U+9780 <> U+9F17
 U+978F <> U+5DE9
 U+979D <> U+7EF1
+U+97B8 <> U+31074
+U+97BB <> U+3107A
+U+97BC <> U+31079
 U+97BD <> U+9792
+U+97BE <> U+2B587
 U+97C1 <> U+7F30
 U+97C3 <> U+9791
+U+97C6 <> U+31076
+U+97C7 <> U+31077
 U+97C9 <> U+97AF
+U+97CA <> U+3107E
 U+97CB <> U+97E6
 U+97CC <> U+97E7
 U+97CD <> U+97E8
+U+97CF <> U+31087
+U+97D0 <> U+31086
+U+97D2 <> U+31089
 U+97D3 <> U+97E9
+U+97D4 <> U+2E9F4
+U+97D7 <> U+31088
+U+97D8 <> U+3108A
 U+97D9 <> U+97EA
+U+97DA <> U+2B805
+U+97DB <> U+2B594
 U+97DC <> U+97EC
+U+97DD <> U+2B595
 U+97DE <> U+97EB
+U+97E0 <> U+2B592
+U+97E1 <> U+2E9F5
+U+97E2 <> U+2CC36
+U+97E3 <> U+3108B
 U+97FB <> U+97F5
 U+97FF <> U+54CD
 U+9801 <> U+9875
 U+9802 <> U+9876
 U+9803 <> U+9877
+U+9804 <> U+2CC53
 U+9805 <> U+9879
 U+9806 <> U+987A
 U+9807 <> U+9878
@@ -2411,6 +4163,7 @@
 U+9808 <> U+987B
 U+980A <> U+987C
 U+980C <> U+9882
+U+980D <> U+2B806
 U+980E <> U+9880
 U+980F <> U+9883
 U+9810 <> U+9884
@@ -2417,38 +4170,72 @@
 U+9811 <> U+987D
 U+9812 <> U+9881
 U+9813 <> U+987F
+U+9814 <> U+2CC56
+U+9815 <> U+2CC57
+U+9816 <> U+2CC59
 U+9817 <> U+9887
 U+9818 <> U+9886
+U+981B <> U+2CC5C
 U+981C <> U+988C
+U+981E <> U+310A8
+U+981F <> U+310A5
+U+9820 <> U+2CC5F
 U+9821 <> U+9889
+U+9822 <> U+2CC60
 U+9824 <> U+9890
 U+9826 <> U+988F
+U+9829 <> U+310A6
+U+982A <> U+310A7
+U+982B <> U+2B5AF
 U+982D <> U+5934
 U+982E <> U+9892
+U+982F <> U+310AC
 U+9830 <> U+988A
 U+9832 <> U+988B
 U+9834 <> U+9895
+U+9835 <> U+2B5B3
 U+9837 <> U+9894
 U+9838 <> U+9888
 U+9839 <> U+9893
 U+983B <> U+9891
+U+9840 <> U+310AD
+U+9841 <> U+2CC6B
 U+9843 <> U+29596
+U+9844 <> U+310B0
+U+9845 <> U+2B5B6
 U+9846 <> U+9897
+U+9847 <> U+310AF
+U+9849 <> U+30F73
+U+984A <> U+2CC6A
+U+984B <> U+310B2
 U+984C <> U+9898
 U+984D <> U+989D
 U+984E <> U+989A
 U+984F <> U+989C
+U+9850 <> U+2CC62
+U+9851 <> U+310B1
 U+9852 <> U+9899
 U+9853 <> U+989B
+U+9856 <> U+310B6
+U+9857 <> U+2B5AE
 U+9858 <> U+613F
 U+9859 <> U+98A1
 U+985B <> U+98A0
+U+985C <> U+310B4
+U+985D <> U+310B5
 U+985E <> U+7C7B
+U+9860 <> U+310BA
 U+9862 <> U+989F
+U+9863 <> U+2B5B9
+U+9864 <> U+310A3
 U+9865 <> U+98A2
+U+9866 <> U+310BB
 U+9867 <> U+987E
+U+9869 <> U+310AB
+U+986A <> U+310A4
 U+986B <> U+98A4
 U+986C <> U+98A5
+U+986E <> U+310B8
 U+986F <> U+663E
 U+9870 <> U+98A6
 U+9871 <> U+9885
@@ -2455,39 +4242,60 @@
 U+9873 <> U+989E
 U+9874 <> U+98A7
 U+98A8 <> U+98CE
+U+98A9 <> U+310D4
+U+98AC <> U+310D5
 U+98AD <> U+98D0
 U+98AE <> U+98D1
 U+98AF <> U+98D2
 U+98B0 <> U+29665
 U+98B1 <> U+53F0
+U+98B2 <> U+310D8
 U+98B3 <> U+522E
+U+98B4 <> U+2CC7D
 U+98B6 <> U+98D3
 U+98B7 <> U+2966A
 U+98B8 <> U+98D4
+U+98B9 <> U+2CC75
 U+98BA <> U+98CF
 U+98BB <> U+98D6
 U+98BC <> U+98D5
+U+98BD <> U+2CC7C
 U+98BE <> U+2966B
+U+98BF <> U+2CCF3
 U+98C0 <> U+98D7
+U+98C1 <> U+310DF
+U+98C2 <> U+2EA35
 U+98C4 <> U+98D8
 U+98C6 <> U+98D9
+U+98C7 <> U+310E0
 U+98C8 <> U+98DA
+U+98C9 <> U+2CC85
+U+98CB <> U+2B5CB
+U+98CD <> U+310DD
 U+98DB <> U+98DE
 U+98E0 <> U+9963
 U+98E2 <> U+9965
 U+98E3 <> U+9964
+U+98E4 <> U+2CCA6
 U+98E5 <> U+9966
+U+98E6 <> U+2B5DE
 U+98E9 <> U+9968
 U+98EA <> U+996A
 U+98EB <> U+996B
 U+98ED <> U+996C
 U+98EF <> U+996D
+U+98F0 <> U+310F4
 U+98F2 <> U+996E
 U+98F4 <> U+9974
+U+98F5 <> U+2B5E2
+U+98F6 <> U+2B5E3
+U+98F7 <> U+2CCAD
 U+98FC <> U+9972
 U+98FD <> U+9971
 U+98FE <> U+9970
 U+98FF <> U+9973
+U+9900 <> U+2EA5C
+U+9902 <> U+310FA
 U+9903 <> U+997A
 U+9904 <> U+9978
 U+9905 <> U+997C
@@ -2508,89 +4316,171 @@
 U+991B <> U+9984
 U+991C <> U+9983
 U+991E <> U+996F
+U+991F <> U+2CCC2
 U+9921 <> U+9985
+U+9922 <> U+310FE
+U+9923 <> U+2CCBC
+U+9924 <> U+310FF
 U+9926 <> U+2B5E0
+U+9927 <> U+2B5EA
 U+9928 <> U+9986
+U+9929 <> U+310FD
+U+992A <> U+2B5EC
+U+992B <> U+2B5E5
+U+992C <> U+2B5EB
 U+992D <> U+2B5EE
+U+992F <> U+31104
+U+9930 <> U+2CCC6
 U+9931 <> U+7CC7
+U+9932 <> U+2EA5D
 U+9933 <> U+9967
+U+9934 <> U+310FC
+U+9935 <> U+2B5ED
 U+9936 <> U+9989
 U+9937 <> U+9987
 U+9938 <> U+2980C
+U+9939 <> U+2CCCD
 U+993A <> U+998E
 U+993C <> U+9969
 U+993E <> U+998F
 U+993F <> U+998A
+U+9940 <> U+2CCCA
 U+9941 <> U+998C
 U+9943 <> U+998D
 U+9945 <> U+9992
+U+9946 <> U+2EA5B
+U+9947 <> U+310F2
 U+9948 <> U+9990
 U+9949 <> U+9991
 U+994A <> U+9993
 U+994B <> U+9988
 U+994C <> U+9994
+U+994E <> U+31106
+U+9950 <> U+2EA5E
 U+9952 <> U+9976
 U+9957 <> U+98E8
 U+9958 <> U+2B5F4
+U+9959 <> U+31100
+U+995B <> U+31108
 U+995C <> U+990D
 U+995E <> U+998B
+U+995F <> U+2B5F5
+U+9960 <> U+2B5E9
+U+9961 <> U+3110A
 U+9962 <> U+9995
+U+99A9 <> U+2CCDF
 U+99AC <> U+9A6C
 U+99AD <> U+9A6D
 U+99AE <> U+51AF
+U+99AF <> U+2B61B
 U+99B1 <> U+9A6E
+U+99B2 <> U+3113D
 U+99B3 <> U+9A70
 U+99B4 <> U+9A6F
+U+99B5 <> U+3113C
 U+99B9 <> U+9A72
+U+99BA <> U+31142
+U+99BC <> U+2B61C
+U+99BD <> U+31141
 U+99C1 <> U+9A73
+U+99C2 <> U+31140
 U+99C3 <> U+2B61D
+U+99C9 <> U+2CCF6
+U+99CA <> U+2B61F
+U+99CD <> U+2CCF4
 U+99CE <> U+299E8
+U+99CF <> U+31143
 U+99D0 <> U+9A7B
 U+99D1 <> U+9A7D
 U+99D2 <> U+9A79
+U+99D3 <> U+2CCF5
 U+99D4 <> U+9A75
 U+99D5 <> U+9A7E
+U+99D7 <> U+31147
 U+99D8 <> U+9A80
 U+99D9 <> U+9A78
 U+99DA <> U+299EB
 U+99DB <> U+9A76
+U+99DC <> U+31148
 U+99DD <> U+9A7C
+U+99DE <> U+2B61E
 U+99DF <> U+9A77
 U+99E2 <> U+9A88
+U+99E3 <> U+3114F
+U+99E4 <> U+2B620
+U+99E5 <> U+31149
 U+99E7 <> U+299F2
 U+99E9 <> U+299F4
+U+99EA <> U+2CCFD
+U+99EB <> U+2B621
+U+99EC <> U+3114B
 U+99ED <> U+9A87
+U+99EE <> U+31150
 U+99F0 <> U+9A83
 U+99F1 <> U+9A86
+U+99F4 <> U+2EAA2
 U+99F6 <> U+299FA
+U+99F7 <> U+31154
 U+99F8 <> U+9A8E
+U+99F9 <> U+2EAA1
+U+99FA <> U+2CD00
 U+99FB <> U+2B623
+U+99FC <> U+2CCFF
+U+99FD <> U+31156
+U+99FE <> U+31159
 U+99FF <> U+9A8F
+U+9A00 <> U+31157
 U+9A01 <> U+9A8B
 U+9A02 <> U+9A8D
 U+9A03 <> U+2B624
+U+9A04 <> U+2B627
 U+9A05 <> U+9A93
+U+9A07 <> U+3115A
+U+9A09 <> U+2B625
+U+9A0A <> U+2B626
+U+9A0B <> U+31155
 U+9A0C <> U+9A94
 U+9A0D <> U+9A92
 U+9A0E <> U+9A91
 U+9A0F <> U+9A90
+U+9A11 <> U+2CD02
 U+9A14 <> U+29A00
+U+9A15 <> U+3115C
 U+9A16 <> U+9A9B
+U+9A17 <> U+3115D
 U+9A19 <> U+9A97
 U+9A1A <> U+29A0A
+U+9A1C <> U+2B629
 U+9A1D <> U+29A03
+U+9A1E <> U+2CD03
 U+9A1F <> U+29A08
 U+9A20 <> U+2B628
+U+9A22 <> U+3115E
+U+9A23 <> U+2EAA3
 U+9A24 <> U+9A99
+U+9A25 <> U+3115F
 U+9A27 <> U+4BC4
+U+9A29 <> U+31161
 U+9A2A <> U+29A04
 U+9A2B <> U+9A9E
+U+9A2C <> U+31162
 U+9A2D <> U+9A98
 U+9A2E <> U+9A9D
+U+9A2F <> U+2CD05
 U+9A30 <> U+817E
+U+9A31 <> U+2B62C
+U+9A32 <> U+2EAA4
+U+9A33 <> U+3113F
+U+9A34 <> U+2B62B
+U+9A35 <> U+2B62A
 U+9A36 <> U+9A7A
 U+9A37 <> U+9A9A
 U+9A38 <> U+9A9F
+U+9A39 <> U+2CD06
+U+9A3A <> U+3114A
+U+9A3B <> U+2B62D
+U+9A3C <> U+2B80B
+U+9A3D <> U+31169
 U+9A3E <> U+9AA1
 U+9A40 <> U+84E6
 U+9A41 <> U+9A9C
@@ -2598,24 +4488,39 @@
 U+9A43 <> U+9AA0
 U+9A44 <> U+9AA2
 U+9A45 <> U+9A71
+U+9A48 <> U+3116B
+U+9A49 <> U+31167
 U+9A4A <> U+9A85
 U+9A4B <> U+299EF
 U+9A4C <> U+9A95
 U+9A4D <> U+9A81
+U+9A4E <> U+2CD0A
 U+9A4F <> U+9AA3
+U+9A50 <> U+2EAA5
+U+9A52 <> U+3115B
+U+9A53 <> U+2B62F
+U+9A54 <> U+3116A
 U+9A55 <> U+9A84
+U+9A56 <> U+2CD0B
 U+9A57 <> U+9A8C
+U+9A59 <> U+2B630
 U+9A5A <> U+60CA
 U+9A5B <> U+9A7F
+U+9A5E <> U+31164
 U+9A5F <> U+9AA4
+U+9A60 <> U+3116C
+U+9A61 <> U+31145
 U+9A62 <> U+9A74
 U+9A64 <> U+9AA7
 U+9A65 <> U+9AA5
 U+9A66 <> U+9AA6
+U+9A68 <> U+2B631
+U+9A69 <> U+2CD10
 U+9A6A <> U+9A8A
 U+9A6B <> U+9A89
 U+9AAF <> U+80AE
 U+9ACF <> U+9AC5
+U+9AD0 <> U+3116E
 U+9AD2 <> U+810F
 U+9AD4 <> U+4F53
 U+9AD5 <> U+9ACC
@@ -2623,7 +4528,14 @@
 U+9AEE <> U+53D1
 U+9B06 <> U+677E
 U+9B0D <> U+80E1
+U+9B16 <> U+29B79
+U+9B17 <> U+31186
 U+9B1A <> U+987B
+U+9B1C <> U+31181
+U+9B1D <> U+31180
+U+9B1E <> U+2CD29
+U+9B20 <> U+2B63D
+U+9B21 <> U+2EAC2
 U+9B22 <> U+9B13
 U+9B25 <> U+6597
 U+9B27 <> U+95F9
@@ -2631,232 +4543,469 @@
 U+9B2E <> U+9604
 U+9B31 <> U+90C1
 U+9B39 <> U+9B36
+U+9B3A <> U+3118C
 U+9B4E <> U+9B49
+U+9B57 <> U+3119B
 U+9B58 <> U+9B47
 U+9B5A <> U+9C7C
 U+9B5B <> U+9C7D
+U+9B5C <> U+2CD81
+U+9B5D <> U+2CD80
 U+9B5F <> U+2B689
+U+9B60 <> U+311CF
+U+9B61 <> U+2CD84
 U+9B62 <> U+9C7E
+U+9B63 <> U+2EB1B
 U+9B65 <> U+29F79
+U+9B66 <> U+2B68C
+U+9B67 <> U+311D8
 U+9B68 <> U+9C80
+U+9B6A <> U+2CD87
+U+9B6B <> U+311D9
+U+9B6C <> U+311D6
+U+9B6D <> U+311D0
+U+9B6E <> U+311D2
 U+9B6F <> U+9C81
+U+9B71 <> U+311D3
 U+9B74 <> U+9C82
+U+9B75 <> U+2B68D
+U+9B76 <> U+311D4
 U+9B77 <> U+9C7F
 U+9B7A <> U+9C84
+U+9B7B <> U+311DF
+U+9B7C <> U+311DC
+U+9B7D <> U+2B810
+U+9B7E <> U+311DD
+U+9B80 <> U+2CD8D
 U+9B81 <> U+9C85
+U+9B82 <> U+311E0
 U+9B83 <> U+9C86
 U+9B84 <> U+2B692
+U+9B85 <> U+2B691
+U+9B86 <> U+2B696
+U+9B87 <> U+311DB
+U+9B88 <> U+2CD8B
 U+9B8A <> U+9C8C
 U+9B8B <> U+9C89
+U+9B8C <> U+311E2
 U+9B8D <> U+9C8F
+U+9B8E <> U+9C87
+U+9B8F <> U+311E1
 U+9B90 <> U+9C90
 U+9B91 <> U+9C8D
 U+9B92 <> U+9C8B
 U+9B93 <> U+9C8A
+U+9B98 <> U+2CD8C
 U+9B9A <> U+9C92
+U+9B9B <> U+311E8
 U+9B9C <> U+9C98
 U+9B9E <> U+9C95
 U+9B9F <> U+29F7E
+U+9BA0 <> U+2CD8F
+U+9BA1 <> U+2CD90
 U+9BA3 <> U+4C9F
+U+9BA4 <> U+2B693
+U+9BA5 <> U+311EA
 U+9BA6 <> U+9C96
+U+9BA7 <> U+311E7
+U+9BA8 <> U+2EB1C
 U+9BAA <> U+9C94
 U+9BAB <> U+9C9B
+U+9BAC <> U+311E6
 U+9BAD <> U+9C91
 U+9BAE <> U+9C9C
+U+9BAF <> U+2B697
 U+9BB0 <> U+2B694
 U+9BB3 <> U+9C93
+U+9BB5 <> U+2B69B
 U+9BB6 <> U+9CAA
+U+9BB7 <> U+2CD95
 U+9BB8 <> U+29F83
+U+9BB9 <> U+311EF
 U+9BBA <> U+9C9D
+U+9BBB <> U+311F3
+U+9BBF <> U+2B69A
 U+9BC0 <> U+9CA7
 U+9BC1 <> U+9CA0
 U+9BC4 <> U+29F81
+U+9BC5 <> U+31201
 U+9BC6 <> U+2B699
 U+9BC7 <> U+9CA9
+U+9BC8 <> U+311F1
 U+9BC9 <> U+9CA4
 U+9BCA <> U+9CA8
+U+9BCC <> U+2CD94
 U+9BD2 <> U+9CAC
 U+9BD4 <> U+9CBB
 U+9BD5 <> U+9CAF
 U+9BD6 <> U+9CAD
 U+9BD7 <> U+9C9E
+U+9BDA <> U+311FA
 U+9BDB <> U+9CB7
 U+9BDD <> U+9CB4
+U+9BDE <> U+2B6A1
+U+9BE0 <> U+311ED
 U+9BE1 <> U+9CB1
 U+9BE2 <> U+9CB5
 U+9BE4 <> U+9CB2
+U+9BE5 <> U+311F6
+U+9BE6 <> U+311FC
 U+9BE7 <> U+9CB3
 U+9BE8 <> U+9CB8
+U+9BE9 <> U+311D7
 U+9BEA <> U+9CAE
 U+9BEB <> U+9CB0
+U+9BEC <> U+2B69E
+U+9BEE <> U+311FE
+U+9BF0 <> U+9CB6
 U+9BF1 <> U+29F87
 U+9BF4 <> U+9CBA
 U+9BF6 <> U+29F7C
 U+9BF7 <> U+9CC0
+U+9BF8 <> U+31204
+U+9BF9 <> U+2CDA2
+U+9BFB <> U+2CD9F
+U+9BFC <> U+31205
 U+9BFD <> U+9CAB
+U+9BFE <> U+2B6A3
 U+9BFF <> U+9CCA
 U+9C01 <> U+9CC8
 U+9C02 <> U+9C97
 U+9C03 <> U+9CC2
+U+9C05 <> U+31202
 U+9C06 <> U+4CA0
+U+9C07 <> U+2CDA7
 U+9C08 <> U+9CBD
 U+9C09 <> U+9CC7
+U+9C0A <> U+2CDA0
+U+9C0B <> U+2B6A2
 U+9C0C <> U+4CA1
 U+9C0D <> U+9CC5
 U+9C0F <> U+9CBE
+U+9C10 <> U+9CC4
+U+9C11 <> U+2B68A
 U+9C12 <> U+9CC6
 U+9C13 <> U+9CC3
+U+9C15 <> U+2B6A5
+U+9C17 <> U+2CD9E
 U+9C1C <> U+9CD2
+U+9C1D <> U+3120B
 U+9C1F <> U+9CD1
 U+9C20 <> U+9CCB
+U+9C21 <> U+3120A
 U+9C23 <> U+9CA5
 U+9C24 <> U+2B695
 U+9C25 <> U+9CCF
+U+9C26 <> U+2B6A4
 U+9C27 <> U+4CA2
 U+9C28 <> U+9CCE
 U+9C29 <> U+9CD0
+U+9C2B <> U+2B6A6
+U+9C2C <> U+31209
 U+9C2D <> U+9CCD
 U+9C2E <> U+9CC1
+U+9C2F <> U+3120D
 U+9C31 <> U+9CA2
 U+9C32 <> U+9CCC
 U+9C33 <> U+9CD3
+U+9C34 <> U+31211
 U+9C35 <> U+9CD8
+U+9C36 <> U+2CDAD
 U+9C37 <> U+9CA6
 U+9C39 <> U+9CA3
 U+9C3A <> U+9CB9
 U+9C3B <> U+9CD7
 U+9C3C <> U+9CDB
+U+9C3D <> U+2B6A7
 U+9C3E <> U+9CD4
+U+9C3F <> U+311F5
+U+9C40 <> U+2CDA8
+U+9C41 <> U+3120F
 U+9C42 <> U+9CC9
+U+9C43 <> U+3120C
+U+9C44 <> U+2B68B
 U+9C45 <> U+9CD9
+U+9C46 <> U+2B812
 U+9C47 <> U+29F8C
 U+9C48 <> U+9CD5
 U+9C49 <> U+9CD6
+U+9C4A <> U+2B6AA
+U+9C4B <> U+2CDAC
+U+9C4C <> U+2CDB2
+U+9C4D <> U+311E3
+U+9C4E <> U+311E9
+U+9C4F <> U+31213
+U+9C50 <> U+311FF
+U+9C51 <> U+2CDAB
 U+9C52 <> U+9CDF
+U+9C53 <> U+2CD9B
 U+9C54 <> U+9CDD
+U+9C55 <> U+31215
 U+9C56 <> U+9CDC
 U+9C57 <> U+9CDE
 U+9C58 <> U+9C9F
+U+9C5A <> U+2CDAE
 U+9C5D <> U+9CBC
+U+9C5E <> U+2CDB5
 U+9C5F <> U+9C8E
 U+9C60 <> U+9C99
+U+9C62 <> U+2B6AB
 U+9C63 <> U+9CE3
 U+9C64 <> U+9CE1
+U+9C65 <> U+2EB1D
+U+9C66 <> U+311F8
 U+9C67 <> U+9CE2
 U+9C68 <> U+9CBF
+U+9C6C <> U+31217
 U+9C6D <> U+9C9A
 U+9C6E <> U+2B688
 U+9C6F <> U+9CE0
 U+9C72 <> U+2B6AD
+U+9C74 <> U+31219
+U+9C75 <> U+2EB24
 U+9C77 <> U+9CC4
 U+9C78 <> U+9C88
+U+9C79 <> U+2CDBA
 U+9C7A <> U+9CA1
+U+9C7B <> U+3121C
 U+9CE5 <> U+9E1F
+U+9CE6 <> U+31247
 U+9CE7 <> U+51EB
 U+9CE9 <> U+9E20
+U+9CED <> U+31248
+U+9CF1 <> U+3124A
 U+9CF2 <> U+9E24
 U+9CF3 <> U+51E4
 U+9CF4 <> U+9E23
 U+9CF6 <> U+9E22
 U+9CF7 <> U+2B6DB
+U+9CF8 <> U+31253
+U+9CFA <> U+3124E
+U+9CFB <> U+31251
 U+9CFC <> U+2A243
+U+9CFD <> U+2B6DA
 U+9CFE <> U+4D13
+U+9CFF <> U+3124D
+U+9D00 <> U+2B6DC
+U+9D01 <> U+2EB62
+U+9D02 <> U+31254
 U+9D03 <> U+2B6DE
+U+9D05 <> U+2B6DD
 U+9D06 <> U+9E29
 U+9D07 <> U+9E28
 U+9D09 <> U+9E26
+U+9D0D <> U+2CE00
+U+9D10 <> U+2B6E4
 U+9D12 <> U+9E30
+U+9D13 <> U+2EB64
+U+9D14 <> U+2B6E1
 U+9D15 <> U+9E35
 U+9D17 <> U+2B061
+U+9D18 <> U+31261
+U+9D19 <> U+3125B
+U+9D1A <> U+31255
 U+9D1B <> U+9E33
 U+9D1C <> U+2A248
 U+9D1D <> U+9E32
 U+9D1E <> U+9E2E
 U+9D1F <> U+9E31
+U+9D20 <> U+31257
+U+9D21 <> U+31258
+U+9D22 <> U+31262
 U+9D23 <> U+9E2A
+U+9D25 <> U+2B6E3
 U+9D26 <> U+9E2F
 U+9D28 <> U+9E2D
+U+9D29 <> U+3125A
+U+9D2E <> U+2B6E6
 U+9D2F <> U+9E38
 U+9D30 <> U+9E39
+U+9D31 <> U+3126A
 U+9D32 <> U+2A246
+U+9D33 <> U+2B6E9
 U+9D34 <> U+9E3B
+U+9D36 <> U+31265
 U+9D37 <> U+4D15
+U+9D38 <> U+3126B
+U+9D39 <> U+3126F
+U+9D3A <> U+31269
 U+9D3B <> U+9E3F
+U+9D3D <> U+2B6EA
+U+9D3E <> U+31272
 U+9D3F <> U+9E3D
+U+9D40 <> U+2CE0A
 U+9D41 <> U+4D14
 U+9D42 <> U+9E3A
 U+9D43 <> U+9E3C
+U+9D44 <> U+2CE08
+U+9D45 <> U+3126E
+U+9D4A <> U+2B6E5
+U+9D4B <> U+3127D
+U+9D4C <> U+31278
+U+9D4E <> U+3127B
+U+9D4F <> U+2CDD5
 U+9D50 <> U+9E40
 U+9D51 <> U+9E43
 U+9D52 <> U+9E46
 U+9D53 <> U+9E41
+U+9D54 <> U+3127F
+U+9D55 <> U+3127E
+U+9D56 <> U+3125D
+U+9D57 <> U+31279
+U+9D59 <> U+31250
 U+9D5A <> U+2A24D
+U+9D5B <> U+31260
 U+9D5C <> U+9E48
 U+9D5D <> U+9E45
+U+9D5F <> U+2B6ED
 U+9D60 <> U+9E44
 U+9D61 <> U+9E49
+U+9D67 <> U+2B6E8
+U+9D69 <> U+2B6F3
 U+9D6A <> U+9E4C
+U+9D6B <> U+2B6F1
 U+9D6C <> U+9E4F
 U+9D6E <> U+9E50
 U+9D6F <> U+9E4E
+U+9D70 <> U+2B6F2
+U+9D71 <> U+31280
 U+9D72 <> U+9E4A
+U+9D73 <> U+3128B
+U+9D74 <> U+31287
+U+9D75 <> U+31286
+U+9D76 <> U+31268
 U+9D77 <> U+9E53
+U+9D78 <> U+31281
+U+9D79 <> U+31283
+U+9D7B <> U+31285
+U+9D7C <> U+3128A
+U+9D7D <> U+3128D
 U+9D7E <> U+9E4D
+U+9D80 <> U+2CE12
+U+9D82 <> U+2CDFC
+U+9D83 <> U+31284
 U+9D84 <> U+4D16
+U+9D85 <> U+3128E
+U+9D86 <> U+31275
 U+9D87 <> U+9E2B
 U+9D89 <> U+9E51
 U+9D8A <> U+9E52
+U+9D8B <> U+3128C
+U+9D8C <> U+2B6F5
 U+9D92 <> U+2B6F6
 U+9D93 <> U+9E4B
+U+9D94 <> U+31297
+U+9D95 <> U+2CE1D
 U+9D96 <> U+9E59
 U+9D97 <> U+2B6F8
 U+9D98 <> U+9E55
+U+9D99 <> U+31295
 U+9D9A <> U+9E57
+U+9D9B <> U+31290
+U+9D9D <> U+3128F
+U+9D9E <> U+31291
+U+9D9F <> U+31296
+U+9DA0 <> U+2CE18
 U+9DA1 <> U+9E56
+U+9DA2 <> U+31292
+U+9DA3 <> U+2CE1C
+U+9DA4 <> U+31271
 U+9DA5 <> U+9E5B
+U+9DA6 <> U+2B6F7
+U+9DA8 <> U+31298
 U+9DA9 <> U+9E5C
 U+9DAA <> U+4D17
 U+9DAC <> U+9E27
+U+9DAD <> U+2B6EF
 U+9DAF <> U+83BA
+U+9DB0 <> U+2B6EB
 U+9DB1 <> U+2CE23
 U+9DB2 <> U+9E5F
 U+9DB4 <> U+9E64
+U+9DB5 <> U+2CE05
+U+9DB6 <> U+3129D
+U+9DB7 <> U+3129F
 U+9DB9 <> U+9E60
 U+9DBA <> U+9E61
 U+9DBB <> U+9E58
 U+9DBC <> U+9E63
-U+9DBF <> U+9E5A
+U+9DBD <> U+3129B
+U+9DC0 <> U+9E5A
 U+9DC1 <> U+9E62
 U+9DC2 <> U+9E5E
+U+9DC3 <> U+2EB68
+U+9DC5 <> U+2B6FD
+U+9DC7 <> U+2C1AE
 U+9DC8 <> U+4D18
+U+9DC9 <> U+4D18
 U+9DCA <> U+9E5D
+U+9DCB <> U+312A0
+U+9DCE <> U+2CE22
+U+9DCF <> U+3129A
+U+9DD0 <> U+2B700
+U+9DD1 <> U+312A2
+U+9DD2 <> U+3124F
 U+9DD3 <> U+9E67
 U+9DD4 <> U+2A251
+U+9DD5 <> U+312A1
 U+9DD6 <> U+9E65
 U+9DD7 <> U+9E25
 U+9DD9 <> U+9E37
 U+9DDA <> U+9E68
+U+9DDB <> U+312A4
+U+9DDC <> U+2CE1E
+U+9DDE <> U+2EB6A
+U+9DDF <> U+2CE26
+U+9DE2 <> U+312A7
+U+9DE3 <> U+2B703
+U+9DE4 <> U+2B6F4
 U+9DE5 <> U+9E36
 U+9DE6 <> U+9E6A
+U+9DE7 <> U+312A6
 U+9DE8 <> U+2A24A
+U+9DE9 <> U+2B701
 U+9DEB <> U+9E54
+U+9DED <> U+2CE2A
+U+9DEE <> U+3126C
 U+9DEF <> U+9E69
+U+9DF0 <> U+2CE27
 U+9DF2 <> U+9E6B
 U+9DF3 <> U+9E47
+U+9DF5 <> U+312A9
+U+9DF6 <> U+31273
+U+9DF7 <> U+2B704
 U+9DF8 <> U+9E6C
 U+9DF9 <> U+9E70
 U+9DFA <> U+9E6D
 U+9DFD <> U+9E34
+U+9DFE <> U+312B0
 U+9DFF <> U+4D19
+U+9E00 <> U+312AC
+U+9E01 <> U+312AE
 U+9E02 <> U+3D89
+U+9E03 <> U+3124C
+U+9E04 <> U+312AF
+U+9E05 <> U+3125F
+U+9E06 <> U+312AB
 U+9E07 <> U+9E6F
+U+9E09 <> U+31274
+U+9E0A <> U+4D19
 U+9E0B <> U+2B6E2
 U+9E0C <> U+9E71
+U+9E0E <> U+2CE15
 U+9E0F <> U+9E72
+U+9E10 <> U+312B1
+U+9E11 <> U+2CE1A
+U+9E12 <> U+31270
+U+9E13 <> U+312B3
 U+9E15 <> U+9E2C
+U+9E16 <> U+2CE30
+U+9E17 <> U+2B6DF
 U+9E18 <> U+9E74
+U+9E19 <> U+312B5
 U+9E1A <> U+9E66
 U+9E1B <> U+9E73
+U+9E1C <> U+2CE31
 U+9E1D <> U+9E42
 U+9E1E <> U+9E3E
 U+9E75 <> U+5364
@@ -2865,13 +5014,24 @@
 U+9E7C <> U+7877
 U+9E7D <> U+76D0
 U+9E97 <> U+4E3D
+U+9EA1 <> U+2CE3E
 U+9EA5 <> U+9EA6
+U+9EA7 <> U+312C7
 U+9EA8 <> U+2A38A
 U+9EA9 <> U+9EB8
+U+9EAC <> U+24FF2
+U+9EAE <> U+312CB
+U+9EAF <> U+66F2
+U+9EB0 <> U+2EB87
+U+9EB1 <> U+312D6
 U+9EB2 <> U+2A389
+U+9EB3 <> U+2A38C
+U+9EB4 <> U+9EB9
 U+9EB5 <> U+9762
+U+9EB7 <> U+2B711
 U+9EBC <> U+4E48
 U+9EBD <> U+4E48
+U+9EC2 <> U+312F1
 U+9EC3 <> U+9EC4
 U+9ECC <> U+9EC9
 U+9EDE <> U+70B9
@@ -2879,195 +5039,1227 @@
 U+9EF2 <> U+9EEA
 U+9EF6 <> U+9EE1
 U+9EF7 <> U+9EE9
+U+9EF8 <> U+312F6
 U+9EFD <> U+9EFE
 U+9EFF <> U+9F0B
+U+9F00 <> U+312FE
+U+9F01 <> U+312FF
+U+9F04 <> U+2CE63
+U+9F05 <> U+31304
+U+9F06 <> U+31306
+U+9F08 <> U+31307
 U+9F09 <> U+9F0D
+U+9F0A <> U+31309
+U+9F1A <> U+3130A
+U+9F32 <> U+3130F
 U+9F34 <> U+9F39
+U+9F48 <> U+31316
 U+9F4A <> U+9F50
 U+9F4B <> U+658B
+U+9F4C <> U+31317
+U+9F4D <> U+31318
 U+9F4E <> U+8D4D
 U+9F4F <> U+9F51
 U+9F52 <> U+9F7F
 U+9F54 <> U+9F80
 U+9F55 <> U+9F81
+U+9F56 <> U+2CE7A
 U+9F57 <> U+9F82
+U+9F58 <> U+2CE7C
 U+9F59 <> U+9F85
+U+9F5A <> U+3132C
 U+9F5C <> U+9F87
+U+9F5D <> U+3132F
+U+9F5E <> U+3132B
 U+9F5F <> U+9F83
 U+9F60 <> U+9F86
 U+9F61 <> U+9F84
+U+9F63 <> U+51FA
+U+9F64 <> U+31332
+U+9F65 <> U+31331
 U+9F66 <> U+9F88
+U+9F67 <> U+2B729
+U+9F69 <> U+2B72A
 U+9F6A <> U+9F8A
 U+9F6C <> U+9F89
+U+9F6D <> U+2B72D
+U+9F6E <> U+2CE88
+U+9F6F <> U+2B81C
+U+9F70 <> U+2B72C
+U+9F71 <> U+31336
 U+9F72 <> U+9F8B
+U+9F73 <> U+31333
+U+9F74 <> U+2B72E
+U+9F75 <> U+31339
 U+9F76 <> U+816D
 U+9F77 <> U+9F8C
+U+9F78 <> U+3133D
+U+9F79 <> U+2CE8E
+U+9F7A <> U+3132D
+U+9F7B <> U+3133A
+U+9F7C <> U+2CE93
+U+9F7D <> U+2CE94
+U+9F7E <> U+2B730
 U+9F8D <> U+9F99
 U+9F8E <> U+5390
+U+9F8F <> U+31341
 U+9F90 <> U+5E9E
 U+9F91 <> U+4DAE
+U+9F93 <> U+2B732
 U+9F94 <> U+9F9A
 U+9F95 <> U+9F9B
+U+9F96 <> U+31342
 U+9F9C <> U+9F9F
+U+9F9D <> U+2C4EB
+U+9F9E <> U+31348
+U+9FA5 <> U+2CC73
 U+9FAD <> U+29A0E
 U+9FAF <> U+28C46
+U+9FB2 <> U+30F8B
+U+9FBD <> U+307B3
 U+9FC1 <> U+4724
 U+9FD0 <> U+4CA4
 U+9FD2 <> U+9FD3
+U+20054 <> U+2BDD8
+U+2005E <> U+2003E
 U+20325 <> U+201BF
+U+20385 <> U+30083
+U+20392 <> U+2B8A8
 U+203E2 <> U+20257
+U+203EE <> U+2B898
+U+20407 <> U+2DADD
+U+2040A <> U+2B74B
+U+2040D <> U+2B8EB
+U+2042E <> U+2CFA3
+U+2043D <> U+2B894
+U+20447 <> U+300BB
+U+20459 <> U+2B8B9
+U+20472 <> U+2B8DB
+U+205AB <> U+2B93D
+U+205FF <> U+30101
+U+20625 <> U+2B94D
+U+20732 <> U+2B97C
+U+2077F <> U+2B981
 U+20786 <> U+206C6
+U+207AD <> U+2B989
+U+207EA <> U+2B97A
 U+2080E <> U+206B3
+U+2080F <> U+2B975
+U+2081D <> U+2B973
+U+2082B <> U+3012D
+U+20A58 <> U+2BA06
+U+20A6C <> U+30199
+U+20B19 <> U+2A821
+U+20D54 <> U+2D1F4
+U+20D58 <> U+2BA56
+U+20D79 <> U+2BA5A
+U+20DB8 <> U+20CDE
+U+20DB9 <> U+301E1
+U+20DCC <> U+301D8
+U+20DCF <> U+2B86C
+U+20E5B <> U+2BA6F
+U+20E96 <> U+2D208
+U+20EAE <> U+2BA85
+U+20F17 <> U+2BA9A
+U+20F24 <> U+2BA84
+U+20F2E <> U+2BA73
+U+20F48 <> U+2D21F
+U+20F78 <> U+2CC5E
+U+20FAC <> U+2BABD
+U+20FD5 <> U+2A70E
+U+20FD8 <> U+2D268
+U+20FFF <> U+2D1C0
+U+21020 <> U+2D21C
+U+2103F <> U+2BAF5
+U+2105A <> U+2D1D9
+U+2106F <> U+2D1E1
+U+21092 <> U+2BAAA
+U+210A1 <> U+2A892
+U+210BF <> U+2BA98
+U+210C4 <> U+2A87A
+U+210C8 <> U+3022E
+U+210E4 <> U+2A890
 U+21114 <> U+20D22
+U+21116 <> U+2D209
 U+21123 <> U+20D78
+U+21124 <> U+2D22E
+U+21129 <> U+2D76B
 U+2114F <> U+20CA5
+U+21158 <> U+2D2B8
+U+21165 <> U+2BB1F
+U+21167 <> U+2D27C
+U+2136B <> U+2BB6E
+U+2144D <> U+2BB7C
+U+2144E <> U+2BB6F
 U+2146D <> U+212D7
+U+2146F <> U+30271
+U+214B6 <> U+213C6
+U+214C1 <> U+2A904
+U+214D7 <> U+2B761
+U+214E6 <> U+30285
 U+214FE <> U+212C0
+U+215C6 <> U+302D6
 U+217B5 <> U+36DF
+U+217EB <> U+2B76A
+U+2181A <> U+302FE
 U+21839 <> U+36FF
 U+21883 <> U+36E0
+U+21898 <> U+30309
+U+218BF <> U+2D478
+U+218E8 <> U+21847
+U+21920 <> U+2BC23
+U+21921 <> U+2D479
+U+2192B <> U+2BC7F
 U+21B89 <> U+21B5C
 U+21BA3 <> U+21B6C
+U+21BA4 <> U+2BD3C
+U+21CF3 <> U+21CC3
+U+21DE8 <> U+2BD78
+U+21E17 <> U+2AA29
+U+21E6C <> U+2AA39
+U+21EA0 <> U+3039D
+U+21EA8 <> U+2BD76
+U+21F31 <> U+303A2
+U+21F3E <> U+3039B
+U+21F57 <> U+21E03
+U+21F73 <> U+2BD8A
+U+21F75 <> U+2BD79
+U+21F86 <> U+303B7
 U+21FB1 <> U+37DC
+U+21FD6 <> U+2AA5B
+U+22113 <> U+303D3
+U+2213C <> U+2BDC8
+U+22161 <> U+2BDCC
+U+22163 <> U+2D61A
+U+2227F <> U+303F2
+U+22283 <> U+303FD
+U+22370 <> U+2AAB4
+U+22417 <> U+3041A
+U+22569 <> U+224C5
+U+22595 <> U+2A888
+U+226D4 <> U+2BE7C
+U+2272D <> U+2AAF8
+U+22830 <> U+30445
+U+2283C <> U+22651
+U+22880 <> U+2BE92
+U+228CF <> U+3988
+U+228D0 <> U+2AB1A
 U+228DA <> U+2261D
 U+228ED <> U+2261E
+U+2290C <> U+2BEC7
+U+2291C <> U+2BEAB
+U+22927 <> U+30496
+U+22929 <> U+2AAE1
+U+22931 <> U+22619
+U+2293F <> U+2AB2F
+U+22960 <> U+2BE77
+U+22BE6 <> U+2BF32
+U+22BE9 <> U+2BF24
+U+22BF7 <> U+2AB5D
+U+22C61 <> U+2BF36
+U+22C90 <> U+304DD
+U+22CA9 <> U+2BF3E
+U+22CAB <> U+2BF17
+U+22CB8 <> U+2BF35
+U+22CBE <> U+2BF2B
+U+22CC2 <> U+2BF23
+U+22CDA <> U+2BF50
+U+22D26 <> U+2BF59
+U+22D29 <> U+2BF73
+U+22D63 <> U+2D875
+U+22D91 <> U+2BF72
+U+22D92 <> U+2AB6F
 U+22DAB <> U+22ADE
+U+22DC3 <> U+2BF54
+U+22DCF <> U+22A97
+U+22DDE <> U+2D895
 U+22DEE <> U+22ACA
+U+22E01 <> U+6319
+U+22E14 <> U+2D88B
+U+22E19 <> U+2D85C
+U+22E33 <> U+2BF83
+U+22E34 <> U+2BF81
+U+22E38 <> U+304D5
+U+22E4F <> U+30536
+U+22E65 <> U+304D7
+U+22E7C <> U+304DF
 U+22E7F <> U+22B26
+U+22E8E <> U+2D89D
+U+22EB3 <> U+2ABB3
+U+22FD3 <> U+2BFC2
+U+22FE1 <> U+30550
+U+23018 <> U+2BFB3
+U+23037 <> U+2BFB2
+U+2303B <> U+2BFD7
+U+23138 <> U+2C025
+U+23236 <> U+6685
+U+232AF <> U+2D953
+U+232CB <> U+23223
+U+232DE <> U+2327C
+U+23302 <> U+2C051
+U+23350 <> U+2B9C3
+U+23384 <> U+2678C
+U+2339C <> U+30BAD
+U+2353F <> U+305D8
 U+2364E <> U+3B63
+U+2367F <> U+2C0EE
+U+23699 <> U+2C0E6
+U+236E3 <> U+2C0BB
 U+23755 <> U+23637
+U+23781 <> U+3BA0
+U+23790 <> U+305DA
 U+237BB <> U+23613
+U+23815 <> U+2C11E
+U+23829 <> U+2378E
 U+23832 <> U+23476
+U+2384C <> U+2C12C
+U+23876 <> U+2C0F3
+U+2390B <> U+30655
+U+2393F <> U+2CDB7
+U+23A55 <> U+2C199
+U+23AD2 <> U+2BDB2
+U+23BE9 <> U+23BE3
 U+23BF4 <> U+23B64
+U+23BF6 <> U+6BF6
+U+23C1B <> U+306B1
+U+23C28 <> U+2C1C4
+U+23D07 <> U+3075C
+U+23DAF <> U+306C9
+U+23ECF <> U+2C1FC
+U+23ED1 <> U+2DC12
+U+23F0A <> U+2DC17
+U+23F29 <> U+306FA
+U+23F4F <> U+2ADAE
 U+23FB7 <> U+3CE2
 U+23FC9 <> U+23DAB
+U+2402A <> U+2C231
 U+24063 <> U+23EBD
+U+2406A <> U+2C23E
+U+24119 <> U+3075E
+U+24137 <> U+2AD92
+U+24159 <> U+2C1EC
+U+24169 <> U+2DC25
+U+24177 <> U+306FB
+U+24356 <> U+2C297
+U+2435C <> U+307B7
+U+243A4 <> U+2C743
+U+243B1 <> U+3DEA
+U+243D0 <> U+2DD33
+U+24473 <> U+243BB
+U+24479 <> U+2AE40
 U+2448E <> U+24280
+U+244A6 <> U+2C2C3
+U+244BB <> U+2AE79
+U+244CC <> U+2AE60
+U+244CE <> U+243BA
+U+244D3 <> U+2C29C
+U+24600 <> U+2AEA3
+U+246EE <> U+2466F
+U+246F1 <> U+2B7A2
+U+24706 <> U+2AEAA
+U+247E4 <> U+3084B
+U+24814 <> U+30850
+U+2482E <> U+2AEB8
+U+24872 <> U+24735
+U+2489F <> U+24762
+U+248CE <> U+30862
+U+248E4 <> U+2C334
+U+2496D <> U+30870
+U+24A42 <> U+2B7A7
 U+24ABA <> U+3ED8
 U+24AE9 <> U+3ECF
+U+24B05 <> U+2AF34
+U+24BA6 <> U+2C3AC
+U+24C93 <> U+2DED4
+U+24CA2 <> U+2DECD
+U+24CF7 <> U+2AF5D
 U+24CF8 <> U+24CC4
+U+24DC3 <> U+2AF6D
+U+24DFD <> U+3FA1
 U+24E2B <> U+24DA7
+U+24E89 <> U+308E6
+U+24E94 <> U+2AF74
+U+24EDC <> U+24E7A
+U+24EDD <> U+308E9
+U+24EF2 <> U+2C3E4
+U+24F08 <> U+308EB
+U+24F89 <> U+30913
+U+2502C <> U+2A80F
+U+25032 <> U+3092B
+U+250AB <> U+3093D
+U+250B8 <> U+2C420
+U+251D4 <> U+2C447
+U+25278 <> U+30963
+U+252DD <> U+3096D
 U+25303 <> U+25158
+U+2531A <> U+2C459
+U+253DD <> U+2AFCA
+U+25502 <> U+2E032
 U+25565 <> U+25430
 U+25585 <> U+2542F
+U+2558F <> U+2E02A
+U+255A9 <> U+2C48A
+U+255B2 <> U+2AFDE
+U+255C7 <> U+2AFF5
+U+255F4 <> U+2C493
+U+255F9 <> U+309C8
+U+255FA <> U+2C487
+U+255FD <> U+2C497
+U+25603 <> U+2E021
+U+25710 <> U+2B013
+U+25730 <> U+2B00C
+U+257B5 <> U+257A6
+U+2588A <> U+2C4F1
 U+258A2 <> U+416A
+U+258B6 <> U+2B7B7
+U+258B7 <> U+2B02E
 U+25A10 <> U+259C2
+U+25A82 <> U+25A7A
+U+25BE4 <> U+2B073
+U+25C78 <> U+2C52F
+U+25CCA <> U+2C539
+U+25D28 <> U+2B096
+U+25D3C <> U+2B07A
 U+25D43 <> U+25C54
 U+25D4A <> U+25B49
+U+25D5B <> U+2E14E
+U+25D5C <> U+41DA
+U+25D5D <> U+2C56C
 U+25E20 <> U+25B8B
+U+25EBC <> U+2E1D4
+U+25EE4 <> U+2C596
+U+25EE6 <> U+2B0BF
+U+25EF5 <> U+2C59E
+U+25F36 <> U+2C598
 U+25F3D <> U+25E65
 U+25F56 <> U+25E87
+U+25F6D <> U+2C5BA
+U+25F7D <> U+2B9F7
+U+25F82 <> U+2E1E4
+U+25F9D <> U+2C614
+U+25FAF <> U+2B11D
+U+25FC9 <> U+2C61A
 U+25FCA <> U+26208
+U+25FEF <> U+2C626
+U+2600E <> U+2E265
+U+26016 <> U+2B126
+U+26044 <> U+30B19
+U+26055 <> U+30B26
+U+26067 <> U+30B28
 U+26085 <> U+26212
+U+2608B <> U+2C638
 U+260C4 <> U+26217
+U+260D2 <> U+2C63C
+U+260D8 <> U+2C63D
+U+260E9 <> U+2B12F
+U+2610B <> U+2C61E
+U+2610D <> U+2C63E
+U+26127 <> U+2C63F
+U+2613C <> U+2C633
+U+26147 <> U+2B12A
+U+26148 <> U+2B135
+U+2614B <> U+2C643
+U+26158 <> U+30B1D
+U+26177 <> U+2C645
+U+26186 <> U+30B3E
+U+26188 <> U+30B39
+U+261B2 <> U+2B7C7
+U+261CE <> U+30B41
+U+261DB <> U+30B3C
+U+2633E <> U+2C66A
+U+26346 <> U+2C66B
+U+263B9 <> U+30B5A
+U+263D1 <> U+30B57
+U+26480 <> U+2B165
+U+26516 <> U+2B17C
+U+26627 <> U+21CD2
+U+26716 <> U+2C07A
+U+2679B <> U+2C078
+U+267D0 <> U+2C073
+U+267FC <> U+2B19D
+U+26805 <> U+2B785
+U+2684F <> U+305C5
+U+26856 <> U+305C6
+U+2685D <> U+2B1AB
+U+26867 <> U+2E30C
+U+26876 <> U+30BC2
 U+26888 <> U+23368
+U+268C7 <> U+2C082
 U+268CE <> U+267D7
+U+269F4 <> U+30C06
+U+269FA <> U+2B1D8
+U+26AAD <> U+2C714
 U+26ABD <> U+26A29
+U+26C4C <> U+2B1EA
+U+26CDD <> U+30C22
+U+26D55 <> U+2C756
+U+26D86 <> U+2C73A
+U+26E37 <> U+2C74A
+U+26EA3 <> U+30C5D
+U+26F52 <> U+2C760
+U+26F8F <> U+3017B
+U+26FB5 <> U+26D07
+U+26FB6 <> U+2C78B
+U+26FCD <> U+26B19
+U+2707F <> U+2E3FA
+U+27085 <> U+2C7A3
+U+270FD <> U+30C4A
+U+27355 <> U+45BC
+U+273FB <> U+2C803
+U+27410 <> U+30CC1
+U+27431 <> U+2C7FA
+U+27496 <> U+30CBA
+U+274AF <> U+2B2B9
 U+27525 <> U+274AD
+U+2755F <> U+27250
+U+27566 <> U+2C837
+U+275A6 <> U+2C831
+U+276F8 <> U+2C84E
+U+27701 <> U+2C855
+U+27702 <> U+2C854
 U+27717 <> U+461E
+U+27723 <> U+2C84D
 U+27735 <> U+464A
+U+27736 <> U+2E583
 U+2775E <> U+461B
+U+27785 <> U+30CFB
+U+27794 <> U+27721
+U+277A3 <> U+30CF9
+U+277AB <> U+2B30B
+U+277B6 <> U+2C866
+U+277CC <> U+2C860
+U+27808 <> U+2C887
+U+27825 <> U+2C889
+U+27835 <> U+2C88D
+U+2784D <> U+2C888
+U+2786A <> U+2C88F
+U+27874 <> U+2B32B
+U+27878 <> U+30D1B
+U+27883 <> U+30D1A
+U+27884 <> U+2B32C
+U+2788D <> U+2C893
+U+278A2 <> U+2CE9F
+U+278F4 <> U+2C895
+U+27963 <> U+2C8DA
+U+2797A <> U+2C8DD
+U+2799D <> U+2B35E
+U+279A6 <> U+30D58
+U+279A7 <> U+2B35F
+U+279AD <> U+2C8E2
+U+279DD <> U+2C8E8
+U+279ED <> U+2C8FA
+U+279F5 <> U+30D62
+U+279F8 <> U+30D6C
+U+27A0A <> U+2C8F6
+U+27A1D <> U+30D6A
+U+27A33 <> U+30D73
+U+27A3E <> U+2C902
+U+27A55 <> U+2B36D
 U+27A59 <> U+4725
+U+27A66 <> U+2C905
+U+27A67 <> U+2C90F
+U+27A6A <> U+2C90B
+U+27A7C <> U+2B376
+U+27A9E <> U+2C912
+U+27AA1 <> U+2C913
+U+27AA6 <> U+2C915
+U+27AAA <> U+2C914
+U+27AAE <> U+30D7B
+U+27ADA <> U+2C908
+U+27ADD <> U+2B37A
+U+27B01 <> U+30D85
+U+27B05 <> U+2C91C
+U+27B07 <> U+2C91E
+U+27B0C <> U+2C920
+U+27B24 <> U+2B37C
+U+27B28 <> U+2C8EA
+U+27B2A <> U+2C916
+U+27B2E <> U+2C927
+U+27B2F <> U+30D8B
+U+27B3B <> U+2C8F5
+U+27B48 <> U+2B37E
+U+27B79 <> U+2B350
+U+27B86 <> U+2C91A
+U+27B87 <> U+2C8F4
+U+27B88 <> U+2C92F
+U+27B93 <> U+2C931
+U+27C06 <> U+2C937
+U+27C7B <> U+30DA8
 U+27CDF <> U+27CD5
+U+27D2A <> U+2D546
+U+27D4A <> U+2C974
 U+27D73 <> U+478C
+U+27D84 <> U+2C977
 U+27D94 <> U+27E53
+U+27D9F <> U+2C979
 U+27DA7 <> U+478E
+U+27DB2 <> U+2C97C
+U+27DCE <> U+2A800
+U+27DDB <> U+30DE8
+U+27E16 <> U+30DEC
+U+27E18 <> U+2B3A8
+U+27E26 <> U+2C97E
+U+27E2A <> U+2C97F
+U+27E2B <> U+2BB19
+U+27E48 <> U+2A960
+U+27F62 <> U+2C986
+U+27F6F <> U+2B3B8
+U+27F75 <> U+27EA3
+U+27FA5 <> U+30DF8
+U+28042 <> U+2C9AF
+U+28090 <> U+2B3CC
+U+280D8 <> U+2C9A9
+U+280DC <> U+2C9B9
+U+28109 <> U+30E0E
 U+28123 <> U+28031
+U+28130 <> U+2C9B5
 U+2814D <> U+28074
+U+28185 <> U+2C9AB
+U+28189 <> U+2E6D7
+U+281AA <> U+2B3D5
+U+281B1 <> U+2C9B4
 U+281C1 <> U+27FC8
+U+281CD <> U+2C9D1
+U+281D7 <> U+2C9A3
 U+281DE <> U+2816B
+U+281E4 <> U+2B3E8
+U+281EF <> U+30E07
+U+281F0 <> U+2B3DE
+U+281FD <> U+2B3D1
+U+28200 <> U+2C9DA
+U+28206 <> U+2C9DB
+U+28207 <> U+2C9BE
 U+2820A <> U+280BA
 U+2820C <> U+28104
+U+28256 <> U+30FF0
+U+28279 <> U+2C9E9
+U+282A0 <> U+30E71
 U+282B0 <> U+4880
 U+282B8 <> U+4881
+U+282B9 <> U+30E7B
 U+282BB <> U+28406
+U+282C1 <> U+2CA03
+U+282DA <> U+2CA05
 U+282E2 <> U+4882
+U+282EE <> U+30E86
+U+28304 <> U+2CA0B
+U+28308 <> U+2B40D
+U+28348 <> U+30E94
+U+2834F <> U+30E95
+U+28350 <> U+2CA0F
+U+28352 <> U+30E7E
+U+28370 <> U+2B414
+U+28379 <> U+2CA10
+U+2838C <> U+2B40B
+U+283A9 <> U+2CA12
+U+283AA <> U+30E9A
 U+283AE <> U+28409
+U+283D2 <> U+30EA2
+U+283D4 <> U+30E8C
 U+283E0 <> U+28407
 U+283E5 <> U+2840A
+U+28436 <> U+30EA8
+U+2844A <> U+2BBD2
+U+2860C <> U+2CA4E
+U+287A8 <> U+28755
+U+287BA <> U+2B7EB
+U+287CA <> U+2B7EC
+U+288BF <> U+28859
+U+288C3 <> U+30F0B
+U+288C8 <> U+2887A
+U+288C9 <> U+2CAAB
+U+288DE <> U+287F3
+U+288E7 <> U+28828
+U+288E8 <> U+30F0F
+U+2890B <> U+2CAAF
+U+28921 <> U+2CABA
 U+2893B <> U+28930
 U+2895B <> U+28C40
+U+2895C <> U+2CB34
+U+2895F <> U+2B4EB
+U+28966 <> U+2CB33
+U+2897A <> U+2CB42
+U+289A1 <> U+30F7D
 U+289AB <> U+4980
+U+289C0 <> U+2CB4A
+U+289D0 <> U+30F87
+U+289DA <> U+2CB50
 U+289DC <> U+4981
+U+289EB <> U+2CB51
+U+289F0 <> U+2B7FD
 U+289F1 <> U+28C4A
+U+28A0F <> U+2CB5B
+U+28A1B <> U+2B4FC
+U+28A1D <> U+2CB58
+U+28A22 <> U+2B4FF
+U+28A2F <> U+2CB5F
+U+28A39 <> U+2CB5E
+U+28A68 <> U+2CB60
+U+28A70 <> U+2B7FE
+U+28A85 <> U+2C1C3
+U+28A8B <> U+30FA8
+U+28A95 <> U+2B4EE
+U+28AC0 <> U+2CB6B
 U+28AD2 <> U+28C50
+U+28AFC <> U+30FA7
+U+28B02 <> U+2CB71
+U+28B12 <> U+30FB3
+U+28B16 <> U+2B50F
+U+28B1E <> U+2CB36
+U+28B1F <> U+30FB5
+U+28B43 <> U+2CB77
+U+28B46 <> U+2CB76
+U+28B4C <> U+2CB75
+U+28B4E <> U+2CB73
+U+28B50 <> U+2CB59
+U+28B56 <> U+2B511
+U+28B57 <> U+2CB47
+U+28B5A <> U+2CB7A
+U+28B5B <> U+30FBF
+U+28B65 <> U+2CB3C
+U+28B78 <> U+2B510
+U+28B81 <> U+30FBA
 U+28B82 <> U+28C55
+U+28B85 <> U+2CB79
+U+28BB0 <> U+2CB7E
+U+28BB3 <> U+2B512
 U+28BC5 <> U+497F
+U+28BDF <> U+2B513
+U+28BF5 <> U+2CB80
+U+28C03 <> U+2B509
+U+28C0B <> U+2B4F3
+U+28C20 <> U+30FCA
+U+28C25 <> U+2B515
+U+28C2D <> U+2CB83
+U+28C32 <> U+2B503
+U+28C35 <> U+2CB07
+U+28C37 <> U+2CB82
+U+28C39 <> U+30FC0
+U+28C65 <> U+30FD6
+U+28CAD <> U+2CB84
+U+28CB3 <> U+2B516
+U+28CCC <> U+30FE6
+U+28CD0 <> U+30FE7
 U+28CD1 <> U+28E01
+U+28CD2 <> U+2E92D
 U+28CD5 <> U+28E00
+U+28CD9 <> U+2E92F
+U+28CDA <> U+30FEA
+U+28CE8 <> U+2CB9C
+U+28CF8 <> U+30FED
+U+28CFF <> U+2CBA1
+U+28D11 <> U+2CBA3
 U+28D17 <> U+28E05
+U+28D24 <> U+2CBA7
+U+28D39 <> U+2B532
+U+28D46 <> U+2CBA9
+U+28D4C <> U+2CBB0
+U+28D57 <> U+2CBAF
+U+28D64 <> U+2CBAE
+U+28D66 <> U+30FF5
 U+28D69 <> U+28E06
+U+28D6C <> U+2CBB5
 U+28D78 <> U+28E07
 U+28D80 <> U+28E09
 U+28D8F <> U+28E0A
+U+28D91 <> U+30FF8
 U+28DAE <> U+28E0C
+U+28DAF <> U+2E938
+U+28DB0 <> U+30FF9
 U+28DB2 <> U+28E0B
+U+28DBB <> U+2CBB8
+U+28DBF <> U+2CBB9
+U+28DC8 <> U+2CB99
 U+28DF2 <> U+28E0E
+U+28DFB <> U+2B531
+U+28F33 <> U+2B53D
+U+28F48 <> U+28EF9
 U+28F4F <> U+28E18
+U+29028 <> U+2B55A
+U+29159 <> U+2B568
+U+29166 <> U+3105E
+U+2917E <> U+2B876
+U+291C9 <> U+2E99A
+U+2924D <> U+2CC23
+U+29259 <> U+2CC21
+U+292CC <> U+31071
+U+292F0 <> U+2CC24
+U+2935C <> U+31073
+U+29392 <> U+2CC31
+U+29395 <> U+31083
+U+29396 <> U+2B591
+U+2939F <> U+31084
+U+293A0 <> U+2CC34
 U+293A2 <> U+293FE
+U+293C2 <> U+2B593
+U+293CC <> U+2CC35
+U+293E0 <> U+2B596
 U+293EA <> U+293FD
+U+293F4 <> U+2CC38
+U+293F7 <> U+2B0D7
+U+2940C <> U+3108D
+U+29443 <> U+2CC3A
+U+29452 <> U+310A0
+U+29454 <> U+2B5AA
+U+29461 <> U+310A1
+U+29463 <> U+2CC54
+U+29466 <> U+2CC55
+U+2948E <> U+2B5AD
+U+2949C <> U+2CC61
+U+2949D <> U+2CC5D
+U+294B2 <> U+2CC64
+U+294BA <> U+310A9
+U+294BC <> U+2CC65
 U+294E3 <> U+29595
+U+294E5 <> U+2B5B5
+U+294F8 <> U+2CC67
+U+294F9 <> U+2CC68
+U+29507 <> U+310B3
+U+29508 <> U+2CC6D
+U+2950A <> U+2CC5B
+U+29511 <> U+2B5B7
+U+29523 <> U+310B7
+U+29533 <> U+2B5B4
+U+2954A <> U+2CC71
+U+29570 <> U+2CC72
+U+29581 <> U+2CE82
+U+295B0 <> U+2B807
+U+295BF <> U+2CC7A
 U+295C0 <> U+29666
+U+295D3 <> U+2B5C8
+U+295DB <> U+310DB
+U+295E1 <> U+29667
+U+295F4 <> U+2B5C9
 U+29600 <> U+29669
+U+2961A <> U+2CC32
 U+2961D <> U+2966D
 U+29639 <> U+29668
 U+2963A <> U+2966C
+U+2963B <> U+2CC86
 U+29648 <> U+29670
+U+29685 <> U+2CCA5
+U+2969A <> U+2CCA9
 U+2969B <> U+297FF
 U+296A5 <> U+29800
+U+296A9 <> U+2B5E1
 U+296B5 <> U+29801
 U+296C6 <> U+29802
+U+296CC <> U+2B5E4
+U+296CE <> U+2CCB4
+U+296DE <> U+2CCBA
+U+296E1 <> U+2B5E8
 U+296E9 <> U+29803
+U+296F2 <> U+2CCB9
 U+29707 <> U+29809
+U+29720 <> U+2CCBF
 U+29726 <> U+29806
+U+2972F <> U+31102
+U+29730 <> U+2CCC3
 U+29735 <> U+2980A
+U+29736 <> U+31101
+U+29751 <> U+2CCC7
 U+29754 <> U+2980B
+U+29760 <> U+2CCCC
+U+29761 <> U+2CCC8
+U+29763 <> U+2CCC9
+U+29767 <> U+31105
+U+2977D <> U+2B5F3
+U+29783 <> U+2CCB0
 U+29784 <> U+2980E
+U+29786 <> U+2CCAA
+U+29789 <> U+2CCD0
+U+297A1 <> U+2CCAC
 U+297A6 <> U+2980F
+U+297A7 <> U+31107
+U+297AC <> U+2CCD2
 U+297AF <> U+4B6A
+U+297C0 <> U+2CCD3
+U+297C2 <> U+2CCB8
 U+297D0 <> U+29805
+U+297D7 <> U+2B5DA
+U+297E0 <> U+2CCD4
 U+29834 <> U+29820
+U+29863 <> U+29856
+U+29864 <> U+2985A
 U+2987A <> U+299E6
+U+2988D <> U+2CCF7
 U+298A1 <> U+299EC
+U+298B0 <> U+3114E
+U+298B2 <> U+2CCFA
 U+298B4 <> U+299F5
 U+298B8 <> U+299F3
+U+298BC <> U+2CCFB
 U+298BE <> U+299EE
+U+298CA <> U+3114D
+U+298CB <> U+2CCFC
 U+298CF <> U+299F6
 U+298D1 <> U+4BC3
+U+298D4 <> U+2CCF9
+U+298E1 <> U+31153
+U+298EB <> U+299F8
+U+298F5 <> U+299FB
 U+298FA <> U+299FC
 U+2990A <> U+299E9
 U+29919 <> U+29A06
 U+29932 <> U+29A09
+U+29935 <> U+2CD04
 U+29938 <> U+29A05
+U+29943 <> U+31165
 U+29944 <> U+29A0B
+U+29945 <> U+31163
 U+29947 <> U+29A0D
 U+29949 <> U+299F1
+U+2994E <> U+31168
 U+29951 <> U+29A0C
+U+29972 <> U+2CD07
+U+2997C <> U+2CD08
+U+29983 <> U+31158
+U+2999A <> U+2CD09
+U+299A0 <> U+2B80C
+U+299BA <> U+2CD0C
 U+299C6 <> U+29A10
+U+299C9 <> U+3113E
+U+299D0 <> U+2CD0E
+U+299E2 <> U+31152
 U+29B59 <> U+29B23
+U+29B6F <> U+29B3E
+U+29BC1 <> U+2B642
+U+29BC3 <> U+31184
+U+29BC6 <> U+2CD28
 U+29BF3 <> U+29BD2
 U+29C00 <> U+29B24
+U+29C39 <> U+29C30
+U+29C48 <> U+3118D
 U+29CE4 <> U+29C92
+U+29D06 <> U+31196
+U+29D35 <> U+29D0C
+U+29D5A <> U+2CD82
+U+29D66 <> U+2B80F
 U+29D69 <> U+29F7A
+U+29D71 <> U+2CD89
 U+29D79 <> U+29F7B
+U+29D7A <> U+2CD88
+U+29D80 <> U+2CD85
+U+29D81 <> U+2B68E
 U+29D98 <> U+4C9E
+U+29DAF <> U+311EB
 U+29DB0 <> U+29F7F
 U+29DB1 <> U+29F7D
+U+29DD2 <> U+2CD92
 U+29DF0 <> U+29F84
+U+29DF6 <> U+311EE
 U+29E03 <> U+29F85
+U+29E04 <> U+2B69D
+U+29E06 <> U+2CD96
+U+29E21 <> U+2B69F
+U+29E23 <> U+2CD99
+U+29E24 <> U+2CD9A
 U+29E26 <> U+29F86
+U+29E29 <> U+2CD9D
+U+29E2C <> U+2CD9C
+U+29E42 <> U+31203
+U+29E4A <> U+2CDA6
+U+29E5D <> U+2CDA1
+U+29E7D <> U+2CDA9
+U+29E7E <> U+311F4
+U+29E9D <> U+2CDAA
+U+29E9E <> U+3120E
+U+29ED7 <> U+2B6A8
+U+29EDB <> U+31214
+U+29EE7 <> U+2CDAF
+U+29EEC <> U+2B6A9
+U+29EEE <> U+2B698
+U+29EF0 <> U+2CDB0
+U+29EF1 <> U+2CDB1
+U+29F14 <> U+2CDB6
+U+29F36 <> U+2B6AC
+U+29F45 <> U+2CDB8
+U+29F47 <> U+29F8E
+U+29F48 <> U+2CDB3
+U+29F54 <> U+2CDB9
+U+29F77 <> U+2CDBB
+U+29F90 <> U+2CDFB
+U+29F92 <> U+2CDFD
+U+29F9D <> U+3124B
+U+29FC5 <> U+2B816
+U+29FCA <> U+31252
+U+29FE4 <> U+2B6E0
+U+29FE7 <> U+3125C
 U+29FEA <> U+2A244
+U+29FF1 <> U+2CE03
+U+29FFA <> U+2CE01
+U+2A009 <> U+2CE02
+U+2A016 <> U+2B6E7
+U+2A017 <> U+3126D
+U+2A01A <> U+31263
+U+2A01B <> U+2CE09
 U+2A026 <> U+2A245
+U+2A03B <> U+2CE0B
 U+2A03E <> U+2A24B
 U+2A048 <> U+2A249
+U+2A04F <> U+2EB66
+U+2A050 <> U+2CE0E
+U+2A051 <> U+2CE11
 U+2A056 <> U+2A24C
+U+2A05B <> U+31277
+U+2A05C <> U+2CE0F
+U+2A071 <> U+2CE10
+U+2A07F <> U+2CE14
 U+2A086 <> U+2A24E
+U+2A088 <> U+2CE16
+U+2A0A9 <> U+2CE17
+U+2A0AB <> U+2CE13
+U+2A0C3 <> U+31294
 U+2A0CD <> U+2A250
 U+2A0CF <> U+2A24F
+U+2A0D2 <> U+2B6FB
+U+2A0E6 <> U+2CE19
+U+2A0E7 <> U+2B6F9
+U+2A0EE <> U+2CE1F
+U+2A0FF <> U+2CE20
+U+2A105 <> U+2CE0C
 U+2A106 <> U+2A254
 U+2A115 <> U+2A252
+U+2A120 <> U+3129E
+U+2A132 <> U+312A5
+U+2A142 <> U+2B702
+U+2A143 <> U+2CE24
+U+2A156 <> U+2CE25
+U+2A15C <> U+2CDFF
+U+2A17E <> U+2CE28
+U+2A183 <> U+2CE2B
+U+2A1AB <> U+312A8
+U+2A1B0 <> U+2CE2D
+U+2A1B4 <> U+2CE2E
+U+2A1B7 <> U+2B6FE
+U+2A1C4 <> U+2CE2C
+U+2A1D6 <> U+2CE21
+U+2A1D8 <> U+2CE0D
+U+2A1F0 <> U+312B2
 U+2A1F3 <> U+2A255
-U+2A2FF <> U+2A38D
+U+2A20F <> U+312B4
+U+2A214 <> U+31289
+U+2A217 <> U+2CE04
+U+2A23C <> U+3129C
+U+2A256 <> U+312BA
+U+2A25C <> U+2CE35
+U+2A263 <> U+312BB
+U+2A268 <> U+2CE36
+U+2A26E <> U+2CE37
+U+2A271 <> U+2CE38
+U+2A278 <> U+2B70A
+U+2A27F <> U+2CE39
+U+2A289 <> U+312BD
+U+2A2C8 <> U+312C2
+U+2A2FC <> U+312C5
+U+2A2FD <> U+312C4
+U+2A2FF <> U+2B9EE
+U+2A310 <> U+312C9
+U+2A312 <> U+2EB85
+U+2A317 <> U+312CC
+U+2A318 <> U+312CD
+U+2A31C <> U+2AF42
+U+2A323 <> U+312D3
+U+2A328 <> U+303B4
+U+2A32C <> U+312D5
+U+2A32D <> U+2B713
+U+2A32E <> U+312D8
+U+2A32F <> U+2CE48
+U+2A330 <> U+2CE47
+U+2A33D <> U+2CE4B
+U+2A33E <> U+312DA
+U+2A33F <> U+2CE4C
+U+2A340 <> U+2CE4A
+U+2A347 <> U+312DC
+U+2A34D <> U+312E0
+U+2A351 <> U+312E2
+U+2A352 <> U+312DF
+U+2A353 <> U+312E5
+U+2A358 <> U+312E4
+U+2A35A <> U+312E3
+U+2A35E <> U+312E6
+U+2A360 <> U+2B715
+U+2A363 <> U+312E1
+U+2A364 <> U+2CE4D
+U+2A36C <> U+312E8
+U+2A374 <> U+312EC
+U+2A376 <> U+2CE4E
+U+2A377 <> U+312D1
+U+2A37F <> U+312C8
+U+2A382 <> U+312ED
+U+2A45A <> U+2CE57
+U+2A473 <> U+2CE55
+U+2A4AC <> U+2CE56
+U+2A4BF <> U+2CE58
+U+2A4DB <> U+31300
+U+2A4EC <> U+31305
+U+2A4F0 <> U+2B71F
+U+2A4F9 <> U+31308
+U+2A4FD <> U+2CE64
 U+2A535 <> U+2A52D
+U+2A563 <> U+2CE6D
+U+2A5A8 <> U+31315
+U+2A5CB <> U+31319
+U+2A5DC <> U+2CE7D
+U+2A5DD <> U+2CE7B
+U+2A5EA <> U+2CE7F
+U+2A5ED <> U+2CE80
+U+2A5F3 <> U+2CE7E
+U+2A5FB <> U+2CE81
+U+2A5FD <> U+2CE84
 U+2A600 <> U+2A68F
+U+2A605 <> U+30CC6
+U+2A613 <> U+2CE87
+U+2A61E <> U+2CE86
+U+2A625 <> U+31338
+U+2A627 <> U+2CE8B
+U+2A628 <> U+31334
+U+2A629 <> U+2CE8A
+U+2A62C <> U+31337
 U+2A62F <> U+2A690
+U+2A632 <> U+2CE8C
+U+2A649 <> U+3133C
+U+2A64D <> U+2CE8F
+U+2A64F <> U+2B72F
+U+2A651 <> U+2CE91
+U+2A655 <> U+2CE90
+U+2A65E <> U+2CE85
+U+2A664 <> U+2CE92
+U+2A685 <> U+2CE96
+U+2A694 <> U+2CE9B
+U+2A6A3 <> U+2CE9D
+U+2A6AD <> U+31345
+U+2A6AE <> U+31344
+U+2A6B0 <> U+31346
+U+2A6D5 <> U+31349
+U+2A756 <> U+2B89F
+U+2A775 <> U+30081
+U+2A7D6 <> U+206FE
+U+2A88D <> U+2D257
+U+2A8A5 <> U+2BA78
+U+2ABB0 <> U+2BF3D
+U+2ABC2 <> U+2D846
+U+2ACF7 <> U+2C0B1
+U+2AD25 <> U+2C0CF
+U+2AD62 <> U+306AC
+U+2ADC8 <> U+2DC40
+U+2B0D0 <> U+2C59F
+U+2B0D1 <> U+30ABF
+U+2B0DE <> U+30AFF
+U+2B0E5 <> U+2E269
+U+2B0F7 <> U+2E26D
+U+2B107 <> U+2C639
+U+2B1E0 <> U+2E38D
+U+2B239 <> U+30C3F
+U+2B24D <> U+2E3C0
+U+2B2D0 <> U+2C808
+U+2B2E7 <> U+27234
+U+2B319 <> U+2C871
+U+2B358 <> U+2B34F
+U+2B49E <> U+2CB4B
+U+2B4A1 <> U+2B4F7
+U+2B4A2 <> U+30F89
+U+2B4B7 <> U+30FA3
+U+2B518 <> U+30FE5
+U+2B521 <> U+30FEF
+U+2B59E <> U+2CC58
+U+2B5D1 <> U+2CCB5
+U+2B5D5 <> U+2CCC4
+U+2B5FB <> U+2CCD9
+U+2B726 <> U+2B72B
+U+2B75C <> U+20C5E
+U+2B8F4 <> U+2B8B2
+U+2B95D <> U+2B954
+U+2B994 <> U+2B98B
+U+2B999 <> U+2B97D
+U+2B9B8 <> U+2B9B0
+U+2B9DD <> U+2A7F2
+U+2BA11 <> U+2A803
+U+2BA9B <> U+2D1C9
+U+2BB06 <> U+2BACF
+U+2BB31 <> U+301E5
+U+2BBD3 <> U+2CEEE
+U+2BCB4 <> U+2D4C0
+U+2BDA6 <> U+2BD84
+U+2BED1 <> U+2BEB9
+U+2BFA1 <> U+2BF8F
+U+2C11D <> U+2C0DB
+U+2C189 <> U+2C182
+U+2C264 <> U+2C20F
+U+2C326 <> U+2C320
+U+2C341 <> U+2C335
+U+2C3F2 <> U+308E2
+U+2C461 <> U+2C44D
+U+2C492 <> U+2C484
+U+2C4E1 <> U+200B2
+U+2C5CF <> U+2C623
+U+2C5FA <> U+2C640
+U+2C654 <> U+2C64F
+U+2C6D5 <> U+2363E
+U+2C810 <> U+2723F
+U+2C8CD <> U+2C8EB
+U+2C8D8 <> U+2C917
+U+2C972 <> U+2C980
+U+2C9D9 <> U+2C9D4
+U+2CB87 <> U+2CB9D
+U+2CB8D <> U+2E937
+U+2CBD8 <> U+2CBCA
+U+2CC42 <> U+2CC5A
+U+2CC48 <> U+2CC69
+U+2CC9A <> U+2CCCE
+U+2CC9B <> U+2B5F2
+U+2CD42 <> U+311CE
+U+2CD43 <> U+2CD83
+U+2CD6E <> U+2CD91
+U+2CDBC <> U+31249
+U+2CE42 <> U+2CE46
+U+2D096 <> U+300F6
+U+2D27E <> U+301CA
+U+2D459 <> U+2E92E
+U+2D5E1 <> U+21ED8
+U+2D892 <> U+304E4
+U+2D9D2 <> U+3058F
+U+2D9D6 <> U+3059A
+U+2DA21 <> U+30048
+U+2DC58 <> U+306E8
+U+2DD99 <> U+241FB
+U+2E717 <> U+30E26
+U+2E7FD <> U+30EE8
+U+2E848 <> U+288B8
+U+2E90F <> U+2E933
+U+2E912 <> U+2CBAC
+U+2E997 <> U+2E985
+U+2EA2D <> U+2CC7E
+U+2EA3B <> U+2CCB1
+U+300A0 <> U+2A73A
+U+300B4 <> U+2B89C
+U+300F4 <> U+300F3
+U+3021D <> U+2BA91
+U+30240 <> U+2A88B
+U+302C6 <> U+2A905
+U+303BC <> U+303A6
+U+30520 <> U+2D83D
+U+3052B <> U+2BF6B
+U+3053A <> U+2BF62
+U+305BB <> U+2C058
+U+3062F <> U+30605
+U+30682 <> U+2AD47
+U+306A3 <> U+3068D
+U+30762 <> U+306F1
+U+307EB <> U+307C4
+U+30853 <> U+30849
+U+30AC6 <> U+30AAA
+U+30ACF <> U+30ABC
+U+30ADB <> U+2C617
+U+30AF3 <> U+2C644
+U+30D0F <> U+2B329
+U+30D26 <> U+30D25
+U+30D3D <> U+2C903
+U+30E48 <> U+30E6F
+U+30EDE <> U+30EDD
+U+30FE2 <> U+2E936
+U+310E1 <> U+2CCA8
+U+310E2 <> U+2CCA7
+U+310EA <> U+2CCBD
+U+311A5 <> U+9FD5
+U+311CB <> U+2CDA5

Modified: trunk/Master/texmf-dist/fonts/misc/xetex/fontmapping/xecjk/han-simp.tec
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/misc/xetex/fontmapping/xecjk/han-trad.map
===================================================================
--- trunk/Master/texmf-dist/fonts/misc/xetex/fontmapping/xecjk/han-trad.map	2020-05-01 21:28:49 UTC (rev 54960)
+++ trunk/Master/texmf-dist/fonts/misc/xetex/fontmapping/xecjk/han-trad.map	2020-05-01 21:29:24 UTC (rev 54961)
@@ -2,8 +2,8 @@
 ; from the Unicode Unihan database: <http://www.unicode.org/Public/UNIDATA/Unihan.zip>
 ;
 ; Unihan_Variants.txt
-; Date: 2018-11-09 21:36:19 GMT [JHJ]
-; Unicode version: 12.0.0
+; Date: 2020-02-18 18:27:33 GMT [JHJ]
+; Unicode version: 13.0.0
 ;
 
 LHSName "simplified"
@@ -16,11 +16,14 @@
 U+2018 <> U+300E
 U+2019 <> U+300F
 
+U+3437 <> U+508C
+U+3439 <> U+3476
 U+343D <> U+5051
 U+3447 <> U+3473
 U+3448 <> U+5032
 U+3454 <> U+346F
 U+3469 <> U+5138
+U+347A <> U+5101
 U+34E5 <> U+528F
 U+3509 <> U+529A
 U+358A <> U+565A
@@ -33,12 +36,21 @@
 U+36E3 <> U+370F
 U+36E4 <> U+5B4B
 U+36FF <> U+21839
+U+3766 <> U+5BEF
 U+37C6 <> U+380F
 U+37DC <> U+21FB1
+U+37E5 <> U+5D7E
+U+384E <> U+5E53
+U+3916 <> U+61E7
 U+3918 <> U+396E
+U+392D <> U+618D
+U+393D <> U+61E4
+U+396A <> U+617A
+U+3988 <> U+228CF
 U+39CF <> U+6386
 U+39D0 <> U+3A73
 U+39D1 <> U+649D
+U+39DB <> U+64E5
 U+39DF <> U+64D3
 U+39F0 <> U+64FD
 U+3A2B <> U+3A5C
@@ -47,6 +59,7 @@
 U+3B63 <> U+2364E
 U+3B64 <> U+6A22
 U+3B74 <> U+6A2B
+U+3BA0 <> U+23781
 U+3C69 <> U+6BB0
 U+3C6E <> U+6BA8
 U+3CBF <> U+7007
@@ -56,18 +69,25 @@
 U+3CE1 <> U+6FC4
 U+3CE2 <> U+23FB7
 U+3CFD <> U+7030
+U+3D0B <> U+6F5A
 U+3D89 <> U+9E02
 U+3DB6 <> U+71F6
 U+3DBD <> U+7171
+U+3DEA <> U+243B1
 U+3E8D <> U+7371
 U+3EC5 <> U+74AF
 U+3ECF <> U+24AE9
 U+3ED8 <> U+24ABA
+U+3EEA <> U+3EFD
+U+3FA1 <> U+24DFD
 U+4025 <> U+407B
 U+4056 <> U+779C
 U+40B5 <> U+78BD
+U+40C5 <> U+78FE
 U+4149 <> U+7A0F
+U+415F <> U+7A47
 U+416A <> U+258A2
+U+41DA <> U+25D5C
 U+41F2 <> U+7B74
 U+4264 <> U+7C54
 U+4336 <> U+42B7
@@ -79,9 +99,15 @@
 U+433C <> U+7D90
 U+433D <> U+7DB5
 U+433E <> U+42FB
+U+433F <> U+42F9
 U+4340 <> U+7E7F
 U+4341 <> U+7E78
+U+43AC <> U+43B1
+U+43DD <> U+819E
+U+442A <> U+81C7
+U+44D3 <> U+85B5
 U+44D5 <> U+85B3
+U+45BC <> U+27355
 U+45D6 <> U+87AE
 U+461B <> U+2775E
 U+461E <> U+27717
@@ -88,6 +114,7 @@
 U+464A <> U+27735
 U+464C <> U+4661
 U+4653 <> U+896C
+U+46D3 <> U+8B7C
 U+4723 <> U+8A22
 U+4724 <> U+9FC1
 U+4725 <> U+27A59
@@ -111,8 +138,10 @@
 U+4982 <> U+4947
 U+4983 <> U+942F
 U+4985 <> U+9425
+U+4986 <> U+9481
 U+49B6 <> U+499B
 U+49B7 <> U+499F
+U+4A44 <> U+9766
 U+4B6A <> U+297AF
 U+4BC3 <> U+298D1
 U+4BC4 <> U+9A27
@@ -259,6 +288,7 @@
 U+51EB <> U+9CE7
 U+51ED <> U+6191
 U+51EF <> U+51F1
+U+51FA <> U+51FA
 U+51FB <> U+64CA
 U+51FF <> U+947F
 U+520D <> U+82BB
@@ -326,6 +356,8 @@
 U+53BF <> U+7E23
 U+53C1 <> U+53C4
 U+53C2 <> U+53C3
+U+53C6 <> U+9749
+U+53C7 <> U+9746
 U+53CC <> U+96D9
 U+53D1 <> U+767C
 U+53D8 <> U+8B8A
@@ -339,7 +371,7 @@
 U+53FD <> U+5630
 U+540C <> U+540C
 U+540E <> U+540E
-U+5411 <> U+66CF
+U+5411 <> U+5411
 U+5413 <> U+5687
 U+5415 <> U+5442
 U+5417 <> U+55CE
@@ -429,6 +461,7 @@
 U+57A9 <> U+580A
 U+57AB <> U+588A
 U+57AD <> U+57E1
+U+57AF <> U+58B6
 U+57B1 <> U+58CB
 U+57B2 <> U+584F
 U+57B4 <> U+5816
@@ -438,6 +471,7 @@
 U+57EF <> U+57B5
 U+5811 <> U+5879
 U+5815 <> U+58AE
+U+5846 <> U+58EA
 U+5899 <> U+7246
 U+58EE <> U+58EF
 U+58F0 <> U+8072
@@ -457,6 +491,7 @@
 U+594B <> U+596E
 U+5956 <> U+734E
 U+5965 <> U+5967
+U+5968 <> U+596C
 U+5978 <> U+59E6
 U+5986 <> U+599D
 U+5987 <> U+5A66
@@ -640,6 +675,7 @@
 U+6126 <> U+6192
 U+613F <> U+613F
 U+6151 <> U+61FE
+U+616D <> U+6196
 U+61D1 <> U+61E3
 U+61D2 <> U+61F6
 U+61D4 <> U+61CD
@@ -676,6 +712,7 @@
 U+62E8 <> U+64A5
 U+62E9 <> U+64C7
 U+6302 <> U+639B
+U+6319 <> U+22E01
 U+631A <> U+646F
 U+631B <> U+6523
 U+631C <> U+6397
@@ -723,6 +760,7 @@
 U+64B7 <> U+64F7
 U+64B8 <> U+64FC
 U+64BA <> U+651B
+U+64DC <> U+3A75
 U+64DE <> U+64FB
 U+6512 <> U+6522
 U+654C <> U+6575
@@ -750,7 +788,9 @@
 U+6655 <> U+6688
 U+6656 <> U+6689
 U+6682 <> U+66AB
+U+6685 <> U+23236
 U+66A7 <> U+66D6
+U+66F2 <> U+66F2
 U+672F <> U+8853
 U+6734 <> U+6A38
 U+673A <> U+6A5F
@@ -764,7 +804,7 @@
 U+6769 <> U+69AA
 U+6770 <> U+5091
 U+677E <> U+9B06
-U+677F <> U+95C6
+U+677F <> U+677F
 U+6781 <> U+6781
 U+6784 <> U+69CB
 U+679E <> U+6A05
@@ -820,6 +860,7 @@
 U+6924 <> U+6B0F
 U+692B <> U+6A3F
 U+692D <> U+6A62
+U+692E <> U+69EE
 U+697C <> U+6A13
 U+6984 <> U+6B16
 U+6985 <> U+69B2
@@ -856,6 +897,7 @@
 U+6BD9 <> U+6583
 U+6BE1 <> U+6C08
 U+6BF5 <> U+6BFF
+U+6BF6 <> U+23BF6
 U+6C07 <> U+6C0C
 U+6C14 <> U+6C23
 U+6C22 <> U+6C2B
@@ -877,7 +919,7 @@
 U+6CA9 <> U+6E88
 U+6CAA <> U+6EEC
 U+6CDE <> U+6FD8
-U+6CE8 <> U+8A3B
+U+6CE8 <> U+6CE8
 U+6CEA <> U+6DDA
 U+6CF6 <> U+6FA9
 U+6CF7 <> U+7027
@@ -895,6 +937,7 @@
 U+6D46 <> U+6F3F
 U+6D47 <> U+6F86
 U+6D48 <> U+6E5E
+U+6D49 <> U+6EAE
 U+6D4A <> U+6FC1
 U+6D4B <> U+6E2C
 U+6D4D <> U+6FAE
@@ -928,10 +971,12 @@
 U+6E10 <> U+6F38
 U+6E11 <> U+6FA0
 U+6E14 <> U+6F01
+U+6E16 <> U+700B
 U+6E17 <> U+6EF2
 U+6E29 <> U+6EAB
 U+6E7E <> U+7063
 U+6E7F <> U+6FD5
+U+6E81 <> U+6FDA
 U+6E83 <> U+6F70
 U+6E85 <> U+6FFA
 U+6E86 <> U+6F35
@@ -1021,6 +1066,7 @@
 U+732E <> U+737B
 U+736D <> U+737A
 U+7391 <> U+74A3
+U+7399 <> U+74B5
 U+739A <> U+7452
 U+739B <> U+746A
 U+73AE <> U+744B
@@ -1032,11 +1078,13 @@
 U+73D1 <> U+74CF
 U+73F0 <> U+74AB
 U+73F2 <> U+743F
+U+740E <> U+74A1
 U+740F <> U+7489
 U+7410 <> U+7463
 U+743C <> U+74CA
 U+7476 <> U+7464
 U+7477 <> U+74A6
+U+7478 <> U+74B8
 U+748E <> U+74D4
 U+74D2 <> U+74DA
 U+74EF <> U+750C
@@ -1280,7 +1328,7 @@
 U+7EEE <> U+7DBA
 U+7EEF <> U+7DCB
 U+7EF0 <> U+7DBD
-U+7EF1 <> U+979D
+U+7EF1 <> U+7DD4
 U+7EF2 <> U+7DC4
 U+7EF3 <> U+7E69
 U+7EF4 <> U+7DAD
@@ -1311,6 +1359,7 @@
 U+7F0D <> U+7D9E
 U+7F0E <> U+7DDE
 U+7F0F <> U+7DF6
+U+7F10 <> U+7DDA
 U+7F11 <> U+7DF1
 U+7F12 <> U+7E0B
 U+7F13 <> U+7DE9
@@ -1342,7 +1391,7 @@
 U+7F2D <> U+7E5A
 U+7F2E <> U+7E55
 U+7F2F <> U+7E52
-U+7F30 <> U+97C1
+U+7F30 <> U+7E6E
 U+7F31 <> U+7E7E
 U+7F32 <> U+7E70
 U+7F33 <> U+7E6F
@@ -1374,7 +1423,7 @@
 U+80A0 <> U+8178
 U+80A4 <> U+819A
 U+80AE <> U+9AAF
-U+80B4 <> U+991A
+U+80B4 <> U+80B4
 U+80BE <> U+814E
 U+80BF <> U+816B
 U+80C0 <> U+8139
@@ -1475,6 +1524,7 @@
 U+83B9 <> U+7469
 U+83BA <> U+9DAF
 U+83BC <> U+84F4
+U+841A <> U+8600
 U+841D <> U+863F
 U+8424 <> U+87A2
 U+8425 <> U+71DF
@@ -1541,7 +1591,7 @@
 U+8845 <> U+91C1
 U+8854 <> U+929C
 U+8865 <> U+88DC
-U+8868 <> U+9336
+U+8868 <> U+8868
 U+886C <> U+896F
 U+886E <> U+889E
 U+8884 <> U+8956
@@ -1556,8 +1606,9 @@
 U+88E2 <> U+8933
 U+88E3 <> U+895D
 U+88E4 <> U+8932
-U+88E5 <> U+8949
+U+88E5 <> U+8947
 U+891B <> U+8938
+U+891D <> U+894C
 U+8934 <> U+8964
 U+8955 <> U+8974
 U+89C1 <> U+898B
@@ -1689,6 +1740,7 @@
 U+8C06 <> U+8AC4
 U+8C07 <> U+8AB6
 U+8C08 <> U+8AC7
+U+8C09 <> U+8B85
 U+8C0A <> U+8ABC
 U+8C0B <> U+8B00
 U+8C0C <> U+8AF6
@@ -1722,7 +1774,7 @@
 U+8C28 <> U+8B39
 U+8C29 <> U+8B3E
 U+8C2A <> U+8B2B
-U+8C2B <> U+8B7E
+U+8C2B <> U+8B2D
 U+8C2C <> U+8B2C
 U+8C2D <> U+8B5A
 U+8C2E <> U+8B56
@@ -1800,7 +1852,7 @@
 U+8D5A <> U+8CFA
 U+8D5B <> U+8CFD
 U+8D5C <> U+8CFE
-U+8D5D <> U+8D17
+U+8D5D <> U+8D0B
 U+8D5E <> U+8D0A
 U+8D5F <> U+8D07
 U+8D60 <> U+8D08
@@ -1888,6 +1940,7 @@
 U+8F99 <> U+8F4D
 U+8F9A <> U+8F54
 U+8F9E <> U+8FAD
+U+8F9F <> U+8F9F
 U+8FA9 <> U+8FAF
 U+8FAB <> U+8FAE
 U+8FB9 <> U+908A
@@ -1979,7 +2032,7 @@
 U+94A6 <> U+6B3D
 U+94A7 <> U+921E
 U+94A8 <> U+93A2
-U+94A9 <> U+9264
+U+94A9 <> U+920E
 U+94AA <> U+9227
 U+94AB <> U+9201
 U+94AC <> U+9225
@@ -2074,7 +2127,7 @@
 U+9505 <> U+934B
 U+9506 <> U+92EF
 U+9507 <> U+92E8
-U+9508 <> U+93FD
+U+9508 <> U+92B9
 U+9509 <> U+92BC
 U+950A <> U+92DD
 U+950B <> U+92D2
@@ -2106,7 +2159,7 @@
 U+9525 <> U+9310
 U+9526 <> U+9326
 U+9527 <> U+9455
-U+9528 <> U+6774
+U+9528 <> U+9341
 U+9529 <> U+9308
 U+952A <> U+9343
 U+952B <> U+9307
@@ -2164,7 +2217,7 @@
 U+955F <> U+93C7
 U+9560 <> U+93D0
 U+9561 <> U+9414
-U+9562 <> U+9481
+U+9562 <> U+941D
 U+9563 <> U+9410
 U+9564 <> U+93F7
 U+9565 <> U+9465
@@ -2249,6 +2302,7 @@
 U+9648 <> U+9673
 U+9649 <> U+9658
 U+9655 <> U+965D
+U+9666 <> U+96AF
 U+9667 <> U+9689
 U+9668 <> U+9695
 U+9669 <> U+96AA
@@ -2266,7 +2320,7 @@
 U+972D <> U+9744
 U+9753 <> U+975A
 U+9759 <> U+975C
-U+9762 <> U+9EB5
+U+9762 <> U+9762
 U+9765 <> U+9768
 U+9791 <> U+97C3
 U+9792 <> U+97BD
@@ -2475,6 +2529,7 @@
 U+9C84 <> U+9B7A
 U+9C85 <> U+9B81
 U+9C86 <> U+9B83
+U+9C87 <> U+9B8E
 U+9C88 <> U+9C78
 U+9C89 <> U+9B8B
 U+9C8A <> U+9B93
@@ -2521,6 +2576,7 @@
 U+9CB3 <> U+9BE7
 U+9CB4 <> U+9BDD
 U+9CB5 <> U+9BE2
+U+9CB6 <> U+9BF0
 U+9CB7 <> U+9BDB
 U+9CB8 <> U+9BE8
 U+9CB9 <> U+9C3A
@@ -2534,7 +2590,7 @@
 U+9CC1 <> U+9C2E
 U+9CC2 <> U+9C03
 U+9CC3 <> U+9C13
-U+9CC4 <> U+9C77
+U+9CC4 <> U+9C10
 U+9CC5 <> U+9C0D
 U+9CC6 <> U+9C12
 U+9CC7 <> U+9C09
@@ -2566,6 +2622,7 @@
 U+9CE1 <> U+9C64
 U+9CE2 <> U+9C67
 U+9CE3 <> U+9C63
+U+9CE4 <> U+4C98
 U+9E1F <> U+9CE5
 U+9E20 <> U+9CE9
 U+9E21 <> U+96DE
@@ -2625,7 +2682,7 @@
 U+9E57 <> U+9D9A
 U+9E58 <> U+9DBB
 U+9E59 <> U+9D96
-U+9E5A <> U+9DBF
+U+9E5A <> U+9DC0
 U+9E5B <> U+9DA5
 U+9E5C <> U+9DA9
 U+9E5D <> U+9DCA
@@ -2655,6 +2712,7 @@
 U+9E7E <> U+9E7A
 U+9EA6 <> U+9EA5
 U+9EB8 <> U+9EA9
+U+9EB9 <> U+9EB4
 U+9EC4 <> U+9EC3
 U+9EC9 <> U+9ECC
 U+9EE1 <> U+9EF6
@@ -2685,54 +2743,116 @@
 U+9F9A <> U+9F94
 U+9F9B <> U+9F95
 U+9F9F <> U+9F9C
+U+9FCE <> U+40EE
 U+9FCF <> U+4951
 U+9FD3 <> U+9FD2
 U+9FD4 <> U+93B6
+U+9FD5 <> U+311A5
 U+9FED <> U+9268
+U+2003E <> U+2005E
+U+200B2 <> U+2C4E1
+U+200D3 <> U+661C
 U+201B2 <> U+5123
 U+201BF <> U+20325
+U+201D0 <> U+349C
+U+201F9 <> U+4FD3
 U+20242 <> U+3493
 U+20257 <> U+203E2
 U+206B3 <> U+2080E
 U+206C5 <> U+527E
 U+206C6 <> U+20786
+U+206FE <> U+2A7D6
+U+20860 <> U+52D1
+U+20B24 <> U+776A
 U+20BDF <> U+54EF
 U+20BE0 <> U+5645
+U+20C37 <> U+56A7
+U+20C5E <> U+2B75C
 U+20CA5 <> U+2114F
+U+20CDE <> U+20DB8
 U+20D22 <> U+21114
 U+20D78 <> U+21123
 U+20D7E <> U+35F2
+U+2121B <> U+3624
+U+21291 <> U+58D0
 U+212C0 <> U+214FE
 U+212D7 <> U+2146D
+U+212E4 <> U+58D7
+U+213C6 <> U+214B6
 U+21484 <> U+58C8
 U+21760 <> U+3737
+U+2178B <> U+3717
 U+217B1 <> U+3722
+U+2181F <> U+5B4E
+U+21847 <> U+218E8
+U+21967 <> U+5B7B
 U+21B5C <> U+21B89
 U+21B6C <> U+21BA3
+U+21CC3 <> U+21CF3
+U+21CD2 <> U+26627
+U+21D5D <> U+5D78
 U+21DB4 <> U+5D7C
+U+21E03 <> U+21F57
+U+21E83 <> U+5D88
+U+21ED8 <> U+2D5E1
+U+22016 <> U+5DE0
 U+222C8 <> U+389D
+U+224C5 <> U+22569
+U+225D3 <> U+399B
+U+22619 <> U+22931
 U+2261D <> U+228DA
 U+2261E <> U+228ED
+U+22650 <> U+61B9
+U+22651 <> U+2283C
+U+22652 <> U+61A2
 U+22653 <> U+61C0
 U+226EF <> U+398E
+U+227FC <> U+61DC
+U+229D0 <> U+6230
+U+22A93 <> U+64E7
+U+22A97 <> U+22DCF
 U+22ACA <> U+22DEE
+U+22AD8 <> U+650E
 U+22ADE <> U+22DAB
 U+22AEC <> U+644B
+U+22B0D <> U+64EB
 U+22B26 <> U+22E7F
 U+22B4F <> U+64E3
+U+22DA3 <> U+3A79
 U+22F7E <> U+6585
+U+230C1 <> U+65B8
 U+23190 <> U+66E5
+U+23223 <> U+232CB
+U+2327C <> U+232DE
 U+23368 <> U+26888
 U+2336F <> U+816A
 U+23370 <> U+8125
 U+23391 <> U+81D7
+U+233E2 <> U+69EB
+U+23415 <> U+6871
 U+23424 <> U+6B0D
+U+2345D <> U+6AB2
 U+23476 <> U+23832
+U+2348C <> U+6947
+U+23497 <> U+3B9D
+U+234FF <> U+6A6F
+U+23572 <> U+3B93
+U+235CA <> U+6A20
 U+235CB <> U+6B13
+U+23610 <> U+3BE4
 U+23613 <> U+237BB
 U+23634 <> U+6AAD
 U+23637 <> U+23755
+U+2363E <> U+2C6D5
+U+23665 <> U+3BFC
+U+2369A <> U+6B18
+U+2378E <> U+23829
+U+23A3C <> U+6BA2
 U+23B64 <> U+23BF4
+U+23BE3 <> U+23BE9
+U+23C5D <> U+6C2D
+U+23C97 <> U+6E4B
+U+23CC6 <> U+3D57
 U+23DA9 <> U+6F85
 U+23DAB <> U+23FC9
 U+23E23 <> U+6FC6
@@ -2739,35 +2859,58 @@
 U+23EBC <> U+7059
 U+23EBD <> U+24063
 U+23F77 <> U+7003
+U+23F8D <> U+3D8C
 U+241A1 <> U+7193
+U+241A2 <> U+3DCD
 U+241C3 <> U+7204
 U+241C4 <> U+718C
+U+241ED <> U+7216
+U+241FB <> U+2DD99
 U+24236 <> U+7189
 U+24237 <> U+3DFF
 U+24280 <> U+2448E
 U+242CF <> U+71A1
+U+243BA <> U+244CE
+U+243BB <> U+24473
+U+2466F <> U+246EE
+U+24735 <> U+24872
+U+24762 <> U+2489F
+U+24783 <> U+7369
 U+247A4 <> U+7381
 U+2480B <> U+3E8F
 U+24980 <> U+74D5
+U+24A7D <> U+74DB
 U+24CC4 <> U+24CF8
+U+24D8A <> U+7650
 U+24DA7 <> U+24E2B
+U+24E7A <> U+24EDC
+U+24ECA <> U+3FD7
 U+24F6F <> U+3FE7
 U+24F80 <> U+769F
+U+24FF2 <> U+9EAC
+U+25062 <> U+4009
 U+25158 <> U+25303
 U+25174 <> U+4039
 U+251A7 <> U+77A4
 U+251E2 <> U+406A
+U+2539D <> U+408E
 U+2541F <> U+7912
 U+2542F <> U+25585
 U+25430 <> U+25565
 U+2543B <> U+7899
+U+25564 <> U+791A
+U+257A6 <> U+257B5
+U+257C2 <> U+4158
 U+259C2 <> U+25A10
+U+25A7A <> U+25A82
 U+25B00 <> U+4259
+U+25B08 <> U+7BF5
 U+25B1E <> U+7C4B
 U+25B20 <> U+7BD8
 U+25B49 <> U+25D4A
 U+25B8B <> U+25E20
 U+25B9C <> U+4272
+U+25BBE <> U+7BF8
 U+25C54 <> U+25D43
 U+25E65 <> U+25F3D
 U+25E85 <> U+42AD
@@ -2796,25 +2939,47 @@
 U+2621F <> U+431D
 U+26220 <> U+4325
 U+26221 <> U+7E7B
+U+26360 <> U+437D
 U+266E8 <> U+6725
 U+2677C <> U+81A2
+U+2678C <> U+23384
 U+267D7 <> U+268CE
 U+26A29 <> U+26ABD
+U+26B19 <> U+26FCD
 U+26C34 <> U+4573
+U+26D07 <> U+26FB5
+U+26ED5 <> U+861F
+U+27234 <> U+2B2E7
+U+2723F <> U+2C810
+U+27250 <> U+2755F
 U+2725E <> U+45FF
+U+273D6 <> U+8819
+U+273D7 <> U+8800
+U+2744F <> U+883E
 U+274AD <> U+27525
+U+27721 <> U+27794
+U+2772D <> U+4671
+U+2775D <> U+8970
+U+27924 <> U+89F9
+U+27945 <> U+89FD
 U+27BAA <> U+8A40
 U+27CD5 <> U+27CDF
 U+27E51 <> U+4788
+U+27E52 <> U+8CB7
 U+27E53 <> U+27D94
+U+27E54 <> U+8CEC
 U+27E55 <> U+477B
 U+27E56 <> U+8CDF
 U+27E57 <> U+8D03
+U+27EA3 <> U+27F75
 U+27FC8 <> U+281C1
+U+27FDB <> U+8E64
+U+28001 <> U+8E98
 U+28031 <> U+28123
 U+28074 <> U+2814D
 U+280BA <> U+2820A
 U+28104 <> U+2820C
+U+2815B <> U+4831
 U+2816B <> U+281DE
 U+2816C <> U+8E9D
 U+28257 <> U+8EC9
@@ -2825,7 +2990,14 @@
 U+28409 <> U+283AE
 U+2840A <> U+283E5
 U+28479 <> U+48A8
+U+28755 <> U+287A8
+U+287F3 <> U+288DE
+U+28828 <> U+288E7
+U+28859 <> U+288BF
+U+2887A <> U+288C8
+U+288B8 <> U+2E848
 U+28930 <> U+2893B
+U+289EE <> U+4978
 U+28C3E <> U+93B7
 U+28C3F <> U+91F3
 U+28C40 <> U+2895B
@@ -2867,6 +3039,7 @@
 U+28E0E <> U+28DF2
 U+28E18 <> U+28F4F
 U+28E1F <> U+49E2
+U+28EF9 <> U+28F48
 U+293FC <> U+4A8F
 U+293FD <> U+293EA
 U+293FE <> U+293A2
@@ -2903,6 +3076,8 @@
 U+2980E <> U+29784
 U+2980F <> U+297A6
 U+29820 <> U+29834
+U+29856 <> U+29863
+U+2985A <> U+29864
 U+299E6 <> U+2987A
 U+299E8 <> U+99CE
 U+299E9 <> U+2990A
@@ -2919,7 +3094,9 @@
 U+299F4 <> U+99E9
 U+299F5 <> U+298B4
 U+299F6 <> U+298CF
+U+299F8 <> U+298EB
 U+299FA <> U+99F6
+U+299FB <> U+298F5
 U+299FC <> U+298FA
 U+299FF <> U+4BA0
 U+29A00 <> U+9A14
@@ -2938,10 +3115,15 @@
 U+29A0E <> U+9FAD
 U+29A0F <> U+4BB3
 U+29A10 <> U+299C6
+U+29A48 <> U+4BE4
 U+29B23 <> U+29B59
 U+29B24 <> U+29C00
+U+29B3E <> U+29B6F
+U+29B79 <> U+9B16
 U+29BD2 <> U+29BF3
+U+29C30 <> U+29C39
 U+29C92 <> U+29CE4
+U+29D0C <> U+29D35
 U+29F79 <> U+9B65
 U+29F7A <> U+29D69
 U+29F7B <> U+29D79
@@ -2960,6 +3142,7 @@
 U+29F8A <> U+4C6C
 U+29F8B <> U+4C70
 U+29F8C <> U+9C47
+U+29F8E <> U+29F47
 U+2A242 <> U+4CB0
 U+2A243 <> U+9CFC
 U+2A244 <> U+29FEA
@@ -2982,61 +3165,3089 @@
 U+2A389 <> U+9EB2
 U+2A38A <> U+9EA8
 U+2A38B <> U+4D34
-U+2A38D <> U+2A2FF
+U+2A38C <> U+9EB3
+U+2A445 <> U+4D73
 U+2A52D <> U+2A535
 U+2A68F <> U+2A600
 U+2A690 <> U+2A62F
+U+2A70E <> U+20FD5
+U+2A73A <> U+300A0
 U+2A79D <> U+51D9
+U+2A7CE <> U+350B
+U+2A7DD <> U+52E3
+U+2A7F2 <> U+2B9DD
+U+2A800 <> U+27DCE
+U+2A803 <> U+2BA11
+U+2A80F <> U+2502C
+U+2A81F <> U+34C4
+U+2A821 <> U+20B19
+U+2A833 <> U+5513
+U+2A835 <> U+35AE
+U+2A838 <> U+569B
+U+2A83D <> U+5679
+U+2A840 <> U+563A
+U+2A843 <> U+562A
+U+2A84B <> U+565E
 U+2A84F <> U+55F9
+U+2A85B <> U+35FF
+U+2A85E <> U+5633
+U+2A87A <> U+210C4
+U+2A888 <> U+22595
+U+2A88B <> U+30240
+U+2A88C <> U+3613
+U+2A890 <> U+210E4
+U+2A892 <> U+210A1
+U+2A895 <> U+56BD
+U+2A8A0 <> U+56D2
 U+2A8AE <> U+571E
+U+2A8C6 <> U+57EC
+U+2A8D2 <> U+581A
+U+2A8FB <> U+587F
+U+2A904 <> U+214C1
+U+2A905 <> U+302C6
+U+2A91A <> U+58E3
+U+2A960 <> U+27E48
+U+2A96B <> U+5B47
+U+2A970 <> U+5B23
+U+2A97F <> U+5B3B
+U+2A9C0 <> U+5B7E
+U+2A9D8 <> U+5BE0
+U+2AA07 <> U+5C35
 U+2AA0A <> U+379E
 U+2AA17 <> U+5C69
+U+2AA27 <> U+5D19
+U+2AA29 <> U+21E17
+U+2AA36 <> U+8F0B
+U+2AA37 <> U+5DD7
+U+2AA39 <> U+21E6C
+U+2AA47 <> U+37FA
+U+2AA4E <> U+5DCA
+U+2AA58 <> U+5DD8
+U+2AA5B <> U+21FD6
+U+2AA78 <> U+5E69
+U+2AA91 <> U+3897
+U+2AA9E <> U+5EE7
+U+2AAB4 <> U+22370
+U+2AACC <> U+5FBF
+U+2AAE1 <> U+22929
+U+2AAF7 <> U+399E
+U+2AAF8 <> U+2272D
+U+2AAFA <> U+61B8
+U+2AB1A <> U+228D0
+U+2AB2F <> U+2293F
+U+2AB5D <> U+22BF7
+U+2AB62 <> U+6450
+U+2AB67 <> U+64DF
+U+2AB6F <> U+22D92
+U+2AB75 <> U+639A
+U+2AB7E <> U+648A
+U+2AB83 <> U+3A3B
+U+2AB8B <> U+3A4B
+U+2AB96 <> U+64A7
+U+2ABB3 <> U+22EB3
+U+2ABB6 <> U+650B
+U+2ABCB <> U+3A8E
+U+2AC36 <> U+66CA
+U+2AC65 <> U+81B9
+U+2AC77 <> U+6896
+U+2AC8E <> U+6AC5
+U+2AC94 <> U+6B10
+U+2AC9B <> U+6AB5
+U+2ACAE <> U+6AE0
+U+2ACCD <> U+6B07
+U+2AD19 <> U+6B11
+U+2AD2F <> U+6B5E
+U+2AD47 <> U+30682
+U+2AD51 <> U+6BCA
+U+2AD63 <> U+973C
+U+2AD71 <> U+6FFF
+U+2AD84 <> U+6EA1
+U+2AD92 <> U+24137
+U+2ADAE <> U+23F4F
+U+2ADCD <> U+3D7E
+U+2ADFD <> U+7052
+U+2AE15 <> U+7182
+U+2AE29 <> U+7147
+U+2AE40 <> U+24479
+U+2AE60 <> U+244CC
+U+2AE73 <> U+7225
+U+2AE79 <> U+244BB
+U+2AEA3 <> U+24600
+U+2AEAA <> U+24706
+U+2AEAD <> U+729E
+U+2AEB7 <> U+734A
+U+2AEB8 <> U+2482E
+U+2AEBB <> U+3E9C
+U+2AEBD <> U+730C
 U+2AED0 <> U+747D
+U+2AEE8 <> U+74C4
+U+2AEF2 <> U+747B
+U+2AEFA <> U+749D
+U+2AF0B <> U+3EF6
+U+2AF34 <> U+24B05
+U+2AF42 <> U+2A31C
+U+2AF5D <> U+24CF7
+U+2AF6A <> U+75EE
+U+2AF6D <> U+24DC3
+U+2AF6E <> U+3FD6
+U+2AF74 <> U+24E94
+U+2AF77 <> U+7631
+U+2AF94 <> U+76E8
 U+2AFA2 <> U+774D
+U+2AFA6 <> U+77D1
+U+2AFB8 <> U+77C9
+U+2AFCA <> U+253DD
+U+2AFDE <> U+255B2
+U+2AFEB <> U+792E
+U+2AFF5 <> U+255C7
+U+2B00C <> U+25730
+U+2B013 <> U+25710
+U+2B028 <> U+4150
+U+2B02C <> U+4173
+U+2B02E <> U+258B7
+U+2B042 <> U+4189
+U+2B05F <> U+7AF1
 U+2B061 <> U+9D17
+U+2B072 <> U+4251
+U+2B073 <> U+25BE4
+U+2B077 <> U+4276
+U+2B07A <> U+25D3C
+U+2B083 <> U+7C22
+U+2B086 <> U+7C02
 U+2B088 <> U+426C
+U+2B096 <> U+25D28
+U+2B0BF <> U+25EE6
+U+2B0D7 <> U+293F7
+U+2B119 <> U+7CFA
+U+2B11A <> U+42BA
+U+2B11B <> U+7D1F
+U+2B11C <> U+42C3
+U+2B11D <> U+25FAF
+U+2B11E <> U+42D4
+U+2B11F <> U+7D41
+U+2B120 <> U+7D59
+U+2B121 <> U+7D67
+U+2B122 <> U+7D65
+U+2B123 <> U+7E77
+U+2B124 <> U+7E68
+U+2B125 <> U+7E9A
+U+2B126 <> U+26016
+U+2B127 <> U+7D96
 U+2B128 <> U+7D7A
+U+2B129 <> U+42E6
+U+2B12A <> U+26147
+U+2B12B <> U+7D9F
+U+2B12C <> U+7DE4
+U+2B12D <> U+7DEE
+U+2B12E <> U+42FC
+U+2B12F <> U+260E9
+U+2B130 <> U+7E0D
+U+2B131 <> U+7E6C
+U+2B132 <> U+7E38
+U+2B133 <> U+7E30
+U+2B134 <> U+7E42
+U+2B135 <> U+26148
+U+2B136 <> U+7E48
+U+2B137 <> U+7E76
 U+2B138 <> U+7E81
+U+2B139 <> U+7E97
+U+2B145 <> U+4364
+U+2B157 <> U+7FB5
+U+2B165 <> U+26480
+U+2B16D <> U+4399
+U+2B17C <> U+26516
+U+2B18F <> U+807B
+U+2B19D <> U+267FC
+U+2B1AB <> U+2685D
+U+2B1D8 <> U+269FA
+U+2B1EA <> U+26C4C
+U+2B1ED <> U+848D
+U+2B1F4 <> U+84AD
+U+2B1FD <> U+857D
+U+2B209 <> U+8573
+U+2B20E <> U+845D
+U+2B21F <> U+852F
+U+2B235 <> U+855D
+U+2B241 <> U+8586
+U+2B244 <> U+85F7
+U+2B2AA <> U+45C5
+U+2B2AE <> U+8826
+U+2B2B1 <> U+8812
+U+2B2B8 <> U+87DC
+U+2B2B9 <> U+274AF
+U+2B2BB <> U+87F3
+U+2B2C7 <> U+87C2
+U+2B2CC <> U+87D8
+U+2B2F2 <> U+4654
+U+2B2F7 <> U+8957
+U+2B2F9 <> U+8953
+U+2B2FB <> U+8958
 U+2B300 <> U+8940
+U+2B307 <> U+8975
+U+2B30B <> U+277AB
 U+2B328 <> U+89BC
+U+2B329 <> U+30D0F
+U+2B32A <> U+899B
+U+2B32B <> U+27874
+U+2B32C <> U+27884
+U+2B32D <> U+89B9
+U+2B32F <> U+46A9
+U+2B34F <> U+2B358
+U+2B350 <> U+27B79
 U+2B359 <> U+8A11
-U+2B35F <> U+8A51
+U+2B35A <> U+8A1E
+U+2B35B <> U+8A1C
+U+2B35C <> U+8A53
+U+2B35E <> U+2799D
+U+2B35F <> U+279A7
+U+2B360 <> U+46C4
+U+2B361 <> U+8A51
 U+2B362 <> U+8B4A
+U+2B363 <> U+8A77
+U+2B364 <> U+8B51
+U+2B365 <> U+8A82
+U+2B366 <> U+8B68
+U+2B367 <> U+8ABA
+U+2B368 <> U+8AAB
+U+2B369 <> U+8AE3
+U+2B36A <> U+8A8B
+U+2B36B <> U+46F3
+U+2B36C <> U+8AB7
+U+2B36D <> U+27A55
+U+2B36E <> U+8AB3
+U+2B36F <> U+8AF4
 U+2B370 <> U+8AF0
+U+2B371 <> U+8AEF
 U+2B372 <> U+8B0F
+U+2B373 <> U+8AE5
+U+2B374 <> U+8B31
+U+2B375 <> U+8B38
+U+2B376 <> U+27A7C
+U+2B377 <> U+8B09
+U+2B378 <> U+8B06
+U+2B379 <> U+8B2F
+U+2B37A <> U+27ADD
+U+2B37B <> U+8B46
+U+2B37C <> U+27B24
+U+2B37D <> U+8B5E
+U+2B37E <> U+27B48
+U+2B37F <> U+8B7E
+U+2B386 <> U+8C75
+U+2B38C <> U+8C97
+U+2B3A6 <> U+8D1A
+U+2B3A7 <> U+476D
+U+2B3A8 <> U+27E18
+U+2B3A9 <> U+8CDD
+U+2B3AA <> U+478B
+U+2B3AB <> U+8D09
+U+2B3AC <> U+8D11
+U+2B3AD <> U+4793
+U+2B3B1 <> U+47D0
+U+2B3B3 <> U+47C6
+U+2B3B8 <> U+27F6F
+U+2B3BA <> U+47C3
+U+2B3C3 <> U+4806
+U+2B3C6 <> U+8E73
 U+2B3CB <> U+8E7B
+U+2B3CC <> U+28090
+U+2B3D0 <> U+8E54
+U+2B3D1 <> U+281FD
+U+2B3D5 <> U+281AA
+U+2B3DE <> U+281F0
+U+2B3E8 <> U+281E4
 U+2B404 <> U+8ECF
+U+2B405 <> U+8ED5
 U+2B406 <> U+8F63
+U+2B407 <> U+8EDC
+U+2B408 <> U+8EF7
 U+2B409 <> U+8EE8
+U+2B40A <> U+8EEC
+U+2B40B <> U+2838C
+U+2B40C <> U+8EFF
+U+2B40D <> U+28308
+U+2B40E <> U+8F22
+U+2B40F <> U+8F16
 U+2B410 <> U+8F17
+U+2B411 <> U+8F28
+U+2B412 <> U+8F37
 U+2B413 <> U+8F2E
+U+2B414 <> U+28370
+U+2B415 <> U+8F4A
+U+2B416 <> U+8F47
+U+2B417 <> U+8F50
+U+2B418 <> U+8F57
+U+2B419 <> U+8F60
+U+2B437 <> U+9071
+U+2B458 <> U+911F
+U+2B461 <> U+9133
+U+2B477 <> U+91B6
+U+2B4E5 <> U+91DF
+U+2B4E6 <> U+91E8
 U+2B4E7 <> U+9207
+U+2B4E8 <> U+921B
 U+2B4E9 <> U+93E6
+U+2B4EA <> U+9206
+U+2B4EB <> U+2895F
+U+2B4EC <> U+9254
+U+2B4ED <> U+9260
+U+2B4EE <> U+28A95
+U+2B4EF <> U+9288
+U+2B4F0 <> U+928A
+U+2B4F1 <> U+9408
+U+2B4F2 <> U+9281
+U+2B4F3 <> U+28C0B
+U+2B4F4 <> U+927E
+U+2B4F5 <> U+92E0
+U+2B4F6 <> U+92D7
+U+2B4F7 <> U+2B4A1
+U+2B4F8 <> U+933D
+U+2B4F9 <> U+9324
+U+2B4FA <> U+942A
+U+2B4FB <> U+931C
+U+2B4FC <> U+28A1B
+U+2B4FD <> U+931D
+U+2B4FE <> U+9325
+U+2B4FF <> U+28A22
+U+2B500 <> U+934A
+U+2B501 <> U+943C
+U+2B502 <> U+9349
+U+2B503 <> U+28C32
+U+2B504 <> U+9352
+U+2B505 <> U+938D
+U+2B506 <> U+496F
+U+2B507 <> U+939E
+U+2B508 <> U+9399
+U+2B509 <> U+28C03
+U+2B50A <> U+93E5
+U+2B50B <> U+4957
+U+2B50C <> U+93FE
+U+2B50D <> U+9407
 U+2B50E <> U+940D
+U+2B50F <> U+28B16
+U+2B510 <> U+28B78
+U+2B511 <> U+28B56
+U+2B512 <> U+28BB3
+U+2B513 <> U+28BDF
+U+2B514 <> U+9474
+U+2B515 <> U+28C25
+U+2B516 <> U+28CB3
+U+2B52D <> U+958B
+U+2B52F <> U+9597
+U+2B530 <> U+959E
+U+2B531 <> U+28DFB
+U+2B532 <> U+28D39
+U+2B534 <> U+95B5
+U+2B535 <> U+49AF
+U+2B536 <> U+95D1
+U+2B53D <> U+28F33
+U+2B55A <> U+29028
+U+2B565 <> U+9723
+U+2B568 <> U+29159
+U+2B583 <> U+9767
+U+2B585 <> U+4A8A
+U+2B587 <> U+97BE
+U+2B591 <> U+29396
+U+2B592 <> U+97E0
+U+2B593 <> U+293C2
+U+2B594 <> U+97DB
+U+2B595 <> U+97DD
+U+2B596 <> U+293E0
+U+2B5AA <> U+29454
+U+2B5AB <> U+4AB4
+U+2B5AC <> U+4ABE
+U+2B5AD <> U+2948E
+U+2B5AE <> U+9857
+U+2B5AF <> U+982B
+U+2B5B0 <> U+4AC2
+U+2B5B1 <> U+4AC0
+U+2B5B2 <> U+4ADF
+U+2B5B3 <> U+9835
+U+2B5B4 <> U+29533
+U+2B5B5 <> U+294E5
+U+2B5B6 <> U+9845
+U+2B5B7 <> U+29511
 U+2B5B8 <> U+9858
+U+2B5B9 <> U+9863
+U+2B5BA <> U+4AF6
+U+2B5C7 <> U+4AFB
+U+2B5C8 <> U+295D3
+U+2B5C9 <> U+295F4
+U+2B5CA <> U+4B13
+U+2B5CB <> U+98CB
+U+2B5DA <> U+297D7
+U+2B5DE <> U+98E6
+U+2B5DF <> U+4B27
 U+2B5E0 <> U+9926
+U+2B5E1 <> U+296A9
+U+2B5E2 <> U+98F5
+U+2B5E3 <> U+98F6
+U+2B5E4 <> U+296CC
+U+2B5E5 <> U+992B
 U+2B5E6 <> U+9914
 U+2B5E7 <> U+9917
+U+2B5E8 <> U+296E1
+U+2B5E9 <> U+9960
+U+2B5EA <> U+9927
+U+2B5EB <> U+992C
+U+2B5EC <> U+992A
+U+2B5ED <> U+9935
 U+2B5EE <> U+992D
+U+2B5EF <> U+9931
+U+2B5F0 <> U+4B54
+U+2B5F1 <> U+4B51
+U+2B5F2 <> U+2CC9B
+U+2B5F3 <> U+2977D
 U+2B5F4 <> U+9958
+U+2B5F5 <> U+995F
+U+2B61B <> U+99AF
+U+2B61C <> U+99BC
 U+2B61D <> U+99C3
+U+2B61E <> U+99DE
+U+2B61F <> U+99CA
+U+2B620 <> U+99E4
+U+2B621 <> U+99EB
 U+2B623 <> U+99FB
 U+2B624 <> U+9A03
+U+2B625 <> U+9A09
+U+2B626 <> U+9A0A
+U+2B627 <> U+9A04
 U+2B628 <> U+9A20
+U+2B629 <> U+9A1C
+U+2B62A <> U+9A35
+U+2B62B <> U+9A34
+U+2B62C <> U+9A31
+U+2B62D <> U+9A3B
+U+2B62E <> U+4BB0
+U+2B62F <> U+9A53
+U+2B630 <> U+9A59
+U+2B631 <> U+9A68
+U+2B63D <> U+9B20
+U+2B642 <> U+29BC1
 U+2B688 <> U+9C6E
 U+2B689 <> U+9B5F
+U+2B68A <> U+9C11
+U+2B68B <> U+9C44
+U+2B68C <> U+9B66
+U+2B68D <> U+9B75
+U+2B68E <> U+29D81
+U+2B68F <> U+4C41
+U+2B690 <> U+4C40
+U+2B691 <> U+9B85
 U+2B692 <> U+9B84
+U+2B693 <> U+9BA4
 U+2B694 <> U+9BB0
 U+2B695 <> U+9C24
+U+2B696 <> U+9B86
+U+2B697 <> U+9BAF
+U+2B698 <> U+29EEE
 U+2B699 <> U+9BC6
+U+2B69A <> U+9BBF
+U+2B69B <> U+9BB5
+U+2B69C <> U+4C85
+U+2B69D <> U+29E04
+U+2B69E <> U+9BEC
+U+2B69F <> U+29E21
+U+2B6A0 <> U+4C67
+U+2B6A1 <> U+9BDE
+U+2B6A2 <> U+9C0B
+U+2B6A3 <> U+9BFE
+U+2B6A4 <> U+9C26
+U+2B6A5 <> U+9C15
+U+2B6A6 <> U+9C2B
+U+2B6A7 <> U+9C3D
+U+2B6A8 <> U+29ED7
+U+2B6A9 <> U+29EEC
+U+2B6AA <> U+9C4A
+U+2B6AB <> U+9C62
+U+2B6AC <> U+29F36
 U+2B6AD <> U+9C72
+U+2B6DA <> U+9CFD
 U+2B6DB <> U+9CF7
+U+2B6DC <> U+9D00
+U+2B6DD <> U+9D05
 U+2B6DE <> U+9D03
+U+2B6DF <> U+9E17
+U+2B6E0 <> U+29FE4
+U+2B6E1 <> U+9D14
 U+2B6E2 <> U+9E0B
+U+2B6E3 <> U+9D25
+U+2B6E4 <> U+9D10
+U+2B6E5 <> U+9D4A
+U+2B6E6 <> U+9D2E
+U+2B6E7 <> U+2A016
+U+2B6E8 <> U+9D67
+U+2B6E9 <> U+9D33
+U+2B6EA <> U+9D3D
+U+2B6EB <> U+9DB0
+U+2B6EC <> U+4CDC
+U+2B6ED <> U+9D5F
+U+2B6EE <> U+4CE4
+U+2B6EF <> U+9DAD
+U+2B6F0 <> U+4CE2
+U+2B6F1 <> U+9D6B
+U+2B6F2 <> U+9D70
+U+2B6F3 <> U+9D69
+U+2B6F4 <> U+9DE4
+U+2B6F5 <> U+9D8C
 U+2B6F6 <> U+9D92
+U+2B6F7 <> U+9DA6
 U+2B6F8 <> U+9D97
+U+2B6F9 <> U+2A0E7
+U+2B6FA <> U+4CE7
+U+2B6FB <> U+2A0D2
+U+2B6FC <> U+4CEB
+U+2B6FD <> U+9DC5
+U+2B6FE <> U+2A1B7
+U+2B700 <> U+9DD0
+U+2B701 <> U+9DE9
+U+2B702 <> U+2A142
+U+2B703 <> U+9DE3
+U+2B704 <> U+9DF7
+U+2B705 <> U+4D0B
+U+2B70A <> U+2A278
+U+2B711 <> U+9EB7
+U+2B712 <> U+4D31
+U+2B713 <> U+2A32D
+U+2B714 <> U+4D3D
+U+2B715 <> U+2A360
+U+2B719 <> U+4D74
+U+2B71F <> U+2A4F0
+U+2B728 <> U+4D95
+U+2B729 <> U+9F67
+U+2B72A <> U+9F69
+U+2B72B <> U+2B726
+U+2B72C <> U+9F70
+U+2B72D <> U+9F6D
+U+2B72E <> U+9F74
+U+2B72F <> U+2A64F
+U+2B730 <> U+9F7E
+U+2B732 <> U+9F93
+U+2B733 <> U+4DB2
+U+2B748 <> U+346E
+U+2B74B <> U+2040A
+U+2B761 <> U+214D7
+U+2B766 <> U+36DD
+U+2B767 <> U+3710
+U+2B768 <> U+5A88
+U+2B769 <> U+5B26
+U+2B76A <> U+217EB
+U+2B76B <> U+5A61
+U+2B76C <> U+5B07
+U+2B76D <> U+5B46
+U+2B76E <> U+5B44
+U+2B775 <> U+5DB9
+U+2B785 <> U+26805
+U+2B797 <> U+6F63
+U+2B79A <> U+6FAC
+U+2B79B <> U+3D86
+U+2B79D <> U+704D
+U+2B7A0 <> U+7227
+U+2B7A1 <> U+7203
+U+2B7A2 <> U+246F1
+U+2B7A3 <> U+3E7D
+U+2B7A5 <> U+73FC
+U+2B7A6 <> U+74BE
+U+2B7A7 <> U+24A42
+U+2B7A8 <> U+74BC
+U+2B7A9 <> U+748A
+U+2B7B7 <> U+258B6
+U+2B7C3 <> U+7D4D
+U+2B7C4 <> U+7D8B
+U+2B7C5 <> U+7DA1
+U+2B7C6 <> U+7DDF
+U+2B7C7 <> U+261B2
+U+2B7D1 <> U+4585
+U+2B7D5 <> U+4564
+U+2B7DE <> U+8A28
+U+2B7DF <> U+8A4A
+U+2B7E0 <> U+8B42
+U+2B7E1 <> U+8AB4
+U+2B7E2 <> U+4716
+U+2B7E4 <> U+4850
+U+2B7E5 <> U+4869
+U+2B7E6 <> U+4875
+U+2B7EB <> U+287BA
+U+2B7EC <> U+287CA
+U+2B7F2 <> U+91DA
+U+2B7F3 <> U+91F2
+U+2B7F4 <> U+9216
+U+2B7F5 <> U+9217
+U+2B7F6 <> U+928F
+U+2B7F7 <> U+925D
+U+2B7F8 <> U+927D
+U+2B7F9 <> U+9277
+U+2B7FA <> U+4924
+U+2B7FB <> U+9282
+U+2B7FC <> U+943D
+U+2B7FD <> U+289F0
+U+2B7FE <> U+28A70
+U+2B7FF <> U+9388
+U+2B800 <> U+4944
+U+2B801 <> U+9449
+U+2B802 <> U+959D
+U+2B805 <> U+97DA
+U+2B806 <> U+980D
+U+2B807 <> U+295B0
+U+2B808 <> U+4AFE
+U+2B80A <> U+4B84
+U+2B80B <> U+9A3C
+U+2B80C <> U+299A0
+U+2B80F <> U+29D66
+U+2B810 <> U+9B7D
+U+2B811 <> U+4C78
+U+2B812 <> U+9C46
+U+2B816 <> U+29FC5
+U+2B81C <> U+9F6F
+U+2B86C <> U+20DCF
+U+2B876 <> U+2917E
+U+2B892 <> U+5131
+U+2B894 <> U+2043D
+U+2B898 <> U+203EE
+U+2B899 <> U+50CD
+U+2B89C <> U+300B4
+U+2B89F <> U+2A756
+U+2B8A8 <> U+20392
+U+2B8AA <> U+50C6
+U+2B8AC <> U+50D7
+U+2B8AD <> U+5130
+U+2B8B2 <> U+2B8F4
+U+2B8B8 <> U+50E4
+U+2B8B9 <> U+20459
+U+2B8BA <> U+50AA
+U+2B8C9 <> U+5116
+U+2B8CA <> U+50FE
+U+2B8DB <> U+20472
+U+2B8EB <> U+2040D
+U+2B938 <> U+375F
+U+2B93D <> U+205AB
+U+2B94D <> U+20625
+U+2B954 <> U+2B95D
+U+2B973 <> U+2081D
+U+2B975 <> U+2080F
+U+2B97A <> U+207EA
+U+2B97C <> U+20732
+U+2B97D <> U+2B999
+U+2B981 <> U+2077F
+U+2B985 <> U+3505
+U+2B989 <> U+207AD
+U+2B98B <> U+2B994
+U+2B98C <> U+3503
+U+2B9A9 <> U+351D
+U+2B9B0 <> U+2B9B8
+U+2B9B3 <> U+3522
+U+2B9C3 <> U+23350
+U+2B9EE <> U+2A2FF
+U+2B9EF <> U+5368
+U+2B9F7 <> U+25F7D
+U+2B9FF <> U+8D15
+U+2BA06 <> U+20A58
+U+2BA55 <> U+569D
+U+2BA56 <> U+20D58
+U+2BA5A <> U+20D79
+U+2BA5B <> U+35F0
+U+2BA64 <> U+35FC
+U+2BA65 <> U+56BF
+U+2BA69 <> U+35D9
+U+2BA6B <> U+5688
+U+2BA6F <> U+20E5B
+U+2BA73 <> U+20F2E
+U+2BA78 <> U+2A8A5
+U+2BA7A <> U+568D
+U+2BA80 <> U+35FB
+U+2BA81 <> U+553B
+U+2BA82 <> U+3619
+U+2BA83 <> U+56C7
+U+2BA84 <> U+20F24
+U+2BA85 <> U+20EAE
+U+2BA91 <> U+3021D
+U+2BA98 <> U+210BF
+U+2BA9A <> U+20F17
+U+2BAA7 <> U+5604
+U+2BAAA <> U+21092
+U+2BABA <> U+35E3
+U+2BABD <> U+20FAC
+U+2BAC7 <> U+5641
+U+2BACF <> U+2BB06
+U+2BAE6 <> U+56AA
+U+2BAF5 <> U+2103F
+U+2BAFE <> U+56AC
+U+2BB10 <> U+3614
+U+2BB19 <> U+27E2B
+U+2BB1F <> U+21165
+U+2BB5E <> U+587C
+U+2BB5F <> U+5878
+U+2BB62 <> U+57E8
+U+2BB68 <> U+58A2
+U+2BB6A <> U+589D
+U+2BB6E <> U+2136B
+U+2BB6F <> U+2144E
+U+2BB72 <> U+58E7
+U+2BB7C <> U+2144D
+U+2BB83 <> U+58A0
+U+2BB85 <> U+588B
+U+2BB9C <> U+366C
+U+2BBD2 <> U+2844A
+U+2BBE5 <> U+596F
+U+2BBF6 <> U+596B
+U+2BC02 <> U+5972
+U+2BC0D <> U+5A81
+U+2BC1B <> U+5A19
+U+2BC20 <> U+372D
+U+2BC21 <> U+5B05
+U+2BC22 <> U+5B12
+U+2BC23 <> U+21920
+U+2BC28 <> U+3725
+U+2BC30 <> U+5B10
+U+2BC39 <> U+5AE2
+U+2BC55 <> U+372E
+U+2BC7F <> U+2192B
+U+2BC97 <> U+373A
+U+2BCB8 <> U+5BF7
+U+2BCC3 <> U+375E
+U+2BD3C <> U+21BA4
+U+2BD75 <> U+5D35
+U+2BD76 <> U+21EA8
+U+2BD77 <> U+3823
+U+2BD78 <> U+21DE8
+U+2BD79 <> U+21F75
+U+2BD84 <> U+2BDA6
+U+2BD85 <> U+3801
+U+2BD87 <> U+5D7D
+U+2BD8A <> U+21F73
+U+2BD95 <> U+5DC6
+U+2BDB2 <> U+23AD2
+U+2BDC5 <> U+3853
+U+2BDC8 <> U+2213C
+U+2BDC9 <> U+5E70
+U+2BDCC <> U+22161
+U+2BDD8 <> U+20054
+U+2BDEC <> U+5EB2
+U+2BDEE <> U+5ED5
+U+2BDF7 <> U+5EDE
+U+2BDF9 <> U+5ED4
+U+2BDFE <> U+5EEE
+U+2BE29 <> U+5F44
+U+2BE6E <> U+61D9
+U+2BE74 <> U+6107
+U+2BE77 <> U+22960
+U+2BE7C <> U+226D4
+U+2BE7D <> U+616F
+U+2BE81 <> U+3932
+U+2BE82 <> U+608F
+U+2BE86 <> U+398A
+U+2BE8A <> U+61E0
+U+2BE8C <> U+6129
+U+2BE92 <> U+22880
+U+2BE93 <> U+3996
+U+2BE98 <> U+61A6
+U+2BEAA <> U+61E9
+U+2BEAB <> U+2291C
+U+2BEB7 <> U+6201
+U+2BEB9 <> U+2BED1
+U+2BEC1 <> U+39A6
+U+2BEC7 <> U+2290C
+U+2BF17 <> U+22CAB
+U+2BF1D <> U+640A
+U+2BF23 <> U+22CC2
+U+2BF24 <> U+22BE9
+U+2BF25 <> U+3A1F
+U+2BF27 <> U+64B6
+U+2BF2B <> U+22CBE
+U+2BF2E <> U+64C3
+U+2BF31 <> U+6443
+U+2BF32 <> U+22BE6
+U+2BF35 <> U+22CB8
+U+2BF36 <> U+22C61
+U+2BF3D <> U+2ABB0
+U+2BF3E <> U+22CA9
+U+2BF40 <> U+3A25
+U+2BF41 <> U+6459
+U+2BF47 <> U+3A47
+U+2BF4A <> U+3A6D
+U+2BF4B <> U+651E
+U+2BF50 <> U+22CDA
+U+2BF54 <> U+22DC3
+U+2BF59 <> U+22D26
+U+2BF62 <> U+3053A
+U+2BF63 <> U+646A
+U+2BF65 <> U+6511
+U+2BF67 <> U+3A4C
+U+2BF6B <> U+3052B
+U+2BF6E <> U+6529
+U+2BF72 <> U+22D91
+U+2BF73 <> U+22D29
+U+2BF81 <> U+22E34
+U+2BF83 <> U+22E33
+U+2BF89 <> U+3A63
+U+2BF8F <> U+2BFA1
+U+2BFB2 <> U+23037
+U+2BFB3 <> U+23018
+U+2BFC2 <> U+22FD3
+U+2BFD7 <> U+2303B
+U+2C025 <> U+23138
+U+2C029 <> U+6690
+U+2C02A <> U+665B
+U+2C02E <> U+3B23
+U+2C031 <> U+669F
+U+2C051 <> U+23302
+U+2C058 <> U+305BB
+U+2C073 <> U+267D0
+U+2C075 <> U+8192
+U+2C078 <> U+2679B
+U+2C07A <> U+26716
+U+2C07D <> U+4423
+U+2C080 <> U+81B6
+U+2C082 <> U+268C7
+U+2C085 <> U+4437
+U+2C089 <> U+8CF8
+U+2C0A0 <> U+6A45
+U+2C0A9 <> U+689C
+U+2C0AE <> U+699D
+U+2C0B0 <> U+6A82
+U+2C0B1 <> U+2ACF7
+U+2C0BB <> U+236E3
+U+2C0C0 <> U+69FB
+U+2C0CA <> U+6ACD
+U+2C0CF <> U+2AD25
+U+2C0D8 <> U+6A32
+U+2C0DB <> U+2C11D
+U+2C0E6 <> U+23699
+U+2C0EB <> U+6AF6
+U+2C0EE <> U+2367F
+U+2C0F2 <> U+4AD0
+U+2C0F3 <> U+23876
+U+2C11E <> U+23815
+U+2C129 <> U+6AFD
+U+2C12C <> U+2384C
+U+2C162 <> U+3C30
+U+2C165 <> U+6B44
+U+2C16B <> U+6B55
+U+2C182 <> U+2C189
+U+2C199 <> U+23A55
+U+2C1A6 <> U+6BC4
+U+2C1AE <> U+9DC7
+U+2C1BE <> U+8992
+U+2C1C3 <> U+28A85
+U+2C1C4 <> U+23C28
+U+2C1C7 <> U+3CB2
+U+2C1D5 <> U+6FAB
+U+2C1D8 <> U+6F19
+U+2C1D9 <> U+6D7F
+U+2C1EC <> U+24159
+U+2C1F0 <> U+3D4D
+U+2C1F9 <> U+6F0D
+U+2C1FC <> U+23ECF
+U+2C201 <> U+6F6C
+U+2C20F <> U+2C264
+U+2C215 <> U+3D52
+U+2C227 <> U+6FC7
+U+2C231 <> U+2402A
+U+2C23E <> U+2406A
+U+2C242 <> U+7035
+U+2C247 <> U+3D64
+U+2C24B <> U+7022
+U+2C260 <> U+7061
+U+2C27C <> U+71B0
+U+2C282 <> U+717C
+U+2C288 <> U+71D6
+U+2C289 <> U+71F5
+U+2C28D <> U+71FD
+U+2C28E <> U+7195
+U+2C296 <> U+71D8
+U+2C297 <> U+24356
+U+2C29C <> U+244D3
+U+2C2A4 <> U+71C0
+U+2C2A6 <> U+89A2
+U+2C2B5 <> U+7223
+U+2C2B6 <> U+7201
+U+2C2BA <> U+71F0
+U+2C2BE <> U+3E10
+U+2C2C3 <> U+244A6
+U+2C2CD <> U+3E0A
+U+2C31D <> U+7293
+U+2C320 <> U+2C326
+U+2C32E <> U+735F
+U+2C334 <> U+248E4
+U+2C335 <> U+2C341
+U+2C337 <> U+3E91
+U+2C359 <> U+7416
+U+2C35B <> U+74C5
+U+2C361 <> U+7497
+U+2C364 <> U+7495
+U+2C386 <> U+3F06
+U+2C391 <> U+74D3
+U+2C3A7 <> U+3F3B
+U+2C3AC <> U+24BA6
+U+2C3DC <> U+3FBA
+U+2C3DF <> U+3FB5
+U+2C3E4 <> U+24EF2
+U+2C3E6 <> U+7648
+U+2C3EB <> U+7612
+U+2C3EE <> U+7611
+U+2C3F7 <> U+3FCE
+U+2C420 <> U+250B8
+U+2C446 <> U+7754
+U+2C447 <> U+251D4
+U+2C44D <> U+2C461
+U+2C44F <> U+4034
+U+2C452 <> U+4071
+U+2C453 <> U+77B1
+U+2C455 <> U+7774
+U+2C457 <> U+77B7
+U+2C459 <> U+2531A
+U+2C467 <> U+77CA
+U+2C484 <> U+2C492
+U+2C486 <> U+790F
+U+2C487 <> U+255FA
+U+2C488 <> U+7910
+U+2C48A <> U+255A9
+U+2C48D <> U+78D2
+U+2C48E <> U+40D8
+U+2C493 <> U+255F4
+U+2C495 <> U+40E4
+U+2C497 <> U+255FD
+U+2C4E0 <> U+7A56
+U+2C4EB <> U+9F9D
+U+2C4F1 <> U+2588A
+U+2C4F8 <> U+4D58
 U+2C4FC <> U+7A68
+U+2C52F <> U+25C78
+U+2C539 <> U+25CCA
+U+2C542 <> U+7BE2
+U+2C544 <> U+7C6D
+U+2C54A <> U+424D
+U+2C55B <> U+4250
+U+2C566 <> U+4271
+U+2C56C <> U+25D5D
+U+2C583 <> U+7C6B
+U+2C591 <> U+7CAF
+U+2C596 <> U+25EE4
+U+2C598 <> U+25F36
+U+2C59E <> U+25EF5
+U+2C59F <> U+2B0D0
+U+2C5A0 <> U+3AB9
+U+2C5AE <> U+7CEE
+U+2C5BA <> U+25F6D
+U+2C613 <> U+7D03
+U+2C614 <> U+25F9D
+U+2C615 <> U+7D0C
+U+2C616 <> U+7D78
+U+2C617 <> U+30ADB
+U+2C618 <> U+7D1E
+U+2C619 <> U+42D0
+U+2C61A <> U+25FC9
+U+2C61B <> U+7D36
+U+2C61C <> U+42CE
+U+2C61D <> U+7D3E
+U+2C61E <> U+2610B
+U+2C61F <> U+7D64
+U+2C620 <> U+7D60
+U+2C621 <> U+7D6A
+U+2C622 <> U+7D56
+U+2C623 <> U+2C5CF
+U+2C624 <> U+7D7D
+U+2C625 <> U+7D5F
+U+2C626 <> U+25FEF
+U+2C627 <> U+7E83
+U+2C628 <> U+7D95
+U+2C629 <> U+7D8E
+U+2C62A <> U+431E
+U+2C62B <> U+7D84
+U+2C62C <> U+7DAA
 U+2C62D <> U+7D9D
+U+2C62E <> U+4310
+U+2C62F <> U+7DA7
+U+2C630 <> U+7DDB
+U+2C631 <> U+4301
+U+2C632 <> U+42FE
+U+2C633 <> U+2613C
+U+2C634 <> U+42FA
+U+2C635 <> U+7DEA
+U+2C636 <> U+7DE7
+U+2C637 <> U+7E12
+U+2C638 <> U+2608B
+U+2C639 <> U+2B107
+U+2C63A <> U+7E1A
+U+2C63B <> U+7E16
+U+2C63C <> U+260D2
+U+2C63D <> U+260D8
+U+2C63E <> U+2610D
+U+2C63F <> U+26127
+U+2C640 <> U+2C5FA
+U+2C641 <> U+432A
+U+2C642 <> U+7E2F
+U+2C643 <> U+2614B
+U+2C644 <> U+30AF3
+U+2C645 <> U+26177
+U+2C646 <> U+7E59
+U+2C647 <> U+7E4E
+U+2C648 <> U+7E57
+U+2C649 <> U+7E75
+U+2C64A <> U+7E86
+U+2C64B <> U+7E95
+U+2C64E <> U+7F4F
+U+2C64F <> U+2C654
+U+2C65D <> U+7F7C
+U+2C66A <> U+2633E
+U+2C66B <> U+26346
+U+2C66D <> U+4377
+U+2C684 <> U+4398
+U+2C6F9 <> U+4457
+U+2C6FC <> U+8F5D
+U+2C714 <> U+26AAD
+U+2C725 <> U+847B
+U+2C727 <> U+855F
+U+2C728 <> U+8589
+U+2C72C <> U+8504
+U+2C72F <> U+44E3
+U+2C738 <> U+8639
+U+2C73A <> U+26D86
+U+2C73E <> U+85D6
+U+2C73F <> U+852E
+U+2C741 <> U+4521
+U+2C743 <> U+243A4
+U+2C74A <> U+26E37
+U+2C74B <> U+881E
+U+2C756 <> U+26D55
+U+2C760 <> U+26F52
+U+2C76F <> U+85B2
+U+2C774 <> U+457C
+U+2C78B <> U+26FB6
+U+2C795 <> U+862D
+U+2C798 <> U+85EC
+U+2C79F <> U+860B
+U+2C7A3 <> U+27085
+U+2C7AB <> U+862B
+U+2C7C1 <> U+8649
+U+2C7EA <> U+89A4
+U+2C7FA <> U+27431
+U+2C7FD <> U+8740
+U+2C803 <> U+273FB
+U+2C805 <> U+87F7
+U+2C808 <> U+2B2D0
+U+2C820 <> U+8808
+U+2C831 <> U+275A6
+U+2C837 <> U+27566
+U+2C847 <> U+892D
+U+2C84D <> U+27723
+U+2C84E <> U+276F8
+U+2C852 <> U+88CC
+U+2C853 <> U+893A
+U+2C854 <> U+27702
+U+2C855 <> U+27701
+U+2C860 <> U+277CC
+U+2C866 <> U+277B6
+U+2C871 <> U+2B319
+U+2C877 <> U+8978
+U+2C87B <> U+42B2
+U+2C887 <> U+27808
+U+2C888 <> U+2784D
+U+2C889 <> U+27825
+U+2C88A <> U+8997
+U+2C88B <> U+899C
+U+2C88C <> U+899F
+U+2C88D <> U+27835
+U+2C88E <> U+89A9
+U+2C88F <> U+2786A
+U+2C890 <> U+4689
+U+2C891 <> U+4686
+U+2C892 <> U+89AD
+U+2C893 <> U+2788D
+U+2C894 <> U+89B4
+U+2C895 <> U+278F4
+U+2C8AA <> U+8B78
+U+2C8AF <> U+8B7B
+U+2C8B3 <> U+8B32
+U+2C8C0 <> U+8B86
+U+2C8D9 <> U+8A0F
+U+2C8DA <> U+27963
+U+2C8DB <> U+46B3
+U+2C8DC <> U+46BD
+U+2C8DD <> U+2797A
+U+2C8DE <> U+8A5D
+U+2C8DF <> U+46B5
+U+2C8E0 <> U+8A4C
+U+2C8E1 <> U+8AD3
+U+2C8E2 <> U+279AD
+U+2C8E3 <> U+8A3B
+U+2C8E4 <> U+8A43
+U+2C8E5 <> U+8A5C
+U+2C8E6 <> U+8A4F
+U+2C8E7 <> U+46CD
+U+2C8E8 <> U+279DD
+U+2C8E9 <> U+8A74
+U+2C8EA <> U+27B28
+U+2C8EB <> U+2C8CD
+U+2C8EC <> U+46DB
+U+2C8ED <> U+8B61
+U+2C8EE <> U+8A7A
+U+2C8EF <> U+46D8
+U+2C8F0 <> U+8A6F
+U+2C8F1 <> U+8A76
+U+2C8F2 <> U+8AE9
+U+2C8F3 <> U+8A6A
+U+2C8F4 <> U+27B87
+U+2C8F5 <> U+27B3B
+U+2C8F6 <> U+27A0A
+U+2C8F7 <> U+8A8E
+U+2C8F8 <> U+46DE
+U+2C8F9 <> U+46E4
+U+2C8FA <> U+279ED
+U+2C8FB <> U+8A94
+U+2C8FC <> U+8A8F
+U+2C8FD <> U+8B30
+U+2C8FE <> U+8ACE
+U+2C8FF <> U+470E
+U+2C900 <> U+8AD5
+U+2C901 <> U+46EC
+U+2C902 <> U+27A3E
+U+2C903 <> U+30D3D
+U+2C904 <> U+8B32
+U+2C905 <> U+27A66
+U+2C906 <> U+8B34
+U+2C907 <> U+8AF2
+U+2C908 <> U+27ADA
+U+2C909 <> U+470B
+U+2C90A <> U+8ADF
+U+2C90B <> U+27A6A
+U+2C90C <> U+46FD
+U+2C90D <> U+8AFB
+U+2C90E <> U+8AE0
+U+2C90F <> U+27A67
+U+2C910 <> U+8B0C
+U+2C911 <> U+46FF
+U+2C912 <> U+27A9E
+U+2C913 <> U+27AA1
+U+2C914 <> U+27AAA
+U+2C915 <> U+27AA6
+U+2C916 <> U+27B2A
+U+2C917 <> U+2C8D8
+U+2C918 <> U+4709
+U+2C919 <> U+8B3C
+U+2C91A <> U+27B86
+U+2C91B <> U+8B87
+U+2C91C <> U+27B05
+U+2C91D <> U+8B53
+U+2C91E <> U+27B07
+U+2C91F <> U+470D
+U+2C920 <> U+27B0C
+U+2C921 <> U+4712
+U+2C922 <> U+8B50
+U+2C923 <> U+8B48
+U+2C924 <> U+8B44
 U+2C925 <> U+8B54
+U+2C926 <> U+8B89
+U+2C927 <> U+27B2E
+U+2C928 <> U+8B5F
+U+2C929 <> U+8B7A
+U+2C92A <> U+471A
+U+2C92B <> U+8B79
+U+2C92C <> U+471D
+U+2C92D <> U+8B7F
+U+2C92E <> U+8B9A
+U+2C92F <> U+27B88
+U+2C930 <> U+8B99
+U+2C931 <> U+27B93
+U+2C937 <> U+27C06
+U+2C944 <> U+4755
+U+2C948 <> U+4AC9
+U+2C973 <> U+8CF6
+U+2C974 <> U+27D4A
+U+2C975 <> U+476F
+U+2C976 <> U+8CB1
+U+2C977 <> U+27D84
+U+2C978 <> U+8CD7
+U+2C979 <> U+27D9F
+U+2C97A <> U+4781
+U+2C97B <> U+4782
+U+2C97C <> U+27DB2
+U+2C97D <> U+4780
+U+2C97E <> U+27E26
+U+2C97F <> U+27E2A
+U+2C980 <> U+2C972
+U+2C985 <> U+47B6
+U+2C986 <> U+27F62
+U+2C9A3 <> U+281D7
+U+2C9A5 <> U+47FA
+U+2C9A7 <> U+8E1A
+U+2C9A9 <> U+280D8
+U+2C9AB <> U+28185
+U+2C9AF <> U+28042
+U+2C9B4 <> U+281B1
+U+2C9B5 <> U+28130
+U+2C9B9 <> U+280DC
+U+2C9BB <> U+8E80
+U+2C9BE <> U+28207
+U+2C9C0 <> U+8E61
+U+2C9C3 <> U+482E
+U+2C9D1 <> U+281CD
+U+2C9D4 <> U+2C9D9
+U+2C9DA <> U+28200
+U+2C9DB <> U+28206
+U+2C9E2 <> U+4841
+U+2C9E4 <> U+8EC2
+U+2C9E9 <> U+28279
+U+2CA01 <> U+8EDE
+U+2CA02 <> U+8EDD
+U+2CA03 <> U+282C1
+U+2CA04 <> U+8EEE
+U+2CA05 <> U+282DA
+U+2CA06 <> U+4857
+U+2CA07 <> U+8F06
+U+2CA08 <> U+8F13
+U+2CA09 <> U+4858
+U+2CA0B <> U+28304
+U+2CA0C <> U+485F
+U+2CA0D <> U+8F35
+U+2CA0E <> U+8F36
+U+2CA0F <> U+28350
+U+2CA10 <> U+28379
+U+2CA11 <> U+4866
+U+2CA12 <> U+283A9
+U+2CA13 <> U+8F48
+U+2CA14 <> U+4876
+U+2CA4E <> U+2860C
+U+2CA7D <> U+9129
+U+2CA7E <> U+90F2
+U+2CA8D <> U+912E
+U+2CAA7 <> U+91A7
+U+2CAA8 <> U+9186
+U+2CAA9 <> U+91B2
+U+2CAAB <> U+288C9
+U+2CAAF <> U+2890B
+U+2CABA <> U+28921
+U+2CB07 <> U+28C35
+U+2CB27 <> U+91EC
+U+2CB28 <> U+91EB
+U+2CB29 <> U+91F4
+U+2CB2A <> U+91E6
+U+2CB2B <> U+921A
+U+2CB2C <> U+934F
+U+2CB2D <> U+9300
+U+2CB2E <> U+92F9
+U+2CB2F <> U+9213
+U+2CB30 <> U+9397
+U+2CB31 <> U+91FF
+U+2CB32 <> U+91FD
+U+2CB33 <> U+28966
+U+2CB34 <> U+2895C
+U+2CB35 <> U+9202
+U+2CB36 <> U+28B1E
+U+2CB37 <> U+9250
+U+2CB38 <> U+9265
+U+2CB39 <> U+926E
+U+2CB3A <> U+924F
+U+2CB3B <> U+946A
+U+2CB3C <> U+28B65
+U+2CB3D <> U+923C
+U+2CB3E <> U+944F
+U+2CB3F <> U+924A
+U+2CB40 <> U+9236
+U+2CB41 <> U+9267
+U+2CB42 <> U+2897A
+U+2CB43 <> U+9294
+U+2CB45 <> U+9297
+U+2CB46 <> U+492A
+U+2CB47 <> U+28B57
+U+2CB48 <> U+4929
+U+2CB49 <> U+9447
+U+2CB4A <> U+289C0
+U+2CB4B <> U+2B49E
+U+2CB4C <> U+92D8
+U+2CB4D <> U+92B2
+U+2CB4E <> U+92D0
+U+2CB4F <> U+940A
+U+2CB50 <> U+289DA
+U+2CB51 <> U+289EB
+U+2CB53 <> U+932A
+U+2CB54 <> U+9461
+U+2CB55 <> U+932D
+U+2CB56 <> U+930B
+U+2CB57 <> U+9317
+U+2CB58 <> U+28A1D
+U+2CB59 <> U+28B50
+U+2CB5A <> U+931E
+U+2CB5B <> U+28A0F
+U+2CB5C <> U+9311
+U+2CB5D <> U+93D2
+U+2CB5E <> U+28A39
+U+2CB5F <> U+28A2F
+U+2CB60 <> U+28A68
+U+2CB61 <> U+9363
+U+2CB62 <> U+9400
+U+2CB63 <> U+493C
+U+2CB64 <> U+936D
+U+2CB65 <> U+936F
+U+2CB66 <> U+9392
+U+2CB68 <> U+939A
+U+2CB69 <> U+9393
+U+2CB6A <> U+938B
+U+2CB6B <> U+28AC0
+U+2CB6C <> U+93CF
+U+2CB6D <> U+93DA
+U+2CB6F <> U+4955
+U+2CB70 <> U+93D4
+U+2CB71 <> U+28B02
+U+2CB72 <> U+93C1
+U+2CB73 <> U+28B4E
+U+2CB74 <> U+495B
+U+2CB75 <> U+28B4C
+U+2CB76 <> U+28B46
+U+2CB77 <> U+28B43
+U+2CB78 <> U+93FB
+U+2CB79 <> U+28B85
+U+2CB7A <> U+28B5A
+U+2CB7B <> U+495E
+U+2CB7C <> U+9429
+U+2CB7D <> U+9434
+U+2CB7E <> U+28BB0
+U+2CB7F <> U+9459
+U+2CB80 <> U+28BF5
+U+2CB81 <> U+946E
+U+2CB82 <> U+28C37
+U+2CB83 <> U+28C2D
+U+2CB84 <> U+28CAD
+U+2CB98 <> U+9584
+U+2CB99 <> U+28DC8
+U+2CB9C <> U+28CE8
+U+2CB9D <> U+2CB87
+U+2CB9F <> U+711B
+U+2CBA0 <> U+959C
+U+2CBA1 <> U+28CFF
+U+2CBA2 <> U+95A7
+U+2CBA3 <> U+28D11
+U+2CBA4 <> U+95A4
+U+2CBA5 <> U+95A6
+U+2CBA7 <> U+28D24
+U+2CBA8 <> U+499D
+U+2CBA9 <> U+28D46
+U+2CBAA <> U+95AF
+U+2CBAC <> U+2E912
+U+2CBAD <> U+95DA
+U+2CBAE <> U+28D64
+U+2CBAF <> U+28D57
+U+2CBB0 <> U+28D4C
+U+2CBB1 <> U+95C9
+U+2CBB2 <> U+95C4
+U+2CBB3 <> U+95C6
+U+2CBB4 <> U+95C7
+U+2CBB5 <> U+28D6C
+U+2CBB8 <> U+28DBB
+U+2CBB9 <> U+28DBF
+U+2CBBA <> U+49DE
+U+2CBBB <> U+9696
+U+2CBBF <> U+9691
+U+2CBC0 <> U+96AE
+U+2CBC5 <> U+967F
+U+2CBCA <> U+2CBD8
 U+2CBCE <> U+96A4
+U+2CC21 <> U+29259
+U+2CC23 <> U+2924D
+U+2CC24 <> U+292F0
+U+2CC25 <> U+4A6B
+U+2CC31 <> U+29392
+U+2CC32 <> U+2961A
+U+2CC33 <> U+4A93
+U+2CC34 <> U+293A0
+U+2CC35 <> U+293CC
+U+2CC36 <> U+97E2
+U+2CC37 <> U+4A9C
+U+2CC38 <> U+293F4
+U+2CC3A <> U+29443
+U+2CC53 <> U+9804
+U+2CC54 <> U+29463
+U+2CC55 <> U+29466
+U+2CC56 <> U+9814
+U+2CC57 <> U+9815
+U+2CC58 <> U+2B59E
+U+2CC59 <> U+9816
+U+2CC5A <> U+2CC42
+U+2CC5B <> U+2950A
+U+2CC5C <> U+981B
+U+2CC5D <> U+2949D
+U+2CC5E <> U+20F78
+U+2CC5F <> U+9820
+U+2CC60 <> U+9822
+U+2CC61 <> U+2949C
+U+2CC62 <> U+9850
+U+2CC63 <> U+4AC8
+U+2CC64 <> U+294B2
+U+2CC65 <> U+294BC
+U+2CC66 <> U+4ACF
+U+2CC67 <> U+294F8
+U+2CC68 <> U+294F9
+U+2CC69 <> U+2CC48
+U+2CC6A <> U+984A
+U+2CC6B <> U+9841
+U+2CC6C <> U+4AE9
+U+2CC6D <> U+29508
+U+2CC6E <> U+4ADC
+U+2CC6F <> U+4B6D
+U+2CC70 <> U+4AE0
+U+2CC71 <> U+2954A
+U+2CC72 <> U+29570
+U+2CC73 <> U+9FA5
+U+2CC75 <> U+98B9
+U+2CC77 <> U+4AFC
+U+2CC78 <> U+4B02
+U+2CC7A <> U+295BF
+U+2CC7C <> U+98BD
+U+2CC7D <> U+98B4
+U+2CC7E <> U+2EA2D
+U+2CC7F <> U+4B0E
+U+2CC80 <> U+4B0D
+U+2CC85 <> U+98C9
+U+2CC86 <> U+2963B
+U+2CC95 <> U+4B55
+U+2CCA5 <> U+29685
+U+2CCA6 <> U+98E4
+U+2CCA7 <> U+310E2
+U+2CCA8 <> U+310E1
+U+2CCA9 <> U+2969A
+U+2CCAA <> U+29786
+U+2CCAB <> U+4B2F
+U+2CCAC <> U+297A1
+U+2CCAD <> U+98F7
+U+2CCAE <> U+4B2B
+U+2CCAF <> U+4B32
+U+2CCB0 <> U+29783
+U+2CCB1 <> U+2EA3B
+U+2CCB2 <> U+4B62
+U+2CCB3 <> U+4B5E
+U+2CCB4 <> U+296CE
+U+2CCB5 <> U+2B5D1
+U+2CCB6 <> U+4B63
+U+2CCB7 <> U+4B36
+U+2CCB8 <> U+297C2
+U+2CCB9 <> U+296F2
+U+2CCBA <> U+296DE
+U+2CCBB <> U+4B3E
+U+2CCBC <> U+9923
+U+2CCBD <> U+310EA
+U+2CCBE <> U+4B45
+U+2CCBF <> U+29720
+U+2CCC0 <> U+4B47
+U+2CCC1 <> U+991A
+U+2CCC2 <> U+991F
+U+2CCC3 <> U+29730
+U+2CCC4 <> U+2B5D5
+U+2CCC5 <> U+4B49
+U+2CCC6 <> U+9930
+U+2CCC7 <> U+29751
+U+2CCC8 <> U+29761
+U+2CCC9 <> U+29763
+U+2CCCA <> U+9940
+U+2CCCB <> U+4B52
+U+2CCCC <> U+29760
+U+2CCCD <> U+9939
+U+2CCCE <> U+2CC9A
+U+2CCD0 <> U+29789
+U+2CCD1 <> U+4B58
+U+2CCD2 <> U+297AC
+U+2CCD3 <> U+297C0
+U+2CCD4 <> U+297E0
+U+2CCD9 <> U+2B5FB
+U+2CCDF <> U+99A9
+U+2CCF3 <> U+98BF
+U+2CCF4 <> U+99CD
+U+2CCF5 <> U+99D3
+U+2CCF6 <> U+99C9
+U+2CCF7 <> U+2988D
+U+2CCF8 <> U+4BB8
+U+2CCF9 <> U+298D4
+U+2CCFA <> U+298B2
+U+2CCFB <> U+298BC
+U+2CCFC <> U+298CB
+U+2CCFD <> U+99EA
+U+2CCFE <> U+4B88
+U+2CCFF <> U+99FC
+U+2CD00 <> U+99FA
+U+2CD01 <> U+4B97
+U+2CD02 <> U+9A11
+U+2CD03 <> U+9A1E
+U+2CD04 <> U+29935
+U+2CD05 <> U+9A2F
+U+2CD06 <> U+9A39
+U+2CD07 <> U+29972
+U+2CD08 <> U+2997C
+U+2CD09 <> U+2999A
+U+2CD0A <> U+9A4E
+U+2CD0B <> U+9A56
+U+2CD0C <> U+299BA
+U+2CD0D <> U+4BBD
+U+2CD0E <> U+299D0
+U+2CD0F <> U+4BBF
+U+2CD10 <> U+9A69
+U+2CD28 <> U+29BC6
+U+2CD29 <> U+9B1E
+U+2CD80 <> U+9B5D
+U+2CD81 <> U+9B5C
+U+2CD82 <> U+29D5A
+U+2CD83 <> U+2CD43
+U+2CD84 <> U+9B61
+U+2CD85 <> U+29D80
+U+2CD86 <> U+4C37
+U+2CD87 <> U+9B6A
+U+2CD88 <> U+29D7A
+U+2CD89 <> U+29D71
+U+2CD8A <> U+4C4D
+U+2CD8B <> U+9B88
+U+2CD8C <> U+9B98
+U+2CD8D <> U+9B80
+U+2CD8E <> U+4C99
+U+2CD8F <> U+9BA0
+U+2CD90 <> U+9BA1
+U+2CD91 <> U+2CD6E
+U+2CD92 <> U+29DD2
+U+2CD93 <> U+4C53
+U+2CD94 <> U+9BCC
+U+2CD95 <> U+9BB7
+U+2CD96 <> U+29E06
+U+2CD97 <> U+4C8F
+U+2CD99 <> U+29E23
+U+2CD9A <> U+29E24
+U+2CD9B <> U+9C53
+U+2CD9C <> U+29E2C
+U+2CD9D <> U+29E29
+U+2CD9E <> U+9C17
+U+2CD9F <> U+9BFB
+U+2CDA0 <> U+9C0A
+U+2CDA1 <> U+29E5D
+U+2CDA2 <> U+9BF9
+U+2CDA3 <> U+4C79
+U+2CDA4 <> U+4C71
+U+2CDA5 <> U+311CB
+U+2CDA6 <> U+29E4A
+U+2CDA7 <> U+9C07
+U+2CDA8 <> U+9C40
+U+2CDA9 <> U+29E7D
+U+2CDAA <> U+29E9D
+U+2CDAB <> U+9C51
+U+2CDAC <> U+9C4B
+U+2CDAD <> U+9C36
+U+2CDAE <> U+9C5A
+U+2CDAF <> U+29EE7
+U+2CDB0 <> U+29EF0
+U+2CDB1 <> U+29EF1
+U+2CDB2 <> U+9C4C
+U+2CDB3 <> U+29F48
+U+2CDB4 <> U+4C95
+U+2CDB5 <> U+9C5E
+U+2CDB6 <> U+29F14
+U+2CDB7 <> U+2393F
+U+2CDB8 <> U+29F45
+U+2CDB9 <> U+29F54
+U+2CDBA <> U+9C79
+U+2CDBB <> U+29F77
+U+2CDD5 <> U+9D4F
+U+2CDFB <> U+29F90
+U+2CDFC <> U+9D82
+U+2CDFD <> U+29F92
+U+2CDFE <> U+4CA8
+U+2CDFF <> U+2A15C
+U+2CE00 <> U+9D0D
+U+2CE01 <> U+29FFA
+U+2CE02 <> U+2A009
+U+2CE03 <> U+29FF1
+U+2CE04 <> U+2A217
+U+2CE05 <> U+9DB5
+U+2CE06 <> U+4CBC
+U+2CE08 <> U+9D44
+U+2CE09 <> U+2A01B
+U+2CE0A <> U+9D40
+U+2CE0B <> U+2A03B
+U+2CE0C <> U+2A105
+U+2CE0D <> U+2A1D8
+U+2CE0E <> U+2A050
+U+2CE0F <> U+2A05C
+U+2CE10 <> U+2A071
+U+2CE11 <> U+2A051
+U+2CE12 <> U+9D80
+U+2CE13 <> U+2A0AB
+U+2CE14 <> U+2A07F
+U+2CE15 <> U+9E0E
+U+2CE16 <> U+2A088
+U+2CE17 <> U+2A0A9
+U+2CE18 <> U+9DA0
+U+2CE19 <> U+2A0E6
+U+2CE1A <> U+9E11
+U+2CE1B <> U+4CE8
+U+2CE1C <> U+9DA3
+U+2CE1D <> U+9D95
+U+2CE1E <> U+9DDC
+U+2CE1F <> U+2A0EE
+U+2CE20 <> U+2A0FF
+U+2CE21 <> U+2A1D6
+U+2CE22 <> U+9DCE
 U+2CE23 <> U+9DB1
+U+2CE24 <> U+2A143
+U+2CE25 <> U+2A156
+U+2CE26 <> U+9DDF
+U+2CE27 <> U+9DF0
+U+2CE28 <> U+2A17E
+U+2CE29 <> U+4D08
+U+2CE2A <> U+9DED
+U+2CE2B <> U+2A183
+U+2CE2C <> U+2A1C4
+U+2CE2D <> U+2A1B0
+U+2CE2E <> U+2A1B4
+U+2CE2F <> U+9DFF
+U+2CE30 <> U+9E16
+U+2CE31 <> U+9E1C
+U+2CE35 <> U+2A25C
+U+2CE36 <> U+2A268
+U+2CE37 <> U+2A26E
+U+2CE38 <> U+2A271
+U+2CE39 <> U+2A27F
+U+2CE3E <> U+9EA1
+U+2CE45 <> U+4D2D
+U+2CE46 <> U+2CE42
+U+2CE47 <> U+2A330
+U+2CE48 <> U+2A32F
+U+2CE49 <> U+4D37
+U+2CE4A <> U+2A340
+U+2CE4B <> U+2A33D
+U+2CE4C <> U+2A33F
+U+2CE4D <> U+2A364
+U+2CE4E <> U+2A376
+U+2CE55 <> U+2A473
+U+2CE56 <> U+2A4AC
+U+2CE57 <> U+2A45A
+U+2CE58 <> U+2A4BF
+U+2CE63 <> U+9F04
+U+2CE64 <> U+2A4FD
+U+2CE6D <> U+2A563
+U+2CE7A <> U+9F56
+U+2CE7B <> U+2A5DD
+U+2CE7C <> U+9F58
+U+2CE7D <> U+2A5DC
+U+2CE7E <> U+2A5F3
+U+2CE7F <> U+2A5EA
+U+2CE80 <> U+2A5ED
+U+2CE81 <> U+2A5FB
+U+2CE82 <> U+29581
+U+2CE83 <> U+4DA3
+U+2CE84 <> U+2A5FD
+U+2CE85 <> U+2A65E
+U+2CE86 <> U+2A61E
+U+2CE87 <> U+2A613
+U+2CE88 <> U+9F6E
+U+2CE89 <> U+4DA6
+U+2CE8A <> U+2A629
+U+2CE8B <> U+2A627
+U+2CE8C <> U+2A632
+U+2CE8D <> U+4DA2
+U+2CE8E <> U+9F79
+U+2CE8F <> U+2A64D
+U+2CE90 <> U+2A655
+U+2CE91 <> U+2A651
+U+2CE92 <> U+2A664
+U+2CE93 <> U+9F7C
+U+2CE94 <> U+9F7D
+U+2CE95 <> U+4DAA
+U+2CE96 <> U+2A685
+U+2CE9B <> U+2A694
+U+2CE9C <> U+3C0D
+U+2CE9D <> U+2A6A3
+U+2CE9F <> U+278A2
+U+2CEEE <> U+2BBD3
+U+2CF96 <> U+34A3
+U+2CFA3 <> U+2042E
+U+2D11B <> U+5297
+U+2D1C0 <> U+20FFF
+U+2D1C9 <> U+2BA9B
+U+2D1D9 <> U+2105A
+U+2D1DC <> U+35F6
+U+2D1E1 <> U+2106F
+U+2D1EF <> U+56A0
+U+2D1F4 <> U+20D54
+U+2D208 <> U+20E96
+U+2D209 <> U+21116
+U+2D21C <> U+21020
+U+2D21F <> U+20F48
+U+2D22E <> U+21124
+U+2D257 <> U+2A88D
+U+2D268 <> U+20FD8
+U+2D27C <> U+21167
+U+2D2B8 <> U+21158
+U+2D382 <> U+3661
+U+2D39C <> U+58D4
+U+2D3E6 <> U+58D2
+U+2D3F8 <> U+58DD
+U+2D478 <> U+218BF
+U+2D479 <> U+21921
+U+2D4C0 <> U+2BCB4
+U+2D546 <> U+27D2A
+U+2D613 <> U+5E60
+U+2D61A <> U+22163
+U+2D6A6 <> U+5F4D
+U+2D74B <> U+39AD
+U+2D76B <> U+21129
+U+2D784 <> U+61D3
+U+2D819 <> U+64C8
+U+2D83D <> U+30520
+U+2D846 <> U+2ABC2
+U+2D85C <> U+22E19
+U+2D875 <> U+22D63
+U+2D88B <> U+22E14
+U+2D895 <> U+22DDE
+U+2D89D <> U+22E8E
+U+2D8C7 <> U+6527
+U+2D8E7 <> U+6581
+U+2D90E <> U+6584
+U+2D930 <> U+65DF
+U+2D953 <> U+232AF
+U+2D9CB <> U+66ED
+U+2DA5A <> U+6AA5
+U+2DA5B <> U+691A
+U+2DA70 <> U+6A43
+U+2DA86 <> U+6A9B
+U+2DAC0 <> U+6A3B
+U+2DAD9 <> U+3C05
+U+2DADD <> U+20407
+U+2DB48 <> U+3C33
+U+2DC0E <> U+6FA2
+U+2DC12 <> U+23ED1
+U+2DC17 <> U+23F0A
+U+2DC25 <> U+24169
+U+2DC40 <> U+2ADC8
+U+2DC4A <> U+6F92
+U+2DCAB <> U+705F
+U+2DD0A <> U+3DFB
+U+2DD33 <> U+243D0
+U+2DE5C <> U+3F08
+U+2DECD <> U+24CA2
+U+2DED4 <> U+24C93
+U+2E021 <> U+25603
+U+2E024 <> U+78F1
+U+2E02A <> U+2558F
+U+2E032 <> U+25502
+U+2E14E <> U+25D5B
+U+2E18F <> U+7C63
+U+2E1D4 <> U+25EBC
+U+2E1E4 <> U+25F82
+U+2E260 <> U+42B5
+U+2E261 <> U+7E91
+U+2E262 <> U+7D29
+U+2E263 <> U+42CF
+U+2E264 <> U+7D53
+U+2E265 <> U+2600E
+U+2E267 <> U+7DC9
+U+2E268 <> U+7DFA
+U+2E269 <> U+2B0E5
+U+2E26A <> U+7DC5
+U+2E26B <> U+7DCC
+U+2E26C <> U+7DB7
+U+2E26D <> U+2B0F7
+U+2E26E <> U+7E40
+U+2E26F <> U+7E29
+U+2E30C <> U+26867
+U+2E38D <> U+2B1E0
+U+2E3C0 <> U+2B24D
+U+2E3FA <> U+2707F
+U+2E41A <> U+85A0
+U+2E428 <> U+8621
+U+2E502 <> U+45FB
+U+2E505 <> U+875C
+U+2E50A <> U+873D
+U+2E581 <> U+88F2
+U+2E583 <> U+27736
+U+2E5B1 <> U+896D
+U+2E64A <> U+8B94
+U+2E64B <> U+8B9F
+U+2E6D7 <> U+28189
+U+2E736 <> U+8EC7
+U+2E774 <> U+8EF1
+U+2E775 <> U+8F00
+U+2E777 <> U+8F52
+U+2E778 <> U+8F34
+U+2E779 <> U+8F58
+U+2E77A <> U+8F55
+U+2E81E <> U+490C
+U+2E833 <> U+91A6
+U+2E8F2 <> U+91ED
+U+2E8F3 <> U+921C
+U+2E8F4 <> U+92CB
+U+2E8F5 <> U+9323
+U+2E8F6 <> U+9462
+U+2E92B <> U+9585
+U+2E92C <> U+498C
+U+2E92D <> U+28CD2
+U+2E92E <> U+2D459
+U+2E92F <> U+28CD9
+U+2E932 <> U+959F
+U+2E933 <> U+2E90F
+U+2E936 <> U+30FE2
+U+2E937 <> U+2CB8D
+U+2E938 <> U+28DAF
+U+2E985 <> U+2E997
+U+2E99A <> U+291C9
+U+2E9F4 <> U+97D4
+U+2E9F5 <> U+97E1
+U+2EA34 <> U+6A92
+U+2EA35 <> U+98C2
+U+2EA5B <> U+9946
+U+2EA5C <> U+9900
+U+2EA5D <> U+9932
+U+2EA5E <> U+9950
+U+2EAA1 <> U+99F9
+U+2EAA2 <> U+99F4
+U+2EAA3 <> U+9A23
+U+2EAA4 <> U+9A32
+U+2EAA5 <> U+9A50
+U+2EAC2 <> U+9B21
+U+2EB1B <> U+9B63
+U+2EB1C <> U+9BA8
+U+2EB1D <> U+9C65
+U+2EB1E <> U+4C57
+U+2EB1F <> U+4C5B
+U+2EB20 <> U+4C5A
+U+2EB21 <> U+4C7B
+U+2EB22 <> U+4C75
+U+2EB23 <> U+4C97
+U+2EB24 <> U+9C75
+U+2EB61 <> U+4CB8
+U+2EB62 <> U+9D01
+U+2EB64 <> U+9D13
+U+2EB65 <> U+4CCD
+U+2EB66 <> U+2A04F
+U+2EB68 <> U+9DC3
+U+2EB6A <> U+9DDE
+U+2EB70 <> U+4D1A
+U+2EB85 <> U+2A312
+U+2EB87 <> U+9EB0
+U+2EBD9 <> U+4D97
+U+30048 <> U+2DA21
+U+30067 <> U+50B1
+U+30078 <> U+5105
+U+3007E <> U+5069
+U+30081 <> U+2A775
+U+30083 <> U+20385
+U+3008B <> U+50F4
+U+3008E <> U+50E9
+U+3008F <> U+5125
+U+30097 <> U+50C0
+U+3009C <> U+50D3
+U+300A6 <> U+5122
+U+300AD <> U+5129
+U+300BB <> U+20447
+U+300C6 <> U+5139
+U+300F3 <> U+300F4
+U+300F6 <> U+2D096
+U+300F7 <> U+51D4
+U+300FB <> U+34D6
+U+300FF <> U+51DF
+U+30101 <> U+205FF
+U+3011E <> U+5278
+U+3012D <> U+2082B
+U+30154 <> U+52F4
+U+30165 <> U+5335
+U+30166 <> U+5330
+U+3017B <> U+26F8F
+U+30195 <> U+3552
+U+30199 <> U+20A6C
+U+3019A <> U+53B1
+U+301C0 <> U+3562
+U+301CA <> U+2D27E
+U+301CE <> U+35A6
+U+301D5 <> U+550A
+U+301D6 <> U+35E2
+U+301D8 <> U+20DCC
+U+301E0 <> U+55E7
+U+301E1 <> U+20DB9
+U+301E3 <> U+56B1
+U+301E5 <> U+2BB31
+U+301F2 <> U+55FF
+U+301FC <> U+5607
+U+30206 <> U+56D5
+U+30207 <> U+5690
+U+3020A <> U+56B8
+U+3020D <> U+56AB
+U+30213 <> U+5682
+U+3022E <> U+210C8
+U+3022F <> U+56D0
+U+30236 <> U+56A9
+U+30241 <> U+3616
+U+30244 <> U+56CB
+U+30258 <> U+3654
+U+30259 <> U+5808
+U+3025A <> U+57B7
+U+30263 <> U+58BF
+U+30265 <> U+57C9
+U+30269 <> U+58A7
+U+3026A <> U+58B7
+U+30271 <> U+2146F
+U+3027D <> U+367E
+U+30282 <> U+5886
+U+30285 <> U+214E6
+U+30288 <> U+588F
+U+30291 <> U+58CF
+U+3029B <> U+367A
+U+3029F <> U+3662
+U+302A1 <> U+58DB
+U+302A2 <> U+58CD
+U+302D6 <> U+215C6
+U+302F8 <> U+5A78
+U+302F9 <> U+5AE5
+U+302FD <> U+5B2E
+U+302FE <> U+2181A
+U+30300 <> U+5AC8
+U+30302 <> U+5A9C
+U+30306 <> U+371E
+U+30307 <> U+5AE7
+U+30309 <> U+21898
+U+30319 <> U+5B3E
+U+30326 <> U+5B72
+U+30337 <> U+5BEA
+U+3038C <> U+5D77
+U+3038E <> U+5DC3
+U+3038F <> U+5D20
+U+30390 <> U+3820
+U+30391 <> U+5DAA
+U+30394 <> U+5DA4
+U+30396 <> U+5D31
+U+3039B <> U+21F3E
+U+3039D <> U+21EA0
+U+3039E <> U+5DA9
+U+303A0 <> U+5DD6
+U+303A2 <> U+21F31
+U+303A6 <> U+303BC
+U+303AB <> U+5DBD
+U+303B4 <> U+2A328
+U+303B7 <> U+21F86
+U+303B9 <> U+5DDA
+U+303C1 <> U+5DD1
+U+303D3 <> U+22113
+U+303D5 <> U+5E34
+U+303DC <> U+385E
+U+303DF <> U+5E71
+U+303F2 <> U+2227F
+U+303F6 <> U+5EE5
+U+303FC <> U+5ED7
+U+303FD <> U+22283
+U+3041A <> U+22417
+U+3043E <> U+61ED
+U+30441 <> U+6171
+U+30444 <> U+60C0
+U+30445 <> U+22830
+U+30454 <> U+6179
+U+30455 <> U+61D5
+U+30459 <> U+61F0
+U+3045F <> U+6150
+U+30465 <> U+61AA
+U+30467 <> U+6159
+U+3046A <> U+61B4
+U+3046B <> U+39AC
+U+3046C <> U+61EB
+U+30475 <> U+6178
+U+30478 <> U+3977
+U+3047F <> U+6203
+U+30486 <> U+6172
+U+30492 <> U+61D8
+U+30496 <> U+22927
+U+304C4 <> U+6381
+U+304C6 <> U+6440
+U+304D4 <> U+3A1B
+U+304D5 <> U+22E38
+U+304D7 <> U+22E65
+U+304D9 <> U+64EA
+U+304DC <> U+64F3
+U+304DD <> U+22C90
+U+304DF <> U+22E7C
+U+304E4 <> U+2D892
+U+304E7 <> U+640E
+U+304EC <> U+6526
+U+304F1 <> U+647C
+U+304F7 <> U+648B
+U+304FB <> U+646B
+U+304FC <> U+6472
+U+30507 <> U+6455
+U+3050B <> U+648C
+U+30532 <> U+3A77
+U+30536 <> U+22E4F
+U+30541 <> U+6533
+U+30545 <> U+657A
+U+30548 <> U+657F
+U+30550 <> U+22FE1
+U+3056D <> U+65DD
+U+30588 <> U+66EE
+U+3058F <> U+2D9D2
+U+3059A <> U+2D9D6
+U+305A0 <> U+3B2E
+U+305A9 <> U+34BF
+U+305C5 <> U+2684F
+U+305C6 <> U+26856
+U+305D3 <> U+6ACE
+U+305D6 <> U+68C6
+U+305D8 <> U+2353F
+U+305D9 <> U+3BB2
+U+305DA <> U+23790
+U+305DB <> U+6AA1
+U+305DC <> U+6ABF
+U+305E1 <> U+3BC6
+U+305E2 <> U+694E
+U+305E6 <> U+3BF8
+U+305E8 <> U+69AF
+U+305EC <> U+6ACF
+U+305F5 <> U+3C02
+U+305F9 <> U+6A5A
+U+305FA <> U+6A68
+U+30600 <> U+3BC2
+U+30605 <> U+3062F
+U+30608 <> U+6A8B
+U+30613 <> U+6ABE
+U+30620 <> U+6AE9
+U+30623 <> U+6AB0
+U+30629 <> U+6AF9
+U+30633 <> U+6AF4
+U+30636 <> U+6AEF
+U+30638 <> U+6AE2
+U+3064B <> U+6B4D
+U+3064E <> U+6B5B
+U+30651 <> U+6B57
+U+30655 <> U+2390B
+U+3068D <> U+306A3
+U+30694 <> U+3CB0
+U+306A6 <> U+6C00
+U+306AA <> U+3CAF
+U+306AC <> U+2AD62
+U+306B1 <> U+23C1B
+U+306C9 <> U+23DAF
+U+306CA <> U+6EA4
+U+306CF <> U+6F0E
+U+306D2 <> U+6DB7
+U+306DB <> U+3D38
+U+306E1 <> U+6EED
+U+306E3 <> U+6F10
+U+306E4 <> U+7004
+U+306E5 <> U+6EB0
+U+306E6 <> U+6FCA
+U+306E8 <> U+2DC58
+U+306E9 <> U+3D92
+U+306EA <> U+7053
+U+306EE <> U+6EF7
+U+306F1 <> U+30762
+U+306F2 <> U+6FB0
+U+306F5 <> U+6F96
+U+306FA <> U+23F29
+U+306FB <> U+24177
+U+306FD <> U+3D3F
+U+30710 <> U+7060
+U+3071C <> U+7019
+U+3071D <> U+7001
+U+30722 <> U+3D51
+U+30728 <> U+7033
+U+30733 <> U+7034
+U+30745 <> U+702F
+U+3074B <> U+3D8F
+U+3074D <> U+7008
+U+30757 <> U+3D95
+U+3075C <> U+23D07
+U+3075E <> U+24119
+U+3075F <> U+3D8D
+U+30764 <> U+7066
+U+3077E <> U+3DC3
+U+30787 <> U+71E1
+U+30789 <> U+3DF2
+U+3078D <> U+3E05
+U+307A4 <> U+719E
+U+307B2 <> U+3DF6
+U+307B3 <> U+9FBD
+U+307B7 <> U+2435C
+U+307BB <> U+71CC
+U+307C4 <> U+307EB
+U+307D8 <> U+7213
+U+3081B <> U+724B
+U+3082B <> U+7285
+U+30832 <> U+727C
+U+30834 <> U+3E53
+U+30839 <> U+72A4
+U+30844 <> U+7379
+U+30849 <> U+30853
+U+3084A <> U+7362
+U+3084B <> U+247E4
+U+3084E <> U+730D
+U+3084F <> U+7327
+U+30850 <> U+24814
+U+30854 <> U+7351
+U+3085E <> U+7356
+U+30862 <> U+248CE
+U+30869 <> U+7382
+U+30870 <> U+2496D
+U+30875 <> U+74D0
+U+3087B <> U+7459
+U+3087D <> U+74B9
+U+30884 <> U+749B
+U+308A2 <> U+7512
+U+308A4 <> U+7516
+U+308A6 <> U+750A
+U+308E2 <> U+2C3F2
+U+308E6 <> U+24E89
+U+308E9 <> U+24EDD
+U+308EB <> U+24F08
+U+308EC <> U+7660
+U+308EF <> U+764E
+U+308F6 <> U+3FC9
+U+308FC <> U+766A
+U+308FD <> U+7674
+U+30913 <> U+24F89
+U+30915 <> U+76AA
+U+30928 <> U+3FF9
+U+3092B <> U+25032
+U+3092C <> U+76BE
+U+3093D <> U+250AB
+U+3094A <> U+400D
+U+30952 <> U+779B
+U+3095B <> U+7793
+U+3095E <> U+405D
+U+30960 <> U+77D5
+U+30962 <> U+77D6
+U+30963 <> U+25278
+U+30968 <> U+77AF
+U+3096A <> U+77A1
+U+3096D <> U+252DD
+U+30979 <> U+77D8
+U+30994 <> U+4093
+U+3099C <> U+77F2
+U+309A6 <> U+7930
+U+309A8 <> U+40E3
+U+309AD <> U+7932
+U+309B0 <> U+790B
+U+309B4 <> U+40C1
+U+309B7 <> U+40D5
+U+309BE <> U+7939
+U+309BF <> U+78A2
+U+309C3 <> U+78F5
+U+309C7 <> U+7925
+U+309C8 <> U+255F9
+U+309C9 <> U+7929
+U+309CE <> U+40E2
+U+309D4 <> U+791B
+U+309D8 <> U+40F4
+U+309F0 <> U+7993
+U+309FB <> U+79AC
+U+309FE <> U+79AF
+U+30A16 <> U+79B5
+U+30A1C <> U+7A6C
+U+30A26 <> U+7A67
+U+30A33 <> U+4185
+U+30A45 <> U+7AC9
+U+30A4F <> U+7AB1
+U+30A53 <> U+7AC0
+U+30A67 <> U+41D3
+U+30A6E <> U+7BFF
+U+30A72 <> U+7C5A
+U+30A78 <> U+7C25
+U+30A79 <> U+7C1C
+U+30A7A <> U+7BB9
+U+30A7B <> U+7C3B
+U+30A8A <> U+7C66
+U+30A8F <> U+7C35
+U+30AA3 <> U+7C6F
+U+30AAA <> U+30AC6
+U+30AAB <> U+429C
+U+30AAD <> U+7CBB
+U+30AB6 <> U+7CF0
+U+30ABC <> U+30ACF
+U+30ABF <> U+2B0D1
+U+30ACB <> U+429F
+U+30AD6 <> U+7CF7
+U+30AFC <> U+7CFD
+U+30AFD <> U+7D11
+U+30AFF <> U+2B0DE
+U+30B00 <> U+7D12
+U+30B01 <> U+42C6
+U+30B02 <> U+42CD
+U+30B03 <> U+42D1
+U+30B05 <> U+7D28
+U+30B06 <> U+7D47
+U+30B07 <> U+7D38
+U+30B08 <> U+7D43
+U+30B09 <> U+7D3D
+U+30B0B <> U+7D2D
+U+30B0C <> U+7D5A
+U+30B0D <> U+7D8A
+U+30B0E <> U+7E2A
+U+30B0F <> U+7D51
+U+30B10 <> U+7E51
+U+30B11 <> U+42EB
+U+30B12 <> U+7D58
+U+30B13 <> U+7D6F
+U+30B14 <> U+7D63
+U+30B16 <> U+7D7E
+U+30B17 <> U+7D7F
+U+30B18 <> U+7D8D
+U+30B19 <> U+26044
+U+30B1A <> U+7E1C
+U+30B1B <> U+7D7C
+U+30B1C <> U+7D7B
+U+30B1D <> U+26158
+U+30B1E <> U+7D85
+U+30B1F <> U+7DCE
+U+30B20 <> U+7E63
+U+30B21 <> U+7DC1
+U+30B22 <> U+7DC0
+U+30B23 <> U+7DC6
+U+30B24 <> U+7DBC
+U+30B25 <> U+7DCF
+U+30B26 <> U+26055
+U+30B27 <> U+7DC2
+U+30B28 <> U+26067
+U+30B29 <> U+7E61
+U+30B2A <> U+7E3F
+U+30B2B <> U+7DFB
+U+30B2C <> U+7DE2
+U+30B2D <> U+42FD
+U+30B2E <> U+7E34
+U+30B2F <> U+7DF5
+U+30B30 <> U+7DEB
+U+30B31 <> U+4307
+U+30B32 <> U+7E13
+U+30B33 <> U+7E0C
+U+30B34 <> U+7E21
+U+30B35 <> U+7E3C
+U+30B36 <> U+430C
+U+30B37 <> U+7E56
+U+30B38 <> U+7E50
+U+30B39 <> U+26188
+U+30B3A <> U+7E5C
+U+30B3B <> U+7E58
+U+30B3C <> U+261DB
+U+30B3D <> U+7E72
+U+30B3E <> U+26186
+U+30B3F <> U+7E80
+U+30B40 <> U+7E8B
+U+30B41 <> U+261CE
+U+30B44 <> U+7F46
+U+30B54 <> U+7F82
+U+30B57 <> U+263D1
+U+30B5A <> U+263B9
+U+30B62 <> U+7FDC
+U+30B63 <> U+7FFF
+U+30B79 <> U+43CA
+U+30B85 <> U+81B7
+U+30B87 <> U+81B4
+U+30B99 <> U+4422
+U+30B9D <> U+81AE
+U+30BAD <> U+2339C
+U+30BB2 <> U+4439
+U+30BC2 <> U+26876
+U+30BCB <> U+81E1
+U+30BCE <> U+443D
+U+30C06 <> U+269F4
+U+30C0B <> U+826D
+U+30C0C <> U+447C
+U+30C0F <> U+825C
+U+30C11 <> U+825B
+U+30C20 <> U+85C7
+U+30C22 <> U+26CDD
+U+30C24 <> U+84F2
+U+30C28 <> U+83D5
+U+30C2E <> U+862C
+U+30C31 <> U+85B1
+U+30C33 <> U+8492
+U+30C34 <> U+4507
+U+30C35 <> U+8531
+U+30C36 <> U+4579
+U+30C37 <> U+842F
+U+30C39 <> U+85F0
+U+30C3A <> U+850E
+U+30C3E <> U+8596
+U+30C3F <> U+2B239
+U+30C40 <> U+4508
+U+30C47 <> U+8551
+U+30C48 <> U+799C
+U+30C49 <> U+8544
+U+30C4A <> U+270FD
+U+30C4C <> U+84B3
+U+30C4D <> U+84B6
+U+30C50 <> U+85DA
+U+30C51 <> U+852A
+U+30C5B <> U+8520
+U+30C5D <> U+26EA3
+U+30C5F <> U+8561
+U+30C66 <> U+8567
+U+30C69 <> U+4561
+U+30C6E <> U+85D8
+U+30C6F <> U+85E3
+U+30C71 <> U+858B
+U+30C72 <> U+8635
+U+30C7E <> U+85FE
+U+30C81 <> U+8608
+U+30C82 <> U+8645
+U+30C92 <> U+8631
+U+30C96 <> U+4580
+U+30C9F <> U+459A
+U+30CA0 <> U+8666
+U+30CAB <> U+87F1
+U+30CAC <> U+86FC
+U+30CAE <> U+8738
+U+30CAF <> U+45E5
+U+30CB0 <> U+8726
+U+30CB2 <> U+87E1
+U+30CB3 <> U+45C3
+U+30CB4 <> U+882A
+U+30CB5 <> U+880C
+U+30CB6 <> U+86F5
+U+30CB8 <> U+8741
+U+30CB9 <> U+8798
+U+30CBA <> U+27496
+U+30CBB <> U+87FD
+U+30CC1 <> U+27410
+U+30CC2 <> U+87B9
+U+30CC4 <> U+87B4
+U+30CC6 <> U+2A605
+U+30CCA <> U+87E6
+U+30CD7 <> U+8833
+U+30CDA <> U+45FD
+U+30CF2 <> U+8971
+U+30CF5 <> U+897C
+U+30CF8 <> U+8968
+U+30CF9 <> U+277A3
+U+30CFA <> U+895B
+U+30CFB <> U+27785
+U+30CFC <> U+8979
+U+30D02 <> U+8942
+U+30D15 <> U+8995
+U+30D16 <> U+467C
+U+30D17 <> U+4695
+U+30D18 <> U+89B8
+U+30D19 <> U+89A0
+U+30D1A <> U+27883
+U+30D1B <> U+27878
+U+30D1C <> U+89B0
+U+30D1D <> U+89B6
+U+30D1E <> U+89BB
+U+30D22 <> U+89FB
+U+30D23 <> U+89F7
+U+30D24 <> U+469E
+U+30D25 <> U+30D26
+U+30D2F <> U+8B0D
+U+30D4A <> U+8A06
+U+30D4C <> U+8AF9
+U+30D4D <> U+8A30
+U+30D4E <> U+8A27
+U+30D4F <> U+8A2C
+U+30D50 <> U+46C0
+U+30D51 <> U+8B4C
+U+30D52 <> U+8A26
+U+30D53 <> U+8A39
+U+30D54 <> U+8A4D
+U+30D56 <> U+8B9B
+U+30D57 <> U+8A47
+U+30D58 <> U+279A6
+U+30D59 <> U+8A44
+U+30D5A <> U+8A45
+U+30D5B <> U+8A3D
+U+30D5C <> U+46CC
+U+30D5D <> U+8A38
+U+30D5E <> U+8A60
+U+30D60 <> U+8A49
+U+30D61 <> U+8A99
+U+30D62 <> U+279F5
+U+30D63 <> U+8A65
+U+30D64 <> U+8A7B
+U+30D65 <> U+8A83
+U+30D66 <> U+8A68
+U+30D67 <> U+8A8C
+U+30D68 <> U+8B9D
+U+30D69 <> U+8AA7
+U+30D6A <> U+27A1D
+U+30D6B <> U+46E0
+U+30D6C <> U+279F8
+U+30D6D <> U+8A97
+U+30D6E <> U+8A90
+U+30D6F <> U+8A9C
+U+30D70 <> U+46ED
+U+30D71 <> U+8AC3
+U+30D72 <> U+8AC6
+U+30D73 <> U+27A33
+U+30D74 <> U+8AD4
+U+30D75 <> U+8ABD
+U+30D76 <> U+8AC8
+U+30D77 <> U+8AC1
+U+30D78 <> U+8ABB
+U+30D79 <> U+8B98
+U+30D7A <> U+8B1C
+U+30D7B <> U+27AAE
+U+30D7C <> U+8B0B
+U+30D7D <> U+8B1F
+U+30D7E <> U+8B11
+U+30D7F <> U+8B1E
+U+30D80 <> U+8B23
+U+30D81 <> U+8B3B
+U+30D82 <> U+8B25
+U+30D83 <> U+8B35
+U+30D84 <> U+8B47
+U+30D85 <> U+27B01
+U+30D86 <> U+8B40
+U+30D87 <> U+470F
+U+30D88 <> U+4704
+U+30D89 <> U+8B60
+U+30D8A <> U+8B69
+U+30D8B <> U+27B2F
+U+30D8C <> U+8B73
+U+30D8D <> U+8B82
+U+30D8E <> U+8B45
+U+30D8F <> U+8B91
+U+30D91 <> U+8C45
+U+30D94 <> U+8C44
+U+30DA8 <> U+27C7B
+U+30DAC <> U+474F
+U+30DDE <> U+8CA3
+U+30DE0 <> U+8CA4
+U+30DE1 <> U+8CA6
+U+30DE2 <> U+8CBE
+U+30DE4 <> U+8CE5
+U+30DE5 <> U+8CE8
+U+30DE6 <> U+9745
+U+30DE7 <> U+8CEE
+U+30DE8 <> U+27DDB
+U+30DE9 <> U+4789
+U+30DEA <> U+8CF9
+U+30DEB <> U+8D06
+U+30DEC <> U+27E16
+U+30DED <> U+8D13
+U+30DEE <> U+8D19
+U+30DF4 <> U+47CF
+U+30DF5 <> U+8DAC
+U+30DF6 <> U+8DAB
+U+30DF8 <> U+27FA5
+U+30E07 <> U+281EF
+U+30E08 <> U+481F
+U+30E0A <> U+4829
+U+30E0E <> U+28109
+U+30E10 <> U+8EA7
+U+30E14 <> U+8E65
+U+30E1A <> U+8E5B
+U+30E1B <> U+4820
+U+30E1E <> U+8E6A
+U+30E26 <> U+2E717
+U+30E40 <> U+8EC3
+U+30E6F <> U+30E48
+U+30E71 <> U+282A0
+U+30E72 <> U+8ECE
+U+30E73 <> U+4845
+U+30E74 <> U+8ED3
+U+30E75 <> U+8F59
+U+30E76 <> U+8ED6
+U+30E77 <> U+4847
+U+30E78 <> U+8ED8
+U+30E7A <> U+484A
+U+30E7B <> U+282B9
+U+30E7C <> U+8F1A
+U+30E7D <> U+8EEF
+U+30E7E <> U+28352
+U+30E7F <> U+8EF5
+U+30E80 <> U+8EE7
+U+30E81 <> U+8EE5
+U+30E82 <> U+8EF3
+U+30E83 <> U+8F5B
+U+30E84 <> U+8F01
+U+30E85 <> U+8F02
+U+30E86 <> U+282EE
+U+30E87 <> U+8F10
+U+30E88 <> U+8F11
+U+30E89 <> U+8F24
+U+30E8A <> U+8F18
+U+30E8B <> U+8F19
+U+30E8C <> U+283D4
+U+30E8D <> U+8F20
+U+30E8E <> U+8F2B
+U+30E8F <> U+8F23
+U+30E90 <> U+8F21
+U+30E91 <> U+485D
+U+30E92 <> U+8F32
+U+30E93 <> U+8F39
+U+30E94 <> U+28348
+U+30E95 <> U+2834F
+U+30E96 <> U+8F43
+U+30E97 <> U+8F5E
+U+30E98 <> U+4870
+U+30E99 <> U+8F56
+U+30E9A <> U+283AA
+U+30E9B <> U+8F51
+U+30E9C <> U+8F53
+U+30E9D <> U+4874
+U+30E9E <> U+8F4F
+U+30E9F <> U+8F5A
+U+30EA0 <> U+487E
+U+30EA1 <> U+4877
+U+30EA2 <> U+283D2
+U+30EA3 <> U+8F65
+U+30EA4 <> U+487B
+U+30EA8 <> U+28436
+U+30EAD <> U+4888
+U+30EB2 <> U+903F
+U+30EB7 <> U+9076
+U+30EC6 <> U+9070
+U+30EDD <> U+30EDE
+U+30EE1 <> U+9126
+U+30EE6 <> U+912C
+U+30EE8 <> U+2E7FD
+U+30EEE <> U+9121
+U+30EF3 <> U+912A
+U+30F05 <> U+91B3
+U+30F0B <> U+288C3
+U+30F0F <> U+288E8
+U+30F11 <> U+490D
+U+30F3B <> U+944B
+U+30F55 <> U+9416
+U+30F56 <> U+91DB
+U+30F57 <> U+91EA
+U+30F58 <> U+91F1
+U+30F5A <> U+945B
+U+30F5B <> U+91E5
+U+30F5C <> U+93C2
+U+30F5D <> U+4976
+U+30F5E <> U+922A
+U+30F60 <> U+4920
+U+30F61 <> U+9224
+U+30F62 <> U+92E7
+U+30F63 <> U+920F
+U+30F65 <> U+9235
+U+30F66 <> U+9468
+U+30F67 <> U+925F
+U+30F68 <> U+9259
+U+30F69 <> U+9272
+U+30F6B <> U+924E
+U+30F6C <> U+924C
+U+30F6D <> U+9264
+U+30F6E <> U+925C
+U+30F6F <> U+9252
+U+30F70 <> U+9261
+U+30F71 <> U+9258
+U+30F72 <> U+92A1
+U+30F73 <> U+9849
+U+30F74 <> U+9299
+U+30F75 <> U+92A7
+U+30F76 <> U+9275
+U+30F77 <> U+942C
+U+30F78 <> U+4928
+U+30F79 <> U+9279
+U+30F7A <> U+4925
+U+30F7B <> U+928B
+U+30F7C <> U+927C
+U+30F7D <> U+289A1
+U+30F7E <> U+9439
+U+30F7F <> U+92B8
+U+30F80 <> U+92CD
+U+30F81 <> U+92BE
+U+30F83 <> U+92DC
+U+30F84 <> U+92C2
+U+30F85 <> U+92E1
+U+30F86 <> U+92CA
+U+30F87 <> U+289D0
+U+30F88 <> U+492C
+U+30F89 <> U+2B4A2
+U+30F8B <> U+9FB2
+U+30F8C <> U+93E9
+U+30F8D <> U+9336
+U+30F8E <> U+930D
+U+30F8F <> U+92FE
+U+30F90 <> U+4935
+U+30F91 <> U+9342
+U+30F92 <> U+9327
+U+30F93 <> U+9314
+U+30F95 <> U+9371
+U+30F96 <> U+493B
+U+30F97 <> U+937C
+U+30F98 <> U+9356
+U+30F99 <> U+935D
+U+30F9A <> U+9361
+U+30F9B <> U+9385
+U+30F9C <> U+9374
+U+30F9D <> U+935F
+U+30F9E <> U+9350
+U+30F9F <> U+9351
+U+30FA1 <> U+9367
+U+30FA2 <> U+9366
+U+30FA3 <> U+2B4B7
+U+30FA4 <> U+935C
+U+30FA5 <> U+9368
+U+30FA6 <> U+4938
+U+30FA7 <> U+28AFC
+U+30FA8 <> U+28A8B
+U+30FA9 <> U+9391
+U+30FAA <> U+941A
+U+30FAB <> U+9451
+U+30FAC <> U+9389
+U+30FAD <> U+9440
+U+30FAE <> U+938C
+U+30FAF <> U+9395
+U+30FB0 <> U+93D9
+U+30FB1 <> U+93D3
+U+30FB2 <> U+93D5
+U+30FB3 <> U+28B12
+U+30FB4 <> U+9401
+U+30FB5 <> U+28B1F
+U+30FB6 <> U+93F8
+U+30FB7 <> U+9415
+U+30FB8 <> U+9424
+U+30FB9 <> U+942B
+U+30FBA <> U+28B81
+U+30FBB <> U+4956
+U+30FBC <> U+9409
+U+30FBD <> U+9483
+U+30FBE <> U+9480
+U+30FBF <> U+28B5B
+U+30FC0 <> U+28C39
+U+30FC1 <> U+495D
+U+30FC2 <> U+9450
+U+30FC3 <> U+9456
+U+30FC4 <> U+9458
+U+30FC5 <> U+4974
+U+30FC6 <> U+947D
+U+30FC7 <> U+4977
+U+30FC8 <> U+946F
+U+30FC9 <> U+9478
+U+30FCA <> U+28C20
+U+30FD6 <> U+28C65
+U+30FE5 <> U+2B518
+U+30FE6 <> U+28CCC
+U+30FE7 <> U+28CD0
+U+30FE8 <> U+498E
+U+30FE9 <> U+9595
+U+30FEA <> U+28CDA
+U+30FEB <> U+49B1
+U+30FEC <> U+959B
+U+30FED <> U+28CF8
+U+30FEF <> U+2B521
+U+30FF0 <> U+28256
+U+30FF3 <> U+95B7
+U+30FF4 <> U+49AA
+U+30FF5 <> U+28D66
+U+30FF8 <> U+28D91
+U+30FF9 <> U+28DB0
+U+30FFA <> U+95DB
+U+30FFB <> U+95DF
+U+30FFE <> U+95E2
+U+31011 <> U+96B2
+U+31021 <> U+96AB
+U+31052 <> U+4A34
+U+3105E <> U+29166
+U+31071 <> U+292CC
+U+31073 <> U+2935C
+U+31074 <> U+97B8
+U+31076 <> U+97C6
+U+31077 <> U+97C7
+U+31079 <> U+97BC
+U+3107A <> U+97BB
+U+3107D <> U+4A8D
+U+3107E <> U+97CA
+U+31083 <> U+29395
+U+31084 <> U+2939F
+U+31085 <> U+4A90
+U+31086 <> U+97D0
+U+31087 <> U+97CF
+U+31088 <> U+97D7
+U+31089 <> U+97D2
+U+3108A <> U+97D8
+U+3108B <> U+97E3
+U+3108C <> U+4A9D
+U+3108D <> U+2940C
+U+3108E <> U+4AA5
+U+31090 <> U+97FB
+U+310A0 <> U+29452
+U+310A1 <> U+29461
+U+310A2 <> U+4ABC
+U+310A3 <> U+9864
+U+310A4 <> U+986A
+U+310A5 <> U+981F
+U+310A6 <> U+9829
+U+310A7 <> U+982A
+U+310A8 <> U+981E
+U+310A9 <> U+294BA
+U+310AB <> U+9869
+U+310AC <> U+982F
+U+310AD <> U+9840
+U+310AE <> U+4ACC
+U+310AF <> U+9847
+U+310B0 <> U+9844
+U+310B1 <> U+9851
+U+310B2 <> U+984B
+U+310B3 <> U+29507
+U+310B4 <> U+985C
+U+310B5 <> U+985D
+U+310B6 <> U+9856
+U+310B7 <> U+29523
+U+310B8 <> U+986E
+U+310BA <> U+9860
+U+310BB <> U+9866
+U+310D4 <> U+98A9
+U+310D5 <> U+98AC
+U+310D6 <> U+4B00
+U+310D7 <> U+98B1
+U+310D8 <> U+98B2
+U+310D9 <> U+4B1F
+U+310DA <> U+4B05
+U+310DB <> U+295DB
+U+310DC <> U+4B10
+U+310DD <> U+98CD
+U+310DE <> U+4B14
+U+310DF <> U+98C1
+U+310E0 <> U+98C7
+U+310F1 <> U+4B23
+U+310F2 <> U+9947
+U+310F3 <> U+4B2A
+U+310F4 <> U+98F0
+U+310F5 <> U+4B2C
+U+310F7 <> U+4B33
+U+310F8 <> U+4B39
+U+310F9 <> U+4B53
+U+310FA <> U+9902
+U+310FC <> U+9934
+U+310FD <> U+9929
+U+310FE <> U+9922
+U+310FF <> U+9924
+U+31100 <> U+9959
+U+31101 <> U+29736
+U+31102 <> U+2972F
+U+31103 <> U+4B48
+U+31104 <> U+992F
+U+31105 <> U+29767
+U+31106 <> U+994E
+U+31107 <> U+297A7
+U+31108 <> U+995B
+U+31109 <> U+4B61
+U+3110A <> U+9961
+U+3113C <> U+99B5
+U+3113D <> U+99B2
+U+3113E <> U+299C9
+U+3113F <> U+9A33
+U+31140 <> U+99C2
+U+31141 <> U+99BD
+U+31142 <> U+99BA
+U+31143 <> U+99CF
+U+31144 <> U+4B82
+U+31145 <> U+9A61
+U+31147 <> U+99D7
+U+31148 <> U+99DC
+U+31149 <> U+99E5
+U+3114A <> U+9A3A
+U+3114B <> U+99EC
+U+3114D <> U+298CA
+U+3114E <> U+298B0
+U+3114F <> U+99E3
+U+31150 <> U+99EE
+U+31152 <> U+299E2
+U+31153 <> U+298E1
+U+31154 <> U+99F7
+U+31155 <> U+9A0B
+U+31156 <> U+99FD
+U+31157 <> U+9A00
+U+31158 <> U+29983
+U+31159 <> U+99FE
+U+3115A <> U+9A07
+U+3115B <> U+9A52
+U+3115C <> U+9A15
+U+3115D <> U+9A17
+U+3115E <> U+9A22
+U+3115F <> U+9A25
+U+31160 <> U+4BA7
+U+31161 <> U+9A29
+U+31162 <> U+9A2C
+U+31163 <> U+29945
+U+31164 <> U+9A5E
+U+31165 <> U+29943
+U+31166 <> U+4BB2
+U+31167 <> U+9A49
+U+31168 <> U+2994E
+U+31169 <> U+9A3D
+U+3116A <> U+9A54
+U+3116B <> U+9A48
+U+3116C <> U+9A60
+U+3116E <> U+9AD0
+U+31180 <> U+9B1D
+U+31181 <> U+9B1C
+U+31183 <> U+4C0E
+U+31184 <> U+29BC3
+U+31185 <> U+4C10
+U+31186 <> U+9B17
+U+31188 <> U+4C16
+U+3118C <> U+9B3A
+U+3118D <> U+29C48
+U+31196 <> U+29D06
+U+31199 <> U+4C2B
+U+3119A <> U+4AE5
+U+3119B <> U+9B57
+U+311CD <> U+4C32
+U+311CE <> U+2CD42
+U+311CF <> U+9B60
+U+311D0 <> U+9B6D
+U+311D1 <> U+4C3D
+U+311D2 <> U+9B6E
+U+311D3 <> U+9B71
+U+311D4 <> U+9B76
+U+311D5 <> U+4C3B
+U+311D6 <> U+9B6C
+U+311D7 <> U+9BE9
+U+311D8 <> U+9B67
+U+311D9 <> U+9B6B
+U+311DA <> U+4C45
+U+311DB <> U+9B87
+U+311DC <> U+9B7C
+U+311DD <> U+9B7E
+U+311DE <> U+4C47
+U+311DF <> U+9B7B
+U+311E0 <> U+9B82
+U+311E1 <> U+9B8F
+U+311E2 <> U+9B8C
+U+311E3 <> U+9C4D
+U+311E4 <> U+4C42
+U+311E5 <> U+4C4E
+U+311E6 <> U+9BAC
+U+311E7 <> U+9BA7
+U+311E8 <> U+9B9B
+U+311E9 <> U+9C4E
+U+311EA <> U+9BA5
+U+311EB <> U+29DAF
+U+311EC <> U+4C4C
+U+311ED <> U+9BE0
+U+311EE <> U+29DF6
+U+311EF <> U+9BB9
+U+311F0 <> U+4C52
+U+311F1 <> U+9BC8
+U+311F2 <> U+4C50
+U+311F3 <> U+9BBB
+U+311F4 <> U+29E7E
+U+311F5 <> U+9C3F
+U+311F6 <> U+9BE5
+U+311F7 <> U+4C5C
+U+311F8 <> U+9C66
+U+311F9 <> U+4C65
+U+311FA <> U+9BDA
+U+311FB <> U+4C64
+U+311FC <> U+9BE6
+U+311FD <> U+4C61
+U+311FE <> U+9BEE
+U+311FF <> U+9C50
+U+31200 <> U+4C5F
+U+31201 <> U+9BC5
+U+31202 <> U+9C05
+U+31203 <> U+29E42
+U+31204 <> U+9BF8
+U+31205 <> U+9BFC
+U+31206 <> U+4C7E
+U+31207 <> U+4C6D
+U+31208 <> U+4C74
+U+31209 <> U+9C2C
+U+3120A <> U+9C21
+U+3120B <> U+9C1D
+U+3120C <> U+9C43
+U+3120D <> U+9C2F
+U+3120E <> U+29E9E
+U+3120F <> U+9C41
+U+31210 <> U+9C44
+U+31211 <> U+9C34
+U+31212 <> U+4C89
+U+31213 <> U+9C4F
+U+31214 <> U+29EDB
+U+31215 <> U+9C55
+U+31216 <> U+4C9A
+U+31217 <> U+9C6C
+U+31218 <> U+9C68
+U+31219 <> U+9C74
+U+3121A <> U+9C77
+U+3121B <> U+4C9B
+U+3121C <> U+9C7B
+U+31247 <> U+9CE6
+U+31248 <> U+9CED
+U+31249 <> U+2CDBC
+U+3124A <> U+9CF1
+U+3124B <> U+29F9D
+U+3124C <> U+9E03
+U+3124D <> U+9CFF
+U+3124E <> U+9CFA
+U+3124F <> U+9DD2
+U+31250 <> U+9D59
+U+31251 <> U+9CFB
+U+31252 <> U+29FCA
+U+31253 <> U+9CF8
+U+31254 <> U+9D02
+U+31255 <> U+9D1A
+U+31256 <> U+4CB9
+U+31257 <> U+9D20
+U+31258 <> U+9D21
+U+31259 <> U+4CC5
+U+3125A <> U+9D29
+U+3125B <> U+9D19
+U+3125C <> U+29FE7
+U+3125D <> U+9D56
+U+3125E <> U+4CC7
+U+3125F <> U+9E05
+U+31260 <> U+9D5B
+U+31261 <> U+9D18
+U+31262 <> U+9D22
+U+31263 <> U+2A01A
+U+31264 <> U+4CCF
+U+31265 <> U+9D36
+U+31266 <> U+4CD3
+U+31267 <> U+4CD2
+U+31268 <> U+9D76
+U+31269 <> U+9D3A
+U+3126A <> U+9D31
+U+3126B <> U+9D38
+U+3126C <> U+9DEE
+U+3126D <> U+2A017
+U+3126E <> U+9D45
+U+3126F <> U+9D39
+U+31270 <> U+9E12
+U+31271 <> U+9DA4
+U+31272 <> U+9D3E
+U+31273 <> U+9DF6
+U+31274 <> U+9E09
+U+31275 <> U+9D86
+U+31276 <> U+4CDA
+U+31277 <> U+2A05B
+U+31278 <> U+9D4C
+U+31279 <> U+9D57
+U+3127A <> U+4CD5
+U+3127B <> U+9D4E
+U+3127C <> U+4CED
+U+3127D <> U+9D4B
+U+3127E <> U+9D55
+U+3127F <> U+9D54
+U+31280 <> U+9D71
+U+31281 <> U+9D78
+U+31282 <> U+4CDF
+U+31283 <> U+9D79
+U+31284 <> U+9D83
+U+31285 <> U+9D7B
+U+31286 <> U+9D75
+U+31287 <> U+9D74
+U+31288 <> U+9D82
+U+31289 <> U+2A214
+U+3128A <> U+9D7C
+U+3128B <> U+9D73
+U+3128C <> U+9D8B
+U+3128D <> U+9D7D
+U+3128E <> U+9D85
+U+3128F <> U+9D9D
+U+31290 <> U+9D9B
+U+31291 <> U+9D9E
+U+31292 <> U+9DA2
+U+31293 <> U+4CEE
+U+31294 <> U+2A0C3
+U+31295 <> U+9D99
+U+31296 <> U+9D9F
+U+31297 <> U+9D94
+U+31298 <> U+9DA8
+U+31299 <> U+4CF2
+U+3129A <> U+9DCF
+U+3129B <> U+9DBD
+U+3129C <> U+2A23C
+U+3129D <> U+9DB6
+U+3129E <> U+2A120
+U+3129F <> U+9DB7
+U+312A0 <> U+9DCB
+U+312A1 <> U+9DD5
+U+312A2 <> U+9DD1
+U+312A3 <> U+4CFA
+U+312A4 <> U+9DDB
+U+312A5 <> U+2A132
+U+312A6 <> U+9DE7
+U+312A7 <> U+9DE2
+U+312A8 <> U+2A1AB
+U+312A9 <> U+9DF5
+U+312AA <> U+4D07
+U+312AB <> U+9E06
+U+312AC <> U+9E00
+U+312AD <> U+9E12
+U+312AE <> U+9E01
+U+312AF <> U+9E04
+U+312B0 <> U+9DFE
+U+312B1 <> U+9E10
+U+312B2 <> U+2A1F0
+U+312B3 <> U+9E13
+U+312B4 <> U+2A20F
+U+312B5 <> U+9E19
+U+312BA <> U+2A256
+U+312BB <> U+2A263
+U+312BC <> U+4D1D
+U+312BD <> U+2A289
+U+312C2 <> U+2A2C8
+U+312C4 <> U+2A2FD
+U+312C5 <> U+2A2FC
+U+312C6 <> U+4D2E
+U+312C7 <> U+9EA7
+U+312C8 <> U+2A37F
+U+312C9 <> U+2A310
+U+312CA <> U+4D32
+U+312CB <> U+9EAE
+U+312CC <> U+2A317
+U+312CD <> U+2A318
+U+312CE <> U+4D33
+U+312D0 <> U+9EAF
+U+312D1 <> U+2A377
+U+312D3 <> U+2A323
+U+312D4 <> U+4D35
+U+312D5 <> U+2A32C
+U+312D6 <> U+9EB1
+U+312D7 <> U+4D38
+U+312D8 <> U+2A32E
+U+312D9 <> U+4D39
+U+312DA <> U+2A33E
+U+312DC <> U+2A347
+U+312DD <> U+4D3A
+U+312DF <> U+2A352
+U+312E0 <> U+2A34D
+U+312E1 <> U+2A363
+U+312E2 <> U+2A351
+U+312E3 <> U+2A35A
+U+312E4 <> U+2A358
+U+312E5 <> U+2A353
+U+312E6 <> U+2A35E
+U+312E8 <> U+2A36C
+U+312EA <> U+4D42
+U+312EB <> U+4D43
+U+312EC <> U+2A374
+U+312ED <> U+2A382
+U+312EE <> U+4D46
+U+312F1 <> U+9EC2
+U+312F4 <> U+4D50
+U+312F6 <> U+9EF8
+U+312FE <> U+9F00
+U+312FF <> U+9F01
+U+31300 <> U+2A4DB
+U+31301 <> U+4D76
+U+31303 <> U+4D77
+U+31304 <> U+9F05
+U+31305 <> U+2A4EC
+U+31306 <> U+9F06
+U+31307 <> U+9F08
+U+31308 <> U+2A4F9
+U+31309 <> U+9F0A
+U+3130A <> U+9F1A
+U+3130F <> U+9F32
+U+31315 <> U+2A5A8
+U+31316 <> U+9F48
+U+31317 <> U+9F4C
+U+31318 <> U+9F4D
+U+31319 <> U+2A5CB
+U+3132B <> U+9F5E
+U+3132C <> U+9F5A
+U+3132D <> U+9F7A
+U+3132E <> U+9F63
+U+3132F <> U+9F5D
+U+31330 <> U+4DA7
+U+31331 <> U+9F65
+U+31332 <> U+9F64
+U+31333 <> U+9F73
+U+31334 <> U+2A628
+U+31335 <> U+4DA8
+U+31336 <> U+9F71
+U+31337 <> U+2A62C
+U+31338 <> U+2A625
+U+31339 <> U+9F75
+U+3133A <> U+9F7B
+U+3133C <> U+2A649
+U+3133D <> U+9F78
+U+31341 <> U+9F8F
+U+31342 <> U+9F96
+U+31344 <> U+2A6AE
+U+31345 <> U+2A6AD
+U+31346 <> U+2A6B0
+U+31347 <> U+4DB1
+U+31348 <> U+9F9E
+U+31349 <> U+2A6D5

Modified: trunk/Master/texmf-dist/fonts/misc/xetex/fontmapping/xecjk/han-trad.tec
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx
===================================================================
--- trunk/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx	2020-05-01 21:28:49 UTC (rev 54960)
+++ trunk/Master/texmf-dist/source/xelatex/xecjk/xeCJK.dtx	2020-05-01 21:29:24 UTC (rev 54961)
@@ -40,7 +40,7 @@
     and version 1.3 or later is part of all distributions of
     LaTeX version 2005/12/01 or later.
 
-    This work has the LPPL maintenance status `maintained'.
+    This work has the LPPL maintenance status "maintained".
 
     The Current Maintainers of this work are Leo Liu and Qing Lee.
 
@@ -106,7 +106,7 @@
     and version 1.3 or later is part of all distributions of
     LaTeX version 2005/12/01 or later.
 
-    This work has the LPPL maintenance status `maintained'.
+    This work has the LPPL maintenance status "maintained".
 
     The Current Maintainers of this work are Leo Liu and Qing Lee.
 
@@ -194,7 +194,7 @@
 %<*package|config|fntef|listings|xunicode|xunextra>
 %<!(config|xunextra)>\NeedsTeXFormat{LaTeX2e}
 %<!(config|xunextra)>\RequirePackage{expl3}
-%<+!driver>\GetIdInfo$Id: xeCJK.dtx 165cecc 2020-02-18 20:38:34 +0800 Qing Lee <sobenlee at gmail.com> $
+%<+!driver>\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee at gmail.com> $
 %<package>  {Typesetting CJK scripts with XeLaTeX}
 %<config>  {Configuration file for xeCJK package}
 %<fntef>  {xeCJK font effect}
@@ -207,7 +207,7 @@
 %<listings>\ProvidesExplPackage{xeCJK-listings}
 %<xunicode>\ProvidesExplPackage{xunicode-addon}
 %<xunextra>\ProvidesExplFile{xunicode-extra.def}
-%<!driver>  {\ExplFileDate}{3.8.2}{\ExplFileDescription}
+%<!driver>  {\ExplFileDate}{3.8.3}{\ExplFileDescription}
 %</package|config|fntef|listings|xunicode|xunextra>
 %<*driver>
 \documentclass{ctxdoc}
@@ -284,8 +284,9 @@
 % \changes{v3.7.2}{2019/03/23}{同步 \LaTeXiii{} 2019/03/05。}
 % \changes{v3.8.0}{2020/02/09}{兼容 \LaTeXe\ 2020/02/02 对 \pkg{NFSS} 的修改。}
 % \changes{v3.8.0}{2020/02/09}{清理过时的兼容性补丁代码。}
+% \changes{v3.8.3}{2020/04/07}{删除 \texttt{\_nopar}。}
 %
-% \CheckSum{10763}
+% \CheckSum{10799}
 % \GetFileId{xeCJK.sty}
 %
 % \title{\bfseries\pkg{xeCJK} 宏包}
@@ -303,7 +304,7 @@
 % \pkg{xeCJK} 是一个 \XeLaTeX 宏包,用于排版中日韩(CJK)文字。主要功能:
 % \begin{enumerate}
 % \item 分别设置 CJK 和英文字体;
-% \item 自动忽略 CJK 文字间的空格而保留其它空格,允许在非标点汉字和英文
+% \item 自动忽略 CJK 文字间的空格而保留其他空格,允许在非标点汉字和英文
 % 字母 (a -- z, A -- Z) 间断行;
 % \item 提供多种标点处理方式: 全角式、半角式、开明式、行末半角式和 CCT 式;
 % \item 自动调整中英文间空白。
@@ -311,7 +312,7 @@
 %
 % \pkg{xeCJK} 使用了 \XeTeX 的一些最新特性,需要 \XeTeX{} 0.9995.0 (2009/06/29) 以
 % 后的版本。\pkg{xeCJK} 依赖 \LaTeXiii{} 项目的宏包套件
-% \package{l3kernel} 和 \package{l3packages} 。
+% \package{l3kernel} 和 \package{l3packages}。
 % \pkg{xeCJK} 还需要通过 \package{fontspec} 宏包来调用系统字体。
 % \pkg{xeCJK} 会自动根据需要载入这些宏包。
 %
@@ -802,7 +803,7 @@
 %     \tn{addCJKfontfeatures} * \oarg{block_1, block_2, ...} \Arg{font features}
 %   \end{syntax}
 %   临时增加当前使用的 CJK 字体的选项。第一条命令,仅对当前 CJK 主分区字体有效;
-%   第二条对主分区和其它分区的字体都有效;第三条仅对可选参数中指定的分区有效;
+%   第二条对主分区和其他分区的字体都有效;第三条仅对可选参数中指定的分区有效;
 %   第四条对主分区和可选参数中指定的分区有效。例如,使用
 %   \begin{ctexexam}
 %   \addCJKfontfeatures{Scale=1.1}
@@ -1353,8 +1354,8 @@
 % \begin{function}[added=2016-06-03]{textformat}
 %   设置下划线或点的正文的格式。例如:\smallskip
 %   \begin{Example}[frame=single,numbers=left,gobble=6]
-%     \CJKunderline[textformat=\color{red}]{虚室生白,吉祥止止}\\
-%     \CJKunderdot[textformat=\bfseries, format=\color{blue}]{虚室生白,吉祥止止}
+%     \CJKunderline[textformat=\color{blue}]{虚室生白,吉祥止止}\\
+%     \CJKunderdot[textformat=\bfseries, format=\color{red}]{虚室生白,吉祥止止}
 %   \end{Example}
 % \end{function}
 %
@@ -1505,7 +1506,7 @@
 %   等宽字体的代码对齐等情形。需要注意的是,\tn{xeCJKVerbAddon} 对 \pkg{xeCJK} 的内
 %   部进行了比较大的修改,使用它之后,将禁止在 CJK 字符类之间自动换行,这与西文在
 %   抄录环境中的情况是一致的。所以不应该单独使用,应该放在分组里限制其作用域,否则
-%   是无效的。当然它可以和其它关于代码抄录的宏包配合使用。例如,可以使用于
+%   是无效的。当然它可以和其他关于代码抄录的宏包配合使用。例如,可以使用于
 %   \package{fancyvrb} 宏包的 \texttt{formatcom} 选项。此时设置的西文字体应该确实
 %   是等宽的以保证对齐。若西文等宽字体发生变动(包括字体大小),则需要在其后面使用
 %   \tn{xeCJKVerbAddon},重新计算间距的宽度。\tn{xeCJKOffVerbAddon}
@@ -1526,7 +1527,7 @@
 %   \pkg{xeCJK} 在正文中的一些特殊设置(汉字下加点、在 \env{verbatim} 或
 %   \env{lstlisting} 环境中分页)可能会影响到 \TeX 的输出例行程序(output routine)
 %   中的内容(比如页眉和页脚)。\tn{xeCJKShipoutHook} 用于恢复正文中的普通设置。
-%   \pkg{xeCJK} 已经处理了页眉和页脚的情况,其它的就需要根据情况自行调用。
+%   \pkg{xeCJK} 已经处理了页眉和页脚的情况,其他的就需要根据情况自行调用。
 %   比如若使用 \pkg{eso-pic} 或者 \pkg{atbegshi} 实现文字水印,并且正文中使用了
 %   以上所列的特殊形式,就需要在命令 \tn{AtBeginShipout} 的参数的最前面使用
 %   \tn{xeCJKShipoutHook}。
@@ -1534,7 +1535,7 @@
 %
 % \section{已知问题和兼容性}
 %
-% \XeTeX 在配置文件 \file{unicode-letters.tex} 中将所有 CJK 表意文字的 \tn{catcode}
+% 根据 \pkg{unicode-data} 宏包,\XeTeX 将所有 CJK 表意文字的 \tn{catcode}
 % 设置为 $11$。因此汉字可以直接用作控制序列的名字,但是当汉字出现在控制序列后面的
 % 时候,要用空格分隔开,否则就会出现“\texttt{! Undefined control sequence.}”的错误。
 %
@@ -1565,7 +1566,7 @@
 %   \let\cprotect\icprotect
 % \end{frameverb}
 % 来取消 \tn{cprotect} 的外部宏限制。但由于 \tn{cprotect} 的特殊性,应该只在外部
-% 使用它,即不要让它出现在任何宏的参数中。其它 \tn{outer} 宏的情况,可以在它前面
+% 使用它,即不要让它出现在任何宏的参数中。其他 \tn{outer} 宏的情况,可以在它前面
 % 加上 \tn{relax} 来回避上面的错误。
 %
 % \pkg{xeCJK} 依赖 \XeTeX 的 \tn{XeTeXinterchartoks} 机制,与使用相同机制的宏包(例如
@@ -1677,60 +1678,56 @@
 %  {\@@_msg_new:nn ,\@@_error:n,\@@_error:nx,\@@_warning:nx,\@@_info:nxx}
 % 各种信息函数的缩略形式。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_msg_new:nn   { \msg_new:nnn       { xeCJK } }
-\cs_new_protected_nopar:Npn \@@_msg_new:nnn  { \msg_new:nnnn      { xeCJK } }
-\cs_new_protected_nopar:Npn \@@_error:n      { \msg_error:nn      { xeCJK } }
-\cs_new_protected_nopar:Npn \@@_error:nx     { \msg_error:nnx     { xeCJK } }
-\cs_new_protected_nopar:Npn \@@_warning:n    { \msg_warning:nn    { xeCJK } }
-\cs_new_protected_nopar:Npn \@@_warning:nx   { \msg_warning:nnx   { xeCJK } }
-\cs_new_protected_nopar:Npn \@@_warning:nxx  { \msg_warning:nnxx  { xeCJK } }
-\cs_new_protected_nopar:Npn \@@_warning:nxxx { \msg_warning:nnxxx { xeCJK } }
-\cs_new_protected_nopar:Npn \@@_info:nxx     { \msg_info:nnxx     { xeCJK } }
+\cs_new_protected:Npn \@@_msg_new:nn   { \msg_new:nnn       { xeCJK } }
+\cs_new_protected:Npn \@@_msg_new:nnn  { \msg_new:nnnn      { xeCJK } }
+\cs_new_protected:Npn \@@_error:n      { \msg_error:nn      { xeCJK } }
+\cs_new_protected:Npn \@@_error:nx     { \msg_error:nnx     { xeCJK } }
+\cs_new_protected:Npn \@@_warning:n    { \msg_warning:nn    { xeCJK } }
+\cs_new_protected:Npn \@@_warning:nx   { \msg_warning:nnx   { xeCJK } }
+\cs_new_protected:Npn \@@_warning:nxx  { \msg_warning:nnxx  { xeCJK } }
+\cs_new_protected:Npn \@@_warning:nxxx { \msg_warning:nnxxx { xeCJK } }
+\cs_new_protected:Npn \@@_info:nxx     { \msg_info:nnxx     { xeCJK } }
 %    \end{macrocode}
 % \end{macro}
 %
 % \begin{macro}[int]{\xeCJK_allow_break:,\xeCJK_no_break:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_allow_break:
+\cs_new_protected:Npn \xeCJK_allow_break:
   { \tex_penalty:D \c_zero_int }
-\cs_new_protected_nopar:Npn \xeCJK_no_break:
+\cs_new_protected:Npn \xeCJK_no_break:
   { \tex_penalty:D \c_@@_nobreak_penalty_int }
 \int_const:Nn \c_@@_nobreak_penalty_int { 10 000 }
 %    \end{macrocode}
 % \end{macro}
 %
+% \changes{v3.8.3}{2020/04/07}{依赖 \pkg{ctexhook} 宏包。}
+%
 % \begin{macro}
-%  {\@@_at_end_preamble:n,\@@_after_preamble:n,\@@_after_end_preamble:n}
-%  在 \tn{document} 前后加上各种钩子。
+%  {\@@_at_end_preamble:n,\@@_after_preamble:n,
+%   \@@_after_end_preamble:n,\@@_package_hook:nn}
+%  在 \tn{document} 前后和宏包后加上各种钩子,依赖 \pkg{ctexhook}。
 %    \begin{macrocode}
+\RequirePackage { ctexhook }
+\AtBeginDocument           { \xeCJK at document@hook }
+\ctex_at_end_preamble:n    { \xeCJK at document@left at hook }
+\ctex_after_end_preamble:n { \xeCJK at document@right at hook }
+\cs_new_protected:Npn \xeCJK at document@hook
+  { \tl_use:N \g_@@_after_preamble_hook_tl }
+\cs_new_protected:Npn \xeCJK at document@left at hook
+  { \tl_use:N \g_@@_at_end_preamble_hook_tl }
+\cs_new_protected:Npn \xeCJK at document@right at hook
+  { \tl_use:N \g_@@_after_end_preamble_hook_tl }
+\cs_new_protected:Npn \@@_at_end_preamble:n
+  { \tl_gput_right:Nn \g_@@_at_end_preamble_hook_tl }
+\cs_new_protected:Npn \@@_after_preamble:n
+  { \tl_gput_right:Nn \g_@@_after_preamble_hook_tl }
+\cs_new_protected:Npn \@@_after_end_preamble:n
+  { \tl_gput_right:Nn \g_@@_after_end_preamble_hook_tl }
+\cs_new_protected:Npn \@@_package_hook:nn
+  { \ctex_at_end_package:nn }
 \tl_new:N \g_@@_at_end_preamble_hook_tl
 \tl_new:N \g_@@_after_preamble_hook_tl
 \tl_new:N \g_@@_after_end_preamble_hook_tl
-\cs_new_protected:Npn \@@_at_end_preamble:n #1
-  { \tl_gput_right:Nn \g_@@_at_end_preamble_hook_tl {#1} }
-\cs_new_protected:Npn \@@_after_preamble:n #1
-  { \tl_gput_right:Nn \g_@@_after_preamble_hook_tl {#1} }
-\cs_new_protected:Npn \@@_after_end_preamble:n #1
-  { \tl_gput_right:Nn \g_@@_after_end_preamble_hook_tl {#1} }
-\xeCJK_if_package_loaded:nTF { etoolbox }
-  {
-    \AtEndPreamble { \g_@@_at_end_preamble_hook_tl }
-    \AfterPreamble { \g_@@_after_preamble_hook_tl }
-    \AfterEndPreamble { \g_@@_after_end_preamble_hook_tl }
-  }
-  {
-    \AtBeginDocument { \g_@@_after_preamble_hook_tl }
-    \cs_new_protected_nopar:Npn \xeCJK at document@left at hook
-      { \group_end: \g_@@_at_end_preamble_hook_tl \group_begin: }
-    \cs_new_protected_nopar:Npn \xeCJK at document@right at hook
-      { \scan_stop: \g_@@_after_end_preamble_hook_tl \tex_ignorespaces:D }
-    \cs_gset_nopar:Npx \document
-      {
-        \xeCJK at document@left at hook
-        \exp_not:o { \document }
-        \xeCJK at document@right at hook
-      }
-  }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1745,7 +1742,7 @@
 %    \begin{macrocode}
 \@@_after_preamble:n
   { \tl_put_right:Nn \@begindvi { \xeCJK at first@begindvi } }
-\cs_new_protected_nopar:Npn \xeCJK at first@begindvi
+\cs_new_protected:Npn \xeCJK at first@begindvi
   {
     \xeCJKShipoutHook
     \cs_if_exist:NTF \@begindvi
@@ -1780,7 +1777,7 @@
 % \changes{v3.2.4}{2013/07/02}{去掉外层分组括号时,移除空格,避免死循环。}
 % 去掉 |#1| 外层的分组括号。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_tl_remove_outer_braces:N #1
+\cs_new_protected:Npn \xeCJK_tl_remove_outer_braces:N #1
   { \tl_set:Nx #1 { \exp_args:No \xeCJK_tl_remove_outer_braces:n {#1} } }
 \cs_new:Npn \xeCJK_tl_remove_outer_braces:n #1
   {
@@ -1827,7 +1824,7 @@
 % \begin{macro}[int]{\xeCJK_font_gset_to_current:N}
 % |#1| 是控制序列的名字,令它等于当前字体命令。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_font_gset_to_current:N #1
+\cs_new_protected:Npn \xeCJK_font_gset_to_current:N #1
   { \exp_after:wN \cs_gset_eq:NN \exp_after:wN #1 \tex_the:D \tex_font:D }
 \cs_generate_variant:Nn \xeCJK_font_gset_to_current:N { c }
 %    \end{macrocode}
@@ -1870,13 +1867,13 @@
           {
             \int_compare:nNnTF \g_@@_space_factor_int < { 2000 }
               {
-                \_@@_space_skip_scale:nnn
+                \@@_space_skip_scale:nnn
                   { \tex_fontdimen:D 2 ~ \tex_font:D }
               }
               {
                 \skip_if_eq:nnTF \tex_xspaceskip:D \c_zero_skip
                   {
-                    \_@@_space_skip_scale:nnn
+                    \@@_space_skip_scale:nnn
                       {
                         \tex_fontdimen:D 2 ~ \tex_font:D +
                         \tex_fontdimen:D 7 ~ \tex_font:D
@@ -1889,11 +1886,11 @@
           }
           {
             \int_compare:nNnTF \g_@@_space_factor_int < { 2000 }
-              { \_@@_space_skip_scale:nnn { \tex_spaceskip:D } }
+              { \@@_space_skip_scale:nnn { \tex_spaceskip:D } }
               {
                 \skip_if_eq:nnTF \tex_xspaceskip:D \c_zero_skip
                   {
-                    \_@@_space_skip_scale:nnn
+                    \@@_space_skip_scale:nnn
                       {
                         \tex_spaceskip:D +
                         \tex_fontdimen:D 7 ~ \tex_font:D
@@ -1906,7 +1903,7 @@
           }
       }
   }
-\cs_new_nopar:Npn \_@@_space_skip_scale:nnn #1#2#3
+\cs_new:Npn \@@_space_skip_scale:nnn #1#2#3
   {
     \dim_eval:n {#1}
     plus \fp_eval:n { \g_@@_space_factor_int / 1000 } #2
@@ -1914,15 +1911,26 @@
       \int_div_truncate:nn
         { 1000 * \int_value:w #3 } { \g_@@_space_factor_int } sp
   }
+%    \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[int]{\xeCJK_reset_space_factor:}
+% \begin{variable}[int]{\g_@@_space_factor_int}
+% 在 \tn{XeTeXinterchartoks} 里,\tn{spacefactor} 已经被重置为 $1000$。
+% 我们需要在 Default 类里保存 \tn{spacefactor} 用于计算空格宽度。
+%    \begin{macrocode}
 \int_new:N \g_@@_space_factor_int
-\int_gset:Nn \g_@@_space_factor_int { 1000 }
+\cs_new_protected:Npn \xeCJK_reset_space_factor:
+  { \int_gset:Nn \g_@@_space_factor_int { 1000 } }
+\xeCJK_reset_space_factor:
 %    \end{macrocode}
 % \end{variable}
+% \end{macro}
 %
 % \begin{macro}[int]{\xeCJK_glue_to_skip:nN}
 % 取得一个 |glue| 的长度,包括伸展和收缩部分。如果参数不是 |glue|,则取其宽度。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_glue_to_skip:nN #1#2
+\cs_new_protected:Npn \xeCJK_glue_to_skip:nN #1#2
   {
     \group_begin:
       \hbox_set:Nw \l_@@_tmp_box #1 \scan_stop:
@@ -1989,7 +1997,7 @@
     \group_align_safe_begin:
     \peek_after:Nw \@@_peek_catcode_ignore_spaces_branches:w
   }
-\cs_new_protected_nopar:Npn \@@_peek_catcode_ignore_spaces_branches:w
+\cs_new_protected:Npn \@@_peek_catcode_ignore_spaces_branches:w
   {
     \if_meaning:w \l_peek_token \c_space_token
       \bool_set_true:N \l_@@_peek_ignore_spaces_bool
@@ -2020,7 +2028,7 @@
 % 用于取得记号 |#1| 所在的 \XeTeX 字符类。|#1| 应为 \tn{catcode} 为 |11| 或 |12|
 % 的显性或隐性记号。
 %    \begin{macrocode}
-\cs_new_nopar:Npn \xeCJK_token_value_class:N #1
+\cs_new:Npn \xeCJK_token_value_class:N #1
   { \tex_XeTeXcharclass:D \xeCJK_token_value_charcode:N #1 }
 %    \end{macrocode}
 % \end{macro}
@@ -2038,7 +2046,7 @@
 % 这一 Bug 在 TeX Live 2015 的 \texttt{0.99992} 版中得到修复^^A
 % \footnote{参见\url{http://tug.org/pipermail/xetex/2015-May/025941.html}}。
 %    \begin{macrocode}
-\cs_new_nopar:Npn \xeCJK_token_value_charcode:N #1
+\cs_new:Npn \xeCJK_token_value_charcode:N #1
   { \exp_after:wN \@@_get_charcode:w \token_to_meaning:N #1 \q_stop }
 \group_begin:
   \cs_set:Npn \@@_tmp:w #1 ~ #2 ~ #3#4#5 \q_stop
@@ -2045,13 +2053,13 @@
     {
       \tl_if_empty:nTF { #4#5 }
         {
-          \cs_new_nopar:Npn \@@_get_charcode:w ##1 ~ ##2 ~ ##3 \q_stop
+          \cs_new:Npn \@@_get_charcode:w ##1 ~ ##2 ~ ##3 \q_stop
             { \int_eval:n { `##3 } }
         }
         {
           \tl_if_empty:nTF {#5}
             {
-              \cs_new_nopar:Npn \@@_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop
+              \cs_new:Npn \@@_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop
                 {
                   \int_eval:n
                     {
@@ -2062,7 +2070,7 @@
                 }
             }
             {
-              \cs_new_nopar:Npn \@@_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop
+              \cs_new:Npn \@@_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop
                 { \int_eval:n { \tl_if_empty:nTF { ##4 } { `##3 } { "20000 } } }
             }
         }
@@ -2082,7 +2090,7 @@
     \cs_end:
       \prg_return_true: \else: \prg_return_false: \fi:
   }
-\cs_new_nopar:Npn \@@_CJK_class_tl:n #1
+\cs_new:Npn \@@_CJK_class_tl:n #1
   { c_@@_CJK_class_ \int_eval:n {#1} _tl }
 %    \end{macrocode}
 % \end{macro}
@@ -2102,7 +2110,7 @@
 % \begin{macro}[int]{\xeCJK_make_boundary:}
 % 利用 \cs{scan_stop:} 结束 CJK 分组,用于恢复字体等。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_make_boundary:
+\cs_new_protected:Npn \xeCJK_make_boundary:
   { \bool_if:NT \l_@@_CJK_group_bool { \scan_stop: } }
 %    \end{macrocode}
 % \end{macro}
@@ -2149,7 +2157,7 @@
 % \begin{macro}[int]{\xeCJK_new_class:n}
 % 新建一个字符类别。|#1| 是自定义名称。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_new_class:n #1
+\cs_new_protected:Npn \xeCJK_new_class:n #1
   {
     \int_if_exist:cTF { \@@_class_csname:n {#1} }
       { \@@_error:nx { class-already-defined } {#1} }
@@ -2170,7 +2178,7 @@
 % {使用 \cs{xeCJK_save_class:nn} 保存 \XeTeX 预定义的字符类别。}
 % 保存 \XeTeX 预定义的字符类别。|#1| 是自定义名称,|#2| 是编号。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_save_class:nn #1#2
+\cs_new_protected:Npn \xeCJK_save_class:nn #1#2
   {
     \int_if_exist:cTF { \@@_class_csname:n {#1} }
       { \@@_error:nx { class-already-defined } {#1} }
@@ -2186,7 +2194,7 @@
 % \begin{macro}{\@@_class_csname:n}
 % 字符类名称对应的控制序列名字。
 %    \begin{macrocode}
-\cs_new_nopar:Npn \@@_class_csname:n #1 { c_@@_#1_class_int }
+\cs_new:Npn \@@_class_csname:n #1 { c_@@_#1_class_int }
 \cs_new_eq:cN { \@@_class_csname:n { Others } } \l_@@_tmp_int
 \@@_msg_new:nn { class-already-defined }
   {
@@ -2453,6 +2461,8 @@
 % \changes{v3.4.1}{2016/08/18}{补充 Unicode 9.0.0 的西夏文。}
 % \changes{v3.5.0}{2017/07/22}{补充 Ext-F。}
 % \changes{v3.7.3}{2019/04/15}{补充日文假名扩展。}
+% \changes{v3.8.3}{2020/03/15}{同步 Unicode 13.0.0。}
+% \changes{v3.8.3}{2020/04/09}{补充 \texttt{U+02EA} 和 \texttt{U+02EB}。}
 %
 % \begin{variable}{\c_@@_CJK_chars_clist}
 % CJK 字符类,包括文字和标点符号。
@@ -2461,6 +2471,10 @@
   {
 %    \end{macrocode}
 % \begin{itemize}[nosep,leftmargin=0pt]
+% \item 闽南语、客家话阴去和阳去声调标记
+%    \begin{macrocode}
+    "02EA -> "02EB ,
+%    \end{macrocode}
 % \item CJK Radicals Supplement (中日韩部首补充)
 %    \begin{macrocode}
     "2E80 -> "2EFF ,
@@ -2569,6 +2583,14 @@
 %    \begin{macrocode}
     "18800 -> "18AFF ,
 %    \end{macrocode}
+% \item Khitan Small Script (契丹小字)
+%    \begin{macrocode}
+    "18B00 -> "18CFF ,
+%    \end{macrocode}
+% \item Tangut Supplement (西夏文增补)
+%    \begin{macrocode}
+    "18D00 -> "18D8F ,
+%    \end{macrocode}
 % \item Kana Supplement (日文假名增补)
 %    \begin{macrocode}
     "1B000 -> "1B0FF ,
@@ -2607,8 +2629,12 @@
 %    \end{macrocode}
 % \item CJK Compatibility Ideographs Supplement (中日韩兼容表意文字增补)
 %    \begin{macrocode}
-    "2F800 -> "2FA1F
+    "2F800 -> "2FA1F ,
 %    \end{macrocode}
+% \item CJK Unified Ideographs Extension-G (中日韩统一表意文字扩展 G)
+%    \begin{macrocode}
+    "30000 -> "3134F
+%    \end{macrocode}
 % \end{itemize}
 %    \begin{macrocode}
   }
@@ -2687,7 +2713,7 @@
 % \begin{macro}[int]{\xeCJK_class_num:n}
 % |#1| 为字符类别名称,用于取得字符类别对应的编号。
 %    \begin{macrocode}
-\cs_new_nopar:Npn \xeCJK_class_num:n #1
+\cs_new:Npn \xeCJK_class_num:n #1
   { \use:c { \@@_class_csname:n {#1} } }
 %    \end{macrocode}
 % \end{macro}
@@ -2707,12 +2733,12 @@
 % 用于设置字符所属的类别,|#1| 为类别名称,|#2| 为字符的 |Unicode|,相邻字符用
 % 半角逗号隔开,支持类似 |"1100 -> "11FF| 起止范围的使用方式。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_declare_char_class:nn #1#2
+\cs_new_protected:Npn \xeCJK_declare_char_class:nn #1#2
   {
     \clist_set:Nx \l_@@_tmp_clist {#2}
     \xeCJK_declare_char_class:nN {#1} \l_@@_tmp_clist
   }
-\cs_new_protected_nopar:Npn \xeCJK_declare_char_class:nN #1#2
+\cs_new_protected:Npn \xeCJK_declare_char_class:nN #1#2
   {
     \clist_gconcat:ccN
       { g_@@_#1_range_clist } { g_@@_#1_range_clist } #2
@@ -2735,7 +2761,7 @@
 %
 % \begin{macro}{\@@_check_num_range:nnNN}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_check_num_range:nnNN #1#2#3#4
+\cs_new_protected:Npn \@@_check_num_range:nnNN #1#2#3#4
   {
     \bool_lazy_or:nnTF
       { \xeCJK_if_blank_x_p:n {#1} }
@@ -2772,7 +2798,7 @@
 % \changes{v3.1.1}{2012/12/05}{在文档中设置字符类别时不重复设置 \tn{catcode}。}
 % 设置字符类别,|#1| 和 |#2| 为字符类别起止的 |Unicode|,|#3| 为类别名称对应编号。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_set_char_class:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_set_char_class:nnn #1#2#3
   {
     \@@_check_num_range:nnNN {#1} {#2} \l_@@_begin_int \l_@@_end_int
     \int_set:Nn \l_@@_tmp_int {#3}
@@ -2790,7 +2816,7 @@
 % 将字符类 |#1| 中的字符全部设置成字符类 |#2|。只适用于 |#1| 的字符类范围为离散的
 % 逗号列表的情况。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_set_char_class_eq:nn #1#2
+\cs_new_protected:Npn \@@_set_char_class_eq:nn #1#2
   {
     \int_set:Nn \l_@@_tmp_int { \xeCJK_class_num:n {#2} }
     \clist_map_inline:cn { c_@@_#1_chars_clist }
@@ -2854,7 +2880,7 @@
 % \begin{macro}[int]{\xeCJK_inter_class_toks:nnn}
 % 在相邻类别之间插入内容。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_inter_class_toks:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_inter_class_toks:nnn #1#2#3
   {
     \tex_XeTeXinterchartoks:D \xeCJK_class_num:n {#1} ~
                               \xeCJK_class_num:n {#2} = {#3}
@@ -2866,7 +2892,7 @@
 % \begin{macro}[int]{\xeCJK_get_inter_class_toks:nn}
 % 取出相邻类别之间的内容。
 %    \begin{macrocode}
-\cs_new_nopar:Npn \xeCJK_get_inter_class_toks:nn #1#2
+\cs_new:Npn \xeCJK_get_inter_class_toks:nn #1#2
   {
     \tex_the:D \tex_XeTeXinterchartoks:D \xeCJK_class_num:n {#1} ~
                                          \xeCJK_class_num:n {#2}
@@ -2886,8 +2912,10 @@
 %   \bye
 % \end{verbatim}
 % 如果把上述例子中的分组 \tn{begingroup} 和 \tn{endgroup} 去掉,则结果正常,甚为怪异。
+% 此处 \XeTeX 的 bug 已经在 0.999992 版中修复^^A
+% \footnote{\url{http://tug.org/svn/texlive?view=revision&revision=53880}}。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_clear_inter_class_toks:nn #1#2
+\cs_new_protected:Npn \xeCJK_clear_inter_class_toks:nn #1#2
   { \xeCJK_inter_class_toks:nnn {#1} {#2} { \prg_do_nothing: } }
 %    \end{macrocode}
 % \end{macro}
@@ -2895,7 +2923,7 @@
 % \begin{macro}[int]{\xeCJK_pre_inter_class_toks:nnn}
 % 在相邻类别之间已有的内容前增加内容。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_pre_inter_class_toks:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_pre_inter_class_toks:nnn #1#2#3
   {
     \xeCJK_inter_class_toks:nnx {#1} {#2}
       { \exp_not:n {#3} \xeCJK_get_inter_class_toks:nn {#1} {#2} }
@@ -2907,7 +2935,7 @@
 % \begin{macro}[int]{\xeCJK_app_inter_class_toks:nnn}
 % 在相邻类别之间已有的内容后追加内容。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_app_inter_class_toks:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_app_inter_class_toks:nnn #1#2#3
   {
     \xeCJK_inter_class_toks:nnx {#1} {#2}
       { \xeCJK_get_inter_class_toks:nn {#1} {#2} \exp_not:n {#3} }
@@ -2919,7 +2947,7 @@
 % \begin{macro}[int]{\xeCJK_copy_inter_class_toks:nnnn}
 % 将 |#3| 和 |#4| 之间的内容复制到 |#1| 和 |#2| 之间。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_copy_inter_class_toks:nnnn #1#2#3#4
+\cs_new_protected:Npn \xeCJK_copy_inter_class_toks:nnnn #1#2#3#4
   {
     \tl_set:Nx \l_@@_tmp_tl
       { \xeCJK_get_inter_class_toks:nn {#3} {#4} }
@@ -2938,7 +2966,7 @@
 % \begin{macro}[int]{\xeCJK_replace_inter_class_toks:nnnn}
 % 将 |#1| 和 |#2| 之间出现的 |#3| 用 |#4| 替换。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_replace_inter_class_toks:nnnn #1#2#3#4
+\cs_new_protected:Npn \xeCJK_replace_inter_class_toks:nnnn #1#2#3#4
   {
     \tl_set:Nx \l_@@_tmp_tl
       { \xeCJK_get_inter_class_toks:nn {#1} {#2} }
@@ -2956,11 +2984,11 @@
 % \changes{v3.4.2}{2016/10/19}{提高效率,避免重复循环。}
 % 清除边界与 CJK 文字、全角左右标点之间的内容。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_clear_Boundary_and_CJK_toks:
+\cs_new_protected:Npn \xeCJK_clear_Boundary_and_CJK_toks:
   { }
-\cs_new_protected_nopar:Npn \@@_update_clear_toks:n #1
+\cs_new_protected:Npn \@@_update_clear_toks:n #1
   {
-    \cs_gset_protected_nopar:Npx \xeCJK_clear_Boundary_and_CJK_toks:
+    \cs_gset_protected:Npx \xeCJK_clear_Boundary_and_CJK_toks:
       {
         \exp_not:o { \xeCJK_clear_Boundary_and_CJK_toks: }
         \tex_XeTeXinterchartoks:D
@@ -2981,7 +3009,7 @@
 \seq_gset_from_clist:Nn \g_@@_non_CJK_class_seq
   { Default , HalfLeft , HalfRight , NormalSpace , Boundary }
 \seq_new:N \g_@@_CJK_class_seq
-\cs_new_protected_nopar:Npn \@@_save_CJK_class:n #1
+\cs_new_protected:Npn \@@_save_CJK_class:n #1
   {
     \seq_gput_right:Nn \g_@@_CJK_class_seq {#1}
     \tl_const:cn
@@ -3100,11 +3128,11 @@
 % \begin{macro}[int]{\xeCJK_class_group_begin:,\xeCJK_class_group_end:}
 % 在 CJK 类开始时,设置 \tn{XeTeXdashbreakstate} 为零,避免破折号之间的折行。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_class_group_begin:
+\cs_new_protected:Npn \xeCJK_class_group_begin:
   {
     \c_group_begin_token
     \bool_set_true:N \l_@@_CJK_group_bool
-    \int_gset:Nn \g_@@_space_factor_int { 1000 }
+    \xeCJK_reset_space_factor:
     \int_zero:N \tex_XeTeXdashbreakstate:D
   }
 \bool_new:N \l_@@_CJK_group_bool
@@ -3175,15 +3203,15 @@
 %
 % \begin{macro}[int]{\xeCJK_Boundary_and_Default:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_Boundary_and_Default:
+\cs_new_protected:Npn \xeCJK_Boundary_and_Default:
   { \xeCJK_check_for_ecglue: }
-\cs_new_protected_nopar:Npn \@@_check_for_xecglue:
+\cs_new_protected:Npn \@@_check_for_xecglue:
   {
     \int_compare:nNnTF \tex_lastnodetype:D = { 11 }
       { \@@_replace_space: }
       { \@@_check_for_ecglue: }
   }
-\cs_new_protected_nopar:Npn \@@_check_for_ecglue:
+\cs_new_protected:Npn \@@_check_for_ecglue:
   {
     \xeCJK_if_last_node:nTF { CJK }
       { \use_i:nn }
@@ -3204,7 +3232,7 @@
 % 将空格替换为 \tn{CJKecglue}。注意由 \tn{leaders} 等产生的 glue,并不能正确地还回去。
 % 好在 \LaTeXe{} 中常用的 \tn{hrulefill} 和 \tn{dotfill} 定义末尾都有 |\kern\z@| 保护。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_replace_space:
+\cs_new_protected:Npn \@@_replace_space:
   {
     \skip_set_eq:NN \l_@@_last_skip \tex_lastskip:D
     \tex_unskip:D
@@ -3259,15 +3287,15 @@
 %
 % \begin{macro}[int]{\xeCJK_Boundary_and_NormalSp:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_Boundary_and_NormalSp:
+\cs_new_protected:Npn \xeCJK_Boundary_and_NormalSp:
   { \xeCJK_check_for_ecglue_normalsp: }
-\cs_new_protected_nopar:Npn \@@_check_for_xecglue_normalsp:
+\cs_new_protected:Npn \@@_check_for_xecglue_normalsp:
   {
     \int_compare:nNnTF \tex_lastnodetype:D = { 11 }
       { \@@_replace_space: }
       { \@@_check_for_ecglue_normalsp: }
   }
-\cs_new_protected_nopar:Npn \@@_check_for_ecglue_normalsp:
+\cs_new_protected:Npn \@@_check_for_ecglue_normalsp:
   {
     \xeCJK_if_last_node:nT { CJK-space }
       { \xeCJK_remove_node: \xeCJK_space_or_xecglue: }
@@ -3309,7 +3337,7 @@
 %
 % \begin{macro}[int]{\xeCJK_check_for_glue:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_check_for_glue:
+\cs_new_protected:Npn \xeCJK_check_for_glue:
   {
     \int_compare:nNnTF \tex_lastnodetype:D = { 12 }
       { \@@_check_for_glue_auxi: }
@@ -3319,7 +3347,7 @@
           { \@@_check_for_glue_auxii: }
       }
   }
-\cs_new_protected_nopar:Npn \@@_check_for_glue_auxi:
+\cs_new_protected:Npn \@@_check_for_glue_auxi:
   {
     \dim_case:nn { \tex_lastkern:D }
       {
@@ -3333,13 +3361,13 @@
         { \xeCJK_remove_node: \CJKecglue }
       }
   }
-\cs_new_protected_nopar:Npn \@@_check_for_glue_auxii:
+\cs_new_protected:Npn \@@_check_for_glue_auxii:
   {
     \xeCJK_if_last_punct:TF
       { \@@_check_for_glue_auxiii: }
       { \xeCJK_check_for_xglue: }
   }
-\cs_new_protected_nopar:Npn \@@_check_for_glue_auxiii:
+\cs_new_protected:Npn \@@_check_for_glue_auxiii:
   {
     \bool_if:NT \l_@@_last_penalty_bool
       { \tex_penalty:D \l_@@_last_penalty_int }
@@ -3347,7 +3375,7 @@
     \tl_if_eq:NNF \l_@@_aligni_tl \c_@@_left_tl { \CJKglue }
   }
 \cs_new_eq:NN \xeCJK_check_for_xglue: \prg_do_nothing:
-\cs_new_protected_nopar:Npn \@@_check_for_xglue:
+\cs_new_protected:Npn \@@_check_for_xglue:
   {
     \int_compare:nNnT \tex_lastnodetype:D = { 11 }
       {
@@ -3362,7 +3390,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \@@_check_for_xglue_aux:
+\cs_new_protected:Npn \@@_check_for_xglue_aux:
   {
     \skip_if_eq:nnTF
       { \l_@@_last_skip }
@@ -3382,7 +3410,7 @@
       }
       { \skip_horizontal:N \l_@@_last_skip }
   }
-\cs_new_protected_nopar:Npn \@@_ccglue_or_space:
+\cs_new_protected:Npn \@@_ccglue_or_space:
   { \CJKglue }
 %    \end{macrocode}
 % \end{macro}
@@ -3403,7 +3431,7 @@
 % \begin{macro}[int]{\xeCJK_declare_node:n,\xeCJK_make_node:n}
 % 用于判断插入的各种 |kern|。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_declare_node:n #1
+\cs_new_protected:Npn \xeCJK_declare_node:n #1
   {
     \int_gincr:N \g_@@_node_int
     \dim_if_exist:cTF { c_@@_#1_node_dim }
@@ -3412,16 +3440,16 @@
   }
 \int_new:N \g_@@_node_int
 \int_gset:Nn \g_@@_node_int { 10 }
-\cs_new_protected_nopar:Npn \xeCJK_make_node:n #1
+\cs_new_protected:Npn \xeCJK_make_node:n #1
   { \exp_args:Nc \@@_make_node:N { c_@@_#1_node_dim } }
-\cs_new_nopar:Npn \@@_node:n #1
+\cs_new:Npn \@@_node:n #1
   { \use:c { c_@@_#1_node_dim } }
-\cs_new_protected_nopar:Npn \@@_make_node:N #1
+\cs_new_protected:Npn \@@_make_node:N #1
   {
     \tex_kern:D - #1
     \tex_kern:D   #1
   }
-\cs_new_protected_nopar:Npn \xeCJK_remove_node:
+\cs_new_protected:Npn \xeCJK_remove_node:
   { \tex_unkern:D \tex_unkern:D }
 \xeCJK_declare_node:n { CJK }
 \xeCJK_declare_node:n { CJK-space }
@@ -3439,7 +3467,7 @@
   {
     CJKglue .code:n =
       {
-        \cs_set_protected_nopar:Npn \CJKglue {#1}
+        \cs_set_protected:Npn \CJKglue {#1}
         \xeCJK_glue_to_skip:nN {#1} \l_@@_ccglue_skip
       }
   }
@@ -3456,7 +3484,7 @@
   {
     CJKecglue            .code:n =
       {
-        \cs_set_protected_nopar:Npn \CJKecglue {#1}
+        \cs_set_protected:Npn \CJKecglue {#1}
         \xeCJK_glue_to_skip:nN {#1} \l_@@_ecglue_skip
       } ,
     xCJKecglue .choice: ,
@@ -3483,7 +3511,7 @@
     xCJKecglue / unknown .code:n =
       {
         \bool_set_true:N  \l_@@_xecglue_bool
-        \cs_set_protected_nopar:Npn \CJKecglue {#1}
+        \cs_set_protected:Npn \CJKecglue {#1}
         \xeCJK_glue_to_skip:nN {#1} \l_@@_ecglue_skip
         \cs_set_eq:NN \xeCJK_space_or_xecglue: \CJKecglue
         \cs_set_eq:NN \xeCJK_check_for_xglue: \@@_check_for_xglue:
@@ -3512,13 +3540,13 @@
     CJKspace / true  .code:n =
       {
         \bool_set_true:N \l_@@_reserve_space_bool
-        \cs_set_protected_nopar:Npn \@@_ccglue_or_space:
+        \cs_set_protected:Npn \@@_ccglue_or_space:
           { \xeCJK_space_glue: }
       } ,
     CJKspace / false .code:n =
       {
         \bool_set_false:N \l_@@_reserve_space_bool
-        \cs_set_protected_nopar:Npn \@@_ccglue_or_space:
+        \cs_set_protected:Npn \@@_ccglue_or_space:
           { \CJKglue }
       } ,
     CJKspace      .default:n = { true } ,
@@ -3540,7 +3568,7 @@
 % 这样就可能出现问题\footnote{参见 \url{http://bbs.ctex.org/forum.php?mod=viewthread&tid=71563}。}。
 % 原来是都在未定义控制序列前都加上 \cs{exp_not:N},现在是采用分组结束后手工恢复的方式。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_CJK_and_Boundary:w
+\cs_new_protected:Npn \xeCJK_CJK_and_Boundary:w
   {
     \xeCJK_peek_catcode_ignore_spaces:NTF \c_math_toggle_token
       {
@@ -3563,7 +3591,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \@@_boundary_reserve_space:
+\cs_new_protected:Npn \@@_boundary_reserve_space:
   {
     \@@_boundary_group_end:n { CJK-space }
     \xeCJK_space_or_xecglue:
@@ -3574,7 +3602,7 @@
     \token_if_eq_meaning:NNTF #1 \scan_stop:
       {#1} { \cs_set_eq:NN #1 \scan_stop: #1 }
   }
-\cs_new_protected_nopar:Npn \@@_boundary_group_end:n #1
+\cs_new_protected:Npn \@@_boundary_group_end:n #1
   {
     \group_align_safe_end:
     \xeCJK_class_group_end:
@@ -3585,7 +3613,7 @@
 %
 % \begin{macro}[int]{\xeCJK_ignore_spaces:w}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_ignore_spaces:w
+\cs_new_protected:Npn \xeCJK_ignore_spaces:w
   {
     \xeCJK_peek_catcode_ignore_spaces:NTF \c_math_toggle_token
       {
@@ -3609,7 +3637,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \@@_reserve_space_aux:
+\cs_new_protected:Npn \@@_reserve_space_aux:
   {
     \group_align_safe_end:
     \xeCJK_space_or_xecglue:
@@ -3625,7 +3653,7 @@
 %
 % \begin{macro}[int]{\xeCJK_CJK_and_CJK:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_CJK_and_CJK:N
+\cs_new_protected:Npn \xeCJK_CJK_and_CJK:N
   { \CJKglue \CJKsymbol }
 %    \end{macrocode}
 % \end{macro}
@@ -3667,7 +3695,7 @@
 % \begin{macro}[int]{\xeCJK_FullLeft_and_Boundary:}
 % \hypertarget{fl-fr-bound}{}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_Boundary:
+\cs_new_protected:Npn \xeCJK_FullLeft_and_Boundary:
   {
     \@@_punct_if_middle:NTF \g_@@_last_punct_tl
       {
@@ -3689,7 +3717,7 @@
 %
 % \begin{macro}[int]{\xeCJK_FullRight_and_Boundary:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_Boundary:
+\cs_new_protected:Npn \xeCJK_FullRight_and_Boundary:
   {
     \@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl
     \xeCJK_class_group_end:
@@ -3703,7 +3731,7 @@
 % \begin{macro}[int]{\xeCJK_punct_node:N}
 % 保存标点的当前边界宽度和字符码,通过插入 \tn{kern} 实现。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_punct_node:N #1
+\cs_new_protected:Npn \xeCJK_punct_node:N #1
   {
     \@@_punct_bound_unitization:NN #1 \l_@@_tmp_dim
     \@@_make_node:N \l_@@_tmp_dim
@@ -3717,7 +3745,7 @@
 % 我们不想出现过大的 \tn{kern},因此当边界大于 \SI{1}{pt} 时,以 \cs{c_max_dim} 为标准
 % 对其进行“单位化”。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_punct_bound_unitization:NN #1#2
+\cs_new_protected:Npn \@@_punct_bound_unitization:NN #1#2
   {
     \dim_set:Nn #2
       {
@@ -3734,12 +3762,12 @@
 % \begin{macro}[int]{\xeCJK_punct_bound_kern:N}
 % \begin{macro}{\@@_punct_bound_kern:NN}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_punct_bound_kern:N #1
+\cs_new_protected:Npn \xeCJK_punct_bound_kern:N #1
   {
     \exp_after:wN \@@_punct_bound_kern:NN
       \g_@@_last_punct_tl #1
   }
-\cs_new_protected_nopar:Npn \@@_punct_bound_kern:NN #1#2
+\cs_new_protected:Npn \@@_punct_bound_kern:NN #1#2
   {
     \xeCJK_get_punct_bounds:NN \l_@@_aligni_tl #1
     \xeCJK_get_punct_kerning:NN #1 #2
@@ -3764,7 +3792,7 @@
 % \begin{macro}{\@@_punct_bound_kern_ratio:NN}
 % 当标点前后的字体情况不一致时,按一定的比例进行压缩。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_punct_bound_kern_ratio:NN #1#2
+\cs_new_protected:Npn \@@_punct_bound_kern_ratio:NN #1#2
   {
     \dim_set:Nn \l_@@_bound_dim
       { \@@_use_punct_dim:nNN { bound_width } #1 #2 }
@@ -3781,7 +3809,7 @@
         \@@_punct_bound_kern_ratio_aux:N #2
       }
   }
-\cs_new_protected_nopar:Npn \@@_punct_bound_kern_ratio_aux:N #1
+\cs_new_protected:Npn \@@_punct_bound_kern_ratio_aux:N #1
   {
     \skip_set:Nn \l_@@_punct_kern_skip
       {
@@ -3801,12 +3829,12 @@
 % \begin{macro}{\@@_nobreak_hskip:N,\@@_nobreak_hskip:n,
 % \@@_punct_bound_kern:N, \@@_punct_bound_breakable_kern:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_nobreak_hskip:N
+\cs_new_protected:Npn \@@_nobreak_hskip:N
   { \xeCJK_no_break: \skip_horizontal:N }
-\cs_new_protected_nopar:Npn \@@_nobreak_hskip:n
+\cs_new_protected:Npn \@@_nobreak_hskip:n
   { \xeCJK_no_break: \skip_horizontal:n }
 \cs_new_eq:NN \@@_punct_bound_kern:N \@@_nobreak_hskip:N
-\cs_new_protected_nopar:Npn \@@_punct_bound_breakable_kern:N
+\cs_new_protected:Npn \@@_punct_bound_breakable_kern:N
   {
     \tl_if_eq:NNTF \l_@@_aligni_tl \c_@@_right_tl
       {
@@ -3816,7 +3844,7 @@
       }
       { \@@_nobreak_hskip:N }
   }
-\cs_new_protected_nopar:Npn \@@_punct_bound_kern_aux:NNN #1#2
+\cs_new_protected:Npn \@@_punct_bound_kern_aux:NNN #1#2
   {
     \str_if_eq:nnTF {#1} {#2}
       { \@@_nobreak_hskip:N }
@@ -3848,7 +3876,7 @@
 % \begin{macro}{\@@_punct_bound_rule:NN}
 % 用于抹去标点符号的全部左/右空白。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_punct_bound_rule:NN #1#2
+\cs_new_protected:Npn \@@_punct_bound_rule:NN #1#2
   {
     \tex_vrule:D
       width - \@@_use_punct_dim:nNN { bound } #1 #2 ~
@@ -3861,7 +3889,7 @@
 % \begin{macro}{\@@_punct_rule:NN}
 % 用于减少标点符号的左/右空白。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_punct_rule:NN #1#2
+\cs_new_protected:Npn \@@_punct_rule:NN #1#2
   {
     \tex_vrule:D
       width  \@@_use_punct_dim:nNN { rule } #1 #2 ~
@@ -3876,7 +3904,7 @@
 % {标点符号左/右空白的伸展值不超过原始边界,收缩值不小于另一侧边界。}
 % 根据所选的标点处理方式在标点符号左/右增加的空白。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_punct_glue:NN #1#2
+\cs_new_protected:Npn \@@_punct_glue:NN #1#2
   { \@@_punct_hskip:n { \@@_use_dim_or_skip:nNN { glue } #1 #2 } }
 \cs_new_eq:NN \@@_punct_hskip:n \skip_horizontal:n
 %    \end{macrocode}
@@ -3886,7 +3914,7 @@
 % \begin{macro}{\xeCJK_punct_kern:NN,\@@_punct_kern:NN}
 % 相邻两个标点之间的间距,总允许长标点与其他标点之间折行。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_punct_kern:NN #1#2
+\cs_new_protected:Npn \@@_punct_kern:NN #1#2
   {
     \str_if_eq:eeTF {#1} {#2}
       { \@@_punct_nobreak_kern:NN }
@@ -3907,7 +3935,7 @@
 %
 % \begin{macro}{\@@_punct_nobreak_kern:NN}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_punct_nobreak_kern:NN #1#2
+\cs_new_protected:Npn \@@_punct_nobreak_kern:NN #1#2
   { \@@_nobreak_hskip:n { \@@_use_dim_or_skip:nNN { kern } #1 #2 } }
 %    \end{macrocode}
 % \end{macro}
@@ -3919,7 +3947,7 @@
 %
 % \begin{macro}{\@@_punct_breakable_kern:NN}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_punct_breakable_kern:NN #1#2
+\cs_new_protected:Npn \@@_punct_breakable_kern:NN #1#2
   {
     \exp_after:wN \@@_punct_if_right:NT #1
       { \@@_punct_rule:NN \c_@@_right_tl #1 }
@@ -3941,7 +3969,7 @@
 %
 % \begin{macro}[int]{\xeCJK_FullLeft_and_CJK:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_CJK:
+\cs_new_protected:Npn \xeCJK_FullLeft_and_CJK:
   {
     \@@_punct_if_middle:NTF \g_@@_last_punct_tl
       {
@@ -3960,7 +3988,7 @@
 % \changes{v3.7.2}{2018/05/21}{再次修正 FullLeft 类字符与西文连用断词失败的问题。}
 % \cs{@@_nobreak_zero_glue:} 用于确保 FullLeft 类后的西文单词可以断词。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_Default:
+\cs_new_protected:Npn \xeCJK_FullLeft_and_Default:
   {
     \@@_punct_if_middle:NTF \g_@@_last_punct_tl
       {
@@ -3973,12 +4001,12 @@
         \@@_nobreak_zero_glue:
       }
   }
-\cs_new_protected_nopar:Npn \@@_nobreak_zero_glue:
+\cs_new_protected:Npn \@@_nobreak_zero_glue:
   {
     \tex_penalty:D \c_@@_nobreak_penalty_int
     \skip_horizontal:N \c_zero_skip
   }
-\cs_new_protected_nopar:Npn \@@_zero_glue:
+\cs_new_protected:Npn \@@_zero_glue:
   { \skip_horizontal:N \c_zero_skip }
 %    \end{macrocode}
 % \end{macro}
@@ -3985,7 +4013,7 @@
 %
 % \begin{macro}[int]{\xeCJK_FullRight_and_CJK:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_CJK:
+\cs_new_protected:Npn \xeCJK_FullRight_and_CJK:
   {
     \@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl
     \@@_punct_glue:NN \c_@@_right_tl \g_@@_last_punct_tl
@@ -3997,7 +4025,7 @@
 %
 % \begin{macro}[int]{\xeCJK_FullRight_and_Default:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_Default:
+\cs_new_protected:Npn \xeCJK_FullRight_and_Default:
   {
     \@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl
     \xeCJK_class_group_end:
@@ -4008,7 +4036,7 @@
 %
 % \begin{macro}[int]{\xeCJK_Default_and_FullLeft:nN}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_Default_and_FullLeft:nN #1#2
+\cs_new_protected:Npn \xeCJK_Default_and_FullLeft:nN #1#2
   {
     \xeCJK_get_punct_bounds:NN \c_@@_left_tl #2
     \@@_Default_and_FullLeft_glue:N #2
@@ -4020,7 +4048,7 @@
     \@@_punct_rule:NN \c_@@_left_tl #2
     \CJKpunctsymbol #2
   }
-\cs_new_protected_nopar:Npn \@@_Default_and_FullLeft_glue:N #1
+\cs_new_protected:Npn \@@_Default_and_FullLeft_glue:N #1
   { \@@_punct_glue:NN \c_@@_left_tl #1 }
 %    \end{macrocode}
 % \end{macro}
@@ -4027,7 +4055,7 @@
 %
 % \begin{macro}[int]{\xeCJK_CJK_and_FullLeft:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_CJK_and_FullLeft:N #1
+\cs_new_protected:Npn \xeCJK_CJK_and_FullLeft:N #1
   {
     \xeCJK_get_punct_bounds:NN \c_@@_left_tl #1
     \@@_CJK_and_FullLeft_glue:N #1
@@ -4036,7 +4064,7 @@
     \@@_select_punct_font:
     \CJKpunctsymbol #1
   }
-\cs_new_protected_nopar:Npn \@@_CJK_and_FullLeft_glue:N #1
+\cs_new_protected:Npn \@@_CJK_and_FullLeft_glue:N #1
   {
     \CJKglue
     \@@_punct_glue:NN \c_@@_left_tl #1
@@ -4046,7 +4074,7 @@
 %
 % \begin{macro}[int]{\xeCJK_Boundary_and_FullLeft:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_Boundary_and_FullLeft:N #1
+\cs_new_protected:Npn \xeCJK_Boundary_and_FullLeft:N #1
   {
     \xeCJK_get_punct_bounds:NN \c_@@_left_tl #1
     \@@_Boundary_and_FullLeft_glue:N #1
@@ -4068,7 +4096,7 @@
 % \changes{v3.2.5}{2013/07/13}{增加对 \pkg{enumitem} 宏包修改的 \tn{item} 的判断。}
 % 根据 \cs{etex_lastnodetype:D} 的值进行分别处理。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_Boundary_and_FullLeft_glue:N #1
+\cs_new_protected:Npn \@@_Boundary_and_FullLeft_glue:N #1
   {
     \tl_set_eq:NN \l_@@_alignii_tl \c_@@_left_tl
     \group_begin: \exp_args:NNc \group_end: \cs_if_exist_use:NTF
@@ -4085,7 +4113,7 @@
 % \cs{etex_lastnodetype:D} 为 $-1$ 表示 empty list,常出现在盒子的起始位置,
 % 在段落前使用 \tn{noindent} 就是这种情况。
 %    \begin{macrocode}
-\cs_new_protected_nopar:cpn { @@_bound_type_ -1 _glue:Nn } #1#2
+\cs_new_protected:cpn { @@_bound_type_ -1 _glue:Nn } #1#2
   { \@@_zero_glue: }
 %    \end{macrocode}
 % \end{macro}
@@ -4094,7 +4122,7 @@
 % $1$ 表示 hlist node,在这里用来判断是否位于段首。基于正常情况下,\TeX 会在段落开头插入宽度为
 % \tn{parindent} 的水平盒子用于缩进。
 %    \begin{macrocode}
-\cs_new_protected_nopar:cpn { @@_bound_type_  1 _glue:Nn } #1#2
+\cs_new_protected:cpn { @@_bound_type_  1 _glue:Nn } #1#2
   {
     \box_set_to_last:N \l_@@_tmp_box
     \int_compare:nNnTF \tex_lastnodetype:D = { -1 }
@@ -4117,19 +4145,19 @@
 % \env{description} 环境中使用的 \tn{item}(\tn{enit at postlabel@i}),
 % 在这里起到影响作用的是 |\penalty\z@ \hskip\labelsep|。
 %    \begin{macrocode}
-\cs_new_protected_nopar:cpn { @@_bound_type_ 11 _glue:Nn } #1#2
+\cs_new_protected:cpn { @@_bound_type_ 11 _glue:Nn } #1#2
   {
     \skip_if_finite:nTF { \tex_lastskip:D }
       { \@@_bound_glue_auxi:Nn #1 {#2} }
       { \@@_zero_glue: }
   }
-\cs_new_protected_nopar:Npn \@@_bound_glue_auxi:Nn #1#2
+\cs_new_protected:Npn \@@_bound_glue_auxi:Nn #1#2
   {
     \@@_if_last_punct_glue:TF
       { \xeCJK_punct_bound_kern:N #1 }
       { \@@_bound_glue_auxii:n {#2} }
   }
-\cs_new_protected_nopar:Npn \@@_bound_glue_auxii:n #1
+\cs_new_protected:Npn \@@_bound_glue_auxii:n #1
   {
     \skip_set_eq:NN \l_@@_last_skip \tex_lastskip:D
     \skip_if_eq:nnTF { \l_@@_last_skip } { 1sp }
@@ -4155,7 +4183,7 @@
 % \begin{macro}{\@@_bound_type_12_glue:Nn}
 % $12$ 表示 kern node,用于判断之前的字符是否是 CJK 类,如果是,则插入 \tn{CJKglue}。
 %    \begin{macrocode}
-\cs_new_protected_nopar:cpn { @@_bound_type_ 12 _glue:Nn } #1#2
+\cs_new_protected:cpn { @@_bound_type_ 12 _glue:Nn } #1#2
   {
     \xeCJK_if_last_node:nF { CJK }
       { \xeCJK_if_last_node:nF { CJK-space } { \use_none:nn } }
@@ -4170,7 +4198,7 @@
 % 能对齐到边界。判断基于 \tn{item} 的内部定义 \tn{@item} 对 \tn{everypar} 进行了修改,在这里起
 % 到影响作用的是 |\box\@labels \penalty\z@|。以上判断都比较粗略,暂时也没有想起更好的办法。
 %    \begin{macrocode}
-\cs_new_protected_nopar:cpn { @@_bound_type_ 13 _glue:Nn } #1#2
+\cs_new_protected:cpn { @@_bound_type_ 13 _glue:Nn } #1#2
   {
     \@@_if_last_punct_penalty:TF
       { \xeCJK_punct_bound_kern:N #1 }
@@ -4190,7 +4218,7 @@
 %
 % \begin{macro}[int]{\xeCJK_Default_and_FullRight:nN}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_Default_and_FullRight:nN #1#2
+\cs_new_protected:Npn \xeCJK_Default_and_FullRight:nN #1#2
   {
     \xeCJK_get_punct_bounds:NN \c_@@_right_tl #2
     \@@_Default_and_FullRight_glue:N #2
@@ -4206,7 +4234,7 @@
 %
 % \begin{macro}[int]{\xeCJK_Boundary_and_FullRight:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_Boundary_and_FullRight:N #1
+\cs_new_protected:Npn \xeCJK_Boundary_and_FullRight:N #1
   {
     \xeCJK_get_punct_bounds:NN \c_@@_right_tl #1
     \xeCJK_if_last_punct:TF
@@ -4227,7 +4255,7 @@
 %
 % \begin{macro}[int]{\xeCJK_CJK_and_FullRight:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_CJK_and_FullRight:N #1
+\cs_new_protected:Npn \xeCJK_CJK_and_FullRight:N #1
   {
     \xeCJK_get_punct_bounds:NN \c_@@_right_tl #1
     \@@_CJK_and_FullRight_glue:N #1
@@ -4240,12 +4268,13 @@
 %
 % \changes{v3.6.0}{2018/01/23}{解决标点中间被隔开的禁则与压缩问题。}
 % \changes{v3.7.3}{2019/04/15}{修复 penalty 数值错误。}
+% \changes{v3.8.3}{2020/04/27}{修复 \opt{xCJKecglue} 选项。}
 %
 % \begin{macro}{\xeCJK_if_last_punct:TF}
 % \changes{v3.6.1}{2018/02/25}{细化判断。}
 % 判断之前是否是一个标点符号。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_if_last_punct:TF
+\cs_new_protected:Npn \xeCJK_if_last_punct:TF
   {
     \bool_set_false:N \l_@@_last_penalty_bool
     \int_compare:nNnTF \tex_lastnodetype:D = { 11 }
@@ -4256,7 +4285,7 @@
          { \use_ii:nn }
       }
   }
-\cs_new_protected_nopar:Npn \@@_if_last_punct_glue:TF
+\cs_new_protected:Npn \@@_if_last_punct_glue:TF
   {
     \prop_get:NoNTF \g_@@_punct_skip_prop
       { \skip_use:N \tex_lastskip:D } \l_@@_tmp_tl
@@ -4263,7 +4292,7 @@
       { \@@_if_last_punct_glue_auxi:TF }
       { \@@_if_last_punct_glue_auxii:TF }
   }
-\cs_new_protected_nopar:Npn \@@_if_last_punct_glue_auxi:TF
+\cs_new_protected:Npn \@@_if_last_punct_glue_auxi:TF
   {
     \skip_set_eq:NN \l_@@_last_skip \tex_lastskip:D
     \tex_unskip:D
@@ -4276,14 +4305,15 @@
       }
       { \skip_horizontal:N \l_@@_last_skip \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \@@_if_last_punct_glue_auxii:TF
+\cs_new_protected:Npn \@@_if_last_punct_glue_auxii:TF
   {
-    \int_gset_eq:NN \g_@@_space_factor_int \tex_spacefactor:D
-    \skip_if_eq:nnTF { \tex_lastskip:D } { \c_xeCJK_space_skip_tl }
-      { \@@_if_last_punct_glue_auxiii:TF }
-      { \use_ii:nn }
+    \group_begin:
+      \g_@@_space_factor_int \tex_spacefactor:D
+      \skip_if_eq:nnTF { \tex_lastskip:D } { \c_xeCJK_space_skip_tl }
+        { \group_end: \@@_if_last_punct_glue_auxiii:TF }
+        { \group_end: \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \@@_if_last_punct_glue_auxiii:TF
+\cs_new_protected:Npn \@@_if_last_punct_glue_auxiii:TF
   {
     \skip_set_eq:NN \l_@@_tmp_skip \tex_lastskip:D
     \tex_unskip:D
@@ -4297,7 +4327,7 @@
       { \use:n }
       { \skip_horizontal:N \l_@@_tmp_skip \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \@@_if_last_punct_penalty:TF
+\cs_new_protected:Npn \@@_if_last_punct_penalty:TF
   {
     \int_set_eq:NN \l_@@_last_penalty_int \tex_lastpenalty:D
     \tex_unpenalty:D
@@ -4307,7 +4337,7 @@
       { \use:n }
       { \tex_penalty:D \l_@@_last_penalty_int \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \@@_if_last_punct_auxi:TF
+\cs_new_protected:Npn \@@_if_last_punct_auxi:TF
   {
     \tex_unpenalty:D
     \bool_if:NF \l_@@_last_penalty_bool
@@ -4320,13 +4350,13 @@
       { \use:n }
       { \xeCJK_no_break: \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \@@_if_last_punct_auxii:TF
+\cs_new_protected:Npn \@@_if_last_punct_auxii:TF
   {
     \dim_compare:nNnTF \l_@@_last_kern_dim > \c_zero_dim
       { \@@_if_last_punct_auxiii:TF }
       { \@@_make_node:N \l_@@_last_kern_dim \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \@@_if_last_punct_auxiii:TF
+\cs_new_protected:Npn \@@_if_last_punct_auxiii:TF
   {
     \int_case:nnTF { \tex_XeTeXcharclass:D \l_@@_last_kern_dim }
       {
@@ -4338,7 +4368,7 @@
       { \@@_if_last_punct_auxiv:TF }
       { \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \@@_if_last_punct_auxiv:TF
+\cs_new_protected:Npn \@@_if_last_punct_auxiv:TF
   {
     \dim_set_eq:NN \l_@@_tmp_dim \l_@@_last_kern_dim
     \xeCJK_if_last_node:TF
@@ -4388,7 +4418,7 @@
 % \begin{macro}
 % {\@@_CJK_and_FullRight_glue:N,\@@_Default_and_FullRight_glue:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_CJK_and_FullRight_glue:N #1
+\cs_new_protected:Npn \@@_CJK_and_FullRight_glue:N #1
   {
     \@@_punct_if_long:NTF #1
       { \xeCJK_allow_break: }
@@ -4400,7 +4430,7 @@
         \@@_punct_bound_rule:NN \c_@@_left_tl #1
       }
   }
-\cs_new_protected_nopar:Npn \@@_Default_and_FullRight_glue:N #1
+\cs_new_protected:Npn \@@_Default_and_FullRight_glue:N #1
   {
     \@@_punct_if_long:NTF #1
       { \xeCJK_allow_break: }
@@ -4416,7 +4446,7 @@
 %
 % \begin{macro}[int]{\xeCJK_FullLeft_and_FullLeft:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_FullLeft:N #1
+\cs_new_protected:Npn \xeCJK_FullLeft_and_FullLeft:N #1
   {
     \xeCJK_get_punct_bounds:NN \c_@@_left_tl #1
     \xeCJK_get_punct_kerning:oN \g_@@_last_punct_tl #1
@@ -4429,7 +4459,7 @@
 %
 % \begin{macro}[int]{\xeCJK_FullLeft_and_FullRight:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_FullRight:N #1
+\cs_new_protected:Npn \xeCJK_FullLeft_and_FullRight:N #1
   {
     \xeCJK_get_punct_bounds:NN \c_@@_right_tl #1
     \xeCJK_get_punct_kerning:oN \g_@@_last_punct_tl #1
@@ -4442,7 +4472,7 @@
 %
 % \begin{macro}[int]{\xeCJK_FullRight_and_FullLeft:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_FullLeft:N #1
+\cs_new_protected:Npn \xeCJK_FullRight_and_FullLeft:N #1
   {
     \xeCJK_get_punct_bounds:NN \c_@@_left_tl #1
     \xeCJK_get_punct_kerning:oN \g_@@_last_punct_tl #1
@@ -4455,7 +4485,7 @@
 %
 % \begin{macro}[int]{\xeCJK_FullRight_and_FullRight:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_FullRight:N #1
+\cs_new_protected:Npn \xeCJK_FullRight_and_FullRight:N #1
   {
     \xeCJK_get_punct_bounds:NN \c_@@_right_tl #1
     \xeCJK_get_punct_kerning:oN \g_@@_last_punct_tl #1
@@ -4506,13 +4536,13 @@
 %
 % \begin{macro}[int]{\xeCJK_FullRight_symbol:N}
 %    \begin{macrocode}
-\cs_new_nopar:Npn \xeCJK_FullRight_symbol:N { \CJKpunctsymbol }
+\cs_new:Npn \xeCJK_FullRight_symbol:N { \CJKpunctsymbol }
 %    \end{macrocode}
 % \end{macro}
 %
 % \begin{macro}[int]{\xeCJK_check_FullRight:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_check_FullRight:
+\cs_new_protected:Npn \xeCJK_check_FullRight:
   {
     \xeCJK_get_punct_bounds:No \c_@@_right_tl \g_@@_last_punct_tl
     \@@_punct_rule:NN \c_@@_right_tl \g_@@_last_punct_tl
@@ -4535,7 +4565,7 @@
 %
 % \begin{macro}[int]{\xeCJK_check_FullRight_symbol:Nw}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_check_FullRight_symbol:Nw #1
+\cs_new_protected:Npn \xeCJK_check_FullRight_symbol:Nw #1
   { \peek_remove_spaces:n { \@@_save_FullRight_symbol:N #1 } }
 %    \end{macrocode}
 % \end{macro}
@@ -4666,7 +4696,7 @@
 % \begin{macro}[int]{\xeCJK_widow_penalty:}
 % 预防段末孤字而插入的 penalty,值为 \cs{l_@@_widow_penalty_int}。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_widow_penalty:
+\cs_new_protected:Npn \xeCJK_widow_penalty:
   { \tex_penalty:D \l_@@_widow_penalty_int }
 %    \end{macrocode}
 % \end{macro}
@@ -4676,7 +4706,7 @@
 % \begin{macro}[int]{\xeCJK_check_single:Nw}
 % \begin{macro}{\@@_check_single_end:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_check_single:Nw #1
+\cs_new_protected:Npn \xeCJK_check_single:Nw #1
   {
     \group_align_safe_begin:
     \peek_catcode:NTF \c_catcode_letter_token
@@ -4688,7 +4718,7 @@
         #1
       }
   }
-\cs_new_protected_nopar:Npn \@@_check_single_end:N
+\cs_new_protected:Npn \@@_check_single_end:N
   {
     \group_align_safe_end:
     \@@_check_single_save:N
@@ -4704,7 +4734,7 @@
 % 使用 \cs{group_align_safe_begin:} 和 \cs{group_align_safe_end:} 是为了防止在表格
 % 里面报错。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_check_single:NNw #1#2
+\cs_new_protected:Npn \xeCJK_check_single:NNw #1#2
   {
     \xeCJK_peek_catcode_ignore_spaces:NTF \c_catcode_letter_token
       {
@@ -4731,7 +4761,7 @@
         #1 #2
       }
   }
-\cs_new_protected_nopar:Npn \@@_check_single_aux:nNNw #1#2#3
+\cs_new_protected:Npn \@@_check_single_aux:nNNw #1#2#3
   {
     \token_if_cs:NTF \l_peek_token
       { \xeCJK_check_single_cs:NNn }
@@ -4745,10 +4775,10 @@
 % \begin{macro}[int]{\xeCJK_check_single_end:NNnw}
 % \begin{macro}{\@@_check_single_end_aux:NNn,\@@_check_single_end_equation:NNnw}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_check_single_end_aux:NNn #1#2#3
+\cs_new_protected:Npn \@@_check_single_end_aux:NNn #1#2#3
   { \@@_check_single_end:N #1 #2 #3 }
 \cs_new_eq:NN \xeCJK_check_single_end:NNnw \@@_check_single_end_aux:NNn
-\cs_new_protected_nopar:Npn \@@_check_single_end_equation:NNnw
+\cs_new_protected:Npn \@@_check_single_end_equation:NNnw
   {
     \token_if_math_toggle:NTF \l_peek_token
       { \xeCJK_check_single_equation:NNnNw }
@@ -4785,7 +4815,7 @@
 % \changes{v3.1.2}{2012/12/27}
 % {使用 \cs{xeCJK_if_CJK_class:NTF} 来代替 \cs{int_case:nnn} 判断是否是 CJK 字符类。}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_check_single_space:NN #1#2
+\cs_new_protected:Npn \@@_check_single_space:NN #1#2
   {
     \xeCJK_if_CJK_class:NTF #2
       {
@@ -4800,7 +4830,7 @@
 %
 % \begin{macro}[int]{\xeCJK_check_single_equation:NNnNw}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_check_single_equation:NNnNw #1#2#3#4
+\cs_new_protected:Npn \xeCJK_check_single_equation:NNnNw #1#2#3#4
   {
     \peek_catcode:NTF \c_math_toggle_token
       {
@@ -4832,7 +4862,7 @@
 % \tn{ifx} 判断。解决办法是将判断用 \cs{group_align_safe_begin:} 和
 % \cs{group_align_safe_end:} 包起来。或者改用原语 \cs{tex_par:D} 作为判断条件。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_check_single_cs:NNn #1#2#3
+\cs_new_protected:Npn \xeCJK_check_single_cs:NNn #1#2#3
   {
     \tl_case:NoF \l_peek_token
       { \l_@@_check_single_cs_case_tl }
@@ -4851,7 +4881,7 @@
 %
 % \begin{macro}[int]{\xeCJK_check_single_env:nnNn}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_check_single_env:nnNn #1#2#3#4
+\cs_new_protected:Npn \xeCJK_check_single_env:nnNn #1#2#3#4
   {
     \str_case_e:noTF {#4}
       { \l_@@_inline_env_case_tl }
@@ -4980,7 +5010,7 @@
 %
 % \begin{macro}{\@@_sub_restore_or_cancel:n}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_sub_restore_or_cancel:n #1
+\cs_new_protected:Npn \@@_sub_restore_or_cancel:n #1
   {
     \clist_map_inline:nn {#1}
       {
@@ -5005,7 +5035,7 @@
 %
 % \begin{macro}[int]{\xeCJK_declare_sub_char_class:nnn}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_declare_sub_char_class:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_declare_sub_char_class:nnn #1#2#3
   {
     \int_if_exist:cF { \@@_class_csname:n { #1/#2 } }
       {
@@ -5021,7 +5051,7 @@
 %
 % \begin{macro}{\@@_set_sub_class_toks:nn}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_set_sub_class_toks:nn #1#2
+\cs_new_protected:Npn \@@_set_sub_class_toks:nn #1#2
   {
     \seq_map_inline:Nn \g_@@_base_class_seq
       {
@@ -5080,11 +5110,11 @@
       {
         \keys_define:nn { xeCJK / options }
           {
-            PunctStyle / unknown .code:n =
-              { \@@_error:nx { punct-style-unknown } { \l_keys_value_tl } }
+            PunctStyle .code:n =
+              { \@@_error:nx { punct-style-unknown } {#1} }
           }
         \seq_gclear:N \g_@@_punct_style_seq
-        \keys_set:nn { xeCJK / options } { PunctStyle = plain }
+        \@@_set_punct_style:n { plain }
       }
   }
 %    \end{macrocode}
@@ -5183,11 +5213,11 @@
 %    \begin{macrocode}
 \clist_new:N \g_@@_special_punct_clist
 \clist_gset:Nn \g_@@_special_punct_clist { mixed_width , long , middle }
-\cs_new_nopar:Npn \@@_special_punct_seq:n #1 { g_@@_special_punct_#1_seq }
-\cs_new_nopar:Npn \@@_special_punct_tl:nN #1#2 { g_@@_special_punct_#1_#2_tl }
+\cs_new:Npn \@@_special_punct_seq:n #1 { g_@@_special_punct_#1_seq }
+\cs_new:Npn \@@_special_punct_tl:nN #1#2 { g_@@_special_punct_#1_#2_tl }
 \clist_map_inline:Nn \g_@@_special_punct_clist
   { \seq_new:c { \@@_special_punct_seq:n {#1} } }
-\cs_new_protected_nopar:Npn \@@_set_special_punct:nn #1#2
+\cs_new_protected:Npn \@@_set_special_punct:nn #1#2
   {
     \seq_map_inline:cn { \@@_special_punct_seq:n {#1} }
       { \cs_undefine:c { \@@_special_punct_tl:nN {#1} {##1} } }
@@ -5198,7 +5228,7 @@
         \seq_gput_right:cn { \@@_special_punct_seq:n {#1} } {##1}
       }
   }
-\cs_new_protected_nopar:Npn \@@_add_special_punct:nn #1#2
+\cs_new_protected:Npn \@@_add_special_punct:nn #1#2
   {
     \tl_map_inline:xn {#2}
       {
@@ -5209,7 +5239,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \@@_sub_special_punct:nn #1#2
+\cs_new_protected:Npn \@@_sub_special_punct:nn #1#2
   {
     \tl_map_inline:xn {#2}
       {
@@ -5389,20 +5419,20 @@
 % \begin{macro}[int]{\xeCJK_get_punct_bounds:NN}
 % |#1| 为 \cs{c_@@_left_tl} 或 \cs{c_@@_right_tl},|#2| 为标点符号。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_get_punct_bounds:NN #1#2
+\cs_new_protected:Npn \xeCJK_get_punct_bounds:NN #1#2
   {
     \tl_if_exist:cF { \@@_punct_csname:n { dim/glue/#1/#2 } }
       { \@@_get_punct_bounds_aux:NN #1 #2 }
   }
-\cs_new_protected_nopar:Npn \@@_get_punct_bounds_aux:NN
+\cs_new_protected:Npn \@@_get_punct_bounds_aux:NN
   {
     \tl_if_eq:NNTF \l_xeCJK_punct_style_tl \c_@@_punct_style_plain_tl
       { \@@_save_punct_margin_plain:NN }
       { \@@_save_punct_margin:NN }
   }
-\cs_new_protected_nopar:Npn \xeCJK_get_punct_bounds:No
+\cs_new_protected:Npn \xeCJK_get_punct_bounds:No
   { \exp_last_unbraced:NNo \xeCJK_get_punct_bounds:NN }
-\cs_new_protected_nopar:Npn \@@_save_punct_margin_plain:NN #1#2
+\cs_new_protected:Npn \@@_save_punct_margin_plain:NN #1#2
   {
     \@@_save_punct_dim:nNNn { rule }   #1 #2 { \c_zero_dim }
     \@@_save_punct_dim:nNNn { glue }   #1 #2 { \c_zero_dim }
@@ -5412,7 +5442,7 @@
     \@@_save_punct_dim:nNNn { bound } \c_@@_right_tl {#2} { \c_zero_dim }
     \@@_save_punct_skip:nNNn { glue }  #1 #2 { \c_zero_skip }
   }
-\cs_new_protected_nopar:Npn \@@_save_punct_margin:NN #1#2
+\cs_new_protected:Npn \@@_save_punct_margin:NN #1#2
   {
     \group_begin:
       \xeCJK_select_punct_font:
@@ -5445,7 +5475,7 @@
 % 相同长标点压缩。对于破折号,计算两标点之间的空白,保证它中间不被断开。
 % 注意,破折号的边界可能为负值(比如方正新书宋),此时不必压缩。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_long_punct_kerning:N #1
+\cs_new_protected:Npn \@@_long_punct_kerning:N #1
   {
     \dim_set:Nn \l_@@_tmp_dim
       {
@@ -5474,7 +5504,7 @@
 % \begin{macro}[int]{\xeCJK_get_punct_kerning:NN}
 % 标点压缩。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_get_punct_kerning:NN #1#2
+\cs_new_protected:Npn \xeCJK_get_punct_kerning:NN #1#2
   {
     \tl_if_exist:cF { \@@_punct_csname:n { dim/kern/#1/#2 } }
       {
@@ -5484,9 +5514,9 @@
           #1 #2
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_get_punct_kerning:oN
+\cs_new_protected:Npn \xeCJK_get_punct_kerning:oN
   { \exp_after:wN \xeCJK_get_punct_kerning:NN }
-\cs_new_protected_nopar:Npn \@@_save_punct_kerning_plain:NN #1#2
+\cs_new_protected:Npn \@@_save_punct_kerning_plain:NN #1#2
   {
     \@@_save_punct_dim:nNNn { kern } #1 #2 { \c_zero_dim }
     \@@_save_punct_dim:nNNn { bound_kern } #1 #2 { \c_zero_dim }
@@ -5494,7 +5524,7 @@
     \@@_save_punct_skip:nNNn { kern } #1 #2 { \c_zero_skip }
     \@@_save_punct_skip:nNNn { bound_kern } #1 #2 { \c_zero_skip }
   }
-\cs_new_protected_nopar:Npn \@@_save_punct_kerning:NN
+\cs_new_protected:Npn \@@_save_punct_kerning:NN
   {
     \UseInstance { xeCJK / punctuation } { \l_xeCJK_punct_style_tl }
     \xeCJK_punct_kerning_process:NN
@@ -5504,7 +5534,7 @@
 %
 % \begin{macro}[int]{\xeCJK_punct_margin_process:NN}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_punct_margin_process:NN #1#2
+\cs_new_protected:Npn \xeCJK_punct_margin_process:NN #1#2
   {
     \dim_set:Nn \l_@@_tmp_dim
       {
@@ -5566,7 +5596,7 @@
 %
 % \begin{macro}{\@@_calc_punct_width:N}
 %    \begin{macrocode}
-\cs_new_nopar:Npn \@@_calc_punct_width:N #1
+\cs_new:Npn \@@_calc_punct_width:N #1
   {
     \@@_punct_if_middle:NTF #1
       { \@@_punct_width_or_ratio:nN { middle } }
@@ -5582,7 +5612,7 @@
 %
 % \begin{macro}{\@@_calc_margin_width:N}
 %    \begin{macrocode}
-\cs_new_nopar:Npn \@@_calc_margin_width:N #1
+\cs_new:Npn \@@_calc_margin_width:N #1
   {
     \@@_punct_if_middle:NTF #1
       {
@@ -5606,7 +5636,7 @@
 %
 % \begin{macro}[int]{\xeCJK_punct_offset_process:NN}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_punct_offset_process:NN #1#2
+\cs_new_protected:Npn \xeCJK_punct_offset_process:NN #1#2
   {
     \dim_set:Nn \l_@@_tmp_dim
       {
@@ -5680,7 +5710,7 @@
 %
 % \begin{macro}{\@@_punct_width_or_ratio:nN}
 %    \begin{macrocode}
-\cs_new_nopar:Npn \@@_punct_width_or_ratio:nN #1#2
+\cs_new:Npn \@@_punct_width_or_ratio:nN #1#2
   {
     \dim_compare:nNnTF { \use:c { l_@@_#1_punct_width_dim } } < \c_max_dim
       { \use:c { l_@@_#1_punct_width_dim } }
@@ -5698,7 +5728,7 @@
 %
 % \begin{macro}{\@@_margin_width_or_ratio:n}
 %    \begin{macrocode}
-\cs_new_nopar:Npn \@@_margin_width_or_ratio:n #1
+\cs_new:Npn \@@_margin_width_or_ratio:n #1
   {
     \dim_compare:nNnTF { \use:c { l_@@_#1_margin_width_dim } } < \c_max_dim
       { \use:c { l_@@_#1_margin_width_dim } }
@@ -5717,7 +5747,7 @@
 % \begin{macro}[int]{\xeCJK_punct_kerning_process:NN}
 % 当标点之一为长标点时,不必进行压缩。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_punct_kerning_process:NN #1#2
+\cs_new_protected:Npn \xeCJK_punct_kerning_process:NN #1#2
   {
     \dim_set:Nn \l_@@_margin_dim
       { \@@_original_kerning_margin:NN #1 #2 }
@@ -5754,7 +5784,7 @@
       }
       #1 #2
   }
-\cs_new_nopar:Npn \@@_punct_kerning_process_aux:NN #1#2
+\cs_new:Npn \@@_punct_kerning_process_aux:NN #1#2
   {
     \bool_if:NTF \l_@@_enabled_kerning_bool
       { \@@_calc_kerning_margin:NN #1 #2 }
@@ -5770,9 +5800,9 @@
 % \begin{macro}{\@@_save_kerning:nnNN}
 % 相邻两个标点符号的间距能伸长到原始空白(未压缩时的状态),能收缩到较小边距。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_save_kerning:nnNN #1#2
+\cs_new_protected:Npn \@@_save_kerning:nnNN #1#2
   { \@@_save_kerning:nnnNN {#1} {#2} {#2} }
-\cs_new_protected_nopar:Npn \@@_save_kerning:nnnNN #1#2#3#4#5
+\cs_new_protected:Npn \@@_save_kerning:nnnNN #1#2#3#4#5
   {
     \dim_set:Nn \l_@@_tmp_dim
       {
@@ -5792,7 +5822,7 @@
 % \begin{macro}{\@@_original_kerning_margin:NN}
 % 相邻两个标点符号之间的本来空白宽度。
 %    \begin{macrocode}
-\cs_new_nopar:Npn \@@_original_kerning_margin:NN #1#2
+\cs_new:Npn \@@_original_kerning_margin:NN #1#2
   {
     \dim_eval:n
       {
@@ -5808,7 +5838,7 @@
 %
 % \begin{macro}{\@@_calc_kerning_margin:NN,\@@_calc_kerning_margin_aux:NN}
 %    \begin{macrocode}
-\cs_new_nopar:Npn \@@_calc_kerning_margin:NN #1#2
+\cs_new:Npn \@@_calc_kerning_margin:NN #1#2
   {
     \dim_max:nn
       { \l_@@_kerning_margin_minimum_dim }
@@ -5823,7 +5853,7 @@
           }
       }
   }
-\cs_new_nopar:Npn \@@_calc_kerning_margin_aux:NN #1#2
+\cs_new:Npn \@@_calc_kerning_margin_aux:NN #1#2
   {
     \dim_compare:nNnTF \l_@@_kerning_total_width_dim < \c_max_dim
       { \@@_calc_kerning_margin:nNN \l_@@_kerning_total_width_dim }
@@ -5852,7 +5882,7 @@
 %
 % \begin{macro}{\@@_kerning_width_or_ratio:nNN}
 %    \begin{macrocode}
-\cs_new_nopar:Npn \@@_kerning_width_or_ratio:nNN #1#2#3
+\cs_new:Npn \@@_kerning_width_or_ratio:nNN #1#2#3
   {
     \dim_compare:nNnTF { \use:c { l_@@_#1_align_margin_dim } } < \c_max_dim
       { \use:c { l_@@_#1_align_margin_dim } }
@@ -5872,7 +5902,7 @@
 %
 % \begin{macro}{\@@_punct_min_bound:NN}
 %    \begin{macrocode}
-\cs_new_nopar:Npn \@@_punct_min_bound:NN #1#2
+\cs_new:Npn \@@_punct_min_bound:NN #1#2
   {
     \dim_max:nn
       {
@@ -5892,7 +5922,7 @@
 % \begin{macro}{\@@_calc_kerning_margin:nNN}
 % |#2| 和 |#3| 为相邻的两个标点,|#1| 为要确定的相邻两个标点总共占的宽度。
 %    \begin{macrocode}
-\cs_new_nopar:Npn \@@_calc_kerning_margin:nNN #1#2#3
+\cs_new:Npn \@@_calc_kerning_margin:nNN #1#2#3
   {
     \dim_eval:n
       {
@@ -5913,7 +5943,7 @@
 % \begin{macro}[int]{\xeCJK_calc_punct_dimen:N}
 % 计算标点的左右实际边距和实际尺寸。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_calc_punct_dimen:N #1
+\cs_new_protected:Npn \xeCJK_calc_punct_dimen:N #1
   {
     \@@_save_punct_dim:nNNn { bound } \c_@@_left_tl #1
       { \xeCJK_glyph_bounds:NN 1 #1 }
@@ -5934,30 +5964,35 @@
 % \begin{macro}[int]{\xeCJK_glyph_bounds:NN}
 % 用 \tn{XeTeXglyphbounds} 取得标点符号的上下左右空白。
 %    \begin{macrocode}
-\cs_new_nopar:Npn \xeCJK_glyph_bounds:NN #1#2
+\cs_new:Npn \xeCJK_glyph_bounds:NN #1#2
   { \tex_XeTeXglyphbounds:D #1 ~ \tex_XeTeXcharglyph:D `#2 \exp_stop_f: }
 %    \end{macrocode}
 % \end{macro}
 %
+% \changes{v3.8.3}{2020/04/09}{重构 \opt{PunctStyle} 选项,完全展开参数。}
+%
 % \begin{macro}{PunctStyle}
 %    \begin{macrocode}
 \keys_define:nn { xeCJK / options }
+  { PunctStyle .code:n = \exp_args:Nx \@@_set_punct_style:n {#1} }
+\cs_new_protected:Npn \@@_set_punct_style:n #1
   {
-    PunctStyle .choice: ,
-    PunctStyle              .default:n = { quanjiao } ,
-    PunctStyle / halfwidth     .meta:n = { PunctStyle = banjiao } ,
-    PunctStyle / fullwidth     .meta:n = { PunctStyle = quanjiao } ,
-    PunctStyle / mixedwidth    .meta:n = { PunctStyle = kaiming } ,
-    PunctStyle / marginkerning .meta:n = { PunctStyle = hangmobanjiao } ,
-    PunctStyle / plain         .code:n =
-      { \tl_set_eq:NN \l_xeCJK_punct_style_tl \c_@@_punct_style_plain_tl } ,
-    PunctStyle / unknown       .code:n =
+    \IfInstanceExistTF { xeCJK / punctuation } {#1}
+      { \tl_set:Nn \l_xeCJK_punct_style_tl {#1} }
       {
-        \IfInstanceExistTF { xeCJK / punctuation } { \l_keys_value_tl }
-          { \tl_set:Nx \l_xeCJK_punct_style_tl { \l_keys_value_tl } }
-          { \@@_error:nx { punct-style-unknown } { \l_keys_value_tl } }
+        \prop_get:NnNF \c_@@_punct_style_alias_prop
+          {#1} \l_xeCJK_punct_style_tl
+          { \@@_error:nx { punct-style-unknown } {#1} }
       }
   }
+\prop_const_from_keyval:Nn \c_@@_punct_style_alias_prop
+  {
+    halfwidth     = banjiao ,
+    fullwidth     = quanjiao ,
+    mixedwidth    = kaiming ,
+    marginkerning = hangmobanjiao ,
+    plain         = plain
+  }
 \tl_new:N \l_xeCJK_punct_style_tl
 \tl_const:Nn \c_@@_punct_style_plain_tl { plain }
 \@@_msg_new:nn { punct-style-unknown }
@@ -5964,20 +5999,33 @@
   {
     Punctuation~style~"#1"~is~unknown. \\\\
     The~available~styles~are~listed~as~follow.\\\\
-    "plain,~\seq_use:Nnnn \g_@@_punct_style_seq { ~and~ } { ,~ } { ,~and~ }".\\
+    "plain,~\seq_use:Nnnn \g_@@_punct_style_seq
+      { ~and~ } { ,~ } { ,~and~ }".\\
   }
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\@@_trim_spaces:n}
+% \pkg{xparse} 处理函数,先完全展开参数再删除两边空格。
+%    \begin{macrocode}
+\cs_new_protected:Npn \@@_trim_spaces:n #1
+  {
+    \tl_set:Nx \ProcessedArgument
+      { \exp_args:Ne \tl_trim_spaces:n {#1} }
+  }
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{\xeCJKDeclarePunctStyle}
 % 定义新的标点处理风格,已经存在的同名风格将被覆盖。
 %    \begin{macrocode}
-\NewDocumentCommand \xeCJKDeclarePunctStyle { > { \TrimSpaces } m m }
+\NewDocumentCommand \xeCJKDeclarePunctStyle
+  { > { \@@_trim_spaces:n } m m }
   {
     \IfInstanceExistTF { xeCJK / punctuation } {#1}
       { \@@_warning:nx { punct-style-already-defined } {#1} }
-      { \seq_gput_right:Nx \g_@@_punct_style_seq {#1} }
-    \exp_args:Nnx \DeclareInstance { xeCJK / punctuation } {#1} { basic } {#2}
+      { \seq_gput_right:Nn \g_@@_punct_style_seq {#1} }
+    \DeclareInstance { xeCJK / punctuation } {#1} { basic } {#2}
   }
 \seq_new:N \g_@@_punct_style_seq
 \@@_msg_new:nn { punct-style-already-defined }
@@ -5992,10 +6040,11 @@
 % \begin{macro}{\xeCJKEditPunctStyle}
 % 对已有的标点处理风格进行修改。
 %    \begin{macrocode}
-\NewDocumentCommand \xeCJKEditPunctStyle { > { \TrimSpaces } m m }
+\NewDocumentCommand \xeCJKEditPunctStyle
+  { > { \@@_trim_spaces:n } m m }
   {
     \IfInstanceExistTF { xeCJK / punctuation } {#1}
-      { \exp_args:Nnx \EditInstance { xeCJK / punctuation } {#1} {#2} }
+      { \EditInstance { xeCJK / punctuation } {#1} {#2} }
       { \@@_error:nx { punct-style-unknown } {#1} }
   }
 \@onlypreamble \xeCJKEditPunctStyle
@@ -6072,7 +6121,7 @@
 % \begin{macro}[int]{\xeCJK_fallback_test_glyph:N}
 % 测试当前字体中是否存在当前字符,如存在则直接输出,否则启用后备字体。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_fallback_test_glyph:N #1
+\cs_new_protected:Npn \xeCJK_fallback_test_glyph:N #1
   {
     \xeCJK_glyph_if_exist:NTF #1
       { \@@_fallback_save_CJKsymbol:N #1 }
@@ -6092,7 +6141,7 @@
 % \begin{macro}[int]{\xeCJK_aftergroup_reset_Boundary:N}
 % 在分组中暂时清空 |#1| 与边界的 toks,分组后恢复。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_aftergroup_reset_Boundary:N #1
+\cs_new_protected:Npn \xeCJK_aftergroup_reset_Boundary:N #1
   {
     \tl_set:Nx \l_@@_tmp_tl
       { \tex_the:D \tex_XeTeXcharclass:D `#1 ~ \xeCJK_class_num:n { Boundary } }
@@ -6114,7 +6163,7 @@
 % 循环测试后备字体是否包含字符 |#1|。若后备字体中存在该字符或者再没有后备字体,则
 % 结束循环。当前字体族没有备用字体时,使用 \tn{CJKfamilydefault} 的设置。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_fallback_loop:Nn #1#2
+\cs_new_protected:Npn \xeCJK_fallback_loop:Nn #1#2
   {
     \xeCJK_family_if_exist:nTF {#2}
       {
@@ -6163,7 +6212,7 @@
 %
 % \begin{macro}[int]{\xeCJK_set_family_fallback:nnn}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_set_family_fallback:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_set_family_fallback:nnn #1#2#3
   {
     \group_begin:
     \tl_set:Nn \l_@@_fallback_family_tl {#1}
@@ -6232,7 +6281,7 @@
 % 用于定义 CJK 子区字体和备用字体的选项。
 %    \begin{macrocode}
 \seq_new:N \g_@@_sub_key_seq
-\cs_new_protected_nopar:Npn \xeCJK_new_sub_key:n #1
+\cs_new_protected:Npn \xeCJK_new_sub_key:n #1
   {
     \seq_gput_right:Nn \g_@@_sub_key_seq {#1}
     \keys_define:nn { xeCJK / features }
@@ -6264,7 +6313,7 @@
 %
 % \begin{macro}{\@@_get_sub_features:nn,\@@_get_sub_features:w}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_get_sub_features:nn #1#2
+\cs_new_protected:Npn \@@_get_sub_features:nn #1#2
   {
     \tl_set:Nx \l_@@_tmp_tl { \xeCJK_tl_remove_outer_braces:n {#2} }
     \clist_clear:N \l_@@_sub_font_options_clist
@@ -6279,7 +6328,7 @@
         { \exp_not:V \l_@@_sub_font_name_tl }
       }
   }
-\cs_new_protected_nopar:Npn \@@_get_sub_features:w #1 [#2] #3 \q_mark #4 \q_stop
+\cs_new_protected:Npn \@@_get_sub_features:w #1 [#2] #3 \q_mark #4 \q_stop
   {
     \quark_if_nil:nTF {#2}
       { \tl_set_eq:NN \l_@@_sub_font_name_tl \l_@@_tmp_tl }
@@ -6357,7 +6406,7 @@
 %
 % \begin{macro}{\@@_set_family_initial:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_set_family_initial:
+\cs_new_protected:Npn \@@_set_family_initial:
   {
     \int_gincr:N \g_@@_family_int
     \prop_clear:N \l_@@_sub_key_prop
@@ -6383,7 +6432,7 @@
 % \begin{macro}[int]{\xeCJK_set_family:nnn}
 % 设置一个 CJK 新字体族,与 \tn{newfontfamily} 类似,增加 |FallBack| 选项。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_set_family:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_set_family:nnn #1#2#3
   {
     \group_begin:
     \@@_set_family_initial:
@@ -6413,7 +6462,7 @@
 %
 % \begin{macro}{\@@_binding_sub_family:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_binding_sub_family:
+\cs_new_protected:Npn \@@_binding_sub_family:
   {
     \tl_if_empty:NF \l_@@_sub_family_name_tl
       { \tl_set_eq:NN \l_@@_family_name_tl \l_@@_sub_family_name_tl }
@@ -6423,9 +6472,9 @@
 %
 % \begin{macro}{\@@_gset_family_cs:x}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_gset_family_cs:x #1
+\cs_new_protected:Npn \@@_gset_family_cs:x #1
   {
-    \cs_gset_protected_nopar:cpx { \@@_family_csname:n {#1} }
+    \cs_gset_protected:cpx { \@@_family_csname:n {#1} }
       {
         \group_begin:
         \exp_not:n { \cs_set_eq:NN \xeCJK at fontfamily \use_none:n }
@@ -6446,7 +6495,7 @@
 %
 % \begin{macro}{\@@_check_family:n}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_check_family:n #1
+\cs_new_protected:Npn \@@_check_family:n #1
   {
     \prop_gpop:NnNT \g_@@_family_font_name_prop {#1} \l_@@_tmp_tl
       {
@@ -6466,7 +6515,7 @@
 %
 % \begin{macro}{\@@_parse_font_shape:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_parse_font_shape:
+\cs_new_protected:Npn \@@_parse_font_shape:
   {
     \tl_if_blank:VTF \l_@@_font_name_bf_tl
       {
@@ -6507,7 +6556,7 @@
 %
 % \begin{macro}{\@@_save_family_info:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_save_family_info:
+\cs_new_protected:Npn \@@_save_family_info:
   {
     \prop_gput:NVV \g_@@_family_font_name_prop
       \l_@@_family_name_tl \l_@@_font_name_tl
@@ -6519,7 +6568,7 @@
 %
 % \begin{macro}{\@@_set_sub_block_family:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_set_sub_block_family:
+\cs_new_protected:Npn \@@_set_sub_block_family:
   {
     \prop_map_inline:Nn \l_@@_sub_key_prop
       {
@@ -6532,7 +6581,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \@@_copy_sub_family:n #1
+\cs_new_protected:Npn \@@_copy_sub_family:n #1
   {
     \@@_check_family:V \l_@@_sub_family_name_tl
     \prop_get:NoNT \g_@@_family_font_name_prop
@@ -6548,7 +6597,7 @@
         \prop_gput:NVV \g_@@_family_font_options_prop
           \l_@@_sub_family_name_tl \l_@@_sub_font_options_clist
       }
-    \cs_gset_protected_nopar:cpx
+    \cs_gset_protected:cpx
       { \@@_family_csname:n { \l_@@_sub_family_name_tl } }
       {
         \xeCJK_family_if_exist:xT { \l_@@_family_name_tl }
@@ -6564,7 +6613,7 @@
 %
 % \begin{macro}{\@@_copy_family:nn,\@@_copy_family:xx}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_copy_family:nn #1#2
+\cs_new_protected:Npn \@@_copy_family:nn #1#2
   {
     \xeCJK_family_if_exist:nT {#2}
       {
@@ -6584,7 +6633,7 @@
           { \@@_family_nfss_csname:n {#2} }
       }
   }
-\cs_new_protected_nopar:Npn \@@_copy_family:xx #1#2
+\cs_new_protected:Npn \@@_copy_family:xx #1#2
   { \use:x { \@@_copy_family:nn {#1} {#2} } }
 %    \end{macrocode}
 % \end{macro}
@@ -6595,18 +6644,18 @@
 % \begin{variable}[int]{\l_xeCJK_current_font_tl}
 % 缓存当前字体的原始格式,以加速编译。
 %    \begin{macrocode}
-\cs_new_nopar:Npn \@@_font_csname:n #1
+\cs_new:Npn \@@_font_csname:n #1
   { xeCJK/#1/\f at series/\f at shape/\f at size }
 \tl_new:N \l_xeCJK_current_font_tl
 \tl_set:No \l_xeCJK_current_font_tl
   { \@@_font_csname:n { \CJK at family } }
-\cs_new_protected_nopar:Npn \xeCJK_select_font:
+\cs_new_protected:Npn \xeCJK_select_font:
   {
     \@@_select_font:cn
       { \l_xeCJK_current_font_tl }
       { \l_xeCJK_family_tl }
   }
-\cs_new_protected_nopar:Npn \@@_select_font:Nn #1#2
+\cs_new_protected:Npn \@@_select_font:Nn #1#2
   {
     \cs_if_exist:NF #1 { \@@_font_initial:Nn #1 {#2} }
     #1
@@ -6624,7 +6673,7 @@
 % 注意要将 \tn{selectfont} 放在分组中调用,防止 \tn{f at series} 等字体参数被修改,
 % 导致 \cs{l_xeCJK_current_font_tl} 标记前后不一致,引发错误(见~\ghissue{486})。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_font_initial:Nn #1#2
+\cs_new_protected:Npn \@@_font_initial:Nn #1#2
   {
     \group_begin:
       \@@_family_use:n {#2}
@@ -6639,7 +6688,7 @@
 % 切换标点符号字体。
 %    \begin{macrocode}
 \cs_new_eq:NN \xeCJK_select_punct_font: \xeCJK_select_font:
-\cs_new_protected_nopar:Npn \@@_select_punct_font_aux:
+\cs_new_protected:Npn \@@_select_punct_font_aux:
   {
     \@@_select_font:cn
       { \l_xeCJK_current_punct_font_tl }
@@ -6660,7 +6709,7 @@
 % \changes{v3.1.0}{2012/11/18}{改进定义,加快切换速度。}
 % 两个 CJK 分区之间的字体切换。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_switch_font:nn #1#2
+\cs_new_protected:Npn \@@_switch_font:nn #1#2
   {
     \str_if_eq:nnF {#1} {#2}
       {
@@ -6681,7 +6730,7 @@
 % 分区字体;若 \tn{CJKfamilydefault} 也没有定义该分区字体,则使用当前 CJK 字体族的
 % 主分区字体。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_select_font:n #1
+\cs_new_protected:Npn \xeCJK_select_font:n #1
   {
     \@@_select_font:cnn
       { \@@_font_csname:n { \CJK at family/#1 } }
@@ -6688,7 +6737,7 @@
       { \l_xeCJK_family_tl }
       {#1}
   }
-\cs_new_protected_nopar:Npn \@@_select_font:Nnn #1#2#3
+\cs_new_protected:Npn \@@_select_font:Nnn #1#2#3
   {
     \cs_if_exist:NF #1
       { \@@_block_font_initial:Nnn #1 {#2} {#3} }
@@ -6695,12 +6744,12 @@
     #1
   }
 \cs_generate_variant:Nn \@@_select_font:Nnn { c }
-\cs_new_protected_nopar:Npn \@@_block_font_initial:Nnn #1#2#3
+\cs_new_protected:Npn \@@_block_font_initial:Nnn #1#2#3
   {
     \xeCJK_block_family:nn {#2} {#3}
     \@@_font_initial:Nn #1 { #2/#3 }
   }
-\cs_new_protected_nopar:Npn \xeCJK_block_family:nn #1#2
+\cs_new_protected:Npn \xeCJK_block_family:nn #1#2
   {
     \xeCJK_family_if_exist:xF { #1/#2 }
       {
@@ -6719,16 +6768,16 @@
 %   {\@@_family_csname:n,\@@_family_nfss_csname:n,
 %    \@@_family_use:n,\@@_gset_family_nfss_cs:nn}
 %    \begin{macrocode}
-\cs_new_nopar:Npn \@@_family_csname:n #1
+\cs_new:Npn \@@_family_csname:n #1
   { xeCJK/family/#1 }
-\cs_new_nopar:Npn \@@_family_nfss_csname:n #1
+\cs_new:Npn \@@_family_nfss_csname:n #1
   { xeCJK/family/nfss/#1 }
-\cs_new_protected_nopar:Npn \@@_family_use:n #1
+\cs_new_protected:Npn \@@_family_use:n #1
   { \use:c { \@@_family_nfss_csname:n {#1} } }
-\cs_new_protected_nopar:Npn \@@_gset_family_nfss_cs:nn #1#2
+\cs_new_protected:Npn \@@_gset_family_nfss_cs:nn #1#2
   {
     \prop_gput:Nnn \g_@@_family_name_prop {#1} {#2}
-    \cs_gset_protected_nopar:cpx
+    \cs_gset_protected:cpx
       { \@@_family_nfss_csname:n {#1} }
       { \@@_nfss_family:nn { \c_@@_encoding_tl } {#2} }
   }
@@ -6741,7 +6790,7 @@
 %    \begin{macrocode}
 \cs_if_exist:NTF \fontseriesforce
   {
-    \cs_new_protected_nopar:Npn \@@_nfss_family:nn #1#2
+    \cs_new_protected:Npn \@@_nfss_family:nn #1#2
       {
         \fontencoding {#1}
         \str_if_eq:eeF { \f at series } { \bfdefault }
@@ -6756,7 +6805,7 @@
         \fontfamily {#2}
         \selectfont
       }
-    \cs_new_protected_nopar:Npn \@@_nfss_series:n #1
+    \cs_new_protected:Npn \@@_nfss_series:n #1
       {
         \str_if_eq:eeT { \f at series } { \use:c { bfseries@#1 } }
           { \fontseriesforce { \bfdefault } }
@@ -6763,7 +6812,7 @@
       }
   }
   {
-    \cs_new_protected_nopar:Npn \@@_nfss_family:nn #1#2
+    \cs_new_protected:Npn \@@_nfss_family:nn #1#2
       {
         \fontencoding {#1}
         \tl_set:Nn \f at family {#2}
@@ -6798,7 +6847,7 @@
     \xeCJK_family:NNx #1 #2 {#3}
     \tex_ignorespaces:D
   }
-\cs_new_protected_nopar:Npn \xeCJK_family:NNn #1#2#3
+\cs_new_protected:Npn \xeCJK_family:NNn #1#2#3
   {
     \tl_if_blank:nTF {#3}
       {
@@ -6820,7 +6869,7 @@
       }
   }
 \cs_generate_variant:Nn \xeCJK_family:NNn { NNx }
-\cs_new_protected_nopar:Npn \xeCJK_switch_family:n #1
+\cs_new_protected:Npn \xeCJK_switch_family:n #1
   {
     \xeCJK_family_if_exist:nTF {#1}
       {
@@ -6853,7 +6902,7 @@
     PunctFamily / unknown .code:n =
       { \xeCJK_punct_family:x {#1} } ,
   }
-\cs_new_protected_nopar:Npn \xeCJK_punct_family:n #1
+\cs_new_protected:Npn \xeCJK_punct_family:n #1
   {
     \xeCJK_family_if_exist:nTF {#1}
       {
@@ -6887,7 +6936,7 @@
 %
 % \begin{macro}{\@@_gobble_CJKfamily:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_gobble_CJKfamily:
+\cs_new_protected:Npn \@@_gobble_CJKfamily:
   { \cs_set_eq:NN \CJKfamily \@@_gobble_CJKfamily:wn }
 \NewExpandableDocumentCommand \@@_gobble_CJKfamily:wn { t+ t- m } {  }
 %    \end{macrocode}
@@ -6895,7 +6944,7 @@
 %
 % \begin{macro}[int]{\xeCJK_family_if_exist_use:n}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_family_if_exist_use:n #1
+\cs_new_protected:Npn \xeCJK_family_if_exist_use:n #1
   {
     \xeCJK_family_if_exist:nTF {#1}
       { \@@_family_use:n {#1} }
@@ -6909,7 +6958,7 @@
 % \changes{v3.1.2}{2013/01/01}
 % {在没有定义任何 CJK 字体的情况下,不再重复给出字体没有定义的警告。}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_family_unknown_warning:n #1
+\cs_new_protected:Npn \@@_family_unknown_warning:n #1
   {
     \prop_if_empty:NF \g_@@_family_font_name_prop
       {
@@ -6927,7 +6976,7 @@
     Unknown~CJK~family~`\@@_msg_family_map:n {#1}'~is~being~ignored.\\\\
     Try~to~use~`\@@_msg_def_family_map:n {#1}'~to~define~it.
   }
-\cs_new_nopar:Npn \@@_msg_def_family_map:n #1
+\cs_new:Npn \@@_msg_def_family_map:n #1
   {
     \str_case_e:nnF {#1}
       {
@@ -6938,7 +6987,7 @@
       { \token_to_str:N \setCJKfamilyfont \{ #1 \} }
     [...]\{...\}
   }
-\cs_new_nopar:Npn \@@_msg_family_map:n #1
+\cs_new:Npn \@@_msg_family_map:n #1
   {
     \str_case_e:nnF {#1}
       {
@@ -7012,7 +7061,7 @@
 % \begin{macro}{\@@_preamble_family:n}
 % 用在 \tn{setCJKmainfont} 等主要命令之后,确保导言区有 CJK 字体可用。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_preamble_family:n #1
+\cs_new_protected:Npn \@@_preamble_family:n #1
   { \str_if_eq:eeT {#1} { \CJKfamilydefault } { \normalfont } }
 %    \end{macrocode}
 % \end{macro}
@@ -7031,7 +7080,7 @@
   {
     \tl_set:Nx \l_@@_tmp_tl
       { \tl_if_novalue:nTF {#1} { \cs_to_str:N #2 } {#1} }
-    \cs_new_protected_nopar:Npx #2
+    \cs_new_protected:Npx #2
       { \xeCJK_switch_family:n { \l_@@_tmp_tl } }
     \@@_pass_args:nnnn
       { \xeCJK_set_family:nnn { \l_@@_tmp_tl } } {#3} {#4}
@@ -7048,7 +7097,7 @@
 %
 % \begin{macro}[int]{\xeCJK_fontspec:nn}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_fontspec:nn #1#2
+\cs_new_protected:Npn \xeCJK_fontspec:nn #1#2
   {
     \prop_get:NnNTF \g_@@_fontspec_prop
       { CJKfontspec/#1/#2/id } \l_xeCJK_family_tl
@@ -7059,7 +7108,7 @@
           {#1} {#2}
       }
   }
-\cs_new_protected_nopar:Npn \@@_fontspec:nnn #1#2#3
+\cs_new_protected:Npn \@@_fontspec:nnn #1#2#3
   {
     \prop_gput:Nnn \g_@@_fontspec_prop { CJKfontspec/#2/#3/id } {#1}
     \xeCJK_set_family:nnn {#1} {#2} {#3}
@@ -7090,7 +7139,7 @@
 %
 % \begin{macro}[int]{\xeCJK_add_font_features:Nnn}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_add_font_features:Nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_add_font_features:Nnn #1#2#3
   {
     \prop_get:NoNTF \g_@@_family_font_name_prop
       \l_xeCJK_family_tl \l_@@_font_name_tl
@@ -7146,7 +7195,7 @@
 %
 % \begin{macro}{\@@_add_sub_class_features:n}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_add_sub_class_features:n #1
+\cs_new_protected:Npn \@@_add_sub_class_features:n #1
   {
     \prop_get:NoNTF \g_@@_family_font_name_prop
       { \l_xeCJK_family_tl/#1 } \l_@@_sub_font_name_tl
@@ -7189,7 +7238,7 @@
 %    \begin{macrocode}
 \keys_define:nn { xeCJK / options }
   { LoadFandol .bool_gset:N = \g_@@_fandol_bool }
-\cs_new_protected_nopar:Npn \@@_load_fandol:
+\cs_new_protected:Npn \@@_load_fandol:
   {
     \xeCJK_set_family:xnn { \CJKrmdefault }
       { Extension = .otf , BoldFont = FandolSong-Bold , ItalicFont = FandolKai-Regular }
@@ -7241,7 +7290,7 @@
       }
       { \xeCJK_ensure_default_family: }
   }
-\cs_new_protected_nopar:Npn \xeCJK_ensure_default_family:
+\cs_new_protected:Npn \xeCJK_ensure_default_family:
   {
     \xeCJK_family_if_exist:xF { \CJKfamilydefault }
       {
@@ -7315,8 +7364,9 @@
 % \changes{v3.4.0}{2016/05/01}{CJKmath 的字符范围遵从 \tn{xeCJKDeclareCharClass} 的设置。}
 % 当没有设置 CJK 数学字体时,使用 \tn{CJKfamilydefault} 作为数学字体。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_set_mathfont:
+\cs_new_protected:Npn \xeCJK_set_mathfont:
   {
+    \cs_if_exist_use:N \@@_save_um_char:
     \xeCJK_family_if_exist:xTF { \c_@@_math_tl }
       { \@@_set_mathfont_aux: }
       {
@@ -7326,8 +7376,9 @@
             \@@_set_mathfont_aux:
           }
       }
+    \cs_if_exist_use:N \@@_restore_um_char:
   }
-\cs_new_protected_nopar:Npn \@@_set_mathfont_aux:
+\cs_new_protected:Npn \@@_set_mathfont_aux:
   {
     \tl_const:Nx \c_@@_math_family_tl
       { \l_@@_fontspec_family_tl }
@@ -7354,7 +7405,7 @@
 % \begin{macro}[int]{\xeCJK_set_mathfont_block:}
 % 分区数学字体。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_set_mathfont_block:
+\cs_new_protected:Npn \xeCJK_set_mathfont_block:
   {
     \seq_if_empty:NF \g_@@_CJK_sub_class_seq
       {
@@ -7363,7 +7414,7 @@
           \xeCJK_set_mathfont_block:n
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_set_mathfont_block:n #1
+\cs_new_protected:Npn \xeCJK_set_mathfont_block:n #1
   {
     \xeCJK_block_family:nn { \c_@@_math_tl } {#1}
     \prop_get:NoNTF \g_@@_fam_prop
@@ -7378,7 +7429,7 @@
       }
     \xeCJK_gset_mathcode:cn { g_@@_CJK/#1_range_clist } { \l_@@_fam_int }
   }
-\cs_new_protected_nopar:Npn \@@_set_mathfont_block_aux:Nn #1#2
+\cs_new_protected:Npn \@@_set_mathfont_block_aux:Nn #1#2
   {
     \int_set_eq:NN \l_@@_fam_int #1
     \prop_gput:Nnn \g_@@_block_fam_prop {#2} {#1}
@@ -7396,7 +7447,7 @@
 % 而 \tn{updefault} 初始值是 \texttt{up},两者并不一致。
 % \pkg{fontspec} 包定义字体使用的是 \tn{shapedefault}。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_declare_mathfont:nn #1#2
+\cs_new_protected:Npn \xeCJK_declare_mathfont:nn #1#2
   {
     \xeCJK_declare_symbol_font:nnnnn {#1} { \c_@@_encoding_tl }
       {#2} { \mddefault } { \shapedefault }
@@ -7465,7 +7516,7 @@
 \cs_new_protected:Npn \@@_new_symbol_font:NN #1#2
   {
     \tl_put_right:Nn \group at list { \group at elt #1 #2 }
-    \cs_set_nopar:Npn \version at elt ##1
+    \cs_set:Npn \version at elt ##1
       { \tl_put_right:Nn ##1 { \getanddefine at fonts #1 #2 } }
     \version at list
   }
@@ -7478,7 +7529,7 @@
 %   \xeCJK_gset_mathcode:Nnn,\xeCJK_gset_mathcode:nnnn}
 % CJK 字符的数学类别固定为 $0$(\tn{mathord})。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_gset_mathcode:Nn #1#2
+\cs_new_protected:Npn \xeCJK_gset_mathcode:Nn #1#2
   {
     \clist_map_inline:Nn #1
       {
@@ -7487,7 +7538,7 @@
       }
   }
 \cs_generate_variant:Nn \xeCJK_gset_mathcode:Nn { c }
-\cs_new_protected_nopar:Npn \xeCJK_gset_mathcode:nnnn #1#2#3#4
+\cs_new_protected:Npn \xeCJK_gset_mathcode:nnnn #1#2#3#4
   {
     \@@_check_num_range:nnNN {#1} {#2} \l_@@_begin_int \l_@@_end_int
     \xeCJK_int_until_do:nn { \l_@@_begin_int > \l_@@_end_int }
@@ -7496,7 +7547,7 @@
         \int_incr:N \l_@@_begin_int
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_gset_mathcode:Nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_gset_mathcode:Nnn #1#2#3
   { \tex_global:D \tex_Umathcode:D #1 = #2 ~ #3 ~ #1 }
 %    \end{macrocode}
 % \end{macro}
@@ -7524,7 +7575,7 @@
       { \int_set_eq:NN \l_@@_verb_case_int \l_keys_choice_int } ,
     Verb  .default:n = { env }
   }
-\cs_new_protected_nopar:Npn \@@_verb_font_hook:
+\cs_new_protected:Npn \@@_verb_font_hook:
   {
     \if_case:w \l_@@_verb_case_int
     \or:
@@ -7541,7 +7592,7 @@
   }
 \@@_after_preamble:n
   {
-    \cs_set_protected_nopar:Npx \verbatim at font
+    \cs_set_protected:Npx \verbatim at font
       { \exp_not:o { \verbatim at font } \@@_verb_font_hook: }
   }
 %    \end{macrocode}
@@ -7550,7 +7601,7 @@
 % \begin{macro}{\@@_nobreak_skip_zero:,\@@_nobreak_skip:}
 % \changes{v3.2.8}{2013/11/16}{禁止在 \tn{verb} 中断行。}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_nobreak_skip_zero:
+\cs_new_protected:Npn \@@_nobreak_skip_zero:
   {
     \@@_reset_shipout_skip:
     \cs_set_eq:NN \@@_shipout_check_for_glue: \xeCJK_check_for_glue:
@@ -7567,7 +7618,7 @@
     \cs_set_eq:NN \@@_punct_hskip:n \@@_nobreak_hskip:n
     \cs_set_eq:NN \@@_punct_breakable_kern:n \@@_nobreak_hskip:n
   }
-\cs_new_protected_nopar:Npn \@@_nobreak_skip:
+\cs_new_protected:Npn \@@_nobreak_skip:
   {
     \@@_reset_shipout_skip:
     \xeCJK_glue_to_skip:nN { \CJKglue } \l_@@_ccglue_skip
@@ -7581,9 +7632,9 @@
     \cs_set_eq:NN \@@_punct_hskip:n \@@_nobreak_hskip:n
     \cs_set_eq:NN \@@_punct_breakable_kern:n \@@_nobreak_hskip:n
   }
-\cs_new_protected_nopar:Npn \@@_nobreak_ccglue:
+\cs_new_protected:Npn \@@_nobreak_ccglue:
   { \xeCJK_no_break: \skip_horizontal:N \l_@@_ccglue_skip }
-\cs_new_protected_nopar:Npn \@@_nobreak_ecglue:
+\cs_new_protected:Npn \@@_nobreak_ecglue:
   { \xeCJK_no_break: \skip_horizontal:N \l_@@_ecglue_skip }
 %    \end{macrocode}
 % \end{macro}
@@ -7590,7 +7641,7 @@
 %
 % \begin{macro}{\@@_reset_shipout_skip:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_reset_shipout_skip:
+\cs_new_protected:Npn \@@_reset_shipout_skip:
   {
     \cs_set_eq:NN \@@_shipout_CJKglue:   \CJKglue
     \cs_set_eq:NN \@@_shipout_CJKecglue: \CJKecglue
@@ -7657,7 +7708,7 @@
 \NewDocumentCommand \xeCJKOffVerbAddon { }
   { \tl_use:N \l_@@_off_verb_addon_tl }
 \tl_new:N \l_@@_off_verb_addon_tl
-\cs_new_protected_nopar:Npn \@@_verb_addon:
+\cs_new_protected:Npn \@@_verb_addon:
   {
     \bool_if:NF \l_@@_verb_addon_bool
       {
@@ -7671,7 +7722,7 @@
         \cs_set_eq:NN \@@_shipout_CJKecglue: \CJKecglue
         \cs_set_eq:NN \@@_shipout_check_for_glue: \xeCJK_check_for_glue:
         \cs_set_eq:NN \@@_shipout_boundary:w \xeCJK_CJK_and_Boundary:w
-        \cs_set_protected_nopar:Npx \xeCJKOffVerbAddon
+        \cs_set_protected:Npx \xeCJKOffVerbAddon
           {
             \@@_reset_char_class:n { FullLeft }
             \@@_reset_char_class:n { FullRight }
@@ -7706,9 +7757,9 @@
     \cs_set_eq:NN \xeCJK_check_for_glue: \CJKecglue
     \cs_set_eq:NN \xeCJK_CJK_and_Boundary:w \@@_verb_CJK_and_Boundary:w
   }
-\cs_new_protected_nopar:Npn \@@_verb_CJK_and_Boundary:w
+\cs_new_protected:Npn \@@_verb_CJK_and_Boundary:w
   { \xeCJK_class_group_end: \CJKecglue }
-\cs_new_protected_nopar:Npn \@@_reset_char_class:n #1
+\cs_new_protected:Npn \@@_reset_char_class:n #1
   {
     \int_set:Nn \l_@@_tmp_int { \xeCJK_class_num:n {#1} }
     \clist_map_inline:cn { c_@@_#1_chars_clist }
@@ -7725,7 +7776,7 @@
 % 在抄录环境中,CJK 文字之间的间距为当前西文字体两个空格的宽度与当前字体大小之差,
 % 而与西文和空格的间距为 CJK 文字之间的间距的一半。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_set_verb_exspace:
+\cs_new_protected:Npn \@@_set_verb_exspace:
   {
     \tl_if_exist:cTF { xeCJK/verb/\CJK at family/\curr at fontshape/\f at size }
       {
@@ -7754,7 +7805,7 @@
 % \begin{macro}{\@@_set_verb_exspace:n}
 % 当两个西文空格的宽度小于一个 CJK 文字的宽度时,对目前使用的 CJK 字体进行适当缩小。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_set_verb_exspace:n #1
+\cs_new_protected:Npn \@@_set_verb_exspace:n #1
   {
     \skip_set:Nn \l_@@_verb_exspace_skip
       { 2 \tex_fontdimen:D 2 ~ \tex_font:D - #1 }
@@ -7779,7 +7830,7 @@
 % \begin{macro}{\@@_set_verb_scale:nn}
 % 缩小 CJK 字体,并保存相关信息。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_set_verb_scale:nn #1#2
+\cs_new_protected:Npn \@@_set_verb_scale:nn #1#2
   {
     \fp_set:Nn \l_@@_scale_factor_fp { #1 / #2 }
     \@@_warning:nxx { scale-factor }
@@ -7811,7 +7862,7 @@
 % 如果文档不使用 \texttt{EU1} 作为默认字体编码,那么默认的打字机字体族很可能是
 % 传统的 \TeX 字体,这时可视空格按照 \texttt{OT1} 编码传统一般就是字体中的 |\char32|。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_setup_visible_space:
+\cs_new_protected:Npn \xeCJK_setup_visible_space:
   {
     \xeCJK_make_boundary:
     \xeCJK_glyph_if_exist:NTF { ^^^^2423 }
@@ -7841,12 +7892,12 @@
 % 的后备,但是 |lmtt| 的字体大小未必与当前字体匹配。因此,这里需要做一些调整,以
 % 保证使用后备可视空格符号时,也能保证对齐。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_visible_space_fallback:
+\cs_new_protected:Npn \@@_visible_space_fallback:
   {
     \exp_args:Nc \@@_visible_space_fallback_auxi:N
       { xeCJK/space/\curr at fontshape/\f at size }
   }
-\cs_new_protected_nopar:Npn \@@_visible_space_fallback_auxi:N #1
+\cs_new_protected:Npn \@@_visible_space_fallback_auxi:N #1
   {
     \cs_if_exist:NF #1
       { \@@_visible_space_fallback_auxii:N #1 }
@@ -7859,16 +7910,16 @@
 % 当前字体空格的宽度与后备字体 |lmtt| 不一样时,就对 \tn{textvisiblespace} 的字体尺寸
 % 按相应的比例放缩。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_visible_space_fallback_auxii:N #1
+\cs_new_protected:Npn \@@_visible_space_fallback_auxii:N #1
   {
     \group_begin:
       \exp_args:No \@@_set_visible_space_size:n
         { \dim_use:N \tex_fontdimen:D 2 ~ \tex_font:D }
-      \cs_new_protected_nopar:Npx #1
+      \cs_new_protected:Npx #1
         { \group_begin: \tex_the:D \tex_font:D ^^^^2423 \group_end: }
     \group_end:
   }
-\cs_new_protected_nopar:Npn \@@_set_visible_space_size:n #1
+\cs_new_protected:Npn \@@_set_visible_space_size:n #1
   {
     \fontencoding { \UnicodeEncodingName }
     \tl_set:Nn \f at family { lmtt }
@@ -7890,7 +7941,7 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \subsection{\pkg{xeCJK} 其它选项}
+% \subsection{\pkg{xeCJK} 其他选项}
 %
 % \begin{macro}{LocalConfig}
 % \changes{v3.1.0}{2012/11/20}{增加 \texttt{LocalConfig} 选项用于载入本地配置文件。}
@@ -7979,8 +8030,8 @@
 %
 % \begin{macro}[int]{\CJKsymbol, \CJKpunctsymbol}
 %    \begin{macrocode}
-\cs_new_nopar:Npn \CJKsymbol      #1 {#1}
-\cs_new_nopar:Npn \CJKpunctsymbol #1 {#1}
+\cs_new:Npn \CJKsymbol      #1 {#1}
+\cs_new:Npn \CJKpunctsymbol #1 {#1}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -8156,7 +8207,7 @@
 % \tn{check at mathfonts} 之后生效,不会被它覆盖。
 % 更合理的方式是定义一个新的 \tn{mathversion} 来切换。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK at update@fam
+\cs_new_protected:Npn \xeCJK at update@fam
   {
     \addto at hook \everymath
       {
@@ -8164,7 +8215,7 @@
         \@@_update_block_fam:
       }
   }
-\cs_new_protected_nopar:Npn \@@_update_main_fam:
+\cs_new_protected:Npn \@@_update_main_fam:
   {
     \group_begin:
       \xeCJK_select_font:
@@ -8171,7 +8222,7 @@
       \exp_last_unbraced:NNNo \group_end:
     \tex_textfont:D \c_xeCJK_math_fam_int \tex_the:D \tex_font:D
   }
-\cs_new_protected_nopar:Npn \@@_update_block_fam:
+\cs_new_protected:Npn \@@_update_block_fam:
   {
     \prop_if_empty:NF \g_@@_block_fam_prop
       {
@@ -8180,7 +8231,7 @@
           \@@_update_block_fam:nn
       }
   }
-\cs_new_protected_nopar:Npn \@@_update_block_fam:nn #1#2
+\cs_new_protected:Npn \@@_update_block_fam:nn #1#2
   {
     \int_set:Nn \l_@@_fam_int {#2}
     \group_begin:
@@ -8225,12 +8276,12 @@
 % \pkg{fixltx2e} 使用 \tn{providecommand}|*| 来定义 \tn{MakeRobust})。但是 \pkg{ulem}
 % 的定义并不完全正确,没有考虑 \TeX 不会略去控制符号后面的空格的情况。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_math_robust:N #1
+\cs_new_protected:Npn \@@_math_robust:N #1
   {
     \group_begin: \exp_args:NcNc \group_end:
       { @@_math_robust_aux:NN } #1 { \cs_to_str:N #1 ~ }
   }
-\cs_new_protected_nopar:Npn \@@_math_robust_aux:NN #1#2
+\cs_new_protected:Npn \@@_math_robust_aux:NN #1#2
   {
     \exp_args:Nx \str_case:nnTF { \cs_replacement_spec:N #1 }
       {
@@ -8240,19 +8291,19 @@
       { \@@_math_robust:NN #1#2 }
       { \@@_math_robust:NN #1#1 }
   }
-\cs_new_protected_nopar:Npn \@@_math_robust:NN #1#2
+\cs_new_protected:Npn \@@_math_robust:NN #1#2
   {
     \str_if_eq:eeTF { \cs_argument_spec:N #2 } { }
       {
         \exp_args:No \tl_if_head_eq_meaning:nNTF {#2} \scan_stop:
           {
-            \cs_gset_protected_nopar:Npx #1
+            \cs_gset_protected:Npx #1
               { \tl_tail:N #2 }
           }
           {
             \cs_if_eq:NNTF #1 \ensuremath
               {
-                \cs_gset_protected_nopar:Npx #1
+                \cs_gset_protected:Npx #1
                   { \exp_not:o {#2} }
               }
               {
@@ -8334,13 +8385,13 @@
         \tl_set:Nx \f at family {#1}
         \xeCJK at fontfamily {#1}
       }
-    \cs_new_protected_nopar:Npn \xeCJK at fontfamily #1
+    \cs_new_protected:Npn \xeCJK at fontfamily #1
       {
         \str_if_eq:nnTF {#1} { \familydefault }
           { \xeCJK_switch_family:x { \CJKfamilydefault } }
           { \@@_update_family_aux: }
       }
-    \cs_new_protected_nopar:Npn \@@_update_family_aux:
+    \cs_new_protected:Npn \@@_update_family_aux:
       {
         \str_case_e:nn { \f at family }
           {
@@ -8378,7 +8429,7 @@
 % \begin{macro}[int]{\xeCJK at italiccorr}
 % 修复倾斜校正,并处理汉字后面的空格。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK at italiccorr
+\cs_new_protected:Npn \xeCJK at italiccorr
   {
     \int_compare:nNnTF \tex_XeTeXinterchartokenstate:D > \c_zero_int
       { \xeCJK_italic_correction: }
@@ -8394,12 +8445,12 @@
 % \begin{macro}[int]{\xeCJK_italic_correction:}
 % 修复倾斜校正,并处理汉字后面的空格。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_italic_correction:
+\cs_new_protected:Npn \xeCJK_italic_correction:
   {
     \int_compare:nNnT \tex_lastnodetype:D = { 12 }
       { \@@_italic_correction: }
   }
-\cs_new_protected_nopar:Npn \@@_italic_correction:
+\cs_new_protected:Npn \@@_italic_correction:
   {
     \dim_case:nnF { \tex_lastkern:D }
       {
@@ -8431,7 +8482,7 @@
 % \verb*|\textit{...} | 等后面原来存在的空格作为完全展开的结束。要正确使用它还
 % 需要另外的处理(使用 \cs{exp_stop_f:})。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_italic_correction_aux:
+\cs_new_protected:Npn \@@_italic_correction_aux:
   {
                   \exp_after:wN \exp_after:wN \exp_after:wN
     \exp_after:wN \exp_after:wN \exp_after:wN \exp_after:wN
@@ -8469,7 +8520,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \@@_set_others_toks:n #1
+\cs_new_protected:Npn \@@_set_others_toks:n #1
   {
     \int_set:cn { \@@_class_csname:n { Others } } {#1}
     \seq_map_inline:Nn \g_@@_CJK_class_seq
@@ -8500,7 +8551,7 @@
 % \begin{macro}{\@@_inactive_group_begin:,\@@_inactive_group_end:}
 % 用于保护下面歧义宽度标点的分组。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_inactive_group_begin:
+\cs_new_protected:Npn \@@_inactive_group_begin:
   { \group_begin: \makexeCJKinactive }
 \cs_new_eq:NN \@@_inactive_group_end: \group_end:
 %    \end{macrocode}
@@ -8527,7 +8578,7 @@
     "2E3A = \texttwoemdash
   }
 \@@_at_end_preamble:n { \@@_patch_text_command: }
-\cs_new_protected_nopar:Npn \@@_patch_text_command:
+\cs_new_protected:Npn \@@_patch_text_command:
   {
     \xeCJK_if_package_loaded:nTF { xunicode }
       { \@@_patch_xunicode_ambiguous_char: }
@@ -8538,7 +8589,7 @@
         \@@_patch_tuenc_composite:
       }
   }
-\cs_new_protected_nopar:Npn \@@_patch_xunicode_ambiguous_char:
+\cs_new_protected:Npn \@@_patch_xunicode_ambiguous_char:
   {
     \RequirePackage { xunicode-addon }
     \prop_map_inline:Nn \c_@@_ambiguous_char_prop
@@ -8553,7 +8604,7 @@
       }
     \xunadd_append_begin_hook:n { \xeCJK_make_boundary: }
   }
-\cs_new_protected_nopar:Npn \@@_patch_tuenc_ambiguous_char:n #1
+\cs_new_protected:Npn \@@_patch_tuenc_ambiguous_char:n #1
   {
     \prop_map_inline:Nn \c_@@_ambiguous_char_prop
       {
@@ -8565,13 +8616,13 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \@@_patch_ambiguous_char:nN #1#2
+\cs_new_protected:Npn \@@_patch_ambiguous_char:nN #1#2
   {
     \exp_args:Nx \@@_patch_ambiguous_char:nn
       { #1 \token_to_str:N #2 }
       { #1 - #2 }
   }
-\cs_new_protected_nopar:Npx \@@_patch_ambiguous_char:nNn #1#2#3
+\cs_new_protected:Npx \@@_patch_ambiguous_char:nNn #1#2#3
   {
     \exp_args:Nx \exp_not:N \@@_patch_ambiguous_char:nn
       {
@@ -8581,28 +8632,28 @@
       }
       { #1 - #2#3 }
   }
-\cs_new_protected_nopar:Npn \@@_patch_ambiguous_char:nn #1#2
+\cs_new_protected:Npn \@@_patch_ambiguous_char:nn #1#2
   {
     \cs_if_free:cF {#1}
       { \exp_args:Nc \@@_patch_ambiguous_char:Nn {#1} {#2} }
   }
-\cs_new_protected_nopar:Npn \@@_patch_ambiguous_char:Nn #1#2
+\cs_new_protected:Npn \@@_patch_ambiguous_char:Nn #1#2
   {
     \token_if_chardef:NTF #1
       {
         \prop_gput:Nnx \c_@@_ambiguous_slot_prop {#2}
           { \int_eval:n {#1} }
-        \cs_set_protected_nopar:Npx #1
+        \cs_set_protected:Npx #1
           { \@@_ambiguous_char:n { \tex_Uchar:D #1 } }
       }
       {
         \prop_gput:Nnx \c_@@_ambiguous_slot_prop {#2}
           { \int_eval:n { \exp_after:wN ` #1 } }
-        \cs_set_protected_nopar:Npx #1
+        \cs_set_protected:Npx #1
           { \@@_ambiguous_char:n { \exp_not:o {#1} } }
       }
   }
-\cs_new_protected_nopar:Npn \@@_ambiguous_char:n #1
+\cs_new_protected:Npn \@@_ambiguous_char:n #1
   {
     \int_compare:nNnTF \tex_XeTeXinterchartokenstate:D > \c_zero_int
       { \@@_inactive_group_begin: #1 \@@_inactive_group_end: }
@@ -8618,7 +8669,7 @@
 % \tn{DeclareUnicodeComposite} 具有检查字符是否存在的功能,
 % 当符号命令紧跟在 CJK 字符类后面时,需要使字体回到西文状态
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_text_composite_patch:
+\cs_new_protected:Npn \xeCJK_text_composite_patch:
   {
     \str_if_eq:eeT { \f at encoding } { \UnicodeEncodingName }
       { \xeCJK_make_boundary: }
@@ -8627,7 +8678,7 @@
 % 注意 \cs{xeCJK_text_composite_patch:} 可能会结束分组,从而导致 |##1| 没有定义时是
 % \tn{undefined} 而不是 \tn{relax},所以不能将它与 \tn{relax} 作比较。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_patch_tuenc_composite:
+\cs_new_protected:Npn \@@_patch_tuenc_composite:
   {
     \cs_set_nopar:Npn \@text at composite@x
       {
@@ -8643,7 +8694,7 @@
 %    \begin{macrocode}
 \group_begin:
 \char_set_catcode_other:n { "A0 }
-\cs_new_protected_nopar:Npn \@@_patch_tuenc_accent:
+\cs_new_protected:Npn \@@_patch_tuenc_accent:
   {
     \cs_set_protected_nopar:Npn \add at unicode@accent ##1 ##2
       {
@@ -8690,13 +8741,13 @@
     T5  = \` \ecircumflex
   }
 \@@_at_end_preamble:n { \@@_patch_middle_dot: }
-\cs_new_protected_nopar:Npn \@@_patch_middle_dot:
+\cs_new_protected:Npn \@@_patch_middle_dot:
   {
     \prop_map_inline:Nn \c_@@_middle_dot_prop
       { \@@_patch_middle_dot:nw { ##1 } ##2 \q_stop }
     \@@_patch_ambiguous_char:nNn { T5 } \` { \^ - e }
   }
-\cs_new_protected_nopar:Npn \@@_patch_middle_dot:nw #1#2#3 \q_stop
+\cs_new_protected:Npn \@@_patch_middle_dot:nw #1#2#3 \q_stop
   {
     \tl_if_empty:nTF {#3}
       { \@@_patch_ambiguous_char:nN {#1} #2 }
@@ -8705,27 +8756,63 @@
 %    \end{macrocode}
 % \pkg{pifont} 宏包的符号 |\ding{183}| 也有冲突。
 %    \begin{macrocode}
-\@@_after_end_preamble:n
+\@@_package_hook:nn { pifont }
   {
-    \xeCJK_if_package_loaded:nT { pifont }
+    \RenewDocumentCommand \Pifont { m }
+      { \makexeCJKinactive \usefont { U } {#1} { m } { n } }
+  }
+%    \end{macrocode}
+% \end{variable}
+% \end{macro}
+%
+% \changes{v3.8.3}{2020/04/09}{兼容 \pkg{unicode-math} 和 \opt{CJKmath} 选项。}
+%
+% \begin{macro}{\@@_save_um_char:, \@@_save_um_char:}
+% 兼容 \pkg{unicode-math} 和 \opt{CJKmath} 选项,
+% 避免将一些中西文混用的标点设置为 CJK 字体。
+%    \begin{macrocode}
+\@@_package_hook:nn { unicode-math }
+  {
+    \prop_const_from_keyval:Nn \c_@@_um_ambiguous_char_prop
       {
-        \RenewDocumentCommand \Pifont { m }
-          { \makexeCJKinactive \usefont { U } {#1} { m } { n } }
+        "00B7 = \cdotp ,
+        "2025 = \enleadertwodots ,
+        "2026 = \unicodeellipsis
       }
+    \cs_new_protected:Npn \@@_save_um_char:
+      {
+        \cs_set_protected:Npx \@@_restore_um_char:
+          {
+            \prop_map_function:NN
+              \c_@@_um_ambiguous_char_prop
+              \@@_restore_um_char_aux:nn
+          }
+      }
+    \cs_new_eq:NN \@@_restore_um_char: \prg_do_nothing:
+    \cs_new:Npn \@@_restore_um_char_aux:nn #1#2
+      {
+        \@@_gset_mathcodenum:nn
+          { \int_value:w #1 }
+          { \int_value:w \tex_Umathcodenum:D #1 }
+      }
+    \cs_new_protected:Npn \@@_gset_mathcodenum:nn #1#2
+      {
+        \int_compare:nNnF { \tex_Umathcodenum:D #1 } = {#2}
+          { \tex_global:D \tex_Umathcodenum:D #1 = #2 ~ }
+      }
   }
 %    \end{macrocode}
-% \end{variable}
 % \end{macro}
 %
 % \begin{macro}{\@@_patch_microtype_get_slot:}
 % 兼容 \pkg{microtype}。
 %    \begin{macrocode}
-\@@_at_end_preamble:n
+\@@_package_hook:nn { microtype }
   {
     \cs_if_free:NF \MT at get@slot@
       { \@@_patch_microtype_get_slot: }
   }
-\cs_new_protected_nopar:Npn \@@_patch_microtype_get_slot:
+\cs_new_protected:Npn \@@_patch_microtype_get_slot:
   {
     \cs_new_eq:NN \xeCJK at original@get at slot \MT at get@slot@
     \cs_set_eq:NN \MT at get@slot@ \xeCJK at microtype@get at slot
@@ -8737,7 +8824,7 @@
       { \@@_get_ambiguous_slot: }
     \xeCJK at original@get at slot
   }
-\cs_new_protected_nopar:Npn \@@_get_ambiguous_slot:
+\cs_new_protected:Npn \@@_get_ambiguous_slot:
   {
     \exp_args:NNx \prop_get:NnNT \c_@@_ambiguous_slot_prop
       { \MT at encoding - \tex_the:D \MT at toks } \l_@@_tmp_tl
@@ -8748,17 +8835,15 @@
 %
 % 简单处理与 \pkg{hyperref} 宏包的兼容问题。
 %    \begin{macrocode}
-\@@_after_end_preamble:n
+\@@_package_hook:nn { hyperref }
   {
-    \cs_if_exist_use:NT \pdfstringdefDisableCommands
+    \pdfstringdefDisableCommands
       {
-        {
-          \@@_gobble_CJKfamily:
-          \xeCJK_cs_clear:N \@@_inactive_group_begin:
-          \xeCJK_cs_clear:N \@@_inactive_group_end:
-          \xeCJK_cs_clear:N \makexeCJKinactive
-          \xeCJK_cs_clear:N \xeCJK at composite@patch
-        }
+        \@@_gobble_CJKfamily:
+        \xeCJK_cs_clear:N \@@_inactive_group_begin:
+        \xeCJK_cs_clear:N \@@_inactive_group_end:
+        \xeCJK_cs_clear:N \makexeCJKinactive
+        \xeCJK_cs_clear:N \xeCJK at composite@patch
       }
   }
 %    \end{macrocode}
@@ -8766,11 +8851,9 @@
 % \changes{v3.1.0}{2012/11/13}{取消 \tn{cprotect} 的外部宏限制。}
 % 当探测到 \pkg{cprotect} 宏包被引入时,则取消 \tn{cprotect} 宏的 \tn{outer} 定义。
 %    \begin{macrocode}
-\@@_after_end_preamble:n
+\@@_package_hook:nn { cprotect }
   {
-    \bool_lazy_and:nnT
-      { \xeCJK_if_package_loaded_p:n { cprotect } }
-      { \cs_if_exist_p:N \icprotect }
+    \cs_if_free:NF \icprotect
       { \exp_after:wN \tex_let:D \cs:w cprotect \cs_end: \icprotect }
   }
 %    \end{macrocode}
@@ -8778,30 +8861,21 @@
 % \changes{v3.2.11}{2014/03/14}{删除 \tn{xeCJKcaption}。}
 % \changes{v3.8.0}{2020/02/09}{删除 \pkg{CJKfntef} 补丁。}
 %
-% 导言区末尾检测到 \pkg{listings} 时,自动载入 \pkg{xeCJK-listings}。
+% 在 \pkg{listings} 宏包后自动载入 \pkg{xeCJK-listings}。
 %    \begin{macrocode}
-\@@_at_end_preamble:n
-  {
-    \xeCJK_if_package_loaded:nT { listings }
-      { \RequirePackage { xeCJK-listings } }
-  }
+\@@_package_hook:nn { listings }
+  { \RequirePackage { xeCJK-listings } }
 %    \end{macrocode}
 %
 %
 % \changes{v3.3.3}{2015/12/12}{解决与 \pkg{microtype} 宏包的兼容问题。}
-% 由于 \pkg{xeCJK} 假装 \pkg{CJK} 已经被引入了,这回导致 \pkg{everysel} 和
+% 由于 \pkg{xeCJK} 假装 \pkg{CJK} 已经被引入了,这会导致 \pkg{everysel} 和
 % \pkg{microtype} 等宏包判断错误。需要在它们判断之前取消定义。
 %    \begin{macrocode}
-\@@_at_end_preamble:n
+\clist_map_inline:nn { everysel , microtype }
   {
-    \clist_map_inline:nn { everysel , microtype }
-      {
-        \xeCJK_if_package_loaded:nT {#1}
-          {
-            \cs_undefine:c { ver at CJK . \c_@@_package_ext_tl }
-            \clist_map_break:
-          }
-      }
+    \@@_package_hook:nn {#1}
+      { \cs_undefine:c { ver at CJK . \c_@@_package_ext_tl } }
   }
 %    \end{macrocode}
 %
@@ -8831,7 +8905,7 @@
           { \cs_new_eq:NN \Unicode \xeCJK_unicode_char:nn }
       }
   }
-\cs_new_nopar:Npn \xeCJK_unicode_char:nn #1#2
+\cs_new:Npn \xeCJK_unicode_char:nn #1#2
   { \tex_Uchar:D \tex_numexpr:D (#1) * 256 + (#2) \scan_stop: }
 %    \end{macrocode}
 % \end{macro}
@@ -8884,7 +8958,7 @@
 % \changes{v3.1.0}{2012/11/16}{简化对 \pkg{ulem} 宏包的兼容补丁。}
 % \changes{v3.1.1}{2012/12/08}{完全处理下划线里的标点符号的有关问题。}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_hook_for_ulem:
+\cs_new_protected:Npn \xeCJK_hook_for_ulem:
   {
     \xeCJK_ulem_detect_node:
     \l_@@_ulem_text_format_tl
@@ -8895,7 +8969,7 @@
       }
     \xeCJK_ulem_begin_node:
   }
-\cs_new_protected_nopar:Npn \@@_ulem_hook:
+\cs_new_protected:Npn \@@_ulem_hook:
   {
     \@@_ulem_initial:
     \bool_if:NT \l_@@_ulem_subtract_bool
@@ -8931,11 +9005,11 @@
         \CJKecglue
       } \l_@@_ecglue_skip
     \xeCJK_glue_to_skip:nN { \xeCJK_space_glue: } \l_@@_space_skip
-    \cs_set_protected_nopar:Npn \CJKglue
+    \cs_set_protected:Npn \CJKglue
       { \@@_ulem_glue:n \l_@@_ccglue_skip }
-    \cs_set_protected_nopar:Npn \CJKecglue
+    \cs_set_protected:Npn \CJKecglue
       { \@@_ulem_glue:n \l_@@_ecglue_skip }
-    \cs_set_protected_nopar:Npn \xeCJK_space_glue:
+    \cs_set_protected:Npn \xeCJK_space_glue:
       { \@@_ulem_glue:n \l_@@_space_skip }
     \cs_set_eq:NN \xeCJK_punct_node:N \use_none:n
     \cs_set_eq:NN \xeCJK_if_last_punct:TF \use_ii:nn
@@ -8950,7 +9024,7 @@
 % \begin{macro}[int]{\UL at word,\xeCJK_ulem_word:nw}
 % 修改 \tn{UL at word},目的是取得分组中的 \tn{UL at leadtype},以便加入 \cs{xeCJK_ulem_right_skip:}。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_ulem_word:nw #1 ~
+\cs_new_protected:Npn \xeCJK_ulem_word:nw #1 ~
   {
     \exp_after:wN \UL at start #1 ~
     \exp_after:wN \if_meaning:w \exp_after:wN \UL at end #1
@@ -8959,7 +9033,7 @@
       \exp_after:wN \@@_ulem_loop:nw
     \fi:
   }
-\cs_new_protected_nopar:Npn \@@_ulem_end:
+\cs_new_protected:Npn \@@_ulem_end:
   {
         \c_group_end_token
       \c_group_end_token
@@ -8969,7 +9043,7 @@
     \xeCJK_ulem_right_node:
     \int_set:Nn \tex_spacefactor:D { \UL at spfactor }
   }
-\cs_new_protected_nopar:Npn \@@_ulem_loop:nw
+\cs_new_protected:Npn \@@_ulem_loop:nw
   {
     \reverse_if:N \if_mode_math:
       \reverse_if:N \if_dim:w \tex_lastskip:D = \c_zero_dim
@@ -8987,13 +9061,13 @@
 % \begin{macro}[int]{\xeCJK_ulem_left:, \xeCJK_ulem_detect_node:}
 % 在下划线开始之前探测之前的 \texttt{node},以便随后插入 \tn{CJKglue} 或 \tn{CJKecglue}。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_ulem_left:
+\cs_new_protected:Npn \xeCJK_ulem_left:
   {
     \xeCJK_ulem_left_node:
     \xeCJK_make_group_tag:
   }
 \cs_new_eq:NN \xeCJK_ulem_left_node: \prg_do_nothing:
-\cs_new_protected_nopar:Npn \xeCJK_ulem_detect_node:
+\cs_new_protected:Npn \xeCJK_ulem_detect_node:
   {
     \scan_stop:
     \dim_compare:nNnTF \tex_lastkern:D = \c_zero_dim
@@ -9008,12 +9082,12 @@
         \dim_compare:nNnTF \tex_lastkern:D = { - \l_@@_tmp_dim }
           {
             \tex_unkern:D
-            \cs_set_protected_nopar:Npx \xeCJK_ulem_left_node:
+            \cs_set_protected:Npx \xeCJK_ulem_left_node:
               {
                 \tex_kern:D - \dim_use:N \l_@@_tmp_dim \exp_stop_f:
                 \tex_kern:D   \dim_use:N \l_@@_tmp_dim \exp_stop_f:
               }
-            \cs_set_protected_nopar:Npn \xeCJK_ulem_begin_node:
+            \cs_set_protected:Npn \xeCJK_ulem_begin_node:
               { { \xeCJK_make_node:n { ulem-begin } } }
             \cs_set_eq:NN \@@_ulem_hskip:n \@@_ulem_hskip_first:n
           }
@@ -9034,7 +9108,7 @@
 % 如果第一次调用的 \tn{CJKglue} 或 \tn{CJKecglue} 由下划线中的第一个文字和之前的
 % 内容产生,就不用画下划线。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_hskip_first:n #1
+\cs_new_protected:Npn \@@_ulem_hskip_first:n #1
   {
     \xeCJK_if_last_node:nTF { ulem-begin }
       {
@@ -9045,7 +9119,7 @@
     \cs_set_eq:NN \@@_ulem_hskip:n \xeCJK_ulem_hskip:n
   }
 \cs_new_eq:NN \@@_ulem_hskip:n \@@_ulem_hskip_first:n
-\cs_new_protected_nopar:Npn \xeCJK_ulem_hskip:n #1
+\cs_new_protected:Npn \xeCJK_ulem_hskip:n #1
   { { \skip_set:Nn \UL at skip {#1} \UL at leaders } }
 %    \end{macrocode}
 % \end{macro}
@@ -9053,7 +9127,7 @@
 % \begin{macro}[int]{\xeCJK_ulem_right:, \xeCJK_ulem_right_node:}
 % 在下划线最后的位置保存 \texttt{node}。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_ulem_right:
+\cs_new_protected:Npn \xeCJK_ulem_right:
   {
     \scan_stop:
     \dim_compare:nNnTF \tex_lastkern:D = \c_zero_dim
@@ -9067,12 +9141,12 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \@@_ulem_right_aux:n #1
+\cs_new_protected:Npn \@@_ulem_right_aux:n #1
   {
     \dim_compare:nNnTF \tex_lastkern:D = { - #1 }
       {
         \tex_unkern:D
-        \cs_gset_protected_nopar:Npn \xeCJK_ulem_right_node:
+        \cs_gset_protected:Npn \xeCJK_ulem_right_node:
           {
             \tex_kern:D - #1 \exp_stop_f:
             \tex_kern:D   #1 \exp_stop_f:
@@ -9091,9 +9165,9 @@
 % \begin{macro}[int]{\xeCJK_ulem_var_leaders:}
 % 第一次画下划线时,不需要向左平移 \tn{UL at pixel},让左侧有间距。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_ulem_leaders:
+\cs_new_protected:Npn \xeCJK_ulem_leaders:
   { \@@_ulem_var_leaders: }
-\cs_new_protected_nopar:Npn \xeCJK_ulem_var_leaders:
+\cs_new_protected:Npn \xeCJK_ulem_var_leaders:
   {
     \scan_stop:
     \skip_if_eq:nnF { \UL at skip } { \c_zero_skip }
@@ -9112,7 +9186,7 @@
 % 重新画一个减少 \tn{UL at pixel} 的。
 %    \begin{macrocode}
 \cs_new_eq:NN \xeCJK_ulem_right_skip: \prg_do_nothing:
-\cs_new_protected_nopar:Npn \@@_ulem_right_skip:
+\cs_new_protected:Npn \@@_ulem_right_skip:
   {
     \int_case:nn { \tex_lastnodetype:D }
       {
@@ -9121,7 +9195,7 @@
         { 13 } { \@@_ulem_right_skip_penalty: }
       }
   }
-\cs_new_protected_nopar:Npn \@@_ulem_right_skip_hbox:
+\cs_new_protected:Npn \@@_ulem_right_skip_hbox:
   {
     \box_set_to_last:N \l_@@_tmp_box
     \int_compare:nNnTF \tex_lastnodetype:D = { 12 }
@@ -9129,7 +9203,7 @@
       { \@@_ulem_right_skip_glue: }
     \box_use_drop:N \l_@@_tmp_box
   }
-\cs_new_protected_nopar:Npn \@@_ulem_right_skip_kern:
+\cs_new_protected:Npn \@@_ulem_right_skip_kern:
   {
     \dim_set:Nn \l_@@_tmp_dim { - \box_wd:N \l_@@_tmp_box }
     \dim_compare:nNnT \tex_lastkern:D = \l_@@_tmp_dim
@@ -9139,7 +9213,7 @@
         \tex_kern:D \l_@@_tmp_dim
       }
   }
-\cs_new_protected_nopar:Npn \@@_ulem_right_skip_glue:
+\cs_new_protected:Npn \@@_ulem_right_skip_glue:
   {
     \skip_if_eq:nnT { \tex_lastskip:D } { - \UL at pixel }
       {
@@ -9149,7 +9223,7 @@
         \UL at leadtype \skip_horizontal:N \l_@@_tmp_skip
       }
   }
-\cs_new_protected_nopar:Npn \@@_ulem_right_skip_penalty:
+\cs_new_protected:Npn \@@_ulem_right_skip_penalty:
   {
     \int_set_eq:NN \l_@@_tmp_int \tex_lastpenalty:D
     \tex_unpenalty:D
@@ -9160,21 +9234,25 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \changes{v3.8.3}{2020/04/23}{\opt{hidden} 选项保留原内容的高度和深度。}
+%
 % \begin{macro}{\@@_ulem_hidden_box:}
 % 只画线,不输出盒子。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_hidden_box:
+\cs_new_protected:Npn \@@_ulem_hidden_box:
   {
     \tl_if_empty:NF \UL at start
       {
-        \box_use:N \c_@@_null_box
+        \box_set_ht:Nn \l_@@_hidden_box { \box_ht:N \UL at box }
+        \box_set_dp:Nn \l_@@_hidden_box { \box_dp:N \UL at box }
+        \box_use:N \l_@@_hidden_box
         \xeCJK_no_break:
         \xeCJK_ulem_hskip:n { \box_wd:N \UL at box }
-        \box_use:N \c_@@_null_box
+        \box_use:N \l_@@_hidden_box
       }
   }
-\box_new:N \c_@@_null_box
-\hbox_gset:Nn \c_@@_null_box { }
+\box_new:N \l_@@_hidden_box
+\hbox_set:Nn \l_@@_hidden_box { }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -9181,18 +9259,18 @@
 % \begin{macro}{\@@_ulem_skip_punct_begin:,\@@_ulem_skip_punct_end:}
 % 让下划线跳过标点符号的设置。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_skip_punct_begin:
+\cs_new_protected:Npn \@@_ulem_skip_punct_begin:
   {
     \cs_set_eq:NN \UL at putbox \@@_ulem_skip_putbox:
     \cs_set_eq:NN \xeCJK_ulem_hskip:n \skip_horizontal:n
   }
-\cs_new_protected_nopar:Npn \@@_ulem_skip_punct_end:
+\cs_new_protected:Npn \@@_ulem_skip_punct_end:
   {
     \cs_set_eq:NN \UL at putbox \@@_ulem_putbox:
     \cs_set_eq:NN \xeCJK_ulem_hskip:n \@@_ulem_hskip_aux:n
   }
 \cs_new_eq:NN \@@_ulem_putbox: \UL at putbox
-\cs_new_protected_nopar:Npn \@@_ulem_skip_putbox:
+\cs_new_protected:Npn \@@_ulem_skip_putbox:
   {
     \tl_if_empty:NF \UL at start
       { \box_use_drop:N \UL at box }
@@ -9204,7 +9282,7 @@
 % 这里的设置是为了在下划线状态下,下划线可以自动跳过全角标点符号和正确的在它们
 % 前/后断行,并且与行首行末对齐。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_initial:
+\cs_new_protected:Npn \@@_ulem_initial:
   {
     \@@_ulem_swap_cs:NN
     \xeCJK_FullLeft_and_Default:   \@@_ulem_FullLeft_and_Default:
@@ -9241,7 +9319,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \@@_ulem_swap_cs:NN #1#2
+\cs_new_protected:Npn \@@_ulem_swap_cs:NN #1#2
   {
     \quark_if_recursion_tail_stop:N #1
     \xeCJK_swap_cs:NN #1#2
@@ -9257,7 +9335,7 @@
 % \verb*|\ | 等的定义,此时不需要使用 \tn{UL at stop} 和 \tn{UL at start} 来断开下划线而
 % 产生断点。
 %    \begin{macrocode}
-\cs_new_nopar:Npn \xeCJK_if_ulem_patch:TF
+\cs_new:Npn \xeCJK_if_ulem_patch:TF
   {
     \if_meaning:w \  \LA at space
       \exp_after:wN \use_ii:nn
@@ -9270,7 +9348,7 @@
 %
 % \begin{macro}{\@@_ulem_CJK_and_Boundary:w}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_CJK_and_Boundary:w
+\cs_new_protected:Npn \@@_ulem_CJK_and_Boundary:w
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9300,7 +9378,7 @@
 %
 % \begin{macro}{\@@_ulem_fix_penalty:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_fix_penalty:
+\cs_new_protected:Npn \@@_ulem_fix_penalty:
   {
     \xeCJK_if_ulem_patch:TF
       { \fix at penalty }
@@ -9311,7 +9389,7 @@
 %
 % \begin{macro}{\@@_ulem_CJK_and_CJK:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_CJK_and_CJK:N
+\cs_new_protected:Npn \@@_ulem_CJK_and_CJK:N
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9328,7 +9406,7 @@
 %
 % \begin{macro}{\@@_ulem_class_group_begin:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_class_group_begin:
+\cs_new_protected:Npn \@@_ulem_class_group_begin:
   {
     \xeCJK_class_group_begin:
     \xeCJK_clear_Boundary_and_CJK_toks:
@@ -9338,7 +9416,7 @@
 %
 % \begin{macro}{\@@_ulem_between_CJK_blocks:nnN}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_between_CJK_blocks:nnN #1#2
+\cs_new_protected:Npn \@@_ulem_between_CJK_blocks:nnN #1#2
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9360,7 +9438,7 @@
 %
 % \begin{macro}{\@@_ulem_Default_and_FullLeft_glue:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_Default_and_FullLeft_glue:N #1
+\cs_new_protected:Npn \@@_ulem_Default_and_FullLeft_glue:N #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9376,7 +9454,7 @@
 %
 % \begin{macro}{\@@_ulem_Boundary_and_FullLeft_glue:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_Boundary_and_FullLeft_glue:N #1
+\cs_new_protected:Npn \@@_ulem_Boundary_and_FullLeft_glue:N #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9392,7 +9470,7 @@
 %
 % \begin{macro}{\@@_ulem_CJK_and_FullLeft_glue:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_CJK_and_FullLeft_glue:N #1
+\cs_new_protected:Npn \@@_ulem_CJK_and_FullLeft_glue:N #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9412,7 +9490,7 @@
 %
 % \begin{macro}{\@@_ulem_Default_and_FullRight_glue:N}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_Default_and_FullRight_glue:N #1
+\cs_new_protected:Npn \@@_ulem_Default_and_FullRight_glue:N #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9436,7 +9514,7 @@
 % \begin{macro}{\@@_ulem_CJK_and_FullRight_glue:N}
 % \changes{v3.2.2}{2013/05/30}{修正下划线不能跳过全角右标点的问题。}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_CJK_and_FullRight_glue:N #1
+\cs_new_protected:Npn \@@_ulem_CJK_and_FullRight_glue:N #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9463,7 +9541,7 @@
 %
 % \begin{macro}{\@@_ulem_FullLeft_and_Default:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_FullLeft_and_Default:
+\cs_new_protected:Npn \@@_ulem_FullLeft_and_Default:
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9486,7 +9564,7 @@
 %
 % \begin{macro}{\@@_ulem_FullLeft_and_Boundary:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_FullLeft_and_Boundary:
+\cs_new_protected:Npn \@@_ulem_FullLeft_and_Boundary:
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9512,7 +9590,7 @@
 % \changes{v3.2.3}{2013/06/04}
 % {修正全角左标点后下划线与 \tn{CJKunderdot} 连用时结果不正常的问题。}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_FullLeft_and_CJK:
+\cs_new_protected:Npn \@@_ulem_FullLeft_and_CJK:
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9527,7 +9605,7 @@
 %
 % \begin{macro}{\@@_ulem_FullRight_and_Default:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_FullRight_and_Default:
+\cs_new_protected:Npn \@@_ulem_FullRight_and_Default:
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9545,7 +9623,7 @@
 %
 % \begin{macro}{\@@_ulem_FullRight_and_Boundary:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_FullRight_and_Boundary:
+\cs_new_protected:Npn \@@_ulem_FullRight_and_Boundary:
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9564,7 +9642,7 @@
 %
 % \begin{macro}{\@@_ulem_FullRight_and_CJK:}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_FullRight_and_CJK:
+\cs_new_protected:Npn \@@_ulem_FullRight_and_CJK:
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9585,7 +9663,7 @@
 %
 % \begin{macro}{\@@_ulem_punct_hskip:n}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_punct_hskip:n
+\cs_new_protected:Npn \@@_ulem_punct_hskip:n
   {
     \xeCJK_if_ulem_patch:TF
       { \xeCJK_ulem_hskip:n }
@@ -9596,7 +9674,7 @@
 %
 % \begin{macro}{\@@_ulem_punct_breakable_kern:n}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_punct_breakable_kern:n #1
+\cs_new_protected:Npn \@@_ulem_punct_breakable_kern:n #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9613,7 +9691,7 @@
 % \begin{macro}{\@@_ulem_glue:n,\@@_ulem_ccglue:,\@@_ulem_punct_ccglue:}
 % 在下划线状态下的分别代替 \tn{CJKglue} 等。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_ulem_glue:n #1
+\cs_new_protected:Npn \@@_ulem_glue:n #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -9627,7 +9705,7 @@
       }
       { \skip_horizontal:n {#1} }
   }
-\cs_new_protected_nopar:Npn \xeCJK_make_group_tag:
+\cs_new_protected:Npn \xeCJK_make_group_tag:
   { \tl_set:Nx \l_@@_group_tag_tl { \c_@@_group_tag_tl } }
 \tl_new:N \l_@@_group_tag_tl
 \tl_const:Nn \c_@@_group_tag_tl
@@ -9635,9 +9713,9 @@
     T \int_use:N \tex_currentgrouptype:D
     L \int_use:N \tex_currentgrouplevel:D
   }
-\cs_new_protected_nopar:Npn \@@_ulem_ccglue:
+\cs_new_protected:Npn \@@_ulem_ccglue:
   { { \skip_set_eq:NN \UL at skip \l_@@_ccglue_skip \UL at leaders } }
-\cs_new_protected_nopar:Npn \@@_ulem_punct_ccglue:
+\cs_new_protected:Npn \@@_ulem_punct_ccglue:
   { \@@_punct_hskip:n { \l_@@_ccglue_skip } }
 %    \end{macrocode}
 % \end{macro}
@@ -9644,14 +9722,14 @@
 %
 % \begin{macro}[int]{\xeCJK_ulem_group_begin:,\xeCJK_ulem_group_end:,\xeCJK_ulem_on:n}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_ulem_group_begin:
+\cs_new_protected:Npn \xeCJK_ulem_group_begin:
   {
     \mode_leave_vertical:
     \c_group_begin_token
   }
-\cs_new_protected_nopar:Npn \xeCJK_ulem_group_end:
+\cs_new_protected:Npn \xeCJK_ulem_group_end:
   { \c_group_end_token }
-\cs_new_protected_nopar:Npn \xeCJK_ulem_on:n
+\cs_new_protected:Npn \xeCJK_ulem_on:n
   { \ULon }
 \cs_new_eq:NN \@@_ulem_on:n \UL at on
 \cs_set_protected:Npn \UL at on #1
@@ -9843,7 +9921,7 @@
 % \begin{macro}[int]{\xeCJK_fntef_initial:n}
 % 不支持下划线的嵌套使用。下划线嵌套使用时,里层的下划线会被放在盒子里,不能折行。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_fntef_initial:n
+\cs_new_protected:Npn \xeCJK_fntef_initial:n
   {
     \bool_if:NTF \l_@@_nest_bool
       { \@@_warning:n { fntef-nesting } }
@@ -10001,20 +10079,10 @@
     sout / height            = 0.35 em ,
     xout / skip              = true
   }
-\cs_if_free:NF \color
-  {
-    \keys_set:nn { xeCJK / options }
-      {
-        underdot / format     = \color { red } ,
-        underline / format    = \color { blue } ,
-        underdblline / format = \color { blue } ,
-        underwave / format    = \color { blue } ,
-        sout / format         = \color { red } ,
-        xout / format         = \color { blue }
-      }
-  }
 %    \end{macrocode}
 %
+% \changes{v3.8.3}{2020/04/07}{取消 \pkg{xeCJKfntef} 的初始彩色设置。}
+%
 % \begin{macro}{\CJKunderanysymbol}
 %    \begin{macrocode}
 \NewDocumentCommand \CJKunderanysymbol { o m m m }
@@ -10044,7 +10112,7 @@
 % \begin{macro}[int]{\xeCJK_under_symbol:nnnnnn}
 % 当处在下划线中时,我们先断开下划线,在分组外设置下划符号。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_under_symbol:nnnnnn
+\cs_new_protected:Npn \xeCJK_under_symbol:nnnnnn
   {
     \xeCJK_if_ulem_patch:TF
       { \@@_under_symbol_auxi:nnnnnn }
@@ -10153,7 +10221,7 @@
 % \begin{macro}{\@@_under_CJKsymbol:N}
 % 盒子放在汉字的左侧,比较容易处理状态转移的问题。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_under_CJKsymbol:N
+\cs_new_protected:Npn \@@_under_CJKsymbol:N
   {
     \box_use:N \l_@@_under_symbol_box
     \xeCJK_no_break: \@@_under_CJKsymbol:N
@@ -10209,7 +10277,7 @@
 % \pkg{colortbl} 将表格 |c| 列用于填充的 \tn{hfil} 改为了更高阶的 \texttt{fill},
 % 影响到了 \env{CJKfilltwosides*}。因此,我们也要用高阶的 \texttt{filll}。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xeCJK_fntef_hfilll:
+\cs_new_protected:Npn \xeCJK_fntef_hfilll:
   { \skip_horizontal:N \c_@@_filll_skip }
 \skip_const:Nn \c_@@_filll_skip { \c_zero_dim plus 1 filll }
 %    \end{macrocode}
@@ -10266,7 +10334,7 @@
 % \tn{lst at prebreak} 和 \tn{lst at postbreak} 是在 \tn{discretionary} 中直接输出的,
 % 应该恢复正常的 \tn{XeTeXinterchartoks}。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_listings_initial_hook:
+\cs_new_protected:Npn \@@_listings_initial_hook:
   {
     \tex_noindent:D
     \bool_gset_false:N \g_@@_listings_CM_bool
@@ -10290,7 +10358,7 @@
 % 采用不同的 \tn{XeTeXinterchartoks} 处理方式,输入的时候是将汉字加入到 \pkg{listings}
 % 的输出队列,实际输出的时候是普通文字。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_listings_toks_hook:
+\cs_new_protected:Npn \@@_listings_toks_hook:
   {
     \tl_clear:N \l_@@_restore_listings_toks_tl
     \seq_map_function:NN
@@ -10313,7 +10381,7 @@
 % \begin{macro}{\@@_backup_inter_class_toks:n}
 % 注意,给 \tn{XeTeXinterchartoks} 赋空值,会导致 \XeTeX 崩溃!
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_backup_inter_class_toks:n #1
+\cs_new_protected:Npn \@@_backup_inter_class_toks:n #1
   {
     \tl_set:Nx \l_@@_tmp_tl
       { \xeCJK_get_inter_class_toks:nn { Boundary } {#1} }
@@ -10334,7 +10402,7 @@
 % \begin{macro}{\@@_listings_CJK_toks_hook:,\@@_listings_breaklines_toks:}
 % 根据 \texttt{breaklines} 选项的使用与否,选择不同的处理方式。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_listings_CJK_toks_hook:
+\cs_new_protected:Npn \@@_listings_CJK_toks_hook:
   {
     \xeCJK_inter_class_toks:nnn { Boundary } { CJK }
       { \@@_listings_process_CJK:nN { 2 } }
@@ -10350,7 +10418,7 @@
           { \@@_listings_process_CJK:nN { 2 } }
       }
   }
-\cs_new_protected_nopar:Npn \@@_listings_breaklines_toks:
+\cs_new_protected:Npn \@@_listings_breaklines_toks:
   {
     \xeCJK_inter_class_toks:nnn { Boundary } { CJK }
       { \@@_listings_process_breaklines_CJK:nN { 2 } }
@@ -10376,7 +10444,7 @@
 % 七位或八位字符。}
 % 对于 \tn{charcode} 大于 $255$ 的字符,根据 \tn{catcode} 进行处理。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_listings_process_Default:nN #1#2
+\cs_new_protected:Npn \@@_listings_process_Default:nN #1#2
   {
     \int_compare:nNnTF
       { \xeCJK_token_value_charcode:N #2 } > \l_@@_listings_max_char_int
@@ -10391,7 +10459,7 @@
 % 输出时,要注意把对应的 \tn{XeTeXinterchartoks} 清空掉,否则会造成死循环。
 % \cs{scan_stop:} 是造边界,输出 \cs{group_end:}。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_listings_output_Default:nN #1#2
+\cs_new_protected:Npn \@@_listings_output_Default:nN #1#2
   {
     \group_begin:
       \xeCJK_clear_inter_class_toks:nn { Boundary } {#1}
@@ -10405,7 +10473,7 @@
 % \begin{macro}{\@@_listings_process_CJK:nN}
 % 对 CJK 字符类的处理。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_listings_process_CJK:nN #1#2
+\cs_new_protected:Npn \@@_listings_process_CJK:nN #1#2
   {
     \token_if_letter:NTF #2
       { \@@_listings_process_letter:nN {#1} #2 }
@@ -10419,7 +10487,7 @@
 % 对 CJK 字符类中的一些半角字符(例如半角日文假名)没有区分开。\pkg{listings} 通过
 % 重定义 \tn{lst at Append} 将代码写入外部文件,因此需要保留。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_listings_append:nN #1#2
+\cs_new_protected:Npn \@@_listings_append:nN #1#2
   {
     \int_add:Nn \lst at length { #1 - 1 }
     \lst at Append #2
@@ -10430,7 +10498,7 @@
 % \begin{macro}{\@@_listings_process_letter:nN,\@@_listings_process_other:nN}
 % 在 \texttt{letter} 类中区分汉字和西文字母。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_listings_process_letter:nN
+\cs_new_protected:Npn \@@_listings_process_letter:nN
   {
     \lst at whitespacefalse
     \bool_if:NTF \l_@@_listings_letter_bool
@@ -10442,7 +10510,7 @@
     \@@_listings_append:nN
   }
 \bool_new:N \l_@@_listings_letter_bool
-\cs_new_protected_nopar:Npn \@@_listings_process_other:nN #1#2
+\cs_new_protected:Npn \@@_listings_process_other:nN #1#2
   {
     \lst at whitespacefalse
     \bool_if:NTF \l_@@_listings_letter_bool
@@ -10467,7 +10535,7 @@
 % 当使用 \texttt{breaklines} 选项时,立即输出之前的单个文字,以便于断行。并将标点
 % 与它前/后的 CJK 文字放在同一个盒子中,以保持禁则。但是不能区分 letter 和 other。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_listings_process_breaklines_CJK:nN
+\cs_new_protected:Npn \@@_listings_process_breaklines_CJK:nN
   {
     \lst at whitespacefalse
     \bool_if:NTF \l_@@_listings_letter_bool
@@ -10482,7 +10550,7 @@
     \int_set_eq:NN \l_@@_listings_flag_int \c_one_int
     \@@_listings_append:nN
   }
-\cs_new_protected_nopar:Npn \@@_listings_process_FullLeft:nN #1#2
+\cs_new_protected:Npn \@@_listings_process_FullLeft:nN #1#2
   {
     \lst at whitespacefalse
     \bool_if:NTF \l_@@_listings_letter_bool
@@ -10502,7 +10570,7 @@
     \int_set:Nn \l_@@_listings_flag_int { 2 }
     \@@_listings_append:nN {#1} #2
   }
-\cs_new_protected_nopar:Npn \@@_listings_process_FullRight:nN #1#2
+\cs_new_protected:Npn \@@_listings_process_FullRight:nN #1#2
   {
     \lst at whitespacefalse
     \bool_if:NTF \l_@@_listings_letter_bool
@@ -10524,7 +10592,7 @@
 %
 % \begin{macro}[int]{\lst at AppendLetter,\lst at AppendOther}
 %    \begin{macrocode}
-\cs_set_protected_nopar:Npn \lst at AppendLetter
+\cs_set_protected:Npn \lst at AppendLetter
   {
     \bool_if:NTF \l_@@_listings_letter_bool
       {
@@ -10535,7 +10603,7 @@
     \lst at ifbreaklines \int_zero:N \l_@@_listings_flag_int \fi:
     \lst at Append
   }
-\cs_set_protected_nopar:Npn \lst at AppendOther
+\cs_set_protected:Npn \lst at AppendOther
   {
     \bool_if:NTF \l_@@_listings_letter_bool
       {
@@ -10552,7 +10620,7 @@
 % \begin{macro}{\@@_listings_process_CM:nN}
 % \texttt{CM} 类作为 \texttt{letter} 处理,不用增加 \tn{lst at length}。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_listings_process_CM:nN
+\cs_new_protected:Npn \@@_listings_process_CM:nN
   {
     \reverse_if:N \lst at ifflexible
       \bool_gset_true:N \g_@@_listings_CM_bool
@@ -10566,7 +10634,7 @@
 % 在使用 \texttt{columns=fixed} 选项时,\pkg{listings} 会在输出盒子里的每个字符
 % 之间加入 \tn{hss},这就破坏了 \XeTeX 将基本字和组合标识正确的组合起来。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_listings_output_CM:
+\cs_new_protected:Npn \@@_listings_output_CM:
   {
     \reverse_if:N \lst at ifflexible
       \bool_if:NT \g_@@_listings_CM_bool
@@ -10583,7 +10651,7 @@
 %
 % \begin{macro}{\@@_listings_peek_active_loop:TF}
 % \tn{lstinline} 通过判断参数中第一个字符是否是 \texttt{active} 类来区分
-% 它是否被用在其它宏的参数之中。如果这第一个字符不在 \pkg{listings} 预定义的
+% 它是否被用在其他宏的参数之中。如果这第一个字符不在 \pkg{listings} 预定义的
 % 符号表中,判断就会出问题。我们在这里通过一个循环跳过这些字符。
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_listings_peek_active_loop:TF #1#2#3
@@ -10624,7 +10692,7 @@
     \tl_put_right:No \lst at arg { \l_@@_tmp_tl }
   }
 \cs_set_eq:NN \lst at InsideConvert@ \@@_listings_inside_convert:nw
-\cs_new_protected_nopar:Npn \@@_listings_inline_group:w
+\cs_new_protected:Npn \@@_listings_inline_group:w
   {
     \exp_after:wN \@@_listings_inline_group:n
     \exp_after:wN { \if_int_compare:w `} = \c_zero_int \fi:
@@ -10646,7 +10714,7 @@
 \cs_set:Npn \@@_tmp:w #1
   {
     \group_end:
-    \cs_new_protected_nopar:Npn \@@_listings_set_escape:
+    \cs_new_protected:Npn \@@_listings_set_escape:
       { \xeCJK_swap_cs:NN #1 \@@_listings_escape:N }
     \cs_new_protected:Npn \@@_listings_escape:N ##1
       { \cs_if_eq:NNTF #1 ##1 { \@@_listings_escape:N } {##1} }
@@ -10665,7 +10733,7 @@
 % \begin{macro}{\@@_listings_escape_backslash:}
 % \tn{catcode} 为 $12$ 的 |\| 需要双写转义。
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npx \@@_listings_escape_backslash:
+\cs_new_protected:Npx \@@_listings_escape_backslash:
   {
     \tl_replace_all:Nnn \exp_not:N \l_@@_tmp_tl
       { \c_backslash_str }
@@ -10834,12 +10902,12 @@
     \bool_set_true:N \l_@@_math_as_UTF_text_bool
   }
 \@onlypreamble \UseMathAsText
-\cs_new_protected_nopar:Npn \@@_declare_math_as_UTF_text:n #1
+\cs_new_protected:Npn \@@_declare_math_as_UTF_text:n #1
   {
     \cs_if_exist:cTF {#1}
       {
         \cs_new_eq:cc { keepmathUTF #1 } {#1}
-        \cs_gset_protected_nopar:cpx {#1}
+        \cs_gset_protected:cpx {#1}
           {
             \exp_not:N \mode_if_math:TF
               { \exp_not:c { keepmathUTF #1 } }
@@ -10848,7 +10916,7 @@
         \tl_put_right:Nx \l_@@_hyperref_hook_tl
           { \cs_set_eq:NN \exp_not:c {#1} \exp_not:c { text #1 } }
       }
-      { \cs_new_nopar:cpx {#1} { \exp_not:c { text #1 } } }
+      { \cs_new:cpx {#1} { \exp_not:c { text #1 } } }
   }
 \tl_new:N \l_@@_hyperref_hook_tl
 \AtBeginDocument
@@ -10950,20 +11018,20 @@
 % \begin{macro}{\@@_restore_cmd:N}
 % 恢复 \tn{hbar} 和 \tn{nobreakspace} 为原本定义。
 %    \begin{macrocode}
-\cs_new_protected_nopar:cpn
+\cs_new_protected:cpn
   { @@_restore_ \tl_to_str:n { \hbar } : }
   { \@@_restore_cmd:N \hbar }
-\cs_new_protected_nopar:cpn
+\cs_new_protected:cpn
   { @@_restore_ \tl_to_str:n { \nobreakspace } : }
   { \@@_restore_cmd:N \nobreakspace }
-\cs_new_protected_nopar:Npn \@@_restore_cmd:N #1
+\cs_new_protected:Npn \@@_restore_cmd:N #1
   { \@@_restore_cmd:Nx #1 { ? - \token_to_str:N #1 } }
-\cs_new_protected_nopar:Npn \@@_restore_cmd:Nn #1#2
+\cs_new_protected:Npn \@@_restore_cmd:Nn #1#2
   {
     \cs_if_free:cF {#2}
       { \@@_restore_cmd:Nc #1 {#2} }
   }
-\cs_new_protected_nopar:Npn \@@_restore_cmd:NN #1#2
+\cs_new_protected:Npn \@@_restore_cmd:NN #1#2
   {
     \cs_gset_eq:NN #1 #2
     \cs_undefine:N #2
@@ -11059,7 +11127,7 @@
 % \begin{macro}{\@@_check_slot:n}
 % \pkg{xunicode} 中使用的 Unicode 格式是诸如 |x0022| 的形式,这就需要一些转换。
 %    \begin{macrocode}
-\cs_new_nopar:Npn \@@_check_slot:n #1
+\cs_new:Npn \@@_check_slot:n #1
   {
     \int_eval:n
       {
@@ -11455,7 +11523,7 @@
 % \end{macro}
 %
 % \begin{macro}{\@@_add_double_symbol:nN}
-% 如果参数的第一个记号是字母类、其它符号类或者由 \tn{chardef} 定义,则将组合符号
+% 如果参数的第一个记号是字母类、其他符号类或者由 \tn{chardef} 定义,则将组合符号
 % 放在它的右边,否则不作处理。
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_add_double_symbol:nN #1#2
@@ -11515,17 +11583,17 @@
 %
 % \begin{macro}[int]{\xunadd_set_begin_hook:n,\xunadd_set_end_hook:n}
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \xunadd_set_begin_hook:n
+\cs_new_protected:Npn \xunadd_set_begin_hook:n
   { \tl_set:Nn \l_@@_begin_hook_tl }
-\cs_new_protected_nopar:Npn \xunadd_append_begin_hook:n
+\cs_new_protected:Npn \xunadd_append_begin_hook:n
   { \tl_put_right:Nn \l_@@_begin_hook_tl }
-\cs_new_protected_nopar:Npn \xunadd_set_end_hook:n
+\cs_new_protected:Npn \xunadd_set_end_hook:n
   { \tl_set:Nn \l_@@_end_hook_tl }
-\cs_new_protected_nopar:Npn \xunadd_append_end_hook:n
+\cs_new_protected:Npn \xunadd_append_end_hook:n
   { \tl_put_right:Nn \l_@@_end_hook_tl }
-\cs_new_protected_nopar:Npn \xunadd_set_begin_hook:nn
+\cs_new_protected:Npn \xunadd_set_begin_hook:nn
   { \@@_set_cmd_hook:nnn { begin } }
-\cs_new_protected_nopar:Npn \xunadd_set_end_hook:nn
+\cs_new_protected:Npn \xunadd_set_end_hook:nn
   { \@@_set_cmd_hook:nnn { end } }
 \cs_new_protected:Npn \@@_set_cmd_hook:nnn #1#2#3
   {
@@ -11539,8 +11607,8 @@
   }
 \cs_new:Npn \@@_set_cmd_hook_aux:Nnwn #1#2 \q_stop #3
   { \use:c { @@_#3_csname:n } { \token_to_str:N #1 - \tl_to_str:n {#2} } }
-\cs_new_nopar:Npn \@@_begin_csname:n #1 { @@_begin_#1_hook:n }
-\cs_new_nopar:Npn \@@_end_csname:n #1   { @@_end_#1_hook:n }
+\cs_new:Npn \@@_begin_csname:n #1 { @@_begin_#1_hook:n }
+\cs_new:Npn \@@_end_csname:n #1   { @@_end_#1_hook:n }
 \tl_new:N \l_@@_begin_hook_tl
 \tl_new:N \l_@@_end_hook_tl
 %    \end{macrocode}
@@ -11651,7 +11719,7 @@
 % \begin{macro}[int]{\xunadd at microtype@is at charx}
 % \pkg{microtype} 宏包中使用的函数,我们通过对 \tn{MT at is@charx} 打补丁来实现功能。
 %    \begin{macrocode}
-\cs_new_protected:Npn \xunadd at microtype@is at charx #1 \relax
+\cs_new_protected_nopar:Npn \xunadd at microtype@is at charx #1 \relax
   {
     \use:x
       { \xunadd_get_slot:nn { \MT at encoding } { \tex_the:D \MT at toks } }
@@ -11662,7 +11730,7 @@
         \bool_if:NT \l_xunadd_rest_bool { \MT at norestfalse }
       }
   }
-\AtBeginDocument
+\cs_new_protected_nopar:Npn \xunadd at microtype@hook
   {
     \cs_if_free:NF \MT at is@charx
       {
@@ -11671,6 +11739,9 @@
         \cs_set_eq:NN \MT at warn@unknown at once \use_none:n
       }
   }
+\@ifpackageloaded { microtype }
+  { \use:n } { \AtBeginDocument }
+  { \xunadd at microtype@hook }
 %    \end{macrocode}
 % \end{macro}
 %
@@ -13801,7 +13872,7 @@
       [ #1 , Color = \test_color:n {#1} , BoldFont = SimHei ] { SimSun }
     \setCJKmonofont [ #1 ] { KaiTi }
   }
-\cs_new_protected_nopar:Npn \TEST
+\cs_new_protected:Npn \TEST
   {
     \exp_args:No \path { \c_test_text_tl } \par
     \c_test_text_tl \par
@@ -13847,7 +13918,7 @@
 
 \makeatletter
 \ExplSyntaxOn
-\cs_new_protected_nopar:Npx \@@_restore_catcode:
+\cs_new_protected:Npx \@@_restore_catcode:
   { \char_set_catcode:nn { 0 } { \char_value_catcode:n { 0 } } }
 \file_if_exist:nTF { xunicode-commands.tex }
   { \char_set_catcode_comment:n { 0 } }
@@ -13860,7 +13931,7 @@
 ^^@ \prop_new:N \l_@@_command_prop
 ^^@ \prop_new:N \l_@@_combine_mark_prop
 ^^@ \prop_new:N \l_@@_combine_marks_prop
-^^@ \cs_new_protected_nopar:Npn \SaveUTFCommands
+^^@ \cs_new_protected:Npn \SaveUTFCommands
 ^^@   {
 ^^@     \group_begin:
 ^^@     \@@_restore_catcode:
@@ -13980,7 +14051,7 @@
     \int_gincr:N \g_@@_table_int
     \exp_args:Nx \@@_make_table:nnn { UTFTABLE - \int_use:N \g_@@_table_int } {#1} {#2}
   }
-\cs_new_protected_nopar:Npn \@@_make_table:nnn #1#2#3
+\cs_new_protected:Npn \@@_make_table:nnn #1#2#3
   {
     \section{#2~(\zref at extractdefault{#1}{default}{0})}
     \zref at refused{#1}

Added: trunk/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins
===================================================================
--- trunk/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins	                        (rev 0)
+++ trunk/Master/texmf-dist/source/xelatex/xecjk/xeCJK.ins	2020-05-01 21:29:24 UTC (rev 54961)
@@ -0,0 +1,160 @@
+%%
+%% This is file `xeCJK.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% xeCJK.dtx  (with options: `install')
+%% 
+%%     Copyright (C) 2007--2010 by Wenchang Sun <sunwch at nankai.edu.cn>
+%%     Copyright (C) 2009--2020 by Leo Liu <leoliu.pku at gmail.com>
+%%     Copyright (C) 2012--2020 by Qing Lee <sobenlee at gmail.com>
+%% ----------------------------------------------------------------------
+%% 
+%%     This work may be distributed and/or modified under the
+%%     conditions of the LaTeX Project Public License, either
+%%     version 1.3c of this license or (at your option) any later
+%%     version. This version of this license is in
+%%        http://www.latex-project.org/lppl/lppl-1-3c.txt
+%%     and the latest version of this license is in
+%%        http://www.latex-project.org/lppl.txt
+%%     and version 1.3 or later is part of all distributions of
+%%     LaTeX version 2005/12/01 or later.
+%% 
+%%     This work has the LPPL maintenance status "maintained".
+%% 
+%%     The Current Maintainers of this work are Leo Liu and Qing Lee.
+%% 
+%% ----------------------------------------------------------------------
+%% 
+
+\input ctxdocstrip %
+
+\preamble
+
+    Copyright (C) 2007--2010 by Wenchang Sun <sunwch at nankai.edu.cn>
+    Copyright (C) 2009--2020 by Leo Liu <leoliu.pku at gmail.com>
+    Copyright (C) 2012--2020 by Qing Lee <sobenlee at gmail.com>
+----------------------------------------------------------------------
+
+    This work may be distributed and/or modified under the
+    conditions of the LaTeX Project Public License, either
+    version 1.3c of this license or (at your option) any later
+    version. This version of this license is in
+       http://www.latex-project.org/lppl/lppl-1-3c.txt
+    and the latest version of this license is in
+       http://www.latex-project.org/lppl.txt
+    and version 1.3 or later is part of all distributions of
+    LaTeX version 2005/12/01 or later.
+
+    This work has the LPPL maintenance status "maintained".
+
+    The Current Maintainers of this work are Leo Liu and Qing Lee.
+
+----------------------------------------------------------------------
+
+\endpreamble
+\postamble
+
+    This package consists of the files xeCJK.dtx,
+                                       full-stop.map,
+                                       fullwidth-stop.map,
+                                       han-simp.map,
+                                       han-trad.map,
+                 and the derived files xeCJK.pdf,
+                                       xeCJK.sty,
+                                       xeCJK.cfg,
+                                       xeCJK.ins,
+                                       xeCJKfntef.sty,
+                                       xeCJK-listings.sty,
+                                       xunicode-addon.sty,
+                                       xunicode-extra.def,
+                                       xeCJK-example-autofake.tex,
+                                       xeCJK-example-fallback.tex,
+                                       xeCJK-example-subCJKblock.tex,
+                                       xeCJK-example-CJKecglue.tex,
+                                       xeCJK-example-checksingle.tex,
+                                       xeCJK-example-CJKfntef.tex,
+                                       xeCJK-example-punctstyle.tex,
+                                       xeCJK-example-verbatim.tex,
+                                       xeCJK-example-CM.tex,
+                                       xeCJK-example-listings.tex,
+                                       xeCJK-example-mathblock.tex,
+                                       xunicode-symbols.tex,
+                                       xunicode-commands.tex,
+                                       xunicode-combine-marks.tex,
+                                       xunicode-symbols.pdf,
+                                       full-stop.tec,
+                                       fullwidth-stop.tec,
+                                       han-simp.tec,
+                                       han-trad.tec, and
+                                       README.md.
+\endpostamble
+
+\generate
+  {
+    \usedir{tex/xelatex/xecjk}
+    \file{xeCJK.sty}                      {\from{\jobname.dtx}{package}}
+    \file{xeCJKfntef.sty}                 {\from{\jobname.dtx}{fntef}}
+    \file{xeCJK-listings.sty}             {\from{\jobname.dtx}{listings}}
+    \file{xunicode-addon.sty}             {\from{\jobname.dtx}{xunicode}}
+    \file{xunicode-extra.def}             {\from{\jobname.dtx}{xunextra}}
+    \usepreamble\emptypreamble
+    \usepostamble\emptypostamble
+    \usedir{tex/xelatex/xecjk/config}
+    \file{xeCJK.cfg}                      {\from{\jobname.dtx}{config}}
+    \usedir{doc/xelatex/xecjk/example}
+    \file{xeCJK-example-autofake.tex}     {\from{\jobname.dtx}{ex-autofake}}
+    \file{xeCJK-example-fallback.tex}     {\from{\jobname.dtx}{ex-fallback}}
+    \file{xeCJK-example-subCJKblock.tex}  {\from{\jobname.dtx}{ex-block}}
+    \file{xeCJK-example-CJKecglue.tex}    {\from{\jobname.dtx}{ex-ecglue}}
+    \file{xeCJK-example-checksingle.tex}  {\from{\jobname.dtx}{ex-single}}
+    \file{xeCJK-example-CJKfntef.tex}     {\from{\jobname.dtx}{ex-fntef}}
+    \file{xeCJK-example-punctstyle.tex}   {\from{\jobname.dtx}{ex-punctstyle}}
+    \file{xeCJK-example-verbatim.tex}     {\from{\jobname.dtx}{ex-verb}}
+    \file{xeCJK-example-CM.tex}           {\from{\jobname.dtx}{ex-cm}}
+    \file{xeCJK-example-listings.tex}     {\from{\jobname.dtx}{ex-listings}}
+    \file{xeCJK-example-mathblock.tex}    {\from{\jobname.dtx}{ex-mathblock}}
+    \file{xunicode-symbols.tex}           {\from{\jobname.dtx}{xunicode-symbols}}
+    \nopreamble\nopostamble
+    \usedir{doc/xelatex/xecjk}
+    \file{README.md}                      {\from{\jobname.dtx}{readme}}
+  }
+
+\endbatchfile
+%% 
+%%     This package consists of the files xeCJK.dtx,
+%%                                        full-stop.map,
+%%                                        fullwidth-stop.map,
+%%                                        han-simp.map,
+%%                                        han-trad.map,
+%%                  and the derived files xeCJK.pdf,
+%%                                        xeCJK.sty,
+%%                                        xeCJK.cfg,
+%%                                        xeCJK.ins,
+%%                                        xeCJKfntef.sty,
+%%                                        xeCJK-listings.sty,
+%%                                        xunicode-addon.sty,
+%%                                        xunicode-extra.def,
+%%                                        xeCJK-example-autofake.tex,
+%%                                        xeCJK-example-fallback.tex,
+%%                                        xeCJK-example-subCJKblock.tex,
+%%                                        xeCJK-example-CJKecglue.tex,
+%%                                        xeCJK-example-checksingle.tex,
+%%                                        xeCJK-example-CJKfntef.tex,
+%%                                        xeCJK-example-punctstyle.tex,
+%%                                        xeCJK-example-verbatim.tex,
+%%                                        xeCJK-example-CM.tex,
+%%                                        xeCJK-example-listings.tex,
+%%                                        xeCJK-example-mathblock.tex,
+%%                                        xunicode-symbols.tex,
+%%                                        xunicode-commands.tex,
+%%                                        xunicode-combine-marks.tex,
+%%                                        xunicode-symbols.pdf,
+%%                                        full-stop.tec,
+%%                                        fullwidth-stop.tec,
+%%                                        han-simp.tec,
+%%                                        han-trad.tec, and
+%%                                        README.md.
+%%
+%% End of file `xeCJK.ins'.

Modified: trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty	2020-05-01 21:28:49 UTC (rev 54960)
+++ trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty	2020-05-01 21:29:24 UTC (rev 54961)
@@ -21,7 +21,7 @@
 %%     and version 1.3 or later is part of all distributions of
 %%     LaTeX version 2005/12/01 or later.
 %% 
-%%     This work has the LPPL maintenance status `maintained'.
+%%     This work has the LPPL maintenance status "maintained".
 %% 
 %%     The Current Maintainers of this work are Leo Liu and Qing Lee.
 %% 
@@ -29,10 +29,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx 165cecc 2020-02-18 20:38:34 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee at gmail.com> $
   {xeCJK patch file for listings}
 \ProvidesExplPackage{xeCJK-listings}
-  {\ExplFileDate}{3.8.2}{\ExplFileDescription}
+  {\ExplFileDate}{3.8.3}{\ExplFileDescription}
 \DeclareOption* { \PassOptionsToPackage { \CurrentOption } { xeCJK } }
 \ProcessOptions \scan_stop:
 \RequirePackage { xeCJK }
@@ -46,7 +46,7 @@
     \__xeCJK_listings_output_CM:
   }
 \lst at AddToHook { PreSet } { \bool_set_true:N \l__xeCJK_listings_env_bool }
-\cs_new_protected_nopar:Npn \__xeCJK_listings_initial_hook:
+\cs_new_protected:Npn \__xeCJK_listings_initial_hook:
   {
     \tex_noindent:D
     \bool_gset_false:N \g__xeCJK_listings_CM_bool
@@ -63,7 +63,7 @@
       { \lst at ifec 255 \else: 127 \fi: }
   }
 \int_new:N \l__xeCJK_listings_max_char_int
-\cs_new_protected_nopar:Npn \__xeCJK_listings_toks_hook:
+\cs_new_protected:Npn \__xeCJK_listings_toks_hook:
   {
     \tl_clear:N \l__xeCJK_restore_listings_toks_tl
     \seq_map_function:NN
@@ -80,7 +80,7 @@
       { \__xeCJK_listings_process_CM:nN { 0 } }
     \__xeCJK_listings_CJK_toks_hook:
   }
-\cs_new_protected_nopar:Npn \__xeCJK_backup_inter_class_toks:n #1
+\cs_new_protected:Npn \__xeCJK_backup_inter_class_toks:n #1
   {
     \tl_set:Nx \l__xeCJK_tmp_tl
       { \xeCJK_get_inter_class_toks:nn { Boundary } {#1} }
@@ -95,7 +95,7 @@
       }
   }
 \tl_new:N \l__xeCJK_restore_listings_toks_tl
-\cs_new_protected_nopar:Npn \__xeCJK_listings_CJK_toks_hook:
+\cs_new_protected:Npn \__xeCJK_listings_CJK_toks_hook:
   {
     \xeCJK_inter_class_toks:nnn { Boundary } { CJK }
       { \__xeCJK_listings_process_CJK:nN { 2 } }
@@ -111,7 +111,7 @@
           { \__xeCJK_listings_process_CJK:nN { 2 } }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_listings_breaklines_toks:
+\cs_new_protected:Npn \__xeCJK_listings_breaklines_toks:
   {
     \xeCJK_inter_class_toks:nnn { Boundary } { CJK }
       { \__xeCJK_listings_process_breaklines_CJK:nN { 2 } }
@@ -127,7 +127,7 @@
           { \__xeCJK_listings_process_breaklines_CJK:nN { 2 } }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_listings_process_Default:nN #1#2
+\cs_new_protected:Npn \__xeCJK_listings_process_Default:nN #1#2
   {
     \int_compare:nNnTF
       { \xeCJK_token_value_charcode:N #2 } > \l__xeCJK_listings_max_char_int
@@ -138,7 +138,7 @@
       }
       { \__xeCJK_listings_output_Default:nN {#1} #2 }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_listings_output_Default:nN #1#2
+\cs_new_protected:Npn \__xeCJK_listings_output_Default:nN #1#2
   {
     \group_begin:
       \xeCJK_clear_inter_class_toks:nn { Boundary } {#1}
@@ -146,18 +146,18 @@
       #2
       \scan_stop:
   }
-\cs_new_protected_nopar:Npn \__xeCJK_listings_process_CJK:nN #1#2
+\cs_new_protected:Npn \__xeCJK_listings_process_CJK:nN #1#2
   {
     \token_if_letter:NTF #2
       { \__xeCJK_listings_process_letter:nN {#1} #2 }
       { \__xeCJK_listings_process_other:nN  {#1} #2 }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_listings_append:nN #1#2
+\cs_new_protected:Npn \__xeCJK_listings_append:nN #1#2
   {
     \int_add:Nn \lst at length { #1 - 1 }
     \lst at Append #2
   }
-\cs_new_protected_nopar:Npn \__xeCJK_listings_process_letter:nN
+\cs_new_protected:Npn \__xeCJK_listings_process_letter:nN
   {
     \lst at whitespacefalse
     \bool_if:NTF \l__xeCJK_listings_letter_bool
@@ -169,7 +169,7 @@
     \__xeCJK_listings_append:nN
   }
 \bool_new:N \l__xeCJK_listings_letter_bool
-\cs_new_protected_nopar:Npn \__xeCJK_listings_process_other:nN #1#2
+\cs_new_protected:Npn \__xeCJK_listings_process_other:nN #1#2
   {
     \lst at whitespacefalse
     \bool_if:NTF \l__xeCJK_listings_letter_bool
@@ -181,7 +181,7 @@
     \cs_set_eq:NN \lst at lastother #2
     \__xeCJK_listings_append:nN {#1} #2
   }
-\cs_new_protected_nopar:Npn \__xeCJK_listings_process_breaklines_CJK:nN
+\cs_new_protected:Npn \__xeCJK_listings_process_breaklines_CJK:nN
   {
     \lst at whitespacefalse
     \bool_if:NTF \l__xeCJK_listings_letter_bool
@@ -196,7 +196,7 @@
     \int_set_eq:NN \l__xeCJK_listings_flag_int \c_one_int
     \__xeCJK_listings_append:nN
   }
-\cs_new_protected_nopar:Npn \__xeCJK_listings_process_FullLeft:nN #1#2
+\cs_new_protected:Npn \__xeCJK_listings_process_FullLeft:nN #1#2
   {
     \lst at whitespacefalse
     \bool_if:NTF \l__xeCJK_listings_letter_bool
@@ -216,7 +216,7 @@
     \int_set:Nn \l__xeCJK_listings_flag_int { 2 }
     \__xeCJK_listings_append:nN {#1} #2
   }
-\cs_new_protected_nopar:Npn \__xeCJK_listings_process_FullRight:nN #1#2
+\cs_new_protected:Npn \__xeCJK_listings_process_FullRight:nN #1#2
   {
     \lst at whitespacefalse
     \bool_if:NTF \l__xeCJK_listings_letter_bool
@@ -233,7 +233,7 @@
     \__xeCJK_listings_append:nN {#1} #2
   }
 \int_new:N \l__xeCJK_listings_flag_int
-\cs_set_protected_nopar:Npn \lst at AppendLetter
+\cs_set_protected:Npn \lst at AppendLetter
   {
     \bool_if:NTF \l__xeCJK_listings_letter_bool
       {
@@ -244,7 +244,7 @@
     \lst at ifbreaklines \int_zero:N \l__xeCJK_listings_flag_int \fi:
     \lst at Append
   }
-\cs_set_protected_nopar:Npn \lst at AppendOther
+\cs_set_protected:Npn \lst at AppendOther
   {
     \bool_if:NTF \l__xeCJK_listings_letter_bool
       {
@@ -255,7 +255,7 @@
     \lst at ifbreaklines \int_zero:N \l__xeCJK_listings_flag_int \fi:
     \tex_futurelet:D \lst at lastother \lst at Append
   }
-\cs_new_protected_nopar:Npn \__xeCJK_listings_process_CM:nN
+\cs_new_protected:Npn \__xeCJK_listings_process_CM:nN
   {
     \reverse_if:N \lst at ifflexible
       \bool_gset_true:N \g__xeCJK_listings_CM_bool
@@ -262,7 +262,7 @@
     \fi:
     \__xeCJK_listings_process_letter:nN
   }
-\cs_new_protected_nopar:Npn \__xeCJK_listings_output_CM:
+\cs_new_protected:Npn \__xeCJK_listings_output_CM:
   {
     \reverse_if:N \lst at ifflexible
       \bool_if:NT \g__xeCJK_listings_CM_bool
@@ -302,7 +302,7 @@
     \tl_put_right:No \lst at arg { \l__xeCJK_tmp_tl }
   }
 \cs_set_eq:NN \lst at InsideConvert@ \__xeCJK_listings_inside_convert:nw
-\cs_new_protected_nopar:Npn \__xeCJK_listings_inline_group:w
+\cs_new_protected:Npn \__xeCJK_listings_inline_group:w
   {
     \exp_after:wN \__xeCJK_listings_inline_group:n
     \exp_after:wN { \if_int_compare:w `} = \c_zero_int \fi:
@@ -317,7 +317,7 @@
 \cs_set:Npn \__xeCJK_tmp:w #1
   {
     \group_end:
-    \cs_new_protected_nopar:Npn \__xeCJK_listings_set_escape:
+    \cs_new_protected:Npn \__xeCJK_listings_set_escape:
       { \xeCJK_swap_cs:NN #1 \__xeCJK_listings_escape:N }
     \cs_new_protected:Npn \__xeCJK_listings_escape:N ##1
       { \cs_if_eq:NNTF #1 ##1 { \__xeCJK_listings_escape:N } {##1} }
@@ -328,7 +328,7 @@
     \__xeCJK_tmp:w
   }
   { \ }
-\cs_new_protected_nopar:Npx \__xeCJK_listings_escape_backslash:
+\cs_new_protected:Npx \__xeCJK_listings_escape_backslash:
   {
     \tl_replace_all:Nnn \exp_not:N \l__xeCJK_tmp_tl
       { \c_backslash_str }

Modified: trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg	2020-05-01 21:28:49 UTC (rev 54960)
+++ trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg	2020-05-01 21:29:24 UTC (rev 54961)
@@ -6,10 +6,10 @@
 %%
 %% xeCJK.dtx  (with options: `config')
 %% 
-\GetIdInfo$Id: xeCJK.dtx 165cecc 2020-02-18 20:38:34 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee at gmail.com> $
   {Configuration file for xeCJK package}
 \ProvidesExplFile{\ExplFileName.cfg}
-  {\ExplFileDate}{3.8.2}{\ExplFileDescription}
+  {\ExplFileDate}{3.8.3}{\ExplFileDescription}
 
 %% 
 %%

Modified: trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty	2020-05-01 21:28:49 UTC (rev 54960)
+++ trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty	2020-05-01 21:29:24 UTC (rev 54961)
@@ -21,7 +21,7 @@
 %%     and version 1.3 or later is part of all distributions of
 %%     LaTeX version 2005/12/01 or later.
 %% 
-%%     This work has the LPPL maintenance status `maintained'.
+%%     This work has the LPPL maintenance status "maintained".
 %% 
 %%     The Current Maintainers of this work are Leo Liu and Qing Lee.
 %% 
@@ -29,10 +29,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx 165cecc 2020-02-18 20:38:34 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee at gmail.com> $
   {Typesetting CJK scripts with XeLaTeX}
 \ProvidesExplPackage{\ExplFileName}
-  {\ExplFileDate}{3.8.2}{\ExplFileDescription}
+  {\ExplFileDate}{3.8.3}{\ExplFileDescription}
 \msg_new:nnn { xeCJK } { Require-XeTeX }
   {
     The~xeCJK~package~requires~XeTeX~to~function.\\\\
@@ -87,51 +87,44 @@
 \bool_new:N \l__xeCJK_tmp_bool
 \skip_new:N \l__xeCJK_tmp_skip
 \clist_new:N \l__xeCJK_tmp_clist
-\cs_new_protected_nopar:Npn \__xeCJK_msg_new:nn   { \msg_new:nnn       { xeCJK } }
-\cs_new_protected_nopar:Npn \__xeCJK_msg_new:nnn  { \msg_new:nnnn      { xeCJK } }
-\cs_new_protected_nopar:Npn \__xeCJK_error:n      { \msg_error:nn      { xeCJK } }
-\cs_new_protected_nopar:Npn \__xeCJK_error:nx     { \msg_error:nnx     { xeCJK } }
-\cs_new_protected_nopar:Npn \__xeCJK_warning:n    { \msg_warning:nn    { xeCJK } }
-\cs_new_protected_nopar:Npn \__xeCJK_warning:nx   { \msg_warning:nnx   { xeCJK } }
-\cs_new_protected_nopar:Npn \__xeCJK_warning:nxx  { \msg_warning:nnxx  { xeCJK } }
-\cs_new_protected_nopar:Npn \__xeCJK_warning:nxxx { \msg_warning:nnxxx { xeCJK } }
-\cs_new_protected_nopar:Npn \__xeCJK_info:nxx     { \msg_info:nnxx     { xeCJK } }
-\cs_new_protected_nopar:Npn \xeCJK_allow_break:
+\cs_new_protected:Npn \__xeCJK_msg_new:nn   { \msg_new:nnn       { xeCJK } }
+\cs_new_protected:Npn \__xeCJK_msg_new:nnn  { \msg_new:nnnn      { xeCJK } }
+\cs_new_protected:Npn \__xeCJK_error:n      { \msg_error:nn      { xeCJK } }
+\cs_new_protected:Npn \__xeCJK_error:nx     { \msg_error:nnx     { xeCJK } }
+\cs_new_protected:Npn \__xeCJK_warning:n    { \msg_warning:nn    { xeCJK } }
+\cs_new_protected:Npn \__xeCJK_warning:nx   { \msg_warning:nnx   { xeCJK } }
+\cs_new_protected:Npn \__xeCJK_warning:nxx  { \msg_warning:nnxx  { xeCJK } }
+\cs_new_protected:Npn \__xeCJK_warning:nxxx { \msg_warning:nnxxx { xeCJK } }
+\cs_new_protected:Npn \__xeCJK_info:nxx     { \msg_info:nnxx     { xeCJK } }
+\cs_new_protected:Npn \xeCJK_allow_break:
   { \tex_penalty:D \c_zero_int }
-\cs_new_protected_nopar:Npn \xeCJK_no_break:
+\cs_new_protected:Npn \xeCJK_no_break:
   { \tex_penalty:D \c__xeCJK_nobreak_penalty_int }
 \int_const:Nn \c__xeCJK_nobreak_penalty_int { 10 000 }
+\RequirePackage { ctexhook }
+\AtBeginDocument           { \xeCJK at document@hook }
+\ctex_at_end_preamble:n    { \xeCJK at document@left at hook }
+\ctex_after_end_preamble:n { \xeCJK at document@right at hook }
+\cs_new_protected:Npn \xeCJK at document@hook
+  { \tl_use:N \g__xeCJK_after_preamble_hook_tl }
+\cs_new_protected:Npn \xeCJK at document@left at hook
+  { \tl_use:N \g__xeCJK_at_end_preamble_hook_tl }
+\cs_new_protected:Npn \xeCJK at document@right at hook
+  { \tl_use:N \g__xeCJK_after_end_preamble_hook_tl }
+\cs_new_protected:Npn \__xeCJK_at_end_preamble:n
+  { \tl_gput_right:Nn \g__xeCJK_at_end_preamble_hook_tl }
+\cs_new_protected:Npn \__xeCJK_after_preamble:n
+  { \tl_gput_right:Nn \g__xeCJK_after_preamble_hook_tl }
+\cs_new_protected:Npn \__xeCJK_after_end_preamble:n
+  { \tl_gput_right:Nn \g__xeCJK_after_end_preamble_hook_tl }
+\cs_new_protected:Npn \__xeCJK_package_hook:nn
+  { \ctex_at_end_package:nn }
 \tl_new:N \g__xeCJK_at_end_preamble_hook_tl
 \tl_new:N \g__xeCJK_after_preamble_hook_tl
 \tl_new:N \g__xeCJK_after_end_preamble_hook_tl
-\cs_new_protected:Npn \__xeCJK_at_end_preamble:n #1
-  { \tl_gput_right:Nn \g__xeCJK_at_end_preamble_hook_tl {#1} }
-\cs_new_protected:Npn \__xeCJK_after_preamble:n #1
-  { \tl_gput_right:Nn \g__xeCJK_after_preamble_hook_tl {#1} }
-\cs_new_protected:Npn \__xeCJK_after_end_preamble:n #1
-  { \tl_gput_right:Nn \g__xeCJK_after_end_preamble_hook_tl {#1} }
-\xeCJK_if_package_loaded:nTF { etoolbox }
-  {
-    \AtEndPreamble { \g__xeCJK_at_end_preamble_hook_tl }
-    \AfterPreamble { \g__xeCJK_after_preamble_hook_tl }
-    \AfterEndPreamble { \g__xeCJK_after_end_preamble_hook_tl }
-  }
-  {
-    \AtBeginDocument { \g__xeCJK_after_preamble_hook_tl }
-    \cs_new_protected_nopar:Npn \xeCJK at document@left at hook
-      { \group_end: \g__xeCJK_at_end_preamble_hook_tl \group_begin: }
-    \cs_new_protected_nopar:Npn \xeCJK at document@right at hook
-      { \scan_stop: \g__xeCJK_after_end_preamble_hook_tl \tex_ignorespaces:D }
-    \cs_gset_nopar:Npx \document
-      {
-        \xeCJK at document@left at hook
-        \exp_not:o { \document }
-        \xeCJK at document@right at hook
-      }
-  }
 \__xeCJK_after_preamble:n
   { \tl_put_right:Nn \@begindvi { \xeCJK at first@begindvi } }
-\cs_new_protected_nopar:Npn \xeCJK at first@begindvi
+\cs_new_protected:Npn \xeCJK at first@begindvi
   {
     \xeCJKShipoutHook
     \cs_if_exist:NTF \@begindvi
@@ -151,7 +144,7 @@
   { \tl_put_right:Nn \l__xeCJK_shipout_hook_tl }
 \tl_new:N \l__xeCJK_shipout_hook_tl
 \bool_new:N \l__xeCJK_shipout_hook_bool
-\cs_new_protected_nopar:Npn \xeCJK_tl_remove_outer_braces:N #1
+\cs_new_protected:Npn \xeCJK_tl_remove_outer_braces:N #1
   { \tl_set:Nx #1 { \exp_args:No \xeCJK_tl_remove_outer_braces:n {#1} } }
 \cs_new:Npn \xeCJK_tl_remove_outer_braces:n #1
   {
@@ -180,7 +173,7 @@
     \cs_set_eq:NN #2 \__xeCJK_swap_cs_aux:w
     \cs_undefine:N \__xeCJK_swap_cs_aux:w
   }
-\cs_new_protected_nopar:Npn \xeCJK_font_gset_to_current:N #1
+\cs_new_protected:Npn \xeCJK_font_gset_to_current:N #1
   { \exp_after:wN \cs_gset_eq:NN \exp_after:wN #1 \tex_the:D \tex_font:D }
 \cs_generate_variant:Nn \xeCJK_font_gset_to_current:N { c }
 \prg_new_conditional:Npnn \xeCJK_glyph_if_exist:N #1 { p , T , F , TF }
@@ -241,7 +234,7 @@
           }
       }
   }
-\cs_new_nopar:Npn \__xeCJK_space_skip_scale:nnn #1#2#3
+\cs_new:Npn \__xeCJK_space_skip_scale:nnn #1#2#3
   {
     \dim_eval:n {#1}
     plus \fp_eval:n { \g__xeCJK_space_factor_int / 1000 } #2
@@ -250,8 +243,10 @@
         { 1000 * \int_value:w #3 } { \g__xeCJK_space_factor_int } sp
   }
 \int_new:N \g__xeCJK_space_factor_int
-\int_gset:Nn \g__xeCJK_space_factor_int { 1000 }
-\cs_new_protected_nopar:Npn \xeCJK_glue_to_skip:nN #1#2
+\cs_new_protected:Npn \xeCJK_reset_space_factor:
+  { \int_gset:Nn \g__xeCJK_space_factor_int { 1000 } }
+\xeCJK_reset_space_factor:
+\cs_new_protected:Npn \xeCJK_glue_to_skip:nN #1#2
   {
     \group_begin:
       \hbox_set:Nw \l__xeCJK_tmp_box #1 \scan_stop:
@@ -296,7 +291,7 @@
     \group_align_safe_begin:
     \peek_after:Nw \__xeCJK_peek_catcode_ignore_spaces_branches:w
   }
-\cs_new_protected_nopar:Npn \__xeCJK_peek_catcode_ignore_spaces_branches:w
+\cs_new_protected:Npn \__xeCJK_peek_catcode_ignore_spaces_branches:w
   {
     \if_meaning:w \l_peek_token \c_space_token
       \bool_set_true:N \l__xeCJK_peek_ignore_spaces_bool
@@ -318,9 +313,9 @@
 \cs_new_eq:NN \__xeCJK_peek_catcode_true:w  \prg_do_nothing:
 \cs_new_eq:NN \__xeCJK_peek_catcode_false:w \prg_do_nothing:
 \bool_new:N \l__xeCJK_peek_ignore_spaces_bool
-\cs_new_nopar:Npn \xeCJK_token_value_class:N #1
+\cs_new:Npn \xeCJK_token_value_class:N #1
   { \tex_XeTeXcharclass:D \xeCJK_token_value_charcode:N #1 }
-\cs_new_nopar:Npn \xeCJK_token_value_charcode:N #1
+\cs_new:Npn \xeCJK_token_value_charcode:N #1
   { \exp_after:wN \__xeCJK_get_charcode:w \token_to_meaning:N #1 \q_stop }
 \group_begin:
   \cs_set:Npn \__xeCJK_tmp:w #1 ~ #2 ~ #3#4#5 \q_stop
@@ -327,13 +322,13 @@
     {
       \tl_if_empty:nTF { #4#5 }
         {
-          \cs_new_nopar:Npn \__xeCJK_get_charcode:w ##1 ~ ##2 ~ ##3 \q_stop
+          \cs_new:Npn \__xeCJK_get_charcode:w ##1 ~ ##2 ~ ##3 \q_stop
             { \int_eval:n { `##3 } }
         }
         {
           \tl_if_empty:nTF {#5}
             {
-              \cs_new_nopar:Npn \__xeCJK_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop
+              \cs_new:Npn \__xeCJK_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop
                 {
                   \int_eval:n
                     {
@@ -344,7 +339,7 @@
                 }
             }
             {
-              \cs_new_nopar:Npn \__xeCJK_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop
+              \cs_new:Npn \__xeCJK_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop
                 { \int_eval:n { \tl_if_empty:nTF { ##4 } { `##3 } { "20000 } } }
             }
         }
@@ -358,7 +353,7 @@
     \cs_end:
       \prg_return_true: \else: \prg_return_false: \fi:
   }
-\cs_new_nopar:Npn \__xeCJK_CJK_class_tl:n #1
+\cs_new:Npn \__xeCJK_CJK_class_tl:n #1
   { c__xeCJK_CJK_class_ \int_eval:n {#1} _tl }
 \prg_new_conditional:Npnn \xeCJK_if_same_class:NN #1#2 { p , T , F , TF }
   {
@@ -366,7 +361,7 @@
                       \xeCJK_token_value_class:N #2 \exp_stop_f:
       \prg_return_true: \else: \prg_return_false: \fi:
   }
-\cs_new_protected_nopar:Npn \xeCJK_make_boundary:
+\cs_new_protected:Npn \xeCJK_make_boundary:
   { \bool_if:NT \l__xeCJK_CJK_group_bool { \scan_stop: } }
 \keys_define:nn { xeCJK / options }
   {
@@ -382,7 +377,7 @@
 \char_set_catcode_ignore:n { "FEFF }
 \seq_new:N \g__xeCJK_class_seq
 \seq_new:N \g__xeCJK_new_class_seq
-\cs_new_protected_nopar:Npn \xeCJK_new_class:n #1
+\cs_new_protected:Npn \xeCJK_new_class:n #1
   {
     \int_if_exist:cTF { \__xeCJK_class_csname:n {#1} }
       { \__xeCJK_error:nx { class-already-defined } {#1} }
@@ -395,7 +390,7 @@
           { \__xeCJK_class_csname:n {#1} }
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_save_class:nn #1#2
+\cs_new_protected:Npn \xeCJK_save_class:nn #1#2
   {
     \int_if_exist:cTF { \__xeCJK_class_csname:n {#1} }
       { \__xeCJK_error:nx { class-already-defined } {#1} }
@@ -405,7 +400,7 @@
         \seq_gput_right:Nn \g__xeCJK_class_seq {#1}
       }
   }
-\cs_new_nopar:Npn \__xeCJK_class_csname:n #1 { c__xeCJK_#1_class_int }
+\cs_new:Npn \__xeCJK_class_csname:n #1 { c__xeCJK_#1_class_int }
 \cs_new_eq:cN { \__xeCJK_class_csname:n { Others } } \l__xeCJK_tmp_int
 \__xeCJK_msg_new:nn { class-already-defined }
   {
@@ -505,6 +500,7 @@
   }
 \clist_const:Nn \c__xeCJK_CJK_chars_clist
   {
+    "02EA -> "02EB ,
     "2E80 -> "2EFF ,
     "2F00 -> "2FDF ,
     "2FF0 -> "2FFF ,
@@ -532,6 +528,8 @@
     "16FE0 -> "16FFF ,
     "17000 -> "187FF ,
     "18800 -> "18AFF ,
+    "18B00 -> "18CFF ,
+    "18D00 -> "18D8F ,
     "1B000 -> "1B0FF ,
     "1B100 -> "1B12F ,
     "1B130 -> "1B16F ,
@@ -541,7 +539,8 @@
     "2B740 -> "2B81F ,
     "2B820 -> "2CEAF ,
     "2CEB0 -> "2EBEF ,
-    "2F800 -> "2FA1F
+    "2F800 -> "2FA1F ,
+    "30000 -> "3134F
   }
 \clist_const:Nn \c__xeCJK_CM_chars_clist
   {
@@ -556,7 +555,7 @@
     "A960 -> "A97F ,
     "D7B0 -> "D7FF
   }
-\cs_new_nopar:Npn \xeCJK_class_num:n #1
+\cs_new:Npn \xeCJK_class_num:n #1
   { \use:c { \__xeCJK_class_csname:n {#1} } }
 \NewDocumentCommand \xeCJKDeclareCharClass { s > { \TrimSpaces } m m }
   {
@@ -563,12 +562,12 @@
     \xeCJK_declare_char_class:nn {#2} {#3}
     \IfBooleanT {#1} { \xeCJKResetPunctClass }
   }
-\cs_new_protected_nopar:Npn \xeCJK_declare_char_class:nn #1#2
+\cs_new_protected:Npn \xeCJK_declare_char_class:nn #1#2
   {
     \clist_set:Nx \l__xeCJK_tmp_clist {#2}
     \xeCJK_declare_char_class:nN {#1} \l__xeCJK_tmp_clist
   }
-\cs_new_protected_nopar:Npn \xeCJK_declare_char_class:nN #1#2
+\cs_new_protected:Npn \xeCJK_declare_char_class:nN #1#2
   {
     \clist_gconcat:ccN
       { g__xeCJK_#1_range_clist } { g__xeCJK_#1_range_clist } #2
@@ -585,7 +584,7 @@
 \NewDocumentCommand \__xeCJK_set_char_class_aux:Nnw
   { m > { \SplitArgument { 1 } { -> } } m } { #1 #2 }
 \cs_generate_variant:Nn \clist_gconcat:NNN { cc }
-\cs_new_protected_nopar:Npn \__xeCJK_check_num_range:nnNN #1#2#3#4
+\cs_new_protected:Npn \__xeCJK_check_num_range:nnNN #1#2#3#4
   {
     \bool_lazy_or:nnTF
       { \xeCJK_if_blank_x_p:n {#1} }
@@ -609,7 +608,7 @@
         \int_incr:N \l__xeCJK_begin_int
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_set_char_class:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_set_char_class:nnn #1#2#3
   {
     \__xeCJK_check_num_range:nnNN {#1} {#2} \l__xeCJK_begin_int \l__xeCJK_end_int
     \int_set:Nn \l__xeCJK_tmp_int {#3}
@@ -619,7 +618,7 @@
         \int_incr:N \l__xeCJK_begin_int
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_set_char_class_eq:nn #1#2
+\cs_new_protected:Npn \__xeCJK_set_char_class_eq:nn #1#2
   {
     \int_set:Nn \l__xeCJK_tmp_int { \xeCJK_class_num:n {#2} }
     \clist_map_inline:cn { c__xeCJK_#1_chars_clist }
@@ -654,32 +653,32 @@
     \xeCJKResetPunctClass
   }
 \xeCJKResetCharClass
-\cs_new_protected_nopar:Npn \xeCJK_inter_class_toks:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_inter_class_toks:nnn #1#2#3
   {
     \tex_XeTeXinterchartoks:D \xeCJK_class_num:n {#1} ~
                               \xeCJK_class_num:n {#2} = {#3}
   }
 \cs_generate_variant:Nn \xeCJK_inter_class_toks:nnn { nnx }
-\cs_new_nopar:Npn \xeCJK_get_inter_class_toks:nn #1#2
+\cs_new:Npn \xeCJK_get_inter_class_toks:nn #1#2
   {
     \tex_the:D \tex_XeTeXinterchartoks:D \xeCJK_class_num:n {#1} ~
                                          \xeCJK_class_num:n {#2}
   }
-\cs_new_protected_nopar:Npn \xeCJK_clear_inter_class_toks:nn #1#2
+\cs_new_protected:Npn \xeCJK_clear_inter_class_toks:nn #1#2
   { \xeCJK_inter_class_toks:nnn {#1} {#2} { \prg_do_nothing: } }
-\cs_new_protected_nopar:Npn \xeCJK_pre_inter_class_toks:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_pre_inter_class_toks:nnn #1#2#3
   {
     \xeCJK_inter_class_toks:nnx {#1} {#2}
       { \exp_not:n {#3} \xeCJK_get_inter_class_toks:nn {#1} {#2} }
   }
 \cs_generate_variant:Nn \xeCJK_pre_inter_class_toks:nnn { nnx }
-\cs_new_protected_nopar:Npn \xeCJK_app_inter_class_toks:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_app_inter_class_toks:nnn #1#2#3
   {
     \xeCJK_inter_class_toks:nnx {#1} {#2}
       { \xeCJK_get_inter_class_toks:nn {#1} {#2} \exp_not:n {#3} }
   }
 \cs_generate_variant:Nn \xeCJK_app_inter_class_toks:nnn { nnx }
-\cs_new_protected_nopar:Npn \xeCJK_copy_inter_class_toks:nnnn #1#2#3#4
+\cs_new_protected:Npn \xeCJK_copy_inter_class_toks:nnnn #1#2#3#4
   {
     \tl_set:Nx \l__xeCJK_tmp_tl
       { \xeCJK_get_inter_class_toks:nn {#3} {#4} }
@@ -692,7 +691,7 @@
       }
       { \xeCJK_inter_class_toks:nnx {#1} {#2} { \exp_not:o \l__xeCJK_tmp_tl } }
   }
-\cs_new_protected_nopar:Npn \xeCJK_replace_inter_class_toks:nnnn #1#2#3#4
+\cs_new_protected:Npn \xeCJK_replace_inter_class_toks:nnnn #1#2#3#4
   {
     \tl_set:Nx \l__xeCJK_tmp_tl
       { \xeCJK_get_inter_class_toks:nn {#1} {#2} }
@@ -703,11 +702,11 @@
           { \exp_not:o \l__xeCJK_tmp_tl }
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_clear_Boundary_and_CJK_toks:
+\cs_new_protected:Npn \xeCJK_clear_Boundary_and_CJK_toks:
   { }
-\cs_new_protected_nopar:Npn \__xeCJK_update_clear_toks:n #1
+\cs_new_protected:Npn \__xeCJK_update_clear_toks:n #1
   {
-    \cs_gset_protected_nopar:Npx \xeCJK_clear_Boundary_and_CJK_toks:
+    \cs_gset_protected:Npx \xeCJK_clear_Boundary_and_CJK_toks:
       {
         \exp_not:o { \xeCJK_clear_Boundary_and_CJK_toks: }
         \tex_XeTeXinterchartoks:D
@@ -721,7 +720,7 @@
 \seq_gset_from_clist:Nn \g__xeCJK_non_CJK_class_seq
   { Default , HalfLeft , HalfRight , NormalSpace , Boundary }
 \seq_new:N \g__xeCJK_CJK_class_seq
-\cs_new_protected_nopar:Npn \__xeCJK_save_CJK_class:n #1
+\cs_new_protected:Npn \__xeCJK_save_CJK_class:n #1
   {
     \seq_gput_right:Nn \g__xeCJK_CJK_class_seq {#1}
     \tl_const:cn
@@ -731,11 +730,11 @@
   }
 \clist_map_function:nN
   { CJK , FullLeft , FullRight , CM , HangulJamo } \__xeCJK_save_CJK_class:n
-\cs_new_protected_nopar:Npn \xeCJK_class_group_begin:
+\cs_new_protected:Npn \xeCJK_class_group_begin:
   {
     \c_group_begin_token
     \bool_set_true:N \l__xeCJK_CJK_group_bool
-    \int_gset:Nn \g__xeCJK_space_factor_int { 1000 }
+    \xeCJK_reset_space_factor:
     \int_zero:N \tex_XeTeXdashbreakstate:D
   }
 \bool_new:N \l__xeCJK_CJK_group_bool
@@ -783,15 +782,15 @@
     \xeCJK_app_inter_class_toks:nnn { CJK } {#1}
       { \CJKecglue }
   }
-\cs_new_protected_nopar:Npn \xeCJK_Boundary_and_Default:
+\cs_new_protected:Npn \xeCJK_Boundary_and_Default:
   { \xeCJK_check_for_ecglue: }
-\cs_new_protected_nopar:Npn \__xeCJK_check_for_xecglue:
+\cs_new_protected:Npn \__xeCJK_check_for_xecglue:
   {
     \int_compare:nNnTF \tex_lastnodetype:D = { 11 }
       { \__xeCJK_replace_space: }
       { \__xeCJK_check_for_ecglue: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_check_for_ecglue:
+\cs_new_protected:Npn \__xeCJK_check_for_ecglue:
   {
     \xeCJK_if_last_node:nTF { CJK }
       { \use_i:nn }
@@ -803,7 +802,7 @@
       }
   }
 \cs_new_eq:NN \xeCJK_check_for_ecglue: \__xeCJK_check_for_ecglue:
-\cs_new_protected_nopar:Npn \__xeCJK_replace_space:
+\cs_new_protected:Npn \__xeCJK_replace_space:
   {
     \skip_set_eq:NN \l__xeCJK_last_skip \tex_lastskip:D
     \tex_unskip:D
@@ -842,15 +841,15 @@
   }
 \xeCJK_inter_class_toks:nnn { Boundary } { NormalSpace }
   { \xeCJK_Boundary_and_NormalSp: }
-\cs_new_protected_nopar:Npn \xeCJK_Boundary_and_NormalSp:
+\cs_new_protected:Npn \xeCJK_Boundary_and_NormalSp:
   { \xeCJK_check_for_ecglue_normalsp: }
-\cs_new_protected_nopar:Npn \__xeCJK_check_for_xecglue_normalsp:
+\cs_new_protected:Npn \__xeCJK_check_for_xecglue_normalsp:
   {
     \int_compare:nNnTF \tex_lastnodetype:D = { 11 }
       { \__xeCJK_replace_space: }
       { \__xeCJK_check_for_ecglue_normalsp: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_check_for_ecglue_normalsp:
+\cs_new_protected:Npn \__xeCJK_check_for_ecglue_normalsp:
   {
     \xeCJK_if_last_node:nT { CJK-space }
       { \xeCJK_remove_node: \xeCJK_space_or_xecglue: }
@@ -879,7 +878,7 @@
     \xeCJK_select_font:
     \CJKsymbol
   }
-\cs_new_protected_nopar:Npn \xeCJK_check_for_glue:
+\cs_new_protected:Npn \xeCJK_check_for_glue:
   {
     \int_compare:nNnTF \tex_lastnodetype:D = { 12 }
       { \__xeCJK_check_for_glue_auxi: }
@@ -889,7 +888,7 @@
           { \__xeCJK_check_for_glue_auxii: }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_check_for_glue_auxi:
+\cs_new_protected:Npn \__xeCJK_check_for_glue_auxi:
   {
     \dim_case:nn { \tex_lastkern:D }
       {
@@ -903,13 +902,13 @@
         { \xeCJK_remove_node: \CJKecglue }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_check_for_glue_auxii:
+\cs_new_protected:Npn \__xeCJK_check_for_glue_auxii:
   {
     \xeCJK_if_last_punct:TF
       { \__xeCJK_check_for_glue_auxiii: }
       { \xeCJK_check_for_xglue: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_check_for_glue_auxiii:
+\cs_new_protected:Npn \__xeCJK_check_for_glue_auxiii:
   {
     \bool_if:NT \l__xeCJK_last_penalty_bool
       { \tex_penalty:D \l__xeCJK_last_penalty_int }
@@ -917,7 +916,7 @@
     \tl_if_eq:NNF \l__xeCJK_aligni_tl \c__xeCJK_left_tl { \CJKglue }
   }
 \cs_new_eq:NN \xeCJK_check_for_xglue: \prg_do_nothing:
-\cs_new_protected_nopar:Npn \__xeCJK_check_for_xglue:
+\cs_new_protected:Npn \__xeCJK_check_for_xglue:
   {
     \int_compare:nNnT \tex_lastnodetype:D = { 11 }
       {
@@ -932,7 +931,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_check_for_xglue_aux:
+\cs_new_protected:Npn \__xeCJK_check_for_xglue_aux:
   {
     \skip_if_eq:nnTF
       { \l__xeCJK_last_skip }
@@ -952,7 +951,7 @@
       }
       { \skip_horizontal:N \l__xeCJK_last_skip }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ccglue_or_space:
+\cs_new_protected:Npn \__xeCJK_ccglue_or_space:
   { \CJKglue }
  \prg_new_conditional:Npnn \xeCJK_if_last_node:n #1 { p , T , F , TF }
   {
@@ -959,7 +958,7 @@
     \if_dim:w \use:c { c__xeCJK_#1_node_dim } = \tex_lastkern:D
       \prg_return_true: \else: \prg_return_false: \fi:
   }
-\cs_new_protected_nopar:Npn \xeCJK_declare_node:n #1
+\cs_new_protected:Npn \xeCJK_declare_node:n #1
   {
     \int_gincr:N \g__xeCJK_node_int
     \dim_if_exist:cTF { c__xeCJK_#1_node_dim }
@@ -968,16 +967,16 @@
   }
 \int_new:N \g__xeCJK_node_int
 \int_gset:Nn \g__xeCJK_node_int { 10 }
-\cs_new_protected_nopar:Npn \xeCJK_make_node:n #1
+\cs_new_protected:Npn \xeCJK_make_node:n #1
   { \exp_args:Nc \__xeCJK_make_node:N { c__xeCJK_#1_node_dim } }
-\cs_new_nopar:Npn \__xeCJK_node:n #1
+\cs_new:Npn \__xeCJK_node:n #1
   { \use:c { c__xeCJK_#1_node_dim } }
-\cs_new_protected_nopar:Npn \__xeCJK_make_node:N #1
+\cs_new_protected:Npn \__xeCJK_make_node:N #1
   {
     \tex_kern:D - #1
     \tex_kern:D   #1
   }
-\cs_new_protected_nopar:Npn \xeCJK_remove_node:
+\cs_new_protected:Npn \xeCJK_remove_node:
   { \tex_unkern:D \tex_unkern:D }
 \xeCJK_declare_node:n { CJK }
 \xeCJK_declare_node:n { CJK-space }
@@ -989,7 +988,7 @@
   {
     CJKglue .code:n =
       {
-        \cs_set_protected_nopar:Npn \CJKglue {#1}
+        \cs_set_protected:Npn \CJKglue {#1}
         \xeCJK_glue_to_skip:nN {#1} \l__xeCJK_ccglue_skip
       }
   }
@@ -998,7 +997,7 @@
   {
     CJKecglue            .code:n =
       {
-        \cs_set_protected_nopar:Npn \CJKecglue {#1}
+        \cs_set_protected:Npn \CJKecglue {#1}
         \xeCJK_glue_to_skip:nN {#1} \l__xeCJK_ecglue_skip
       } ,
     xCJKecglue .choice: ,
@@ -1025,7 +1024,7 @@
     xCJKecglue / unknown .code:n =
       {
         \bool_set_true:N  \l__xeCJK_xecglue_bool
-        \cs_set_protected_nopar:Npn \CJKecglue {#1}
+        \cs_set_protected:Npn \CJKecglue {#1}
         \xeCJK_glue_to_skip:nN {#1} \l__xeCJK_ecglue_skip
         \cs_set_eq:NN \xeCJK_space_or_xecglue: \CJKecglue
         \cs_set_eq:NN \xeCJK_check_for_xglue: \__xeCJK_check_for_xglue:
@@ -1045,13 +1044,13 @@
     CJKspace / true  .code:n =
       {
         \bool_set_true:N \l__xeCJK_reserve_space_bool
-        \cs_set_protected_nopar:Npn \__xeCJK_ccglue_or_space:
+        \cs_set_protected:Npn \__xeCJK_ccglue_or_space:
           { \xeCJK_space_glue: }
       } ,
     CJKspace / false .code:n =
       {
         \bool_set_false:N \l__xeCJK_reserve_space_bool
-        \cs_set_protected_nopar:Npn \__xeCJK_ccglue_or_space:
+        \cs_set_protected:Npn \__xeCJK_ccglue_or_space:
           { \CJKglue }
       } ,
     CJKspace      .default:n = { true } ,
@@ -1060,7 +1059,7 @@
   }
 \bool_new:N \l__xeCJK_reserve_space_bool
 \xeCJK_inter_class_toks:nnn { CJK } { Boundary } { \xeCJK_CJK_and_Boundary:w }
-\cs_new_protected_nopar:Npn \xeCJK_CJK_and_Boundary:w
+\cs_new_protected:Npn \xeCJK_CJK_and_Boundary:w
   {
     \xeCJK_peek_catcode_ignore_spaces:NTF \c_math_toggle_token
       {
@@ -1083,7 +1082,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_boundary_reserve_space:
+\cs_new_protected:Npn \__xeCJK_boundary_reserve_space:
   {
     \__xeCJK_boundary_group_end:n { CJK-space }
     \xeCJK_space_or_xecglue:
@@ -1094,13 +1093,13 @@
     \token_if_eq_meaning:NNTF #1 \scan_stop:
       {#1} { \cs_set_eq:NN #1 \scan_stop: #1 }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_boundary_group_end:n #1
+\cs_new_protected:Npn \__xeCJK_boundary_group_end:n #1
   {
     \group_align_safe_end:
     \xeCJK_class_group_end:
     { \xeCJK_make_node:n {#1} }
   }
-\cs_new_protected_nopar:Npn \xeCJK_ignore_spaces:w
+\cs_new_protected:Npn \xeCJK_ignore_spaces:w
   {
     \xeCJK_peek_catcode_ignore_spaces:NTF \c_math_toggle_token
       {
@@ -1124,7 +1123,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_reserve_space_aux:
+\cs_new_protected:Npn \__xeCJK_reserve_space_aux:
   {
     \group_align_safe_end:
     \xeCJK_space_or_xecglue:
@@ -1131,7 +1130,7 @@
   }
 \xeCJK_inter_class_toks:nnn { CJK } { CJK }
   { \xeCJK_CJK_and_CJK:N }
-\cs_new_protected_nopar:Npn \xeCJK_CJK_and_CJK:N
+\cs_new_protected:Npn \xeCJK_CJK_and_CJK:N
   { \CJKglue \CJKsymbol }
 \xeCJK_inter_class_toks:nnn { FullLeft }  { CJK }
   { \xeCJK_FullLeft_and_CJK: \CJKsymbol }
@@ -1155,7 +1154,7 @@
   { \xeCJK_FullLeft_and_Boundary: }
 \xeCJK_inter_class_toks:nnn { FullRight } { Boundary }
   { \xeCJK_FullRight_and_Boundary: }
-\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_Boundary:
+\cs_new_protected:Npn \xeCJK_FullLeft_and_Boundary:
   {
     \__xeCJK_punct_if_middle:NTF \g__xeCJK_last_punct_tl
       {
@@ -1172,7 +1171,7 @@
       }
     \tex_ignorespaces:D
   }
-\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_Boundary:
+\cs_new_protected:Npn \xeCJK_FullRight_and_Boundary:
   {
     \__xeCJK_punct_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
     \xeCJK_class_group_end:
@@ -1180,7 +1179,7 @@
     \__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
     \tex_ignorespaces:D
   }
-\cs_new_protected_nopar:Npn \xeCJK_punct_node:N #1
+\cs_new_protected:Npn \xeCJK_punct_node:N #1
   {
     \__xeCJK_punct_bound_unitization:NN #1 \l__xeCJK_tmp_dim
     \__xeCJK_make_node:N \l__xeCJK_tmp_dim
@@ -1187,7 +1186,7 @@
     \dim_set:Nn \l__xeCJK_tmp_dim { `#1 sp }
     \__xeCJK_make_node:N \l__xeCJK_tmp_dim
   }
-\cs_new_protected_nopar:Npn \__xeCJK_punct_bound_unitization:NN #1#2
+\cs_new_protected:Npn \__xeCJK_punct_bound_unitization:NN #1#2
   {
     \dim_set:Nn #2
       {
@@ -1198,12 +1197,12 @@
     \dim_compare:nNnF {#2} < { 1pt }
       { \dim_set:Nn #2 { -1pt * \dim_ratio:nn {#2} { \c_max_dim } } }
   }
-\cs_new_protected_nopar:Npn \xeCJK_punct_bound_kern:N #1
+\cs_new_protected:Npn \xeCJK_punct_bound_kern:N #1
   {
     \exp_after:wN \__xeCJK_punct_bound_kern:NN
       \g__xeCJK_last_punct_tl #1
   }
-\cs_new_protected_nopar:Npn \__xeCJK_punct_bound_kern:NN #1#2
+\cs_new_protected:Npn \__xeCJK_punct_bound_kern:NN #1#2
   {
     \xeCJK_get_punct_bounds:NN \l__xeCJK_aligni_tl #1
     \xeCJK_get_punct_kerning:NN #1 #2
@@ -1221,7 +1220,7 @@
       \l__xeCJK_punct_kern_skip
   }
 \skip_new:N \l__xeCJK_punct_kern_skip
-\cs_new_protected_nopar:Npn \__xeCJK_punct_bound_kern_ratio:NN #1#2
+\cs_new_protected:Npn \__xeCJK_punct_bound_kern_ratio:NN #1#2
   {
     \dim_set:Nn \l__xeCJK_bound_dim
       { \__xeCJK_use_punct_dim:nNN { bound_width } #1 #2 }
@@ -1238,7 +1237,7 @@
         \__xeCJK_punct_bound_kern_ratio_aux:N #2
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_punct_bound_kern_ratio_aux:N #1
+\cs_new_protected:Npn \__xeCJK_punct_bound_kern_ratio_aux:N #1
   {
     \skip_set:Nn \l__xeCJK_punct_kern_skip
       {
@@ -1251,12 +1250,12 @@
           { \l__xeCJK_bound_dim }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_nobreak_hskip:N
+\cs_new_protected:Npn \__xeCJK_nobreak_hskip:N
   { \xeCJK_no_break: \skip_horizontal:N }
-\cs_new_protected_nopar:Npn \__xeCJK_nobreak_hskip:n
+\cs_new_protected:Npn \__xeCJK_nobreak_hskip:n
   { \xeCJK_no_break: \skip_horizontal:n }
 \cs_new_eq:NN \__xeCJK_punct_bound_kern:N \__xeCJK_nobreak_hskip:N
-\cs_new_protected_nopar:Npn \__xeCJK_punct_bound_breakable_kern:N
+\cs_new_protected:Npn \__xeCJK_punct_bound_breakable_kern:N
   {
     \tl_if_eq:NNTF \l__xeCJK_aligni_tl \c__xeCJK_right_tl
       {
@@ -1266,7 +1265,7 @@
       }
       { \__xeCJK_nobreak_hskip:N }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_punct_bound_kern_aux:NNN #1#2
+\cs_new_protected:Npn \__xeCJK_punct_bound_kern_aux:NNN #1#2
   {
     \str_if_eq:nnTF {#1} {#2}
       { \__xeCJK_nobreak_hskip:N }
@@ -1288,7 +1287,7 @@
           { \exp_not:c { xeCJK_#1_and_##1:N } }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_punct_bound_rule:NN #1#2
+\cs_new_protected:Npn \__xeCJK_punct_bound_rule:NN #1#2
   {
     \tex_vrule:D
       width - \__xeCJK_use_punct_dim:nNN { bound } #1 #2 ~
@@ -1295,7 +1294,7 @@
       depth  \c_zero_dim
       height \c_zero_dim \scan_stop:
   }
-\cs_new_protected_nopar:Npn \__xeCJK_punct_rule:NN #1#2
+\cs_new_protected:Npn \__xeCJK_punct_rule:NN #1#2
   {
     \tex_vrule:D
       width  \__xeCJK_use_punct_dim:nNN { rule } #1 #2 ~
@@ -1302,10 +1301,10 @@
       depth  \c_zero_dim
       height \c_zero_dim \scan_stop:
   }
-\cs_new_protected_nopar:Npn \__xeCJK_punct_glue:NN #1#2
+\cs_new_protected:Npn \__xeCJK_punct_glue:NN #1#2
   { \__xeCJK_punct_hskip:n { \__xeCJK_use_dim_or_skip:nNN { glue } #1 #2 } }
 \cs_new_eq:NN \__xeCJK_punct_hskip:n \skip_horizontal:n
-\cs_new_protected_nopar:Npn \__xeCJK_punct_kern:NN #1#2
+\cs_new_protected:Npn \__xeCJK_punct_kern:NN #1#2
   {
     \str_if_eq:eeTF {#1} {#2}
       { \__xeCJK_punct_nobreak_kern:NN }
@@ -1321,9 +1320,9 @@
     #1 #2
   }
 \cs_new_eq:NN \xeCJK_punct_kern:NN \__xeCJK_punct_kern:NN
-\cs_new_protected_nopar:Npn \__xeCJK_punct_nobreak_kern:NN #1#2
+\cs_new_protected:Npn \__xeCJK_punct_nobreak_kern:NN #1#2
   { \__xeCJK_nobreak_hskip:n { \__xeCJK_use_dim_or_skip:nNN { kern } #1 #2 } }
-\cs_new_protected_nopar:Npn \__xeCJK_punct_breakable_kern:NN #1#2
+\cs_new_protected:Npn \__xeCJK_punct_breakable_kern:NN #1#2
   {
     \exp_after:wN \__xeCJK_punct_if_right:NT #1
       { \__xeCJK_punct_rule:NN \c__xeCJK_right_tl #1 }
@@ -1334,7 +1333,7 @@
   }
 \cs_new_eq:NN \__xeCJK_punct_breakable_kern:n \skip_horizontal:n
 \tl_new:N \g__xeCJK_last_punct_tl
-\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_CJK:
+\cs_new_protected:Npn \xeCJK_FullLeft_and_CJK:
   {
     \__xeCJK_punct_if_middle:NTF \g__xeCJK_last_punct_tl
       {
@@ -1345,7 +1344,7 @@
       { }
     \__xeCJK_select_font:
   }
-\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_Default:
+\cs_new_protected:Npn \xeCJK_FullLeft_and_Default:
   {
     \__xeCJK_punct_if_middle:NTF \g__xeCJK_last_punct_tl
       {
@@ -1358,14 +1357,14 @@
         \__xeCJK_nobreak_zero_glue:
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_nobreak_zero_glue:
+\cs_new_protected:Npn \__xeCJK_nobreak_zero_glue:
   {
     \tex_penalty:D \c__xeCJK_nobreak_penalty_int
     \skip_horizontal:N \c_zero_skip
   }
-\cs_new_protected_nopar:Npn \__xeCJK_zero_glue:
+\cs_new_protected:Npn \__xeCJK_zero_glue:
   { \skip_horizontal:N \c_zero_skip }
-\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_CJK:
+\cs_new_protected:Npn \xeCJK_FullRight_and_CJK:
   {
     \__xeCJK_punct_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
     \__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
@@ -1372,13 +1371,13 @@
     \__xeCJK_select_font:
     \CJKglue
   }
-\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_Default:
+\cs_new_protected:Npn \xeCJK_FullRight_and_Default:
   {
     \__xeCJK_punct_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
     \xeCJK_class_group_end:
     \__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
   }
-\cs_new_protected_nopar:Npn \xeCJK_Default_and_FullLeft:nN #1#2
+\cs_new_protected:Npn \xeCJK_Default_and_FullLeft:nN #1#2
   {
     \xeCJK_get_punct_bounds:NN \c__xeCJK_left_tl #2
     \__xeCJK_Default_and_FullLeft_glue:N #2
@@ -1390,9 +1389,9 @@
     \__xeCJK_punct_rule:NN \c__xeCJK_left_tl #2
     \CJKpunctsymbol #2
   }
-\cs_new_protected_nopar:Npn \__xeCJK_Default_and_FullLeft_glue:N #1
+\cs_new_protected:Npn \__xeCJK_Default_and_FullLeft_glue:N #1
   { \__xeCJK_punct_glue:NN \c__xeCJK_left_tl #1 }
-\cs_new_protected_nopar:Npn \xeCJK_CJK_and_FullLeft:N #1
+\cs_new_protected:Npn \xeCJK_CJK_and_FullLeft:N #1
   {
     \xeCJK_get_punct_bounds:NN \c__xeCJK_left_tl #1
     \__xeCJK_CJK_and_FullLeft_glue:N #1
@@ -1401,12 +1400,12 @@
     \__xeCJK_select_punct_font:
     \CJKpunctsymbol #1
   }
-\cs_new_protected_nopar:Npn \__xeCJK_CJK_and_FullLeft_glue:N #1
+\cs_new_protected:Npn \__xeCJK_CJK_and_FullLeft_glue:N #1
   {
     \CJKglue
     \__xeCJK_punct_glue:NN \c__xeCJK_left_tl #1
   }
-\cs_new_protected_nopar:Npn \xeCJK_Boundary_and_FullLeft:N #1
+\cs_new_protected:Npn \xeCJK_Boundary_and_FullLeft:N #1
   {
     \xeCJK_get_punct_bounds:NN \c__xeCJK_left_tl #1
     \__xeCJK_Boundary_and_FullLeft_glue:N #1
@@ -1417,7 +1416,7 @@
     \__xeCJK_punct_rule:NN \c__xeCJK_left_tl #1
     \CJKpunctsymbol #1
   }
-\cs_new_protected_nopar:Npn \__xeCJK_Boundary_and_FullLeft_glue:N #1
+\cs_new_protected:Npn \__xeCJK_Boundary_and_FullLeft_glue:N #1
   {
     \tl_set_eq:NN \l__xeCJK_alignii_tl \c__xeCJK_left_tl
     \group_begin: \exp_args:NNc \group_end: \cs_if_exist_use:NTF
@@ -1427,9 +1426,9 @@
       { \__xeCJK_punct_glue:NN \c__xeCJK_left_tl #1 }
   }
 \tl_new:N \c__xeCJK_alignii_tl
-\cs_new_protected_nopar:cpn { __xeCJK_bound_type_ -1 _glue:Nn } #1#2
+\cs_new_protected:cpn { __xeCJK_bound_type_ -1 _glue:Nn } #1#2
   { \__xeCJK_zero_glue: }
-\cs_new_protected_nopar:cpn { __xeCJK_bound_type_  1 _glue:Nn } #1#2
+\cs_new_protected:cpn { __xeCJK_bound_type_  1 _glue:Nn } #1#2
   {
     \box_set_to_last:N \l__xeCJK_tmp_box
     \int_compare:nNnTF \tex_lastnodetype:D = { -1 }
@@ -1441,19 +1440,19 @@
       }
       { \box_use_drop:N \l__xeCJK_tmp_box #2 }
   }
-\cs_new_protected_nopar:cpn { __xeCJK_bound_type_ 11 _glue:Nn } #1#2
+\cs_new_protected:cpn { __xeCJK_bound_type_ 11 _glue:Nn } #1#2
   {
     \skip_if_finite:nTF { \tex_lastskip:D }
       { \__xeCJK_bound_glue_auxi:Nn #1 {#2} }
       { \__xeCJK_zero_glue: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_bound_glue_auxi:Nn #1#2
+\cs_new_protected:Npn \__xeCJK_bound_glue_auxi:Nn #1#2
   {
     \__xeCJK_if_last_punct_glue:TF
       { \xeCJK_punct_bound_kern:N #1 }
       { \__xeCJK_bound_glue_auxii:n {#2} }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_bound_glue_auxii:n #1
+\cs_new_protected:Npn \__xeCJK_bound_glue_auxii:n #1
   {
     \skip_set_eq:NN \l__xeCJK_last_skip \tex_lastskip:D
     \skip_if_eq:nnTF { \l__xeCJK_last_skip } { 1sp }
@@ -1473,7 +1472,7 @@
           {#1}
       }
   }
-\cs_new_protected_nopar:cpn { __xeCJK_bound_type_ 12 _glue:Nn } #1#2
+\cs_new_protected:cpn { __xeCJK_bound_type_ 12 _glue:Nn } #1#2
   {
     \xeCJK_if_last_node:nF { CJK }
       { \xeCJK_if_last_node:nF { CJK-space } { \use_none:nn } }
@@ -1480,7 +1479,7 @@
     \xeCJK_remove_node: \CJKglue
     #2
   }
-\cs_new_protected_nopar:cpn { __xeCJK_bound_type_ 13 _glue:Nn } #1#2
+\cs_new_protected:cpn { __xeCJK_bound_type_ 13 _glue:Nn } #1#2
   {
     \__xeCJK_if_last_punct_penalty:TF
       { \xeCJK_punct_bound_kern:N #1 }
@@ -1495,7 +1494,7 @@
           {#2}
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_Default_and_FullRight:nN #1#2
+\cs_new_protected:Npn \xeCJK_Default_and_FullRight:nN #1#2
   {
     \xeCJK_get_punct_bounds:NN \c__xeCJK_right_tl #2
     \__xeCJK_Default_and_FullRight_glue:N #2
@@ -1506,7 +1505,7 @@
     \tl_gset:Nn \g__xeCJK_last_punct_tl {#2}
     \xeCJK_FullRight_symbol:N #2
   }
-\cs_new_protected_nopar:Npn \xeCJK_Boundary_and_FullRight:N #1
+\cs_new_protected:Npn \xeCJK_Boundary_and_FullRight:N #1
   {
     \xeCJK_get_punct_bounds:NN \c__xeCJK_right_tl #1
     \xeCJK_if_last_punct:TF
@@ -1522,7 +1521,7 @@
     \tl_gset:Nn \g__xeCJK_last_punct_tl {#1}
     \xeCJK_FullRight_symbol:N #1
   }
-\cs_new_protected_nopar:Npn \xeCJK_CJK_and_FullRight:N #1
+\cs_new_protected:Npn \xeCJK_CJK_and_FullRight:N #1
   {
     \xeCJK_get_punct_bounds:NN \c__xeCJK_right_tl #1
     \__xeCJK_CJK_and_FullRight_glue:N #1
@@ -1530,7 +1529,7 @@
     \__xeCJK_select_punct_font:
     \xeCJK_FullRight_symbol:N #1
   }
-\cs_new_protected_nopar:Npn \xeCJK_if_last_punct:TF
+\cs_new_protected:Npn \xeCJK_if_last_punct:TF
   {
     \bool_set_false:N \l__xeCJK_last_penalty_bool
     \int_compare:nNnTF \tex_lastnodetype:D = { 11 }
@@ -1541,7 +1540,7 @@
          { \use_ii:nn }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_if_last_punct_glue:TF
+\cs_new_protected:Npn \__xeCJK_if_last_punct_glue:TF
   {
     \prop_get:NoNTF \g__xeCJK_punct_skip_prop
       { \skip_use:N \tex_lastskip:D } \l__xeCJK_tmp_tl
@@ -1548,7 +1547,7 @@
       { \__xeCJK_if_last_punct_glue_auxi:TF }
       { \__xeCJK_if_last_punct_glue_auxii:TF }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_if_last_punct_glue_auxi:TF
+\cs_new_protected:Npn \__xeCJK_if_last_punct_glue_auxi:TF
   {
     \skip_set_eq:NN \l__xeCJK_last_skip \tex_lastskip:D
     \tex_unskip:D
@@ -1561,14 +1560,15 @@
       }
       { \skip_horizontal:N \l__xeCJK_last_skip \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_if_last_punct_glue_auxii:TF
+\cs_new_protected:Npn \__xeCJK_if_last_punct_glue_auxii:TF
   {
-    \int_gset_eq:NN \g__xeCJK_space_factor_int \tex_spacefactor:D
-    \skip_if_eq:nnTF { \tex_lastskip:D } { \c_xeCJK_space_skip_tl }
-      { \__xeCJK_if_last_punct_glue_auxiii:TF }
-      { \use_ii:nn }
+    \group_begin:
+      \g__xeCJK_space_factor_int \tex_spacefactor:D
+      \skip_if_eq:nnTF { \tex_lastskip:D } { \c_xeCJK_space_skip_tl }
+        { \group_end: \__xeCJK_if_last_punct_glue_auxiii:TF }
+        { \group_end: \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_if_last_punct_glue_auxiii:TF
+\cs_new_protected:Npn \__xeCJK_if_last_punct_glue_auxiii:TF
   {
     \skip_set_eq:NN \l__xeCJK_tmp_skip \tex_lastskip:D
     \tex_unskip:D
@@ -1582,7 +1582,7 @@
       { \use:n }
       { \skip_horizontal:N \l__xeCJK_tmp_skip \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_if_last_punct_penalty:TF
+\cs_new_protected:Npn \__xeCJK_if_last_punct_penalty:TF
   {
     \int_set_eq:NN \l__xeCJK_last_penalty_int \tex_lastpenalty:D
     \tex_unpenalty:D
@@ -1592,7 +1592,7 @@
       { \use:n }
       { \tex_penalty:D \l__xeCJK_last_penalty_int \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_if_last_punct_auxi:TF
+\cs_new_protected:Npn \__xeCJK_if_last_punct_auxi:TF
   {
     \tex_unpenalty:D
     \bool_if:NF \l__xeCJK_last_penalty_bool
@@ -1605,13 +1605,13 @@
       { \use:n }
       { \xeCJK_no_break: \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_if_last_punct_auxii:TF
+\cs_new_protected:Npn \__xeCJK_if_last_punct_auxii:TF
   {
     \dim_compare:nNnTF \l__xeCJK_last_kern_dim > \c_zero_dim
       { \__xeCJK_if_last_punct_auxiii:TF }
       { \__xeCJK_make_node:N \l__xeCJK_last_kern_dim \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_if_last_punct_auxiii:TF
+\cs_new_protected:Npn \__xeCJK_if_last_punct_auxiii:TF
   {
     \int_case:nnTF { \tex_XeTeXcharclass:D \l__xeCJK_last_kern_dim }
       {
@@ -1623,7 +1623,7 @@
       { \__xeCJK_if_last_punct_auxiv:TF }
       { \use_ii:nn }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_if_last_punct_auxiv:TF
+\cs_new_protected:Npn \__xeCJK_if_last_punct_auxiv:TF
   {
     \dim_set_eq:NN \l__xeCJK_tmp_dim \l__xeCJK_last_kern_dim
     \xeCJK_if_last_node:TF
@@ -1657,7 +1657,7 @@
       {#2}
   }
 \dim_new:N \l__xeCJK_last_kern_dim
-\cs_new_protected_nopar:Npn \__xeCJK_CJK_and_FullRight_glue:N #1
+\cs_new_protected:Npn \__xeCJK_CJK_and_FullRight_glue:N #1
   {
     \__xeCJK_punct_if_long:NTF #1
       { \xeCJK_allow_break: }
@@ -1669,7 +1669,7 @@
         \__xeCJK_punct_bound_rule:NN \c__xeCJK_left_tl #1
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_Default_and_FullRight_glue:N #1
+\cs_new_protected:Npn \__xeCJK_Default_and_FullRight_glue:N #1
   {
     \__xeCJK_punct_if_long:NTF #1
       { \xeCJK_allow_break: }
@@ -1680,7 +1680,7 @@
         \__xeCJK_punct_bound_rule:NN \c__xeCJK_left_tl #1
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_FullLeft:N #1
+\cs_new_protected:Npn \xeCJK_FullLeft_and_FullLeft:N #1
   {
     \xeCJK_get_punct_bounds:NN \c__xeCJK_left_tl #1
     \xeCJK_get_punct_kerning:oN \g__xeCJK_last_punct_tl #1
@@ -1688,7 +1688,7 @@
     \tl_gset:Nn \g__xeCJK_last_punct_tl {#1}
     \CJKpunctsymbol #1
   }
-\cs_new_protected_nopar:Npn \xeCJK_FullLeft_and_FullRight:N #1
+\cs_new_protected:Npn \xeCJK_FullLeft_and_FullRight:N #1
   {
     \xeCJK_get_punct_bounds:NN \c__xeCJK_right_tl #1
     \xeCJK_get_punct_kerning:oN \g__xeCJK_last_punct_tl #1
@@ -1696,7 +1696,7 @@
     \tl_gset:Nn \g__xeCJK_last_punct_tl {#1}
     \xeCJK_FullRight_symbol:N #1
   }
-\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_FullLeft:N #1
+\cs_new_protected:Npn \xeCJK_FullRight_and_FullLeft:N #1
   {
     \xeCJK_get_punct_bounds:NN \c__xeCJK_left_tl #1
     \xeCJK_get_punct_kerning:oN \g__xeCJK_last_punct_tl #1
@@ -1704,7 +1704,7 @@
     \tl_gset:Nn \g__xeCJK_last_punct_tl {#1}
     \CJKpunctsymbol #1
   }
-\cs_new_protected_nopar:Npn \xeCJK_FullRight_and_FullRight:N #1
+\cs_new_protected:Npn \xeCJK_FullRight_and_FullRight:N #1
   {
     \xeCJK_get_punct_bounds:NN \c__xeCJK_right_tl #1
     \xeCJK_get_punct_kerning:oN \g__xeCJK_last_punct_tl #1
@@ -1741,8 +1741,8 @@
       } ,
     CheckFullRight      .default:n = { true }
   }
-\cs_new_nopar:Npn \xeCJK_FullRight_symbol:N { \CJKpunctsymbol }
-\cs_new_protected_nopar:Npn \xeCJK_check_FullRight:
+\cs_new:Npn \xeCJK_FullRight_symbol:N { \CJKpunctsymbol }
+\cs_new_protected:Npn \xeCJK_check_FullRight:
   {
     \xeCJK_get_punct_bounds:No \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
     \__xeCJK_punct_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
@@ -1760,7 +1760,7 @@
     \__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
   }
 \prg_generate_conditional_variant:Nnn \tl_case:Nn { No } { TF , F }
-\cs_new_protected_nopar:Npn \xeCJK_check_FullRight_symbol:Nw #1
+\cs_new_protected:Npn \xeCJK_check_FullRight_symbol:Nw #1
   { \peek_remove_spaces:n { \__xeCJK_save_FullRight_symbol:N #1 } }
 \cs_new_protected:Npn \xeCJK_cs_case_keys_define:nNNnn #1#2#3#4#5
   {
@@ -1851,9 +1851,9 @@
     WidowPenalty .int_set:N = \l__xeCJK_widow_penalty_int ,
     WidowPenalty .default:n = { 10 000 }
   }
-\cs_new_protected_nopar:Npn \xeCJK_widow_penalty:
+\cs_new_protected:Npn \xeCJK_widow_penalty:
   { \tex_penalty:D \l__xeCJK_widow_penalty_int }
-\cs_new_protected_nopar:Npn \xeCJK_check_single:Nw #1
+\cs_new_protected:Npn \xeCJK_check_single:Nw #1
   {
     \group_align_safe_begin:
     \peek_catcode:NTF \c_catcode_letter_token
@@ -1865,12 +1865,12 @@
         #1
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_check_single_end:N
+\cs_new_protected:Npn \__xeCJK_check_single_end:N
   {
     \group_align_safe_end:
     \__xeCJK_check_single_save:N
   }
-\cs_new_protected_nopar:Npn \xeCJK_check_single:NNw #1#2
+\cs_new_protected:Npn \xeCJK_check_single:NNw #1#2
   {
     \xeCJK_peek_catcode_ignore_spaces:NTF \c_catcode_letter_token
       {
@@ -1897,7 +1897,7 @@
         #1 #2
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_check_single_aux:nNNw #1#2#3
+\cs_new_protected:Npn \__xeCJK_check_single_aux:nNNw #1#2#3
   {
     \token_if_cs:NTF \l_peek_token
       { \xeCJK_check_single_cs:NNn }
@@ -1904,10 +1904,10 @@
       { \xeCJK_check_single_end:NNnw }
     #2 #3 {#1}
   }
-\cs_new_protected_nopar:Npn \__xeCJK_check_single_end_aux:NNn #1#2#3
+\cs_new_protected:Npn \__xeCJK_check_single_end_aux:NNn #1#2#3
   { \__xeCJK_check_single_end:N #1 #2 #3 }
 \cs_new_eq:NN \xeCJK_check_single_end:NNnw \__xeCJK_check_single_end_aux:NNn
-\cs_new_protected_nopar:Npn \__xeCJK_check_single_end_equation:NNnw
+\cs_new_protected:Npn \__xeCJK_check_single_end_equation:NNnw
   {
     \token_if_math_toggle:NTF \l_peek_token
       { \xeCJK_check_single_equation:NNnNw }
@@ -1928,7 +1928,7 @@
       } ,
     PlainEquation      .default:n = { true } ,
   }
-\cs_new_protected_nopar:Npn \__xeCJK_check_single_space:NN #1#2
+\cs_new_protected:Npn \__xeCJK_check_single_space:NN #1#2
   {
     \xeCJK_if_CJK_class:NTF #2
       {
@@ -1938,7 +1938,7 @@
       }
       { \__xeCJK_check_single_end:N #1 #2 ~ }
   }
-\cs_new_protected_nopar:Npn \xeCJK_check_single_equation:NNnNw #1#2#3#4
+\cs_new_protected:Npn \xeCJK_check_single_equation:NNnNw #1#2#3#4
   {
     \peek_catcode:NTF \c_math_toggle_token
       {
@@ -1947,7 +1947,7 @@
       }
       { \__xeCJK_check_single_end:N #1 #2#3#4 }
   }
-\cs_new_protected_nopar:Npn \xeCJK_check_single_cs:NNn #1#2#3
+\cs_new_protected:Npn \xeCJK_check_single_cs:NNn #1#2#3
   {
     \tl_case:NoF \l_peek_token
       { \l__xeCJK_check_single_cs_case_tl }
@@ -1961,7 +1961,7 @@
       { \__xeCJK_check_single_end:N #1 #2#3 }
   }
 \tl_new:N \l__xeCJK_check_single_cs_case_tl
-\cs_new_protected_nopar:Npn \xeCJK_check_single_env:nnNn #1#2#3#4
+\cs_new_protected:Npn \xeCJK_check_single_env:nnNn #1#2#3#4
   {
     \str_case_e:noTF {#4}
       { \l__xeCJK_inline_env_case_tl }
@@ -2042,7 +2042,7 @@
         \IfBooleanT {#1} { \xeCJKResetPunctClass }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_sub_restore_or_cancel:n #1
+\cs_new_protected:Npn \__xeCJK_sub_restore_or_cancel:n #1
   {
     \clist_map_inline:nn {#1}
       {
@@ -2062,7 +2062,7 @@
     Try~to~use~\token_to_str:N \xeCJKDeclareSubCJKBlock \
     to~declare~it.
   }
-\cs_new_protected_nopar:Npn \xeCJK_declare_sub_char_class:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_declare_sub_char_class:nnn #1#2#3
   {
     \int_if_exist:cF { \__xeCJK_class_csname:n { #1/#2 } }
       {
@@ -2073,7 +2073,7 @@
     \xeCJK_declare_char_class:nn { #1/#2 } {#3}
   }
 \cs_generate_variant:Nn \xeCJK_declare_sub_char_class:nnn { nx }
-\cs_new_protected_nopar:Npn \__xeCJK_set_sub_class_toks:nn #1#2
+\cs_new_protected:Npn \__xeCJK_set_sub_class_toks:nn #1#2
   {
     \seq_map_inline:Nn \g__xeCJK_base_class_seq
       {
@@ -2121,11 +2121,11 @@
       {
         \keys_define:nn { xeCJK / options }
           {
-            PunctStyle / unknown .code:n =
-              { \__xeCJK_error:nx { punct-style-unknown } { \l_keys_value_tl } }
+            PunctStyle .code:n =
+              { \__xeCJK_error:nx { punct-style-unknown } {#1} }
           }
         \seq_gclear:N \g__xeCJK_punct_style_seq
-        \keys_set:nn { xeCJK / options } { PunctStyle = plain }
+        \__xeCJK_set_punct_style:n { plain }
       }
   }
 \NewDocumentCommand \xeCJKsetwidth { s m m }
@@ -2192,11 +2192,11 @@
 \bool_new:N \l__xeCJK_punct_breakable_bool
 \clist_new:N \g__xeCJK_special_punct_clist
 \clist_gset:Nn \g__xeCJK_special_punct_clist { mixed_width , long , middle }
-\cs_new_nopar:Npn \__xeCJK_special_punct_seq:n #1 { g__xeCJK_special_punct_#1_seq }
-\cs_new_nopar:Npn \__xeCJK_special_punct_tl:nN #1#2 { g__xeCJK_special_punct_#1_#2_tl }
+\cs_new:Npn \__xeCJK_special_punct_seq:n #1 { g__xeCJK_special_punct_#1_seq }
+\cs_new:Npn \__xeCJK_special_punct_tl:nN #1#2 { g__xeCJK_special_punct_#1_#2_tl }
 \clist_map_inline:Nn \g__xeCJK_special_punct_clist
   { \seq_new:c { \__xeCJK_special_punct_seq:n {#1} } }
-\cs_new_protected_nopar:Npn \__xeCJK_set_special_punct:nn #1#2
+\cs_new_protected:Npn \__xeCJK_set_special_punct:nn #1#2
   {
     \seq_map_inline:cn { \__xeCJK_special_punct_seq:n {#1} }
       { \cs_undefine:c { \__xeCJK_special_punct_tl:nN {#1} {##1} } }
@@ -2207,7 +2207,7 @@
         \seq_gput_right:cn { \__xeCJK_special_punct_seq:n {#1} } {##1}
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_add_special_punct:nn #1#2
+\cs_new_protected:Npn \__xeCJK_add_special_punct:nn #1#2
   {
     \tl_map_inline:xn {#2}
       {
@@ -2218,7 +2218,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_sub_special_punct:nn #1#2
+\cs_new_protected:Npn \__xeCJK_sub_special_punct:nn #1#2
   {
     \tl_map_inline:xn {#2}
       {
@@ -2373,20 +2373,20 @@
     kerning-margin-minimum  = \l__xeCJK_kerning_margin_minimum_dim
   }
   { \AssignTemplateKeys }
-\cs_new_protected_nopar:Npn \xeCJK_get_punct_bounds:NN #1#2
+\cs_new_protected:Npn \xeCJK_get_punct_bounds:NN #1#2
   {
     \tl_if_exist:cF { \__xeCJK_punct_csname:n { dim/glue/#1/#2 } }
       { \__xeCJK_get_punct_bounds_aux:NN #1 #2 }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_get_punct_bounds_aux:NN
+\cs_new_protected:Npn \__xeCJK_get_punct_bounds_aux:NN
   {
     \tl_if_eq:NNTF \l_xeCJK_punct_style_tl \c__xeCJK_punct_style_plain_tl
       { \__xeCJK_save_punct_margin_plain:NN }
       { \__xeCJK_save_punct_margin:NN }
   }
-\cs_new_protected_nopar:Npn \xeCJK_get_punct_bounds:No
+\cs_new_protected:Npn \xeCJK_get_punct_bounds:No
   { \exp_last_unbraced:NNo \xeCJK_get_punct_bounds:NN }
-\cs_new_protected_nopar:Npn \__xeCJK_save_punct_margin_plain:NN #1#2
+\cs_new_protected:Npn \__xeCJK_save_punct_margin_plain:NN #1#2
   {
     \__xeCJK_save_punct_dim:nNNn { rule }   #1 #2 { \c_zero_dim }
     \__xeCJK_save_punct_dim:nNNn { glue }   #1 #2 { \c_zero_dim }
@@ -2396,7 +2396,7 @@
     \__xeCJK_save_punct_dim:nNNn { bound } \c__xeCJK_right_tl {#2} { \c_zero_dim }
     \__xeCJK_save_punct_skip:nNNn { glue }  #1 #2 { \c_zero_skip }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_save_punct_margin:NN #1#2
+\cs_new_protected:Npn \__xeCJK_save_punct_margin:NN #1#2
   {
     \group_begin:
       \xeCJK_select_punct_font:
@@ -2419,7 +2419,7 @@
   }
 \dim_new:N \l__xeCJK_bound_dim
 \dim_new:N \l__xeCJK_reverse_bound_dim
-\cs_new_protected_nopar:Npn \__xeCJK_long_punct_kerning:N #1
+\cs_new_protected:Npn \__xeCJK_long_punct_kerning:N #1
   {
     \dim_set:Nn \l__xeCJK_tmp_dim
       {
@@ -2442,7 +2442,7 @@
     \__xeCJK_save_punct_dim:nNNn  { bound_kern } #1 #1 { \l__xeCJK_tmp_dim }
     \__xeCJK_save_punct_skip:nNNn { bound_kern } #1 #1 { \l__xeCJK_tmp_dim }
   }
-\cs_new_protected_nopar:Npn \xeCJK_get_punct_kerning:NN #1#2
+\cs_new_protected:Npn \xeCJK_get_punct_kerning:NN #1#2
   {
     \tl_if_exist:cF { \__xeCJK_punct_csname:n { dim/kern/#1/#2 } }
       {
@@ -2452,9 +2452,9 @@
           #1 #2
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_get_punct_kerning:oN
+\cs_new_protected:Npn \xeCJK_get_punct_kerning:oN
   { \exp_after:wN \xeCJK_get_punct_kerning:NN }
-\cs_new_protected_nopar:Npn \__xeCJK_save_punct_kerning_plain:NN #1#2
+\cs_new_protected:Npn \__xeCJK_save_punct_kerning_plain:NN #1#2
   {
     \__xeCJK_save_punct_dim:nNNn { kern } #1 #2 { \c_zero_dim }
     \__xeCJK_save_punct_dim:nNNn { bound_kern } #1 #2 { \c_zero_dim }
@@ -2462,12 +2462,12 @@
     \__xeCJK_save_punct_skip:nNNn { kern } #1 #2 { \c_zero_skip }
     \__xeCJK_save_punct_skip:nNNn { bound_kern } #1 #2 { \c_zero_skip }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_save_punct_kerning:NN
+\cs_new_protected:Npn \__xeCJK_save_punct_kerning:NN
   {
     \UseInstance { xeCJK / punctuation } { \l_xeCJK_punct_style_tl }
     \xeCJK_punct_kerning_process:NN
   }
-\cs_new_protected_nopar:Npn \xeCJK_punct_margin_process:NN #1#2
+\cs_new_protected:Npn \xeCJK_punct_margin_process:NN #1#2
   {
     \dim_set:Nn \l__xeCJK_tmp_dim
       {
@@ -2524,7 +2524,7 @@
     \__xeCJK_save_punct_dim:nNNn { margin } #1 #2 { \l__xeCJK_margin_dim }
   }
 \dim_new:N \l__xeCJK_margin_dim
-\cs_new_nopar:Npn \__xeCJK_calc_punct_width:N #1
+\cs_new:Npn \__xeCJK_calc_punct_width:N #1
   {
     \__xeCJK_punct_if_middle:NTF #1
       { \__xeCJK_punct_width_or_ratio:nN { middle } }
@@ -2535,7 +2535,7 @@
       }
       #1
   }
-\cs_new_nopar:Npn \__xeCJK_calc_margin_width:N #1
+\cs_new:Npn \__xeCJK_calc_margin_width:N #1
   {
     \__xeCJK_punct_if_middle:NTF #1
       {
@@ -2554,7 +2554,7 @@
           { \__xeCJK_margin_width_or_ratio:n { fixed } }
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_punct_offset_process:NN #1#2
+\cs_new_protected:Npn \xeCJK_punct_offset_process:NN #1#2
   {
     \dim_set:Nn \l__xeCJK_tmp_dim
       {
@@ -2620,7 +2620,7 @@
           { \l__xeCJK_margin_dim - \l__xeCJK_reverse_bound_dim }
       }
   }
-\cs_new_nopar:Npn \__xeCJK_punct_width_or_ratio:nN #1#2
+\cs_new:Npn \__xeCJK_punct_width_or_ratio:nN #1#2
   {
     \dim_compare:nNnTF { \use:c { l__xeCJK_#1_punct_width_dim } } < \c_max_dim
       { \use:c { l__xeCJK_#1_punct_width_dim } }
@@ -2633,7 +2633,7 @@
           }
       }
   }
-\cs_new_nopar:Npn \__xeCJK_margin_width_or_ratio:n #1
+\cs_new:Npn \__xeCJK_margin_width_or_ratio:n #1
   {
     \dim_compare:nNnTF { \use:c { l__xeCJK_#1_margin_width_dim } } < \c_max_dim
       { \use:c { l__xeCJK_#1_margin_width_dim } }
@@ -2644,7 +2644,7 @@
     \bool_if:NT \l__xeCJK_add_min_bound_to_margin_bool
       { + \dim_min:nn \l__xeCJK_bound_dim \l__xeCJK_reverse_bound_dim }
   }
-\cs_new_protected_nopar:Npn \xeCJK_punct_kerning_process:NN #1#2
+\cs_new_protected:Npn \xeCJK_punct_kerning_process:NN #1#2
   {
     \dim_set:Nn \l__xeCJK_margin_dim
       { \__xeCJK_original_kerning_margin:NN #1 #2 }
@@ -2681,7 +2681,7 @@
       }
       #1 #2
   }
-\cs_new_nopar:Npn \__xeCJK_punct_kerning_process_aux:NN #1#2
+\cs_new:Npn \__xeCJK_punct_kerning_process_aux:NN #1#2
   {
     \bool_if:NTF \l__xeCJK_enabled_kerning_bool
       { \__xeCJK_calc_kerning_margin:NN #1 #2 }
@@ -2689,9 +2689,9 @@
   }
 \dim_new:N \l__xeCJK_minimum_bound_dim
 \dim_new:N \l__xeCJK_kerning_margin_dim
-\cs_new_protected_nopar:Npn \__xeCJK_save_kerning:nnNN #1#2
+\cs_new_protected:Npn \__xeCJK_save_kerning:nnNN #1#2
   { \__xeCJK_save_kerning:nnnNN {#1} {#2} {#2} }
-\cs_new_protected_nopar:Npn \__xeCJK_save_kerning:nnnNN #1#2#3#4#5
+\cs_new_protected:Npn \__xeCJK_save_kerning:nnnNN #1#2#3#4#5
   {
     \dim_set:Nn \l__xeCJK_tmp_dim
       {
@@ -2705,7 +2705,7 @@
       { \l__xeCJK_margin_dim - \l__xeCJK_kerning_margin_dim }
       { \l__xeCJK_kerning_margin_dim - \l__xeCJK_minimum_bound_dim }
   }
-\cs_new_nopar:Npn \__xeCJK_original_kerning_margin:NN #1#2
+\cs_new:Npn \__xeCJK_original_kerning_margin:NN #1#2
   {
     \dim_eval:n
       {
@@ -2716,7 +2716,7 @@
           { \__xeCJK_punct_if_right:NTF #2 { bound } { margin } } \c__xeCJK_left_tl #2
       }
   }
-\cs_new_nopar:Npn \__xeCJK_calc_kerning_margin:NN #1#2
+\cs_new:Npn \__xeCJK_calc_kerning_margin:NN #1#2
   {
     \dim_max:nn
       { \l__xeCJK_kerning_margin_minimum_dim }
@@ -2731,7 +2731,7 @@
           }
       }
   }
-\cs_new_nopar:Npn \__xeCJK_calc_kerning_margin_aux:NN #1#2
+\cs_new:Npn \__xeCJK_calc_kerning_margin_aux:NN #1#2
   {
     \dim_compare:nNnTF \l__xeCJK_kerning_total_width_dim < \c_max_dim
       { \__xeCJK_calc_kerning_margin:nNN \l__xeCJK_kerning_total_width_dim }
@@ -2755,7 +2755,7 @@
       }
       #1 #2
   }
-\cs_new_nopar:Npn \__xeCJK_kerning_width_or_ratio:nNN #1#2#3
+\cs_new:Npn \__xeCJK_kerning_width_or_ratio:nNN #1#2#3
   {
     \dim_compare:nNnTF { \use:c { l__xeCJK_#1_align_margin_dim } } < \c_max_dim
       { \use:c { l__xeCJK_#1_align_margin_dim } }
@@ -2770,7 +2770,7 @@
           { \l__xeCJK_margin_dim }
       }
   }
-\cs_new_nopar:Npn \__xeCJK_punct_min_bound:NN #1#2
+\cs_new:Npn \__xeCJK_punct_min_bound:NN #1#2
   {
     \dim_max:nn
       {
@@ -2784,7 +2784,7 @@
           { \__xeCJK_use_punct_dim:nNN { bound } \c__xeCJK_right_tl #2 }
       }
   }
-\cs_new_nopar:Npn \__xeCJK_calc_kerning_margin:nNN #1#2#3
+\cs_new:Npn \__xeCJK_calc_kerning_margin:nNN #1#2#3
   {
     \dim_eval:n
       {
@@ -2799,7 +2799,7 @@
         - ( \__xeCJK_use_punct_dim:nN { dimen } #3 )
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_calc_punct_dimen:N #1
+\cs_new_protected:Npn \xeCJK_calc_punct_dimen:N #1
   {
     \__xeCJK_save_punct_dim:nNNn { bound } \c__xeCJK_left_tl #1
       { \xeCJK_glyph_bounds:NN 1 #1 }
@@ -2814,25 +2814,28 @@
         ( \__xeCJK_use_punct_dim:nNN { bound } \c__xeCJK_right_tl #1 )
       }
   }
-\cs_new_nopar:Npn \xeCJK_glyph_bounds:NN #1#2
+\cs_new:Npn \xeCJK_glyph_bounds:NN #1#2
   { \tex_XeTeXglyphbounds:D #1 ~ \tex_XeTeXcharglyph:D `#2 \exp_stop_f: }
 \keys_define:nn { xeCJK / options }
+  { PunctStyle .code:n = \exp_args:Nx \__xeCJK_set_punct_style:n {#1} }
+\cs_new_protected:Npn \__xeCJK_set_punct_style:n #1
   {
-    PunctStyle .choice: ,
-    PunctStyle              .default:n = { quanjiao } ,
-    PunctStyle / halfwidth     .meta:n = { PunctStyle = banjiao } ,
-    PunctStyle / fullwidth     .meta:n = { PunctStyle = quanjiao } ,
-    PunctStyle / mixedwidth    .meta:n = { PunctStyle = kaiming } ,
-    PunctStyle / marginkerning .meta:n = { PunctStyle = hangmobanjiao } ,
-    PunctStyle / plain         .code:n =
-      { \tl_set_eq:NN \l_xeCJK_punct_style_tl \c__xeCJK_punct_style_plain_tl } ,
-    PunctStyle / unknown       .code:n =
+    \IfInstanceExistTF { xeCJK / punctuation } {#1}
+      { \tl_set:Nn \l_xeCJK_punct_style_tl {#1} }
       {
-        \IfInstanceExistTF { xeCJK / punctuation } { \l_keys_value_tl }
-          { \tl_set:Nx \l_xeCJK_punct_style_tl { \l_keys_value_tl } }
-          { \__xeCJK_error:nx { punct-style-unknown } { \l_keys_value_tl } }
+        \prop_get:NnNF \c__xeCJK_punct_style_alias_prop
+          {#1} \l_xeCJK_punct_style_tl
+          { \__xeCJK_error:nx { punct-style-unknown } {#1} }
       }
   }
+\prop_const_from_keyval:Nn \c__xeCJK_punct_style_alias_prop
+  {
+    halfwidth     = banjiao ,
+    fullwidth     = quanjiao ,
+    mixedwidth    = kaiming ,
+    marginkerning = hangmobanjiao ,
+    plain         = plain
+  }
 \tl_new:N \l_xeCJK_punct_style_tl
 \tl_const:Nn \c__xeCJK_punct_style_plain_tl { plain }
 \__xeCJK_msg_new:nn { punct-style-unknown }
@@ -2839,14 +2842,21 @@
   {
     Punctuation~style~"#1"~is~unknown. \\\\
     The~available~styles~are~listed~as~follow.\\\\
-    "plain,~\seq_use:Nnnn \g__xeCJK_punct_style_seq { ~and~ } { ,~ } { ,~and~ }".\\
+    "plain,~\seq_use:Nnnn \g__xeCJK_punct_style_seq
+      { ~and~ } { ,~ } { ,~and~ }".\\
   }
-\NewDocumentCommand \xeCJKDeclarePunctStyle { > { \TrimSpaces } m m }
+\cs_new_protected:Npn \__xeCJK_trim_spaces:n #1
   {
+    \tl_set:Nx \ProcessedArgument
+      { \exp_args:Ne \tl_trim_spaces:n {#1} }
+  }
+\NewDocumentCommand \xeCJKDeclarePunctStyle
+  { > { \__xeCJK_trim_spaces:n } m m }
+  {
     \IfInstanceExistTF { xeCJK / punctuation } {#1}
       { \__xeCJK_warning:nx { punct-style-already-defined } {#1} }
-      { \seq_gput_right:Nx \g__xeCJK_punct_style_seq {#1} }
-    \exp_args:Nnx \DeclareInstance { xeCJK / punctuation } {#1} { basic } {#2}
+      { \seq_gput_right:Nn \g__xeCJK_punct_style_seq {#1} }
+    \DeclareInstance { xeCJK / punctuation } {#1} { basic } {#2}
   }
 \seq_new:N \g__xeCJK_punct_style_seq
 \__xeCJK_msg_new:nn { punct-style-already-defined }
@@ -2855,10 +2865,11 @@
     The~existing~style~of~"#1"~will~be~overwritten.\\
   }
 \@onlypreamble \xeCJKDeclarePunctStyle
-\NewDocumentCommand \xeCJKEditPunctStyle { > { \TrimSpaces } m m }
+\NewDocumentCommand \xeCJKEditPunctStyle
+  { > { \__xeCJK_trim_spaces:n } m m }
   {
     \IfInstanceExistTF { xeCJK / punctuation } {#1}
-      { \exp_args:Nnx \EditInstance { xeCJK / punctuation } {#1} {#2} }
+      { \EditInstance { xeCJK / punctuation } {#1} {#2} }
       { \__xeCJK_error:nx { punct-style-unknown } {#1} }
   }
 \@onlypreamble \xeCJKEditPunctStyle
@@ -2905,7 +2916,7 @@
     AutoFallBack      .default:n = { true } ,
     fallback             .meta:n = { AutoFallBack = true }
   }
-\cs_new_protected_nopar:Npn \xeCJK_fallback_test_glyph:N #1
+\cs_new_protected:Npn \xeCJK_fallback_test_glyph:N #1
   {
     \xeCJK_glyph_if_exist:NTF #1
       { \__xeCJK_fallback_save_CJKsymbol:N #1 }
@@ -2917,7 +2928,7 @@
         \group_end:
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_aftergroup_reset_Boundary:N #1
+\cs_new_protected:Npn \xeCJK_aftergroup_reset_Boundary:N #1
   {
     \tl_set:Nx \l__xeCJK_tmp_tl
       { \tex_the:D \tex_XeTeXcharclass:D `#1 ~ \xeCJK_class_num:n { Boundary } }
@@ -2927,7 +2938,7 @@
     \group_insert_after:N \g__xeCJK_aftergroup_Boundary_tl
   }
 \tl_new:N \g__xeCJK_aftergroup_Boundary_tl
-\cs_new_protected_nopar:Npn \xeCJK_fallback_loop:Nn #1#2
+\cs_new_protected:Npn \xeCJK_fallback_loop:Nn #1#2
   {
     \xeCJK_family_if_exist:nTF {#2}
       {
@@ -2965,7 +2976,7 @@
       { \xeCJK_set_family_fallback:nnn {#1} } {#2} {#3}
       { }
   }
-\cs_new_protected_nopar:Npn \xeCJK_set_family_fallback:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_set_family_fallback:nnn #1#2#3
   {
     \group_begin:
     \tl_set:Nn \l__xeCJK_fallback_family_tl {#1}
@@ -3013,7 +3024,7 @@
     slantfont .meta:n = { AutoFakeSlant = true }
   }
 \seq_new:N \g__xeCJK_sub_key_seq
-\cs_new_protected_nopar:Npn \xeCJK_new_sub_key:n #1
+\cs_new_protected:Npn \xeCJK_new_sub_key:n #1
   {
     \seq_gput_right:Nn \g__xeCJK_sub_key_seq {#1}
     \keys_define:nn { xeCJK / features }
@@ -3037,7 +3048,7 @@
         #1 .default:n = { }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_get_sub_features:nn #1#2
+\cs_new_protected:Npn \__xeCJK_get_sub_features:nn #1#2
   {
     \tl_set:Nx \l__xeCJK_tmp_tl { \xeCJK_tl_remove_outer_braces:n {#2} }
     \clist_clear:N \l__xeCJK_sub_font_options_clist
@@ -3052,7 +3063,7 @@
         { \exp_not:V \l__xeCJK_sub_font_name_tl }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_get_sub_features:w #1 [#2] #3 \q_mark #4 \q_stop
+\cs_new_protected:Npn \__xeCJK_get_sub_features:w #1 [#2] #3 \q_mark #4 \q_stop
   {
     \quark_if_nil:nTF {#2}
       { \tl_set_eq:NN \l__xeCJK_sub_font_name_tl \l__xeCJK_tmp_tl }
@@ -3106,7 +3117,7 @@
       } ,
     AutoFakeSlant .default:n  = { true }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_set_family_initial:
+\cs_new_protected:Npn \__xeCJK_set_family_initial:
   {
     \int_gincr:N \g__xeCJK_family_int
     \prop_clear:N \l__xeCJK_sub_key_prop
@@ -3126,7 +3137,7 @@
 \bool_new:N \l__xeCJK_auto_fake_slant_bool
 \fp_new:N \l__xeCJK_embolden_factor_fp
 \fp_new:N \l__xeCJK_slant_factor_fp
-\cs_new_protected_nopar:Npn \xeCJK_set_family:nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_set_family:nnn #1#2#3
   {
     \group_begin:
     \__xeCJK_set_family_initial:
@@ -3149,14 +3160,14 @@
 \tl_new:N \l__xeCJK_font_name_tl
 \clist_new:N \l__xeCJK_font_options_clist
 \cs_generate_variant:Nn \xeCJK_set_family:nnn { x , VVV , Voo }
-\cs_new_protected_nopar:Npn \__xeCJK_binding_sub_family:
+\cs_new_protected:Npn \__xeCJK_binding_sub_family:
   {
     \tl_if_empty:NF \l__xeCJK_sub_family_name_tl
       { \tl_set_eq:NN \l__xeCJK_family_name_tl \l__xeCJK_sub_family_name_tl }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_gset_family_cs:x #1
+\cs_new_protected:Npn \__xeCJK_gset_family_cs:x #1
   {
-    \cs_gset_protected_nopar:cpx { \__xeCJK_family_csname:n {#1} }
+    \cs_gset_protected:cpx { \__xeCJK_family_csname:n {#1} }
       {
         \group_begin:
         \exp_not:n { \cs_set_eq:NN \xeCJK at fontfamily \use_none:n }
@@ -3172,7 +3183,7 @@
   }
 \tl_new:N \g__xeCJK_fontspec_family_tl
 \tl_new:N \l__xeCJK_fontspec_family_tl
-\cs_new_protected_nopar:Npn \__xeCJK_check_family:n #1
+\cs_new_protected:Npn \__xeCJK_check_family:n #1
   {
     \prop_gpop:NnNT \g__xeCJK_family_font_name_prop {#1} \l__xeCJK_tmp_tl
       {
@@ -3187,7 +3198,7 @@
 \cs_generate_variant:Nn \__xeCJK_check_family:n { V }
 \__xeCJK_msg_new:nn { CJKfamily-redef }
   { Redefining~CJKfamily~`\__xeCJK_msg_family_map:n {#1}'~(#2). }
-\cs_new_protected_nopar:Npn \__xeCJK_parse_font_shape:
+\cs_new_protected:Npn \__xeCJK_parse_font_shape:
   {
     \tl_if_blank:VTF \l__xeCJK_font_name_bf_tl
       {
@@ -3217,7 +3228,7 @@
 \prop_new:N \g__xeCJK_family_name_prop
 \prop_new:N \g__xeCJK_family_font_name_prop
 \prop_new:N \g__xeCJK_family_font_options_prop
-\cs_new_protected_nopar:Npn \__xeCJK_save_family_info:
+\cs_new_protected:Npn \__xeCJK_save_family_info:
   {
     \prop_gput:NVV \g__xeCJK_family_font_name_prop
       \l__xeCJK_family_name_tl \l__xeCJK_font_name_tl
@@ -3224,7 +3235,7 @@
     \prop_gput:NVV \g__xeCJK_family_font_options_prop
       \l__xeCJK_family_name_tl \l__xeCJK_font_options_clist
   }
-\cs_new_protected_nopar:Npn \__xeCJK_set_sub_block_family:
+\cs_new_protected:Npn \__xeCJK_set_sub_block_family:
   {
     \prop_map_inline:Nn \l__xeCJK_sub_key_prop
       {
@@ -3237,7 +3248,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_copy_sub_family:n #1
+\cs_new_protected:Npn \__xeCJK_copy_sub_family:n #1
   {
     \__xeCJK_check_family:V \l__xeCJK_sub_family_name_tl
     \prop_get:NoNT \g__xeCJK_family_font_name_prop
@@ -3253,7 +3264,7 @@
         \prop_gput:NVV \g__xeCJK_family_font_options_prop
           \l__xeCJK_sub_family_name_tl \l__xeCJK_sub_font_options_clist
       }
-    \cs_gset_protected_nopar:cpx
+    \cs_gset_protected:cpx
       { \__xeCJK_family_csname:n { \l__xeCJK_sub_family_name_tl } }
       {
         \xeCJK_family_if_exist:xT { \l__xeCJK_family_name_tl }
@@ -3264,7 +3275,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_copy_family:nn #1#2
+\cs_new_protected:Npn \__xeCJK_copy_family:nn #1#2
   {
     \xeCJK_family_if_exist:nT {#2}
       {
@@ -3284,20 +3295,20 @@
           { \__xeCJK_family_nfss_csname:n {#2} }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_copy_family:xx #1#2
+\cs_new_protected:Npn \__xeCJK_copy_family:xx #1#2
   { \use:x { \__xeCJK_copy_family:nn {#1} {#2} } }
-\cs_new_nopar:Npn \__xeCJK_font_csname:n #1
+\cs_new:Npn \__xeCJK_font_csname:n #1
   { xeCJK/#1/\f at series/\f at shape/\f at size }
 \tl_new:N \l_xeCJK_current_font_tl
 \tl_set:No \l_xeCJK_current_font_tl
   { \__xeCJK_font_csname:n { \CJK at family } }
-\cs_new_protected_nopar:Npn \xeCJK_select_font:
+\cs_new_protected:Npn \xeCJK_select_font:
   {
     \__xeCJK_select_font:cn
       { \l_xeCJK_current_font_tl }
       { \l_xeCJK_family_tl }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_select_font:Nn #1#2
+\cs_new_protected:Npn \__xeCJK_select_font:Nn #1#2
   {
     \cs_if_exist:NF #1 { \__xeCJK_font_initial:Nn #1 {#2} }
     #1
@@ -3305,7 +3316,7 @@
 \cs_generate_variant:Nn \__xeCJK_select_font:Nn { c }
 \tl_new:N \l__xeCJK_current_coor_tl
 \cs_new_eq:NN \xeCJK at setfont \xeCJK_select_font:
-\cs_new_protected_nopar:Npn \__xeCJK_font_initial:Nn #1#2
+\cs_new_protected:Npn \__xeCJK_font_initial:Nn #1#2
   {
     \group_begin:
       \__xeCJK_family_use:n {#2}
@@ -3313,7 +3324,7 @@
     \group_end:
   }
 \cs_new_eq:NN \xeCJK_select_punct_font: \xeCJK_select_font:
-\cs_new_protected_nopar:Npn \__xeCJK_select_punct_font_aux:
+\cs_new_protected:Npn \__xeCJK_select_punct_font_aux:
   {
     \__xeCJK_select_font:cn
       { \l_xeCJK_current_punct_font_tl }
@@ -3326,7 +3337,7 @@
   { \__xeCJK_font_csname:n { \CJK at punctfamily } }
 \cs_new_eq:NN \__xeCJK_select_font: \prg_do_nothing:
 \cs_new_eq:NN \__xeCJK_select_punct_font: \prg_do_nothing:
-\cs_new_protected_nopar:Npn \__xeCJK_switch_font:nn #1#2
+\cs_new_protected:Npn \__xeCJK_switch_font:nn #1#2
   {
     \str_if_eq:nnF {#1} {#2}
       {
@@ -3337,7 +3348,7 @@
       }
   }
 \__xeCJK_msg_new:nn { CJK-block } { Switch~from~block~`#1'~to~`#2'. }
-\cs_new_protected_nopar:Npn \xeCJK_select_font:n #1
+\cs_new_protected:Npn \xeCJK_select_font:n #1
   {
     \__xeCJK_select_font:cnn
       { \__xeCJK_font_csname:n { \CJK at family/#1 } }
@@ -3344,7 +3355,7 @@
       { \l_xeCJK_family_tl }
       {#1}
   }
-\cs_new_protected_nopar:Npn \__xeCJK_select_font:Nnn #1#2#3
+\cs_new_protected:Npn \__xeCJK_select_font:Nnn #1#2#3
   {
     \cs_if_exist:NF #1
       { \__xeCJK_block_font_initial:Nnn #1 {#2} {#3} }
@@ -3351,12 +3362,12 @@
     #1
   }
 \cs_generate_variant:Nn \__xeCJK_select_font:Nnn { c }
-\cs_new_protected_nopar:Npn \__xeCJK_block_font_initial:Nnn #1#2#3
+\cs_new_protected:Npn \__xeCJK_block_font_initial:Nnn #1#2#3
   {
     \xeCJK_block_family:nn {#2} {#3}
     \__xeCJK_font_initial:Nn #1 { #2/#3 }
   }
-\cs_new_protected_nopar:Npn \xeCJK_block_family:nn #1#2
+\cs_new_protected:Npn \xeCJK_block_family:nn #1#2
   {
     \xeCJK_family_if_exist:xF { #1/#2 }
       {
@@ -3368,16 +3379,16 @@
           }
       }
   }
-\cs_new_nopar:Npn \__xeCJK_family_csname:n #1
+\cs_new:Npn \__xeCJK_family_csname:n #1
   { xeCJK/family/#1 }
-\cs_new_nopar:Npn \__xeCJK_family_nfss_csname:n #1
+\cs_new:Npn \__xeCJK_family_nfss_csname:n #1
   { xeCJK/family/nfss/#1 }
-\cs_new_protected_nopar:Npn \__xeCJK_family_use:n #1
+\cs_new_protected:Npn \__xeCJK_family_use:n #1
   { \use:c { \__xeCJK_family_nfss_csname:n {#1} } }
-\cs_new_protected_nopar:Npn \__xeCJK_gset_family_nfss_cs:nn #1#2
+\cs_new_protected:Npn \__xeCJK_gset_family_nfss_cs:nn #1#2
   {
     \prop_gput:Nnn \g__xeCJK_family_name_prop {#1} {#2}
-    \cs_gset_protected_nopar:cpx
+    \cs_gset_protected:cpx
       { \__xeCJK_family_nfss_csname:n {#1} }
       { \__xeCJK_nfss_family:nn { \c__xeCJK_encoding_tl } {#2} }
   }
@@ -3384,7 +3395,7 @@
 \cs_generate_variant:Nn \__xeCJK_gset_family_nfss_cs:nn { xx }
 \cs_if_exist:NTF \fontseriesforce
   {
-    \cs_new_protected_nopar:Npn \__xeCJK_nfss_family:nn #1#2
+    \cs_new_protected:Npn \__xeCJK_nfss_family:nn #1#2
       {
         \fontencoding {#1}
         \str_if_eq:eeF { \f at series } { \bfdefault }
@@ -3399,7 +3410,7 @@
         \fontfamily {#2}
         \selectfont
       }
-    \cs_new_protected_nopar:Npn \__xeCJK_nfss_series:n #1
+    \cs_new_protected:Npn \__xeCJK_nfss_series:n #1
       {
         \str_if_eq:eeT { \f at series } { \use:c { bfseries@#1 } }
           { \fontseriesforce { \bfdefault } }
@@ -3406,7 +3417,7 @@
       }
   }
   {
-    \cs_new_protected_nopar:Npn \__xeCJK_nfss_family:nn #1#2
+    \cs_new_protected:Npn \__xeCJK_nfss_family:nn #1#2
       {
         \fontencoding {#1}
         \tl_set:Nn \f at family {#2}
@@ -3430,7 +3441,7 @@
     \xeCJK_family:NNx #1 #2 {#3}
     \tex_ignorespaces:D
   }
-\cs_new_protected_nopar:Npn \xeCJK_family:NNn #1#2#3
+\cs_new_protected:Npn \xeCJK_family:NNn #1#2#3
   {
     \tl_if_blank:nTF {#3}
       {
@@ -3452,7 +3463,7 @@
       }
   }
 \cs_generate_variant:Nn \xeCJK_family:NNn { NNx }
-\cs_new_protected_nopar:Npn \xeCJK_switch_family:n #1
+\cs_new_protected:Npn \xeCJK_switch_family:n #1
   {
     \xeCJK_family_if_exist:nTF {#1}
       {
@@ -3477,7 +3488,7 @@
     PunctFamily / unknown .code:n =
       { \xeCJK_punct_family:x {#1} } ,
   }
-\cs_new_protected_nopar:Npn \xeCJK_punct_family:n #1
+\cs_new_protected:Npn \xeCJK_punct_family:n #1
   {
     \xeCJK_family_if_exist:nTF {#1}
       {
@@ -3492,10 +3503,10 @@
 \cs_generate_variant:Nn \xeCJK_punct_family:n { x }
 \tl_new:N \l_xeCJK_family_tl
 \tl_new:N \CJK at family
-\cs_new_protected_nopar:Npn \__xeCJK_gobble_CJKfamily:
+\cs_new_protected:Npn \__xeCJK_gobble_CJKfamily:
   { \cs_set_eq:NN \CJKfamily \__xeCJK_gobble_CJKfamily:wn }
 \NewExpandableDocumentCommand \__xeCJK_gobble_CJKfamily:wn { t+ t- m } {  }
-\cs_new_protected_nopar:Npn \xeCJK_family_if_exist_use:n #1
+\cs_new_protected:Npn \xeCJK_family_if_exist_use:n #1
   {
     \xeCJK_family_if_exist:nTF {#1}
       { \__xeCJK_family_use:n {#1} }
@@ -3502,7 +3513,7 @@
       { \__xeCJK_family_unknown_warning:n {#1} }
   }
 \cs_generate_variant:Nn \xeCJK_family_if_exist_use:n { x }
-\cs_new_protected_nopar:Npn \__xeCJK_family_unknown_warning:n #1
+\cs_new_protected:Npn \__xeCJK_family_unknown_warning:n #1
   {
     \prop_if_empty:NF \g__xeCJK_family_font_name_prop
       {
@@ -3520,7 +3531,7 @@
     Unknown~CJK~family~`\__xeCJK_msg_family_map:n {#1}'~is~being~ignored.\\\\
     Try~to~use~`\__xeCJK_msg_def_family_map:n {#1}'~to~define~it.
   }
-\cs_new_nopar:Npn \__xeCJK_msg_def_family_map:n #1
+\cs_new:Npn \__xeCJK_msg_def_family_map:n #1
   {
     \str_case_e:nnF {#1}
       {
@@ -3531,7 +3542,7 @@
       { \token_to_str:N \setCJKfamilyfont \{ #1 \} }
     [...]\{...\}
   }
-\cs_new_nopar:Npn \__xeCJK_msg_family_map:n #1
+\cs_new:Npn \__xeCJK_msg_family_map:n #1
   {
     \str_case_e:nnF {#1}
       {
@@ -3579,7 +3590,7 @@
 \@onlypreamble \setCJKsansfont
 \@onlypreamble \setCJKmonofont
 \@onlypreamble \setCJKromanfont
-\cs_new_protected_nopar:Npn \__xeCJK_preamble_family:n #1
+\cs_new_protected:Npn \__xeCJK_preamble_family:n #1
   { \str_if_eq:eeT {#1} { \CJKfamilydefault } { \normalfont } }
 \NewDocumentCommand \setCJKfamilyfont { m o m }
   {
@@ -3591,7 +3602,7 @@
   {
     \tl_set:Nx \l__xeCJK_tmp_tl
       { \tl_if_novalue:nTF {#1} { \cs_to_str:N #2 } {#1} }
-    \cs_new_protected_nopar:Npx #2
+    \cs_new_protected:Npx #2
       { \xeCJK_switch_family:n { \l__xeCJK_tmp_tl } }
     \__xeCJK_pass_args:nnnn
       { \xeCJK_set_family:nnn { \l__xeCJK_tmp_tl } } {#3} {#4}
@@ -3603,7 +3614,7 @@
       { \xeCJK_fontspec:nn } {#1} {#2}
       { \tex_ignorespaces:D }
   }
-\cs_new_protected_nopar:Npn \xeCJK_fontspec:nn #1#2
+\cs_new_protected:Npn \xeCJK_fontspec:nn #1#2
   {
     \prop_get:NnNTF \g__xeCJK_fontspec_prop
       { CJKfontspec/#1/#2/id } \l_xeCJK_family_tl
@@ -3614,7 +3625,7 @@
           {#1} {#2}
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_fontspec:nnn #1#2#3
+\cs_new_protected:Npn \__xeCJK_fontspec:nnn #1#2#3
   {
     \prop_gput:Nnn \g__xeCJK_fontspec_prop { CJKfontspec/#2/#3/id } {#1}
     \xeCJK_set_family:nnn {#1} {#2} {#3}
@@ -3633,7 +3644,7 @@
     \tex_ignorespaces:D
   }
 \cs_new_eq:NN \addCJKfontfeature \addCJKfontfeatures
-\cs_new_protected_nopar:Npn \xeCJK_add_font_features:Nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_add_font_features:Nnn #1#2#3
   {
     \prop_get:NoNTF \g__xeCJK_family_font_name_prop
       \l_xeCJK_family_tl \l__xeCJK_font_name_tl
@@ -3684,7 +3695,7 @@
     \token_to_str:N \addCJKfontfeature (s)~ignored.\\\\
     It~cannot~be~used~with~a~font~that~wasn't~selected~by~xeCJK.
   }
-\cs_new_protected_nopar:Npn \__xeCJK_add_sub_class_features:n #1
+\cs_new_protected:Npn \__xeCJK_add_sub_class_features:n #1
   {
     \prop_get:NoNTF \g__xeCJK_family_font_name_prop
       { \l_xeCJK_family_tl/#1 } \l__xeCJK_sub_font_name_tl
@@ -3720,7 +3731,7 @@
 \prg_generate_conditional_variant:Nnn \prop_get:NnN { Nx } { TF }
 \keys_define:nn { xeCJK / options }
   { LoadFandol .bool_gset:N = \g__xeCJK_fandol_bool }
-\cs_new_protected_nopar:Npn \__xeCJK_load_fandol:
+\cs_new_protected:Npn \__xeCJK_load_fandol:
   {
     \xeCJK_set_family:xnn { \CJKrmdefault }
       { Extension = .otf , BoldFont = FandolSong-Bold , ItalicFont = FandolKai-Regular }
@@ -3760,7 +3771,7 @@
       }
       { \xeCJK_ensure_default_family: }
   }
-\cs_new_protected_nopar:Npn \xeCJK_ensure_default_family:
+\cs_new_protected:Npn \xeCJK_ensure_default_family:
   {
     \xeCJK_family_if_exist:xF { \CJKfamilydefault }
       {
@@ -3810,8 +3821,9 @@
       { }
   }
 \tl_const:Nn \c__xeCJK_math_tl { CJKmath }
-\cs_new_protected_nopar:Npn \xeCJK_set_mathfont:
+\cs_new_protected:Npn \xeCJK_set_mathfont:
   {
+    \cs_if_exist_use:N \__xeCJK_save_um_char:
     \xeCJK_family_if_exist:xTF { \c__xeCJK_math_tl }
       { \__xeCJK_set_mathfont_aux: }
       {
@@ -3821,8 +3833,9 @@
             \__xeCJK_set_mathfont_aux:
           }
       }
+    \cs_if_exist_use:N \__xeCJK_restore_um_char:
   }
-\cs_new_protected_nopar:Npn \__xeCJK_set_mathfont_aux:
+\cs_new_protected:Npn \__xeCJK_set_mathfont_aux:
   {
     \tl_const:Nx \c__xeCJK_math_family_tl
       { \l__xeCJK_fontspec_family_tl }
@@ -3841,7 +3854,7 @@
   }
 \clist_new:N \g__xeCJK_math_chars_clist
 \prop_new:N \g__xeCJK_fam_prop
-\cs_new_protected_nopar:Npn \xeCJK_set_mathfont_block:
+\cs_new_protected:Npn \xeCJK_set_mathfont_block:
   {
     \seq_if_empty:NF \g__xeCJK_CJK_sub_class_seq
       {
@@ -3850,7 +3863,7 @@
           \xeCJK_set_mathfont_block:n
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_set_mathfont_block:n #1
+\cs_new_protected:Npn \xeCJK_set_mathfont_block:n #1
   {
     \xeCJK_block_family:nn { \c__xeCJK_math_tl } {#1}
     \prop_get:NoNTF \g__xeCJK_fam_prop
@@ -3865,7 +3878,7 @@
       }
     \xeCJK_gset_mathcode:cn { g__xeCJK_CJK/#1_range_clist } { \l__xeCJK_fam_int }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_set_mathfont_block_aux:Nn #1#2
+\cs_new_protected:Npn \__xeCJK_set_mathfont_block_aux:Nn #1#2
   {
     \int_set_eq:NN \l__xeCJK_fam_int #1
     \prop_gput:Nnn \g__xeCJK_block_fam_prop {#2} {#1}
@@ -3873,7 +3886,7 @@
 \int_new:N \l__xeCJK_fam_int
 \prop_new:N \g__xeCJK_block_fam_prop
 \cs_generate_variant:Nn \__xeCJK_set_mathfont_block_aux:Nn { c }
-\cs_new_protected_nopar:Npn \xeCJK_declare_mathfont:nn #1#2
+\cs_new_protected:Npn \xeCJK_declare_mathfont:nn #1#2
   {
     \xeCJK_declare_symbol_font:nnnnn {#1} { \c__xeCJK_encoding_tl }
       {#2} { \mddefault } { \shapedefault }
@@ -3921,12 +3934,12 @@
 \cs_new_protected:Npn \__xeCJK_new_symbol_font:NN #1#2
   {
     \tl_put_right:Nn \group at list { \group at elt #1 #2 }
-    \cs_set_nopar:Npn \version at elt ##1
+    \cs_set:Npn \version at elt ##1
       { \tl_put_right:Nn ##1 { \getanddefine at fonts #1 #2 } }
     \version at list
   }
 \cs_generate_variant:Nn \__xeCJK_new_symbol_font:NN { Nc }
-\cs_new_protected_nopar:Npn \xeCJK_gset_mathcode:Nn #1#2
+\cs_new_protected:Npn \xeCJK_gset_mathcode:Nn #1#2
   {
     \clist_map_inline:Nn #1
       {
@@ -3935,7 +3948,7 @@
       }
   }
 \cs_generate_variant:Nn \xeCJK_gset_mathcode:Nn { c }
-\cs_new_protected_nopar:Npn \xeCJK_gset_mathcode:nnnn #1#2#3#4
+\cs_new_protected:Npn \xeCJK_gset_mathcode:nnnn #1#2#3#4
   {
     \__xeCJK_check_num_range:nnNN {#1} {#2} \l__xeCJK_begin_int \l__xeCJK_end_int
     \xeCJK_int_until_do:nn { \l__xeCJK_begin_int > \l__xeCJK_end_int }
@@ -3944,7 +3957,7 @@
         \int_incr:N \l__xeCJK_begin_int
       }
   }
-\cs_new_protected_nopar:Npn \xeCJK_gset_mathcode:Nnn #1#2#3
+\cs_new_protected:Npn \xeCJK_gset_mathcode:Nnn #1#2#3
   { \tex_global:D \tex_Umathcode:D #1 = #2 ~ #3 ~ #1 }
 \int_new:N \l__xeCJK_verb_case_int
 \keys_define:nn { xeCJK / options }
@@ -3954,7 +3967,7 @@
       { \int_set_eq:NN \l__xeCJK_verb_case_int \l_keys_choice_int } ,
     Verb  .default:n = { env }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_verb_font_hook:
+\cs_new_protected:Npn \__xeCJK_verb_font_hook:
   {
     \if_case:w \l__xeCJK_verb_case_int
     \or:
@@ -3971,10 +3984,10 @@
   }
 \__xeCJK_after_preamble:n
   {
-    \cs_set_protected_nopar:Npx \verbatim at font
+    \cs_set_protected:Npx \verbatim at font
       { \exp_not:o { \verbatim at font } \__xeCJK_verb_font_hook: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_nobreak_skip_zero:
+\cs_new_protected:Npn \__xeCJK_nobreak_skip_zero:
   {
     \__xeCJK_reset_shipout_skip:
     \cs_set_eq:NN \__xeCJK_shipout_check_for_glue: \xeCJK_check_for_glue:
@@ -3991,7 +4004,7 @@
     \cs_set_eq:NN \__xeCJK_punct_hskip:n \__xeCJK_nobreak_hskip:n
     \cs_set_eq:NN \__xeCJK_punct_breakable_kern:n \__xeCJK_nobreak_hskip:n
   }
-\cs_new_protected_nopar:Npn \__xeCJK_nobreak_skip:
+\cs_new_protected:Npn \__xeCJK_nobreak_skip:
   {
     \__xeCJK_reset_shipout_skip:
     \xeCJK_glue_to_skip:nN { \CJKglue } \l__xeCJK_ccglue_skip
@@ -4005,11 +4018,11 @@
     \cs_set_eq:NN \__xeCJK_punct_hskip:n \__xeCJK_nobreak_hskip:n
     \cs_set_eq:NN \__xeCJK_punct_breakable_kern:n \__xeCJK_nobreak_hskip:n
   }
-\cs_new_protected_nopar:Npn \__xeCJK_nobreak_ccglue:
+\cs_new_protected:Npn \__xeCJK_nobreak_ccglue:
   { \xeCJK_no_break: \skip_horizontal:N \l__xeCJK_ccglue_skip }
-\cs_new_protected_nopar:Npn \__xeCJK_nobreak_ecglue:
+\cs_new_protected:Npn \__xeCJK_nobreak_ecglue:
   { \xeCJK_no_break: \skip_horizontal:N \l__xeCJK_ecglue_skip }
-\cs_new_protected_nopar:Npn \__xeCJK_reset_shipout_skip:
+\cs_new_protected:Npn \__xeCJK_reset_shipout_skip:
   {
     \cs_set_eq:NN \__xeCJK_shipout_CJKglue:   \CJKglue
     \cs_set_eq:NN \__xeCJK_shipout_CJKecglue: \CJKecglue
@@ -4061,7 +4074,7 @@
 \NewDocumentCommand \xeCJKOffVerbAddon { }
   { \tl_use:N \l__xeCJK_off_verb_addon_tl }
 \tl_new:N \l__xeCJK_off_verb_addon_tl
-\cs_new_protected_nopar:Npn \__xeCJK_verb_addon:
+\cs_new_protected:Npn \__xeCJK_verb_addon:
   {
     \bool_if:NF \l__xeCJK_verb_addon_bool
       {
@@ -4075,7 +4088,7 @@
         \cs_set_eq:NN \__xeCJK_shipout_CJKecglue: \CJKecglue
         \cs_set_eq:NN \__xeCJK_shipout_check_for_glue: \xeCJK_check_for_glue:
         \cs_set_eq:NN \__xeCJK_shipout_boundary:w \xeCJK_CJK_and_Boundary:w
-        \cs_set_protected_nopar:Npx \xeCJKOffVerbAddon
+        \cs_set_protected:Npx \xeCJKOffVerbAddon
           {
             \__xeCJK_reset_char_class:n { FullLeft }
             \__xeCJK_reset_char_class:n { FullRight }
@@ -4110,9 +4123,9 @@
     \cs_set_eq:NN \xeCJK_check_for_glue: \CJKecglue
     \cs_set_eq:NN \xeCJK_CJK_and_Boundary:w \__xeCJK_verb_CJK_and_Boundary:w
   }
-\cs_new_protected_nopar:Npn \__xeCJK_verb_CJK_and_Boundary:w
+\cs_new_protected:Npn \__xeCJK_verb_CJK_and_Boundary:w
   { \xeCJK_class_group_end: \CJKecglue }
-\cs_new_protected_nopar:Npn \__xeCJK_reset_char_class:n #1
+\cs_new_protected:Npn \__xeCJK_reset_char_class:n #1
   {
     \int_set:Nn \l__xeCJK_tmp_int { \xeCJK_class_num:n {#1} }
     \clist_map_inline:cn { c__xeCJK_#1_chars_clist }
@@ -4120,7 +4133,7 @@
   }
 \bool_new:N \l__xeCJK_verb_addon_bool
 \cs_new_eq:NN \CJKfixedspacing \xeCJKVerbAddon
-\cs_new_protected_nopar:Npn \__xeCJK_set_verb_exspace:
+\cs_new_protected:Npn \__xeCJK_set_verb_exspace:
   {
     \tl_if_exist:cTF { xeCJK/verb/\CJK at family/\curr at fontshape/\f at size }
       {
@@ -4143,7 +4156,7 @@
       }
   }
 \skip_new:N \l__xeCJK_verb_exspace_skip
-\cs_new_protected_nopar:Npn \__xeCJK_set_verb_exspace:n #1
+\cs_new_protected:Npn \__xeCJK_set_verb_exspace:n #1
   {
     \skip_set:Nn \l__xeCJK_verb_exspace_skip
       { 2 \tex_fontdimen:D 2 ~ \tex_font:D - #1 }
@@ -4162,7 +4175,7 @@
           { \skip_use:N \l__xeCJK_verb_exspace_skip }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_set_verb_scale:nn #1#2
+\cs_new_protected:Npn \__xeCJK_set_verb_scale:nn #1#2
   {
     \fp_set:Nn \l__xeCJK_scale_factor_fp { #1 / #2 }
     \__xeCJK_warning:nxx { scale-factor }
@@ -4184,7 +4197,7 @@
   }
 \fp_new:N \l__xeCJK_scale_factor_fp
 \prop_new:N \g__xeCJK_scale_family_prop
-\cs_new_protected_nopar:Npn \xeCJK_setup_visible_space:
+\cs_new_protected:Npn \xeCJK_setup_visible_space:
   {
     \xeCJK_make_boundary:
     \xeCJK_glyph_if_exist:NTF { ^^^^2423 }
@@ -4205,27 +4218,27 @@
   }
 \tl_new:N \l__xeCJK_visible_space_tl
 \cs_set_eq:NN \@setupverbvisiblespace \xeCJK_setup_visible_space:
-\cs_new_protected_nopar:Npn \__xeCJK_visible_space_fallback:
+\cs_new_protected:Npn \__xeCJK_visible_space_fallback:
   {
     \exp_args:Nc \__xeCJK_visible_space_fallback_auxi:N
       { xeCJK/space/\curr at fontshape/\f at size }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_visible_space_fallback_auxi:N #1
+\cs_new_protected:Npn \__xeCJK_visible_space_fallback_auxi:N #1
   {
     \cs_if_exist:NF #1
       { \__xeCJK_visible_space_fallback_auxii:N #1 }
     \tl_set:Nn \l__xeCJK_visible_space_tl {#1}
   }
-\cs_new_protected_nopar:Npn \__xeCJK_visible_space_fallback_auxii:N #1
+\cs_new_protected:Npn \__xeCJK_visible_space_fallback_auxii:N #1
   {
     \group_begin:
       \exp_args:No \__xeCJK_set_visible_space_size:n
         { \dim_use:N \tex_fontdimen:D 2 ~ \tex_font:D }
-      \cs_new_protected_nopar:Npx #1
+      \cs_new_protected:Npx #1
         { \group_begin: \tex_the:D \tex_font:D ^^^^2423 \group_end: }
     \group_end:
   }
-\cs_new_protected_nopar:Npn \__xeCJK_set_visible_space_size:n #1
+\cs_new_protected:Npn \__xeCJK_set_visible_space_size:n #1
   {
     \fontencoding { \UnicodeEncodingName }
     \tl_set:Nn \f at family { lmtt }
@@ -4306,8 +4319,8 @@
     Sorry,~but~xeCJK/options~does~not~have~a~key~called~`#1'.\\\\
     The~key~`#1'~is~being~ignored.
   }
-\cs_new_nopar:Npn \CJKsymbol      #1 {#1}
-\cs_new_nopar:Npn \CJKpunctsymbol #1 {#1}
+\cs_new:Npn \CJKsymbol      #1 {#1}
+\cs_new:Npn \CJKpunctsymbol #1 {#1}
 \keys_set:nn { xeCJK / options }
   {
     CJKglue         = { \skip_horizontal:n { \c_zero_dim plus 0.08 \tex_baselineskip:D } } ,
@@ -4394,7 +4407,7 @@
     \xeCJK_set_char_class:nnn {#1} {#2} {#3}
     \xeCJKResetPunctClass
   }
-\cs_new_protected_nopar:Npn \xeCJK at update@fam
+\cs_new_protected:Npn \xeCJK at update@fam
   {
     \addto at hook \everymath
       {
@@ -4402,7 +4415,7 @@
         \__xeCJK_update_block_fam:
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_update_main_fam:
+\cs_new_protected:Npn \__xeCJK_update_main_fam:
   {
     \group_begin:
       \xeCJK_select_font:
@@ -4409,7 +4422,7 @@
       \exp_last_unbraced:NNNo \group_end:
     \tex_textfont:D \c_xeCJK_math_fam_int \tex_the:D \tex_font:D
   }
-\cs_new_protected_nopar:Npn \__xeCJK_update_block_fam:
+\cs_new_protected:Npn \__xeCJK_update_block_fam:
   {
     \prop_if_empty:NF \g__xeCJK_block_fam_prop
       {
@@ -4418,7 +4431,7 @@
           \__xeCJK_update_block_fam:nn
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_update_block_fam:nn #1#2
+\cs_new_protected:Npn \__xeCJK_update_block_fam:nn #1#2
   {
     \int_set:Nn \l__xeCJK_fam_int {#2}
     \group_begin:
@@ -4433,12 +4446,12 @@
       { \cs_if_exist_p:N \Url at MathSetup }
       { \tl_put_right:Nn \Url at MathSetup { \xeCJK at update@fam } }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_math_robust:N #1
+\cs_new_protected:Npn \__xeCJK_math_robust:N #1
   {
     \group_begin: \exp_args:NcNc \group_end:
       { __xeCJK_math_robust_aux:NN } #1 { \cs_to_str:N #1 ~ }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_math_robust_aux:NN #1#2
+\cs_new_protected:Npn \__xeCJK_math_robust_aux:NN #1#2
   {
     \exp_args:Nx \str_case:nnTF { \cs_replacement_spec:N #1 }
       {
@@ -4448,19 +4461,19 @@
       { \__xeCJK_math_robust:NN #1#2 }
       { \__xeCJK_math_robust:NN #1#1 }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_math_robust:NN #1#2
+\cs_new_protected:Npn \__xeCJK_math_robust:NN #1#2
   {
     \str_if_eq:eeTF { \cs_argument_spec:N #2 } { }
       {
         \exp_args:No \tl_if_head_eq_meaning:nNTF {#2} \scan_stop:
           {
-            \cs_gset_protected_nopar:Npx #1
+            \cs_gset_protected:Npx #1
               { \tl_tail:N #2 }
           }
           {
             \cs_if_eq:NNTF #1 \ensuremath
               {
-                \cs_gset_protected_nopar:Npx #1
+                \cs_gset_protected:Npx #1
                   { \exp_not:o {#2} }
               }
               {
@@ -4518,13 +4531,13 @@
         \tl_set:Nx \f at family {#1}
         \xeCJK at fontfamily {#1}
       }
-    \cs_new_protected_nopar:Npn \xeCJK at fontfamily #1
+    \cs_new_protected:Npn \xeCJK at fontfamily #1
       {
         \str_if_eq:nnTF {#1} { \familydefault }
           { \xeCJK_switch_family:x { \CJKfamilydefault } }
           { \__xeCJK_update_family_aux: }
       }
-    \cs_new_protected_nopar:Npn \__xeCJK_update_family_aux:
+    \cs_new_protected:Npn \__xeCJK_update_family_aux:
       {
         \str_case_e:nn { \f at family }
           {
@@ -4538,18 +4551,18 @@
 \cs_new_eq:NN \xeCJK at fix@penalty \fix at penalty
 \tl_replace_once:Nnn \xeCJK at fix@penalty { \@@italiccorr } { \xeCJK at italiccorr }
 \tl_replace_once:Nnn \sw at slant          { \fix at penalty }  { \xeCJK at fix@penalty }
-\cs_new_protected_nopar:Npn \xeCJK at italiccorr
+\cs_new_protected:Npn \xeCJK at italiccorr
   {
     \int_compare:nNnTF \tex_XeTeXinterchartokenstate:D > \c_zero_int
       { \xeCJK_italic_correction: }
       { \@@italiccorr }
   }
-\cs_new_protected_nopar:Npn \xeCJK_italic_correction:
+\cs_new_protected:Npn \xeCJK_italic_correction:
   {
     \int_compare:nNnT \tex_lastnodetype:D = { 12 }
       { \__xeCJK_italic_correction: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_italic_correction:
+\cs_new_protected:Npn \__xeCJK_italic_correction:
   {
     \dim_case:nnF { \tex_lastkern:D }
       {
@@ -4573,7 +4586,7 @@
       }
       { \tex_italiccorrection:D }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_italic_correction_aux:
+\cs_new_protected:Npn \__xeCJK_italic_correction_aux:
   {
                   \exp_after:wN \exp_after:wN \exp_after:wN
     \exp_after:wN \exp_after:wN \exp_after:wN \exp_after:wN
@@ -4597,7 +4610,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_set_others_toks:n #1
+\cs_new_protected:Npn \__xeCJK_set_others_toks:n #1
   {
     \int_set:cn { \__xeCJK_class_csname:n { Others } } {#1}
     \seq_map_inline:Nn \g__xeCJK_CJK_class_seq
@@ -4622,7 +4635,7 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_inactive_group_begin:
+\cs_new_protected:Npn \__xeCJK_inactive_group_begin:
   { \group_begin: \makexeCJKinactive }
 \cs_new_eq:NN \__xeCJK_inactive_group_end: \group_end:
 \prop_const_from_keyval:Nn \c__xeCJK_ambiguous_char_prop
@@ -4640,7 +4653,7 @@
     "2E3A = \texttwoemdash
   }
 \__xeCJK_at_end_preamble:n { \__xeCJK_patch_text_command: }
-\cs_new_protected_nopar:Npn \__xeCJK_patch_text_command:
+\cs_new_protected:Npn \__xeCJK_patch_text_command:
   {
     \xeCJK_if_package_loaded:nTF { xunicode }
       { \__xeCJK_patch_xunicode_ambiguous_char: }
@@ -4651,7 +4664,7 @@
         \__xeCJK_patch_tuenc_composite:
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_patch_xunicode_ambiguous_char:
+\cs_new_protected:Npn \__xeCJK_patch_xunicode_ambiguous_char:
   {
     \RequirePackage { xunicode-addon }
     \prop_map_inline:Nn \c__xeCJK_ambiguous_char_prop
@@ -4666,7 +4679,7 @@
       }
     \xunadd_append_begin_hook:n { \xeCJK_make_boundary: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_patch_tuenc_ambiguous_char:n #1
+\cs_new_protected:Npn \__xeCJK_patch_tuenc_ambiguous_char:n #1
   {
     \prop_map_inline:Nn \c__xeCJK_ambiguous_char_prop
       {
@@ -4678,13 +4691,13 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_patch_ambiguous_char:nN #1#2
+\cs_new_protected:Npn \__xeCJK_patch_ambiguous_char:nN #1#2
   {
     \exp_args:Nx \__xeCJK_patch_ambiguous_char:nn
       { #1 \token_to_str:N #2 }
       { #1 - #2 }
   }
-\cs_new_protected_nopar:Npx \__xeCJK_patch_ambiguous_char:nNn #1#2#3
+\cs_new_protected:Npx \__xeCJK_patch_ambiguous_char:nNn #1#2#3
   {
     \exp_args:Nx \exp_not:N \__xeCJK_patch_ambiguous_char:nn
       {
@@ -4694,28 +4707,28 @@
       }
       { #1 - #2#3 }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_patch_ambiguous_char:nn #1#2
+\cs_new_protected:Npn \__xeCJK_patch_ambiguous_char:nn #1#2
   {
     \cs_if_free:cF {#1}
       { \exp_args:Nc \__xeCJK_patch_ambiguous_char:Nn {#1} {#2} }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_patch_ambiguous_char:Nn #1#2
+\cs_new_protected:Npn \__xeCJK_patch_ambiguous_char:Nn #1#2
   {
     \token_if_chardef:NTF #1
       {
         \prop_gput:Nnx \c__xeCJK_ambiguous_slot_prop {#2}
           { \int_eval:n {#1} }
-        \cs_set_protected_nopar:Npx #1
+        \cs_set_protected:Npx #1
           { \__xeCJK_ambiguous_char:n { \tex_Uchar:D #1 } }
       }
       {
         \prop_gput:Nnx \c__xeCJK_ambiguous_slot_prop {#2}
           { \int_eval:n { \exp_after:wN ` #1 } }
-        \cs_set_protected_nopar:Npx #1
+        \cs_set_protected:Npx #1
           { \__xeCJK_ambiguous_char:n { \exp_not:o {#1} } }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ambiguous_char:n #1
+\cs_new_protected:Npn \__xeCJK_ambiguous_char:n #1
   {
     \int_compare:nNnTF \tex_XeTeXinterchartokenstate:D > \c_zero_int
       { \__xeCJK_inactive_group_begin: #1 \__xeCJK_inactive_group_end: }
@@ -4722,12 +4735,12 @@
       {#1}
   }
 \prop_new:N \c__xeCJK_ambiguous_slot_prop
-\cs_new_protected_nopar:Npn \xeCJK_text_composite_patch:
+\cs_new_protected:Npn \xeCJK_text_composite_patch:
   {
     \str_if_eq:eeT { \f at encoding } { \UnicodeEncodingName }
       { \xeCJK_make_boundary: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_patch_tuenc_composite:
+\cs_new_protected:Npn \__xeCJK_patch_tuenc_composite:
   {
     \cs_set_nopar:Npn \@text at composite@x
       {
@@ -4737,7 +4750,7 @@
   }
 \group_begin:
 \char_set_catcode_other:n { "A0 }
-\cs_new_protected_nopar:Npn \__xeCJK_patch_tuenc_accent:
+\cs_new_protected:Npn \__xeCJK_patch_tuenc_accent:
   {
     \cs_set_protected_nopar:Npn \add at unicode@accent ##1 ##2
       {
@@ -4759,32 +4772,59 @@
     T5  = \` \ecircumflex
   }
 \__xeCJK_at_end_preamble:n { \__xeCJK_patch_middle_dot: }
-\cs_new_protected_nopar:Npn \__xeCJK_patch_middle_dot:
+\cs_new_protected:Npn \__xeCJK_patch_middle_dot:
   {
     \prop_map_inline:Nn \c__xeCJK_middle_dot_prop
       { \__xeCJK_patch_middle_dot:nw { ##1 } ##2 \q_stop }
     \__xeCJK_patch_ambiguous_char:nNn { T5 } \` { \^ - e }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_patch_middle_dot:nw #1#2#3 \q_stop
+\cs_new_protected:Npn \__xeCJK_patch_middle_dot:nw #1#2#3 \q_stop
   {
     \tl_if_empty:nTF {#3}
       { \__xeCJK_patch_ambiguous_char:nN {#1} #2 }
       { \__xeCJK_patch_ambiguous_char:nNn {#1} #2 {#3} }
   }
-\__xeCJK_after_end_preamble:n
+\__xeCJK_package_hook:nn { pifont }
   {
-    \xeCJK_if_package_loaded:nT { pifont }
+    \RenewDocumentCommand \Pifont { m }
+      { \makexeCJKinactive \usefont { U } {#1} { m } { n } }
+  }
+\__xeCJK_package_hook:nn { unicode-math }
+  {
+    \prop_const_from_keyval:Nn \c__xeCJK_um_ambiguous_char_prop
       {
-        \RenewDocumentCommand \Pifont { m }
-          { \makexeCJKinactive \usefont { U } {#1} { m } { n } }
+        "00B7 = \cdotp ,
+        "2025 = \enleadertwodots ,
+        "2026 = \unicodeellipsis
       }
+    \cs_new_protected:Npn \__xeCJK_save_um_char:
+      {
+        \cs_set_protected:Npx \__xeCJK_restore_um_char:
+          {
+            \prop_map_function:NN
+              \c__xeCJK_um_ambiguous_char_prop
+              \__xeCJK_restore_um_char_aux:nn
+          }
+      }
+    \cs_new_eq:NN \__xeCJK_restore_um_char: \prg_do_nothing:
+    \cs_new:Npn \__xeCJK_restore_um_char_aux:nn #1#2
+      {
+        \__xeCJK_gset_mathcodenum:nn
+          { \int_value:w #1 }
+          { \int_value:w \tex_Umathcodenum:D #1 }
+      }
+    \cs_new_protected:Npn \__xeCJK_gset_mathcodenum:nn #1#2
+      {
+        \int_compare:nNnF { \tex_Umathcodenum:D #1 } = {#2}
+          { \tex_global:D \tex_Umathcodenum:D #1 = #2 ~ }
+      }
   }
-\__xeCJK_at_end_preamble:n
+\__xeCJK_package_hook:nn { microtype }
   {
     \cs_if_free:NF \MT at get@slot@
       { \__xeCJK_patch_microtype_get_slot: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_patch_microtype_get_slot:
+\cs_new_protected:Npn \__xeCJK_patch_microtype_get_slot:
   {
     \cs_new_eq:NN \xeCJK at original@get at slot \MT at get@slot@
     \cs_set_eq:NN \MT at get@slot@ \xeCJK at microtype@get at slot
@@ -4796,48 +4836,35 @@
       { \__xeCJK_get_ambiguous_slot: }
     \xeCJK at original@get at slot
   }
-\cs_new_protected_nopar:Npn \__xeCJK_get_ambiguous_slot:
+\cs_new_protected:Npn \__xeCJK_get_ambiguous_slot:
   {
     \exp_args:NNx \prop_get:NnNT \c__xeCJK_ambiguous_slot_prop
       { \MT at encoding - \tex_the:D \MT at toks } \l__xeCJK_tmp_tl
       { \cs_set_eq:NN \MT at char \l__xeCJK_tmp_tl }
   }
-\__xeCJK_after_end_preamble:n
+\__xeCJK_package_hook:nn { hyperref }
   {
-    \cs_if_exist_use:NT \pdfstringdefDisableCommands
+    \pdfstringdefDisableCommands
       {
-        {
-          \__xeCJK_gobble_CJKfamily:
-          \xeCJK_cs_clear:N \__xeCJK_inactive_group_begin:
-          \xeCJK_cs_clear:N \__xeCJK_inactive_group_end:
-          \xeCJK_cs_clear:N \makexeCJKinactive
-          \xeCJK_cs_clear:N \xeCJK at composite@patch
-        }
+        \__xeCJK_gobble_CJKfamily:
+        \xeCJK_cs_clear:N \__xeCJK_inactive_group_begin:
+        \xeCJK_cs_clear:N \__xeCJK_inactive_group_end:
+        \xeCJK_cs_clear:N \makexeCJKinactive
+        \xeCJK_cs_clear:N \xeCJK at composite@patch
       }
   }
-\__xeCJK_after_end_preamble:n
+\__xeCJK_package_hook:nn { cprotect }
   {
-    \bool_lazy_and:nnT
-      { \xeCJK_if_package_loaded_p:n { cprotect } }
-      { \cs_if_exist_p:N \icprotect }
+    \cs_if_free:NF \icprotect
       { \exp_after:wN \tex_let:D \cs:w cprotect \cs_end: \icprotect }
   }
-\__xeCJK_at_end_preamble:n
+\__xeCJK_package_hook:nn { listings }
+  { \RequirePackage { xeCJK-listings } }
+\clist_map_inline:nn { everysel , microtype }
   {
-    \xeCJK_if_package_loaded:nT { listings }
-      { \RequirePackage { xeCJK-listings } }
+    \__xeCJK_package_hook:nn {#1}
+      { \cs_undefine:c { ver at CJK . \c__xeCJK_package_ext_tl } }
   }
-\__xeCJK_at_end_preamble:n
-  {
-    \clist_map_inline:nn { everysel , microtype }
-      {
-        \xeCJK_if_package_loaded:nT {#1}
-          {
-            \cs_undefine:c { ver at CJK . \c__xeCJK_package_ext_tl }
-            \clist_map_break:
-          }
-      }
-  }
 \cs_new_protected:Npn \CJKaddEncHook #1#2
   {
     \str_if_eq:nnT {#1} { \CJK at UnicodeEnc }
@@ -4855,7 +4882,7 @@
           { \cs_new_eq:NN \Unicode \xeCJK_unicode_char:nn }
       }
   }
-\cs_new_nopar:Npn \xeCJK_unicode_char:nn #1#2
+\cs_new:Npn \xeCJK_unicode_char:nn #1#2
   { \tex_Uchar:D \tex_numexpr:D (#1) * 256 + (#2) \scan_stop: }
 \bool_if:NT \g__xeCJK_config_bool
   {

Modified: trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty	2020-05-01 21:28:49 UTC (rev 54960)
+++ trunk/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty	2020-05-01 21:29:24 UTC (rev 54961)
@@ -21,7 +21,7 @@
 %%     and version 1.3 or later is part of all distributions of
 %%     LaTeX version 2005/12/01 or later.
 %% 
-%%     This work has the LPPL maintenance status `maintained'.
+%%     This work has the LPPL maintenance status "maintained".
 %% 
 %%     The Current Maintainers of this work are Leo Liu and Qing Lee.
 %% 
@@ -29,10 +29,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx 165cecc 2020-02-18 20:38:34 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee at gmail.com> $
   {xeCJK font effect}
 \ProvidesExplPackage{xeCJKfntef}
-  {\ExplFileDate}{3.8.2}{\ExplFileDescription}
+  {\ExplFileDate}{3.8.3}{\ExplFileDescription}
 \PassOptionsToPackage { normalem } { ulem }
 \DeclareOption* { \PassOptionsToPackage { \CurrentOption } { ulem } }
 \ProcessOptions \scan_stop:
@@ -39,7 +39,7 @@
 \RequirePackage { xeCJK }
 \RequirePackage { ulem }
 \addto at hook \UL at hook { \xeCJK_hook_for_ulem: }
-\cs_new_protected_nopar:Npn \xeCJK_hook_for_ulem:
+\cs_new_protected:Npn \xeCJK_hook_for_ulem:
   {
     \xeCJK_ulem_detect_node:
     \l__xeCJK_ulem_text_format_tl
@@ -50,7 +50,7 @@
       }
     \xeCJK_ulem_begin_node:
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_hook:
+\cs_new_protected:Npn \__xeCJK_ulem_hook:
   {
     \__xeCJK_ulem_initial:
     \bool_if:NT \l__xeCJK_ulem_subtract_bool
@@ -86,11 +86,11 @@
         \CJKecglue
       } \l__xeCJK_ecglue_skip
     \xeCJK_glue_to_skip:nN { \xeCJK_space_glue: } \l__xeCJK_space_skip
-    \cs_set_protected_nopar:Npn \CJKglue
+    \cs_set_protected:Npn \CJKglue
       { \__xeCJK_ulem_glue:n \l__xeCJK_ccglue_skip }
-    \cs_set_protected_nopar:Npn \CJKecglue
+    \cs_set_protected:Npn \CJKecglue
       { \__xeCJK_ulem_glue:n \l__xeCJK_ecglue_skip }
-    \cs_set_protected_nopar:Npn \xeCJK_space_glue:
+    \cs_set_protected:Npn \xeCJK_space_glue:
       { \__xeCJK_ulem_glue:n \l__xeCJK_space_skip }
     \cs_set_eq:NN \xeCJK_punct_node:N \use_none:n
     \cs_set_eq:NN \xeCJK_if_last_punct:TF \use_ii:nn
@@ -99,7 +99,7 @@
   }
 \skip_new:N \l__xeCJK_space_skip
 \bool_new:N \l__xeCJK_ulem_hook_used_bool
-\cs_new_protected_nopar:Npn \xeCJK_ulem_word:nw #1 ~
+\cs_new_protected:Npn \xeCJK_ulem_word:nw #1 ~
   {
     \exp_after:wN \UL at start #1 ~
     \exp_after:wN \if_meaning:w \exp_after:wN \UL at end #1
@@ -108,7 +108,7 @@
       \exp_after:wN \__xeCJK_ulem_loop:nw
     \fi:
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_end:
+\cs_new_protected:Npn \__xeCJK_ulem_end:
   {
         \c_group_end_token
       \c_group_end_token
@@ -118,7 +118,7 @@
     \xeCJK_ulem_right_node:
     \int_set:Nn \tex_spacefactor:D { \UL at spfactor }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_loop:nw
+\cs_new_protected:Npn \__xeCJK_ulem_loop:nw
   {
     \reverse_if:N \if_mode_math:
       \reverse_if:N \if_dim:w \tex_lastskip:D = \c_zero_dim
@@ -130,13 +130,13 @@
     \xeCJK_ulem_word:nw \prg_do_nothing:
   }
 \cs_set_eq:NN \UL at word \xeCJK_ulem_word:nw
-\cs_new_protected_nopar:Npn \xeCJK_ulem_left:
+\cs_new_protected:Npn \xeCJK_ulem_left:
   {
     \xeCJK_ulem_left_node:
     \xeCJK_make_group_tag:
   }
 \cs_new_eq:NN \xeCJK_ulem_left_node: \prg_do_nothing:
-\cs_new_protected_nopar:Npn \xeCJK_ulem_detect_node:
+\cs_new_protected:Npn \xeCJK_ulem_detect_node:
   {
     \scan_stop:
     \dim_compare:nNnTF \tex_lastkern:D = \c_zero_dim
@@ -151,12 +151,12 @@
         \dim_compare:nNnTF \tex_lastkern:D = { - \l__xeCJK_tmp_dim }
           {
             \tex_unkern:D
-            \cs_set_protected_nopar:Npx \xeCJK_ulem_left_node:
+            \cs_set_protected:Npx \xeCJK_ulem_left_node:
               {
                 \tex_kern:D - \dim_use:N \l__xeCJK_tmp_dim \exp_stop_f:
                 \tex_kern:D   \dim_use:N \l__xeCJK_tmp_dim \exp_stop_f:
               }
-            \cs_set_protected_nopar:Npn \xeCJK_ulem_begin_node:
+            \cs_set_protected:Npn \xeCJK_ulem_begin_node:
               { { \xeCJK_make_node:n { ulem-begin } } }
             \cs_set_eq:NN \__xeCJK_ulem_hskip:n \__xeCJK_ulem_hskip_first:n
           }
@@ -170,7 +170,7 @@
   }
 \xeCJK_declare_node:n { ulem-begin }
 \cs_new_eq:NN \xeCJK_ulem_begin_node: \prg_do_nothing:
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_hskip_first:n #1
+\cs_new_protected:Npn \__xeCJK_ulem_hskip_first:n #1
   {
     \xeCJK_if_last_node:nTF { ulem-begin }
       {
@@ -181,9 +181,9 @@
     \cs_set_eq:NN \__xeCJK_ulem_hskip:n \xeCJK_ulem_hskip:n
   }
 \cs_new_eq:NN \__xeCJK_ulem_hskip:n \__xeCJK_ulem_hskip_first:n
-\cs_new_protected_nopar:Npn \xeCJK_ulem_hskip:n #1
+\cs_new_protected:Npn \xeCJK_ulem_hskip:n #1
   { { \skip_set:Nn \UL at skip {#1} \UL at leaders } }
-\cs_new_protected_nopar:Npn \xeCJK_ulem_right:
+\cs_new_protected:Npn \xeCJK_ulem_right:
   {
     \scan_stop:
     \dim_compare:nNnTF \tex_lastkern:D = \c_zero_dim
@@ -197,12 +197,12 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_right_aux:n #1
+\cs_new_protected:Npn \__xeCJK_ulem_right_aux:n #1
   {
     \dim_compare:nNnTF \tex_lastkern:D = { - #1 }
       {
         \tex_unkern:D
-        \cs_gset_protected_nopar:Npn \xeCJK_ulem_right_node:
+        \cs_gset_protected:Npn \xeCJK_ulem_right_node:
           {
             \tex_kern:D - #1 \exp_stop_f:
             \tex_kern:D   #1 \exp_stop_f:
@@ -215,9 +215,9 @@
       }
   }
 \cs_new_eq:NN \xeCJK_ulem_right_node: \prg_do_nothing:
-\cs_new_protected_nopar:Npn \xeCJK_ulem_leaders:
+\cs_new_protected:Npn \xeCJK_ulem_leaders:
   { \__xeCJK_ulem_var_leaders: }
-\cs_new_protected_nopar:Npn \xeCJK_ulem_var_leaders:
+\cs_new_protected:Npn \xeCJK_ulem_var_leaders:
   {
     \scan_stop:
     \skip_if_eq:nnF { \UL at skip } { \c_zero_skip }
@@ -229,7 +229,7 @@
   }
 \cs_new_eq:NN \__xeCJK_ulem_var_leaders: \xeCJK_ulem_var_leaders:
 \cs_new_eq:NN \xeCJK_ulem_right_skip: \prg_do_nothing:
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_right_skip:
+\cs_new_protected:Npn \__xeCJK_ulem_right_skip:
   {
     \int_case:nn { \tex_lastnodetype:D }
       {
@@ -238,7 +238,7 @@
         { 13 } { \__xeCJK_ulem_right_skip_penalty: }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_right_skip_hbox:
+\cs_new_protected:Npn \__xeCJK_ulem_right_skip_hbox:
   {
     \box_set_to_last:N \l__xeCJK_tmp_box
     \int_compare:nNnTF \tex_lastnodetype:D = { 12 }
@@ -246,7 +246,7 @@
       { \__xeCJK_ulem_right_skip_glue: }
     \box_use_drop:N \l__xeCJK_tmp_box
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_right_skip_kern:
+\cs_new_protected:Npn \__xeCJK_ulem_right_skip_kern:
   {
     \dim_set:Nn \l__xeCJK_tmp_dim { - \box_wd:N \l__xeCJK_tmp_box }
     \dim_compare:nNnT \tex_lastkern:D = \l__xeCJK_tmp_dim
@@ -256,7 +256,7 @@
         \tex_kern:D \l__xeCJK_tmp_dim
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_right_skip_glue:
+\cs_new_protected:Npn \__xeCJK_ulem_right_skip_glue:
   {
     \skip_if_eq:nnT { \tex_lastskip:D } { - \UL at pixel }
       {
@@ -266,7 +266,7 @@
         \UL at leadtype \skip_horizontal:N \l__xeCJK_tmp_skip
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_right_skip_penalty:
+\cs_new_protected:Npn \__xeCJK_ulem_right_skip_penalty:
   {
     \int_set_eq:NN \l__xeCJK_tmp_int \tex_lastpenalty:D
     \tex_unpenalty:D
@@ -274,35 +274,37 @@
       { \__xeCJK_ulem_right_skip_hbox: }
     \tex_penalty:D \l__xeCJK_tmp_int
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_hidden_box:
+\cs_new_protected:Npn \__xeCJK_ulem_hidden_box:
   {
     \tl_if_empty:NF \UL at start
       {
-        \box_use:N \c__xeCJK_null_box
+        \box_set_ht:Nn \l__xeCJK_hidden_box { \box_ht:N \UL at box }
+        \box_set_dp:Nn \l__xeCJK_hidden_box { \box_dp:N \UL at box }
+        \box_use:N \l__xeCJK_hidden_box
         \xeCJK_no_break:
         \xeCJK_ulem_hskip:n { \box_wd:N \UL at box }
-        \box_use:N \c__xeCJK_null_box
+        \box_use:N \l__xeCJK_hidden_box
       }
   }
-\box_new:N \c__xeCJK_null_box
-\hbox_gset:Nn \c__xeCJK_null_box { }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_skip_punct_begin:
+\box_new:N \l__xeCJK_hidden_box
+\hbox_set:Nn \l__xeCJK_hidden_box { }
+\cs_new_protected:Npn \__xeCJK_ulem_skip_punct_begin:
   {
     \cs_set_eq:NN \UL at putbox \__xeCJK_ulem_skip_putbox:
     \cs_set_eq:NN \xeCJK_ulem_hskip:n \skip_horizontal:n
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_skip_punct_end:
+\cs_new_protected:Npn \__xeCJK_ulem_skip_punct_end:
   {
     \cs_set_eq:NN \UL at putbox \__xeCJK_ulem_putbox:
     \cs_set_eq:NN \xeCJK_ulem_hskip:n \__xeCJK_ulem_hskip_aux:n
   }
 \cs_new_eq:NN \__xeCJK_ulem_putbox: \UL at putbox
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_skip_putbox:
+\cs_new_protected:Npn \__xeCJK_ulem_skip_putbox:
   {
     \tl_if_empty:NF \UL at start
       { \box_use_drop:N \UL at box }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_initial:
+\cs_new_protected:Npn \__xeCJK_ulem_initial:
   {
     \__xeCJK_ulem_swap_cs:NN
     \xeCJK_FullLeft_and_Default:   \__xeCJK_ulem_FullLeft_and_Default:
@@ -339,13 +341,13 @@
           }
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_swap_cs:NN #1#2
+\cs_new_protected:Npn \__xeCJK_ulem_swap_cs:NN #1#2
   {
     \quark_if_recursion_tail_stop:N #1
     \xeCJK_swap_cs:NN #1#2
     \__xeCJK_ulem_swap_cs:NN
   }
-\cs_new_nopar:Npn \xeCJK_if_ulem_patch:TF
+\cs_new:Npn \xeCJK_if_ulem_patch:TF
   {
     \if_meaning:w \  \LA at space
       \exp_after:wN \use_ii:nn
@@ -353,7 +355,7 @@
       \exp_after:wN \use_i:nn
     \fi:
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_CJK_and_Boundary:w
+\cs_new_protected:Npn \__xeCJK_ulem_CJK_and_Boundary:w
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -378,13 +380,13 @@
       }
       { \__xeCJK_ulem_CJK_and_Boundary:w }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_fix_penalty:
+\cs_new_protected:Npn \__xeCJK_ulem_fix_penalty:
   {
     \xeCJK_if_ulem_patch:TF
       { \fix at penalty }
       { \__xeCJK_ulem_fix_penalty: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_CJK_and_CJK:N
+\cs_new_protected:Npn \__xeCJK_ulem_CJK_and_CJK:N
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -396,12 +398,12 @@
       }
       { \__xeCJK_ulem_CJK_and_CJK:N }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_class_group_begin:
+\cs_new_protected:Npn \__xeCJK_ulem_class_group_begin:
   {
     \xeCJK_class_group_begin:
     \xeCJK_clear_Boundary_and_CJK_toks:
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_between_CJK_blocks:nnN #1#2
+\cs_new_protected:Npn \__xeCJK_ulem_between_CJK_blocks:nnN #1#2
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -418,7 +420,7 @@
         \CJKsymbol
       }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_Default_and_FullLeft_glue:N #1
+\cs_new_protected:Npn \__xeCJK_ulem_Default_and_FullLeft_glue:N #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -429,7 +431,7 @@
       }
       { \__xeCJK_ulem_Default_and_FullLeft_glue:N #1 }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_Boundary_and_FullLeft_glue:N #1
+\cs_new_protected:Npn \__xeCJK_ulem_Boundary_and_FullLeft_glue:N #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -440,7 +442,7 @@
       }
       { \__xeCJK_ulem_Boundary_and_FullLeft_glue:N #1 }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_CJK_and_FullLeft_glue:N #1
+\cs_new_protected:Npn \__xeCJK_ulem_CJK_and_FullLeft_glue:N #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -455,7 +457,7 @@
       }
       { \__xeCJK_ulem_CJK_and_FullLeft_glue:N #1 }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_Default_and_FullRight_glue:N #1
+\cs_new_protected:Npn \__xeCJK_ulem_Default_and_FullRight_glue:N #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -473,7 +475,7 @@
       }
       { \__xeCJK_ulem_Default_and_FullRight_glue:N #1 }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_CJK_and_FullRight_glue:N #1
+\cs_new_protected:Npn \__xeCJK_ulem_CJK_and_FullRight_glue:N #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -495,7 +497,7 @@
       }
       { \__xeCJK_ulem_CJK_and_FullRight_glue:N #1 }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_FullLeft_and_Default:
+\cs_new_protected:Npn \__xeCJK_ulem_FullLeft_and_Default:
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -513,7 +515,7 @@
       }
       { \__xeCJK_ulem_FullLeft_and_Default: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_FullLeft_and_Boundary:
+\cs_new_protected:Npn \__xeCJK_ulem_FullLeft_and_Boundary:
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -532,7 +534,7 @@
       }
       { \__xeCJK_ulem_FullLeft_and_Boundary: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_FullLeft_and_CJK:
+\cs_new_protected:Npn \__xeCJK_ulem_FullLeft_and_CJK:
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -542,7 +544,7 @@
       }
       { \__xeCJK_ulem_FullLeft_and_CJK: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_FullRight_and_Default:
+\cs_new_protected:Npn \__xeCJK_ulem_FullRight_and_Default:
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -555,7 +557,7 @@
       }
       { \__xeCJK_ulem_FullRight_and_Default: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_FullRight_and_Boundary:
+\cs_new_protected:Npn \__xeCJK_ulem_FullRight_and_Boundary:
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -569,7 +571,7 @@
       }
       { \__xeCJK_ulem_FullRight_and_Boundary: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_FullRight_and_CJK:
+\cs_new_protected:Npn \__xeCJK_ulem_FullRight_and_CJK:
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -585,13 +587,13 @@
       }
       { \__xeCJK_ulem_FullRight_and_CJK: }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_punct_hskip:n
+\cs_new_protected:Npn \__xeCJK_ulem_punct_hskip:n
   {
     \xeCJK_if_ulem_patch:TF
       { \xeCJK_ulem_hskip:n }
       { \__xeCJK_ulem_punct_hskip:n }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_punct_breakable_kern:n #1
+\cs_new_protected:Npn \__xeCJK_ulem_punct_breakable_kern:n #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -602,7 +604,7 @@
       }
       { \__xeCJK_ulem_punct_breakable_kern:n {#1} }
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_glue:n #1
+\cs_new_protected:Npn \__xeCJK_ulem_glue:n #1
   {
     \xeCJK_if_ulem_patch:TF
       {
@@ -616,7 +618,7 @@
       }
       { \skip_horizontal:n {#1} }
   }
-\cs_new_protected_nopar:Npn \xeCJK_make_group_tag:
+\cs_new_protected:Npn \xeCJK_make_group_tag:
   { \tl_set:Nx \l__xeCJK_group_tag_tl { \c__xeCJK_group_tag_tl } }
 \tl_new:N \l__xeCJK_group_tag_tl
 \tl_const:Nn \c__xeCJK_group_tag_tl
@@ -624,18 +626,18 @@
     T \int_use:N \tex_currentgrouptype:D
     L \int_use:N \tex_currentgrouplevel:D
   }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_ccglue:
+\cs_new_protected:Npn \__xeCJK_ulem_ccglue:
   { { \skip_set_eq:NN \UL at skip \l__xeCJK_ccglue_skip \UL at leaders } }
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_punct_ccglue:
+\cs_new_protected:Npn \__xeCJK_ulem_punct_ccglue:
   { \__xeCJK_punct_hskip:n { \l__xeCJK_ccglue_skip } }
-\cs_new_protected_nopar:Npn \xeCJK_ulem_group_begin:
+\cs_new_protected:Npn \xeCJK_ulem_group_begin:
   {
     \mode_leave_vertical:
     \c_group_begin_token
   }
-\cs_new_protected_nopar:Npn \xeCJK_ulem_group_end:
+\cs_new_protected:Npn \xeCJK_ulem_group_end:
   { \c_group_end_token }
-\cs_new_protected_nopar:Npn \xeCJK_ulem_on:n
+\cs_new_protected:Npn \xeCJK_ulem_on:n
   { \ULon }
 \cs_new_eq:NN \__xeCJK_ulem_on:n \UL at on
 \cs_set_protected:Npn \UL at on #1
@@ -777,7 +779,7 @@
     \tl_if_novalue:nF {#4}
       { \keys_set:nn { xeCJK / options / ulem } {#4} }
   }
-\cs_new_protected_nopar:Npn \xeCJK_fntef_initial:n
+\cs_new_protected:Npn \xeCJK_fntef_initial:n
   {
     \bool_if:NTF \l__xeCJK_nest_bool
       { \__xeCJK_warning:n { fntef-nesting } }
@@ -912,18 +914,6 @@
     sout / height            = 0.35 em ,
     xout / skip              = true
   }
-\cs_if_free:NF \color
-  {
-    \keys_set:nn { xeCJK / options }
-      {
-        underdot / format     = \color { red } ,
-        underline / format    = \color { blue } ,
-        underdblline / format = \color { blue } ,
-        underwave / format    = \color { blue } ,
-        sout / format         = \color { red } ,
-        xout / format         = \color { blue }
-      }
-  }
 \NewDocumentCommand \CJKunderanysymbol { o m m m }
   {
     \xeCJK_under_symbol:nnnnnn { symbol } { symbol } {#1} {#2} {#3} {#4}
@@ -938,7 +928,7 @@
       {#2}
     \tex_ignorespaces:D
   }
-\cs_new_protected_nopar:Npn \xeCJK_under_symbol:nnnnnn
+\cs_new_protected:Npn \xeCJK_under_symbol:nnnnnn
   {
     \xeCJK_if_ulem_patch:TF
       { \__xeCJK_under_symbol_auxi:nnnnnn }
@@ -1028,7 +1018,7 @@
   }
 \tl_new:N \l__xeCJK_fntef_shipout_tl
 \xeCJK_add_to_shipout:n { \l__xeCJK_fntef_shipout_tl }
-\cs_new_protected_nopar:Npn \__xeCJK_under_CJKsymbol:N
+\cs_new_protected:Npn \__xeCJK_under_CJKsymbol:N
   {
     \box_use:N \l__xeCJK_under_symbol_box
     \xeCJK_no_break: \__xeCJK_under_CJKsymbol:N
@@ -1064,7 +1054,7 @@
       }
       { \tabular [#1] { @ { } c @ { } }          #3 \endtabular }
   }
-\cs_new_protected_nopar:Npn \xeCJK_fntef_hfilll:
+\cs_new_protected:Npn \xeCJK_fntef_hfilll:
   { \skip_horizontal:N \c__xeCJK_filll_skip }
 \skip_const:Nn \c__xeCJK_filll_skip { \c_zero_dim plus 1 filll }
 %% 

Modified: trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty	2020-05-01 21:28:49 UTC (rev 54960)
+++ trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty	2020-05-01 21:29:24 UTC (rev 54961)
@@ -21,7 +21,7 @@
 %%     and version 1.3 or later is part of all distributions of
 %%     LaTeX version 2005/12/01 or later.
 %% 
-%%     This work has the LPPL maintenance status `maintained'.
+%%     This work has the LPPL maintenance status "maintained".
 %% 
 %%     The Current Maintainers of this work are Leo Liu and Qing Lee.
 %% 
@@ -29,10 +29,10 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}
 \RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx 165cecc 2020-02-18 20:38:34 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee at gmail.com> $
   {addon file for xunicode}
 \ProvidesExplPackage{xunicode-addon}
-  {\ExplFileDate}{3.8.2}{\ExplFileDescription}
+  {\ExplFileDate}{3.8.3}{\ExplFileDescription}
 \bool_lazy_or:nnF
   { \sys_if_engine_xetex_p: }
   { \sys_if_engine_luatex_p: }
@@ -135,12 +135,12 @@
     \bool_set_true:N \l__xunadd_math_as_UTF_text_bool
   }
 \@onlypreamble \UseMathAsText
-\cs_new_protected_nopar:Npn \__xunadd_declare_math_as_UTF_text:n #1
+\cs_new_protected:Npn \__xunadd_declare_math_as_UTF_text:n #1
   {
     \cs_if_exist:cTF {#1}
       {
         \cs_new_eq:cc { keepmathUTF #1 } {#1}
-        \cs_gset_protected_nopar:cpx {#1}
+        \cs_gset_protected:cpx {#1}
           {
             \exp_not:N \mode_if_math:TF
               { \exp_not:c { keepmathUTF #1 } }
@@ -149,7 +149,7 @@
         \tl_put_right:Nx \l__xunadd_hyperref_hook_tl
           { \cs_set_eq:NN \exp_not:c {#1} \exp_not:c { text #1 } }
       }
-      { \cs_new_nopar:cpx {#1} { \exp_not:c { text #1 } } }
+      { \cs_new:cpx {#1} { \exp_not:c { text #1 } } }
   }
 \tl_new:N \l__xunadd_hyperref_hook_tl
 \AtBeginDocument
@@ -207,20 +207,20 @@
         {#1} {#2}
       }
   }
-\cs_new_protected_nopar:cpn
+\cs_new_protected:cpn
   { __xunadd_restore_ \tl_to_str:n { \hbar } : }
   { \__xunadd_restore_cmd:N \hbar }
-\cs_new_protected_nopar:cpn
+\cs_new_protected:cpn
   { __xunadd_restore_ \tl_to_str:n { \nobreakspace } : }
   { \__xunadd_restore_cmd:N \nobreakspace }
-\cs_new_protected_nopar:Npn \__xunadd_restore_cmd:N #1
+\cs_new_protected:Npn \__xunadd_restore_cmd:N #1
   { \__xunadd_restore_cmd:Nx #1 { ? - \token_to_str:N #1 } }
-\cs_new_protected_nopar:Npn \__xunadd_restore_cmd:Nn #1#2
+\cs_new_protected:Npn \__xunadd_restore_cmd:Nn #1#2
   {
     \cs_if_free:cF {#2}
       { \__xunadd_restore_cmd:Nc #1 {#2} }
   }
-\cs_new_protected_nopar:Npn \__xunadd_restore_cmd:NN #1#2
+\cs_new_protected:Npn \__xunadd_restore_cmd:NN #1#2
   {
     \cs_gset_eq:NN #1 #2
     \cs_undefine:N #2
@@ -269,7 +269,7 @@
     \__xunadd_end_hook:nn {#1} {#2}
   }
 \cs_generate_variant:Nn \__xunadd_declare_character:NNnn { NNx }
-\cs_new_nopar:Npn \__xunadd_check_slot:n #1
+\cs_new:Npn \__xunadd_check_slot:n #1
   {
     \int_eval:n
       {
@@ -545,17 +545,17 @@
       { \xunadd_set_end_hook:nn {#2} }
       {#3}
   }
-\cs_new_protected_nopar:Npn \xunadd_set_begin_hook:n
+\cs_new_protected:Npn \xunadd_set_begin_hook:n
   { \tl_set:Nn \l__xunadd_begin_hook_tl }
-\cs_new_protected_nopar:Npn \xunadd_append_begin_hook:n
+\cs_new_protected:Npn \xunadd_append_begin_hook:n
   { \tl_put_right:Nn \l__xunadd_begin_hook_tl }
-\cs_new_protected_nopar:Npn \xunadd_set_end_hook:n
+\cs_new_protected:Npn \xunadd_set_end_hook:n
   { \tl_set:Nn \l__xunadd_end_hook_tl }
-\cs_new_protected_nopar:Npn \xunadd_append_end_hook:n
+\cs_new_protected:Npn \xunadd_append_end_hook:n
   { \tl_put_right:Nn \l__xunadd_end_hook_tl }
-\cs_new_protected_nopar:Npn \xunadd_set_begin_hook:nn
+\cs_new_protected:Npn \xunadd_set_begin_hook:nn
   { \__xunadd_set_cmd_hook:nnn { begin } }
-\cs_new_protected_nopar:Npn \xunadd_set_end_hook:nn
+\cs_new_protected:Npn \xunadd_set_end_hook:nn
   { \__xunadd_set_cmd_hook:nnn { end } }
 \cs_new_protected:Npn \__xunadd_set_cmd_hook:nnn #1#2#3
   {
@@ -569,8 +569,8 @@
   }
 \cs_new:Npn \__xunadd_set_cmd_hook_aux:Nnwn #1#2 \q_stop #3
   { \use:c { __xunadd_#3_csname:n } { \token_to_str:N #1 - \tl_to_str:n {#2} } }
-\cs_new_nopar:Npn \__xunadd_begin_csname:n #1 { __xunadd_begin_#1_hook:n }
-\cs_new_nopar:Npn \__xunadd_end_csname:n #1   { __xunadd_end_#1_hook:n }
+\cs_new:Npn \__xunadd_begin_csname:n #1 { __xunadd_begin_#1_hook:n }
+\cs_new:Npn \__xunadd_end_csname:n #1   { __xunadd_end_#1_hook:n }
 \tl_new:N \l__xunadd_begin_hook_tl
 \tl_new:N \l__xunadd_end_hook_tl
 \cs_new_protected:Npn \__xunadd_begin_hook:nn #1#2
@@ -656,7 +656,7 @@
           { \bool_set_true:N \l_xunadd_rest_bool }
       }
   }
-\cs_new_protected:Npn \xunadd at microtype@is at charx #1 \relax
+\cs_new_protected_nopar:Npn \xunadd at microtype@is at charx #1 \relax
   {
     \use:x
       { \xunadd_get_slot:nn { \MT at encoding } { \tex_the:D \MT at toks } }
@@ -667,7 +667,7 @@
         \bool_if:NT \l_xunadd_rest_bool { \MT at norestfalse }
       }
   }
-\AtBeginDocument
+\cs_new_protected_nopar:Npn \xunadd at microtype@hook
   {
     \cs_if_free:NF \MT at is@charx
       {
@@ -676,6 +676,9 @@
         \cs_set_eq:NN \MT at warn@unknown at once \use_none:n
       }
   }
+\@ifpackageloaded { microtype }
+  { \use:n } { \AtBeginDocument }
+  { \xunadd at microtype@hook }
 %% 
 %%     This package consists of the files xeCJK.dtx,
 %%                                        full-stop.map,

Modified: trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def
===================================================================
--- trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def	2020-05-01 21:28:49 UTC (rev 54960)
+++ trunk/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def	2020-05-01 21:29:24 UTC (rev 54961)
@@ -21,16 +21,16 @@
 %%     and version 1.3 or later is part of all distributions of
 %%     LaTeX version 2005/12/01 or later.
 %% 
-%%     This work has the LPPL maintenance status `maintained'.
+%%     This work has the LPPL maintenance status "maintained".
 %% 
 %%     The Current Maintainers of this work are Leo Liu and Qing Lee.
 %% 
 %% ----------------------------------------------------------------------
 %% 
-\GetIdInfo$Id: xeCJK.dtx 165cecc 2020-02-18 20:38:34 +0800 Qing Lee <sobenlee at gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee at gmail.com> $
   {extra definition for xunicode}
 \ProvidesExplFile{xunicode-extra.def}
-  {\ExplFileDate}{3.8.2}{\ExplFileDescription}
+  {\ExplFileDate}{3.8.3}{\ExplFileDescription}
 \DeclareUTFSymbol\texthyphenationpoint{"2027}
 \DeclareUTFSymbol\texttwoemdash{"2E3A}
 \DeclareUTFComposite\textsuperscript



More information about the tex-live-commits mailing list.