From 8626a9c3cb5dc8d02d779d5b5b1e3933d5626f43 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 2 May 2020 03:03:34 +0000 Subject: CTAN sync 202005020303 --- macros/xetex/latex/xecjk/README.md | 2 +- .../xetex/latex/xecjk/teckit-mapping/full-stop.map | 9 - .../latex/xecjk/teckit-mapping/fullwidth-stop.map | 9 - .../xetex/latex/xecjk/teckit-mapping/han-simp.map | 3073 -------------------- .../xetex/latex/xecjk/teckit-mapping/han-trad.map | 3042 ------------------- macros/xetex/latex/xecjk/xeCJK.dtx | 1139 ++++---- macros/xetex/latex/xecjk/xeCJK.pdf | Bin 1279166 -> 1280364 bytes macros/xetex/latex/xecjk/xunicode-symbols.pdf | Bin 292983 -> 292884 bytes macros/xetex/latex/xepersian-hm/README.txt | 37 +- .../xetex/latex/xepersian-hm/kashida-example.pdf | Bin 81523 -> 0 bytes .../xetex/latex/xepersian-hm/kashida-example.tex | 87 - .../latex/xepersian-hm/kashida-glyph-example.pdf | Bin 0 -> 91744 bytes .../latex/xepersian-hm/kashida-glyph-example.tex | 110 + .../latex/xepersian-hm/kashida-hrule-example.pdf | Bin 0 -> 90703 bytes .../latex/xepersian-hm/kashida-hrule-example.tex | 109 + .../xetex/latex/xepersian-hm/xepersian-hm-doc.ltx | 160 + .../xetex/latex/xepersian-hm/xepersian-hm-doc.pdf | Bin 0 -> 46065 bytes macros/xetex/latex/xepersian-hm/xepersian-hm.dtx | 228 +- macros/xetex/latex/xepersian-hm/xepersian-hm.ins | 8 +- macros/xetex/latex/xepersian-hm/xepersian-hm.pdf | Bin 75419 -> 55345 bytes 20 files changed, 1060 insertions(+), 6953 deletions(-) delete mode 100644 macros/xetex/latex/xecjk/teckit-mapping/full-stop.map delete mode 100644 macros/xetex/latex/xecjk/teckit-mapping/fullwidth-stop.map delete mode 100644 macros/xetex/latex/xecjk/teckit-mapping/han-simp.map delete mode 100644 macros/xetex/latex/xecjk/teckit-mapping/han-trad.map delete mode 100644 macros/xetex/latex/xepersian-hm/kashida-example.pdf delete mode 100644 macros/xetex/latex/xepersian-hm/kashida-example.tex create mode 100644 macros/xetex/latex/xepersian-hm/kashida-glyph-example.pdf create mode 100644 macros/xetex/latex/xepersian-hm/kashida-glyph-example.tex create mode 100644 macros/xetex/latex/xepersian-hm/kashida-hrule-example.pdf create mode 100644 macros/xetex/latex/xepersian-hm/kashida-hrule-example.tex create mode 100644 macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx create mode 100644 macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf (limited to 'macros/xetex') diff --git a/macros/xetex/latex/xecjk/README.md b/macros/xetex/latex/xecjk/README.md index 00f0e74c7f..0b9712861b 100644 --- a/macros/xetex/latex/xecjk/README.md +++ b/macros/xetex/latex/xecjk/README.md @@ -34,7 +34,7 @@ Copyright and Licence 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. diff --git a/macros/xetex/latex/xecjk/teckit-mapping/full-stop.map b/macros/xetex/latex/xecjk/teckit-mapping/full-stop.map deleted file mode 100644 index 0a23fe0e05..0000000000 --- a/macros/xetex/latex/xecjk/teckit-mapping/full-stop.map +++ /dev/null @@ -1,9 +0,0 @@ -; TECkit mapping for conversion of `FULLWIDTH FULL STOP" to `IDEOGRAPHIC FULL STOP" -; - -LHSName "FULLWIDTH FULL STOP" -RHSName "IDEOGRAPHIC FULL STOP" - -pass(Unicode) - -U+FF0E <> U+3002 diff --git a/macros/xetex/latex/xecjk/teckit-mapping/fullwidth-stop.map b/macros/xetex/latex/xecjk/teckit-mapping/fullwidth-stop.map deleted file mode 100644 index 4c2c9c991a..0000000000 --- a/macros/xetex/latex/xecjk/teckit-mapping/fullwidth-stop.map +++ /dev/null @@ -1,9 +0,0 @@ -; TECkit mapping for conversion of `IDEOGRAPHIC FULL STOP" to `FULLWIDTH FULL STOP" -; - -LHSName "IDEOGRAPHIC FULL STOP" -RHSName "FULLWIDTH FULL STOP" - -pass(Unicode) - -U+3002 <> U+FF0E diff --git a/macros/xetex/latex/xecjk/teckit-mapping/han-simp.map b/macros/xetex/latex/xecjk/teckit-mapping/han-simp.map deleted file mode 100644 index bbb50a7d75..0000000000 --- a/macros/xetex/latex/xecjk/teckit-mapping/han-simp.map +++ /dev/null @@ -1,3073 +0,0 @@ -; TECkit mapping for conversion of traditional Chinese characters to simplified Chinese characters -; from the Unicode Unihan database: -; -; Unihan_Variants.txt -; Date: 2018-11-09 21:36:19 GMT [JHJ] -; Unicode version: 12.0.0 -; - -LHSName "traditional" -RHSName "simplified" - -pass(Unicode) - -U+300C <> U+201C -U+300D <> U+201D -U+300E <> U+2018 -U+300F <> U+2019 - -U+346F <> U+3454 -U+3473 <> U+3447 -U+3493 <> U+20242 -U+34E8 <> U+523E -U+35F2 <> U+20D7E -U+361A <> U+360E -U+3704 <> U+36AF -U+370F <> U+36E3 -U+3722 <> U+217B1 -U+3737 <> U+21760 -U+379E <> U+2AA0A -U+380F <> U+37C6 -U+389D <> U+222C8 -U+396E <> U+3918 -U+398E <> U+226EF -U+3A5C <> U+3A2B -U+3A73 <> U+39D0 -U+3DFF <> U+24237 -U+3E8F <> U+2480B -U+3FE7 <> U+24F6F -U+4039 <> U+25174 -U+406A <> U+251E2 -U+407B <> U+4025 -U+4259 <> U+25B00 -U+426C <> U+2B088 -U+4272 <> U+25B9C -U+42AD <> U+25E85 -U+42B7 <> U+4336 -U+42D9 <> U+433A -U+42DA <> U+433B -U+42FB <> U+433E -U+42FF <> U+26213 -U+4308 <> U+26216 -U+430B <> U+26218 -U+4316 <> U+2621C -U+431D <> U+2621F -U+431F <> U+2621E -U+4325 <> U+26220 -U+4330 <> U+26219 -U+4573 <> U+26C34 -U+45FF <> U+2725E -U+4661 <> U+464C -U+4700 <> U+4727 -U+477B <> U+27E55 -U+477C <> U+478D -U+4788 <> U+27E51 -U+48A8 <> U+28479 -U+4947 <> U+4982 -U+4951 <> U+9FCF -U+4969 <> U+28C56 -U+4971 <> U+497E -U+4998 <> U+28E04 -U+499B <> U+49B6 -U+499F <> U+49B7 -U+49B3 <> U+28DFF -U+49E2 <> U+28E1F -U+4A8F <> U+293FC -U+4A97 <> U+29400 -U+4A98 <> U+293FF -U+4AF4 <> U+29597 -U+4B18 <> U+2966E -U+4B1D <> U+2966F -U+4B1E <> U+29667 -U+4B40 <> U+29807 -U+4B43 <> U+29808 -U+4B7F <> U+299ED -U+4B9D <> U+299F0 -U+4B9E <> U+29A01 -U+4BA0 <> U+299FF -U+4BAB <> U+29A07 -U+4BB3 <> U+29A0F -U+4BBE <> U+299EA -U+4BC0 <> U+4BC5 -U+4C3E <> U+9C83 -U+4C59 <> U+29F88 -U+4C6C <> U+29F8A -U+4C70 <> U+29F8B -U+4C77 <> U+4CA3 -U+4C7D <> U+4C9D -U+4C81 <> U+9CDA -U+4C96 <> U+29F82 -U+4CB0 <> U+2A242 -U+4D09 <> U+9E6E -U+4D2C <> U+2A388 -U+4D34 <> U+2A38B -U+4E1F <> U+4E22 -U+4E26 <> U+5E76 -U+4E7E <> U+5E72 -U+4E82 <> U+4E71 -U+4E9E <> U+4E9A -U+4F47 <> U+4F2B -U+4F59 <> U+4F59 -U+4F75 <> U+5E76 -U+4F86 <> U+6765 -U+4F96 <> U+4ED1 -U+4FB6 <> U+4FA3 -U+4FC1 <> U+4FE3 -U+4FC2 <> U+7CFB -U+4FD4 <> U+4F23 -U+4FE0 <> U+4FA0 -U+4FE5 <> U+4F21 -U+5000 <> U+4F25 -U+5006 <> U+4FE9 -U+5008 <> U+4FEB -U+5009 <> U+4ED3 -U+500B <> U+4E2A -U+5011 <> U+4EEC -U+502B <> U+4F26 -U+5032 <> U+3448 -U+5049 <> U+4F1F -U+5051 <> U+343D -U+5074 <> U+4FA7 -U+5075 <> U+4FA6 -U+507D <> U+4F2A -U+5091 <> U+6770 -U+5096 <> U+4F27 -U+5098 <> U+4F1E -U+5099 <> U+5907 -U+50AD <> U+4F63 -U+50AF <> U+506C -U+50B3 <> U+4F20 -U+50B4 <> U+4F1B -U+50B5 <> U+503A -U+50B7 <> U+4F24 -U+50BE <> U+503E -U+50C2 <> U+507B -U+50C5 <> U+4EC5 -U+50C9 <> U+4F65 -U+50D1 <> U+4FA8 -U+50D5 <> U+4EC6 -U+50DE <> U+4F2A -U+50E5 <> U+4FA5 -U+50E8 <> U+507E -U+50F9 <> U+4EF7 -U+5100 <> U+4EEA -U+5102 <> U+4FAC -U+5104 <> U+4EBF -U+5108 <> U+4FA9 -U+5109 <> U+4FED -U+5110 <> U+50A7 -U+5114 <> U+4FE6 -U+5115 <> U+4FAA -U+5118 <> U+5C3D -U+511F <> U+507F -U+5123 <> U+201B2 -U+512A <> U+4F18 -U+5132 <> U+50A8 -U+5137 <> U+4FEA -U+5138 <> U+3469 -U+513A <> U+50A9 -U+513B <> U+50A5 -U+513C <> U+4FE8 -U+514C <> U+5151 -U+5152 <> U+513F -U+5157 <> U+5156 -U+5167 <> U+5185 -U+5169 <> U+4E24 -U+518A <> U+518C -U+51AA <> U+5E42 -U+51C8 <> U+51C0 -U+51CD <> U+51BB -U+51D9 <> U+2A79D -U+51DC <> U+51DB -U+51F1 <> U+51EF -U+5225 <> U+522B -U+522A <> U+5220 -U+5244 <> U+522D -U+5247 <> U+5219 -U+524B <> U+514B -U+524E <> U+5239 -U+5257 <> U+522C -U+525B <> U+521A -U+525D <> U+5265 -U+526E <> U+5250 -U+5274 <> U+5240 -U+5275 <> U+521B -U+527E <> U+206C5 -U+5283 <> U+5212 -U+5287 <> U+5267 -U+5289 <> U+5218 -U+528A <> U+523D -U+528C <> U+523F -U+528D <> U+5251 -U+528F <> U+34E5 -U+5291 <> U+5242 -U+529A <> U+3509 -U+52C1 <> U+52B2 -U+52D5 <> U+52A8 -U+52D9 <> U+52A1 -U+52DB <> U+52CB -U+52DD <> U+80DC -U+52DE <> U+52B3 -U+52E2 <> U+52BF -U+52E9 <> U+52DA -U+52F1 <> U+52A2 -U+52F5 <> U+52B1 -U+52F8 <> U+529D -U+52FB <> U+5300 -U+532D <> U+5326 -U+532F <> U+6C47 -U+5331 <> U+532E -U+5340 <> U+533A -U+5354 <> U+534F -U+537B <> U+5374 -U+5399 <> U+538D -U+53AD <> U+538C -U+53B2 <> U+5389 -U+53B4 <> U+53A3 -U+53C3 <> U+53C2 -U+53C4 <> U+53C1 -U+53E2 <> U+4E1B -U+53F0 <> U+53F0 -U+540C <> U+540C -U+540E <> U+540E -U+5412 <> U+54A4 -U+5433 <> U+5434 -U+5436 <> U+5450 -U+5442 <> U+5415 -U+54BC <> U+5459 -U+54E1 <> U+5458 -U+54EF <> U+20BDF -U+5504 <> U+5457 -U+551A <> U+5423 -U+554F <> U+95EE -U+555E <> U+54D1 -U+555F <> U+542F -U+5562 <> U+5521 -U+558E <> U+359E -U+559A <> U+5524 -U+55AA <> U+4E27 -U+55AC <> U+4E54 -U+55AE <> U+5355 -U+55B2 <> U+54DF -U+55C6 <> U+545B -U+55C7 <> U+556C -U+55CA <> U+551D -U+55CE <> U+5417 -U+55DA <> U+545C -U+55E9 <> U+5522 -U+55F6 <> U+54D4 -U+55F9 <> U+2A84F -U+5606 <> U+53F9 -U+560D <> U+55BD -U+5613 <> U+556F -U+5614 <> U+5455 -U+5616 <> U+5567 -U+5617 <> U+5C1D -U+561C <> U+551B -U+5629 <> U+54D7 -U+562E <> U+5520 -U+562F <> U+5578 -U+5630 <> U+53FD -U+5635 <> U+54D3 -U+5638 <> U+5452 -U+563D <> U+5574 -U+5645 <> U+20BE0 -U+5653 <> U+5618 -U+565A <> U+358A -U+565D <> U+549D -U+5660 <> U+54D2 -U+5665 <> U+54DD -U+5666 <> U+54D5 -U+566F <> U+55F3 -U+5672 <> U+54D9 -U+5674 <> U+55B7 -U+5678 <> U+5428 -U+5679 <> U+5F53 -U+5680 <> U+549B -U+5687 <> U+5413 -U+568C <> U+54DC -U+5695 <> U+565C -U+5699 <> U+556E -U+56A6 <> U+5456 -U+56A8 <> U+5499 -U+56B2 <> U+4EB8 -U+56B3 <> U+55BE -U+56B4 <> U+4E25 -U+56B6 <> U+5624 -U+56C0 <> U+556D -U+56C1 <> U+55EB -U+56C2 <> U+56A3 -U+56C5 <> U+5181 -U+56C8 <> U+5453 -U+56C9 <> U+5570 -U+56D1 <> U+5631 -U+56EA <> U+56F1 -U+5707 <> U+56F5 -U+570B <> U+56FD -U+570D <> U+56F4 -U+5712 <> U+56ED -U+5713 <> U+5706 -U+5716 <> U+56FE -U+5718 <> U+56E2 -U+571E <> U+2A8AE -U+57B5 <> U+57EF -U+57E1 <> U+57AD -U+57F0 <> U+91C7 -U+57F7 <> U+6267 -U+5805 <> U+575A -U+580A <> U+57A9 -U+5816 <> U+57B4 -U+581D <> U+57DA -U+582F <> U+5C27 -U+5831 <> U+62A5 -U+5834 <> U+573A -U+584A <> U+5757 -U+584B <> U+8314 -U+584F <> U+57B2 -U+5852 <> U+57D8 -U+5857 <> U+6D82 -U+5862 <> U+575E -U+5864 <> U+57D9 -U+5875 <> U+5C18 -U+5879 <> U+5811 -U+588A <> U+57AB -U+589C <> U+5760 -U+58AE <> U+5815 -U+58B3 <> U+575F -U+58BE <> U+57A6 -U+58C7 <> U+575B -U+58C8 <> U+21484 -U+58CB <> U+57B1 -U+58D3 <> U+538B -U+58D8 <> U+5792 -U+58D9 <> U+5739 -U+58DA <> U+5786 -U+58DE <> U+574F -U+58DF <> U+5784 -U+58E0 <> U+5785 -U+58E2 <> U+575C -U+58E9 <> U+575D -U+58EF <> U+58EE -U+58FA <> U+58F6 -U+58FC <> U+58F8 -U+58FD <> U+5BFF -U+5920 <> U+591F -U+5922 <> U+68A6 -U+593E <> U+5939 -U+5950 <> U+5942 -U+5967 <> U+5965 -U+5969 <> U+5941 -U+596A <> U+593A -U+596E <> U+594B -U+597C <> U+59F9 -U+599D <> U+5986 -U+59CD <> U+59D7 -U+59E6 <> U+5978 -U+5A1B <> U+5A31 -U+5A41 <> U+5A04 -U+5A66 <> U+5987 -U+5A6D <> U+5A05 -U+5AA7 <> U+5A32 -U+5AAF <> U+59AB -U+5AB0 <> U+36C0 -U+5ABC <> U+5AAA -U+5ABD <> U+5988 -U+5AD7 <> U+59AA -U+5AF5 <> U+59A9 -U+5AFB <> U+5A34 -U+5AFF <> U+5A73 -U+5B03 <> U+5AAD -U+5B08 <> U+5A06 -U+5B0B <> U+5A75 -U+5B0C <> U+5A07 -U+5B19 <> U+5AF1 -U+5B21 <> U+5AD2 -U+5B24 <> U+5B37 -U+5B2A <> U+5AD4 -U+5B30 <> U+5A74 -U+5B38 <> U+5A76 -U+5B4B <> U+36E4 -U+5B4C <> U+5A08 -U+5B6B <> U+5B59 -U+5B78 <> U+5B66 -U+5B7F <> U+5B6A -U+5BAE <> U+5BAB -U+5BE2 <> U+5BDD -U+5BE6 <> U+5B9E -U+5BE7 <> U+5B81 -U+5BE9 <> U+5BA1 -U+5BEB <> U+5199 -U+5BEC <> U+5BBD -U+5BF5 <> U+5BA0 -U+5BF6 <> U+5B9D -U+5C07 <> U+5C06 -U+5C08 <> U+4E13 -U+5C0B <> U+5BFB -U+5C0D <> U+5BF9 -U+5C0E <> U+5BFC -U+5C37 <> U+5C34 -U+5C46 <> U+5C4A -U+5C4D <> U+5C38 -U+5C53 <> U+5C43 -U+5C5C <> U+5C49 -U+5C62 <> U+5C61 -U+5C64 <> U+5C42 -U+5C68 <> U+5C66 -U+5C69 <> U+2AA17 -U+5C6C <> U+5C5E -U+5CA1 <> U+5188 -U+5CF4 <> U+5C98 -U+5CF6 <> U+5C9B -U+5CFD <> U+5CE1 -U+5D0D <> U+5D03 -U+5D17 <> U+5C97 -U+5D22 <> U+5CE5 -U+5D2C <> U+5CBD -U+5D50 <> U+5C9A -U+5D7C <> U+21DB4 -U+5D81 <> U+5D5D -U+5D84 <> U+5D2D -U+5D87 <> U+5C96 -U+5D94 <> U+5D5A -U+5D97 <> U+5D02 -U+5DA0 <> U+5CE4 -U+5DA2 <> U+5CE3 -U+5DA7 <> U+5CC4 -U+5DAE <> U+5D04 -U+5DB4 <> U+5C99 -U+5DB8 <> U+5D58 -U+5DBA <> U+5CAD -U+5DBC <> U+5C7F -U+5DCB <> U+5CBF -U+5DD2 <> U+5CE6 -U+5DD4 <> U+5DC5 -U+5DF0 <> U+5DEF -U+5E25 <> U+5E05 -U+5E2B <> U+5E08 -U+5E33 <> U+5E10 -U+5E36 <> U+5E26 -U+5E40 <> U+5E27 -U+5E43 <> U+5E0F -U+5E57 <> U+5E3C -U+5E58 <> U+5E3B -U+5E5F <> U+5E1C -U+5E63 <> U+5E01 -U+5E6B <> U+5E2E -U+5E6C <> U+5E31 -U+5E79 <> U+5E72 -U+5E7A <> U+4E48 -U+5E7E <> U+51E0 -U+5EAB <> U+5E93 -U+5EC1 <> U+5395 -U+5EC2 <> U+53A2 -U+5EC4 <> U+53A9 -U+5EC8 <> U+53A6 -U+5EDA <> U+53A8 -U+5EDD <> U+53AE -U+5EDF <> U+5E99 -U+5EE0 <> U+5382 -U+5EE1 <> U+5E91 -U+5EE2 <> U+5E9F -U+5EE3 <> U+5E7F -U+5EE9 <> U+5EEA -U+5EEC <> U+5E90 -U+5EF3 <> U+5385 -U+5F12 <> U+5F11 -U+5F33 <> U+5F2A -U+5F35 <> U+5F20 -U+5F37 <> U+5F3A -U+5F48 <> U+5F39 -U+5F4C <> U+5F25 -U+5F4E <> U+5F2F -U+5F59 <> U+6C47 -U+5F5E <> U+5F5D -U+5F60 <> U+5F5F -U+5F65 <> U+5F66 -U+5F72 <> U+5F68 -U+5F81 <> U+5F81 -U+5F8C <> U+540E -U+5F91 <> U+5F84 -U+5F9E <> U+4ECE -U+5FA0 <> U+5F95 -U+5FA9 <> U+590D -U+5FB5 <> U+5F81 -U+5FB9 <> U+5F7B -U+5FD7 <> U+5FD7 -U+6046 <> U+6052 -U+6065 <> U+803B -U+6085 <> U+60A6 -U+609E <> U+60AE -U+60B5 <> U+6005 -U+60B6 <> U+95F7 -U+60E1 <> U+6076 -U+60F1 <> U+607C -U+60F2 <> U+607D -U+60FB <> U+607B -U+611B <> U+7231 -U+611C <> U+60EC -U+6128 <> U+60AB -U+6134 <> U+6006 -U+6137 <> U+607A -U+613E <> U+5FFE -U+613F <> U+613F -U+6144 <> U+6817 -U+614B <> U+6001 -U+614D <> U+6120 -U+6158 <> U+60E8 -U+615A <> U+60ED -U+615F <> U+6078 -U+6163 <> U+60EF -U+616A <> U+6004 -U+616B <> U+6002 -U+616E <> U+8651 -U+6173 <> U+60AD -U+6176 <> U+5E86 -U+6182 <> U+5FE7 -U+618A <> U+60EB -U+6190 <> U+601C -U+6191 <> U+51ED -U+6192 <> U+6126 -U+619A <> U+60EE -U+61A4 <> U+6124 -U+61AB <> U+60AF -U+61AE <> U+6003 -U+61B2 <> U+5BAA -U+61B6 <> U+5FC6 -U+61C0 <> U+22653 -U+61C7 <> U+6073 -U+61C9 <> U+5E94 -U+61CC <> U+603F -U+61CD <> U+61D4 -U+61DF <> U+603C -U+61E3 <> U+61D1 -U+61E8 <> U+6079 -U+61F2 <> U+60E9 -U+61F6 <> U+61D2 -U+61F7 <> U+6000 -U+61F8 <> U+60AC -U+61FA <> U+5FCF -U+61FC <> U+60E7 -U+61FE <> U+6151 -U+6200 <> U+604B -U+6207 <> U+6206 -U+6214 <> U+620B -U+6227 <> U+6217 -U+6229 <> U+622C -U+6230 <> U+6218 -U+6231 <> U+622F -U+6232 <> U+620F -U+6236 <> U+6237 -U+62CB <> U+629B -U+6329 <> U+635D -U+633E <> U+631F -U+6368 <> U+820D -U+636B <> U+626A -U+6383 <> U+626B -U+6384 <> U+62A1 -U+6386 <> U+39CF -U+6397 <> U+631C -U+6399 <> U+6323 -U+639B <> U+6302 -U+63A1 <> U+91C7 -U+63C0 <> U+62E3 -U+63DA <> U+626C -U+63DB <> U+6362 -U+63EE <> U+6325 -U+640D <> U+635F -U+6416 <> U+6447 -U+6417 <> U+6363 -U+6435 <> U+63FE -U+6436 <> U+62A2 -U+644B <> U+22AEC -U+6451 <> U+63B4 -U+645C <> U+63BC -U+645F <> U+6402 -U+646F <> U+631A -U+6473 <> U+62A0 -U+6476 <> U+629F -U+647B <> U+63BA -U+6488 <> U+635E -U+648F <> U+6326 -U+6490 <> U+6491 -U+6493 <> U+6320 -U+649D <> U+39D1 -U+649F <> U+6322 -U+64A3 <> U+63B8 -U+64A5 <> U+62E8 -U+64AB <> U+629A -U+64B2 <> U+6251 -U+64B3 <> U+63FF -U+64BB <> U+631E -U+64BE <> U+631D -U+64BF <> U+6361 -U+64C1 <> U+62E5 -U+64C4 <> U+63B3 -U+64C7 <> U+62E9 -U+64CA <> U+51FB -U+64CB <> U+6321 -U+64D3 <> U+39DF -U+64D4 <> U+62C5 -U+64DA <> U+636E -U+64E0 <> U+6324 -U+64E3 <> U+22B4F -U+64EC <> U+62DF -U+64EF <> U+6448 -U+64F0 <> U+62E7 -U+64F1 <> U+6401 -U+64F2 <> U+63B7 -U+64F4 <> U+6269 -U+64F7 <> U+64B7 -U+64FA <> U+6446 -U+64FB <> U+64DE -U+64FC <> U+64B8 -U+64FD <> U+39F0 -U+64FE <> U+6270 -U+6504 <> U+6445 -U+6506 <> U+64B5 -U+650F <> U+62E2 -U+6514 <> U+62E6 -U+6516 <> U+6484 -U+6519 <> U+6400 -U+651B <> U+64BA -U+651C <> U+643A -U+651D <> U+6444 -U+6522 <> U+6512 -U+6523 <> U+631B -U+6524 <> U+644A -U+652A <> U+6405 -U+652C <> U+63FD -U+6557 <> U+8D25 -U+6558 <> U+53D9 -U+6575 <> U+654C -U+6578 <> U+6570 -U+6582 <> U+655B -U+6583 <> U+6BD9 -U+6585 <> U+22F7E -U+6586 <> U+6569 -U+6595 <> U+6593 -U+65AC <> U+65A9 -U+65B7 <> U+65AD -U+65BC <> U+4E8E -U+6642 <> U+65F6 -U+6649 <> U+664B -U+665D <> U+663C -U+6688 <> U+6655 -U+6689 <> U+6656 -U+6698 <> U+65F8 -U+66A2 <> U+7545 -U+66AB <> U+6682 -U+66C4 <> U+6654 -U+66C6 <> U+5386 -U+66C7 <> U+6619 -U+66C9 <> U+6653 -U+66CF <> U+5411 -U+66D6 <> U+66A7 -U+66E0 <> U+65F7 -U+66E5 <> U+23190 -U+66E8 <> U+663D -U+66EC <> U+6652 -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+6781 <> U+6781 -U+67F5 <> U+6805 -U+687F <> U+6746 -U+6894 <> U+6800 -U+6898 <> U+67A7 -U+689D <> U+6761 -U+689F <> U+67AD -U+68B2 <> U+68C1 -U+68C4 <> U+5F03 -U+68D6 <> U+67A8 -U+68D7 <> U+67A3 -U+68DF <> U+680B -U+68E1 <> U+3B4E -U+68E7 <> U+6808 -U+68F2 <> U+6816 -U+68F6 <> U+68BE -U+690F <> U+6860 -U+6932 <> U+3B4F -U+694A <> U+6768 -U+6953 <> U+67AB -U+6968 <> U+6862 -U+696D <> U+4E1A -U+6975 <> U+6781 -U+69AA <> U+6769 -U+69AE <> U+8363 -U+69B2 <> U+6985 -U+69BF <> U+6864 -U+69CB <> U+6784 -U+69CD <> U+67AA -U+69E4 <> U+68BF -U+69E7 <> U+6920 -U+69E8 <> U+6901 -U+69F3 <> U+6868 -U+69F6 <> U+6922 -U+69FC <> U+691D -U+6A01 <> U+6869 -U+6A02 <> U+4E50 -U+6A05 <> U+679E -U+6A13 <> U+697C -U+6A19 <> U+6807 -U+6A1E <> U+67A2 -U+6A22 <> U+3B64 -U+6A23 <> U+6837 -U+6A2B <> U+3B74 -U+6A33 <> U+686A -U+6A38 <> U+6734 -U+6A39 <> U+6811 -U+6A3A <> U+6866 -U+6A3F <> U+692B -U+6A48 <> U+6861 -U+6A4B <> U+6865 -U+6A5F <> U+673A -U+6A62 <> U+692D -U+6A6B <> U+6A2A -U+6A81 <> U+6AA9 -U+6A89 <> U+67FD -U+6A94 <> U+6863 -U+6A9C <> U+6867 -U+6A9F <> U+69DA -U+6AA2 <> U+68C0 -U+6AA3 <> U+6A2F -U+6AAD <> U+23634 -U+6AAE <> U+68BC -U+6AAF <> U+53F0 -U+6AB3 <> U+69DF -U+6AB8 <> U+67E0 -U+6ABB <> U+69DB -U+6AC3 <> U+67DC -U+6AD3 <> U+6A79 -U+6ADA <> U+6988 -U+6ADB <> U+6809 -U+6ADD <> U+691F -U+6ADE <> U+6A7C -U+6ADF <> U+680E -U+6AE5 <> U+6A71 -U+6AE7 <> U+69E0 -U+6AE8 <> U+680C -U+6AEA <> U+67A5 -U+6AEB <> U+6A65 -U+6AEC <> U+6987 -U+6AF1 <> U+8616 -U+6AF3 <> U+680A -U+6AF8 <> U+6989 -U+6AFB <> U+6A31 -U+6B04 <> U+680F -U+6B0A <> U+6743 -U+6B0D <> U+23424 -U+6B0F <> U+6924 -U+6B12 <> U+683E -U+6B13 <> U+235CB -U+6B16 <> U+6984 -U+6B1E <> U+68C2 -U+6B3D <> U+94A6 -U+6B50 <> U+6B27 -U+6B5F <> U+6B24 -U+6B61 <> U+6B22 -U+6B72 <> U+5C81 -U+6B77 <> U+5386 -U+6B78 <> U+5F52 -U+6B7F <> U+6B81 -U+6B98 <> U+6B8B -U+6B9E <> U+6B92 -U+6BA4 <> U+6B87 -U+6BA8 <> U+3C6E -U+6BAB <> U+6B9A -U+6BAE <> U+6B93 -U+6BAF <> U+6BA1 -U+6BB0 <> U+3C69 -U+6BB2 <> U+6B7C -U+6BBA <> U+6740 -U+6BBC <> U+58F3 -U+6BC0 <> U+6BC1 -U+6BC6 <> U+6BB4 -U+6BFF <> U+6BF5 -U+6C02 <> U+7266 -U+6C08 <> U+6BE1 -U+6C0C <> U+6C07 -U+6C23 <> U+6C14 -U+6C2B <> U+6C22 -U+6C2C <> U+6C29 -U+6C33 <> U+6C32 -U+6C7A <> U+51B3 -U+6C92 <> U+6CA1 -U+6C96 <> U+51B2 -U+6CC1 <> U+51B5 -U+6D36 <> U+6C79 -U+6D79 <> U+6D43 -U+6D87 <> U+6CFE -U+6DBC <> U+51C9 -U+6DDA <> U+6CEA -U+6DE5 <> U+6E0C -U+6DEA <> U+6CA6 -U+6DF5 <> U+6E0A -U+6DF6 <> U+6D9E -U+6DFA <> U+6D45 -U+6E19 <> U+6DA3 -U+6E1B <> U+51CF -U+6E22 <> U+6CA8 -U+6E26 <> U+6DA1 -U+6E2C <> U+6D4B -U+6E3E <> U+6D51 -U+6E4A <> U+51D1 -U+6E5E <> U+6D48 -U+6E6F <> U+6C64 -U+6E88 <> U+6CA9 -U+6E96 <> U+51C6 -U+6E9D <> U+6C9F -U+6EAB <> U+6E29 -U+6EB3 <> U+6DA2 -U+6EC4 <> U+6CA7 -U+6EC5 <> U+706D -U+6ECC <> U+6DA4 -U+6ECE <> U+8365 -U+6EEC <> U+6CAA -U+6EEF <> U+6EDE -U+6EF2 <> U+6E17 -U+6EF8 <> U+6D52 -U+6EFB <> U+6D50 -U+6EFE <> U+6EDA -U+6EFF <> U+6EE1 -U+6F01 <> U+6E14 -U+6F0A <> U+6E87 -U+6F1A <> U+6CA4 -U+6F22 <> U+6C49 -U+6F23 <> U+6D9F -U+6F2C <> U+6E0D -U+6F32 <> U+6DA8 -U+6F35 <> U+6E86 -U+6F38 <> U+6E10 -U+6F3F <> U+6D46 -U+6F41 <> U+988D -U+6F51 <> U+6CFC -U+6F54 <> U+6D01 -U+6F5B <> U+6F5C -U+6F64 <> U+6DA6 -U+6F6F <> U+6D54 -U+6F70 <> U+6E83 -U+6F77 <> U+6ED7 -U+6F7F <> U+6DA0 -U+6F80 <> U+6DA9 -U+6F85 <> U+23DA9 -U+6F86 <> U+6D47 -U+6F87 <> U+6D9D -U+6F97 <> U+6DA7 -U+6FA0 <> U+6E11 -U+6FA4 <> U+6CFD -U+6FA6 <> U+6EEA -U+6FA9 <> U+6CF6 -U+6FAE <> U+6D4D -U+6FB1 <> U+6DC0 -U+6FBE <> U+3CE0 -U+6FC1 <> U+6D4A -U+6FC3 <> U+6D53 -U+6FC4 <> U+3CE1 -U+6FC6 <> U+23E23 -U+6FD5 <> U+6E7F -U+6FD8 <> U+6CDE -U+6FDC <> U+6D55 -U+6FDF <> U+6D4E -U+6FE4 <> U+6D9B -U+6FE7 <> U+3CD4 -U+6FEB <> U+6EE5 -U+6FF0 <> U+6F4D -U+6FF1 <> U+6EE8 -U+6FFA <> U+6E85 -U+6FFC <> U+6CFA -U+6FFE <> U+6EE4 -U+7002 <> U+6F9B -U+7003 <> U+23F77 -U+7005 <> U+6EE2 -U+7006 <> U+6E0E -U+7007 <> U+3CBF -U+7009 <> U+6CFB -U+700B <> U+6C88 -U+700F <> U+6D4F -U+7015 <> U+6FD2 -U+7018 <> U+6CF8 -U+701D <> U+6CA5 -U+701F <> U+6F47 -U+7020 <> U+6F46 -U+7026 <> U+6F74 -U+7027 <> U+6CF7 -U+7028 <> U+6FD1 -U+7030 <> U+3CFD -U+7032 <> U+6F4B -U+703E <> U+6F9C -U+7043 <> U+6CA3 -U+7044 <> U+6EE0 -U+7051 <> U+6D12 -U+7055 <> U+6F13 -U+7058 <> U+6EE9 -U+7059 <> U+23EBC -U+705D <> U+704F -U+7060 <> U+6F24 -U+7061 <> U+3CD5 -U+7063 <> U+6E7E -U+7064 <> U+6EE6 -U+7067 <> U+6EDF -U+707D <> U+707E -U+70BA <> U+4E3A -U+70CF <> U+4E4C -U+70F4 <> U+70C3 -U+7121 <> U+65E0 -U+7149 <> U+70BC -U+7152 <> U+709C -U+7159 <> U+70DF -U+7162 <> U+8315 -U+7165 <> U+7115 -U+7169 <> U+70E6 -U+716C <> U+7080 -U+7171 <> U+3DBD -U+7185 <> U+7174 -U+7189 <> U+24236 -U+718C <> U+241C4 -U+7192 <> U+8367 -U+7193 <> U+241A1 -U+7197 <> U+709D -U+71A1 <> U+242CF -U+71B1 <> U+70ED -U+71B2 <> U+988E -U+71BE <> U+70BD -U+71C1 <> U+70E8 -U+71C8 <> U+706F -U+71D2 <> U+70E7 -U+71D9 <> U+70EB -U+71DC <> U+7116 -U+71DF <> U+8425 -U+71E6 <> U+707F -U+71ED <> U+70DB -U+71F4 <> U+70E9 -U+71F6 <> U+3DB6 -U+71FC <> U+70EC -U+71FE <> U+7118 -U+7204 <> U+241C3 -U+720D <> U+70C1 -U+7210 <> U+7089 -U+721B <> U+70C2 -U+722D <> U+4E89 -U+723A <> U+7237 -U+723E <> U+5C14 -U+7246 <> U+5899 -U+7258 <> U+724D -U+727D <> U+7275 -U+7296 <> U+8366 -U+72A2 <> U+728A -U+72A7 <> U+727A -U+72C0 <> U+72B6 -U+72F9 <> U+72ED -U+72FD <> U+72C8 -U+7319 <> U+72F0 -U+7336 <> U+72B9 -U+733B <> U+72F2 -U+7341 <> U+72B8 -U+7344 <> U+72F1 -U+7345 <> U+72EE -U+734E <> U+5956 -U+7368 <> U+72EC -U+736A <> U+72EF -U+736B <> U+7303 -U+736E <> U+72DD -U+7370 <> U+72DE -U+7371 <> U+3E8D -U+7372 <> U+83B7 -U+7375 <> U+730E -U+7377 <> U+72B7 -U+7378 <> U+517D -U+737A <> U+736D -U+737B <> U+732E -U+737C <> U+7315 -U+7380 <> U+7321 -U+7381 <> U+247A4 -U+73FE <> U+73B0 -U+743A <> U+73D0 -U+743F <> U+73F2 -U+744B <> U+73AE -U+7452 <> U+739A -U+7463 <> U+7410 -U+7464 <> U+7476 -U+7469 <> U+83B9 -U+746A <> U+739B -U+7472 <> U+73B1 -U+747D <> U+2AED0 -U+7489 <> U+740F -U+74A3 <> U+7391 -U+74A6 <> U+7477 -U+74AB <> U+73F0 -U+74AF <> U+3EC5 -U+74B0 <> U+73AF -U+74BD <> U+73BA -U+74CA <> U+743C -U+74CF <> U+73D1 -U+74D4 <> U+748E -U+74D5 <> U+24980 -U+74DA <> U+74D2 -U+750C <> U+74EF -U+7522 <> U+4EA7 -U+755D <> U+4EA9 -U+7562 <> U+6BD5 -U+756B <> U+753B -U+7570 <> U+5F02 -U+7576 <> U+5F53 -U+7587 <> U+7574 -U+758A <> U+53E0 -U+75D9 <> U+75C9 -U+75FE <> U+75B4 -U+7602 <> U+75D6 -U+760B <> U+75AF -U+760D <> U+75A1 -U+7613 <> U+75EA -U+761E <> U+7617 -U+7621 <> U+75AE -U+7627 <> U+759F -U+762E <> U+7606 -U+7632 <> U+75AD -U+763A <> U+7618 -U+7642 <> U+7597 -U+7646 <> U+75E8 -U+7647 <> U+75EB -U+7649 <> U+7605 -U+7658 <> U+75A0 -U+765F <> U+762A -U+7662 <> U+75D2 -U+7664 <> U+7596 -U+7665 <> U+75C7 -U+7667 <> U+75AC -U+7669 <> U+765E -U+766C <> U+7663 -U+766D <> U+763F -U+766E <> U+763E -U+7670 <> U+75C8 -U+7671 <> U+762B -U+7672 <> U+766B -U+767C <> U+53D1 -U+769A <> U+7691 -U+769F <> U+24F80 -U+76B0 <> U+75B1 -U+76B8 <> U+76B2 -U+76BA <> U+76B1 -U+76DC <> U+76D7 -U+76DE <> U+76CF -U+76E1 <> U+5C3D -U+76E3 <> U+76D1 -U+76E4 <> U+76D8 -U+76E7 <> U+5362 -U+76EA <> U+8361 -U+7725 <> U+7726 -U+773E <> U+4F17 -U+774D <> U+2AFA2 -U+774F <> U+56F0 -U+775C <> U+7741 -U+775E <> U+7750 -U+7798 <> U+770D -U+779C <> U+4056 -U+779E <> U+7792 -U+77A4 <> U+251A7 -U+77B6 <> U+7786 -U+77BC <> U+7751 -U+77D3 <> U+772C -U+77DA <> U+77A9 -U+77EF <> U+77EB -U+785C <> U+7841 -U+7864 <> U+7856 -U+7868 <> U+7817 -U+786F <> U+781A -U+7899 <> U+2543B -U+78A9 <> U+7855 -U+78AD <> U+7800 -U+78B8 <> U+781C -U+78BA <> U+786E -U+78BC <> U+7801 -U+78BD <> U+40B5 -U+78D1 <> U+7859 -U+78DA <> U+7816 -U+78E0 <> U+7875 -U+78E3 <> U+789C -U+78E7 <> U+789B -U+78EF <> U+77F6 -U+78FD <> U+7857 -U+7904 <> U+785A -U+7906 <> U+7877 -U+790E <> U+7840 -U+7912 <> U+2541F -U+7919 <> U+788D -U+7926 <> U+77FF -U+792A <> U+783A -U+792B <> U+783E -U+792C <> U+77FE -U+7931 <> U+783B -U+797F <> U+7984 -U+798D <> U+7978 -U+798E <> U+796F -U+7995 <> U+794E -U+79A1 <> U+7943 -U+79A6 <> U+5FA1 -U+79AA <> U+7985 -U+79AE <> U+793C -U+79B0 <> U+7962 -U+79B1 <> U+7977 -U+79BF <> U+79C3 -U+79C8 <> U+7C7C -U+7A05 <> U+7A0E -U+7A08 <> U+79C6 -U+7A0F <> U+4149 -U+7A1F <> U+7980 -U+7A2E <> U+79CD -U+7A31 <> U+79F0 -U+7A40 <> U+8C37 -U+7A4C <> U+7A23 -U+7A4D <> U+79EF -U+7A4E <> U+9896 -U+7A60 <> U+79FE -U+7A61 <> U+7A51 -U+7A62 <> U+79FD -U+7A68 <> U+2C4FC -U+7A69 <> U+7A33 -U+7A6B <> U+83B7 -U+7A6D <> U+7A06 -U+7AA9 <> U+7A9D -U+7AAA <> U+6D3C -U+7AAE <> U+7A77 -U+7AAF <> U+7A91 -U+7AB5 <> U+7A8E -U+7AB6 <> U+7AAD -U+7ABA <> U+7AA5 -U+7AC4 <> U+7A9C -U+7AC5 <> U+7A8D -U+7AC7 <> U+7AA6 -U+7ACA <> U+7A83 -U+7AF6 <> U+7ADE -U+7B46 <> U+7B14 -U+7B4D <> U+7B0B -U+7B67 <> U+7B15 -U+7B74 <> U+41F2 -U+7B8B <> U+7B3A -U+7B8F <> U+7B5D -U+7BC0 <> U+8282 -U+7BC4 <> U+8303 -U+7BC9 <> U+7B51 -U+7BCB <> U+7BA7 -U+7BD4 <> U+7B7C -U+7BD8 <> U+25B20 -U+7BE4 <> U+7B03 -U+7BE9 <> U+7B5B -U+7BF3 <> U+7B5A -U+7C00 <> U+7BA6 -U+7C0D <> U+7BD3 -U+7C1E <> U+7BAA -U+7C21 <> U+7B80 -U+7C23 <> U+7BD1 -U+7C2B <> U+7BAB -U+7C39 <> U+7B5C -U+7C3D <> U+7B7E -U+7C3E <> U+5E18 -U+7C43 <> U+7BEE -U+7C4B <> U+25B1E -U+7C4C <> U+7B79 -U+7C54 <> U+4264 -U+7C59 <> U+7B93 -U+7C5B <> U+7BEF -U+7C5C <> U+7BA8 -U+7C5F <> U+7C41 -U+7C60 <> U+7B3C -U+7C69 <> U+7B3E -U+7C6A <> U+7C16 -U+7C6C <> U+7BF1 -U+7C6E <> U+7BA9 -U+7CB5 <> U+7CA4 -U+7CDD <> U+7CC1 -U+7CDE <> U+7CAA -U+7CE7 <> U+7CAE -U+7CF2 <> U+7C9D -U+7CF4 <> U+7C74 -U+7CF6 <> U+7C9C -U+7CF9 <> U+7E9F -U+7CFE <> U+7EA0 -U+7D00 <> U+7EAA -U+7D02 <> U+7EA3 -U+7D04 <> U+7EA6 -U+7D05 <> U+7EA2 -U+7D06 <> U+7EA1 -U+7D07 <> U+7EA5 -U+7D08 <> U+7EA8 -U+7D09 <> U+7EAB -U+7D0B <> U+7EB9 -U+7D0D <> U+7EB3 -U+7D10 <> U+7EBD -U+7D13 <> U+7EBE -U+7D14 <> U+7EAF -U+7D15 <> U+7EB0 -U+7D16 <> U+7EBC -U+7D17 <> U+7EB1 -U+7D18 <> U+7EAE -U+7D19 <> U+7EB8 -U+7D1A <> U+7EA7 -U+7D1B <> U+7EB7 -U+7D1C <> U+7EAD -U+7D1D <> U+7EB4 -U+7D21 <> U+7EBA -U+7D2C <> U+4337 -U+7D30 <> U+7EC6 -U+7D31 <> U+7EC2 -U+7D32 <> U+7EC1 -U+7D33 <> U+7EC5 -U+7D35 <> U+7EBB -U+7D39 <> U+7ECD -U+7D3A <> U+7EC0 -U+7D3C <> U+7ECB -U+7D3F <> U+7ED0 -U+7D40 <> U+7ECC -U+7D42 <> U+7EC8 -U+7D44 <> U+7EC4 -U+7D45 <> U+4339 -U+7D46 <> U+7ECA -U+7D4E <> U+7ED7 -U+7D50 <> U+7ED3 -U+7D55 <> U+7EDD -U+7D5B <> U+7EE6 -U+7D5D <> U+7ED4 -U+7D5E <> U+7EDE -U+7D61 <> U+7EDC -U+7D62 <> U+7EDA -U+7D66 <> U+7ED9 -U+7D68 <> U+7ED2 -U+7D70 <> U+7ED6 -U+7D71 <> U+7EDF -U+7D72 <> U+4E1D -U+7D73 <> U+7EDB -U+7D79 <> U+7EE2 -U+7D7A <> U+2B128 -U+7D80 <> U+2620C -U+7D81 <> U+7ED1 -U+7D83 <> U+7EE1 -U+7D86 <> U+7EE0 -U+7D87 <> U+2620B -U+7D88 <> U+7EE8 -U+7D8C <> U+7EE4 -U+7D8F <> U+7EE5 -U+7D90 <> U+433C -U+7D93 <> U+7ECF -U+7D9C <> U+7EFC -U+7D9D <> U+2C62D -U+7D9E <> U+7F0D -U+7DA0 <> U+7EFF -U+7DA2 <> U+7EF8 -U+7DA3 <> U+7EFB -U+7DAC <> U+7EF6 -U+7DAD <> U+7EF4 -U+7DAF <> U+7EF9 -U+7DB0 <> U+7EFE -U+7DB1 <> U+7EB2 -U+7DB2 <> U+7F51 -U+7DB4 <> U+7F00 -U+7DB5 <> U+433D -U+7DB8 <> U+7EB6 -U+7DB9 <> U+7EFA -U+7DBA <> U+7EEE -U+7DBB <> U+7EFD -U+7DBD <> U+7EF0 -U+7DBE <> U+7EEB -U+7DBF <> U+7EF5 -U+7DC4 <> U+7EF2 -U+7DC7 <> U+7F01 -U+7DCA <> U+7D27 -U+7DCB <> U+7EEF -U+7DCD <> U+2620F -U+7DD2 <> U+7EEA -U+7DD3 <> U+7EEC -U+7DD7 <> U+7F03 -U+7DD8 <> U+7F04 -U+7DD9 <> U+7F02 -U+7DDA <> U+7EBF -U+7DDD <> U+7F09 -U+7DDE <> U+7F0E -U+7DE0 <> U+7F14 -U+7DE1 <> U+7F17 -U+7DE3 <> U+7F18 -U+7DE6 <> U+7F0C -U+7DE8 <> U+7F16 -U+7DE9 <> U+7F13 -U+7DEC <> U+7F05 -U+7DEF <> U+7EAC -U+7DF0 <> U+26215 -U+7DF1 <> U+7F11 -U+7DF2 <> U+7F08 -U+7DF4 <> U+7EC3 -U+7DF6 <> U+7F0F -U+7DF7 <> U+26209 -U+7DF8 <> U+26211 -U+7DF9 <> U+7F07 -U+7DFB <> U+81F4 -U+7E08 <> U+8426 -U+7E09 <> U+7F19 -U+7E0A <> U+7F22 -U+7E0B <> U+7F12 -U+7E0E <> U+26214 -U+7E10 <> U+7EC9 -U+7E11 <> U+7F23 -U+7E15 <> U+7F0A -U+7E17 <> U+7F1E -U+7E1B <> U+7F1A -U+7E1D <> U+7F1C -U+7E1E <> U+7F1F -U+7E1F <> U+7F1B -U+7E23 <> U+53BF -U+7E2B <> U+7F1D -U+7E2C <> U+2621A -U+7E2D <> U+7F21 -U+7E2E <> U+7F29 -U+7E31 <> U+7EB5 -U+7E32 <> U+7F27 -U+7E33 <> U+4338 -U+7E35 <> U+7F26 -U+7E36 <> U+7D77 -U+7E37 <> U+7F15 -U+7E39 <> U+7F25 -U+7E3A <> U+26210 -U+7E3D <> U+603B -U+7E3E <> U+7EE9 -U+7E43 <> U+7EF7 -U+7E45 <> U+7F2B -U+7E46 <> U+7F2A -U+7E4F <> U+2621D -U+7E52 <> U+7F2F -U+7E53 <> U+2621B -U+7E54 <> U+7EC7 -U+7E55 <> U+7F2E -U+7E5A <> U+7F2D -U+7E5E <> U+7ED5 -U+7E5F <> U+2620E -U+7E61 <> U+7EE3 -U+7E62 <> U+7F0B -U+7E69 <> U+7EF3 -U+7E6A <> U+7ED8 -U+7E6B <> U+7CFB -U+7E6D <> U+8327 -U+7E6F <> U+7F33 -U+7E70 <> U+7F32 -U+7E73 <> U+7F34 -U+7E78 <> U+4341 -U+7E79 <> U+7ECE -U+7E7B <> U+26221 -U+7E7C <> U+7EE7 -U+7E7D <> U+7F24 -U+7E7E <> U+7F31 -U+7E7F <> U+4340 -U+7E81 <> U+2B138 -U+7E87 <> U+98A3 -U+7E88 <> U+7F2C -U+7E8A <> U+7EA9 -U+7E8C <> U+7EED -U+7E8D <> U+7D2F -U+7E8F <> U+7F20 -U+7E93 <> U+7F28 -U+7E96 <> U+7EA4 -U+7E98 <> U+7F35 -U+7E9C <> U+7F06 -U+7F3D <> U+94B5 -U+7F48 <> U+575B -U+7F4C <> U+7F42 -U+7F70 <> U+7F5A -U+7F75 <> U+9A82 -U+7F77 <> U+7F62 -U+7F85 <> U+7F57 -U+7F86 <> U+7F74 -U+7F88 <> U+7F81 -U+7F8B <> U+8288 -U+7FA5 <> U+7F9F -U+7FA9 <> U+4E49 -U+7FD2 <> U+4E60 -U+7FEC <> U+7FDA -U+7FF9 <> U+7FD8 -U+7FFD <> U+7FD9 -U+802C <> U+8027 -U+802E <> U+8022 -U+8056 <> U+5723 -U+805E <> U+95FB -U+806F <> U+8054 -U+8070 <> U+806A -U+8072 <> U+58F0 -U+8073 <> U+8038 -U+8075 <> U+8069 -U+8076 <> U+8042 -U+8077 <> U+804C -U+8079 <> U+804D -U+807D <> U+542C -U+807E <> U+804B -U+8085 <> U+8083 -U+8105 <> U+80C1 -U+8108 <> U+8109 -U+811B <> U+80EB -U+8125 <> U+23370 -U+812B <> U+8131 -U+8139 <> U+80C0 -U+814E <> U+80BE -U+8156 <> U+80E8 -U+8161 <> U+8136 -U+8166 <> U+8111 -U+816A <> U+2336F -U+816B <> U+80BF -U+8173 <> U+811A -U+8178 <> U+80A0 -U+8183 <> U+817D -U+8195 <> U+8158 -U+819A <> U+80A4 -U+81A0 <> U+80F6 -U+81A2 <> U+2677C -U+81A9 <> U+817B -U+81BD <> U+80C6 -U+81BE <> U+810D -U+81BF <> U+8113 -U+81C9 <> U+8138 -U+81CD <> U+8110 -U+81CF <> U+8191 -U+81D7 <> U+23391 -U+81D8 <> U+814A -U+81DA <> U+80EA -U+81DF <> U+810F -U+81E0 <> U+8114 -U+81E2 <> U+81DC -U+81E8 <> U+4E34 -U+81FA <> U+53F0 -U+8207 <> U+4E0E -U+8208 <> U+5174 -U+8209 <> U+4E3E -U+820A <> U+65E7 -U+8259 <> U+8231 -U+8264 <> U+8223 -U+8266 <> U+8230 -U+826B <> U+823B -U+8271 <> U+8270 -U+8277 <> U+8273 -U+82BB <> U+520D -U+82E7 <> U+82CE -U+8332 <> U+5179 -U+834A <> U+8346 -U+838A <> U+5E84 -U+8396 <> U+830E -U+83A2 <> U+835A -U+83A7 <> U+82CB -U+83EF <> U+534E -U+8407 <> U+82CC -U+840A <> U+83B1 -U+842C <> U+4E07 -U+8434 <> U+835D -U+8435 <> U+83B4 -U+8449 <> U+53F6 -U+8452 <> U+836D -U+8457 <> U+7740 -U+8464 <> U+836E -U+8466 <> U+82C7 -U+8477 <> U+8364 -U+8494 <> U+83B3 -U+849E <> U+8385 -U+84BC <> U+82CD -U+84C0 <> U+836A -U+84CB <> U+76D6 -U+84EE <> U+83B2 -U+84EF <> U+82C1 -U+84F4 <> U+83BC -U+84FD <> U+835C -U+851E <> U+848C -U+8523 <> U+848B -U+8525 <> U+8471 -U+8526 <> U+8311 -U+852D <> U+836B -U+8541 <> U+8368 -U+8546 <> U+8487 -U+854E <> U+835E -U+8552 <> U+836C -U+8553 <> U+82B8 -U+8555 <> U+83B8 -U+8558 <> U+835B -U+8562 <> U+8489 -U+8569 <> U+8361 -U+856A <> U+829C -U+856D <> U+8427 -U+8577 <> U+84E3 -U+8580 <> U+8570 -U+8588 <> U+835F -U+858A <> U+84DF -U+858C <> U+8297 -U+8594 <> U+8537 -U+8598 <> U+8359 -U+859F <> U+83B6 -U+85A6 <> U+8350 -U+85A9 <> U+8428 -U+85B3 <> U+44D5 -U+85B4 <> U+82E7 -U+85BA <> U+8360 -U+85CD <> U+84DD -U+85CE <> U+8369 -U+85DD <> U+827A -U+85E5 <> U+836F -U+85EA <> U+85AE -U+85F6 <> U+82C8 -U+85F9 <> U+853C -U+85FA <> U+853A -U+8604 <> U+8572 -U+8606 <> U+82A6 -U+8607 <> U+82CF -U+860A <> U+8574 -U+860B <> U+82F9 -U+861A <> U+85D3 -U+861E <> U+8539 -U+8622 <> U+830F -U+862D <> U+5170 -U+863A <> U+84E0 -U+863F <> U+841D -U+8646 <> U+8502 -U+8655 <> U+5904 -U+865B <> U+865A -U+865C <> U+864F -U+865F <> U+53F7 -U+8667 <> U+4E8F -U+866F <> U+866C -U+86FA <> U+86F1 -U+86FB <> U+8715 -U+8706 <> U+86AC -U+8721 <> U+8721 -U+8755 <> U+8680 -U+875F <> U+732C -U+8766 <> U+867E -U+8778 <> U+8717 -U+8784 <> U+86F3 -U+879E <> U+8682 -U+87A2 <> U+8424 -U+87AE <> U+45D6 -U+87BB <> U+877C -U+87BF <> U+8780 -U+87C4 <> U+86F0 -U+87C8 <> U+8748 -U+87CE <> U+87A8 -U+87E3 <> U+866E -U+87EC <> U+8749 -U+87EF <> U+86F2 -U+87F2 <> U+866B -U+87F6 <> U+86CF -U+87FB <> U+8681 -U+8801 <> U+8683 -U+8805 <> U+8747 -U+8806 <> U+867F -U+8810 <> U+86F4 -U+8811 <> U+877E -U+881F <> U+8721 -U+8823 <> U+86CE -U+8828 <> U+87CF -U+8831 <> U+86CA -U+8836 <> U+8695 -U+883B <> U+86EE -U+8853 <> U+672F -U+8855 <> U+540C -U+885A <> U+80E1 -U+885B <> U+536B -U+885D <> U+51B2 -U+889E <> U+886E -U+88CA <> U+8885 -U+88DC <> U+8865 -U+88DD <> U+88C5 -U+88E1 <> U+91CC -U+88FD <> U+5236 -U+8907 <> U+590D -U+890C <> U+88C8 -U+8918 <> U+8886 -U+8932 <> U+88E4 -U+8933 <> U+88E2 -U+8938 <> U+891B -U+893B <> U+4EB5 -U+8940 <> U+2B300 -U+8949 <> U+88E5 -U+894F <> U+88AF -U+8956 <> U+8884 -U+895D <> U+88E3 -U+8960 <> U+88C6 -U+8964 <> U+8934 -U+896A <> U+889C -U+896C <> U+4653 -U+896F <> U+886C -U+8972 <> U+88AD -U+8974 <> U+8955 -U+8986 <> U+590D -U+898B <> U+89C1 -U+898E <> U+89C3 -U+898F <> U+89C4 -U+8993 <> U+89C5 -U+8996 <> U+89C6 -U+8998 <> U+89C7 -U+89A1 <> U+89CB -U+89A5 <> U+89CD -U+89A6 <> U+89CE -U+89AA <> U+4EB2 -U+89AC <> U+89CA -U+89AF <> U+89CF -U+89B2 <> U+89D0 -U+89B7 <> U+89D1 -U+89BA <> U+89C9 -U+89BC <> U+2B328 -U+89BD <> U+89C8 -U+89BF <> U+89CC -U+89C0 <> U+89C2 -U+89F4 <> U+89DE -U+89F6 <> U+89EF -U+89F8 <> U+89E6 -U+8A01 <> U+8BA0 -U+8A02 <> U+8BA2 -U+8A03 <> U+8BA3 -U+8A08 <> U+8BA1 -U+8A0A <> U+8BAF -U+8A0C <> U+8BA7 -U+8A0E <> U+8BA8 -U+8A10 <> U+8BA6 -U+8A11 <> U+2B359 -U+8A12 <> U+8BB1 -U+8A13 <> U+8BAD -U+8A15 <> U+8BAA -U+8A16 <> U+8BAB -U+8A17 <> U+8BAC -U+8A18 <> U+8BB0 -U+8A1B <> U+8BB9 -U+8A1D <> U+8BB6 -U+8A1F <> U+8BBC -U+8A22 <> U+4723 -U+8A23 <> U+8BC0 -U+8A25 <> U+8BB7 -U+8A29 <> U+8BBB -U+8A2A <> U+8BBF -U+8A2D <> U+8BBE -U+8A31 <> U+8BB8 -U+8A34 <> U+8BC9 -U+8A36 <> U+8BC3 -U+8A3A <> U+8BCA -U+8A3B <> U+6CE8 -U+8A40 <> U+27BAA -U+8A41 <> U+8BC2 -U+8A46 <> U+8BCB -U+8A4E <> U+8BB5 -U+8A50 <> U+8BC8 -U+8A51 <> U+2B35F -U+8A52 <> U+8BD2 -U+8A54 <> U+8BCF -U+8A55 <> U+8BC4 -U+8A56 <> U+8BD0 -U+8A57 <> U+8BC7 -U+8A58 <> U+8BCE -U+8A5B <> U+8BC5 -U+8A5E <> U+8BCD -U+8A60 <> U+548F -U+8A61 <> U+8BE9 -U+8A62 <> U+8BE2 -U+8A63 <> U+8BE3 -U+8A66 <> U+8BD5 -U+8A69 <> U+8BD7 -U+8A6B <> U+8BE7 -U+8A6C <> U+8BDF -U+8A6D <> U+8BE1 -U+8A6E <> U+8BE0 -U+8A70 <> U+8BD8 -U+8A71 <> U+8BDD -U+8A72 <> U+8BE5 -U+8A73 <> U+8BE6 -U+8A75 <> U+8BDC -U+8A7C <> U+8BD9 -U+8A7F <> U+8BD6 -U+8A84 <> U+8BD4 -U+8A85 <> U+8BDB -U+8A86 <> U+8BD3 -U+8A87 <> U+5938 -U+8A8C <> U+5FD7 -U+8A8D <> U+8BA4 -U+8A91 <> U+8BF3 -U+8A92 <> U+8BF6 -U+8A95 <> U+8BDE -U+8A98 <> U+8BF1 -U+8A9A <> U+8BEE -U+8A9E <> U+8BED -U+8AA0 <> U+8BDA -U+8AA1 <> U+8BEB -U+8AA3 <> U+8BEC -U+8AA4 <> U+8BEF -U+8AA5 <> U+8BF0 -U+8AA6 <> U+8BF5 -U+8AA8 <> U+8BF2 -U+8AAA <> U+8BF4 -U+8AB0 <> U+8C01 -U+8AB2 <> U+8BFE -U+8AB6 <> U+8C07 -U+8AB9 <> U+8BFD -U+8ABC <> U+8C0A -U+8ABE <> U+8A1A -U+8ABF <> U+8C03 -U+8AC2 <> U+8C04 -U+8AC4 <> U+8C06 -U+8AC7 <> U+8C08 -U+8AC9 <> U+8BFF -U+8ACB <> U+8BF7 -U+8ACD <> U+8BE4 -U+8ACF <> U+8BF9 -U+8AD1 <> U+8BFC -U+8AD2 <> U+8C05 -U+8AD6 <> U+8BBA -U+8AD7 <> U+8C02 -U+8ADB <> U+8C00 -U+8ADC <> U+8C0D -U+8ADD <> U+8C1E -U+8ADE <> U+8C1D -U+8AE2 <> U+8BE8 -U+8AE4 <> U+8C14 -U+8AE6 <> U+8C1B -U+8AE7 <> U+8C10 -U+8AEB <> U+8C0F -U+8AED <> U+8C15 -U+8AEE <> U+8C18 -U+8AF0 <> U+2B370 -U+8AF1 <> U+8BB3 -U+8AF3 <> U+8C19 -U+8AF6 <> U+8C0C -U+8AF7 <> U+8BBD -U+8AF8 <> U+8BF8 -U+8AFA <> U+8C1A -U+8AFC <> U+8C16 -U+8AFE <> U+8BFA -U+8B00 <> U+8C0B -U+8B01 <> U+8C12 -U+8B02 <> U+8C13 -U+8B04 <> U+8A8A -U+8B05 <> U+8BCC -U+8B0A <> U+8C0E -U+8B0E <> U+8C1C -U+8B0F <> U+2B372 -U+8B10 <> U+8C27 -U+8B14 <> U+8C11 -U+8B16 <> U+8C21 -U+8B17 <> U+8C24 -U+8B19 <> U+8C26 -U+8B1A <> U+8C25 -U+8B1B <> U+8BB2 -U+8B1D <> U+8C22 -U+8B20 <> U+8C23 -U+8B28 <> U+8C1F -U+8B2B <> U+8C2A -U+8B2C <> U+8C2C -U+8B33 <> U+8BB4 -U+8B39 <> U+8C28 -U+8B3E <> U+8C29 -U+8B49 <> U+8BC1 -U+8B4A <> U+2B362 -U+8B4E <> U+8C32 -U+8B4F <> U+8BA5 -U+8B54 <> U+2C925 -U+8B56 <> U+8C2E -U+8B58 <> U+8BC6 -U+8B59 <> U+8C2F -U+8B5A <> U+8C2D -U+8B5C <> U+8C31 -U+8B6B <> U+8C35 -U+8B6F <> U+8BD1 -U+8B70 <> U+8BAE -U+8B74 <> U+8C34 -U+8B77 <> U+62A4 -U+8B78 <> U+8BEA -U+8B7D <> U+8A89 -U+8B7E <> U+8C2B -U+8B80 <> U+8BFB -U+8B8A <> U+53D8 -U+8B8B <> U+8A5F -U+8B8C <> U+4729 -U+8B8E <> U+96E0 -U+8B92 <> U+8C17 -U+8B93 <> U+8BA9 -U+8B95 <> U+8C30 -U+8B96 <> U+8C36 -U+8B9C <> U+8C20 -U+8B9E <> U+8C33 -U+8C48 <> U+5C82 -U+8C4E <> U+7AD6 -U+8C50 <> U+4E30 -U+8C6C <> U+732A -U+8C76 <> U+8C6E -U+8C93 <> U+732B -U+8C99 <> U+4759 -U+8C9D <> U+8D1D -U+8C9E <> U+8D1E -U+8C9F <> U+8D20 -U+8CA0 <> U+8D1F -U+8CA1 <> U+8D22 -U+8CA2 <> U+8D21 -U+8CA7 <> U+8D2B -U+8CA8 <> U+8D27 -U+8CA9 <> U+8D29 -U+8CAA <> U+8D2A -U+8CAB <> U+8D2F -U+8CAC <> U+8D23 -U+8CAF <> U+8D2E -U+8CB0 <> U+8D33 -U+8CB2 <> U+8D40 -U+8CB3 <> U+8D30 -U+8CB4 <> U+8D35 -U+8CB6 <> U+8D2C -U+8CB7 <> U+4E70 -U+8CB8 <> U+8D37 -U+8CBA <> U+8D36 -U+8CBB <> U+8D39 -U+8CBC <> U+8D34 -U+8CBD <> U+8D3B -U+8CBF <> U+8D38 -U+8CC0 <> U+8D3A -U+8CC1 <> U+8D32 -U+8CC2 <> U+8D42 -U+8CC3 <> U+8D41 -U+8CC4 <> U+8D3F -U+8CC5 <> U+8D45 -U+8CC7 <> U+8D44 -U+8CC8 <> U+8D3E -U+8CCA <> U+8D3C -U+8CD1 <> U+8D48 -U+8CD2 <> U+8D4A -U+8CD3 <> U+5BBE -U+8CD5 <> U+8D47 -U+8CD9 <> U+8D52 -U+8CDA <> U+8D49 -U+8CDC <> U+8D50 -U+8CDE <> U+8D4F -U+8CDF <> U+27E56 -U+8CE0 <> U+8D54 -U+8CE1 <> U+8D53 -U+8CE2 <> U+8D24 -U+8CE3 <> U+5356 -U+8CE4 <> U+8D31 -U+8CE6 <> U+8D4B -U+8CE7 <> U+8D55 -U+8CEA <> U+8D28 -U+8CEC <> U+8D26 -U+8CED <> U+8D4C -U+8CF0 <> U+4790 -U+8CF4 <> U+8D56 -U+8CF5 <> U+8D57 -U+8CFA <> U+8D5A -U+8CFB <> U+8D59 -U+8CFC <> U+8D2D -U+8CFD <> U+8D5B -U+8CFE <> U+8D5C -U+8D03 <> U+27E57 -U+8D04 <> U+8D3D -U+8D05 <> U+8D58 -U+8D07 <> U+8D5F -U+8D08 <> U+8D60 -U+8D0A <> U+8D5E -U+8D0D <> U+8D61 -U+8D0F <> U+8D62 -U+8D10 <> U+8D46 -U+8D13 <> U+8D43 -U+8D14 <> U+8D51 -U+8D16 <> U+8D4E -U+8D17 <> U+8D5D -U+8D1B <> U+8D63 -U+8D6C <> U+8D6A -U+8D95 <> U+8D76 -U+8D99 <> U+8D75 -U+8DA8 <> U+8D8B -U+8DB2 <> U+8DB1 -U+8DE1 <> U+8FF9 -U+8E10 <> U+8DF5 -U+8E34 <> U+8E0A -U+8E4C <> U+8DC4 -U+8E55 <> U+8DF8 -U+8E63 <> U+8E52 -U+8E64 <> U+8E2A -U+8E7A <> U+8DF7 -U+8E7B <> U+2B3CB -U+8E82 <> U+8DF6 -U+8E89 <> U+8DB8 -U+8E8A <> U+8E0C -U+8E8B <> U+8DFB -U+8E8D <> U+8DC3 -U+8E8E <> U+47E2 -U+8E91 <> U+8E2F -U+8E92 <> U+8DDE -U+8E93 <> U+8E2C -U+8E95 <> U+8E70 -U+8E9A <> U+8DF9 -U+8E9D <> U+2816C -U+8EA1 <> U+8E51 -U+8EA5 <> U+8E7F -U+8EA6 <> U+8E9C -U+8EAA <> U+8E8F -U+8EC0 <> U+8EAF -U+8EC9 <> U+28257 -U+8ECA <> U+8F66 -U+8ECB <> U+8F67 -U+8ECC <> U+8F68 -U+8ECD <> U+519B -U+8ECF <> U+2B404 -U+8ED1 <> U+8F6A -U+8ED2 <> U+8F69 -U+8ED4 <> U+8F6B -U+8ED7 <> U+28405 -U+8EDB <> U+8F6D -U+8EDF <> U+8F6F -U+8EE4 <> U+8F77 -U+8EE8 <> U+2B409 -U+8EEB <> U+8F78 -U+8EF2 <> U+8F71 -U+8EF8 <> U+8F74 -U+8EF9 <> U+8F75 -U+8EFA <> U+8F7A -U+8EFB <> U+8F72 -U+8EFC <> U+8F76 -U+8EFE <> U+8F7C -U+8F03 <> U+8F83 -U+8F04 <> U+28408 -U+8F05 <> U+8F82 -U+8F07 <> U+8F81 -U+8F08 <> U+8F80 -U+8F09 <> U+8F7D -U+8F0A <> U+8F7E -U+8F12 <> U+8F84 -U+8F13 <> U+633D -U+8F14 <> U+8F85 -U+8F15 <> U+8F7B -U+8F17 <> U+2B410 -U+8F1B <> U+8F86 -U+8F1C <> U+8F8E -U+8F1D <> U+8F89 -U+8F1E <> U+8F8B -U+8F1F <> U+8F8D -U+8F25 <> U+8F8A -U+8F26 <> U+8F87 -U+8F29 <> U+8F88 -U+8F2A <> U+8F6E -U+8F2C <> U+8F8C -U+8F2E <> U+2B413 -U+8F2F <> U+8F91 -U+8F33 <> U+8F8F -U+8F38 <> U+8F93 -U+8F3B <> U+8F90 -U+8F3E <> U+8F97 -U+8F3F <> U+8206 -U+8F40 <> U+8F92 -U+8F42 <> U+6BC2 -U+8F44 <> U+8F96 -U+8F45 <> U+8F95 -U+8F46 <> U+8F98 -U+8F49 <> U+8F6C -U+8F4D <> U+8F99 -U+8F4E <> U+8F7F -U+8F54 <> U+8F9A -U+8F5F <> U+8F70 -U+8F61 <> U+8F94 -U+8F62 <> U+8F79 -U+8F63 <> U+2B406 -U+8F64 <> U+8F73 -U+8FA6 <> U+529E -U+8FAD <> U+8F9E -U+8FAE <> U+8FAB -U+8FAF <> U+8FA9 -U+8FB2 <> U+519C -U+9015 <> U+8FF3 -U+9019 <> U+8FD9 -U+9023 <> U+8FDE -U+9032 <> U+8FDB -U+904B <> U+8FD0 -U+904E <> U+8FC7 -U+9054 <> U+8FBE -U+9055 <> U+8FDD -U+9059 <> U+9065 -U+905C <> U+900A -U+905E <> U+9012 -U+9060 <> U+8FDC -U+9069 <> U+9002 -U+9072 <> U+8FDF -U+9077 <> U+8FC1 -U+9078 <> U+9009 -U+907A <> U+9057 -U+907C <> U+8FBD -U+9081 <> U+8FC8 -U+9084 <> U+8FD8 -U+9087 <> U+8FE9 -U+908A <> U+8FB9 -U+908F <> U+903B -U+9090 <> U+9026 -U+90DF <> U+90CF -U+90F5 <> U+90AE -U+9106 <> U+90D3 -U+9109 <> U+4E61 -U+9112 <> U+90B9 -U+9114 <> U+90AC -U+9116 <> U+90E7 -U+9127 <> U+9093 -U+912D <> U+90D1 -U+9130 <> U+90BB -U+9132 <> U+90F8 -U+9134 <> U+90BA -U+9136 <> U+90D0 -U+913A <> U+909D -U+9147 <> U+9142 -U+9148 <> U+90E6 -U+919C <> U+4E11 -U+919E <> U+915D -U+91AB <> U+533B -U+91AC <> U+9171 -U+91B1 <> U+9166 -U+91C0 <> U+917F -U+91C1 <> U+8845 -U+91C3 <> U+917E -U+91C5 <> U+917D -U+91CB <> U+91CA -U+91D0 <> U+5398 -U+91D2 <> U+9485 -U+91D3 <> U+9486 -U+91D4 <> U+9487 -U+91D5 <> U+948C -U+91D7 <> U+948A -U+91D8 <> U+9489 -U+91D9 <> U+948B -U+91DD <> U+9488 -U+91E3 <> U+9493 -U+91E4 <> U+9490 -U+91E7 <> U+948F -U+91E9 <> U+9492 -U+91F3 <> U+28C3F -U+91F5 <> U+9497 -U+91F7 <> U+948D -U+91F9 <> U+9495 -U+91FA <> U+948E -U+91FE <> U+497A -U+9200 <> U+94AF -U+9201 <> U+94AB -U+9203 <> U+9498 -U+9204 <> U+94AD -U+9207 <> U+2B4E7 -U+9208 <> U+949A -U+9209 <> U+94A0 -U+920B <> U+28C42 -U+920D <> U+949D -U+9210 <> U+94A4 -U+9211 <> U+94A3 -U+9212 <> U+9491 -U+9214 <> U+949E -U+9215 <> U+94AE -U+921E <> U+94A7 -U+9220 <> U+28C41 -U+9223 <> U+9499 -U+9225 <> U+94AC -U+9226 <> U+949B -U+9227 <> U+94AA -U+922E <> U+94CC -U+922F <> U+28C44 -U+9230 <> U+94C8 -U+9232 <> U+28C43 -U+9233 <> U+94B6 -U+9234 <> U+94C3 -U+9237 <> U+94B4 -U+9238 <> U+94B9 -U+9239 <> U+94CD -U+923A <> U+94B0 -U+923D <> U+94B8 -U+923E <> U+94C0 -U+923F <> U+94BF -U+9240 <> U+94BE -U+9241 <> U+28C45 -U+9245 <> U+949C -U+9248 <> U+94CA -U+9249 <> U+94C9 -U+924B <> U+94C7 -U+924D <> U+94CB -U+9251 <> U+94C2 -U+9255 <> U+94B7 -U+9257 <> U+94B3 -U+925A <> U+94C6 -U+925B <> U+94C5 -U+925E <> U+94BA -U+9264 <> U+94A9 -U+9266 <> U+94B2 -U+9268 <> U+9FED -U+926C <> U+94BC -U+926D <> U+94BD -U+9276 <> U+94CF -U+9278 <> U+94F0 -U+927A <> U+94D2 -U+927B <> U+94EC -U+927F <> U+94EA -U+9280 <> U+94F6 -U+9283 <> U+94F3 -U+9285 <> U+94DC -U+928D <> U+94DA -U+9291 <> U+94E3 -U+9293 <> U+94E8 -U+9296 <> U+94E2 -U+9298 <> U+94ED -U+929A <> U+94EB -U+929B <> U+94E6 -U+929C <> U+8854 -U+92A0 <> U+94D1 -U+92A3 <> U+94F7 -U+92A5 <> U+94F1 -U+92A6 <> U+94DF -U+92A8 <> U+94F5 -U+92A9 <> U+94E5 -U+92AA <> U+94D5 -U+92AB <> U+94EF -U+92AC <> U+94D0 -U+92B1 <> U+94DE -U+92B3 <> U+9510 -U+92B6 <> U+28C47 -U+92B7 <> U+9500 -U+92BB <> U+9511 -U+92BC <> U+9509 -U+92C1 <> U+94DD -U+92C3 <> U+9512 -U+92C5 <> U+950C -U+92C7 <> U+94A1 -U+92C9 <> U+28C48 -U+92CC <> U+94E4 -U+92CF <> U+94D7 -U+92D2 <> U+950B -U+92D9 <> U+94FB -U+92DD <> U+950A -U+92DF <> U+9513 -U+92E3 <> U+94D8 -U+92E4 <> U+9504 -U+92E5 <> U+9503 -U+92E6 <> U+9514 -U+92E8 <> U+9507 -U+92E9 <> U+94D3 -U+92EA <> U+94FA -U+92EE <> U+94D6 -U+92EF <> U+9506 -U+92F0 <> U+9502 -U+92F1 <> U+94FD -U+92F6 <> U+950D -U+92F8 <> U+952F -U+92FC <> U+94A2 -U+9301 <> U+951E -U+9302 <> U+28C4B -U+9304 <> U+5F55 -U+9306 <> U+9516 -U+9307 <> U+952B -U+9308 <> U+9529 -U+930F <> U+94D4 -U+9310 <> U+9525 -U+9312 <> U+9515 -U+9315 <> U+951F -U+9318 <> U+9524 -U+9319 <> U+9531 -U+931A <> U+94EE -U+931B <> U+951B -U+931F <> U+952C -U+9320 <> U+952D -U+9321 <> U+951C -U+9322 <> U+94B1 -U+9326 <> U+9526 -U+9328 <> U+951A -U+9329 <> U+9520 -U+932B <> U+9521 -U+932E <> U+9522 -U+932F <> U+9519 -U+9333 <> U+9530 -U+9336 <> U+8868 -U+9338 <> U+94FC -U+9340 <> U+951D -U+9343 <> U+952A -U+9344 <> U+28C49 -U+9346 <> U+9494 -U+9347 <> U+9534 -U+9348 <> U+9533 -U+934B <> U+9505 -U+934D <> U+9540 -U+9354 <> U+9537 -U+9358 <> U+94E1 -U+935A <> U+9496 -U+935B <> U+953B -U+9360 <> U+953D -U+9364 <> U+9538 -U+9365 <> U+9532 -U+9369 <> U+9518 -U+936C <> U+9539 -U+936E <> U+28C4E -U+9370 <> U+953E -U+9375 <> U+952E -U+9376 <> U+9536 -U+937A <> U+9517 -U+937E <> U+949F -U+9382 <> U+9541 -U+9384 <> U+953F -U+9387 <> U+9545 -U+938A <> U+9551 -U+9394 <> U+9555 -U+9396 <> U+9501 -U+9398 <> U+9549 -U+939B <> U+9548 -U+939D <> U+28C4F -U+93A1 <> U+9543 -U+93A2 <> U+94A8 -U+93A3 <> U+84E5 -U+93A6 <> U+954F -U+93A7 <> U+94E0 -U+93A9 <> U+94E9 -U+93AA <> U+953C -U+93AC <> U+9550 -U+93AE <> U+9547 -U+93AF <> U+28C4D -U+93B0 <> U+9552 -U+93B2 <> U+954B -U+93B3 <> U+954D -U+93B5 <> U+9553 -U+93B6 <> U+9FD4 -U+93B7 <> U+28C3E -U+93BF <> U+954E -U+93C3 <> U+955E -U+93C6 <> U+28C4C -U+93C7 <> U+955F -U+93C8 <> U+94FE -U+93C9 <> U+28C52 -U+93CC <> U+9546 -U+93CD <> U+9559 -U+93D0 <> U+9560 -U+93D1 <> U+955D -U+93D7 <> U+94FF -U+93D8 <> U+9535 -U+93DC <> U+9557 -U+93DD <> U+9558 -U+93DE <> U+955B -U+93DF <> U+94F2 -U+93E1 <> U+955C -U+93E2 <> U+9556 -U+93E4 <> U+9542 -U+93E6 <> U+2B4E9 -U+93E8 <> U+933E -U+93F0 <> U+955A -U+93F5 <> U+94E7 -U+93F7 <> U+9564 -U+93F9 <> U+956A -U+93FA <> U+497D -U+93FD <> U+9508 -U+9403 <> U+94D9 -U+9404 <> U+28C51 -U+940B <> U+94F4 -U+940D <> U+2B50E -U+940E <> U+28C53 -U+940F <> U+28C54 -U+9410 <> U+9563 -U+9412 <> U+94F9 -U+9413 <> U+9566 -U+9414 <> U+9561 -U+9418 <> U+949F -U+9419 <> U+956B -U+9420 <> U+9568 -U+9425 <> U+4985 -U+9426 <> U+950E -U+9427 <> U+950F -U+9428 <> U+9544 -U+942B <> U+954C -U+942E <> U+9570 -U+942F <> U+4983 -U+9432 <> U+956F -U+9433 <> U+956D -U+9435 <> U+94C1 -U+9436 <> U+956E -U+9438 <> U+94CE -U+943A <> U+94DB -U+943F <> U+9571 -U+9444 <> U+94F8 -U+9448 <> U+9FED -U+944A <> U+956C -U+944C <> U+9554 -U+9452 <> U+9274 -U+9454 <> U+9572 -U+9455 <> U+9527 -U+945E <> U+9574 -U+9460 <> U+94C4 -U+9463 <> U+9573 -U+9465 <> U+9565 -U+946D <> U+9567 -U+9470 <> U+94A5 -U+9471 <> U+9575 -U+9472 <> U+9576 -U+9477 <> U+954A -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+9577 <> U+957F -U+9580 <> U+95E8 -U+9582 <> U+95E9 -U+9583 <> U+95EA -U+9586 <> U+95EB -U+9588 <> U+95EC -U+9589 <> U+95ED -U+958B <> U+5F00 -U+958C <> U+95F6 -U+958D <> U+28E02 -U+958E <> U+95F3 -U+958F <> U+95F0 -U+9590 <> U+28E03 -U+9591 <> U+95F2 -U+9593 <> U+95F4 -U+9594 <> U+95F5 -U+9598 <> U+95F8 -U+95A1 <> U+9602 -U+95A3 <> U+9601 -U+95A5 <> U+9600 -U+95A8 <> U+95FA -U+95A9 <> U+95FD -U+95AB <> U+9603 -U+95AC <> U+9606 -U+95AD <> U+95FE -U+95B1 <> U+9605 -U+95B6 <> U+960A -U+95B9 <> U+9609 -U+95BB <> U+960E -U+95BC <> U+960F -U+95BD <> U+960D -U+95BE <> U+9608 -U+95BF <> U+960C -U+95C3 <> U+9612 -U+95C6 <> U+677F -U+95C8 <> U+95F1 -U+95CA <> U+9614 -U+95CB <> U+9615 -U+95CC <> U+9611 -U+95CD <> U+9607 -U+95D0 <> U+9617 -U+95D2 <> U+9618 -U+95D3 <> U+95FF -U+95D4 <> U+9616 -U+95D5 <> U+9619 -U+95D6 <> U+95EF -U+95DC <> U+5173 -U+95DE <> U+961A -U+95E0 <> U+9613 -U+95E1 <> U+9610 -U+95E4 <> U+961B -U+95E5 <> U+95FC -U+962A <> U+5742 -U+9658 <> U+9649 -U+965D <> U+9655 -U+9663 <> U+9635 -U+9670 <> U+9634 -U+9673 <> U+9648 -U+9678 <> U+9646 -U+967D <> U+9633 -U+9689 <> U+9667 -U+968A <> U+961F -U+968E <> U+9636 -U+9695 <> U+9668 -U+969B <> U+9645 -U+96A4 <> U+2CBCE -U+96A8 <> U+968F -U+96AA <> U+9669 -U+96B1 <> U+9690 -U+96B4 <> U+9647 -U+96B8 <> U+96B6 -U+96BB <> U+53EA -U+96CB <> U+96BD -U+96D6 <> U+867D -U+96D9 <> U+53CC -U+96DB <> U+96CF -U+96DC <> U+6742 -U+96DE <> U+9E21 -U+96E2 <> U+79BB -U+96E3 <> U+96BE -U+96F2 <> U+4E91 -U+96FB <> U+7535 -U+9722 <> U+9721 -U+9727 <> U+96FE -U+973D <> U+9701 -U+9742 <> U+96F3 -U+9744 <> U+972D -U+9748 <> U+7075 -U+975A <> U+9753 -U+975C <> U+9759 -U+9766 <> U+817C -U+9768 <> U+9765 -U+9780 <> U+9F17 -U+978F <> U+5DE9 -U+979D <> U+7EF1 -U+97BD <> U+9792 -U+97C1 <> U+7F30 -U+97C3 <> U+9791 -U+97C9 <> U+97AF -U+97CB <> U+97E6 -U+97CC <> U+97E7 -U+97CD <> U+97E8 -U+97D3 <> U+97E9 -U+97D9 <> U+97EA -U+97DC <> U+97EC -U+97DE <> U+97EB -U+97FB <> U+97F5 -U+97FF <> U+54CD -U+9801 <> U+9875 -U+9802 <> U+9876 -U+9803 <> U+9877 -U+9805 <> U+9879 -U+9806 <> U+987A -U+9807 <> U+9878 -U+9808 <> U+987B -U+980A <> U+987C -U+980C <> U+9882 -U+980E <> U+9880 -U+980F <> U+9883 -U+9810 <> U+9884 -U+9811 <> U+987D -U+9812 <> U+9881 -U+9813 <> U+987F -U+9817 <> U+9887 -U+9818 <> U+9886 -U+981C <> U+988C -U+9821 <> U+9889 -U+9824 <> U+9890 -U+9826 <> U+988F -U+982D <> U+5934 -U+982E <> U+9892 -U+9830 <> U+988A -U+9832 <> U+988B -U+9834 <> U+9895 -U+9837 <> U+9894 -U+9838 <> U+9888 -U+9839 <> U+9893 -U+983B <> U+9891 -U+9843 <> U+29596 -U+9846 <> U+9897 -U+984C <> U+9898 -U+984D <> U+989D -U+984E <> U+989A -U+984F <> U+989C -U+9852 <> U+9899 -U+9853 <> U+989B -U+9858 <> U+613F -U+9859 <> U+98A1 -U+985B <> U+98A0 -U+985E <> U+7C7B -U+9862 <> U+989F -U+9865 <> U+98A2 -U+9867 <> U+987E -U+986B <> U+98A4 -U+986C <> U+98A5 -U+986F <> U+663E -U+9870 <> U+98A6 -U+9871 <> U+9885 -U+9873 <> U+989E -U+9874 <> U+98A7 -U+98A8 <> U+98CE -U+98AD <> U+98D0 -U+98AE <> U+98D1 -U+98AF <> U+98D2 -U+98B0 <> U+29665 -U+98B1 <> U+53F0 -U+98B3 <> U+522E -U+98B6 <> U+98D3 -U+98B7 <> U+2966A -U+98B8 <> U+98D4 -U+98BA <> U+98CF -U+98BB <> U+98D6 -U+98BC <> U+98D5 -U+98BE <> U+2966B -U+98C0 <> U+98D7 -U+98C4 <> U+98D8 -U+98C6 <> U+98D9 -U+98C8 <> U+98DA -U+98DB <> U+98DE -U+98E0 <> U+9963 -U+98E2 <> U+9965 -U+98E3 <> U+9964 -U+98E5 <> U+9966 -U+98E9 <> U+9968 -U+98EA <> U+996A -U+98EB <> U+996B -U+98ED <> U+996C -U+98EF <> U+996D -U+98F2 <> U+996E -U+98F4 <> U+9974 -U+98FC <> U+9972 -U+98FD <> U+9971 -U+98FE <> U+9970 -U+98FF <> U+9973 -U+9903 <> U+997A -U+9904 <> U+9978 -U+9905 <> U+997C -U+9909 <> U+9977 -U+990A <> U+517B -U+990C <> U+9975 -U+990E <> U+9979 -U+990F <> U+997B -U+9911 <> U+997D -U+9912 <> U+9981 -U+9913 <> U+997F -U+9914 <> U+2B5E6 -U+9915 <> U+9982 -U+9916 <> U+997E -U+9917 <> U+2B5E7 -U+9918 <> U+4F59 -U+991A <> U+80B4 -U+991B <> U+9984 -U+991C <> U+9983 -U+991E <> U+996F -U+9921 <> U+9985 -U+9926 <> U+2B5E0 -U+9928 <> U+9986 -U+992D <> U+2B5EE -U+9931 <> U+7CC7 -U+9933 <> U+9967 -U+9936 <> U+9989 -U+9937 <> U+9987 -U+9938 <> U+2980C -U+993A <> U+998E -U+993C <> U+9969 -U+993E <> U+998F -U+993F <> U+998A -U+9941 <> U+998C -U+9943 <> U+998D -U+9945 <> U+9992 -U+9948 <> U+9990 -U+9949 <> U+9991 -U+994A <> U+9993 -U+994B <> U+9988 -U+994C <> U+9994 -U+9952 <> U+9976 -U+9957 <> U+98E8 -U+9958 <> U+2B5F4 -U+995C <> U+990D -U+995E <> U+998B -U+9962 <> U+9995 -U+99AC <> U+9A6C -U+99AD <> U+9A6D -U+99AE <> U+51AF -U+99B1 <> U+9A6E -U+99B3 <> U+9A70 -U+99B4 <> U+9A6F -U+99B9 <> U+9A72 -U+99C1 <> U+9A73 -U+99C3 <> U+2B61D -U+99CE <> U+299E8 -U+99D0 <> U+9A7B -U+99D1 <> U+9A7D -U+99D2 <> U+9A79 -U+99D4 <> U+9A75 -U+99D5 <> U+9A7E -U+99D8 <> U+9A80 -U+99D9 <> U+9A78 -U+99DA <> U+299EB -U+99DB <> U+9A76 -U+99DD <> U+9A7C -U+99DF <> U+9A77 -U+99E2 <> U+9A88 -U+99E7 <> U+299F2 -U+99E9 <> U+299F4 -U+99ED <> U+9A87 -U+99F0 <> U+9A83 -U+99F1 <> U+9A86 -U+99F6 <> U+299FA -U+99F8 <> U+9A8E -U+99FB <> U+2B623 -U+99FF <> U+9A8F -U+9A01 <> U+9A8B -U+9A02 <> U+9A8D -U+9A03 <> U+2B624 -U+9A05 <> U+9A93 -U+9A0C <> U+9A94 -U+9A0D <> U+9A92 -U+9A0E <> U+9A91 -U+9A0F <> U+9A90 -U+9A14 <> U+29A00 -U+9A16 <> U+9A9B -U+9A19 <> U+9A97 -U+9A1A <> U+29A0A -U+9A1D <> U+29A03 -U+9A1F <> U+29A08 -U+9A20 <> U+2B628 -U+9A24 <> U+9A99 -U+9A27 <> U+4BC4 -U+9A2A <> U+29A04 -U+9A2B <> U+9A9E -U+9A2D <> U+9A98 -U+9A2E <> U+9A9D -U+9A30 <> U+817E -U+9A36 <> U+9A7A -U+9A37 <> U+9A9A -U+9A38 <> U+9A9F -U+9A3E <> U+9AA1 -U+9A40 <> U+84E6 -U+9A41 <> U+9A9C -U+9A42 <> U+9A96 -U+9A43 <> U+9AA0 -U+9A44 <> U+9AA2 -U+9A45 <> U+9A71 -U+9A4A <> U+9A85 -U+9A4B <> U+299EF -U+9A4C <> U+9A95 -U+9A4D <> U+9A81 -U+9A4F <> U+9AA3 -U+9A55 <> U+9A84 -U+9A57 <> U+9A8C -U+9A5A <> U+60CA -U+9A5B <> U+9A7F -U+9A5F <> U+9AA4 -U+9A62 <> U+9A74 -U+9A64 <> U+9AA7 -U+9A65 <> U+9AA5 -U+9A66 <> U+9AA6 -U+9A6A <> U+9A8A -U+9A6B <> U+9A89 -U+9AAF <> U+80AE -U+9ACF <> U+9AC5 -U+9AD2 <> U+810F -U+9AD4 <> U+4F53 -U+9AD5 <> U+9ACC -U+9AD6 <> U+9ACB -U+9AEE <> U+53D1 -U+9B06 <> U+677E -U+9B0D <> U+80E1 -U+9B1A <> U+987B -U+9B22 <> U+9B13 -U+9B25 <> U+6597 -U+9B27 <> U+95F9 -U+9B29 <> U+960B -U+9B2E <> U+9604 -U+9B31 <> U+90C1 -U+9B39 <> U+9B36 -U+9B4E <> U+9B49 -U+9B58 <> U+9B47 -U+9B5A <> U+9C7C -U+9B5B <> U+9C7D -U+9B5F <> U+2B689 -U+9B62 <> U+9C7E -U+9B65 <> U+29F79 -U+9B68 <> U+9C80 -U+9B6F <> U+9C81 -U+9B74 <> U+9C82 -U+9B77 <> U+9C7F -U+9B7A <> U+9C84 -U+9B81 <> U+9C85 -U+9B83 <> U+9C86 -U+9B84 <> U+2B692 -U+9B8A <> U+9C8C -U+9B8B <> U+9C89 -U+9B8D <> U+9C8F -U+9B90 <> U+9C90 -U+9B91 <> U+9C8D -U+9B92 <> U+9C8B -U+9B93 <> U+9C8A -U+9B9A <> U+9C92 -U+9B9C <> U+9C98 -U+9B9E <> U+9C95 -U+9B9F <> U+29F7E -U+9BA3 <> U+4C9F -U+9BA6 <> U+9C96 -U+9BAA <> U+9C94 -U+9BAB <> U+9C9B -U+9BAD <> U+9C91 -U+9BAE <> U+9C9C -U+9BB0 <> U+2B694 -U+9BB3 <> U+9C93 -U+9BB6 <> U+9CAA -U+9BB8 <> U+29F83 -U+9BBA <> U+9C9D -U+9BC0 <> U+9CA7 -U+9BC1 <> U+9CA0 -U+9BC4 <> U+29F81 -U+9BC6 <> U+2B699 -U+9BC7 <> U+9CA9 -U+9BC9 <> U+9CA4 -U+9BCA <> U+9CA8 -U+9BD2 <> U+9CAC -U+9BD4 <> U+9CBB -U+9BD5 <> U+9CAF -U+9BD6 <> U+9CAD -U+9BD7 <> U+9C9E -U+9BDB <> U+9CB7 -U+9BDD <> U+9CB4 -U+9BE1 <> U+9CB1 -U+9BE2 <> U+9CB5 -U+9BE4 <> U+9CB2 -U+9BE7 <> U+9CB3 -U+9BE8 <> U+9CB8 -U+9BEA <> U+9CAE -U+9BEB <> U+9CB0 -U+9BF1 <> U+29F87 -U+9BF4 <> U+9CBA -U+9BF6 <> U+29F7C -U+9BF7 <> U+9CC0 -U+9BFD <> U+9CAB -U+9BFF <> U+9CCA -U+9C01 <> U+9CC8 -U+9C02 <> U+9C97 -U+9C03 <> U+9CC2 -U+9C06 <> U+4CA0 -U+9C08 <> U+9CBD -U+9C09 <> U+9CC7 -U+9C0C <> U+4CA1 -U+9C0D <> U+9CC5 -U+9C0F <> U+9CBE -U+9C12 <> U+9CC6 -U+9C13 <> U+9CC3 -U+9C1C <> U+9CD2 -U+9C1F <> U+9CD1 -U+9C20 <> U+9CCB -U+9C23 <> U+9CA5 -U+9C24 <> U+2B695 -U+9C25 <> U+9CCF -U+9C27 <> U+4CA2 -U+9C28 <> U+9CCE -U+9C29 <> U+9CD0 -U+9C2D <> U+9CCD -U+9C2E <> U+9CC1 -U+9C31 <> U+9CA2 -U+9C32 <> U+9CCC -U+9C33 <> U+9CD3 -U+9C35 <> U+9CD8 -U+9C37 <> U+9CA6 -U+9C39 <> U+9CA3 -U+9C3A <> U+9CB9 -U+9C3B <> U+9CD7 -U+9C3C <> U+9CDB -U+9C3E <> U+9CD4 -U+9C42 <> U+9CC9 -U+9C45 <> U+9CD9 -U+9C47 <> U+29F8C -U+9C48 <> U+9CD5 -U+9C49 <> U+9CD6 -U+9C52 <> U+9CDF -U+9C54 <> U+9CDD -U+9C56 <> U+9CDC -U+9C57 <> U+9CDE -U+9C58 <> U+9C9F -U+9C5D <> U+9CBC -U+9C5F <> U+9C8E -U+9C60 <> U+9C99 -U+9C63 <> U+9CE3 -U+9C64 <> U+9CE1 -U+9C67 <> U+9CE2 -U+9C68 <> U+9CBF -U+9C6D <> U+9C9A -U+9C6E <> U+2B688 -U+9C6F <> U+9CE0 -U+9C72 <> U+2B6AD -U+9C77 <> U+9CC4 -U+9C78 <> U+9C88 -U+9C7A <> U+9CA1 -U+9CE5 <> U+9E1F -U+9CE7 <> U+51EB -U+9CE9 <> U+9E20 -U+9CF2 <> U+9E24 -U+9CF3 <> U+51E4 -U+9CF4 <> U+9E23 -U+9CF6 <> U+9E22 -U+9CF7 <> U+2B6DB -U+9CFC <> U+2A243 -U+9CFE <> U+4D13 -U+9D03 <> U+2B6DE -U+9D06 <> U+9E29 -U+9D07 <> U+9E28 -U+9D09 <> U+9E26 -U+9D12 <> U+9E30 -U+9D15 <> U+9E35 -U+9D17 <> U+2B061 -U+9D1B <> U+9E33 -U+9D1C <> U+2A248 -U+9D1D <> U+9E32 -U+9D1E <> U+9E2E -U+9D1F <> U+9E31 -U+9D23 <> U+9E2A -U+9D26 <> U+9E2F -U+9D28 <> U+9E2D -U+9D2F <> U+9E38 -U+9D30 <> U+9E39 -U+9D32 <> U+2A246 -U+9D34 <> U+9E3B -U+9D37 <> U+4D15 -U+9D3B <> U+9E3F -U+9D3F <> U+9E3D -U+9D41 <> U+4D14 -U+9D42 <> U+9E3A -U+9D43 <> U+9E3C -U+9D50 <> U+9E40 -U+9D51 <> U+9E43 -U+9D52 <> U+9E46 -U+9D53 <> U+9E41 -U+9D5A <> U+2A24D -U+9D5C <> U+9E48 -U+9D5D <> U+9E45 -U+9D60 <> U+9E44 -U+9D61 <> U+9E49 -U+9D6A <> U+9E4C -U+9D6C <> U+9E4F -U+9D6E <> U+9E50 -U+9D6F <> U+9E4E -U+9D72 <> U+9E4A -U+9D77 <> U+9E53 -U+9D7E <> U+9E4D -U+9D84 <> U+4D16 -U+9D87 <> U+9E2B -U+9D89 <> U+9E51 -U+9D8A <> U+9E52 -U+9D92 <> U+2B6F6 -U+9D93 <> U+9E4B -U+9D96 <> U+9E59 -U+9D97 <> U+2B6F8 -U+9D98 <> U+9E55 -U+9D9A <> U+9E57 -U+9DA1 <> U+9E56 -U+9DA5 <> U+9E5B -U+9DA9 <> U+9E5C -U+9DAA <> U+4D17 -U+9DAC <> U+9E27 -U+9DAF <> U+83BA -U+9DB1 <> U+2CE23 -U+9DB2 <> U+9E5F -U+9DB4 <> U+9E64 -U+9DB9 <> U+9E60 -U+9DBA <> U+9E61 -U+9DBB <> U+9E58 -U+9DBC <> U+9E63 -U+9DBF <> U+9E5A -U+9DC1 <> U+9E62 -U+9DC2 <> U+9E5E -U+9DC8 <> U+4D18 -U+9DCA <> U+9E5D -U+9DD3 <> U+9E67 -U+9DD4 <> U+2A251 -U+9DD6 <> U+9E65 -U+9DD7 <> U+9E25 -U+9DD9 <> U+9E37 -U+9DDA <> U+9E68 -U+9DE5 <> U+9E36 -U+9DE6 <> U+9E6A -U+9DE8 <> U+2A24A -U+9DEB <> U+9E54 -U+9DEF <> U+9E69 -U+9DF2 <> U+9E6B -U+9DF3 <> U+9E47 -U+9DF8 <> U+9E6C -U+9DF9 <> U+9E70 -U+9DFA <> U+9E6D -U+9DFD <> U+9E34 -U+9DFF <> U+4D19 -U+9E02 <> U+3D89 -U+9E07 <> U+9E6F -U+9E0B <> U+2B6E2 -U+9E0C <> U+9E71 -U+9E0F <> U+9E72 -U+9E15 <> U+9E2C -U+9E18 <> U+9E74 -U+9E1A <> U+9E66 -U+9E1B <> U+9E73 -U+9E1D <> U+9E42 -U+9E1E <> U+9E3E -U+9E75 <> U+5364 -U+9E79 <> U+54B8 -U+9E7A <> U+9E7E -U+9E7C <> U+7877 -U+9E7D <> U+76D0 -U+9E97 <> U+4E3D -U+9EA5 <> U+9EA6 -U+9EA8 <> U+2A38A -U+9EA9 <> U+9EB8 -U+9EB2 <> U+2A389 -U+9EB5 <> U+9762 -U+9EBC <> U+4E48 -U+9EBD <> U+4E48 -U+9EC3 <> U+9EC4 -U+9ECC <> U+9EC9 -U+9EDE <> U+70B9 -U+9EE8 <> U+515A -U+9EF2 <> U+9EEA -U+9EF6 <> U+9EE1 -U+9EF7 <> U+9EE9 -U+9EFD <> U+9EFE -U+9EFF <> U+9F0B -U+9F09 <> U+9F0D -U+9F34 <> U+9F39 -U+9F4A <> U+9F50 -U+9F4B <> U+658B -U+9F4E <> U+8D4D -U+9F4F <> U+9F51 -U+9F52 <> U+9F7F -U+9F54 <> U+9F80 -U+9F55 <> U+9F81 -U+9F57 <> U+9F82 -U+9F59 <> U+9F85 -U+9F5C <> U+9F87 -U+9F5F <> U+9F83 -U+9F60 <> U+9F86 -U+9F61 <> U+9F84 -U+9F66 <> U+9F88 -U+9F6A <> U+9F8A -U+9F6C <> U+9F89 -U+9F72 <> U+9F8B -U+9F76 <> U+816D -U+9F77 <> U+9F8C -U+9F8D <> U+9F99 -U+9F8E <> U+5390 -U+9F90 <> U+5E9E -U+9F91 <> U+4DAE -U+9F94 <> U+9F9A -U+9F95 <> U+9F9B -U+9F9C <> U+9F9F -U+9FAD <> U+29A0E -U+9FAF <> U+28C46 -U+9FC1 <> U+4724 -U+9FD0 <> U+4CA4 -U+9FD2 <> U+9FD3 -U+20325 <> U+201BF -U+203E2 <> U+20257 -U+20786 <> U+206C6 -U+2080E <> U+206B3 -U+21114 <> U+20D22 -U+21123 <> U+20D78 -U+2114F <> U+20CA5 -U+2146D <> U+212D7 -U+214FE <> U+212C0 -U+217B5 <> U+36DF -U+21839 <> U+36FF -U+21883 <> U+36E0 -U+21B89 <> U+21B5C -U+21BA3 <> U+21B6C -U+21FB1 <> U+37DC -U+228DA <> U+2261D -U+228ED <> U+2261E -U+22DAB <> U+22ADE -U+22DEE <> U+22ACA -U+22E7F <> U+22B26 -U+2364E <> U+3B63 -U+23755 <> U+23637 -U+237BB <> U+23613 -U+23832 <> U+23476 -U+23BF4 <> U+23B64 -U+23FB7 <> U+3CE2 -U+23FC9 <> U+23DAB -U+24063 <> U+23EBD -U+2448E <> U+24280 -U+24ABA <> U+3ED8 -U+24AE9 <> U+3ECF -U+24CF8 <> U+24CC4 -U+24E2B <> U+24DA7 -U+25303 <> U+25158 -U+25565 <> U+25430 -U+25585 <> U+2542F -U+258A2 <> U+416A -U+25A10 <> U+259C2 -U+25D43 <> U+25C54 -U+25D4A <> U+25B49 -U+25E20 <> U+25B8B -U+25F3D <> U+25E65 -U+25F56 <> U+25E87 -U+25FCA <> U+26208 -U+26085 <> U+26212 -U+260C4 <> U+26217 -U+26888 <> U+23368 -U+268CE <> U+267D7 -U+26ABD <> U+26A29 -U+27525 <> U+274AD -U+27717 <> U+461E -U+27735 <> U+464A -U+2775E <> U+461B -U+27A59 <> U+4725 -U+27CDF <> U+27CD5 -U+27D73 <> U+478C -U+27D94 <> U+27E53 -U+27DA7 <> U+478E -U+28123 <> U+28031 -U+2814D <> U+28074 -U+281C1 <> U+27FC8 -U+281DE <> U+2816B -U+2820A <> U+280BA -U+2820C <> U+28104 -U+282B0 <> U+4880 -U+282B8 <> U+4881 -U+282BB <> U+28406 -U+282E2 <> U+4882 -U+283AE <> U+28409 -U+283E0 <> U+28407 -U+283E5 <> U+2840A -U+2893B <> U+28930 -U+2895B <> U+28C40 -U+289AB <> U+4980 -U+289DC <> U+4981 -U+289F1 <> U+28C4A -U+28AD2 <> U+28C50 -U+28B82 <> U+28C55 -U+28BC5 <> U+497F -U+28CD1 <> U+28E01 -U+28CD5 <> U+28E00 -U+28D17 <> U+28E05 -U+28D69 <> U+28E06 -U+28D78 <> U+28E07 -U+28D80 <> U+28E09 -U+28D8F <> U+28E0A -U+28DAE <> U+28E0C -U+28DB2 <> U+28E0B -U+28DF2 <> U+28E0E -U+28F4F <> U+28E18 -U+293A2 <> U+293FE -U+293EA <> U+293FD -U+294E3 <> U+29595 -U+295C0 <> U+29666 -U+29600 <> U+29669 -U+2961D <> U+2966D -U+29639 <> U+29668 -U+2963A <> U+2966C -U+29648 <> U+29670 -U+2969B <> U+297FF -U+296A5 <> U+29800 -U+296B5 <> U+29801 -U+296C6 <> U+29802 -U+296E9 <> U+29803 -U+29707 <> U+29809 -U+29726 <> U+29806 -U+29735 <> U+2980A -U+29754 <> U+2980B -U+29784 <> U+2980E -U+297A6 <> U+2980F -U+297AF <> U+4B6A -U+297D0 <> U+29805 -U+29834 <> U+29820 -U+2987A <> U+299E6 -U+298A1 <> U+299EC -U+298B4 <> U+299F5 -U+298B8 <> U+299F3 -U+298BE <> U+299EE -U+298CF <> U+299F6 -U+298D1 <> U+4BC3 -U+298FA <> U+299FC -U+2990A <> U+299E9 -U+29919 <> U+29A06 -U+29932 <> U+29A09 -U+29938 <> U+29A05 -U+29944 <> U+29A0B -U+29947 <> U+29A0D -U+29949 <> U+299F1 -U+29951 <> U+29A0C -U+299C6 <> U+29A10 -U+29B59 <> U+29B23 -U+29BF3 <> U+29BD2 -U+29C00 <> U+29B24 -U+29CE4 <> U+29C92 -U+29D69 <> U+29F7A -U+29D79 <> U+29F7B -U+29D98 <> U+4C9E -U+29DB0 <> U+29F7F -U+29DB1 <> U+29F7D -U+29DF0 <> U+29F84 -U+29E03 <> U+29F85 -U+29E26 <> U+29F86 -U+29FEA <> U+2A244 -U+2A026 <> U+2A245 -U+2A03E <> U+2A24B -U+2A048 <> U+2A249 -U+2A056 <> U+2A24C -U+2A086 <> U+2A24E -U+2A0CD <> U+2A250 -U+2A0CF <> U+2A24F -U+2A106 <> U+2A254 -U+2A115 <> U+2A252 -U+2A1F3 <> U+2A255 -U+2A2FF <> U+2A38D -U+2A535 <> U+2A52D -U+2A600 <> U+2A68F -U+2A62F <> U+2A690 diff --git a/macros/xetex/latex/xecjk/teckit-mapping/han-trad.map b/macros/xetex/latex/xecjk/teckit-mapping/han-trad.map deleted file mode 100644 index 4471e15dc4..0000000000 --- a/macros/xetex/latex/xecjk/teckit-mapping/han-trad.map +++ /dev/null @@ -1,3042 +0,0 @@ -; TECkit mapping for conversion of simplified Chinese characters to traditional Chinese characters -; from the Unicode Unihan database: -; -; Unihan_Variants.txt -; Date: 2018-11-09 21:36:19 GMT [JHJ] -; Unicode version: 12.0.0 -; - -LHSName "simplified" -RHSName "traditional" - -pass(Unicode) - -U+201C <> U+300C -U+201D <> U+300D -U+2018 <> U+300E -U+2019 <> U+300F - -U+343D <> U+5051 -U+3447 <> U+3473 -U+3448 <> U+5032 -U+3454 <> U+346F -U+3469 <> U+5138 -U+34E5 <> U+528F -U+3509 <> U+529A -U+358A <> U+565A -U+359E <> U+558E -U+360E <> U+361A -U+36AF <> U+3704 -U+36C0 <> U+5AB0 -U+36DF <> U+217B5 -U+36E0 <> U+21883 -U+36E3 <> U+370F -U+36E4 <> U+5B4B -U+36FF <> U+21839 -U+37C6 <> U+380F -U+37DC <> U+21FB1 -U+3918 <> U+396E -U+39CF <> U+6386 -U+39D0 <> U+3A73 -U+39D1 <> U+649D -U+39DF <> U+64D3 -U+39F0 <> U+64FD -U+3A2B <> U+3A5C -U+3B4E <> U+68E1 -U+3B4F <> U+6932 -U+3B63 <> U+2364E -U+3B64 <> U+6A22 -U+3B74 <> U+6A2B -U+3C69 <> U+6BB0 -U+3C6E <> U+6BA8 -U+3CBF <> U+7007 -U+3CD4 <> U+6FE7 -U+3CD5 <> U+7061 -U+3CE0 <> U+6FBE -U+3CE1 <> U+6FC4 -U+3CE2 <> U+23FB7 -U+3CFD <> U+7030 -U+3D89 <> U+9E02 -U+3DB6 <> U+71F6 -U+3DBD <> U+7171 -U+3E8D <> U+7371 -U+3EC5 <> U+74AF -U+3ECF <> U+24AE9 -U+3ED8 <> U+24ABA -U+4025 <> U+407B -U+4056 <> U+779C -U+40B5 <> U+78BD -U+4149 <> U+7A0F -U+416A <> U+258A2 -U+41F2 <> U+7B74 -U+4264 <> U+7C54 -U+4336 <> U+42B7 -U+4337 <> U+7D2C -U+4338 <> U+7E33 -U+4339 <> U+7D45 -U+433A <> U+42D9 -U+433B <> U+42DA -U+433C <> U+7D90 -U+433D <> U+7DB5 -U+433E <> U+42FB -U+4340 <> U+7E7F -U+4341 <> U+7E78 -U+44D5 <> U+85B3 -U+45D6 <> U+87AE -U+461B <> U+2775E -U+461E <> U+27717 -U+464A <> U+27735 -U+464C <> U+4661 -U+4653 <> U+896C -U+4723 <> U+8A22 -U+4724 <> U+9FC1 -U+4725 <> U+27A59 -U+4727 <> U+4700 -U+4729 <> U+8B8C -U+4759 <> U+8C99 -U+478C <> U+27D73 -U+478D <> U+477C -U+478E <> U+27DA7 -U+4790 <> U+8CF0 -U+47E2 <> U+8E8E -U+4880 <> U+282B0 -U+4881 <> U+282B8 -U+4882 <> U+282E2 -U+497A <> U+91FE -U+497D <> U+93FA -U+497E <> U+4971 -U+497F <> U+28BC5 -U+4980 <> U+289AB -U+4981 <> U+289DC -U+4982 <> U+4947 -U+4983 <> U+942F -U+4985 <> U+9425 -U+49B6 <> U+499B -U+49B7 <> U+499F -U+4B6A <> U+297AF -U+4BC3 <> U+298D1 -U+4BC4 <> U+9A27 -U+4BC5 <> U+4BC0 -U+4C9D <> U+4C7D -U+4C9E <> U+29D98 -U+4C9F <> U+9BA3 -U+4CA0 <> U+9C06 -U+4CA1 <> U+9C0C -U+4CA2 <> U+9C27 -U+4CA3 <> U+4C77 -U+4CA4 <> U+9FD0 -U+4D13 <> U+9CFE -U+4D14 <> U+9D41 -U+4D15 <> U+9D37 -U+4D16 <> U+9D84 -U+4D17 <> U+9DAA -U+4D18 <> U+9DC8 -U+4D19 <> U+9DFF -U+4DAE <> U+9F91 -U+4E07 <> U+842C -U+4E0E <> U+8207 -U+4E11 <> U+919C -U+4E13 <> U+5C08 -U+4E1A <> U+696D -U+4E1B <> U+53E2 -U+4E1C <> U+6771 -U+4E1D <> U+7D72 -U+4E22 <> U+4E1F -U+4E24 <> U+5169 -U+4E25 <> U+56B4 -U+4E27 <> U+55AA -U+4E2A <> U+500B -U+4E30 <> U+8C50 -U+4E34 <> U+81E8 -U+4E3A <> U+70BA -U+4E3D <> U+9E97 -U+4E3E <> U+8209 -U+4E48 <> U+5E7A -U+4E49 <> U+7FA9 -U+4E4C <> U+70CF -U+4E50 <> U+6A02 -U+4E54 <> U+55AC -U+4E60 <> U+7FD2 -U+4E61 <> U+9109 -U+4E66 <> U+66F8 -U+4E70 <> U+8CB7 -U+4E71 <> U+4E82 -U+4E89 <> U+722D -U+4E8E <> U+65BC -U+4E8F <> U+8667 -U+4E91 <> U+96F2 -U+4E9A <> U+4E9E -U+4EA7 <> U+7522 -U+4EA9 <> U+755D -U+4EB2 <> U+89AA -U+4EB5 <> U+893B -U+4EB8 <> U+56B2 -U+4EBF <> U+5104 -U+4EC5 <> U+50C5 -U+4EC6 <> U+50D5 -U+4ECE <> U+5F9E -U+4ED1 <> U+4F96 -U+4ED3 <> U+5009 -U+4EEA <> U+5100 -U+4EEC <> U+5011 -U+4EF7 <> U+50F9 -U+4F17 <> U+773E -U+4F18 <> U+512A -U+4F1A <> U+6703 -U+4F1B <> U+50B4 -U+4F1E <> U+5098 -U+4F1F <> U+5049 -U+4F20 <> U+50B3 -U+4F21 <> U+4FE5 -U+4F23 <> U+4FD4 -U+4F24 <> U+50B7 -U+4F25 <> U+5000 -U+4F26 <> U+502B -U+4F27 <> U+5096 -U+4F2A <> U+507D -U+4F2B <> U+4F47 -U+4F53 <> U+9AD4 -U+4F59 <> U+4F59 -U+4F63 <> U+50AD -U+4F65 <> U+50C9 -U+4FA0 <> U+4FE0 -U+4FA3 <> U+4FB6 -U+4FA5 <> U+50E5 -U+4FA6 <> U+5075 -U+4FA7 <> U+5074 -U+4FA8 <> U+50D1 -U+4FA9 <> U+5108 -U+4FAA <> U+5115 -U+4FAC <> U+5102 -U+4FE3 <> U+4FC1 -U+4FE6 <> U+5114 -U+4FE8 <> U+513C -U+4FE9 <> U+5006 -U+4FEA <> U+5137 -U+4FEB <> U+5008 -U+4FED <> U+5109 -U+503A <> U+50B5 -U+503E <> U+50BE -U+506C <> U+50AF -U+507B <> U+50C2 -U+507E <> U+50E8 -U+507F <> U+511F -U+50A5 <> U+513B -U+50A7 <> U+5110 -U+50A8 <> U+5132 -U+50A9 <> U+513A -U+513F <> U+5152 -U+514B <> U+524B -U+5151 <> U+514C -U+5156 <> U+5157 -U+515A <> U+9EE8 -U+5170 <> U+862D -U+5173 <> U+95DC -U+5174 <> U+8208 -U+5179 <> U+8332 -U+517B <> U+990A -U+517D <> U+7378 -U+5181 <> U+56C5 -U+5185 <> U+5167 -U+5188 <> U+5CA1 -U+518C <> U+518A -U+5199 <> U+5BEB -U+519B <> U+8ECD -U+519C <> U+8FB2 -U+51AF <> U+99AE -U+51B2 <> U+6C96 -U+51B3 <> U+6C7A -U+51B5 <> U+6CC1 -U+51BB <> U+51CD -U+51C0 <> U+51C8 -U+51C6 <> U+6E96 -U+51C9 <> U+6DBC -U+51CF <> U+6E1B -U+51D1 <> U+6E4A -U+51DB <> U+51DC -U+51E0 <> U+5E7E -U+51E4 <> U+9CF3 -U+51EB <> U+9CE7 -U+51ED <> U+6191 -U+51EF <> U+51F1 -U+51FB <> U+64CA -U+51FF <> U+947F -U+520D <> U+82BB -U+5212 <> U+5283 -U+5218 <> U+5289 -U+5219 <> U+5247 -U+521A <> U+525B -U+521B <> U+5275 -U+5220 <> U+522A -U+522B <> U+5225 -U+522C <> U+5257 -U+522D <> U+5244 -U+522E <> U+98B3 -U+5236 <> U+88FD -U+5239 <> U+524E -U+523D <> U+528A -U+523E <> U+34E8 -U+523F <> U+528C -U+5240 <> U+5274 -U+5242 <> U+5291 -U+5250 <> U+526E -U+5251 <> U+528D -U+5265 <> U+525D -U+5267 <> U+5287 -U+529D <> U+52F8 -U+529E <> U+8FA6 -U+52A1 <> U+52D9 -U+52A2 <> U+52F1 -U+52A8 <> U+52D5 -U+52B1 <> U+52F5 -U+52B2 <> U+52C1 -U+52B3 <> U+52DE -U+52BF <> U+52E2 -U+52CB <> U+52DB -U+52DA <> U+52E9 -U+5300 <> U+52FB -U+5326 <> U+532D -U+532E <> U+5331 -U+533A <> U+5340 -U+533B <> U+91AB -U+534E <> U+83EF -U+534F <> U+5354 -U+5355 <> U+55AE -U+5356 <> U+8CE3 -U+5362 <> U+76E7 -U+5364 <> U+9E75 -U+536B <> U+885B -U+5374 <> U+537B -U+5382 <> U+5EE0 -U+5385 <> U+5EF3 -U+5386 <> U+66C6 -U+5389 <> U+53B2 -U+538B <> U+58D3 -U+538C <> U+53AD -U+538D <> U+5399 -U+5390 <> U+9F8E -U+5395 <> U+5EC1 -U+5398 <> U+91D0 -U+53A2 <> U+5EC2 -U+53A3 <> U+53B4 -U+53A6 <> U+5EC8 -U+53A8 <> U+5EDA -U+53A9 <> U+5EC4 -U+53AE <> U+5EDD -U+53BF <> U+7E23 -U+53C1 <> U+53C4 -U+53C2 <> U+53C3 -U+53CC <> U+96D9 -U+53D1 <> U+767C -U+53D8 <> U+8B8A -U+53D9 <> U+6558 -U+53E0 <> U+758A -U+53EA <> U+96BB -U+53F0 <> U+53F0 -U+53F6 <> U+8449 -U+53F7 <> U+865F -U+53F9 <> U+5606 -U+53FD <> U+5630 -U+540C <> U+540C -U+540E <> U+540E -U+5411 <> U+66CF -U+5413 <> U+5687 -U+5415 <> U+5442 -U+5417 <> U+55CE -U+5423 <> U+551A -U+5428 <> U+5678 -U+542C <> U+807D -U+542F <> U+555F -U+5434 <> U+5433 -U+5450 <> U+5436 -U+5452 <> U+5638 -U+5453 <> U+56C8 -U+5455 <> U+5614 -U+5456 <> U+56A6 -U+5457 <> U+5504 -U+5458 <> U+54E1 -U+5459 <> U+54BC -U+545B <> U+55C6 -U+545C <> U+55DA -U+548F <> U+8A60 -U+5499 <> U+56A8 -U+549B <> U+5680 -U+549D <> U+565D -U+54A4 <> U+5412 -U+54B8 <> U+9E79 -U+54CD <> U+97FF -U+54D1 <> U+555E -U+54D2 <> U+5660 -U+54D3 <> U+5635 -U+54D4 <> U+55F6 -U+54D5 <> U+5666 -U+54D7 <> U+5629 -U+54D9 <> U+5672 -U+54DC <> U+568C -U+54DD <> U+5665 -U+54DF <> U+55B2 -U+551B <> U+561C -U+551D <> U+55CA -U+5520 <> U+562E -U+5521 <> U+5562 -U+5522 <> U+55E9 -U+5524 <> U+559A -U+5567 <> U+5616 -U+556C <> U+55C7 -U+556D <> U+56C0 -U+556E <> U+5699 -U+556F <> U+5613 -U+5570 <> U+56C9 -U+5574 <> U+563D -U+5578 <> U+562F -U+55B7 <> U+5674 -U+55BD <> U+560D -U+55BE <> U+56B3 -U+55EB <> U+56C1 -U+55F3 <> U+566F -U+5618 <> U+5653 -U+5624 <> U+56B6 -U+5631 <> U+56D1 -U+565C <> U+5695 -U+56A3 <> U+56C2 -U+56E2 <> U+5718 -U+56ED <> U+5712 -U+56F0 <> U+774F -U+56F1 <> U+56EA -U+56F4 <> U+570D -U+56F5 <> U+5707 -U+56FD <> U+570B -U+56FE <> U+5716 -U+5706 <> U+5713 -U+5723 <> U+8056 -U+5739 <> U+58D9 -U+573A <> U+5834 -U+5742 <> U+962A -U+574F <> U+58DE -U+5757 <> U+584A -U+575A <> U+5805 -U+575B <> U+58C7 -U+575C <> U+58E2 -U+575D <> U+58E9 -U+575E <> U+5862 -U+575F <> U+58B3 -U+5760 <> U+589C -U+5784 <> U+58DF -U+5785 <> U+58E0 -U+5786 <> U+58DA -U+5792 <> U+58D8 -U+57A6 <> U+58BE -U+57A9 <> U+580A -U+57AB <> U+588A -U+57AD <> U+57E1 -U+57B1 <> U+58CB -U+57B2 <> U+584F -U+57B4 <> U+5816 -U+57D8 <> U+5852 -U+57D9 <> U+5864 -U+57DA <> U+581D -U+57EF <> U+57B5 -U+5811 <> U+5879 -U+5815 <> U+58AE -U+5899 <> U+7246 -U+58EE <> U+58EF -U+58F0 <> U+8072 -U+58F3 <> U+6BBC -U+58F6 <> U+58FA -U+58F8 <> U+58FC -U+5904 <> U+8655 -U+5907 <> U+5099 -U+590D <> U+5FA9 -U+591F <> U+5920 -U+5934 <> U+982D -U+5938 <> U+8A87 -U+5939 <> U+593E -U+593A <> U+596A -U+5941 <> U+5969 -U+5942 <> U+5950 -U+594B <> U+596E -U+5956 <> U+734E -U+5965 <> U+5967 -U+5978 <> U+59E6 -U+5986 <> U+599D -U+5987 <> U+5A66 -U+5988 <> U+5ABD -U+59A9 <> U+5AF5 -U+59AA <> U+5AD7 -U+59AB <> U+5AAF -U+59D7 <> U+59CD -U+59F9 <> U+597C -U+5A04 <> U+5A41 -U+5A05 <> U+5A6D -U+5A06 <> U+5B08 -U+5A07 <> U+5B0C -U+5A08 <> U+5B4C -U+5A31 <> U+5A1B -U+5A32 <> U+5AA7 -U+5A34 <> U+5AFB -U+5A73 <> U+5AFF -U+5A74 <> U+5B30 -U+5A75 <> U+5B0B -U+5A76 <> U+5B38 -U+5AAA <> U+5ABC -U+5AAD <> U+5B03 -U+5AD2 <> U+5B21 -U+5AD4 <> U+5B2A -U+5AF1 <> U+5B19 -U+5B37 <> U+5B24 -U+5B59 <> U+5B6B -U+5B66 <> U+5B78 -U+5B6A <> U+5B7F -U+5B81 <> U+5BE7 -U+5B9D <> U+5BF6 -U+5B9E <> U+5BE6 -U+5BA0 <> U+5BF5 -U+5BA1 <> U+5BE9 -U+5BAA <> U+61B2 -U+5BAB <> U+5BAE -U+5BBD <> U+5BEC -U+5BBE <> U+8CD3 -U+5BDD <> U+5BE2 -U+5BF9 <> U+5C0D -U+5BFB <> U+5C0B -U+5BFC <> U+5C0E -U+5BFF <> U+58FD -U+5C06 <> U+5C07 -U+5C14 <> U+723E -U+5C18 <> U+5875 -U+5C1D <> U+5617 -U+5C27 <> U+582F -U+5C34 <> U+5C37 -U+5C38 <> U+5C4D -U+5C3D <> U+5118 -U+5C42 <> U+5C64 -U+5C43 <> U+5C53 -U+5C49 <> U+5C5C -U+5C4A <> U+5C46 -U+5C5E <> U+5C6C -U+5C61 <> U+5C62 -U+5C66 <> U+5C68 -U+5C7F <> U+5DBC -U+5C81 <> U+6B72 -U+5C82 <> U+8C48 -U+5C96 <> U+5D87 -U+5C97 <> U+5D17 -U+5C98 <> U+5CF4 -U+5C99 <> U+5DB4 -U+5C9A <> U+5D50 -U+5C9B <> U+5CF6 -U+5CAD <> U+5DBA -U+5CBD <> U+5D2C -U+5CBF <> U+5DCB -U+5CC4 <> U+5DA7 -U+5CE1 <> U+5CFD -U+5CE3 <> U+5DA2 -U+5CE4 <> U+5DA0 -U+5CE5 <> U+5D22 -U+5CE6 <> U+5DD2 -U+5D02 <> U+5D97 -U+5D03 <> U+5D0D -U+5D04 <> U+5DAE -U+5D2D <> U+5D84 -U+5D58 <> U+5DB8 -U+5D5A <> U+5D94 -U+5D5D <> U+5D81 -U+5DC5 <> U+5DD4 -U+5DE9 <> U+978F -U+5DEF <> U+5DF0 -U+5E01 <> U+5E63 -U+5E05 <> U+5E25 -U+5E08 <> U+5E2B -U+5E0F <> U+5E43 -U+5E10 <> U+5E33 -U+5E18 <> U+7C3E -U+5E1C <> U+5E5F -U+5E26 <> U+5E36 -U+5E27 <> U+5E40 -U+5E2E <> U+5E6B -U+5E31 <> U+5E6C -U+5E3B <> U+5E58 -U+5E3C <> U+5E57 -U+5E42 <> U+51AA -U+5E72 <> U+4E7E -U+5E76 <> U+4E26 -U+5E7F <> U+5EE3 -U+5E84 <> U+838A -U+5E86 <> U+6176 -U+5E90 <> U+5EEC -U+5E91 <> U+5EE1 -U+5E93 <> U+5EAB -U+5E94 <> U+61C9 -U+5E99 <> U+5EDF -U+5E9E <> U+9F90 -U+5E9F <> U+5EE2 -U+5EEA <> U+5EE9 -U+5F00 <> U+958B -U+5F02 <> U+7570 -U+5F03 <> U+68C4 -U+5F11 <> U+5F12 -U+5F20 <> U+5F35 -U+5F25 <> U+5F4C -U+5F2A <> U+5F33 -U+5F2F <> U+5F4E -U+5F39 <> U+5F48 -U+5F3A <> U+5F37 -U+5F52 <> U+6B78 -U+5F53 <> U+5679 -U+5F55 <> U+9304 -U+5F5D <> U+5F5E -U+5F5F <> U+5F60 -U+5F66 <> U+5F65 -U+5F68 <> U+5F72 -U+5F7B <> U+5FB9 -U+5F81 <> U+5F81 -U+5F84 <> U+5F91 -U+5F95 <> U+5FA0 -U+5FA1 <> U+79A6 -U+5FB5 <> U+5FB5 -U+5FC6 <> U+61B6 -U+5FCF <> U+61FA -U+5FD7 <> U+5FD7 -U+5FE7 <> U+6182 -U+5FFE <> U+613E -U+6000 <> U+61F7 -U+6001 <> U+614B -U+6002 <> U+616B -U+6003 <> U+61AE -U+6004 <> U+616A -U+6005 <> U+60B5 -U+6006 <> U+6134 -U+601C <> U+6190 -U+603B <> U+7E3D -U+603C <> U+61DF -U+603F <> U+61CC -U+604B <> U+6200 -U+6052 <> U+6046 -U+6073 <> U+61C7 -U+6076 <> U+60E1 -U+6078 <> U+615F -U+6079 <> U+61E8 -U+607A <> U+6137 -U+607B <> U+60FB -U+607C <> U+60F1 -U+607D <> U+60F2 -U+60A6 <> U+6085 -U+60AB <> U+6128 -U+60AC <> U+61F8 -U+60AD <> U+6173 -U+60AE <> U+609E -U+60AF <> U+61AB -U+60CA <> U+9A5A -U+60E7 <> U+61FC -U+60E8 <> U+6158 -U+60E9 <> U+61F2 -U+60EB <> U+618A -U+60EC <> U+611C -U+60ED <> U+615A -U+60EE <> U+619A -U+60EF <> U+6163 -U+6120 <> U+614D -U+6124 <> U+61A4 -U+6126 <> U+6192 -U+613F <> U+613F -U+6151 <> U+61FE -U+61D1 <> U+61E3 -U+61D2 <> U+61F6 -U+61D4 <> U+61CD -U+6206 <> U+6207 -U+620B <> U+6214 -U+620F <> U+6232 -U+6217 <> U+6227 -U+6218 <> U+6230 -U+622C <> U+6229 -U+622F <> U+6231 -U+6237 <> U+6236 -U+6251 <> U+64B2 -U+6267 <> U+57F7 -U+6269 <> U+64F4 -U+626A <> U+636B -U+626B <> U+6383 -U+626C <> U+63DA -U+6270 <> U+64FE -U+629A <> U+64AB -U+629B <> U+62CB -U+629F <> U+6476 -U+62A0 <> U+6473 -U+62A1 <> U+6384 -U+62A2 <> U+6436 -U+62A4 <> U+8B77 -U+62A5 <> U+5831 -U+62C5 <> U+64D4 -U+62DF <> U+64EC -U+62E2 <> U+650F -U+62E3 <> U+63C0 -U+62E5 <> U+64C1 -U+62E6 <> U+6514 -U+62E7 <> U+64F0 -U+62E8 <> U+64A5 -U+62E9 <> U+64C7 -U+6302 <> U+639B -U+631A <> U+646F -U+631B <> U+6523 -U+631C <> U+6397 -U+631D <> U+64BE -U+631E <> U+64BB -U+631F <> U+633E -U+6320 <> U+6493 -U+6321 <> U+64CB -U+6322 <> U+649F -U+6323 <> U+6399 -U+6324 <> U+64E0 -U+6325 <> U+63EE -U+6326 <> U+648F -U+633D <> U+8F13 -U+635D <> U+6329 -U+635E <> U+6488 -U+635F <> U+640D -U+6361 <> U+64BF -U+6362 <> U+63DB -U+6363 <> U+6417 -U+636E <> U+64DA -U+63B3 <> U+64C4 -U+63B4 <> U+6451 -U+63B7 <> U+64F2 -U+63B8 <> U+64A3 -U+63BA <> U+647B -U+63BC <> U+645C -U+63FD <> U+652C -U+63FE <> U+6435 -U+63FF <> U+64B3 -U+6400 <> U+6519 -U+6401 <> U+64F1 -U+6402 <> U+645F -U+6405 <> U+652A -U+643A <> U+651C -U+6444 <> U+651D -U+6445 <> U+6504 -U+6446 <> U+64FA -U+6447 <> U+6416 -U+6448 <> U+64EF -U+644A <> U+6524 -U+6484 <> U+6516 -U+6491 <> U+6490 -U+64B5 <> U+6506 -U+64B7 <> U+64F7 -U+64B8 <> U+64FC -U+64BA <> U+651B -U+64DE <> U+64FB -U+6512 <> U+6522 -U+654C <> U+6575 -U+655B <> U+6582 -U+6569 <> U+6586 -U+6570 <> U+6578 -U+658B <> U+9F4B -U+6593 <> U+6595 -U+6597 <> U+9B25 -U+65A9 <> U+65AC -U+65AD <> U+65B7 -U+65E0 <> U+7121 -U+65E7 <> U+820A -U+65F6 <> U+6642 -U+65F7 <> U+66E0 -U+65F8 <> U+6698 -U+6619 <> U+66C7 -U+663C <> U+665D -U+663D <> U+66E8 -U+663E <> U+986F -U+664B <> U+6649 -U+6652 <> U+66EC -U+6653 <> U+66C9 -U+6654 <> U+66C4 -U+6655 <> U+6688 -U+6656 <> U+6689 -U+6682 <> U+66AB -U+66A7 <> U+66D6 -U+672F <> U+8853 -U+6734 <> U+6A38 -U+673A <> U+6A5F -U+6740 <> U+6BBA -U+6742 <> U+96DC -U+6743 <> U+6B0A -U+6746 <> U+687F -U+6761 <> U+689D -U+6765 <> U+4F86 -U+6768 <> U+694A -U+6769 <> U+69AA -U+6770 <> U+5091 -U+677E <> U+9B06 -U+677F <> U+95C6 -U+6781 <> U+6781 -U+6784 <> U+69CB -U+679E <> U+6A05 -U+67A2 <> U+6A1E -U+67A3 <> U+68D7 -U+67A5 <> U+6AEA -U+67A7 <> U+6898 -U+67A8 <> U+68D6 -U+67AA <> U+69CD -U+67AB <> U+6953 -U+67AD <> U+689F -U+67DC <> U+6AC3 -U+67E0 <> U+6AB8 -U+67FD <> U+6A89 -U+6800 <> U+6894 -U+6805 <> U+67F5 -U+6807 <> U+6A19 -U+6808 <> U+68E7 -U+6809 <> U+6ADB -U+680A <> U+6AF3 -U+680B <> U+68DF -U+680C <> U+6AE8 -U+680E <> U+6ADF -U+680F <> U+6B04 -U+6811 <> U+6A39 -U+6816 <> U+68F2 -U+6817 <> U+6144 -U+6837 <> U+6A23 -U+683E <> U+6B12 -U+6860 <> U+690F -U+6861 <> U+6A48 -U+6862 <> U+6968 -U+6863 <> U+6A94 -U+6864 <> U+69BF -U+6865 <> U+6A4B -U+6866 <> U+6A3A -U+6867 <> U+6A9C -U+6868 <> U+69F3 -U+6869 <> U+6A01 -U+686A <> U+6A33 -U+68A6 <> U+5922 -U+68BC <> U+6AAE -U+68BE <> U+68F6 -U+68BF <> U+69E4 -U+68C0 <> U+6AA2 -U+68C1 <> U+68B2 -U+68C2 <> U+6B1E -U+6901 <> U+69E8 -U+691D <> U+69FC -U+691F <> U+6ADD -U+6920 <> U+69E7 -U+6922 <> U+69F6 -U+6924 <> U+6B0F -U+692B <> U+6A3F -U+692D <> U+6A62 -U+697C <> U+6A13 -U+6984 <> U+6B16 -U+6985 <> U+69B2 -U+6987 <> U+6AEC -U+6988 <> U+6ADA -U+6989 <> U+6AF8 -U+69DA <> U+6A9F -U+69DB <> U+6ABB -U+69DF <> U+6AB3 -U+69E0 <> U+6AE7 -U+6A2A <> U+6A6B -U+6A2F <> U+6AA3 -U+6A31 <> U+6AFB -U+6A65 <> U+6AEB -U+6A71 <> U+6AE5 -U+6A79 <> U+6AD3 -U+6A7C <> U+6ADE -U+6AA9 <> U+6A81 -U+6B22 <> U+6B61 -U+6B24 <> U+6B5F -U+6B27 <> U+6B50 -U+6B7C <> U+6BB2 -U+6B81 <> U+6B7F -U+6B87 <> U+6BA4 -U+6B8B <> U+6B98 -U+6B92 <> U+6B9E -U+6B93 <> U+6BAE -U+6B9A <> U+6BAB -U+6BA1 <> U+6BAF -U+6BB4 <> U+6BC6 -U+6BC1 <> U+6BC0 -U+6BC2 <> U+8F42 -U+6BD5 <> U+7562 -U+6BD9 <> U+6583 -U+6BE1 <> U+6C08 -U+6BF5 <> U+6BFF -U+6C07 <> U+6C0C -U+6C14 <> U+6C23 -U+6C22 <> U+6C2B -U+6C29 <> U+6C2C -U+6C32 <> U+6C33 -U+6C47 <> U+532F -U+6C49 <> U+6F22 -U+6C64 <> U+6E6F -U+6C79 <> U+6D36 -U+6C88 <> U+700B -U+6C9F <> U+6E9D -U+6CA1 <> U+6C92 -U+6CA3 <> U+7043 -U+6CA4 <> U+6F1A -U+6CA5 <> U+701D -U+6CA6 <> U+6DEA -U+6CA7 <> U+6EC4 -U+6CA8 <> U+6E22 -U+6CA9 <> U+6E88 -U+6CAA <> U+6EEC -U+6CDE <> U+6FD8 -U+6CE8 <> U+8A3B -U+6CEA <> U+6DDA -U+6CF6 <> U+6FA9 -U+6CF7 <> U+7027 -U+6CF8 <> U+7018 -U+6CFA <> U+6FFC -U+6CFB <> U+7009 -U+6CFC <> U+6F51 -U+6CFD <> U+6FA4 -U+6CFE <> U+6D87 -U+6D01 <> U+6F54 -U+6D12 <> U+7051 -U+6D3C <> U+7AAA -U+6D43 <> U+6D79 -U+6D45 <> U+6DFA -U+6D46 <> U+6F3F -U+6D47 <> U+6F86 -U+6D48 <> U+6E5E -U+6D4A <> U+6FC1 -U+6D4B <> U+6E2C -U+6D4D <> U+6FAE -U+6D4E <> U+6FDF -U+6D4F <> U+700F -U+6D50 <> U+6EFB -U+6D51 <> U+6E3E -U+6D52 <> U+6EF8 -U+6D53 <> U+6FC3 -U+6D54 <> U+6F6F -U+6D55 <> U+6FDC -U+6D82 <> U+5857 -U+6D9B <> U+6FE4 -U+6D9D <> U+6F87 -U+6D9E <> U+6DF6 -U+6D9F <> U+6F23 -U+6DA0 <> U+6F7F -U+6DA1 <> U+6E26 -U+6DA2 <> U+6EB3 -U+6DA3 <> U+6E19 -U+6DA4 <> U+6ECC -U+6DA6 <> U+6F64 -U+6DA7 <> U+6F97 -U+6DA8 <> U+6F32 -U+6DA9 <> U+6F80 -U+6DC0 <> U+6FB1 -U+6E0A <> U+6DF5 -U+6E0C <> U+6DE5 -U+6E0D <> U+6F2C -U+6E0E <> U+7006 -U+6E10 <> U+6F38 -U+6E11 <> U+6FA0 -U+6E14 <> U+6F01 -U+6E17 <> U+6EF2 -U+6E29 <> U+6EAB -U+6E7E <> U+7063 -U+6E7F <> U+6FD5 -U+6E83 <> U+6F70 -U+6E85 <> U+6FFA -U+6E86 <> U+6F35 -U+6E87 <> U+6F0A -U+6ED7 <> U+6F77 -U+6EDA <> U+6EFE -U+6EDE <> U+6EEF -U+6EDF <> U+7067 -U+6EE0 <> U+7044 -U+6EE1 <> U+6EFF -U+6EE2 <> U+7005 -U+6EE4 <> U+6FFE -U+6EE5 <> U+6FEB -U+6EE6 <> U+7064 -U+6EE8 <> U+6FF1 -U+6EE9 <> U+7058 -U+6EEA <> U+6FA6 -U+6F13 <> U+7055 -U+6F24 <> U+7060 -U+6F46 <> U+7020 -U+6F47 <> U+701F -U+6F4B <> U+7032 -U+6F4D <> U+6FF0 -U+6F5C <> U+6F5B -U+6F74 <> U+7026 -U+6F9B <> U+7002 -U+6F9C <> U+703E -U+6FD1 <> U+7028 -U+6FD2 <> U+7015 -U+704F <> U+705D -U+706D <> U+6EC5 -U+706F <> U+71C8 -U+7075 <> U+9748 -U+707E <> U+707D -U+707F <> U+71E6 -U+7080 <> U+716C -U+7089 <> U+7210 -U+709C <> U+7152 -U+709D <> U+7197 -U+70B9 <> U+9EDE -U+70BC <> U+7149 -U+70BD <> U+71BE -U+70C1 <> U+720D -U+70C2 <> U+721B -U+70C3 <> U+70F4 -U+70DB <> U+71ED -U+70DF <> U+7159 -U+70E6 <> U+7169 -U+70E7 <> U+71D2 -U+70E8 <> U+71C1 -U+70E9 <> U+71F4 -U+70EB <> U+71D9 -U+70EC <> U+71FC -U+70ED <> U+71B1 -U+7115 <> U+7165 -U+7116 <> U+71DC -U+7118 <> U+71FE -U+7174 <> U+7185 -U+7231 <> U+611B -U+7237 <> U+723A -U+724D <> U+7258 -U+7266 <> U+6C02 -U+7275 <> U+727D -U+727A <> U+72A7 -U+728A <> U+72A2 -U+72B6 <> U+72C0 -U+72B7 <> U+7377 -U+72B8 <> U+7341 -U+72B9 <> U+7336 -U+72C8 <> U+72FD -U+72DD <> U+736E -U+72DE <> U+7370 -U+72EC <> U+7368 -U+72ED <> U+72F9 -U+72EE <> U+7345 -U+72EF <> U+736A -U+72F0 <> U+7319 -U+72F1 <> U+7344 -U+72F2 <> U+733B -U+7303 <> U+736B -U+730E <> U+7375 -U+7315 <> U+737C -U+7321 <> U+7380 -U+732A <> U+8C6C -U+732B <> U+8C93 -U+732C <> U+875F -U+732E <> U+737B -U+736D <> U+737A -U+7391 <> U+74A3 -U+739A <> U+7452 -U+739B <> U+746A -U+73AE <> U+744B -U+73AF <> U+74B0 -U+73B0 <> U+73FE -U+73B1 <> U+7472 -U+73BA <> U+74BD -U+73D0 <> U+743A -U+73D1 <> U+74CF -U+73F0 <> U+74AB -U+73F2 <> U+743F -U+740F <> U+7489 -U+7410 <> U+7463 -U+743C <> U+74CA -U+7476 <> U+7464 -U+7477 <> U+74A6 -U+748E <> U+74D4 -U+74D2 <> U+74DA -U+74EF <> U+750C -U+7535 <> U+96FB -U+753B <> U+756B -U+7545 <> U+66A2 -U+7574 <> U+7587 -U+7596 <> U+7664 -U+7597 <> U+7642 -U+759F <> U+7627 -U+75A0 <> U+7658 -U+75A1 <> U+760D -U+75AC <> U+7667 -U+75AD <> U+7632 -U+75AE <> U+7621 -U+75AF <> U+760B -U+75B1 <> U+76B0 -U+75B4 <> U+75FE -U+75C7 <> U+7665 -U+75C8 <> U+7670 -U+75C9 <> U+75D9 -U+75D2 <> U+7662 -U+75D6 <> U+7602 -U+75E8 <> U+7646 -U+75EA <> U+7613 -U+75EB <> U+7647 -U+7605 <> U+7649 -U+7606 <> U+762E -U+7617 <> U+761E -U+7618 <> U+763A -U+762A <> U+765F -U+762B <> U+7671 -U+763E <> U+766E -U+763F <> U+766D -U+765E <> U+7669 -U+7663 <> U+766C -U+766B <> U+7672 -U+7691 <> U+769A -U+76B1 <> U+76BA -U+76B2 <> U+76B8 -U+76CF <> U+76DE -U+76D0 <> U+9E7D -U+76D1 <> U+76E3 -U+76D6 <> U+84CB -U+76D7 <> U+76DC -U+76D8 <> U+76E4 -U+770D <> U+7798 -U+7726 <> U+7725 -U+772C <> U+77D3 -U+7740 <> U+8457 -U+7741 <> U+775C -U+7750 <> U+775E -U+7751 <> U+77BC -U+7786 <> U+77B6 -U+7792 <> U+779E -U+77A9 <> U+77DA -U+77EB <> U+77EF -U+77F6 <> U+78EF -U+77FE <> U+792C -U+77FF <> U+7926 -U+7800 <> U+78AD -U+7801 <> U+78BC -U+7816 <> U+78DA -U+7817 <> U+7868 -U+781A <> U+786F -U+781C <> U+78B8 -U+783A <> U+792A -U+783B <> U+7931 -U+783E <> U+792B -U+7840 <> U+790E -U+7841 <> U+785C -U+7855 <> U+78A9 -U+7856 <> U+7864 -U+7857 <> U+78FD -U+7859 <> U+78D1 -U+785A <> U+7904 -U+786E <> U+78BA -U+7875 <> U+78E0 -U+7877 <> U+7906 -U+788D <> U+7919 -U+789B <> U+78E7 -U+789C <> U+78E3 -U+793C <> U+79AE -U+7943 <> U+79A1 -U+794E <> U+7995 -U+7962 <> U+79B0 -U+796F <> U+798E -U+7977 <> U+79B1 -U+7978 <> U+798D -U+7980 <> U+7A1F -U+7984 <> U+797F -U+7985 <> U+79AA -U+79BB <> U+96E2 -U+79C3 <> U+79BF -U+79C6 <> U+7A08 -U+79CD <> U+7A2E -U+79EF <> U+7A4D -U+79F0 <> U+7A31 -U+79FD <> U+7A62 -U+79FE <> U+7A60 -U+7A06 <> U+7A6D -U+7A0E <> U+7A05 -U+7A23 <> U+7A4C -U+7A33 <> U+7A69 -U+7A51 <> U+7A61 -U+7A77 <> U+7AAE -U+7A83 <> U+7ACA -U+7A8D <> U+7AC5 -U+7A8E <> U+7AB5 -U+7A91 <> U+7AAF -U+7A9C <> U+7AC4 -U+7A9D <> U+7AA9 -U+7AA5 <> U+7ABA -U+7AA6 <> U+7AC7 -U+7AAD <> U+7AB6 -U+7AD6 <> U+8C4E -U+7ADE <> U+7AF6 -U+7B03 <> U+7BE4 -U+7B0B <> U+7B4D -U+7B14 <> U+7B46 -U+7B15 <> U+7B67 -U+7B3A <> U+7B8B -U+7B3C <> U+7C60 -U+7B3E <> U+7C69 -U+7B51 <> U+7BC9 -U+7B5A <> U+7BF3 -U+7B5B <> U+7BE9 -U+7B5C <> U+7C39 -U+7B5D <> U+7B8F -U+7B79 <> U+7C4C -U+7B7C <> U+7BD4 -U+7B7E <> U+7C3D -U+7B80 <> U+7C21 -U+7B93 <> U+7C59 -U+7BA6 <> U+7C00 -U+7BA7 <> U+7BCB -U+7BA8 <> U+7C5C -U+7BA9 <> U+7C6E -U+7BAA <> U+7C1E -U+7BAB <> U+7C2B -U+7BD1 <> U+7C23 -U+7BD3 <> U+7C0D -U+7BEE <> U+7C43 -U+7BEF <> U+7C5B -U+7BF1 <> U+7C6C -U+7C16 <> U+7C6A -U+7C41 <> U+7C5F -U+7C74 <> U+7CF4 -U+7C7B <> U+985E -U+7C7C <> U+79C8 -U+7C9C <> U+7CF6 -U+7C9D <> U+7CF2 -U+7CA4 <> U+7CB5 -U+7CAA <> U+7CDE -U+7CAE <> U+7CE7 -U+7CC1 <> U+7CDD -U+7CC7 <> U+9931 -U+7CFB <> U+4FC2 -U+7D27 <> U+7DCA -U+7D2F <> U+7E8D -U+7D77 <> U+7E36 -U+7E9F <> U+7CF9 -U+7EA0 <> U+7CFE -U+7EA1 <> U+7D06 -U+7EA2 <> U+7D05 -U+7EA3 <> U+7D02 -U+7EA4 <> U+7E96 -U+7EA5 <> U+7D07 -U+7EA6 <> U+7D04 -U+7EA7 <> U+7D1A -U+7EA8 <> U+7D08 -U+7EA9 <> U+7E8A -U+7EAA <> U+7D00 -U+7EAB <> U+7D09 -U+7EAC <> U+7DEF -U+7EAD <> U+7D1C -U+7EAE <> U+7D18 -U+7EAF <> U+7D14 -U+7EB0 <> U+7D15 -U+7EB1 <> U+7D17 -U+7EB2 <> U+7DB1 -U+7EB3 <> U+7D0D -U+7EB4 <> U+7D1D -U+7EB5 <> U+7E31 -U+7EB6 <> U+7DB8 -U+7EB7 <> U+7D1B -U+7EB8 <> U+7D19 -U+7EB9 <> U+7D0B -U+7EBA <> U+7D21 -U+7EBB <> U+7D35 -U+7EBC <> U+7D16 -U+7EBD <> U+7D10 -U+7EBE <> U+7D13 -U+7EBF <> U+7DDA -U+7EC0 <> U+7D3A -U+7EC1 <> U+7D32 -U+7EC2 <> U+7D31 -U+7EC3 <> U+7DF4 -U+7EC4 <> U+7D44 -U+7EC5 <> U+7D33 -U+7EC6 <> U+7D30 -U+7EC7 <> U+7E54 -U+7EC8 <> U+7D42 -U+7EC9 <> U+7E10 -U+7ECA <> U+7D46 -U+7ECB <> U+7D3C -U+7ECC <> U+7D40 -U+7ECD <> U+7D39 -U+7ECE <> U+7E79 -U+7ECF <> U+7D93 -U+7ED0 <> U+7D3F -U+7ED1 <> U+7D81 -U+7ED2 <> U+7D68 -U+7ED3 <> U+7D50 -U+7ED4 <> U+7D5D -U+7ED5 <> U+7E5E -U+7ED6 <> U+7D70 -U+7ED7 <> U+7D4E -U+7ED8 <> U+7E6A -U+7ED9 <> U+7D66 -U+7EDA <> U+7D62 -U+7EDB <> U+7D73 -U+7EDC <> U+7D61 -U+7EDD <> U+7D55 -U+7EDE <> U+7D5E -U+7EDF <> U+7D71 -U+7EE0 <> U+7D86 -U+7EE1 <> U+7D83 -U+7EE2 <> U+7D79 -U+7EE3 <> U+7E61 -U+7EE4 <> U+7D8C -U+7EE5 <> U+7D8F -U+7EE6 <> U+7D5B -U+7EE7 <> U+7E7C -U+7EE8 <> U+7D88 -U+7EE9 <> U+7E3E -U+7EEA <> U+7DD2 -U+7EEB <> U+7DBE -U+7EEC <> U+7DD3 -U+7EED <> U+7E8C -U+7EEE <> U+7DBA -U+7EEF <> U+7DCB -U+7EF0 <> U+7DBD -U+7EF1 <> U+979D -U+7EF2 <> U+7DC4 -U+7EF3 <> U+7E69 -U+7EF4 <> U+7DAD -U+7EF5 <> U+7DBF -U+7EF6 <> U+7DAC -U+7EF7 <> U+7E43 -U+7EF8 <> U+7DA2 -U+7EF9 <> U+7DAF -U+7EFA <> U+7DB9 -U+7EFB <> U+7DA3 -U+7EFC <> U+7D9C -U+7EFD <> U+7DBB -U+7EFE <> U+7DB0 -U+7EFF <> U+7DA0 -U+7F00 <> U+7DB4 -U+7F01 <> U+7DC7 -U+7F02 <> U+7DD9 -U+7F03 <> U+7DD7 -U+7F04 <> U+7DD8 -U+7F05 <> U+7DEC -U+7F06 <> U+7E9C -U+7F07 <> U+7DF9 -U+7F08 <> U+7DF2 -U+7F09 <> U+7DDD -U+7F0A <> U+7E15 -U+7F0B <> U+7E62 -U+7F0C <> U+7DE6 -U+7F0D <> U+7D9E -U+7F0E <> U+7DDE -U+7F0F <> U+7DF6 -U+7F11 <> U+7DF1 -U+7F12 <> U+7E0B -U+7F13 <> U+7DE9 -U+7F14 <> U+7DE0 -U+7F15 <> U+7E37 -U+7F16 <> U+7DE8 -U+7F17 <> U+7DE1 -U+7F18 <> U+7DE3 -U+7F19 <> U+7E09 -U+7F1A <> U+7E1B -U+7F1B <> U+7E1F -U+7F1C <> U+7E1D -U+7F1D <> U+7E2B -U+7F1E <> U+7E17 -U+7F1F <> U+7E1E -U+7F20 <> U+7E8F -U+7F21 <> U+7E2D -U+7F22 <> U+7E0A -U+7F23 <> U+7E11 -U+7F24 <> U+7E7D -U+7F25 <> U+7E39 -U+7F26 <> U+7E35 -U+7F27 <> U+7E32 -U+7F28 <> U+7E93 -U+7F29 <> U+7E2E -U+7F2A <> U+7E46 -U+7F2B <> U+7E45 -U+7F2C <> U+7E88 -U+7F2D <> U+7E5A -U+7F2E <> U+7E55 -U+7F2F <> U+7E52 -U+7F30 <> U+97C1 -U+7F31 <> U+7E7E -U+7F32 <> U+7E70 -U+7F33 <> U+7E6F -U+7F34 <> U+7E73 -U+7F35 <> U+7E98 -U+7F42 <> U+7F4C -U+7F51 <> U+7DB2 -U+7F57 <> U+7F85 -U+7F5A <> U+7F70 -U+7F62 <> U+7F77 -U+7F74 <> U+7F86 -U+7F81 <> U+7F88 -U+7F9F <> U+7FA5 -U+7FD8 <> U+7FF9 -U+7FD9 <> U+7FFD -U+7FDA <> U+7FEC -U+8022 <> U+802E -U+8027 <> U+802C -U+8038 <> U+8073 -U+803B <> U+6065 -U+8042 <> U+8076 -U+804B <> U+807E -U+804C <> U+8077 -U+804D <> U+8079 -U+8054 <> U+806F -U+8069 <> U+8075 -U+806A <> U+8070 -U+8083 <> U+8085 -U+80A0 <> U+8178 -U+80A4 <> U+819A -U+80AE <> U+9AAF -U+80B4 <> U+991A -U+80BE <> U+814E -U+80BF <> U+816B -U+80C0 <> U+8139 -U+80C1 <> U+8105 -U+80C6 <> U+81BD -U+80DC <> U+52DD -U+80E1 <> U+885A -U+80E7 <> U+6727 -U+80E8 <> U+8156 -U+80EA <> U+81DA -U+80EB <> U+811B -U+80F6 <> U+81A0 -U+8109 <> U+8108 -U+810D <> U+81BE -U+810F <> U+81DF -U+8110 <> U+81CD -U+8111 <> U+8166 -U+8113 <> U+81BF -U+8114 <> U+81E0 -U+811A <> U+8173 -U+8131 <> U+812B -U+8136 <> U+8161 -U+8138 <> U+81C9 -U+814A <> U+81D8 -U+8158 <> U+8195 -U+816D <> U+9F76 -U+817B <> U+81A9 -U+817C <> U+9766 -U+817D <> U+8183 -U+817E <> U+9A30 -U+8191 <> U+81CF -U+81DC <> U+81E2 -U+81F4 <> U+7DFB -U+8206 <> U+8F3F -U+820D <> U+6368 -U+8223 <> U+8264 -U+8230 <> U+8266 -U+8231 <> U+8259 -U+823B <> U+826B -U+8270 <> U+8271 -U+8273 <> U+8277 -U+827A <> U+85DD -U+8282 <> U+7BC0 -U+8288 <> U+7F8B -U+8297 <> U+858C -U+829C <> U+856A -U+82A6 <> U+8606 -U+82B8 <> U+8553 -U+82C1 <> U+84EF -U+82C7 <> U+8466 -U+82C8 <> U+85F6 -U+82CB <> U+83A7 -U+82CC <> U+8407 -U+82CD <> U+84BC -U+82CE <> U+82E7 -U+82CF <> U+8607 -U+82E7 <> U+85B4 -U+82F9 <> U+860B -U+8303 <> U+7BC4 -U+830E <> U+8396 -U+830F <> U+8622 -U+8311 <> U+8526 -U+8314 <> U+584B -U+8315 <> U+7162 -U+8327 <> U+7E6D -U+8346 <> U+834A -U+8350 <> U+85A6 -U+8359 <> U+8598 -U+835A <> U+83A2 -U+835B <> U+8558 -U+835C <> U+84FD -U+835D <> U+8434 -U+835E <> U+854E -U+835F <> U+8588 -U+8360 <> U+85BA -U+8361 <> U+76EA -U+8363 <> U+69AE -U+8364 <> U+8477 -U+8365 <> U+6ECE -U+8366 <> U+7296 -U+8367 <> U+7192 -U+8368 <> U+8541 -U+8369 <> U+85CE -U+836A <> U+84C0 -U+836B <> U+852D -U+836C <> U+8552 -U+836D <> U+8452 -U+836E <> U+8464 -U+836F <> U+85E5 -U+8385 <> U+849E -U+83B1 <> U+840A -U+83B2 <> U+84EE -U+83B3 <> U+8494 -U+83B4 <> U+8435 -U+83B6 <> U+859F -U+83B7 <> U+7372 -U+83B8 <> U+8555 -U+83B9 <> U+7469 -U+83BA <> U+9DAF -U+83BC <> U+84F4 -U+841D <> U+863F -U+8424 <> U+87A2 -U+8425 <> U+71DF -U+8426 <> U+7E08 -U+8427 <> U+856D -U+8428 <> U+85A9 -U+8471 <> U+8525 -U+8487 <> U+8546 -U+8489 <> U+8562 -U+848B <> U+8523 -U+848C <> U+851E -U+84DD <> U+85CD -U+84DF <> U+858A -U+84E0 <> U+863A -U+84E3 <> U+8577 -U+84E5 <> U+93A3 -U+84E6 <> U+9A40 -U+8502 <> U+8646 -U+8537 <> U+8594 -U+8539 <> U+861E -U+853A <> U+85FA -U+853C <> U+85F9 -U+8570 <> U+8580 -U+8572 <> U+8604 -U+8574 <> U+860A -U+85AE <> U+85EA -U+85D3 <> U+861A -U+8616 <> U+6AF1 -U+864F <> U+865C -U+8651 <> U+616E -U+865A <> U+865B -U+866B <> U+87F2 -U+866C <> U+866F -U+866E <> U+87E3 -U+867D <> U+96D6 -U+867E <> U+8766 -U+867F <> U+8806 -U+8680 <> U+8755 -U+8681 <> U+87FB -U+8682 <> U+879E -U+8683 <> U+8801 -U+8695 <> U+8836 -U+86AC <> U+8706 -U+86CA <> U+8831 -U+86CE <> U+8823 -U+86CF <> U+87F6 -U+86EE <> U+883B -U+86F0 <> U+87C4 -U+86F1 <> U+86FA -U+86F2 <> U+87EF -U+86F3 <> U+8784 -U+86F4 <> U+8810 -U+8715 <> U+86FB -U+8717 <> U+8778 -U+8721 <> U+8721 -U+8747 <> U+8805 -U+8748 <> U+87C8 -U+8749 <> U+87EC -U+877C <> U+87BB -U+877E <> U+8811 -U+8780 <> U+87BF -U+87A8 <> U+87CE -U+87CF <> U+8828 -U+8845 <> U+91C1 -U+8854 <> U+929C -U+8865 <> U+88DC -U+8868 <> U+9336 -U+886C <> U+896F -U+886E <> U+889E -U+8884 <> U+8956 -U+8885 <> U+88CA -U+8886 <> U+8918 -U+889C <> U+896A -U+88AD <> U+8972 -U+88AF <> U+894F -U+88C5 <> U+88DD -U+88C6 <> U+8960 -U+88C8 <> U+890C -U+88E2 <> U+8933 -U+88E3 <> U+895D -U+88E4 <> U+8932 -U+88E5 <> U+8949 -U+891B <> U+8938 -U+8934 <> U+8964 -U+8955 <> U+8974 -U+89C1 <> U+898B -U+89C2 <> U+89C0 -U+89C3 <> U+898E -U+89C4 <> U+898F -U+89C5 <> U+8993 -U+89C6 <> U+8996 -U+89C7 <> U+8998 -U+89C8 <> U+89BD -U+89C9 <> U+89BA -U+89CA <> U+89AC -U+89CB <> U+89A1 -U+89CC <> U+89BF -U+89CD <> U+89A5 -U+89CE <> U+89A6 -U+89CF <> U+89AF -U+89D0 <> U+89B2 -U+89D1 <> U+89B7 -U+89DE <> U+89F4 -U+89E6 <> U+89F8 -U+89EF <> U+89F6 -U+8A1A <> U+8ABE -U+8A5F <> U+8B8B -U+8A89 <> U+8B7D -U+8A8A <> U+8B04 -U+8BA0 <> U+8A01 -U+8BA1 <> U+8A08 -U+8BA2 <> U+8A02 -U+8BA3 <> U+8A03 -U+8BA4 <> U+8A8D -U+8BA5 <> U+8B4F -U+8BA6 <> U+8A10 -U+8BA7 <> U+8A0C -U+8BA8 <> U+8A0E -U+8BA9 <> U+8B93 -U+8BAA <> U+8A15 -U+8BAB <> U+8A16 -U+8BAC <> U+8A17 -U+8BAD <> U+8A13 -U+8BAE <> U+8B70 -U+8BAF <> U+8A0A -U+8BB0 <> U+8A18 -U+8BB1 <> U+8A12 -U+8BB2 <> U+8B1B -U+8BB3 <> U+8AF1 -U+8BB4 <> U+8B33 -U+8BB5 <> U+8A4E -U+8BB6 <> U+8A1D -U+8BB7 <> U+8A25 -U+8BB8 <> U+8A31 -U+8BB9 <> U+8A1B -U+8BBA <> U+8AD6 -U+8BBB <> U+8A29 -U+8BBC <> U+8A1F -U+8BBD <> U+8AF7 -U+8BBE <> U+8A2D -U+8BBF <> U+8A2A -U+8BC0 <> U+8A23 -U+8BC1 <> U+8B49 -U+8BC2 <> U+8A41 -U+8BC3 <> U+8A36 -U+8BC4 <> U+8A55 -U+8BC5 <> U+8A5B -U+8BC6 <> U+8B58 -U+8BC7 <> U+8A57 -U+8BC8 <> U+8A50 -U+8BC9 <> U+8A34 -U+8BCA <> U+8A3A -U+8BCB <> U+8A46 -U+8BCC <> U+8B05 -U+8BCD <> U+8A5E -U+8BCE <> U+8A58 -U+8BCF <> U+8A54 -U+8BD0 <> U+8A56 -U+8BD1 <> U+8B6F -U+8BD2 <> U+8A52 -U+8BD3 <> U+8A86 -U+8BD4 <> U+8A84 -U+8BD5 <> U+8A66 -U+8BD6 <> U+8A7F -U+8BD7 <> U+8A69 -U+8BD8 <> U+8A70 -U+8BD9 <> U+8A7C -U+8BDA <> U+8AA0 -U+8BDB <> U+8A85 -U+8BDC <> U+8A75 -U+8BDD <> U+8A71 -U+8BDE <> U+8A95 -U+8BDF <> U+8A6C -U+8BE0 <> U+8A6E -U+8BE1 <> U+8A6D -U+8BE2 <> U+8A62 -U+8BE3 <> U+8A63 -U+8BE4 <> U+8ACD -U+8BE5 <> U+8A72 -U+8BE6 <> U+8A73 -U+8BE7 <> U+8A6B -U+8BE8 <> U+8AE2 -U+8BE9 <> U+8A61 -U+8BEA <> U+8B78 -U+8BEB <> U+8AA1 -U+8BEC <> U+8AA3 -U+8BED <> U+8A9E -U+8BEE <> U+8A9A -U+8BEF <> U+8AA4 -U+8BF0 <> U+8AA5 -U+8BF1 <> U+8A98 -U+8BF2 <> U+8AA8 -U+8BF3 <> U+8A91 -U+8BF4 <> U+8AAA -U+8BF5 <> U+8AA6 -U+8BF6 <> U+8A92 -U+8BF7 <> U+8ACB -U+8BF8 <> U+8AF8 -U+8BF9 <> U+8ACF -U+8BFA <> U+8AFE -U+8BFB <> U+8B80 -U+8BFC <> U+8AD1 -U+8BFD <> U+8AB9 -U+8BFE <> U+8AB2 -U+8BFF <> U+8AC9 -U+8C00 <> U+8ADB -U+8C01 <> U+8AB0 -U+8C02 <> U+8AD7 -U+8C03 <> U+8ABF -U+8C04 <> U+8AC2 -U+8C05 <> U+8AD2 -U+8C06 <> U+8AC4 -U+8C07 <> U+8AB6 -U+8C08 <> U+8AC7 -U+8C0A <> U+8ABC -U+8C0B <> U+8B00 -U+8C0C <> U+8AF6 -U+8C0D <> U+8ADC -U+8C0E <> U+8B0A -U+8C0F <> U+8AEB -U+8C10 <> U+8AE7 -U+8C11 <> U+8B14 -U+8C12 <> U+8B01 -U+8C13 <> U+8B02 -U+8C14 <> U+8AE4 -U+8C15 <> U+8AED -U+8C16 <> U+8AFC -U+8C17 <> U+8B92 -U+8C18 <> U+8AEE -U+8C19 <> U+8AF3 -U+8C1A <> U+8AFA -U+8C1B <> U+8AE6 -U+8C1C <> U+8B0E -U+8C1D <> U+8ADE -U+8C1E <> U+8ADD -U+8C1F <> U+8B28 -U+8C20 <> U+8B9C -U+8C21 <> U+8B16 -U+8C22 <> U+8B1D -U+8C23 <> U+8B20 -U+8C24 <> U+8B17 -U+8C25 <> U+8B1A -U+8C26 <> U+8B19 -U+8C27 <> U+8B10 -U+8C28 <> U+8B39 -U+8C29 <> U+8B3E -U+8C2A <> U+8B2B -U+8C2B <> U+8B7E -U+8C2C <> U+8B2C -U+8C2D <> U+8B5A -U+8C2E <> U+8B56 -U+8C2F <> U+8B59 -U+8C30 <> U+8B95 -U+8C31 <> U+8B5C -U+8C32 <> U+8B4E -U+8C33 <> U+8B9E -U+8C34 <> U+8B74 -U+8C35 <> U+8B6B -U+8C36 <> U+8B96 -U+8C37 <> U+7A40 -U+8C6E <> U+8C76 -U+8D1D <> U+8C9D -U+8D1E <> U+8C9E -U+8D1F <> U+8CA0 -U+8D20 <> U+8C9F -U+8D21 <> U+8CA2 -U+8D22 <> U+8CA1 -U+8D23 <> U+8CAC -U+8D24 <> U+8CE2 -U+8D25 <> U+6557 -U+8D26 <> U+8CEC -U+8D27 <> U+8CA8 -U+8D28 <> U+8CEA -U+8D29 <> U+8CA9 -U+8D2A <> U+8CAA -U+8D2B <> U+8CA7 -U+8D2C <> U+8CB6 -U+8D2D <> U+8CFC -U+8D2E <> U+8CAF -U+8D2F <> U+8CAB -U+8D30 <> U+8CB3 -U+8D31 <> U+8CE4 -U+8D32 <> U+8CC1 -U+8D33 <> U+8CB0 -U+8D34 <> U+8CBC -U+8D35 <> U+8CB4 -U+8D36 <> U+8CBA -U+8D37 <> U+8CB8 -U+8D38 <> U+8CBF -U+8D39 <> U+8CBB -U+8D3A <> U+8CC0 -U+8D3B <> U+8CBD -U+8D3C <> U+8CCA -U+8D3D <> U+8D04 -U+8D3E <> U+8CC8 -U+8D3F <> U+8CC4 -U+8D40 <> U+8CB2 -U+8D41 <> U+8CC3 -U+8D42 <> U+8CC2 -U+8D43 <> U+8D13 -U+8D44 <> U+8CC7 -U+8D45 <> U+8CC5 -U+8D46 <> U+8D10 -U+8D47 <> U+8CD5 -U+8D48 <> U+8CD1 -U+8D49 <> U+8CDA -U+8D4A <> U+8CD2 -U+8D4B <> U+8CE6 -U+8D4C <> U+8CED -U+8D4D <> U+9F4E -U+8D4E <> U+8D16 -U+8D4F <> U+8CDE -U+8D50 <> U+8CDC -U+8D51 <> U+8D14 -U+8D52 <> U+8CD9 -U+8D53 <> U+8CE1 -U+8D54 <> U+8CE0 -U+8D55 <> U+8CE7 -U+8D56 <> U+8CF4 -U+8D57 <> U+8CF5 -U+8D58 <> U+8D05 -U+8D59 <> U+8CFB -U+8D5A <> U+8CFA -U+8D5B <> U+8CFD -U+8D5C <> U+8CFE -U+8D5D <> U+8D17 -U+8D5E <> U+8D0A -U+8D5F <> U+8D07 -U+8D60 <> U+8D08 -U+8D61 <> U+8D0D -U+8D62 <> U+8D0F -U+8D63 <> U+8D1B -U+8D6A <> U+8D6C -U+8D75 <> U+8D99 -U+8D76 <> U+8D95 -U+8D8B <> U+8DA8 -U+8DB1 <> U+8DB2 -U+8DB8 <> U+8E89 -U+8DC3 <> U+8E8D -U+8DC4 <> U+8E4C -U+8DDE <> U+8E92 -U+8DF5 <> U+8E10 -U+8DF6 <> U+8E82 -U+8DF7 <> U+8E7A -U+8DF8 <> U+8E55 -U+8DF9 <> U+8E9A -U+8DFB <> U+8E8B -U+8E0A <> U+8E34 -U+8E0C <> U+8E8A -U+8E2A <> U+8E64 -U+8E2C <> U+8E93 -U+8E2F <> U+8E91 -U+8E51 <> U+8EA1 -U+8E52 <> U+8E63 -U+8E70 <> U+8E95 -U+8E7F <> U+8EA5 -U+8E8F <> U+8EAA -U+8E9C <> U+8EA6 -U+8EAF <> U+8EC0 -U+8F66 <> U+8ECA -U+8F67 <> U+8ECB -U+8F68 <> U+8ECC -U+8F69 <> U+8ED2 -U+8F6A <> U+8ED1 -U+8F6B <> U+8ED4 -U+8F6C <> U+8F49 -U+8F6D <> U+8EDB -U+8F6E <> U+8F2A -U+8F6F <> U+8EDF -U+8F70 <> U+8F5F -U+8F71 <> U+8EF2 -U+8F72 <> U+8EFB -U+8F73 <> U+8F64 -U+8F74 <> U+8EF8 -U+8F75 <> U+8EF9 -U+8F76 <> U+8EFC -U+8F77 <> U+8EE4 -U+8F78 <> U+8EEB -U+8F79 <> U+8F62 -U+8F7A <> U+8EFA -U+8F7B <> U+8F15 -U+8F7C <> U+8EFE -U+8F7D <> U+8F09 -U+8F7E <> U+8F0A -U+8F7F <> U+8F4E -U+8F80 <> U+8F08 -U+8F81 <> U+8F07 -U+8F82 <> U+8F05 -U+8F83 <> U+8F03 -U+8F84 <> U+8F12 -U+8F85 <> U+8F14 -U+8F86 <> U+8F1B -U+8F87 <> U+8F26 -U+8F88 <> U+8F29 -U+8F89 <> U+8F1D -U+8F8A <> U+8F25 -U+8F8B <> U+8F1E -U+8F8C <> U+8F2C -U+8F8D <> U+8F1F -U+8F8E <> U+8F1C -U+8F8F <> U+8F33 -U+8F90 <> U+8F3B -U+8F91 <> U+8F2F -U+8F92 <> U+8F40 -U+8F93 <> U+8F38 -U+8F94 <> U+8F61 -U+8F95 <> U+8F45 -U+8F96 <> U+8F44 -U+8F97 <> U+8F3E -U+8F98 <> U+8F46 -U+8F99 <> U+8F4D -U+8F9A <> U+8F54 -U+8F9E <> U+8FAD -U+8FA9 <> U+8FAF -U+8FAB <> U+8FAE -U+8FB9 <> U+908A -U+8FBD <> U+907C -U+8FBE <> U+9054 -U+8FC1 <> U+9077 -U+8FC7 <> U+904E -U+8FC8 <> U+9081 -U+8FD0 <> U+904B -U+8FD8 <> U+9084 -U+8FD9 <> U+9019 -U+8FDB <> U+9032 -U+8FDC <> U+9060 -U+8FDD <> U+9055 -U+8FDE <> U+9023 -U+8FDF <> U+9072 -U+8FE9 <> U+9087 -U+8FF3 <> U+9015 -U+8FF9 <> U+8DE1 -U+9002 <> U+9069 -U+9009 <> U+9078 -U+900A <> U+905C -U+9012 <> U+905E -U+9026 <> U+9090 -U+903B <> U+908F -U+9057 <> U+907A -U+9065 <> U+9059 -U+9093 <> U+9127 -U+909D <> U+913A -U+90AC <> U+9114 -U+90AE <> U+90F5 -U+90B9 <> U+9112 -U+90BA <> U+9134 -U+90BB <> U+9130 -U+90C1 <> U+9B31 -U+90CF <> U+90DF -U+90D0 <> U+9136 -U+90D1 <> U+912D -U+90D3 <> U+9106 -U+90E6 <> U+9148 -U+90E7 <> U+9116 -U+90F8 <> U+9132 -U+9142 <> U+9147 -U+915D <> U+919E -U+9166 <> U+91B1 -U+9171 <> U+91AC -U+917D <> U+91C5 -U+917E <> U+91C3 -U+917F <> U+91C0 -U+91C7 <> U+57F0 -U+91CA <> U+91CB -U+91CC <> U+88E1 -U+9274 <> U+9452 -U+92AE <> U+947E -U+933E <> U+93E8 -U+9485 <> U+91D2 -U+9486 <> U+91D3 -U+9487 <> U+91D4 -U+9488 <> U+91DD -U+9489 <> U+91D8 -U+948A <> U+91D7 -U+948B <> U+91D9 -U+948C <> U+91D5 -U+948D <> U+91F7 -U+948E <> U+91FA -U+948F <> U+91E7 -U+9490 <> U+91E4 -U+9491 <> U+9212 -U+9492 <> U+91E9 -U+9493 <> U+91E3 -U+9494 <> U+9346 -U+9495 <> U+91F9 -U+9496 <> U+935A -U+9497 <> U+91F5 -U+9498 <> U+9203 -U+9499 <> U+9223 -U+949A <> U+9208 -U+949B <> U+9226 -U+949C <> U+9245 -U+949D <> U+920D -U+949E <> U+9214 -U+949F <> U+937E -U+94A0 <> U+9209 -U+94A1 <> U+92C7 -U+94A2 <> U+92FC -U+94A3 <> U+9211 -U+94A4 <> U+9210 -U+94A5 <> U+9470 -U+94A6 <> U+6B3D -U+94A7 <> U+921E -U+94A8 <> U+93A2 -U+94A9 <> U+9264 -U+94AA <> U+9227 -U+94AB <> U+9201 -U+94AC <> U+9225 -U+94AD <> U+9204 -U+94AE <> U+9215 -U+94AF <> U+9200 -U+94B0 <> U+923A -U+94B1 <> U+9322 -U+94B2 <> U+9266 -U+94B3 <> U+9257 -U+94B4 <> U+9237 -U+94B5 <> U+7F3D -U+94B6 <> U+9233 -U+94B7 <> U+9255 -U+94B8 <> U+923D -U+94B9 <> U+9238 -U+94BA <> U+925E -U+94BB <> U+947D -U+94BC <> U+926C -U+94BD <> U+926D -U+94BE <> U+9240 -U+94BF <> U+923F -U+94C0 <> U+923E -U+94C1 <> U+9435 -U+94C2 <> U+9251 -U+94C3 <> U+9234 -U+94C4 <> U+9460 -U+94C5 <> U+925B -U+94C6 <> U+925A -U+94C7 <> U+924B -U+94C8 <> U+9230 -U+94C9 <> U+9249 -U+94CA <> U+9248 -U+94CB <> U+924D -U+94CC <> U+922E -U+94CD <> U+9239 -U+94CE <> U+9438 -U+94CF <> U+9276 -U+94D0 <> U+92AC -U+94D1 <> U+92A0 -U+94D2 <> U+927A -U+94D3 <> U+92E9 -U+94D4 <> U+930F -U+94D5 <> U+92AA -U+94D6 <> U+92EE -U+94D7 <> U+92CF -U+94D8 <> U+92E3 -U+94D9 <> U+9403 -U+94DA <> U+928D -U+94DB <> U+943A -U+94DC <> U+9285 -U+94DD <> U+92C1 -U+94DE <> U+92B1 -U+94DF <> U+92A6 -U+94E0 <> U+93A7 -U+94E1 <> U+9358 -U+94E2 <> U+9296 -U+94E3 <> U+9291 -U+94E4 <> U+92CC -U+94E5 <> U+92A9 -U+94E6 <> U+929B -U+94E7 <> U+93F5 -U+94E8 <> U+9293 -U+94E9 <> U+93A9 -U+94EA <> U+927F -U+94EB <> U+929A -U+94EC <> U+927B -U+94ED <> U+9298 -U+94EE <> U+931A -U+94EF <> U+92AB -U+94F0 <> U+9278 -U+94F1 <> U+92A5 -U+94F2 <> U+93DF -U+94F3 <> U+9283 -U+94F4 <> U+940B -U+94F5 <> U+92A8 -U+94F6 <> U+9280 -U+94F7 <> U+92A3 -U+94F8 <> U+9444 -U+94F9 <> U+9412 -U+94FA <> U+92EA -U+94FB <> U+92D9 -U+94FC <> U+9338 -U+94FD <> U+92F1 -U+94FE <> U+93C8 -U+94FF <> U+93D7 -U+9500 <> U+92B7 -U+9501 <> U+9396 -U+9502 <> U+92F0 -U+9503 <> U+92E5 -U+9504 <> U+92E4 -U+9505 <> U+934B -U+9506 <> U+92EF -U+9507 <> U+92E8 -U+9508 <> U+93FD -U+9509 <> U+92BC -U+950A <> U+92DD -U+950B <> U+92D2 -U+950C <> U+92C5 -U+950D <> U+92F6 -U+950E <> U+9426 -U+950F <> U+9427 -U+9510 <> U+92B3 -U+9511 <> U+92BB -U+9512 <> U+92C3 -U+9513 <> U+92DF -U+9514 <> U+92E6 -U+9515 <> U+9312 -U+9516 <> U+9306 -U+9517 <> U+937A -U+9518 <> U+9369 -U+9519 <> U+932F -U+951A <> U+9328 -U+951B <> U+931B -U+951C <> U+9321 -U+951D <> U+9340 -U+951E <> U+9301 -U+951F <> U+9315 -U+9520 <> U+9329 -U+9521 <> U+932B -U+9522 <> U+932E -U+9523 <> U+947C -U+9524 <> U+9318 -U+9525 <> U+9310 -U+9526 <> U+9326 -U+9527 <> U+9455 -U+9528 <> U+6774 -U+9529 <> U+9308 -U+952A <> U+9343 -U+952B <> U+9307 -U+952C <> U+931F -U+952D <> U+9320 -U+952E <> U+9375 -U+952F <> U+92F8 -U+9530 <> U+9333 -U+9531 <> U+9319 -U+9532 <> U+9365 -U+9533 <> U+9348 -U+9534 <> U+9347 -U+9535 <> U+93D8 -U+9536 <> U+9376 -U+9537 <> U+9354 -U+9538 <> U+9364 -U+9539 <> U+936C -U+953A <> U+937E -U+953B <> U+935B -U+953C <> U+93AA -U+953D <> U+9360 -U+953E <> U+9370 -U+953F <> U+9384 -U+9540 <> U+934D -U+9541 <> U+9382 -U+9542 <> U+93E4 -U+9543 <> U+93A1 -U+9544 <> U+9428 -U+9545 <> U+9387 -U+9546 <> U+93CC -U+9547 <> U+93AE -U+9548 <> U+939B -U+9549 <> U+9398 -U+954A <> U+9477 -U+954B <> U+93B2 -U+954C <> U+942B -U+954D <> U+93B3 -U+954E <> U+93BF -U+954F <> U+93A6 -U+9550 <> U+93AC -U+9551 <> U+938A -U+9552 <> U+93B0 -U+9553 <> U+93B5 -U+9554 <> U+944C -U+9555 <> U+9394 -U+9556 <> U+93E2 -U+9557 <> U+93DC -U+9558 <> U+93DD -U+9559 <> U+93CD -U+955A <> U+93F0 -U+955B <> U+93DE -U+955C <> U+93E1 -U+955D <> U+93D1 -U+955E <> U+93C3 -U+955F <> U+93C7 -U+9560 <> U+93D0 -U+9561 <> U+9414 -U+9562 <> U+9481 -U+9563 <> U+9410 -U+9564 <> U+93F7 -U+9565 <> U+9465 -U+9566 <> U+9413 -U+9567 <> U+946D -U+9568 <> U+9420 -U+9569 <> U+9479 -U+956A <> U+93F9 -U+956B <> U+9419 -U+956C <> U+944A -U+956D <> U+9433 -U+956E <> U+9436 -U+956F <> U+9432 -U+9570 <> U+942E -U+9571 <> U+943F -U+9572 <> U+9454 -U+9573 <> U+9463 -U+9574 <> U+945E -U+9575 <> U+9471 -U+9576 <> U+9472 -U+957F <> U+9577 -U+95E8 <> U+9580 -U+95E9 <> U+9582 -U+95EA <> U+9583 -U+95EB <> U+9586 -U+95EC <> U+9588 -U+95ED <> U+9589 -U+95EE <> U+554F -U+95EF <> U+95D6 -U+95F0 <> U+958F -U+95F1 <> U+95C8 -U+95F2 <> U+9591 -U+95F3 <> U+958E -U+95F4 <> U+9593 -U+95F5 <> U+9594 -U+95F6 <> U+958C -U+95F7 <> U+60B6 -U+95F8 <> U+9598 -U+95F9 <> U+9B27 -U+95FA <> U+95A8 -U+95FB <> U+805E -U+95FC <> U+95E5 -U+95FD <> U+95A9 -U+95FE <> U+95AD -U+95FF <> U+95D3 -U+9600 <> U+95A5 -U+9601 <> U+95A3 -U+9602 <> U+95A1 -U+9603 <> U+95AB -U+9604 <> U+9B2E -U+9605 <> U+95B1 -U+9606 <> U+95AC -U+9607 <> U+95CD -U+9608 <> U+95BE -U+9609 <> U+95B9 -U+960A <> U+95B6 -U+960B <> U+9B29 -U+960C <> U+95BF -U+960D <> U+95BD -U+960E <> U+95BB -U+960F <> U+95BC -U+9610 <> U+95E1 -U+9611 <> U+95CC -U+9612 <> U+95C3 -U+9613 <> U+95E0 -U+9614 <> U+95CA -U+9615 <> U+95CB -U+9616 <> U+95D4 -U+9617 <> U+95D0 -U+9618 <> U+95D2 -U+9619 <> U+95D5 -U+961A <> U+95DE -U+961B <> U+95E4 -U+961F <> U+968A -U+9633 <> U+967D -U+9634 <> U+9670 -U+9635 <> U+9663 -U+9636 <> U+968E -U+9645 <> U+969B -U+9646 <> U+9678 -U+9647 <> U+96B4 -U+9648 <> U+9673 -U+9649 <> U+9658 -U+9655 <> U+965D -U+9667 <> U+9689 -U+9668 <> U+9695 -U+9669 <> U+96AA -U+968F <> U+96A8 -U+9690 <> U+96B1 -U+96B6 <> U+96B8 -U+96BD <> U+96CB -U+96BE <> U+96E3 -U+96CF <> U+96DB -U+96E0 <> U+8B8E -U+96F3 <> U+9742 -U+96FE <> U+9727 -U+9701 <> U+973D -U+9721 <> U+9722 -U+972D <> U+9744 -U+9753 <> U+975A -U+9759 <> U+975C -U+9762 <> U+9EB5 -U+9765 <> U+9768 -U+9791 <> U+97C3 -U+9792 <> U+97BD -U+97AF <> U+97C9 -U+97E6 <> U+97CB -U+97E7 <> U+97CC -U+97E8 <> U+97CD -U+97E9 <> U+97D3 -U+97EA <> U+97D9 -U+97EB <> U+97DE -U+97EC <> U+97DC -U+97F5 <> U+97FB -U+9875 <> U+9801 -U+9876 <> U+9802 -U+9877 <> U+9803 -U+9878 <> U+9807 -U+9879 <> U+9805 -U+987A <> U+9806 -U+987B <> U+9808 -U+987C <> U+980A -U+987D <> U+9811 -U+987E <> U+9867 -U+987F <> U+9813 -U+9880 <> U+980E -U+9881 <> U+9812 -U+9882 <> U+980C -U+9883 <> U+980F -U+9884 <> U+9810 -U+9885 <> U+9871 -U+9886 <> U+9818 -U+9887 <> U+9817 -U+9888 <> U+9838 -U+9889 <> U+9821 -U+988A <> U+9830 -U+988B <> U+9832 -U+988C <> U+981C -U+988D <> U+6F41 -U+988E <> U+71B2 -U+988F <> U+9826 -U+9890 <> U+9824 -U+9891 <> U+983B -U+9892 <> U+982E -U+9893 <> U+9839 -U+9894 <> U+9837 -U+9895 <> U+9834 -U+9896 <> U+7A4E -U+9897 <> U+9846 -U+9898 <> U+984C -U+9899 <> U+9852 -U+989A <> U+984E -U+989B <> U+9853 -U+989C <> U+984F -U+989D <> U+984D -U+989E <> U+9873 -U+989F <> U+9862 -U+98A0 <> U+985B -U+98A1 <> U+9859 -U+98A2 <> U+9865 -U+98A3 <> U+7E87 -U+98A4 <> U+986B -U+98A5 <> U+986C -U+98A6 <> U+9870 -U+98A7 <> U+9874 -U+98CE <> U+98A8 -U+98CF <> U+98BA -U+98D0 <> U+98AD -U+98D1 <> U+98AE -U+98D2 <> U+98AF -U+98D3 <> U+98B6 -U+98D4 <> U+98B8 -U+98D5 <> U+98BC -U+98D6 <> U+98BB -U+98D7 <> U+98C0 -U+98D8 <> U+98C4 -U+98D9 <> U+98C6 -U+98DA <> U+98C8 -U+98DE <> U+98DB -U+98E8 <> U+9957 -U+990D <> U+995C -U+9963 <> U+98E0 -U+9964 <> U+98E3 -U+9965 <> U+98E2 -U+9966 <> U+98E5 -U+9967 <> U+9933 -U+9968 <> U+98E9 -U+9969 <> U+993C -U+996A <> U+98EA -U+996B <> U+98EB -U+996C <> U+98ED -U+996D <> U+98EF -U+996E <> U+98F2 -U+996F <> U+991E -U+9970 <> U+98FE -U+9971 <> U+98FD -U+9972 <> U+98FC -U+9973 <> U+98FF -U+9974 <> U+98F4 -U+9975 <> U+990C -U+9976 <> U+9952 -U+9977 <> U+9909 -U+9978 <> U+9904 -U+9979 <> U+990E -U+997A <> U+9903 -U+997B <> U+990F -U+997C <> U+9905 -U+997D <> U+9911 -U+997E <> U+9916 -U+997F <> U+9913 -U+9980 <> U+9918 -U+9981 <> U+9912 -U+9982 <> U+9915 -U+9983 <> U+991C -U+9984 <> U+991B -U+9985 <> U+9921 -U+9986 <> U+9928 -U+9987 <> U+9937 -U+9988 <> U+994B -U+9989 <> U+9936 -U+998A <> U+993F -U+998B <> U+995E -U+998C <> U+9941 -U+998D <> U+9943 -U+998E <> U+993A -U+998F <> U+993E -U+9990 <> U+9948 -U+9991 <> U+9949 -U+9992 <> U+9945 -U+9993 <> U+994A -U+9994 <> U+994C -U+9995 <> U+9962 -U+9A6C <> U+99AC -U+9A6D <> U+99AD -U+9A6E <> U+99B1 -U+9A6F <> U+99B4 -U+9A70 <> U+99B3 -U+9A71 <> U+9A45 -U+9A72 <> U+99B9 -U+9A73 <> U+99C1 -U+9A74 <> U+9A62 -U+9A75 <> U+99D4 -U+9A76 <> U+99DB -U+9A77 <> U+99DF -U+9A78 <> U+99D9 -U+9A79 <> U+99D2 -U+9A7A <> U+9A36 -U+9A7B <> U+99D0 -U+9A7C <> U+99DD -U+9A7D <> U+99D1 -U+9A7E <> U+99D5 -U+9A7F <> U+9A5B -U+9A80 <> U+99D8 -U+9A81 <> U+9A4D -U+9A82 <> U+7F75 -U+9A83 <> U+99F0 -U+9A84 <> U+9A55 -U+9A85 <> U+9A4A -U+9A86 <> U+99F1 -U+9A87 <> U+99ED -U+9A88 <> U+99E2 -U+9A89 <> U+9A6B -U+9A8A <> U+9A6A -U+9A8B <> U+9A01 -U+9A8C <> U+9A57 -U+9A8D <> U+9A02 -U+9A8E <> U+99F8 -U+9A8F <> U+99FF -U+9A90 <> U+9A0F -U+9A91 <> U+9A0E -U+9A92 <> U+9A0D -U+9A93 <> U+9A05 -U+9A94 <> U+9A0C -U+9A95 <> U+9A4C -U+9A96 <> U+9A42 -U+9A97 <> U+9A19 -U+9A98 <> U+9A2D -U+9A99 <> U+9A24 -U+9A9A <> U+9A37 -U+9A9B <> U+9A16 -U+9A9C <> U+9A41 -U+9A9D <> U+9A2E -U+9A9E <> U+9A2B -U+9A9F <> U+9A38 -U+9AA0 <> U+9A43 -U+9AA1 <> U+9A3E -U+9AA2 <> U+9A44 -U+9AA3 <> U+9A4F -U+9AA4 <> U+9A5F -U+9AA5 <> U+9A65 -U+9AA6 <> U+9A66 -U+9AA7 <> U+9A64 -U+9AC5 <> U+9ACF -U+9ACB <> U+9AD6 -U+9ACC <> U+9AD5 -U+9B13 <> U+9B22 -U+9B36 <> U+9B39 -U+9B47 <> U+9B58 -U+9B49 <> U+9B4E -U+9C7C <> U+9B5A -U+9C7D <> U+9B5B -U+9C7E <> U+9B62 -U+9C7F <> U+9B77 -U+9C80 <> U+9B68 -U+9C81 <> U+9B6F -U+9C82 <> U+9B74 -U+9C83 <> U+4C3E -U+9C84 <> U+9B7A -U+9C85 <> U+9B81 -U+9C86 <> U+9B83 -U+9C88 <> U+9C78 -U+9C89 <> U+9B8B -U+9C8A <> U+9B93 -U+9C8B <> U+9B92 -U+9C8C <> U+9B8A -U+9C8D <> U+9B91 -U+9C8E <> U+9C5F -U+9C8F <> U+9B8D -U+9C90 <> U+9B90 -U+9C91 <> U+9BAD -U+9C92 <> U+9B9A -U+9C93 <> U+9BB3 -U+9C94 <> U+9BAA -U+9C95 <> U+9B9E -U+9C96 <> U+9BA6 -U+9C97 <> U+9C02 -U+9C98 <> U+9B9C -U+9C99 <> U+9C60 -U+9C9A <> U+9C6D -U+9C9B <> U+9BAB -U+9C9C <> U+9BAE -U+9C9D <> U+9BBA -U+9C9E <> U+9BD7 -U+9C9F <> U+9C58 -U+9CA0 <> U+9BC1 -U+9CA1 <> U+9C7A -U+9CA2 <> U+9C31 -U+9CA3 <> U+9C39 -U+9CA4 <> U+9BC9 -U+9CA5 <> U+9C23 -U+9CA6 <> U+9C37 -U+9CA7 <> U+9BC0 -U+9CA8 <> U+9BCA -U+9CA9 <> U+9BC7 -U+9CAA <> U+9BB6 -U+9CAB <> U+9BFD -U+9CAC <> U+9BD2 -U+9CAD <> U+9BD6 -U+9CAE <> U+9BEA -U+9CAF <> U+9BD5 -U+9CB0 <> U+9BEB -U+9CB1 <> U+9BE1 -U+9CB2 <> U+9BE4 -U+9CB3 <> U+9BE7 -U+9CB4 <> U+9BDD -U+9CB5 <> U+9BE2 -U+9CB7 <> U+9BDB -U+9CB8 <> U+9BE8 -U+9CB9 <> U+9C3A -U+9CBA <> U+9BF4 -U+9CBB <> U+9BD4 -U+9CBC <> U+9C5D -U+9CBD <> U+9C08 -U+9CBE <> U+9C0F -U+9CBF <> U+9C68 -U+9CC0 <> U+9BF7 -U+9CC1 <> U+9C2E -U+9CC2 <> U+9C03 -U+9CC3 <> U+9C13 -U+9CC4 <> U+9C77 -U+9CC5 <> U+9C0D -U+9CC6 <> U+9C12 -U+9CC7 <> U+9C09 -U+9CC8 <> U+9C01 -U+9CC9 <> U+9C42 -U+9CCA <> U+9BFF -U+9CCB <> U+9C20 -U+9CCC <> U+9C32 -U+9CCD <> U+9C2D -U+9CCE <> U+9C28 -U+9CCF <> U+9C25 -U+9CD0 <> U+9C29 -U+9CD1 <> U+9C1F -U+9CD2 <> U+9C1C -U+9CD3 <> U+9C33 -U+9CD4 <> U+9C3E -U+9CD5 <> U+9C48 -U+9CD6 <> U+9C49 -U+9CD7 <> U+9C3B -U+9CD8 <> U+9C35 -U+9CD9 <> U+9C45 -U+9CDA <> U+4C81 -U+9CDB <> U+9C3C -U+9CDC <> U+9C56 -U+9CDD <> U+9C54 -U+9CDE <> U+9C57 -U+9CDF <> U+9C52 -U+9CE0 <> U+9C6F -U+9CE1 <> U+9C64 -U+9CE2 <> U+9C67 -U+9CE3 <> U+9C63 -U+9E1F <> U+9CE5 -U+9E20 <> U+9CE9 -U+9E21 <> U+96DE -U+9E22 <> U+9CF6 -U+9E23 <> U+9CF4 -U+9E24 <> U+9CF2 -U+9E25 <> U+9DD7 -U+9E26 <> U+9D09 -U+9E27 <> U+9DAC -U+9E28 <> U+9D07 -U+9E29 <> U+9D06 -U+9E2A <> U+9D23 -U+9E2B <> U+9D87 -U+9E2C <> U+9E15 -U+9E2D <> U+9D28 -U+9E2E <> U+9D1E -U+9E2F <> U+9D26 -U+9E30 <> U+9D12 -U+9E31 <> U+9D1F -U+9E32 <> U+9D1D -U+9E33 <> U+9D1B -U+9E34 <> U+9DFD -U+9E35 <> U+9D15 -U+9E36 <> U+9DE5 -U+9E37 <> U+9DD9 -U+9E38 <> U+9D2F -U+9E39 <> U+9D30 -U+9E3A <> U+9D42 -U+9E3B <> U+9D34 -U+9E3C <> U+9D43 -U+9E3D <> U+9D3F -U+9E3E <> U+9E1E -U+9E3F <> U+9D3B -U+9E40 <> U+9D50 -U+9E41 <> U+9D53 -U+9E42 <> U+9E1D -U+9E43 <> U+9D51 -U+9E44 <> U+9D60 -U+9E45 <> U+9D5D -U+9E46 <> U+9D52 -U+9E47 <> U+9DF3 -U+9E48 <> U+9D5C -U+9E49 <> U+9D61 -U+9E4A <> U+9D72 -U+9E4B <> U+9D93 -U+9E4C <> U+9D6A -U+9E4D <> U+9D7E -U+9E4E <> U+9D6F -U+9E4F <> U+9D6C -U+9E50 <> U+9D6E -U+9E51 <> U+9D89 -U+9E52 <> U+9D8A -U+9E53 <> U+9D77 -U+9E54 <> U+9DEB -U+9E55 <> U+9D98 -U+9E56 <> U+9DA1 -U+9E57 <> U+9D9A -U+9E58 <> U+9DBB -U+9E59 <> U+9D96 -U+9E5A <> U+9DBF -U+9E5B <> U+9DA5 -U+9E5C <> U+9DA9 -U+9E5D <> U+9DCA -U+9E5E <> U+9DC2 -U+9E5F <> U+9DB2 -U+9E60 <> U+9DB9 -U+9E61 <> U+9DBA -U+9E62 <> U+9DC1 -U+9E63 <> U+9DBC -U+9E64 <> U+9DB4 -U+9E65 <> U+9DD6 -U+9E66 <> U+9E1A -U+9E67 <> U+9DD3 -U+9E68 <> U+9DDA -U+9E69 <> U+9DEF -U+9E6A <> U+9DE6 -U+9E6B <> U+9DF2 -U+9E6C <> U+9DF8 -U+9E6D <> U+9DFA -U+9E6E <> U+4D09 -U+9E6F <> U+9E07 -U+9E70 <> U+9DF9 -U+9E71 <> U+9E0C -U+9E72 <> U+9E0F -U+9E73 <> U+9E1B -U+9E74 <> U+9E18 -U+9E7E <> U+9E7A -U+9EA6 <> U+9EA5 -U+9EB8 <> U+9EA9 -U+9EC4 <> U+9EC3 -U+9EC9 <> U+9ECC -U+9EE1 <> U+9EF6 -U+9EE9 <> U+9EF7 -U+9EEA <> U+9EF2 -U+9EFE <> U+9EFD -U+9F0B <> U+9EFF -U+9F0D <> U+9F09 -U+9F17 <> U+9780 -U+9F39 <> U+9F34 -U+9F50 <> U+9F4A -U+9F51 <> U+9F4F -U+9F7F <> U+9F52 -U+9F80 <> U+9F54 -U+9F81 <> U+9F55 -U+9F82 <> U+9F57 -U+9F83 <> U+9F5F -U+9F84 <> U+9F61 -U+9F85 <> U+9F59 -U+9F86 <> U+9F60 -U+9F87 <> U+9F5C -U+9F88 <> U+9F66 -U+9F89 <> U+9F6C -U+9F8A <> U+9F6A -U+9F8B <> U+9F72 -U+9F8C <> U+9F77 -U+9F99 <> U+9F8D -U+9F9A <> U+9F94 -U+9F9B <> U+9F95 -U+9F9F <> U+9F9C -U+9FCF <> U+4951 -U+9FD3 <> U+9FD2 -U+9FD4 <> U+93B6 -U+9FED <> U+9268 -U+201B2 <> U+5123 -U+201BF <> U+20325 -U+20242 <> U+3493 -U+20257 <> U+203E2 -U+206B3 <> U+2080E -U+206C5 <> U+527E -U+206C6 <> U+20786 -U+20BDF <> U+54EF -U+20BE0 <> U+5645 -U+20CA5 <> U+2114F -U+20D22 <> U+21114 -U+20D78 <> U+21123 -U+20D7E <> U+35F2 -U+212C0 <> U+214FE -U+212D7 <> U+2146D -U+21484 <> U+58C8 -U+21760 <> U+3737 -U+217B1 <> U+3722 -U+21B5C <> U+21B89 -U+21B6C <> U+21BA3 -U+21DB4 <> U+5D7C -U+222C8 <> U+389D -U+2261D <> U+228DA -U+2261E <> U+228ED -U+22653 <> U+61C0 -U+226EF <> U+398E -U+22ACA <> U+22DEE -U+22ADE <> U+22DAB -U+22AEC <> U+644B -U+22B26 <> U+22E7F -U+22B4F <> U+64E3 -U+22F7E <> U+6585 -U+23190 <> U+66E5 -U+23368 <> U+26888 -U+2336F <> U+816A -U+23370 <> U+8125 -U+23391 <> U+81D7 -U+23424 <> U+6B0D -U+23476 <> U+23832 -U+235CB <> U+6B13 -U+23613 <> U+237BB -U+23634 <> U+6AAD -U+23637 <> U+23755 -U+23B64 <> U+23BF4 -U+23DA9 <> U+6F85 -U+23DAB <> U+23FC9 -U+23E23 <> U+6FC6 -U+23EBC <> U+7059 -U+23EBD <> U+24063 -U+23F77 <> U+7003 -U+241A1 <> U+7193 -U+241C3 <> U+7204 -U+241C4 <> U+718C -U+24236 <> U+7189 -U+24237 <> U+3DFF -U+24280 <> U+2448E -U+242CF <> U+71A1 -U+247A4 <> U+7381 -U+2480B <> U+3E8F -U+24980 <> U+74D5 -U+24CC4 <> U+24CF8 -U+24DA7 <> U+24E2B -U+24F6F <> U+3FE7 -U+24F80 <> U+769F -U+25158 <> U+25303 -U+25174 <> U+4039 -U+251A7 <> U+77A4 -U+251E2 <> U+406A -U+2541F <> U+7912 -U+2542F <> U+25585 -U+25430 <> U+25565 -U+2543B <> U+7899 -U+259C2 <> U+25A10 -U+25B00 <> U+4259 -U+25B1E <> U+7C4B -U+25B20 <> U+7BD8 -U+25B49 <> U+25D4A -U+25B8B <> U+25E20 -U+25B9C <> U+4272 -U+25C54 <> U+25D43 -U+25E65 <> U+25F3D -U+25E85 <> U+42AD -U+25E87 <> U+25F56 -U+26208 <> U+25FCA -U+26209 <> U+7DF7 -U+2620B <> U+7D87 -U+2620C <> U+7D80 -U+2620E <> U+7E5F -U+2620F <> U+7DCD -U+26210 <> U+7E3A -U+26211 <> U+7DF8 -U+26212 <> U+26085 -U+26213 <> U+42FF -U+26214 <> U+7E0E -U+26215 <> U+7DF0 -U+26216 <> U+4308 -U+26217 <> U+260C4 -U+26218 <> U+430B -U+26219 <> U+4330 -U+2621A <> U+7E2C -U+2621B <> U+7E53 -U+2621C <> U+4316 -U+2621D <> U+7E4F -U+2621E <> U+431F -U+2621F <> U+431D -U+26220 <> U+4325 -U+26221 <> U+7E7B -U+266E8 <> U+6725 -U+2677C <> U+81A2 -U+267D7 <> U+268CE -U+26A29 <> U+26ABD -U+26C34 <> U+4573 -U+2725E <> U+45FF -U+274AD <> U+27525 -U+27BAA <> U+8A40 -U+27CD5 <> U+27CDF -U+27E51 <> U+4788 -U+27E53 <> U+27D94 -U+27E55 <> U+477B -U+27E56 <> U+8CDF -U+27E57 <> U+8D03 -U+27FC8 <> U+281C1 -U+28031 <> U+28123 -U+28074 <> U+2814D -U+280BA <> U+2820A -U+28104 <> U+2820C -U+2816B <> U+281DE -U+2816C <> U+8E9D -U+28257 <> U+8EC9 -U+28405 <> U+8ED7 -U+28406 <> U+282BB -U+28407 <> U+283E0 -U+28408 <> U+8F04 -U+28409 <> U+283AE -U+2840A <> U+283E5 -U+28479 <> U+48A8 -U+28930 <> U+2893B -U+28C3E <> U+93B7 -U+28C3F <> U+91F3 -U+28C40 <> U+2895B -U+28C41 <> U+9220 -U+28C42 <> U+920B -U+28C43 <> U+9232 -U+28C44 <> U+922F -U+28C45 <> U+9241 -U+28C46 <> U+9FAF -U+28C47 <> U+92B6 -U+28C48 <> U+92C9 -U+28C49 <> U+9344 -U+28C4A <> U+289F1 -U+28C4B <> U+9302 -U+28C4C <> U+93C6 -U+28C4D <> U+93AF -U+28C4E <> U+936E -U+28C4F <> U+939D -U+28C50 <> U+28AD2 -U+28C51 <> U+9404 -U+28C52 <> U+93C9 -U+28C53 <> U+940E -U+28C54 <> U+940F -U+28C55 <> U+28B82 -U+28C56 <> U+4969 -U+28DFF <> U+49B3 -U+28E00 <> U+28CD5 -U+28E01 <> U+28CD1 -U+28E02 <> U+958D -U+28E03 <> U+9590 -U+28E04 <> U+4998 -U+28E05 <> U+28D17 -U+28E06 <> U+28D69 -U+28E07 <> U+28D78 -U+28E09 <> U+28D80 -U+28E0A <> U+28D8F -U+28E0B <> U+28DB2 -U+28E0C <> U+28DAE -U+28E0E <> U+28DF2 -U+28E18 <> U+28F4F -U+28E1F <> U+49E2 -U+293FC <> U+4A8F -U+293FD <> U+293EA -U+293FE <> U+293A2 -U+293FF <> U+4A98 -U+29400 <> U+4A97 -U+29595 <> U+294E3 -U+29596 <> U+9843 -U+29597 <> U+4AF4 -U+29665 <> U+98B0 -U+29666 <> U+295C0 -U+29667 <> U+4B1E -U+29668 <> U+29639 -U+29669 <> U+29600 -U+2966A <> U+98B7 -U+2966B <> U+98BE -U+2966C <> U+2963A -U+2966D <> U+2961D -U+2966E <> U+4B18 -U+2966F <> U+4B1D -U+29670 <> U+29648 -U+297FF <> U+2969B -U+29800 <> U+296A5 -U+29801 <> U+296B5 -U+29802 <> U+296C6 -U+29803 <> U+296E9 -U+29805 <> U+297D0 -U+29806 <> U+29726 -U+29807 <> U+4B40 -U+29808 <> U+4B43 -U+29809 <> U+29707 -U+2980A <> U+29735 -U+2980B <> U+29754 -U+2980C <> U+9938 -U+2980E <> U+29784 -U+2980F <> U+297A6 -U+29820 <> U+29834 -U+299E6 <> U+2987A -U+299E8 <> U+99CE -U+299E9 <> U+2990A -U+299EA <> U+4BBE -U+299EB <> U+99DA -U+299EC <> U+298A1 -U+299ED <> U+4B7F -U+299EE <> U+298BE -U+299EF <> U+9A4B -U+299F0 <> U+4B9D -U+299F1 <> U+29949 -U+299F2 <> U+99E7 -U+299F3 <> U+298B8 -U+299F4 <> U+99E9 -U+299F5 <> U+298B4 -U+299F6 <> U+298CF -U+299FA <> U+99F6 -U+299FC <> U+298FA -U+299FF <> U+4BA0 -U+29A00 <> U+9A14 -U+29A01 <> U+4B9E -U+29A03 <> U+9A1D -U+29A04 <> U+9A2A -U+29A05 <> U+29938 -U+29A06 <> U+29919 -U+29A07 <> U+4BAB -U+29A08 <> U+9A1F -U+29A09 <> U+29932 -U+29A0A <> U+9A1A -U+29A0B <> U+29944 -U+29A0C <> U+29951 -U+29A0D <> U+29947 -U+29A0E <> U+9FAD -U+29A0F <> U+4BB3 -U+29A10 <> U+299C6 -U+29B23 <> U+29B59 -U+29B24 <> U+29C00 -U+29BD2 <> U+29BF3 -U+29C92 <> U+29CE4 -U+29F79 <> U+9B65 -U+29F7A <> U+29D69 -U+29F7B <> U+29D79 -U+29F7C <> U+9BF6 -U+29F7D <> U+29DB1 -U+29F7E <> U+9B9F -U+29F7F <> U+29DB0 -U+29F81 <> U+9BC4 -U+29F82 <> U+4C96 -U+29F83 <> U+9BB8 -U+29F84 <> U+29DF0 -U+29F85 <> U+29E03 -U+29F86 <> U+29E26 -U+29F87 <> U+9BF1 -U+29F88 <> U+4C59 -U+29F8A <> U+4C6C -U+29F8B <> U+4C70 -U+29F8C <> U+9C47 -U+2A242 <> U+4CB0 -U+2A243 <> U+9CFC -U+2A244 <> U+29FEA -U+2A245 <> U+2A026 -U+2A246 <> U+9D32 -U+2A248 <> U+9D1C -U+2A249 <> U+2A048 -U+2A24A <> U+9DE8 -U+2A24B <> U+2A03E -U+2A24C <> U+2A056 -U+2A24D <> U+9D5A -U+2A24E <> U+2A086 -U+2A24F <> U+2A0CF -U+2A250 <> U+2A0CD -U+2A251 <> U+9DD4 -U+2A252 <> U+2A115 -U+2A254 <> U+2A106 -U+2A255 <> U+2A1F3 -U+2A388 <> U+4D2C -U+2A389 <> U+9EB2 -U+2A38A <> U+9EA8 -U+2A38B <> U+4D34 -U+2A38D <> U+2A2FF -U+2A52D <> U+2A535 -U+2A68F <> U+2A600 -U+2A690 <> U+2A62F -U+2A79D <> U+51D9 -U+2A84F <> U+55F9 -U+2A8AE <> U+571E -U+2AA0A <> U+379E -U+2AA17 <> U+5C69 -U+2AED0 <> U+747D -U+2AFA2 <> U+774D -U+2B061 <> U+9D17 -U+2B088 <> U+426C -U+2B128 <> U+7D7A -U+2B138 <> U+7E81 -U+2B300 <> U+8940 -U+2B328 <> U+89BC -U+2B359 <> U+8A11 -U+2B35F <> U+8A51 -U+2B362 <> U+8B4A -U+2B370 <> U+8AF0 -U+2B372 <> U+8B0F -U+2B3CB <> U+8E7B -U+2B404 <> U+8ECF -U+2B406 <> U+8F63 -U+2B409 <> U+8EE8 -U+2B410 <> U+8F17 -U+2B413 <> U+8F2E -U+2B4E7 <> U+9207 -U+2B4E9 <> U+93E6 -U+2B50E <> U+940D -U+2B5B8 <> U+9858 -U+2B5E0 <> U+9926 -U+2B5E6 <> U+9914 -U+2B5E7 <> U+9917 -U+2B5EE <> U+992D -U+2B5F4 <> U+9958 -U+2B61D <> U+99C3 -U+2B623 <> U+99FB -U+2B624 <> U+9A03 -U+2B628 <> U+9A20 -U+2B688 <> U+9C6E -U+2B689 <> U+9B5F -U+2B692 <> U+9B84 -U+2B694 <> U+9BB0 -U+2B695 <> U+9C24 -U+2B699 <> U+9BC6 -U+2B6AD <> U+9C72 -U+2B6DB <> U+9CF7 -U+2B6DE <> U+9D03 -U+2B6E2 <> U+9E0B -U+2B6F6 <> U+9D92 -U+2B6F8 <> U+9D97 -U+2C4FC <> U+7A68 -U+2C62D <> U+7D9D -U+2C925 <> U+8B54 -U+2CBCE <> U+96A4 -U+2CE23 <> U+9DB1 diff --git a/macros/xetex/latex/xecjk/xeCJK.dtx b/macros/xetex/latex/xecjk/xeCJK.dtx index 360459e541..998b4d5ca1 100644 --- a/macros/xetex/latex/xecjk/xeCJK.dtx +++ b/macros/xetex/latex/xecjk/xeCJK.dtx @@ -40,7 +40,7 @@ Copyright and Licence 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 @@ Copyright and Licence 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 @@ Copyright and Licence %<*package|config|fntef|listings|xunicode|xunextra> %\NeedsTeXFormat{LaTeX2e} %\RequirePackage{expl3} -%<+!driver>\GetIdInfo$Id: xeCJK.dtx 165cecc 2020-02-18 20:38:34 +0800 Qing Lee $ +%<+!driver>\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee $ % {Typesetting CJK scripts with XeLaTeX} % {Configuration file for xeCJK package} % {xeCJK font effect} @@ -207,7 +207,7 @@ Copyright and Licence %\ProvidesExplPackage{xeCJK-listings} %\ProvidesExplPackage{xunicode-addon} %\ProvidesExplFile{xunicode-extra.def} -% {\ExplFileDate}{3.8.2}{\ExplFileDescription} +% {\ExplFileDate}{3.8.3}{\ExplFileDescription} % %<*driver> \documentclass{ctxdoc} @@ -284,8 +284,9 @@ Copyright and Licence % \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 @@ Copyright and Licence % \pkg{xeCJK} 是一个 \XeLaTeX 宏包,用于排版中日韩(CJK)文字。主要功能: % \begin{enumerate} % \item 分别设置 CJK 和英文字体; -% \item 自动忽略 CJK 文字间的空格而保留其它空格,允许在非标点汉字和英文 +% \item 自动忽略 CJK 文字间的空格而保留其他空格,允许在非标点汉字和英文 % 字母 (a -- z, A -- Z) 间断行; % \item 提供多种标点处理方式: 全角式、半角式、开明式、行末半角式和 CCT 式; % \item 自动调整中英文间空白。 @@ -311,7 +312,7 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \tn{addCJKfontfeatures} * \oarg{block_1, block_2, ...} \Arg{font features} % \end{syntax} % 临时增加当前使用的 CJK 字体的选项。第一条命令,仅对当前 CJK 主分区字体有效; -% 第二条对主分区和其它分区的字体都有效;第三条仅对可选参数中指定的分区有效; +% 第二条对主分区和其他分区的字体都有效;第三条仅对可选参数中指定的分区有效; % 第四条对主分区和可选参数中指定的分区有效。例如,使用 % \begin{ctexexam} % \addCJKfontfeatures{Scale=1.1} @@ -1353,8 +1354,8 @@ Copyright and Licence % \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 @@ Copyright and Licence % 等宽字体的代码对齐等情形。需要注意的是,\tn{xeCJKVerbAddon} 对 \pkg{xeCJK} 的内 % 部进行了比较大的修改,使用它之后,将禁止在 CJK 字符类之间自动换行,这与西文在 % 抄录环境中的情况是一致的。所以不应该单独使用,应该放在分组里限制其作用域,否则 -% 是无效的。当然它可以和其它关于代码抄录的宏包配合使用。例如,可以使用于 +% 是无效的。当然它可以和其他关于代码抄录的宏包配合使用。例如,可以使用于 % \package{fancyvrb} 宏包的 \texttt{formatcom} 选项。此时设置的西文字体应该确实 % 是等宽的以保证对齐。若西文等宽字体发生变动(包括字体大小),则需要在其后面使用 % \tn{xeCJKVerbAddon},重新计算间距的宽度。\tn{xeCJKOffVerbAddon} @@ -1526,7 +1527,7 @@ Copyright and Licence % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \let\cprotect\icprotect % \end{frameverb} % 来取消 \tn{cprotect} 的外部宏限制。但由于 \tn{cprotect} 的特殊性,应该只在外部 -% 使用它,即不要让它出现在任何宏的参数中。其它 \tn{outer} 宏的情况,可以在它前面 +% 使用它,即不要让它出现在任何宏的参数中。其他 \tn{outer} 宏的情况,可以在它前面 % 加上 \tn{relax} 来回避上面的错误。 % % \pkg{xeCJK} 依赖 \XeTeX 的 \tn{XeTeXinterchartoks} 机制,与使用相同机制的宏包(例如 @@ -1677,60 +1678,56 @@ Copyright and Licence % {\@@_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} 前后加上各种钩子。 -% \begin{macrocode} +% {\@@_at_end_preamble:n,\@@_after_preamble:n, +% \@@_after_end_preamble:n,\@@_package_hook:nn} +% 在 \tn{document} 前后和宏包后加上各种钩子,依赖 \pkg{ctexhook}。 +% \begin{macrocode} +\RequirePackage { ctexhook } +\AtBeginDocument { \xeCJK@document@hook } +\ctex_at_end_preamble:n { \xeCJK@document@left@hook } +\ctex_after_end_preamble:n { \xeCJK@document@right@hook } +\cs_new_protected:Npn \xeCJK@document@hook + { \tl_use:N \g_@@_after_preamble_hook_tl } +\cs_new_protected:Npn \xeCJK@document@left@hook + { \tl_use:N \g_@@_at_end_preamble_hook_tl } +\cs_new_protected:Npn \xeCJK@document@right@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@document@left@hook - { \group_end: \g_@@_at_end_preamble_hook_tl \group_begin: } - \cs_new_protected_nopar:Npn \xeCJK@document@right@hook - { \scan_stop: \g_@@_after_end_preamble_hook_tl \tex_ignorespaces:D } - \cs_gset_nopar:Npx \document - { - \xeCJK@document@left@hook - \exp_not:o { \document } - \xeCJK@document@right@hook - } - } % \end{macrocode} % \end{macro} % @@ -1745,7 +1742,7 @@ Copyright and Licence % \begin{macrocode} \@@_after_preamble:n { \tl_put_right:Nn \@begindvi { \xeCJK@first@begindvi } } -\cs_new_protected_nopar:Npn \xeCJK@first@begindvi +\cs_new_protected:Npn \xeCJK@first@begindvi { \xeCJKShipoutHook \cs_if_exist:NTF \@begindvi @@ -1780,7 +1777,7 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence { \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 @@ Copyright and Licence } { \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 @@ Copyright and Licence } } } -\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 @@ Copyright and Licence \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 @@ Copyright and Licence \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 @@ Copyright and Licence % 用于取得记号 |#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,20 +2046,20 @@ Copyright and Licence % 这一 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 { \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 @@ Copyright and Licence } } { - \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 @@ Copyright and Licence \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % {使用 \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence { % \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 @@ Copyright and Licence % \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,7 +2629,11 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % 用于设置字符所属的类别,|#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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % 将字符类 |#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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % 将空格替换为 \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence { \@@_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 @@ Copyright and Licence { \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 @@ Copyright and Licence \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 @@ Copyright and Licence } } } -\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 @@ Copyright and Licence } { \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 @@ Copyright and Licence % \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 @@ Copyright and Licence } \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 @@ Copyright and Licence { 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 @@ Copyright and Licence { 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 @@ Copyright and Licence 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 @@ Copyright and Licence 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 @@ Copyright and Licence % 这样就可能出现问题\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 @@ Copyright and Licence } } } -\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 @@ Copyright and Licence \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence } } } -\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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % 我们不想出现过大的 \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence \@@_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 @@ Copyright and Licence % \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 @@ Copyright and Licence } { \@@_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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % {标点符号左/右空白的伸展值不超过原始边界,收缩值不小于另一侧边界。} % 根据所选的标点处理方式在标点符号左/右增加的空白。 % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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,19 +4001,19 @@ Copyright and Licence \@@_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} % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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,14 +4048,14 @@ Copyright and Licence \@@_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} % % \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 @@ Copyright and Licence \@@_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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % $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 @@ Copyright and Licence % \env{description} 环境中使用的 \tn{item}(\tn{enit@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 @@ Copyright and Licence % \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 @@ Copyright and Licence % 能对齐到边界。判断基于 \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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,14 +4285,14 @@ Copyright and Licence { \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 { \@@_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 @@ Copyright and Licence } { \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 @@ Copyright and Licence { \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 @@ Copyright and Licence { \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 @@ Copyright and Licence { \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 @@ Copyright and Licence { \@@_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 @@ Copyright and Licence % \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 @@ Copyright and Licence \@@_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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence #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 @@ Copyright and Licence % 使用 \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 @@ Copyright and Licence #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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence { \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 @@ Copyright and Licence % \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 @@ Copyright and Licence \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 @@ Copyright and Licence } } } -\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 @@ Copyright and Licence % \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 @@ Copyright and Licence \@@_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 @@ Copyright and Licence % 相同长标点压缩。对于破折号,计算两标点之间的空白,保证它中间不被断开。 % 注意,破折号的边界可能为负值(比如方正新书宋),此时不必压缩。 % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence #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 @@ Copyright and Licence \@@_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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence } #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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence } } } -\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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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,37 +5964,54 @@ Copyright and Licence % \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 } { 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} @@ -5972,12 +6019,13 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % 循环测试后备字体是否包含字符 |#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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % 用于定义 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 @@ Copyright and Licence % % \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 @@ Copyright and Licence { \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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@fontfamily \use_none:n } @@ -6446,7 +6495,7 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence } } } -\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 @@ Copyright and Licence \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence { \@@_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 @@ Copyright and Licence % \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@series/\f@shape/\f@size } \tl_new:N \l_xeCJK_current_font_tl \tl_set:No \l_xeCJK_current_font_tl { \@@_font_csname:n { \CJK@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 @@ Copyright and Licence % 注意要将 \tn{selectfont} 放在分组中调用,防止 \tn{f@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 @@ Copyright and Licence % 切换标点符号字体。 % \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 @@ Copyright and Licence % \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,26 +6730,26 @@ Copyright and Licence % 分区字体;若 \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@family/#1 } } { \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} } #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 @@ Copyright and Licence % {\@@_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 @@ Copyright and Licence % \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@series } { \bfdefault } @@ -6756,14 +6805,14 @@ Copyright and Licence \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@series } { \use:c { bfseries@#1 } } { \fontseriesforce { \bfdefault } } } } { - \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@family {#2} @@ -6798,7 +6847,7 @@ Copyright and Licence \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 @@ Copyright and Licence } } \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 @@ Copyright and Licence 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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence 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 @@ Copyright and Licence { \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 @@ Copyright and Licence % \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 @@ Copyright and Licence { \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence {#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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence } { \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 @@ Copyright and Licence % \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 @@ Copyright and Licence \@@_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 @@ Copyright and Licence % \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 @@ Copyright and Licence \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 @@ Copyright and Licence } \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 @@ Copyright and Licence % 而 \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 @@ Copyright and Licence \cs_new_protected:Npn \@@_new_symbol_font:NN #1#2 { \tl_put_right:Nn \group@list { \group@elt #1 #2 } - \cs_set_nopar:Npn \version@elt ##1 + \cs_set:Npn \version@elt ##1 { \tl_put_right:Nn ##1 { \getanddefine@fonts #1 #2 } } \version@list } @@ -7478,7 +7529,7 @@ Copyright and Licence % \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 @@ Copyright and Licence } } \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 @@ Copyright and Licence \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 @@ Copyright and Licence { \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 @@ Copyright and Licence } \@@_after_preamble:n { - \cs_set_protected_nopar:Npx \verbatim@font + \cs_set_protected:Npx \verbatim@font { \exp_not:o { \verbatim@font } \@@_verb_font_hook: } } % \end{macrocode} @@ -7550,7 +7601,7 @@ Copyright and Licence % \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 @@ Copyright and Licence \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,16 +7632,16 @@ Copyright and Licence \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} % % \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 @@ Copyright and Licence \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 @@ Copyright and Licence \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 @@ Copyright and Licence \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 @@ Copyright and Licence % 在抄录环境中,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@family/\curr@fontshape/\f@size } { @@ -7754,7 +7805,7 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % 如果文档不使用 \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 @@ Copyright and Licence % 的后备,但是 |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@fontshape/\f@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 @@ Copyright and Licence % 当前字体空格的宽度与后备字体 |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@family { lmtt } @@ -7890,7 +7941,7 @@ Copyright and Licence % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \tn{check@mathfonts} 之后生效,不会被它覆盖。 % 更合理的方式是定义一个新的 \tn{mathversion} 来切换。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK@update@fam +\cs_new_protected:Npn \xeCJK@update@fam { \addto@hook \everymath { @@ -8164,14 +8215,14 @@ Copyright and Licence \@@_update_block_fam: } } -\cs_new_protected_nopar:Npn \@@_update_main_fam: +\cs_new_protected:Npn \@@_update_main_fam: { \group_begin: \xeCJK_select_font: \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 @@ Copyright and Licence \@@_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 @@ Copyright and Licence % \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 @@ Copyright and Licence { \@@_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 @@ Copyright and Licence \tl_set:Nx \f@family {#1} \xeCJK@fontfamily {#1} } - \cs_new_protected_nopar:Npn \xeCJK@fontfamily #1 + \cs_new_protected:Npn \xeCJK@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@family } { @@ -8378,7 +8429,7 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK@italiccorr} % 修复倾斜校正,并处理汉字后面的空格。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \xeCJK@italiccorr +\cs_new_protected:Npn \xeCJK@italiccorr { \int_compare:nNnTF \tex_XeTeXinterchartokenstate:D > \c_zero_int { \xeCJK_italic_correction: } @@ -8394,12 +8445,12 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence } } } -\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 @@ Copyright and Licence % \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 @@ Copyright and Licence "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 @@ Copyright and Licence \@@_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 @@ Copyright and Licence } \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 @@ Copyright and Licence } } } -\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 @@ Copyright and Licence } { #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 @@ Copyright and Licence % \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@encoding } { \UnicodeEncodingName } { \xeCJK_make_boundary: } @@ -8627,7 +8678,7 @@ Copyright and Licence % 注意 \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@composite@x { @@ -8643,7 +8694,7 @@ Copyright and Licence % \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@unicode@accent ##1 ##2 { @@ -8690,13 +8741,13 @@ Copyright and Licence 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 @@ Copyright and Licence % \end{macrocode} % \pkg{pifont} 宏包的符号 |\ding{183}| 也有冲突。 % \begin{macrocode} -\@@_after_end_preamble:n +\@@_package_hook:nn { 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 } { - \xeCJK_if_package_loaded:nT { pifont } + \prop_const_from_keyval:Nn \c_@@_um_ambiguous_char_prop + { + "00B7 = \cdotp , + "2025 = \enleadertwodots , + "2026 = \unicodeellipsis + } + \cs_new_protected:Npn \@@_save_um_char: { - \RenewDocumentCommand \Pifont { m } - { \makexeCJKinactive \usefont { U } {#1} { m } { n } } + \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@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@original@get@slot \MT@get@slot@ \cs_set_eq:NN \MT@get@slot@ \xeCJK@microtype@get@slot @@ -8737,7 +8824,7 @@ Copyright and Licence { \@@_get_ambiguous_slot: } \xeCJK@original@get@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@encoding - \tex_the:D \MT@toks } \l_@@_tmp_tl @@ -8748,17 +8835,15 @@ Copyright and Licence % % 简单处理与 \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@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@composite@patch } } % \end{macrocode} @@ -8766,11 +8851,9 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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@CJK . \c_@@_package_ext_tl } - \clist_map_break: - } - } + \@@_package_hook:nn {#1} + { \cs_undefine:c { ver@CJK . \c_@@_package_ext_tl } } } % \end{macrocode} % @@ -8831,7 +8905,7 @@ Copyright and Licence { \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 @@ Copyright and Licence % \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 @@ Copyright and Licence } \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 @@ Copyright and Licence \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 @@ Copyright and Licence % \begin{macro}[int]{\UL@word,\xeCJK_ulem_word:nw} % 修改 \tn{UL@word},目的是取得分组中的 \tn{UL@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@start #1 ~ \exp_after:wN \if_meaning:w \exp_after:wN \UL@end #1 @@ -8959,7 +9033,7 @@ Copyright and Licence \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 @@ Copyright and Licence \xeCJK_ulem_right_node: \int_set:Nn \tex_spacefactor:D { \UL@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 @@ Copyright and Licence % \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 @@ Copyright and Licence \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 @@ Copyright and Licence % 如果第一次调用的 \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 @@ Copyright and Licence \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@skip {#1} \UL@leaders } } % \end{macrocode} % \end{macro} @@ -9053,7 +9127,7 @@ Copyright and Licence % \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 @@ Copyright and Licence } } } -\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 @@ Copyright and Licence % \begin{macro}[int]{\xeCJK_ulem_var_leaders:} % 第一次画下划线时,不需要向左平移 \tn{UL@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@skip } { \c_zero_skip } @@ -9112,7 +9186,7 @@ Copyright and Licence % 重新画一个减少 \tn{UL@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 @@ Copyright and Licence { 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 @@ Copyright and Licence { \@@_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 @@ Copyright and Licence \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@pixel } { @@ -9149,7 +9223,7 @@ Copyright and Licence \UL@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,39 +9234,43 @@ Copyright and Licence % \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@start { - \box_use:N \c_@@_null_box + \box_set_ht:Nn \l_@@_hidden_box { \box_ht:N \UL@box } + \box_set_dp:Nn \l_@@_hidden_box { \box_dp:N \UL@box } + \box_use:N \l_@@_hidden_box \xeCJK_no_break: \xeCJK_ulem_hskip:n { \box_wd:N \UL@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} % % \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@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@putbox \@@_ulem_putbox: \cs_set_eq:NN \xeCJK_ulem_hskip:n \@@_ulem_hskip_aux:n } \cs_new_eq:NN \@@_ulem_putbox: \UL@putbox -\cs_new_protected_nopar:Npn \@@_ulem_skip_putbox: +\cs_new_protected:Npn \@@_ulem_skip_putbox: { \tl_if_empty:NF \UL@start { \box_use_drop:N \UL@box } @@ -9204,7 +9282,7 @@ Copyright and Licence % 这里的设置是为了在下划线状态下,下划线可以自动跳过全角标点符号和正确的在它们 % 前/后断行,并且与行首行末对齐。 % \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 @@ Copyright and Licence } } } -\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 @@ Copyright and Licence % \verb*|\ | 等的定义,此时不需要使用 \tn{UL@stop} 和 \tn{UL@start} 来断开下划线而 % 产生断点。 % \begin{macrocode} -\cs_new_nopar:Npn \xeCJK_if_ulem_patch:TF +\cs_new:Npn \xeCJK_if_ulem_patch:TF { \if_meaning:w \ \LA@space \exp_after:wN \use_ii:nn @@ -9270,7 +9348,7 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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@penalty } @@ -9311,7 +9389,7 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence } { \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,23 +9713,23 @@ Copyright and Licence 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@skip \l_@@_ccglue_skip \UL@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} % % \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@on \cs_set_protected:Npn \UL@on #1 @@ -9843,7 +9921,7 @@ Copyright and Licence % \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 @@ Copyright and Licence 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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \tn{lst@prebreak} 和 \tn{lst@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 @@ Copyright and Licence % 采用不同的 \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence { \@@_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 @@ Copyright and Licence % 七位或八位字符。} % 对于 \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 @@ Copyright and Licence % 输出时,要注意把对应的 \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % 对 CJK 字符类中的一些半角字符(例如半角日文假名)没有区分开。\pkg{listings} 通过 % 重定义 \tn{lst@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@length { #1 - 1 } \lst@Append #2 @@ -10430,7 +10498,7 @@ Copyright and Licence % \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@whitespacefalse \bool_if:NTF \l_@@_listings_letter_bool @@ -10442,7 +10510,7 @@ Copyright and Licence \@@_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@whitespacefalse \bool_if:NTF \l_@@_listings_letter_bool @@ -10467,7 +10535,7 @@ Copyright and Licence % 当使用 \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@whitespacefalse \bool_if:NTF \l_@@_listings_letter_bool @@ -10482,7 +10550,7 @@ Copyright and Licence \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@whitespacefalse \bool_if:NTF \l_@@_listings_letter_bool @@ -10502,7 +10570,7 @@ Copyright and Licence \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@whitespacefalse \bool_if:NTF \l_@@_listings_letter_bool @@ -10524,7 +10592,7 @@ Copyright and Licence % % \begin{macro}[int]{\lst@AppendLetter,\lst@AppendOther} % \begin{macrocode} -\cs_set_protected_nopar:Npn \lst@AppendLetter +\cs_set_protected:Npn \lst@AppendLetter { \bool_if:NTF \l_@@_listings_letter_bool { @@ -10535,7 +10603,7 @@ Copyright and Licence \lst@ifbreaklines \int_zero:N \l_@@_listings_flag_int \fi: \lst@Append } -\cs_set_protected_nopar:Npn \lst@AppendOther +\cs_set_protected:Npn \lst@AppendOther { \bool_if:NTF \l_@@_listings_letter_bool { @@ -10552,7 +10620,7 @@ Copyright and Licence % \begin{macro}{\@@_listings_process_CM:nN} % \texttt{CM} 类作为 \texttt{letter} 处理,不用增加 \tn{lst@length}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_listings_process_CM:nN +\cs_new_protected:Npn \@@_listings_process_CM:nN { \reverse_if:N \lst@ifflexible \bool_gset_true:N \g_@@_listings_CM_bool @@ -10566,7 +10634,7 @@ Copyright and Licence % 在使用 \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@ifflexible \bool_if:NT \g_@@_listings_CM_bool @@ -10583,7 +10651,7 @@ Copyright and Licence % % \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 @@ Copyright and Licence \tl_put_right:No \lst@arg { \l_@@_tmp_tl } } \cs_set_eq:NN \lst@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 @@ Copyright and Licence \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 @@ Copyright and Licence % \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 @@ Copyright and Licence \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 @@ Copyright and Licence \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % \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 @@ Copyright and Licence % % \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 @@ Copyright and Licence } \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 @@ Copyright and Licence % \begin{macro}[int]{\xunadd@microtype@is@charx} % \pkg{microtype} 宏包中使用的函数,我们通过对 \tn{MT@is@charx} 打补丁来实现功能。 % \begin{macrocode} -\cs_new_protected:Npn \xunadd@microtype@is@charx #1 \relax +\cs_new_protected_nopar:Npn \xunadd@microtype@is@charx #1 \relax { \use:x { \xunadd_get_slot:nn { \MT@encoding } { \tex_the:D \MT@toks } } @@ -11662,7 +11730,7 @@ Copyright and Licence \bool_if:NT \l_xunadd_rest_bool { \MT@norestfalse } } } -\AtBeginDocument +\cs_new_protected_nopar:Npn \xunadd@microtype@hook { \cs_if_free:NF \MT@is@charx { @@ -11671,6 +11739,9 @@ Copyright and Licence \cs_set_eq:NN \MT@warn@unknown@once \use_none:n } } +\@ifpackageloaded { microtype } + { \use:n } { \AtBeginDocument } + { \xunadd@microtype@hook } % \end{macrocode} % \end{macro} % @@ -13801,7 +13872,7 @@ int main() [ #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 @@ int main() \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 @@ int main() ^^@ \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 main() \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@extractdefault{#1}{default}{0})} \zref@refused{#1} diff --git a/macros/xetex/latex/xecjk/xeCJK.pdf b/macros/xetex/latex/xecjk/xeCJK.pdf index ae7269bfd0..1726fe6fc8 100644 Binary files a/macros/xetex/latex/xecjk/xeCJK.pdf and b/macros/xetex/latex/xecjk/xeCJK.pdf differ diff --git a/macros/xetex/latex/xecjk/xunicode-symbols.pdf b/macros/xetex/latex/xecjk/xunicode-symbols.pdf index cc30fd0c5a..5392212ff8 100644 Binary files a/macros/xetex/latex/xecjk/xunicode-symbols.pdf and b/macros/xetex/latex/xecjk/xunicode-symbols.pdf differ diff --git a/macros/xetex/latex/xepersian-hm/README.txt b/macros/xetex/latex/xepersian-hm/README.txt index 9911cde284..30f6d3240c 100644 --- a/macros/xetex/latex/xepersian-hm/README.txt +++ b/macros/xetex/latex/xepersian-hm/README.txt @@ -1,35 +1,22 @@ -%% -%% This is file `README.txt', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% xepersian-hm.dtx (with options: `README') -%% -%% Copyright (C) 2020 Hossein Movahhedian -%% -%% It may be distributed and/or modified under the LaTeX Project Public License, -%% version 1.3c or higher (your choice). The latest version of -%% this license is at: http://www.latex-project.org/lppl.txt -%% The XEPERSIAN-HM package ------------------------ -Kashida feature in `xepersian' has problems with some fonts such as `HM Series' -fonts available at `https://dma8hm1334.bitbucket.io' and `X Series 2' fonts -available at `http://wiki.irmug.com/index.php/X_Series_2'. The `xepersian-hm' -package fixes these problems. +Kashida feature in 'xepersian' has problems with some fonts such as 'HM Series' +available at 'https://dma8hm1334.bitbucket.io' and 'X Series 2' available at +'http://wiki.irmug.com/index.php/X_Series_2'. The 'xepersian-hm' package fixes +these problems. -The file `texmf-dist/doc/xelatex/xepersian-hm/kashida-example.tex' can be used as -a simple example of the usage of the package. +The files 'kashida-glyph-example.tex' and 'kashida-hrule-example.tex' in +the directory 'texmf-dist/doc/xelatex/xepersian-hm/' can be used as simple +examples of the usage of the package. Please use the Bitbucket issue tracker: -https://bitbucket.org/dma8hm1334/xepersian-hm/issues -to report a bug, request a feature or if you have a comment. +'https://bitbucket.org/dma8hm1334/xepersian-hm/issues' to report a bug, request +a feature or if you have a comment. -I will do my best to fix all the bugs you report, but, unfortunately, -time is a big hurdle to overcome; so, my apologies in advance for those -which I cannot make time to fix. +I will do my best to fix all the bugs you report, but, unfortunately, time is a +big hurdle to overcome; so, my apologies in advance for those which I cannot +make time to fix. %% %% %% End of file `README.txt'. diff --git a/macros/xetex/latex/xepersian-hm/kashida-example.pdf b/macros/xetex/latex/xepersian-hm/kashida-example.pdf deleted file mode 100644 index 2585a68426..0000000000 Binary files a/macros/xetex/latex/xepersian-hm/kashida-example.pdf and /dev/null differ diff --git a/macros/xetex/latex/xepersian-hm/kashida-example.tex b/macros/xetex/latex/xepersian-hm/kashida-example.tex deleted file mode 100644 index 6702fd3687..0000000000 --- a/macros/xetex/latex/xepersian-hm/kashida-example.tex +++ /dev/null @@ -1,87 +0,0 @@ -% \PassOptionsToPackage{Kashida=off,RTLdocument=on}{xepersian} % Load xepersian with a few options -\documentclass{report} -% \textwidth=345.0pt -% \textheight=550.0pt -% \textheight=620pt -% \usepackage[Kashida]{xepersian} % Fails -% \usepackage{xepersian-hm} % Succeeds -% \usepackage[Kashida=hrule,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} % Succeeds -% \usepackage[Kashida=hrule,kashidastretch=0.14 em plus 5.5 em]{xepersian-hm} % Succeeds -\usepackage[Kashida=glyph,linebreakpenalty=8,kashidastretch=0.14 em plus 5.5 em]{xepersian-hm} % Succeeds -% \usepackage[Kashida=glyph,kashidastretch=kayhan]{xepersian-hm} % Succeeds -% \usepackage[Kashida,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} % Succeeds -% \usepackage[Kashida,kashidastretch=noskip]{xepersian-hm} % Succeeds -% \usepackage[Kashida,kashidastretch=default]{xepersian-hm} % Succeeds -% \usepackage[Kashida,kashidastretch=kayhan]{xepersian-hm} % Succeeds -% \usepackage[Kashida,kashidastretch=khorramshahr]{xepersian-hm} % Succeeds - -% \settextfont[Scale=4.5,Colour=darkgray]{XB Kayhan} -\settextfont[Scale=4.5]{HM XKayhan} -% \settextfont[Scale=4.5,Colour=darkgray]{HM XNiloofar} -% \settextfont[Scale=4.5,Colour=darkgray]{HM XYas} -% \settextfont[Scale=4.5,Colour=darkgray]{HM XZar} -% \settextfont[Scale=1,Colour=darkgray]{HM XKayhan} - -% \setlatintextfont[Scale=2.5,Colour=0000FF]{XB Kayhan} -\setlatintextfont[Scale=1.5,Colour=0000FF]{HM XKayhan} - -\defpersianfont\HMXKayhanIt[Scale=4.5]{HM XKayhan Italic} -\defpersianfont\HMXKayhanOb[Scale=4.5]{HM XKayhanOb Oblique} -\defpersianfont\HMXKayhanOl[Scale=4.5]{HM XKayhan Outline} -\defpersianfont\HMXKayhanSd[Scale=4.5]{HM XKayhan Shadow} - -% \def\SampleText{\discouragebadlinebreaks[8][0.14 em plus 5.5 em]{ -% راهی جایی تابی چاپی چاههی تلاشهایی -% شتابهایی تابی چاپی راهی تلاشهــایی -% که کتابهایی که کلاههایی که کتابهایی }} - -% \def\SampleText{\discouragebadlinebreaks[10][0.12 em plus 5.5 em]{ -% راهی جایی تابی چاپی چاههی تلاشهایی -% شتابهایی تابی چاپی راهی تلاشهــایی -% که کتابهایی که کلاههایی که کتابهایی }} - -\def\SampleText{\discouragebadlinebreaks{ - راهی جایی تابی چاپی چاههی تلاشهایی - شتابهایی تابی چاپی راهی تلاشهــایی - که کتابهایی که کلاههایی که کتابهایی }} - -\setlength\parindent{0pt} -\pagestyle{empty} - -\begin{document} - -\KashidaOff\lr{(Kashida Off, Regular)} - -\SampleText - -\newpage - -\KashidaOn\lr{(Kashida On, Regular)} - -\SampleText - -\newpage - -\KashidaOn\lr{(Kashida On, Italic)} - -{\HMXKayhanIt \SampleText} - -\newpage - -\KashidaOn\lr{(Kashida On, Oblique)} - -{\HMXKayhanOb \SampleText} - -\newpage - -\KashidaOn\lr{(Kashida On, Outline)} - -{\HMXKayhanOl \SampleText} - -\newpage - -\KashidaOn\lr{(Kashida On, Shadow)} - -{\HMXKayhanSd \SampleText} - -\end{document} diff --git a/macros/xetex/latex/xepersian-hm/kashida-glyph-example.pdf b/macros/xetex/latex/xepersian-hm/kashida-glyph-example.pdf new file mode 100644 index 0000000000..91047f8cec Binary files /dev/null and b/macros/xetex/latex/xepersian-hm/kashida-glyph-example.pdf differ diff --git a/macros/xetex/latex/xepersian-hm/kashida-glyph-example.tex b/macros/xetex/latex/xepersian-hm/kashida-glyph-example.tex new file mode 100644 index 0000000000..299b605aa7 --- /dev/null +++ b/macros/xetex/latex/xepersian-hm/kashida-glyph-example.tex @@ -0,0 +1,110 @@ +% \PassOptionsToPackage{Kashida=off,RTLdocument=on}{xepersian} % Load xepersian with a few options +\documentclass{report} +% \textwidth=345.0pt +% \textheight=550.0pt +% \textheight=620pt +% \usepackage[Kashida]{xepersian} % Fails +% \usepackage{xepersian-hm} % Succeeds +% \usepackage[Kashida=hrule,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} % Succeeds +% \usepackage[Kashida=hrule,kashidastretch=0.14 em plus 5.5 em]{xepersian-hm} % Succeeds +\usepackage[Kashida=glyph,linebreakpenalty=8,kashidastretch=0.14 em plus 5.5 em]{xepersian-hm} % Succeeds +% \usepackage[Kashida=glyph,kashidastretch=kayhan]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=noskip]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=default]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=kayhan]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=khorramshahr]{xepersian-hm} % Succeeds + +% \settextfont[Scale=4.5,Colour=darkgray]{XB Kayhan} +\settextfont[Scale=4.5]{HM XKayhan} +% \settextfont[Scale=4.5,Colour=darkgray]{HM XNiloofar} +% \settextfont[Scale=4.5,Colour=darkgray]{HM XYas} +% \settextfont[Scale=4.5,Colour=darkgray]{HM XZar} +% \settextfont[Scale=1,Colour=darkgray]{HM XKayhan} + +% \setlatintextfont[Scale=2.5,Colour=0000FF]{XB Kayhan} +\setlatintextfont[Scale=1.5,Colour=0000FF]{HM XKayhan} + +\defpersianfont\HMXKayhanIt[Scale=4.5]{HM XKayhan Italic} +\defpersianfont\HMXKayhanOb[Scale=4.5]{HM XKayhanOb Oblique} +\defpersianfont\HMXKayhanOl[Scale=4.5]{HM XKayhan Outline} +\defpersianfont\HMXKayhanSd[Scale=4.5]{HM XKayhan Shadow} + +% \def\SampleText{\discouragebadlinebreaks[8][0.14 em plus 5.5 em]{ +% راهی جایی تابی چاپی چاههی تلاشهایی +% شتابهایی تابی چاپی راهی تلاشهــایی +% که کتابهایی که کلاههایی که کتابهایی }} + +% \def\SampleText{\discouragebadlinebreaks[10][0.12 em plus 5.5 em]{ +% راهی جایی تابی چاپی چاههی تلاشهایی +% شتابهایی تابی چاپی راهی تلاشهــایی +% که کتابهایی که کلاههایی که کتابهایی }} + +\def\SampleText{\discouragebadlinebreaks{ + راهی جایی تابی چاپی چاههی تلاشهایی + شتابهایی تابی چاپی راهی تلاشهــایی + که کتابهایی که کلاههایی که کتابهایی }} + +% \def\SampleText{ +% راهی جایی تابی چاپی چاههی تلاشهایی +% شتابهایی تابی چاپی راهی تلاشهــایی +% که کتابهایی که کلاههایی که کتابهایی } + +\setlength\parindent{0pt} +\pagestyle{empty} + +\begin{document} + +\begin{latin} +\begin{center} +\Huge\textsf{xepersian-hm}\\ \vspace{20pt} Example of Use\vspace{20pt}\\ \texttt{Kashida=glyph} \vspace{40pt} + +{\Large +\begin{tabular}{ll} + \textsf{Font:} & \textsf{HM XKayhan} \\ + \textsf{Font Scale:} & \texttt{4.5} \\ + \textsf{linebreakpenalty:} & \texttt8 \\ + \textsf{kashidastretch:} & \texttt{0.14em plus 5.5em} +\end{tabular} +} +\end{center} + +\end{latin} + +\newpage + +\KashidaOff{\hfill\lr{(Kashida Off, Regular)}\hfill} + +\SampleText + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Regular)}\hfill} + +\SampleText + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Italic)}\hfill} + +{\HMXKayhanIt \SampleText} + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Oblique)}\hfill} + +{\HMXKayhanOb \SampleText} + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Outline)}\hfill} + +{\HMXKayhanOl \SampleText} + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Shadow)}\hfill} + +{\HMXKayhanSd \SampleText} + +\end{document} diff --git a/macros/xetex/latex/xepersian-hm/kashida-hrule-example.pdf b/macros/xetex/latex/xepersian-hm/kashida-hrule-example.pdf new file mode 100644 index 0000000000..865d7a3551 Binary files /dev/null and b/macros/xetex/latex/xepersian-hm/kashida-hrule-example.pdf differ diff --git a/macros/xetex/latex/xepersian-hm/kashida-hrule-example.tex b/macros/xetex/latex/xepersian-hm/kashida-hrule-example.tex new file mode 100644 index 0000000000..64926c354a --- /dev/null +++ b/macros/xetex/latex/xepersian-hm/kashida-hrule-example.tex @@ -0,0 +1,109 @@ +% \PassOptionsToPackage{Kashida=off,RTLdocument=on}{xepersian} % Load xepersian with a few options +\documentclass{report} +% \textwidth=345.0pt +% \textheight=550.0pt +% \textheight=620pt +% \usepackage[Kashida]{xepersian} % Fails +% \usepackage{xepersian-hm} % Succeeds +\usepackage[Kashida=hrule,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} % Succeeds +% \usepackage[Kashida=hrule,kashidastretch=0.14 em plus 5.5 em]{xepersian-hm} % Succeeds +% \usepackage[Kashida=glyph,linebreakpenalty=8,kashidastretch=0.14 em plus 5.5 em]{xepersian-hm} % Succeeds +% \usepackage[Kashida=glyph,kashidastretch=kayhan]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=noskip]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=default]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=kayhan]{xepersian-hm} % Succeeds +% \usepackage[Kashida,kashidastretch=khorramshahr]{xepersian-hm} % Succeeds + +% \settextfont[Scale=4.5,Colour=darkgray]{XB Kayhan} +\settextfont[Scale=4.5]{HM XKayhan} +% \settextfont[Scale=4.5,Colour=darkgray]{HM XNiloofar} +% \settextfont[Scale=4.5,Colour=darkgray]{HM XYas} +% \settextfont[Scale=4.5,Colour=darkgray]{HM XZar} +% \settextfont[Scale=1,Colour=darkgray]{HM XKayhan} + +% \setlatintextfont[Scale=2.5,Colour=0000FF]{XB Kayhan} +\setlatintextfont[Scale=1.5,Colour=0000FF]{HM XKayhan} + +\defpersianfont\HMXKayhanIt[Scale=4.5]{HM XKayhan Italic} +\defpersianfont\HMXKayhanOb[Scale=4.5]{HM XKayhanOb Oblique} +\defpersianfont\HMXKayhanOl[Scale=4.5]{HM XKayhan Outline} +\defpersianfont\HMXKayhanSd[Scale=4.5]{HM XKayhan Shadow} + +% \def\SampleText{\discouragebadlinebreaks[8][0.14 em plus 5.5 em]{ +% راهی جایی تابی چاپی چاههی تلاشهایی +% شتابهایی تابی چاپی راهی تلاشهــایی +% که کتابهایی که کلاههایی که کتابهایی }} + +% \def\SampleText{\discouragebadlinebreaks[10][0.12 em plus 5.5 em]{ +% راهی جایی تابی چاپی چاههی تلاشهایی +% شتابهایی تابی چاپی راهی تلاشهــایی +% که کتابهایی که کلاههایی که کتابهایی }} + +% \def\SampleText{\discouragebadlinebreaks{ +% راهی جایی تابی چاپی چاههی تلاشهایی +% شتابهایی تابی چاپی راهی تلاشهــایی +% که کتابهایی که کلاههایی که کتابهایی }} + +\def\SampleText{ + راهی جایی تابی چاپی چاههی تلاشهایی + شتابهایی تابی چاپی راهی تلاشهــایی + که کتابهایی که کلاههایی که کتابهایی } + +\setlength\parindent{0pt} +\pagestyle{empty} + +\begin{document} + +\begin{latin} +\begin{center} +\Huge\textsf{xepersian-hm}\vspace{20pt}\\ Example of Use\vspace{20pt}\\ \texttt{Kashida=hrule} \vspace{40pt} + +{\Large +\begin{tabular}{ll} + \textsf{Font:} & \textsf{HM XKayhan} \\ + \textsf{Font Scale:} & \texttt{4.5} \\ + \textsf{kashidastretch:} & \texttt{0.14em plus 0.5em} +\end{tabular} +} +\end{center} + +\end{latin} + +\newpage + +\KashidaOff{\hfill\lr{(Kashida Off, Regular)}\hfill} + +\SampleText + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Regular)}\hfill} + +\SampleText + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Italic)}\hfill} + +{\HMXKayhanIt \SampleText} + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Oblique)}\hfill} + +{\HMXKayhanOb \SampleText} + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Outline)}\hfill} + +{\HMXKayhanOl \SampleText} + +\newpage + +\KashidaOn{\hfill\lr{(Kashida On, Shadow)}\hfill} + +{\HMXKayhanSd \SampleText} + +\end{document} diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx new file mode 100644 index 0000000000..1a2d88f8aa --- /dev/null +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx @@ -0,0 +1,160 @@ +%% +%% This is file `xepersian-hm-doc.tex' +%% +%% Copyright (c) Hossein Movahhedian 2020 +%% +%% It may be distributed and/or modified under the LaTeX Project Public License, +%% version 1.3c or higher (your choice). The latest version of +%% this license is at: http://www.latex-project.org/lppl.txt +%% +\documentclass{ltxdoc} +\usepackage{longtable} +\usepackage{hypdoc} + +\title{ + The \textsf{xepersian-hm} package\\Fixing kashida in xepersian\\User Documentation +} + +\author{ + Hossein Movahhedian\thanks + { + E-mail: + \href{mailto:dma8hm1334@gmail.com} + {\textsf{dma8hm1334@gmail.com}} + } +} + +\date{Released \quad 2020-05-01 \quad v0.5c} + +\begin{document} + +\maketitle + +Kashida feature in \textsf{xepersian} has problems with some fonts such as \mbox{\textsf{HM Series}} +available at +\href{https://dma8hm1334.bitbucket.io}{\texttt{https://dma8hm1334.bitbucket.io}} +and \mbox{\textsf{X Series 2}} available at +\href{http://wiki.irmug.com/index.php/X_Series_2}{\texttt{http://wiki.irmug.com/index.php/X\_Series\_2}}. +The \textsf{xepersian-hm} package fixes these problems. + +The files \texttt{kashida-glyph-example.tex} and \texttt{kashida-hrule-example.tex} +in the directory \texttt{texmf-dist/doc/xelatex/xepersian-hm/} can be used as simple +examples of the usage of the package. + +Please use the Bitbucket issue tracker: +\href{https://bitbucket.org/dma8hm1334/xepersian-hm/issues}{\textsf{https://bitbucket.org/dma8hm1334/\linebreak[4]xepersian-hm/issues}} +to report a bug, request a feature or if you have a comment. + +I will do my best to fix all the bugs you report, but, unfortunately, +time is a big hurdle to overcome; so, my apologies in advance for those +which I cannot make time to fix. + +\section{Package loading and options} + +Please note that \textsf{xepersian-hm} loads \textsf{xepersian} automatically, +so you may only pass options to the package using the command +\verb|\PassOptionsToPackage| before \verb|\documentclass|. For example: + +\begin{verbatim} +\PassOptionsToPackage{Kashida=off,RTLdocument=on}{xepersian} +\documentclass{report} +\usepackage{xcolor} +\usepackage[Kashida,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} +\end{verbatim} + +The options available in \textsf{xepersian-hm} are: +\begin{itemize} + \item \texttt{Kashida}: \\ + which implements kashida feature with two possible values: + \begin{itemize} + \item \texttt{glyph}: \\ + which uses the \texttt{Kashida} character to stretch the text. + With this option you should run \texttt{xelatex} thrice. For example: \\ + + \texttt{rm -f kashida-example.aux \\ + xelatex kashida-example.tex \\ + xelatex kashida-example.tex \\ + xelatex kashida-example.tex} + + Please note that this feature is still experimental and is not regarded as stable. + If you are going to use this option be ready for unpredictable results. + + \item \texttt{hrule}: \\ + which uses a horizontal rule (\verb|\hrule|) to stretch the text. + + \end{itemize} + For example \texttt{Kashida=glyph} inserts a stretched \texttt{Kashida} glyph where ever it is needed. + + \item \texttt{linebreakpenalty}: \\ + which specifies the amount of penalty for preventing bad line-breaking. + You may strictly specify the value of this option. For example \texttt{'linebreakpenalty=8'} or you + may use the default values. The available default values of penalties which are put into the + horizontal list output are the negative of the followings: + + \begin{longtable}{ll} + \texttt{min}: & \texttt{0} \\ + \texttt{low}: & \texttt{8} \\ + \texttt{medium}: & \texttt{15} \\ + \texttt{high}: & \texttt{25} \\ + \texttt{max}: & \texttt{10000} + \end{longtable} + \item \texttt{kashidastretch}: \\ + which specifies the amount of extra stretching + for some combinations of characters. You may strictly specify the value of + this option. For example \texttt{'kashidastretch=0.14 em plus 0.5 em'} or you + may use the default values. The available default values are: + + \begin{longtable}{lll} + \texttt{kayhan} & \texttt{0.14 em plus 0.5 em} \\ + \texttt{khorramshahr} & \texttt{0.131 em plus 0.5 em} \\ + \texttt{kayhannavaar} & \texttt{0.129 em plus 0.5 em} \\ + \texttt{kayhanpook} & \texttt{0.133 em plus 0.5 em} \\ + \texttt{kayhansayeh} & \texttt{0.135 em plus 0.5 em} \\ + \texttt{khoramshahr} & \texttt{0.128 em plus 0.5 em} \\ + \texttt{khorramshahr} & \texttt{0.13 em plus 0.5 em} \\ + \texttt{niloofar} & \texttt{0.132 em plus 0.5 em} \\ + \texttt{paatch} & \texttt{0.127 em plus 0.5 em} \\ + \texttt{riyaz} & \texttt{0.125 em plus 0.5 em} \\ + \texttt{roya} & \texttt{0.142 em plus 0.5 em} \\ + \texttt{shafigh} & \texttt{0.143 em plus 0.5 em} \\ + \texttt{shafighKurd} & \texttt{0.126 em plus 0.5 em} \\ + \texttt{shafighUzbek} & \texttt{0.123 em plus 0.5 em} \\ + \texttt{shiraz} & \texttt{0.122 em plus 0.5 em} \\ + \texttt{sols} & \texttt{0.124 em plus 0.5 em} \\ + \texttt{tabriz} & \texttt{0.119 em plus 0.5 em} \\ + \texttt{titr} & \texttt{0.12 em plus 0.5 em} \\ + \texttt{titre} & \texttt{0.121 em plus 0.5 em} \\ + \texttt{traffic} & \texttt{0.124 em plus 0.5 em} \\ + \texttt{vahid} & \texttt{0.134 em plus 0.5 em} \\ + \texttt{vosta} & \texttt{0.136 em plus 0.5 em} \\ + \texttt{yaghut} & \texttt{0.138 em plus 0.5 em} \\ + \texttt{yagut} & \texttt{0.137 em plus 0.5 em} \\ + \texttt{yas} & \texttt{0.126 em plus 0.5 em} \\ + \texttt{yekan} & \texttt{0.141 em plus 0.5 em} \\ + \texttt{yermook} & \texttt{0.139 em plus 0.5 em} \\ + \texttt{zar} & \texttt{0.116 em plus 0.5 em} \\ + \texttt{ziba} & \texttt{0.119 em plus 0.5 em} \\ + \texttt{default} & \texttt{0.14 em plus 0.5 em} \\ + \texttt{noskip} & \texttt{0 em plus 0.5 em} + \end{longtable} + + For example: \mbox{\texttt{'kashidastretch=titr'}} is equivalent to\linebreak + \mbox{\texttt{'kashidastretch=0.12 em plus 0.5 em'}} +\end{itemize} + +\section{Commands} + +\begin{description} + \item \verb|\discouragebadlinebreaks[linebreakpenalty][kashidastretch]{|{\it text}\verb|}|: + + {\it text} may not contain paragraph breaks. + This command puts a penalty after each Persian word. + The optional arguments \texttt{linebreakpenalty} and \texttt{kashidastretch} locally specify the value of the penalty and the amount + of extra stretching for some combinations of characters respectively as discussed previously. For example: + + \texttt{\bslash discouragebadlinebreaks[9][0.12 em plus 0.5 em]\{\dots\}} +\end{description} +\end{document} +%% +%% +%% End of file `xepersian-hm-doc.ltx'. diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf new file mode 100644 index 0000000000..cc80a88443 Binary files /dev/null and b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.pdf differ diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx b/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx index 0d5d19f524..0cf960fe36 100644 --- a/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm.dtx @@ -1,28 +1,37 @@ % \iffalse meta-comment +% +% This is file `xepersian-hm.dtx' +% +% Copyright (C) 2020 Hossein Movahhedian % +% It may be distributed and/or modified under the LaTeX Project Public License, +% version 1.3c or higher (your choice). The latest version of +% this license is at: http://www.latex-project.org/lppl.txt +% %<*internal> \iffalse % -%<*README> +%<*README-txt> The XEPERSIAN-HM package ------------------------ -Kashida feature in `xepersian' has problems with some fonts such as `HM Series' -fonts available at `https://dma8hm1334.bitbucket.io' and `X Series 2' fonts -available at `http://wiki.irmug.com/index.php/X_Series_2'. The `xepersian-hm' -package fixes these problems. +Kashida feature in 'xepersian' has problems with some fonts such as 'HM Series' +available at 'https://dma8hm1334.bitbucket.io' and 'X Series 2' available at +'http://wiki.irmug.com/index.php/X_Series_2'. The 'xepersian-hm' package fixes +these problems. -The file `texmf-dist/doc/xelatex/xepersian-hm/kashida-example.tex' can be used as -a simple example of the usage of the package. +The files 'kashida-glyph-example.tex' and 'kashida-hrule-example.tex' in +the directory 'texmf-dist/doc/xelatex/xepersian-hm/' can be used as simple +examples of the usage of the package. Please use the Bitbucket issue tracker: -https://bitbucket.org/dma8hm1334/xepersian-hm/issues -to report a bug, request a feature or if you have a comment. +'https://bitbucket.org/dma8hm1334/xepersian-hm/issues' to report a bug, request +a feature or if you have a comment. -I will do my best to fix all the bugs you report, but, unfortunately, -time is a big hurdle to overcome; so, my apologies in advance for those -which I cannot make time to fix. -% +I will do my best to fix all the bugs you report, but, unfortunately, time is a +big hurdle to overcome; so, my apologies in advance for those which I cannot +make time to fix. +% %<*internal> \fi % @@ -43,8 +52,10 @@ which I cannot make time to fix. % \end{macrocode} % \fi % +% \immediate\write18{xelatex xepersian-hm-doc.ltx} +% % \title{^^A -% The \textsf{xepersian-hm} package\\Fixing kashida in xepersian^^A +% The \textsf{xepersian-hm} package\\Fixing kashida in xepersian\\Source code documentation^^A % } % % \author{^^A @@ -56,140 +67,16 @@ which I cannot make time to fix. % }^^A % } % -% \date{Released 2020-04-26 \qquad v0.5b} +% \date{Released \quad 2020-05-01 \quad v0.5c} % % \maketitle % -% Kashida feature in \textsf{xepersian} has problems with some fonts such as \texttt{HM Series} -% fonts available at -% \href{https://dma8hm1334.bitbucket.io}{\texttt{https://dma8hm1334.bitbucket.io}} -% and \texttt{X Series 2} fonts available at -% \href{http://wiki.irmug.com/index.php/X_Series_2}{\texttt{http://wiki.irmug.com/index.php/X\_Series\_2}}. -% The \textsf{xepersian-hm} package fixes these problems. -% -% The file \texttt{texmf-dist/doc/xelatex/xepersian-hm/kashida-example.tex} can be -% used as a simple example of the usage of the package. -% -% Please use the Bitbucket issue tracker: -% \href{https://bitbucket.org/dma8hm1334/xepersian-hm/issues}{\textsf{https://bitbucket.org/dma8hm1334/xepersian-hm/issues}} -% to report a bug, request a feature or if you have a comment. -% -% I will do my best to fix all the bugs you report, but, unfortunately, -% time is a big hurdle to overcome; so, my apologies in advance for those -% which I cannot make time to fix. -% -% \section{Package loading and options} -% -% Please note that \textsf{xepersian-hm} loads \textsf{xepersian} automatically, -% so you may only pass options to the package using the command -% \verb|\PassOptionsToPackage| before \verb|\documentclass|. For example: -% -% \begin{verbatim} -% \PassOptionsToPackage{Kashida=off,RTLdocument=on}{xepersian} -% \documentclass{report} -% \usepackage{xcolor} -% \usepackage[Kashida,kashidastretch=0.14 em plus 0.5 em]{xepersian-hm} -% \end{verbatim} -% -% The options available in \textsf{xepersian-hm} are: -% \begin{itemize} -% \item \texttt{Kashida}: \\ -% which implements kashida feature with two possible values: -% \begin{itemize} -% \item \texttt{glyph}: \\ -% which uses the \texttt{Kashida} character to stretch the text. -% With this option you should run \texttt{xelatex} thrice. For example: \\ -% -% \texttt{rm -f kashida-example.aux \\ -% xelatex kashida-example.tex \\ -% xelatex kashida-example.tex \\ -% xelatex kashida-example.tex} -% -% Please note that this feature is still experimental and is not regarded as stable. -% If you are going to use this option be ready for unpredictable results. -% -% \item \texttt{hrule}: \\ -% which uses a horizontal rule (\verb|\hrule|) to stretch the text. -% -% \end{itemize} -% For example \texttt{Kashida=glyph} inserts a stretched \texttt{Kashida} glyph where ever it is needed. -% -% \item \texttt{linebreakpenalty}: \\ -% which specifies the amount of penalty for preventing bad line-breaking. -% You may strictly specify the value of this option. For example \texttt{'linebreakpenalty=8'} or you -% may use the default values. The available default values of penalties which are put into the -% horizontal list output are the negative of the followings: -% -% \begin{longtable}{ll} -% \texttt{min}: & \texttt{0} \\ -% \texttt{low}: & \texttt{8} \\ -% \texttt{medium}: & \texttt{15} \\ -% \texttt{high}: & \texttt{25} \\ -% \texttt{max}: & \texttt{10000} -% \end{longtable} -% \item \texttt{kashidastretch}: \\ -% which specifies the amount of extra stretching -% for some combinations of characters. You may strictly specify the value of -% this option. For example \texttt{'kashidastretch=0.14 em plus 0.5 em'} or you -% may use the default values. The available default values are: -% -% \begin{longtable}{lll} -% \texttt{kayhan} & \texttt{0.14 em plus 0.5 em} \\ -% \texttt{khorramshahr} & \texttt{0.131 em plus 0.5 em} \\ -% \texttt{kayhannavaar} & \texttt{0.129 em plus 0.5 em} \\ -% \texttt{kayhanpook} & \texttt{0.133 em plus 0.5 em} \\ -% \texttt{kayhansayeh} & \texttt{0.135 em plus 0.5 em} \\ -% \texttt{khoramshahr} & \texttt{0.128 em plus 0.5 em} \\ -% \texttt{khorramshahr} & \texttt{0.13 em plus 0.5 em} \\ -% \texttt{niloofar} & \texttt{0.132 em plus 0.5 em} \\ -% \texttt{paatch} & \texttt{0.127 em plus 0.5 em} \\ -% \texttt{riyaz} & \texttt{0.125 em plus 0.5 em} \\ -% \texttt{roya} & \texttt{0.142 em plus 0.5 em} \\ -% \texttt{shafigh} & \texttt{0.143 em plus 0.5 em} \\ -% \texttt{shafighKurd} & \texttt{0.126 em plus 0.5 em} \\ -% \texttt{shafighUzbek} & \texttt{0.123 em plus 0.5 em} \\ -% \texttt{shiraz} & \texttt{0.122 em plus 0.5 em} \\ -% \texttt{sols} & \texttt{0.124 em plus 0.5 em} \\ -% \texttt{tabriz} & \texttt{0.119 em plus 0.5 em} \\ -% \texttt{titr} & \texttt{0.12 em plus 0.5 em} \\ -% \texttt{titre} & \texttt{0.121 em plus 0.5 em} \\ -% \texttt{traffic} & \texttt{0.124 em plus 0.5 em} \\ -% \texttt{vahid} & \texttt{0.134 em plus 0.5 em} \\ -% \texttt{vosta} & \texttt{0.136 em plus 0.5 em} \\ -% \texttt{yaghut} & \texttt{0.138 em plus 0.5 em} \\ -% \texttt{yagut} & \texttt{0.137 em plus 0.5 em} \\ -% \texttt{yas} & \texttt{0.126 em plus 0.5 em} \\ -% \texttt{yekan} & \texttt{0.141 em plus 0.5 em} \\ -% \texttt{yermook} & \texttt{0.139 em plus 0.5 em} \\ -% \texttt{zar} & \texttt{0.116 em plus 0.5 em} \\ -% \texttt{ziba} & \texttt{0.119 em plus 0.5 em} \\ -% \texttt{default} & \texttt{0.14 em plus 0.5 em} \\ -% \texttt{noskip} & \texttt{0 em plus 0.5 em} -% \end{longtable} -% -% For example: \mbox{\texttt{'kashidastretch=titr'}} is equivalent to\linebreak -% \mbox{\texttt{'kashidastretch=0.12 em plus 0.5 em'}} -% \end{itemize} -% -% \section{Commands} -% -% \begin{description} -% \item \verb|\discouragebadlinebreaks[linebreakpenalty][kashidastretch]{|{\it text}\verb|}|: -% -% {\it text} may not contain paragraph breaks. -% This command puts a penalty after each Persian word. -% The optional arguments \texttt{linebreakpenalty} and \texttt{kashidastretch} locally specify the value of the penalty and the amount -% of extra stretching for some combinations of characters respectively as discussed previously. For example: -% -% \texttt{\bslash discouragebadlinebreaks[9][0.12 em plus 0.5 em]\{\dots\}} -% \end{description} -% % \section{\texttt{xepersian-hm} Implementation} % % \subsection{File: \texttt{xepersian-hm.sty}} % % \begin{macrocode} -%<*xepersian-hm> +%<*xepersian-hm-sty> \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3}[2020-03-06] \@ifpackagelater{expl3}{2020-03-06} @@ -209,32 +96,44 @@ which I cannot make time to fix. \RequirePackage{zref-savepos}[2020-03-03] \RequirePackage{xepersian} \ExplSyntaxOn -\ProvidesExplPackage {xepersian-hm} {2020-04-26} {0.5b} { Fixes~issues~in~xepersian~package } +\ProvidesExplPackage {xepersian-hm} {2020-05-01} {0.5c} { Fixes~issues~in~xepersian~package } -\tl_new:N \l_xephm_main_font_full_tl -\tl_new:N \l_xephm_main_font_name_tl \int_const:Nn \c_xephm_ksh_int {"0640} % kashida -\int_new:N \l_xephm_kashida_slot_int +\int_const:Nn \c_xephm_lrm_int {"200E} % left-right-mark +\int_const:Nn \c_xephm_zwj_int {"200D} % zero-width joiner -\tl_new:N \l_xephm_skip_default_tl +\int_const:Nn \c_xephm_two_int {2} % 2 +\int_const:Nn \c_xephm_four_int {4} % 4 \tl_const:Nn \c_xephm_skip_a_tl { 0 em plus 0.5 em } - \tl_const:Nn \c_xephm_skip_b_tl { 0.14 em plus 5.5 em } -\bool_set_false:N \l_xephm_kashida_hm_fix_bool - -\tl_new:N \l_xephm_gap_filler_tl +\int_new:N \l_xephm_counter_int -\bool_set_false:N \l_xephm_linebreakpenalty_bool +\int_new:N \l_xephm_kashida_slot_int \int_new:N \l_xephm_line_break_penalty_int + \int_new:N \l_xephm_min_penalty_int \int_new:N \l_xephm_low_penalty_int \int_new:N \l_xephm_med_penalty_int \int_new:N \l_xephm_high_penalty_int \int_new:N \l_xephm_max_penalty_int +\tl_new:N \l_xephm_line_break_tl + +\tl_new:N \l_xephm_main_font_full_tl +\tl_new:N \l_xephm_main_font_name_tl + +\tl_new:N \l_xephm_skip_default_tl + +\tl_new:N \l_xephm_gap_filler_tl + +\dim_new:N \l_xephm_diff_pos_dim + +\bool_set_false:N \l_xephm_kashida_hm_fix_bool +\bool_set_false:N \l_xephm_linebreakpenalty_bool + \int_set:Nn \l_xephm_min_penalty_int { 0 } \int_set:Nn \l_xephm_low_penalty_int { 8 } \int_set:Nn \l_xephm_med_penalty_int { 15 } @@ -281,6 +180,11 @@ which I cannot make time to fix. Sorry,~ kashida~ character~ is~ not~ available~ in~ the~ main~ font~! } +\msg_new:nnx { xepersian-hm } { value-not-available-for-kashida-option } + { + Sorry,~ value~ `\l_xephm_gap_filler_tl'~ is~ not~ available~ for~ kashida~ option~ yet~! + } + \keys_define:nn { xepersian-hm } { Kashida .code:n = @@ -371,21 +275,14 @@ which I cannot make time to fix. \ExplSyntaxOff \endinput -% +% % \end{macrocode} % % \subsection{File: \texttt{kashida-xepersian-hm.def}} % \begin{macrocode} -%<*kashida-xepersian-hm> +%<*kashida-xepersian-hm-def> \ExplSyntaxOn -\ProvidesExplFile {kashida-xepersian-hm.def} {2020-04-26} {0.5b} { Fixes~implementation~of~Kashida~in~xepersian~package } - -\int_const:Nn \c_xephm_zwj_int {"200D} % zero-width joiner -\int_const:Nn \c_xephm_lrm_int {"200E} % left-right-mark -\int_const:Nn \c_xephm_two_int {2} % 2 -\int_const:Nn \c_xephm_four_int {4} % 4 - -\int_new:N \l_xephm_counter_int +\ProvidesExplFile {kashida-xepersian-hm.def} {2020-05-01} {0.5c} { Fixes~implementation~of~Kashida~in~xepersian~package } \newXeTeXintercharclass \c_xephm_d_charclass % dual-joiner class \newXeTeXintercharclass \c_xephm_l_charclass % lam @@ -393,8 +290,6 @@ which I cannot make time to fix. \newXeTeXintercharclass \c_xephm_a_charclass % alef \newXeTeXintercharclass \c_xephm_y_charclass % yeh -\dim_new:N \l_xephm_diff_pos_dim - %% Partly adapted from LaTeX2e source \cs_new:Nn \xephm_line_break: { \if_mode_vertical: @@ -427,8 +322,6 @@ which I cannot make time to fix. \xephm_put_line_breaks:n { #3 } } -\tl_new:N \l_xephm_line_break_tl - \cs_new_protected:Nn \xephm_put_line_breaks:n { \tl_set:Nn \l_xephm_line_break_tl { #1 } @@ -538,11 +431,6 @@ which I cannot make time to fix. \XeTeXcharclass "#1 \c_xephm_y_charclass } -\msg_new:nnx { xepersian-hm } { value-not-available-for-kashida-option } - { - Sorry,~ value~ `\l_xephm_gap_filler_tl'~ is~ not~ available~ for~ kashida~ option~ yet! - } - \str_case:VnTF \l_xephm_gap_filler_tl { \l_xephm_stretch_glyph_tl @@ -635,7 +523,7 @@ which I cannot make time to fix. \makeatother \endinput -% +% % \end{macrocode} % % \section*{Acknowledgements} diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm.ins b/macros/xetex/latex/xepersian-hm/xepersian-hm.ins index d610751e2d..cba9853ea9 100644 --- a/macros/xetex/latex/xepersian-hm/xepersian-hm.ins +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm.ins @@ -30,9 +30,11 @@ this license is at: http://www.latex-project.org/lppl.txt \keepsilent -\generate{\file{xepersian-hm.sty} {\from{xepersian-hm.dtx} {xepersian-hm}}} -\generate{\file{README.txt} {\from{xepersian-hm.dtx} {README}}} -\generate{\file{kashida-xepersian-hm.def} {\from{xepersian-hm.dtx} {kashida-xepersian-hm}}} +\generate{\file{xepersian-hm.sty} {\from{xepersian-hm.dtx} {xepersian-hm-sty}}} +\nopreamble +\generate{\file{README.txt} {\from{xepersian-hm.dtx} {README-txt}}} +\usepreamble\defaultpreamble +\generate{\file{kashida-xepersian-hm.def} {\from{xepersian-hm.dtx} {kashida-xepersian-hm-def}}} \obeyspaces \Msg{******************************************************} diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf b/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf index 43dd46a0a4..b460f20455 100644 Binary files a/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf and b/macros/xetex/latex/xepersian-hm/xepersian-hm.pdf differ -- cgit v1.2.3