From 15f0c94913f0d5cb24dd909c5358b3a997994dd7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 2 May 2020 22:24:14 +0000 Subject: ctex (2may20) git-svn-id: svn://tug.org/texlive/trunk@54976 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/ctex/README.md | 35 +- Master/texmf-dist/doc/latex/ctex/ctex.pdf | Bin 1061924 -> 1097692 bytes .../source/latex/ctex/ctex-zhconv-make.lua | 114 + Master/texmf-dist/source/latex/ctex/ctex.dtx | 6696 ++- Master/texmf-dist/source/latex/ctex/ctex.ins | 299 + Master/texmf-dist/source/latex/ctex/ctexpunct.spa | 20 +- Master/texmf-dist/tex/generic/ctex/ctexmakespa.tex | 32 +- .../texmf-dist/tex/generic/ctex/ctexspamacro.tex | 18 +- Master/texmf-dist/tex/generic/ctex/ctxdocstrip.tex | 91 +- .../texmf-dist/tex/generic/ctex/zhadobefonts.tex | 55 +- .../texmf-dist/tex/generic/ctex/zhfandolfonts.tex | 53 +- .../texmf-dist/tex/generic/ctex/zhfounderfonts.tex | 104 +- Master/texmf-dist/tex/generic/ctex/zhmacfonts.tex | 111 + .../texmf-dist/tex/generic/ctex/zhubuntufonts.tex | 83 +- .../texmf-dist/tex/generic/ctex/zhwindowsfonts.tex | 116 +- .../tex/latex/ctex/config/ctex-name-gbk.cfg | 14 +- .../tex/latex/ctex/config/ctex-name-utf8.cfg | 16 +- Master/texmf-dist/tex/latex/ctex/config/ctex.cfg | 14 +- .../tex/latex/ctex/config/ctexbackend.cfg | 51 + .../texmf-dist/tex/latex/ctex/config/ctexopts.cfg | 16 +- Master/texmf-dist/tex/latex/ctex/ctex-article.def | 671 - Master/texmf-dist/tex/latex/ctex/ctex-beamer.def | 205 - Master/texmf-dist/tex/latex/ctex/ctex-book.def | 798 - Master/texmf-dist/tex/latex/ctex/ctex-c5size.clo | 14 +- Master/texmf-dist/tex/latex/ctex/ctex-cs4size.clo | 14 +- Master/texmf-dist/tex/latex/ctex/ctex-report.def | 793 - Master/texmf-dist/tex/latex/ctex/ctex.sty | 400 +- Master/texmf-dist/tex/latex/ctex/ctexart.cls | 662 +- Master/texmf-dist/tex/latex/ctex/ctexbeamer.cls | 504 +- Master/texmf-dist/tex/latex/ctex/ctexbook.cls | 726 +- Master/texmf-dist/tex/latex/ctex/ctexcap.sty | 14 +- Master/texmf-dist/tex/latex/ctex/ctexheading.sty | 57 +- Master/texmf-dist/tex/latex/ctex/ctexhook.sty | 71 +- Master/texmf-dist/tex/latex/ctex/ctexpatch.sty | 29 +- Master/texmf-dist/tex/latex/ctex/ctexrep.cls | 726 +- Master/texmf-dist/tex/latex/ctex/ctexsize.sty | 85 +- Master/texmf-dist/tex/latex/ctex/ctexspa.def | 32 +- Master/texmf-dist/tex/latex/ctex/ctxdoc.cls | 93 +- .../translator-theorem-dictionary-ChineseGBK.dict | 12 +- .../translator-theorem-dictionary-ChineseUTF8.dict | 12 +- .../tex/latex/ctex/engine/ctex-engine-aptex.def | 179 +- .../tex/latex/ctex/engine/ctex-engine-luatex.def | 642 +- .../tex/latex/ctex/engine/ctex-engine-pdftex.def | 188 +- .../tex/latex/ctex/engine/ctex-engine-uptex.def | 189 +- .../tex/latex/ctex/engine/ctex-engine-xetex.def | 96 +- Master/texmf-dist/tex/latex/ctex/fd/c19rm.fd | 12 +- Master/texmf-dist/tex/latex/ctex/fd/c19sf.fd | 12 +- Master/texmf-dist/tex/latex/ctex/fd/c19tt.fd | 12 +- Master/texmf-dist/tex/latex/ctex/fd/c70rm.fd | 12 +- Master/texmf-dist/tex/latex/ctex/fd/c70sf.fd | 12 +- Master/texmf-dist/tex/latex/ctex/fd/c70tt.fd | 12 +- Master/texmf-dist/tex/latex/ctex/fd/jt2zhrm.fd | 13 +- Master/texmf-dist/tex/latex/ctex/fd/jt2zhsf.fd | 13 +- Master/texmf-dist/tex/latex/ctex/fd/jt2zhtt.fd | 12 +- Master/texmf-dist/tex/latex/ctex/fd/jy2zhrm.fd | 13 +- Master/texmf-dist/tex/latex/ctex/fd/jy2zhsf.fd | 13 +- Master/texmf-dist/tex/latex/ctex/fd/jy2zhtt.fd | 12 +- .../tex/latex/ctex/fontset/ctex-fontset-adobe.def | 138 +- .../tex/latex/ctex/fontset/ctex-fontset-fandol.def | 164 +- .../latex/ctex/fontset/ctex-fontset-founder.def | 122 +- .../tex/latex/ctex/fontset/ctex-fontset-mac.def | 16 +- .../tex/latex/ctex/fontset/ctex-fontset-macnew.def | 121 +- .../tex/latex/ctex/fontset/ctex-fontset-macold.def | 47 +- .../tex/latex/ctex/fontset/ctex-fontset-ubuntu.def | 96 +- .../latex/ctex/fontset/ctex-fontset-windows.def | 99 +- .../latex/ctex/fontset/ctex-fontset-windowsnew.def | 120 - .../latex/ctex/fontset/ctex-fontset-windowsold.def | 104 - .../latex/ctex/heading/ctex-heading-article.def | 700 + .../tex/latex/ctex/heading/ctex-heading-beamer.def | 214 + .../tex/latex/ctex/heading/ctex-heading-book.def | 827 + .../tex/latex/ctex/heading/ctex-heading-report.def | 822 + .../ctex/scheme/ctex-scheme-chinese-article.def | 48 +- .../ctex/scheme/ctex-scheme-chinese-beamer.def | 26 +- .../latex/ctex/scheme/ctex-scheme-chinese-book.def | 50 +- .../ctex/scheme/ctex-scheme-chinese-report.def | 50 +- .../tex/latex/ctex/scheme/ctex-scheme-chinese.def | 24 +- .../ctex/scheme/ctex-scheme-plain-article.def | 40 +- .../latex/ctex/scheme/ctex-scheme-plain-beamer.def | 20 +- .../latex/ctex/scheme/ctex-scheme-plain-book.def | 42 +- .../latex/ctex/scheme/ctex-scheme-plain-report.def | 42 +- .../tex/latex/ctex/scheme/ctex-scheme-plain.def | 14 +- .../tex/luatex/ctex/ctex-zhconv-index.lua | 42778 +++++++++++++++++++ Master/texmf-dist/tex/luatex/ctex/ctex-zhconv.lua | 204 + 83 files changed, 52672 insertions(+), 9554 deletions(-) create mode 100644 Master/texmf-dist/source/latex/ctex/ctex-zhconv-make.lua create mode 100644 Master/texmf-dist/source/latex/ctex/ctex.ins create mode 100644 Master/texmf-dist/tex/generic/ctex/zhmacfonts.tex create mode 100644 Master/texmf-dist/tex/latex/ctex/config/ctexbackend.cfg delete mode 100644 Master/texmf-dist/tex/latex/ctex/ctex-article.def delete mode 100644 Master/texmf-dist/tex/latex/ctex/ctex-beamer.def delete mode 100644 Master/texmf-dist/tex/latex/ctex/ctex-book.def delete mode 100644 Master/texmf-dist/tex/latex/ctex/ctex-report.def delete mode 100644 Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsnew.def delete mode 100644 Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsold.def create mode 100644 Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-article.def create mode 100644 Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-beamer.def create mode 100644 Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-book.def create mode 100644 Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-report.def create mode 100644 Master/texmf-dist/tex/luatex/ctex/ctex-zhconv-index.lua create mode 100644 Master/texmf-dist/tex/luatex/ctex/ctex-zhconv.lua (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/ctex/README.md b/Master/texmf-dist/doc/latex/ctex/README.md index 0fb3ee02f4e..83399cecd5e 100644 --- a/Master/texmf-dist/doc/latex/ctex/README.md +++ b/Master/texmf-dist/doc/latex/ctex/README.md @@ -15,6 +15,10 @@ Authors and Contributors * Chen Zhichu * Li Qing * Liam Huang +* Zeng Xiangdong +* Li Zeping +* Zhou Yukai +* Zhang Ruixi Contributing ------------ @@ -26,7 +30,7 @@ Issues and pull requests are welcome. Copyright and Licence --------------------- - Copyright (C) 2003--2019 + Copyright (C) 2003--2020 CTEX.ORG and any individual authors listed elsewhere in this file. ---------------------------------------------------------------------- @@ -40,11 +44,13 @@ 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, Qing Lee and Liam Huang. - - This package consists of the file ctex.dtx, + This package consists of the files ctex.dtx, + ctxdoc.cls, + ctxdocstrip.tex, + ctex-zhconv.lua, + ctex-zhconv-make.lua, and the derived files ctex.pdf, ctex.ins, ctex.sty, @@ -54,16 +60,15 @@ Copyright and Licence ctexbook.cls, ctexrep.cls, ctexbeamer.cls, - ctxdoc.cls, ctexcap.sty, ctexhook.sty, ctexpatch.sty, ctex-c5size.clo, ctex-cs4size.clo, - ctex-article.def, - ctex-book.def, - ctex-report.def, - ctex-beamer.def, + ctex-heading-article.def, + ctex-heading-book.def, + ctex-heading-report.def, + ctex-heading-beamer.def, ctex-scheme-plain.def, ctex-scheme-plain-article.def, ctex-scheme-plain-book.def, @@ -78,6 +83,7 @@ Copyright and Licence ctex-name-utf8.cfg, ctex.cfg, ctexopts.cfg, + ctexbackend.cfg, ctex-engine-pdftex.def, ctex-engine-xetex.def, ctex-engine-luatex.def, @@ -95,26 +101,25 @@ Copyright and Licence jt2zhrm.fd, jt2zhsf.fd, jt2zhtt.fd, - ctex-fontset-windows.def, - ctex-fontset-windowsnew.def, - ctex-fontset-windowsold.def, ctex-fontset-adobe.def, ctex-fontset-fandol.def, + ctex-fontset-founder.def, ctex-fontset-mac.def, ctex-fontset-macnew.def, ctex-fontset-macold.def, - ctex-fontset-founder.def, ctex-fontset-ubuntu.def, + ctex-fontset-windows.def, ctexspa.def, ctexpunct.spa, ctexmakespa.tex, ctexspamacro.tex, - ctxdocstrip.tex, zhadobefonts.tex, zhfandolfonts.tex, zhfounderfonts.tex, + zhmacfonts.tex, zhubuntufonts.tex, zhwindowsfonts.tex, + ctex-zhconv-index.lua, translator-theorem-dictionary-ChineseGBK.dict, translator-theorem-dictionary-ChineseUTF8.dict, and README.md (this file). diff --git a/Master/texmf-dist/doc/latex/ctex/ctex.pdf b/Master/texmf-dist/doc/latex/ctex/ctex.pdf index 88f89a1e107..d17051b5366 100644 Binary files a/Master/texmf-dist/doc/latex/ctex/ctex.pdf and b/Master/texmf-dist/doc/latex/ctex/ctex.pdf differ diff --git a/Master/texmf-dist/source/latex/ctex/ctex-zhconv-make.lua b/Master/texmf-dist/source/latex/ctex/ctex-zhconv-make.lua new file mode 100644 index 00000000000..4b6f1bf8a4b --- /dev/null +++ b/Master/texmf-dist/source/latex/ctex/ctex-zhconv-make.lua @@ -0,0 +1,114 @@ +#!/usr/bin/env texlua +-- +-- File ctex-zhconv-make.lua +-- +-- Copyright (C) 2020 by Qing Lee +-------------------------------------------------------------------------- +-- +-- This work may be distributed and/or modified under the +-- conditions of the LaTeX Project Public License, either +-- version 1.3c of this license or (at your option) any later +-- version. This version of this license is in +-- http://www.latex-project.org/lppl/lppl-1-3c.txt +-- and the latest version of this license is in +-- http://www.latex-project.org/lppl.txt +-- and version 1.3 or later is part of all distributions of +-- LaTeX version 2005/12/01 or later. +-- +-- This work has the LPPL maintenance status "maintained". +-- +-- The Current Maintainer of this work is Qing Lee. +-- +-- This work consists of the files ctex-zhconv.lua, ctex-zhconv-make.lua +-- and the derived file ctex-zhconv-index.lua. +-- +-------------------------------------------------------------------------- +-- + +local preamble = [[ +-- +-- File ctex-zhconv-index.lua +-- +-- Copyright (C) 2020 by Qing Lee +-------------------------------------------------------------------------- +-- +-- This work may be distributed and/or modified under the +-- conditions of the LaTeX Project Public License, either +-- version 1.3c of this license or (at your option) any later +-- version. This version of this license is in +-- http://www.latex-project.org/lppl/lppl-1-3c.txt +-- and the latest version of this license is in +-- http://www.latex-project.org/lppl.txt +-- and version 1.3 or later is part of all distributions of +-- LaTeX version 2005/12/01 or later. +-- +-- This work has the LPPL maintenance status "maintained". +-- +-- The Current Maintainer of this work is Qing Lee. +-- +-- This work consists of the files ctex-zhconv.lua, ctex-zhconv-make.lua +-- and the derived file ctex-zhconv-index.lua. +-- +-------------------------------------------------------------------------- +-- +-- Do not edit this file! +-- Generated from the WHATWG Encoding Standard: +-- +-- https://encoding.spec.whatwg.org/index-big5.txt (Date: %s) +-- https://encoding.spec.whatwg.org/index-gb18030.txt (Date: %s) +-- https://encoding.spec.whatwg.org/index-gb18030-ranges.txt (Date: %s) +-- +-- +]] + +local rep, format, dump = string.rep, string.format, string.dump +local insert, unpack, concat = table.insert, table.unpack, table.concat +local io_open, os_execute = io.open, os.execute + +local curlcmd = "curl --silent --output %s https://encoding.spec.whatwg.org/%s" +local function prepare_index (file) + local file_path = file + local handle = io_open(file, "rb") + if handle then return handle end + local ret = os_execute(curlcmd:format(file, file)) + assert(ret == 0, "the curl command failed with: ".. ret) + return assert(io_open(file, "rb")) +end + +local index, date = { }, { } + +local indent = 2 +local begin_enc = "%s[%q] = {" +local end_enc = "%s} ," +local num_item = "%s[%s] = %s ," +local tab_item = "%s{ %6d , %s } ," +local tab = rep(" ", indent) +local tabtab = tab .. tab + +insert(index, "return {") +for i, v in ipairs { { "index-big5.txt", "big5" }, + { "index-gb18030.txt", "gb18030" }, + { "index-gb18030-ranges.txt", "gb18030_ranges" } } do + local file, encode = unpack(v) + local handle = prepare_index(file) + insert(index, begin_enc:format(tab, encode)) + for line in handle:lines() do + if not date[i] then + local s = line:match("Date: (.+)$") + if s then date[i] = s end + end + local pointer, code_point = line:match("^%s*(%d+)\t(0x%x+)") + if pointer and code_point then + insert(index, format(i == 3 and tab_item or num_item, tabtab, pointer, code_point)) + end + end + insert(index, end_enc:format(tab)) + handle:close() +end +insert(index, "}\n") + +local index = concat(index, "\n") + +local handle = io_open("ctex-zhconv-index.lua", "wb") +handle:write(preamble:format(unpack(date)), index) +handle:close() diff --git a/Master/texmf-dist/source/latex/ctex/ctex.dtx b/Master/texmf-dist/source/latex/ctex/ctex.dtx index d4a80e43448..f61198ac369 100644 --- a/Master/texmf-dist/source/latex/ctex/ctex.dtx +++ b/Master/texmf-dist/source/latex/ctex/ctex.dtx @@ -2,7 +2,7 @@ % !TeX program = XeLaTeX % !TeX encoding = UTF-8 % -% Copyright (C) 2003--2019 +% Copyright (C) 2003--2020 % CTEX.ORG and any individual authors listed elsewhere in this file. % -------------------------------------------------------------------------- % @@ -16,9 +16,7 @@ % and version 1.3 or later is part of all distributions of % LaTeX version 2005/12/01 or later. % -% This work has the LPPL maintenance status `maintained'. -% -% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. +% This work has the LPPL maintenance status "maintained". % % -------------------------------------------------------------------------- % @@ -43,6 +41,10 @@ Authors and Contributors * Chen Zhichu * Li Qing * Liam Huang +* Zeng Xiangdong +* Li Zeping +* Zhou Yukai +* Zhang Ruixi Contributing ------------ @@ -54,7 +56,7 @@ Issues and pull requests are welcome. Copyright and Licence --------------------- - Copyright (C) 2003--2019 + Copyright (C) 2003--2020 CTEX.ORG and any individual authors listed elsewhere in this file. ---------------------------------------------------------------------- @@ -68,11 +70,13 @@ 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'. - - The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. + This work has the LPPL maintenance status "maintained". - This package consists of the file ctex.dtx, + This package consists of the files ctex.dtx, + ctxdoc.cls, + ctxdocstrip.tex, + ctex-zhconv.lua, + ctex-zhconv-make.lua, and the derived files ctex.pdf, ctex.ins, ctex.sty, @@ -82,16 +86,15 @@ Copyright and Licence ctexbook.cls, ctexrep.cls, ctexbeamer.cls, - ctxdoc.cls, ctexcap.sty, ctexhook.sty, ctexpatch.sty, ctex-c5size.clo, ctex-cs4size.clo, - ctex-article.def, - ctex-book.def, - ctex-report.def, - ctex-beamer.def, + ctex-heading-article.def, + ctex-heading-book.def, + ctex-heading-report.def, + ctex-heading-beamer.def, ctex-scheme-plain.def, ctex-scheme-plain-article.def, ctex-scheme-plain-book.def, @@ -106,6 +109,7 @@ Copyright and Licence ctex-name-utf8.cfg, ctex.cfg, ctexopts.cfg, + ctexbackend.cfg, ctex-engine-pdftex.def, ctex-engine-xetex.def, ctex-engine-luatex.def, @@ -123,26 +127,25 @@ Copyright and Licence jt2zhrm.fd, jt2zhsf.fd, jt2zhtt.fd, - ctex-fontset-windows.def, - ctex-fontset-windowsnew.def, - ctex-fontset-windowsold.def, ctex-fontset-adobe.def, ctex-fontset-fandol.def, + ctex-fontset-founder.def, ctex-fontset-mac.def, ctex-fontset-macnew.def, ctex-fontset-macold.def, - ctex-fontset-founder.def, ctex-fontset-ubuntu.def, + ctex-fontset-windows.def, ctexspa.def, ctexpunct.spa, ctexmakespa.tex, ctexspamacro.tex, - ctxdocstrip.tex, zhadobefonts.tex, zhfandolfonts.tex, zhfounderfonts.tex, + zhmacfonts.tex, zhubuntufonts.tex, zhwindowsfonts.tex, + ctex-zhconv-index.lua, translator-theorem-dictionary-ChineseGBK.dict, translator-theorem-dictionary-ChineseUTF8.dict, and README.md (this file). @@ -160,9 +163,9 @@ Copyright and Licence \preamble - Copyright (C) 2003--2019 + Copyright (C) 2003--2020 CTEX.ORG and any individual authors listed in the documentation. ------------------------------------------------------------------------------- +--------------------------------------------------------------------- This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either @@ -174,16 +177,18 @@ 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, Qing Lee and Liam Huang. - ------------------------------------------------------------------------------- +--------------------------------------------------------------------- \endpreamble \postamble - This package consists of the file ctex.dtx, + This package consists of the files ctex.dtx, + ctxdoc.cls, + ctxdocstrip.tex, + ctex-zhconv.lua, + ctex-zhconv-make.lua, and the derived files ctex.pdf, ctex.ins, ctex.sty, @@ -193,16 +198,15 @@ Copyright and Licence ctexbook.cls, ctexrep.cls, ctexbeamer.cls, - ctxdoc.cls, ctexcap.sty, ctexhook.sty, ctexpatch.sty, ctex-c5size.clo, ctex-cs4size.clo, - ctex-article.def, - ctex-book.def, - ctex-report.def, - ctex-beamer.def, + ctex-heading-article.def, + ctex-heading-book.def, + ctex-heading-report.def, + ctex-heading-beamer.def, ctex-scheme-plain.def, ctex-scheme-plain-article.def, ctex-scheme-plain-book.def, @@ -217,6 +221,7 @@ Copyright and Licence ctex-name-utf8.cfg, ctex.cfg, ctexopts.cfg, + ctexbackend.cfg, ctex-engine-pdftex.def, ctex-engine-xetex.def, ctex-engine-luatex.def, @@ -234,26 +239,25 @@ Copyright and Licence jt2zhrm.fd, jt2zhsf.fd, jt2zhtt.fd, - ctex-fontset-windows.def, - ctex-fontset-windowsnew.def, - ctex-fontset-windowsold.def, ctex-fontset-adobe.def, ctex-fontset-fandol.def, + ctex-fontset-founder.def, ctex-fontset-mac.def, ctex-fontset-macnew.def, ctex-fontset-macold.def, - ctex-fontset-founder.def, ctex-fontset-ubuntu.def, + ctex-fontset-windows.def, ctexspa.def, ctexpunct.spa, ctexmakespa.tex, ctexspamacro.tex, - ctxdocstrip.tex, zhadobefonts.tex, zhfandolfonts.tex, zhfounderfonts.tex, + zhmacfonts.tex, zhubuntufonts.tex, zhwindowsfonts.tex, + ctex-zhconv-index.lua, translator-theorem-dictionary-ChineseGBK.dict, translator-theorem-dictionary-ChineseUTF8.dict, and README.md. @@ -270,16 +274,15 @@ Copyright and Licence \file{ctexrep.cls} {\from{\jobname.dtx}{class,report}} \file{ctexbeamer.cls} {\from{\jobname.dtx}{class,beamer}} \usepostamble\emptypostamble - \file{ctxdoc.cls} {\from{\jobname.dtx}{ctxdoc}} \file{ctexcap.sty} {\from{\jobname.dtx}{ctexcap}} \file{ctexhook.sty} {\from{\jobname.dtx}{ctexhook}} \file{ctexpatch.sty} {\from{\jobname.dtx}{ctexpatch}} \file{ctex-c5size.clo} {\from{\jobname.dtx}{c5size}} \file{ctex-cs4size.clo} {\from{\jobname.dtx}{cs4size}} - \file{ctex-article.def} {\from{\jobname.dtx}{heading,article}} - \file{ctex-book.def} {\from{\jobname.dtx}{heading,book}} - \file{ctex-report.def} {\from{\jobname.dtx}{heading,report}} - \file{ctex-beamer.def} {\from{\jobname.dtx}{heading,beamer}} + \file{ctex-heading-article.def} {\from{\jobname.dtx}{heading,article}} + \file{ctex-heading-book.def} {\from{\jobname.dtx}{heading,book}} + \file{ctex-heading-report.def} {\from{\jobname.dtx}{heading,report}} + \file{ctex-heading-beamer.def} {\from{\jobname.dtx}{heading,beamer}} \file{ctex-scheme-plain.def} {\from{\jobname.dtx}{scheme,generic,plain}} \file{ctex-scheme-plain-article.def} {\from{\jobname.dtx}{scheme,article,plain}} \file{ctex-scheme-plain-book.def} {\from{\jobname.dtx}{scheme,book,plain}} @@ -290,10 +293,11 @@ Copyright and Licence \file{ctex-scheme-chinese-book.def} {\from{\jobname.dtx}{scheme,book,chinese}} \file{ctex-scheme-chinese-report.def} {\from{\jobname.dtx}{scheme,report,chinese}} \file{ctex-scheme-chinese-beamer.def} {\from{\jobname.dtx}{scheme,beamer,chinese}} - \file{ctex-name-gbk.cfg} {\from{\jobname.dtx}{name,GBK}} + \ctxfile{GBK}{ctex-name-gbk.cfg} {\from{\jobname.dtx}{name,GBK}} \file{ctex-name-utf8.cfg} {\from{\jobname.dtx}{name,UTF8}} \file{ctex.cfg} {\from{\jobname.dtx}{config}} \file{ctexopts.cfg} {\from{\jobname.dtx}{ctexopts}} + \file{ctexbackend.cfg} {\from{\jobname.dtx}{backend}} \file{ctex-engine-pdftex.def} {\from{\jobname.dtx}{pdftex}} \file{ctex-engine-xetex.def} {\from{\jobname.dtx}{xetex}} \file{ctex-engine-luatex.def} {\from{\jobname.dtx}{luatex}} @@ -311,34 +315,29 @@ Copyright and Licence \file{jt2zhrm.fd} {\from{\jobname.dtx}{fd,rm,jt2}} \file{jt2zhsf.fd} {\from{\jobname.dtx}{fd,sf,jt2}} \file{jt2zhtt.fd} {\from{\jobname.dtx}{fd,tt,jt2}} - \file{ctex-fontset-windows.def} {\from{\jobname.dtx}{fontset,windows}} - \file{ctex-fontset-windowsnew.def} {\from{\jobname.dtx}{fontset,windowsnew}} - \file{ctex-fontset-windowsold.def} {\from{\jobname.dtx}{fontset,windowsold}} \file{ctex-fontset-adobe.def} {\from{\jobname.dtx}{fontset,adobe}} \file{ctex-fontset-fandol.def} {\from{\jobname.dtx}{fontset,fandol}} + \file{ctex-fontset-founder.def} {\from{\jobname.dtx}{fontset,founder}} \file{ctex-fontset-mac.def} {\from{\jobname.dtx}{fontset,mac}} - \file{ctex-fontset-macold.def} {\from{\jobname.dtx}{fontset,macold}} \file{ctex-fontset-macnew.def} {\from{\jobname.dtx}{fontset,macnew}} - \file{ctex-fontset-founder.def} {\from{\jobname.dtx}{fontset,founder}} + \file{ctex-fontset-macold.def} {\from{\jobname.dtx}{fontset,macold}} \file{ctex-fontset-ubuntu.def} {\from{\jobname.dtx}{fontset,ubuntu}} - \file{translator-theorem-dictionary-ChineseGBK.dict} + \file{ctex-fontset-windows.def} {\from{\jobname.dtx}{fontset,windows}} + \ctxfile{GBK}{translator-theorem-dictionary-ChineseGBK.dict} {\from{\jobname.dtx}{dict,theorem,GBK}} \file{translator-theorem-dictionary-ChineseUTF8.dict} {\from{\jobname.dtx}{dict,theorem,UTF8}} - \file{ctexspa.def} - { - \from{\jobname.dtx} {ctexspa} - \from{ctexpunct.spa} {} - } + \file{ctexspa.def} {\from{\jobname.dtx}{ctexspa} + \from{ctexpunct.spa}{}} \usedir{tex/generic/ctex} \file{ctexmakespa.tex} {\from{\jobname.dtx}{spa,make}} \file{ctexspamacro.tex} {\from{\jobname.dtx}{spa,macro}} \file{zhadobefonts.tex} {\from{\jobname.dtx}{zhmap,adobe}} \file{zhfandolfonts.tex} {\from{\jobname.dtx}{zhmap,fandol}} \file{zhfounderfonts.tex} {\from{\jobname.dtx}{zhmap,founder}} + \file{zhmacfonts.tex} {\from{\jobname.dtx}{zhmap,mac}} \file{zhubuntufonts.tex} {\from{\jobname.dtx}{zhmap,ubuntu}} \file{zhwindowsfonts.tex} {\from{\jobname.dtx}{zhmap,windows}} - \file{ctxdocstrip.tex} {\from{\jobname.dtx}{docstrip}} % %<*internal> \usedir{source/latex/ctex} @@ -366,16 +365,15 @@ Copyright and Licence \Msg{* ctexbook.cls *} \Msg{* ctexrep.cls *} \Msg{* ctexbeamer.cls *} -\Msg{* ctxdoc.cls *} \Msg{* ctexcap.sty *} \Msg{* ctexhook.sty *} \Msg{* ctexpatch.sty *} \Msg{* ctex-c5size.clo *} \Msg{* ctex-cs4size.clo *} -\Msg{* ctex-article.def *} -\Msg{* ctex-book.def *} -\Msg{* ctex-report.def *} -\Msg{* ctex-beamer.def *} +\Msg{* ctex-heading-article.def *} +\Msg{* ctex-heading-book.def *} +\Msg{* ctex-heading-report.def *} +\Msg{* ctex-heading-beamer.def *} \Msg{* ctex-scheme-plain.def *} \Msg{* ctex-scheme-plain-article.def *} \Msg{* ctex-scheme-plain-book.def *} @@ -390,6 +388,7 @@ Copyright and Licence \Msg{* ctex-name-utf8.cfg *} \Msg{* ctex.cfg *} \Msg{* ctexopts.cfg *} +\Msg{* ctexbackend.cfg *} \Msg{* ctex-engine-pdftex.def *} \Msg{* ctex-engine-xetex.def *} \Msg{* ctex-engine-luatex.def *} @@ -407,23 +406,21 @@ Copyright and Licence \Msg{* jt2zhrm.fd *} \Msg{* jt2zhsf.fd *} \Msg{* jt2zhtt.fd *} -\Msg{* ctex-fontset-windows.def *} -\Msg{* ctex-fontset-windowsnew.def *} -\Msg{* ctex-fontset-windowsold.def *} \Msg{* ctex-fontset-adobe.def *} \Msg{* ctex-fontset-fandol.def *} +\Msg{* ctex-fontset-founder.def *} \Msg{* ctex-fontset-mac.def *} -\Msg{* ctex-fontset-macold.def *} \Msg{* ctex-fontset-macnew.def *} -\Msg{* ctex-fontset-founder.def *} +\Msg{* ctex-fontset-macold.def *} \Msg{* ctex-fontset-ubuntu.def *} +\Msg{* ctex-fontset-windows.def *} \Msg{* ctexspa.def *} \Msg{* ctexmakespa.tex *} \Msg{* ctexspamacro.tex *} -\Msg{* ctxdocstrip.tex *} \Msg{* zhadobefonts.tex *} \Msg{* zhfandolfonts.tex *} \Msg{* zhfounderfonts.tex *} +\Msg{* zhmacfonts.tex *} \Msg{* zhubuntufonts.tex *} \Msg{* zhwindowsfonts.tex *} \Msg{* translator-theorem-dictionary-ChineseGBK.dict *} @@ -442,12 +439,11 @@ Copyright and Licence \fi % %<*!(driver|readme|install|zhmap|spa|docstrip)> -%<*!(fd|ctexspa|dict)> -%\NeedsTeXFormat{LaTeX2e} -%\RequirePackage{expl3} -%<+!driver>\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ -% {ctex documentation (CTEX)} -%\ProvidesExplClass{ctxdoc} +%<*!(fd|ctexspa|dict|backend)> +%\NeedsTeXFormat{LaTeX2e} +%\input{ctexbackend.cfg} +%\RequirePackage{expl3} +%<+!driver>\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ % {Chinese adapter in LaTeX (CTEX)} %\ProvidesExplPackage{\ExplFileName} % {Chinese font size definition (CTEX)} @@ -502,7 +498,7 @@ Copyright and Licence %\ProvidesExplFile{ctex-scheme-chinese-beamer.def} % {Caption with encoding GBK (CTEX)} %\ProvidesExplFile{ctex-name-gbk.cfg} -% {Caption with encoding UTF8 (CTEX)} +% {Caption with encoding UTF-8 (CTEX)} %\ProvidesExplFile{ctex-name-utf8.cfg} % {Configuration file (CTEX)} %\ProvidesExplFile{\ExplFileName.cfg} @@ -520,26 +516,22 @@ Copyright and Licence %\ProvidesExplFile{ctex-engine-uptex.def} % {Windows fonts definition (CTEX)} %\ProvidesExplFile{ctex-fontset-windows.def} -% {Windows fonts definition for Vista or later version (CTEX)} -%\ProvidesExplFile{ctex-fontset-windowsnew.def} -% {Windows fonts definition for XP or earlier version (CTEX)} -%\ProvidesExplFile{ctex-fontset-windowsold.def} % {Adobe fonts definition (CTEX)} %\ProvidesExplFile{ctex-fontset-adobe.def} % {Fandol fonts definition (CTEX)} %\ProvidesExplFile{ctex-fontset-fandol.def} -% {Mac OS X fonts definition (CTEX)} +% {macOS fonts definition (CTEX)} %\ProvidesExplFile{ctex-fontset-mac.def} -% {Mac OS X fonts definition for El Capitan or later version (CTEX)} +% {macOS fonts definition for El Capitan or later version (CTEX)} %\ProvidesExplFile{ctex-fontset-macnew.def} -% {Mac OS X fonts definition for Yosemite or earlier version (CTEX)} +% {macOS fonts definition for Yosemite or earlier version (CTEX)} %\ProvidesExplFile{ctex-fontset-macold.def} % {Founder fonts definition (CTEX)} %\ProvidesExplFile{ctex-fontset-founder.def} % {Ubuntu fonts definition (CTEX)} %\ProvidesExplFile{ctex-fontset-ubuntu.def} -% {\ExplFileDate}{2.4.16}{\ExplFileDescription} -% +% {\ExplFileDate}{2.5.1}{\ExplFileDescription} +% %\ProvidesFile{c19rm.fd}% %\ProvidesFile{c19sf.fd}% %\ProvidesFile{c19tt.fd}% @@ -553,11 +545,13 @@ Copyright and Licence %\ProvidesFile{jt2zhsf.fd}% %\ProvidesFile{jt2zhtt.fd}% %\ProvidesFile{ctexspa.def}% +%\ProvidesFile{ctexbackend.cfg}% %\ProvidesDictionary{translator-theorem-dictionary}{ChineseGBK}% %\ProvidesDictionary{translator-theorem-dictionary}{ChineseUTF8}% -% [2019/05/29 v2.4.16 Chinese font definition (CTEX)] -% [2019/05/29 v2.4.16 Space info for CJKpunct (CTEX)] -% [2019/05/29 v2.4.16 Chinese translation for theorem name (CTEX)] +% [2020/05/02 v2.5.1 Chinese font definition (CTEX)] +% [2020/05/02 v2.5.1 Space info for CJKpunct (CTEX)] +% [2020/05/02 v2.5.1 Backend configuration file (CTEX)] +% [2020/05/02 v2.5.1 Chinese translation for theorem name (CTEX)] % %<*driver> \documentclass{ctxdoc} @@ -579,9 +573,9 @@ Copyright and Licence % \changes{v2.4}{2015/02/19}{加强 \pkg{beamer} 宏包支持。} % \changes{v2.4.12}{2018/01/13}{同步 \LaTeXiii{} 2017/12/16。} % \changes{v2.4.15}{2019/03/23}{同步 \LaTeXiii{} 2019/03/05。} +% \changes{v2.5.1}{2020/05/02}{\pkg{zhconv} 更名为 \pkg{ctex-zhconv}。} % -% -% \CheckSum{5934} +% \CheckSum{6105} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -599,7 +593,7 @@ Copyright and Licence % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % -% \GetFileId{ctex.sty}% +% \GetFileId{ctex.sty} % % \title{\bfseries \CTeX{} 宏集手册} % \author{\href{http://www.ctex.org}{CTEX.ORG}} @@ -612,13 +606,13 @@ Copyright and Licence % 日期转换等支持功能,可适应论文、报告、书籍、幻灯片等不同类型的中文文档。 % % \CTeX{} 宏集支持 \LaTeX、\pdfLaTeX、\XeLaTeX、\LuaLaTeX、\upLaTeX{} 等多种不同 -% 的编译方式,并为它们提供了统一的界面。主要功能由宏包 \pkg{ctex} 和中文文档类 +% 的编译方式,并为它们提供了统一的界面。主要功能由宏包 \pkg{ctex} 以及中文文档类 % \cls{ctexart}、\cls{ctexrep}、\cls{ctexbook} 和 \cls{ctexbeamer} 实现。 % \end{abstract} % % \tableofcontents % -% \clearpage +% \bigskip % \setlength{\parskip}{0.8ex} % % \begin{documentation} @@ -629,14 +623,14 @@ Copyright and Licence % % \CTeX{} 宏集的源头有两个:一是王磊编写的 \cls{cjkbook} 文档类,二是吴凌云编写的 % \file{GB.cap}。 -% 这些工作没有经过认真、系统的设计,也没有用户文档,不利于维护和改进。 +% 这些工作没有经过认真系统的设计,也没有用户文档,不利于维护和改进。 % % 2003 年,吴凌云使用 \pkg{doc} 和 \pkg{DocStrip} 重构了整个工程,并增加了许多新的功能, % 称为 \pkg{ctex} 宏包。2007 年,oseen 和王越在 \pkg{ctex} 宏包的基础上, % 增加了对 UTF-8 编码的支持,开发出了 \pkg{ctexutf8} 宏包。 % % 2009 年 5 月,我们在 Google Code 建立了 ctex-kit 项目^^A -% \footnote{\nolinkurl{http://code.google.com/p/ctex-kit/}}, +% \footnote{\nolinkurl{http://code.google.com/p/ctex-kit/},该链接现已失效。}, % 对 \pkg{ctex} 宏包及相关脚本进行了整合,并加入了对 \XeTeX{} 引擎的支持。 % 在开发新版本时,考虑到合作开发和调试的方便,我们放弃了 \pkg{doc} 和 \pkg{DocStrip}, % 采取了直接编写宏包代码的方式。 @@ -649,11 +643,11 @@ Copyright and Licence % \href{https://github.com/CTeX-org/ctex-kit}{GitHub}^^A % \footnote{\url{https://github.com/CTeX-org/ctex-kit}}。 % -% 最初,Knuth 在设计开发 \TeX{} 的时候没有考虑到多国语言支持,特别是对多字节的中日韩 -% 语言的支持。这使得 \TeX{} 以至后来的 \LaTeX{} 对中文的支持一直不是很好。即使在 +% 最初,Knuth 在设计开发 \TeX{} 的时候没有考虑到多国文字支持,特别是对多字节的中日韩 +% 表意文字的支持。这使得 \TeX{} 以至后来的 \LaTeX{} 对中文的支持一直不是很好。即使在 % \pkg{CJK} 宏包解决了中文字符处理的问题以后,中文用户使用 \LaTeX{} 仍然要面对许 % 多困难。 -% 这些困难里,以章节标题的中文化为最。由于中文和西文语言习惯的差异,用户很难使用标准 +% 这些困难里,以章节标题的中文化为最。由于中文和西文书写习惯的差异,用户很难使用标准 % 文档类中的代码结构来表达中文标题。于是,用户不得不对标准文档类做较大的修改。 % 除此之外,日期格式、首行缩进、中文字号和字距等细节问题,也需要精细的调校。 % 我们设计 \CTeX{} 宏集的目的之一就是解决这些 \LaTeX{} 文档的汉化难题。 @@ -661,23 +655,24 @@ Copyright and Licence % 另一方面,随着 \TeX{} 引擎和 \LaTeX{} 宏包的不断发展,\LaTeX{} 的中文支持方式从早期的 % 专用系统(如 \pkg{CCT})发展为适用于不同引擎的多种方式^^A % \footnote{比如:\pdfTeX{} 引擎下的 \pkg{CJK}、\pkg{zhmCJK}宏包, -% \XeTeX{} 引擎下的 \pkg{xeCJK} 宏包和 \LuaTeX{} 引擎下的 \pkg{LuaTeX-ja} 宏 -% 包}。这些方式的适用情况和使用方式有不少细节上的差异,同时操作系统的不同、语言环境的不同等 +% \XeTeX{} 引擎下的 \pkg{xeCJK} 宏包和 \LuaTeX{} 引擎下的 \pkg{LuaTeX-ja} 宏包。}。 +% 这些方式的适用情况和使用方式有不少细节上的差异,同时操作系统的不同、语言环境的不同等 % 客观情况又进一步带来了更多的细节差异。我们设计 \CTeX{} 宏集的另一个主要目的就是 % 尽可能消除这些差异带来的影响,使用户能够以一个统一的接口来使用不同的中文支持方式, % 使得同一份文档能够在不同环境下交换使用。 % -% \CTeX{} 宏集的许多实现细节离不开热心朋友们在 \url{bbs.ctex.org} 论坛上的讨论, -% 在此对参与讨论的朋友们表示感谢。 +% \CTeX{} 宏集的许多实现细节离不开热心朋友们在 \nolinkurl{bbs.ctex.org} 论坛^^A +% \footnote{2018 年,\CTeX{} 论坛因故无限期关闭,此链接现已失效。}^^A +% 上的讨论,在此对参与讨论的朋友们表示感谢。 % % \subsection*{关于宏集名字的说明} % % \CTeX{} 之名是英文单词 China(中国)或 Chinese(中文)的首字母“C”与 “\TeX{}” % 结合而成的。在纯文本环境下,该名字应写作“CTeX”。 % -% \CTeX{} 宏集是由 \href{http://bbs.ctex.org}{\CTeX{} 社区} 发起并维护的 +% \CTeX{} 宏集是由 \href{https://github.com/CTeX-org}{\CTeX{} 社区}发起并维护的 % \LaTeX{} \emph{宏包和文档类的集合}。 -% 社区另有发布名为 \href{http://www.ctex.org/CTeX}{\CTeX{} 套装} +% 社区另有发布名为 \href{http://www.ctex.org/CTeX}{\CTeX{} 套装}^^A % 的 \TeX{} 发行版,与本文档所述的 \CTeX{} 宏集并非是同一事物。 % % \pkg{ctex} 则是本宏集中的 \pkg{ctex.sty} 的名字。这一完全小写的名称,在过去 @@ -688,7 +683,7 @@ Copyright and Licence % % \subsection{\CTeX{} 宏集的组成} % -% 为了适应用户不同的需求,我们将 \CTeX{} 宏集的主要功能分散在四个中文文档类和 +% 为了适应用户不同的需求,我们将 \CTeX{} 宏集的主要功能设计安排在四个中文文档类和 % 三个宏包当中,具体的组成见表~\ref{tab:ctex}。 % % \begin{table}[htbp] @@ -698,21 +693,21 @@ Copyright and Licence % \toprule % 类别 & 文件 & 说明 \\ % \midrule -% 文档类 & \file{ctexart.cls} & 标准文档类 \cls{article} 的汉化版本,一般适用于 -% 短篇幅的文章 \\ -% & \file{ctexrep.cls} & 标准文档类 \cls{report} 的汉化版本,一般适用于 -% 中篇幅的报告 \\ -% & \file{ctexbook.cls} & 标准文档类 \cls{book} 的汉化版本,一般适用于 -% 长篇幅的书籍 \\ -% & \file{ctexbeamer.cls} & 文档类 \cls{beamer} 的汉化版本,适用于 -% 幻灯片演示 \\ +% 文档类 & \file{ctexart.cls} & 标准文档类 \cls{article} 的汉化版本, +% 一般适用于短篇幅的文章 \\ +% & \file{ctexrep.cls} & 标准文档类 \cls{report} 的汉化版本, +% 一般适用于中篇幅的报告 \\ +% & \file{ctexbook.cls} & 标准文档类 \cls{book} 的汉化版本, +% 一般适用于长篇幅的书籍 \\ +% & \file{ctexbeamer.cls} & 文档类 \cls{beamer} 的汉化版本, +% 适用于幻灯片演示 \\ % \midrule -% 宏包 & \file{ctex.sty} & 提供全部功能,但\emph{默认不开启章节标题设置功能}, -% 需要使用 \opt{heading} 选项来开启 \\ -% & \file{ctexsize.sty} & 定义和调整中文字号,在 \pkg{ctex} 宏包 -% 或 \CTeX{} 中文文档类之外单独调用 \\ +% 宏包 & \file{ctex.sty} & 提供全部功能,但\emph{默认不开启章节标题设置功能}, +% 需要使用 \opt{heading} 选项来开启 \\ +% & \file{ctexsize.sty} & 定义和调整中文字号,可以在 \pkg{ctex} 宏包 +% 或 \CTeX{} 中文文档类之外单独调用 \\ % & \file{ctexheading.sty} & 提供章节标题设置功能(见 \ref{sec:secstyle} -% 节),在 \pkg{ctex} 宏包或 \CTeX{} 中文 +% 节),可以在 \pkg{ctex} 宏包或 \CTeX{} 中文 % 文档类之外单独调用 \\ % \bottomrule % \end{tabularx} @@ -720,37 +715,42 @@ Copyright and Licence % % \subsection{\CTeX{} 宏集的安装和更新} % \label{subsec:easy-ins} -% -% \CTeX{} 宏集依赖的宏包和宏集已被最常见的 \TeX{} 发行版 \TeXLive{} 和 \MiKTeX{} -% 所收录。如果本地安装 \TeXLive{} 或 \MiKTeX{} 不是完全版本,就可能需要通过这 -% 两个发行版提供的\emph{宏包管理器}来安装宏包。 -% -% \TeXLive{} 的宏包管理器是 tlmgr。用户可以在系统命令行中^^A -% \footnote{Windows 系统的命令行是 CMD 命令提示符,你可以使用 Win + R 组合键^^A -% 打开“运行”对话框,然后输入 cmd 确认打开命令提示符窗口。}^^A -% 执行 +% 最常见的 \TeX{} 发行版(\TeXLive{} 和 \MiKTeX{})已收录 \CTeX{} 宏集及其依赖的宏包和宏集。 +% \footnote{\pkg{zhmCJK} 宏包是个例外。当用户显式指定选项 \opt{zhmap = zhmCJK} 时,^^A +% \CTeX{} 宏集依赖它。由于,它没有被 \TeXLive{} 和 \MiKTeX{} 收录,用户可能需要遵照其说明文档 +% 自行安装。}如果本地安装 \TeXLive{} 或 \MiKTeX{} 不是完整版本,则可能需要通过这 +% 两个发行版提供的\emph{包管理器}来安装宏包。 +% +% \TeXLive{} 的包管理器是 tlmgr(\TeXLive{} Manager)。用户可以在系统命令行中^^A +% \footnote{Windows 系统的命令行是 CMD 命令提示符,你可以使用 Win + R 组合键 +% 打开“运行”对话框,然后输入 cmd 确认打开命令提示符窗口。}执行 % \begin{frameverb} % tlmgr gui % \end{frameverb} -% 启动管理器的图形界面(Windows 用户也可以通过开始菜单的 -% TeX Live 2015 \ding{212} TeX Live Manager 打开)。 -% 连接上远程仓库之后,搜索 ctex 安装即可。 -% tlmgr 的图形界面使用 Perl 编写,容易造成系统假死。遇到这种问题的用户, +% 启动管理器的图形界面(Windows 用户也可以通过开始菜单的 TeX Live 20XX(年份) +% \ding{212} TeX Live Manager 打开)。连接上远程仓库之后,搜索 |ctex| 即可安装。 +% tlmgr 的图形界面使用 Perl 编写,在实践中发现容易造成系统假死。遇到这种问题的用户, % 也可以直接在系统命令行执行 % \begin{frameverb} % tlmgr install ctex % \end{frameverb} -% 来安装 \CTeX{} 宏集\footnote{*nix 用户可能需要超级用户权限才能正确安装宏集。}。 +% 来安装 \CTeX{} 宏集^^A +% \footnote{*nix 用户可能需要超级用户权限(sudo)才能正确安装宏集。}。 % -% \MiKTeX{} 的宏包管理器是 mpm (\MiKTeX{} Package Manager)。用户可以在开始菜单 -% 找到 MiKTeX \ding{212} Maintenance (Admin) \ding{212} Package Manager (Admin), -% 打开管理器,连接上远程仓库之后,搜索 ctex 安装即可。 +% \MiKTeX{} 通常会在缺失宏包时自动完成安装。如需手动安装,可以使用其管理维护 +% 工具 \MiKTeX{} Console。用户可以打开管理器,连接上远程仓库之后,在“Package” +% 选项卡中搜索“ctex”并安装即可。 +% 也可以使用 mpm(\MiKTeX{} Package Manager),在命令行执行 +% \begin{frameverb} +% mpm --admin --install=ctex +% \end{frameverb} +% 来安装 \CTeX{} 宏集。 % -% 若希望了解 \CTeX{} 宏集具体的依赖情况和手工安装宏集的方法, +% 若希望了解 \CTeX{} 宏集具体的依赖情况或手工安装宏集的方法, % 请参阅第 \ref{sec:dep-ins}~节。 % -% 当宏包发布新版本,并被发行版在远程仓库安装之后,在本地就可以通过宏包管理器来 -% 取得新版本。 +% 当我们将宏集的新版本发布于 CTAN,且为发行版的远程仓库更新后,用户就可以在本地 +% 通过包管理器获取新版本。 % % 对于 \TeXLive{},可以在 tlmgr 的图形界面点击“更新全部已安装的”按钮或者在 % 命令行执行 @@ -759,14 +759,17 @@ Copyright and Licence % \end{frameverb} % 来完整更新已安装的宏包。 % -% 对于 \MiKTeX{},在开始菜单找到 -% MiKTeX \ding{212} Maintenance (Admin) \ding{212} Update (Admin), -% 按照界面说明更新即可。 +% 对于 \MiKTeX{},在 \MiKTeX{} Console 中找到“Updates”选项卡,检查更新后即可 +% 选择升级宏包。也可以使用 mpm,在命令行执行 +% \begin{frameverb} +% mpm --admin --update +% \end{frameverb} +% 来进行更新。 % % \subsection{使用 \CTeX{} 文档类} % -% \emph{如果用户需要在标准文档类的基础上添加中文支持和中文版式支持,我们建议用户使用 \CTeX{} -% 宏集提供的四个中文文档类。} +% \emph{如果用户需要在三个标准文档类或 \cls{beamer} 的基础上添加中文及版式的支持, +% 我们建议用户使用 \CTeX{} 宏集提供的四个中文文档类。} % % \CTeX{} 宏集提供了四个中文文档类:\cls{ctexart}、\cls{ctexrep}、\cls{ctexbook} 和 % \cls{ctexbeamer},分别对应 \LaTeX{} 的标准文档类 \cls{article}、\cls{report}、 @@ -775,18 +778,18 @@ Copyright and Licence % \ref{subs:encoding}~节)}。 % % \begin{ctexexam} -% \documentclass[UTF8]{ctexart} +% \documentclass{ctexart} % \begin{document} % 中文文档类测试。你需要将所有源文件保存为 UTF-8 编码。 % % 你可以使用 XeLaTeX、LuaLaTeX 或 upLaTeX 编译,也可以使用 (pdf)LaTeX 编译。 -% 推荐使用 XeLaTeX 或 LuaLaTeX 编译。 +% 推荐使用 XeLaTeX 或 LuaLaTeX 编译。对高级用户,我们也推荐使用 upLaTeX 编译。 % \end{document} % \end{ctexexam} % % 以下是使用 \cls{ctexbeamer} 文档类编写中文演示文稿的一个示例。 % \begin{ctexexam} -% \documentclass[UTF8]{ctexbeamer} +% \documentclass{ctexbeamer} % \begin{document} % \begin{frame}{中文演示文档} % \begin{itemize} @@ -794,6 +797,7 @@ Copyright and Licence % \item 你可以使用 XeLaTeX、LuaLaTeX 或 upLaTeX 编译 % \item 也可以使用 (pdf)LaTeX 编译 % \item 推荐使用 XeLaTeX 或 LuaLaTeX 编译 +% \item 对高级用户,我们也推荐使用 upLaTeX 编译 % \end{itemize} % \end{frame} % \end{document} @@ -801,14 +805,14 @@ Copyright and Licence % % \subsection{使用 \pkg{ctex} 宏包} % -% \emph{用户在使用非标准文档类时,如果需要添加中文支持或中文版式支持,则可以使用 \pkg{ctex} -% 宏包。} +% \emph{用户在使用非标准文档类及 \cls{beamer} 时,如果需要添加中文及版式的支持, +% 则可以使用 \pkg{ctex} 宏包。} % -% 有些文档类是建立在 \LaTeX{} 标准文档类之上开发的。这时,给 \pkg{ctex} 宏包 +% 对于建立在 \LaTeX{} 标准文档类之上开发的文档类,在使用 \pkg{ctex} 宏包时 % 加上 \opt{heading} 选项,可以将章节标题设置为中文风格。 % \begin{ctexexam} % \documentclass{ltxdoc} -% \usepackage[UTF8, heading = true]{ctex} +% \usepackage[heading = true]{ctex} % \begin{document} % \section{简介} % 章节标题中文化的 \LaTeX{} 手册。 @@ -820,16 +824,13 @@ Copyright and Licence % % \CTeX{} 宏集已经尽可能就中文的行文和版式习惯做了调整和配置,通常而言,这些配置 % 已经够用。因此,除非必要,我们不建议普通用户修改这些默认配置。如果你认为 \CTeX{} 宏集 -% 的默认配置还可以完善,可以在项目主页上% +% 的默认配置还可以完善,可以在项目主页上^^A % \href{https://github.com/CTeX-org/ctex-kit/issues}{提交 issue}, % 向我们反映,我们会酌情在后续版本中予以改进。 % % 不过,\CTeX{} 宏集也提供了一系列选项。用户可以使用这些选项来控制 \CTeX{} 宏集的行为。 -% 具体来说,这些选项里,有的以传统的方式提供, -% 也有的以 \meta{key}|=|\meta{value} 的形式提供。对于以键值对形式提供的选项, -% 在下面的说明中使用\textbf{粗体}来表示 \CTeX{} 的默认设置。 -% -% 另一方面,这些选项可以分为以下三类: +% 按形式分类,这些选项有的以传统的方式提供,有的以 \meta{key}|=|\meta{value} 的形式提供。 +% 按指定位置分类,这些选项又可以分为以下三类: % \begin{itemize} % \item 名字后带有 \rexptarget\rexpstar{} 号的选项,只能作为宏包/文档类选项,需要 % 在引入宏包/文档类的时候指定; @@ -891,28 +892,24 @@ Copyright and Licence % \end{table} % % 不同的编译方式和中文支持方式会在一定程度上影响 \CTeX{} 宏集的行为,比如宏包对 -% 编码的处理。 -% 在用户使用 \XeLaTeX、\LuaLaTeX{} 及 \upLaTeX{} 编译时,\CTeX{} 宏集使用(且仅 -% 能使用)UTF-8 编码;而因为历史原因,在用户使用 \LaTeX{} 及 \pdfLaTeX{} 编译 -% 时,宏包默认使用 GBK 编码。用户需要\emph{保证编译方式、 -% 源文件编码、宏包编码选项三者一致}。 -% 关于宏包编码选项,可以参考 \ref{subs:encoding}~节。 -% -% 除去文档编码之外,选择不同的编译方式还可能影响 \CTeX{} 宏集对字体选择、空格处理、 -% 标点处理的处理。具体的影响将在本文档后续内容中进行阐述。 +% 文档编码、字体选择、空格、标点等的处理。具体细节将在本文档后续内容中进行阐述。 % % \subsection{中文编码} % \label{subs:encoding} % -% \begin{function}[rEXP]{GBK, UTF8} -% 指明编写文档时使用的编码格式。\CTeX{} 宏集无法检测用户编写文档时使用的编码格式,因此 -% 需要用户自行指定编码。\emph{我们建议用户总是使用 UTF-8 编码,并显式指定 \opt{UTF8} -% 选项,并使用 \XeLaTeX、\LuaLaTeX{} 或 \upLaTeX{} 编译。} +% \begin{function}[rEXP,updated=2019-11-10]{GBK, UTF8} +% 指明编写文档时使用的编码。\CTeX{} 宏集无法检测文档源文件的实际编码格式,因此需要 +% 用户通过选项声明。如果没有显式指定,则默认采用 UTF-8 编码。 % -% 使用 \XeLaTeX、\LuaLaTeX{} 或 \upLaTeX{} 编译时,\CTeX{} 宏集强制使用 UTF-8 -% 编码,此时 \opt{GBK} 选项无效。 -% 使用 (pdf)\LaTeX{} 编译时,\CTeX{} 宏集默认启用 \opt{GBK} 选项;不过,用户也可以 -% 显式声明 \opt{UTF8} 选项,使 \CTeX{} 宏集工作在 UTF-8 编码下。 +% 使用 \XeLaTeX{}、\LuaLaTeX{} 或 \upLaTeX{} 编译时,\CTeX{} 宏集强制使用 +% UTF-8 编码,此时 \opt{GBK} 选项无效;使用 (pdf)\LaTeX{} 编译时, +% \CTeX{} 宏集默认使用 UTF-8 编码,但用户也可以显式声明 \opt{GBK} 选项, +% 使 \CTeX{} 宏集按 GBK 编码处理文档。 +% +% 用户需要\emph{保证编译方式、源文件编码、宏包编码选项三者一致}。 +% +% \emph{我们建议编写新文档时始终使用 UTF-8 编码,而仅把 GBK 编码留给 +% 历史遗留文档。} % \end{function} % % \subsection{中文字库} @@ -920,9 +917,9 @@ Copyright and Licence % % 以往,为 \LaTeX{} 文档配置中文支持是一件相当繁琐的事情。默认情况下, % \CTeX{} 宏集能自动检测用户使用的编译方式(参见 \ref{subs:compile}~节)和 -% 操作系统\footnote{\CTeX{} 宏集现在能够识别 Mac~OS~X 系统以及 Windows 系统。}, -% 选择合适的底层支持和字库,从而简化配置过程。自动配置的情况参见 -% 表~\ref{tab:default-font-select}。 +% 操作系统\footnote{\CTeX{} 宏集现在能够识别 macOS 及 Windows 系统, +% 并将其他系统统一归为 Linux。},选择合适的底层支持和字库,从而简化配置过程。 +% 自动配置的情况参见表~\ref{tab:default-font-select}。 % % \begin{table}[htbp] % \centering @@ -931,42 +928,50 @@ Copyright and Licence % \label{tab:default-font-select} % \begin{tabular}{*{5}{c}} % \toprule -% & Mac OS X & Windows New\tnote{1} & Windows Old\tnote{2} & -% 其他 \\ +% & macOS Old\tnote{1} +% & macOS New\tnote{2} +% & Windows\tnote{3} +% & 其他 \\ % \midrule -% \XeLaTeX{} & \makecell{\pkg{xeCJK}\\华文字库} & -% \makecell{\pkg{xeCJK}\\中易字库 + 微软雅黑} & \makecell{\pkg{xeCJK}\\中易字库} & -% \makecell{\pkg{xeCJK}\\Fandol 字库\tnote{3}} \\ +% \XeLaTeX & \makecell{\pkg{xeCJK}\\华文字库} +% & \makecell{\pkg{xeCJK}\\华文字库 + 苹方} +% & \makecell{\pkg{xeCJK}\\中易字库 + 微软雅黑} +% & \makecell{\pkg{xeCJK}\\Fandol 字库\tnote{4}} \\ % \cmidrule(lr){1-5} -% \LuaLaTeX{}\tnote{4} & \makecell{\pkg{LuaTeX-ja}\\华文字库} & -% \makecell{\pkg{LuaTeX-ja}\\中易字库 + 微软雅黑} & -% \makecell{\pkg{LuaTeX-ja}\\中易字库} & -% \makecell{\pkg{LuaTeX-ja}\\Fandol 字库} \\ +% \LuaLaTeX\tnote{5} +% & \makecell{\pkg{LuaTeX-ja}\\华文字库} +% & \makecell{\pkg{LuaTeX-ja}\\华文字库 + 苹方} +% & \makecell{\pkg{LuaTeX-ja}\\中易字库 + 微软雅黑} +% & \makecell{\pkg{LuaTeX-ja}\\Fandol 字库} \\ % \cmidrule(lr){1-5} -% \pdfLaTeX{} & 不可用\tnote{5} & -% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\中易字库 + 微软雅黑} & -% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\中易字库} & 不可用\tnote{5} \\ +% \pdfLaTeX +% & 不可用 +% & 不可用 +% & \makecell{\pkg{CJK} + \pkg{zhmetrics}\\中易字库 + 微软雅黑\tnote{6}} +% & 不可用 \\ % \cmidrule(lr){1-5} -% \makecell{\LaTeX{} + \\\dvipdfmx{}} & 不可用\tnote{6} & -% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\中易字库 + 微软雅黑} & -% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\中易字库} & -% \makecell{\pkg{CJK} + \pkg{zhmetrics}\\Fandol 字库} \\ +% \makecell{\LaTeX{} + \\\dvipdfmx} +% & 不可用 +% & \makecell{\pkg{CJK} + \pkg{zhmetrics}\\华文字库 + 苹方} +% & \makecell{\pkg{CJK} + \pkg{zhmetrics}\\中易字库 + 微软雅黑\tnote{6}} +% & \makecell{\pkg{CJK} + \pkg{zhmetrics}\\Fandol 字库} \\ % \cmidrule(lr){1-5} -% \makecell{\upLaTeX{} + \\\dvipdfmx{}} & 不可用\tnote{6} & -% \makecell{\pkg{zhmetrics-uptex}\\中易字库 + 微软雅黑} & -% \makecell{\pkg{zhmetrics-uptex}\\中易字库} & -% \makecell{\pkg{zhmetrics-uptex}\\Fandol 字库} \\ +% \makecell{\upLaTeX{} + \\\dvipdfmx} +% & 不可用 +% & \makecell{\pkg{zhmetrics-uptex}\\华文字库 + 苹方} +% & \makecell{\pkg{zhmetrics-uptex}\\中易字库 + 微软雅黑} +% & \makecell{\pkg{zhmetrics-uptex}\\Fandol 字库} \\ % \bottomrule % \end{tabular} % \begin{tablenotes} -% \item [1] Windows Vista 及以后的 Windows 操作系统。 -% \item [2] Windows XP 及以前的 Windows 操作系统。 -% \item [3] 由马起园、苏杰、黄晨成等人开发的开源中文字体, -% 参见:\url{https://github.com/clerkma/fandol-fonts}。 -% \item [4] \LuaLaTeX{} 编译时使用 \pkg{LuaTeX-ja} 宏包。对此, +% \item [1] Yosemite (10.10) 及以前的 macOS 系统。 +% \item [2] El Capitan (10.11) 及以后的 macOS 系统。 +% \item [3] 仅支持 Windows Vista 及以后的 Windows 操作系统。 +% \item [4] 由马起园、苏杰、黄晨成等人开发的开源中文字体, +% 参见:\url{https://www.ctan.org/pkg/fandol}。 +% \item [5] \LuaLaTeX{} 编译时使用 \pkg{LuaTeX-ja} 宏包。对此, % 第 \ref{sec:lualatex-chinese}~节有特别说明。 -% \item [5] 受 \pdfTeX{} 的限制,无法嵌入 OpenType 字体。 -% \item [6] 目前受 \dvipdfmx{} 的限制,Mac OS X 系统上的黑体和仿宋无法读取。 +% \item [6] 微软雅黑字体并不总是有效,这和选项 \opt{zhmap} 的取值有关。 % \end{tablenotes} % \end{threeparttable} % \end{table} @@ -980,14 +985,20 @@ Copyright and Licence % \begin{syntax} % zhmap = <\TTF|zhmCJK> % \end{syntax} -% 指定字体映射机制。本选项只在使用 \pdfLaTeX/\LaTeX{} 编译时有意义。 +% 指定字体映射机制。本选项只在使用 (pdf)\LaTeX{} 编译时有意义。 % \end{function} % \begin{optdesc} -% \item[true] 使用 \pkg{zhmetrics} 宏包,将 CJK 字库通过 \tn{special} +% \item[true] 这是该选项的默认值。^^A +% \footnote{对于以键值对形式提供的选项,文档以\textbf{粗体}来表示其默认值。^^A +% 下同,不再额外解释。}使用 \pkg{zhmetrics} 宏包,将 CJK 字库通过 \tn{special} % 命令映射到 \file{.ttf} 文件。 % % \item[false] 使用传统的 CJK 字库(Type 1)^^A -% \footnote{如果需要使用自定义的字体映射文件,或者希望使用 Type1 字库,请禁用本选项。}。 +% \footnote{使用 (pdf)\LaTeX{} 编译时,如果需要使用自定义的字体映射文件(比如需要 +% 使用 \LaTeX{} + Dvips 编译),或者希望使用 Type1 字库,请禁用本选项。为此,你 +% 可能需要安装 CJK 字体。参考 \pkg{zhmetrics} 宏包提供的脚本 +% \href{https://github.com/CTeX-org/ctex-kit/blob/master/zhmetrics/CTeXFonts.lua} +% {\file{CTeXFonts.lua}}。}。 % % \item[zhmCJK] 载入 \pkg{zhmCJK} 宏包^^A % \footnote{\pkg{zhmCJK} 宏包基于 \pkg{zhmetrics} 和 \pkg{CJK} 宏包,提供与 @@ -997,8 +1008,7 @@ Copyright and Licence % % \begin{function}[added=2014-03-08]{fontset} % \begin{syntax} -% fontset =^^A -% +% fontset = % \end{syntax} % 指定 \CTeX{} 宏集加载的字库。 % @@ -1012,24 +1022,18 @@ Copyright and Licence % \item[adobe] 使用 Adobe 公司的四款中文字体,\emph{不支持 \pdfLaTeX}。 % \item[fandol] 使用 Fandol 中文字体,\emph{不支持 \pdfLaTeX}。 % \item[founder] 使用方正公司的中文字体。 -% \item[mac] 使用 Mac OS X 系统下的字体,\emph{不支持 (pdf)\LaTeX}。 -% \item[macnew] 使用 El Capitan 或之后的多字重宋体、苹方黑体。 -% \item[macold] 使用 Yosemite 或之前的华文字库。 -% \item[ubuntu] 使用 Ubuntu 系统下的文泉驿和文鼎字体。 -% \item[windows] 使用简体中文 Windows 系统下的中文字体,自动判断 Windows 系 -% 统版本,采用 |windowsnew| 或 |windowsold| 的设置。 -% \item[windowsnew] 使用简体中文 Windows Vista 或之后系统下的中易字体和微软 -% 雅黑字体。 -% \item[windowsold] 使用简体中文 Windows XP 或之前系统下的中易字体。 +% \item[mac] 使用 macOS 系统下的字体,\emph{不支持 \pdfLaTeX},根据版本分为 +% |macnew| 和 |macold| 两种。 +% \item[macnew] 使用 El Capitan 或之后的多字重华文字体和苹方字体。 +% \item[macold] 使用 Yosemite 或之前的华文字体。 +% \item[ubuntu] 使用 Ubuntu 系统下的思源宋体、思源黑体和 \TeX{} 发行版自带的 +% 文鼎楷体,\emph{不支持 \pdfLaTeX}。 +% \item[windows] 使用 Windows 系统下的中易字体和微软雅黑字体。 +% 当使用 (pdf)\LaTeX{} 编译时,微软雅黑仅在以下两种情形有效: +% 安装有 \pkg{zhmCJK} 宏包且选项 \opt{zhmap=zhmCJK} 时,或者 +% 安装有微软雅黑的 Type1 字体且选项 \opt{zhmap=false} 时。 % \end{optdesc} % -% 注意:使用 (pdf)\LaTeX{} 编译的时候,若设置 \opt{zhmap = false}(比如需要 -% 使用 \LaTeX{} + Dvips 编译),则需要按照传统方式^^A -% \footnote{可以使用 \pkg{zhmetrics} 宏包提供的脚本 -% \href{https://github.com/CTeX-org/ctex-kit/blob/master/zhmetrics/CTeXFonts.lua} -% {\file{CTeXFonts.lua}}。}^^A -% 在本地安装好 CJK 字体。 -% % 如果不想使用 \CTeX{} 预定义的中文字库,可以设置 \opt{fontset} 为下述值之一。 % % \begin{optdesc} @@ -1043,7 +1047,7 @@ Copyright and Licence % \end{optdesc} % % 注意:\emph{如果希望使用 \tn{ctexset} 在导言区指定字库,则需要先在宏包/文档类选项中指定 -% \opt{fontset = none}}。例如: +% \opt{fontset = none}}(这会禁用 \CTeX{} 宏集的操作系统检测功能和自动设定字库功能)。例如: % \begin{ctexexam} % \documentclass[fontset = none]{ctexart} % \ctexset{fontset = founder} @@ -1054,27 +1058,25 @@ Copyright and Licence % \end{ctexexam} % % \CTeX{} 宏集预定义的中文字库还定义了一些字体命令。除了在 \opt{ubuntu} 字库中没有 -% \tn{fangsong} 的定义外,所有字库都有以下四个字体命令。 -% +% \tn{fangsong} 的定义外,所有字库都有以下四个字体命令: % \begin{optdesc} % \item[\tn{songti}] 宋体,CJK 等价命令 |\CJKfamily{zhsong}|。 % \item[\tn{heiti}] 黑体,CJK 等价命令 |\CJKfamily{zhhei}|。 % \item[\tn{fangsong}] 仿宋,CJK 等价命令 |\CJKfamily{zhfs}|。 % \item[\tn{kaishu}] 楷书,CJK 等价命令 |\CJKfamily{zhkai}|。 % \end{optdesc} -% -% 在 \opt{windows} 和 \opt{founder} 字库中,额外定义了 \tn{lishu} 和 \tn{youyuan}。 +% 在 \opt{windows}、\opt{founder} 和 \opt{macnew} 字库中,额外定义了 \tn{lishu} +% 和 \tn{youyuan}: % \begin{optdesc} % \item[\tn{lishu}] 隶书,CJK 等价命令 |\CJKfamily{zhli}|。 % \item[\tn{youyuan}] 圆体,CJK 等价命令 |\CJKfamily{zhyou}|。 % \end{optdesc} -% 在 \opt{windowsnew} 和 \opt{macnew} 字库中,还有 \tn{yahei}。 -% 其中在 \opt{macnew} 字库中,\tn{yahei} 实际调用苹方黑体。此举乃是为了更好的兼容性而设。 +% 在 \opt{windows} 字库中还定义了 \tn{yahei}。出于兼容性的考虑,\tn{yahei} 命令 +% 在 \opt{macnew} 字库中也有定义,但实际调用苹方黑体: % \begin{optdesc} % \item[\tn{yahei}] 微软雅黑,CJK 等价命令 |\CJKfamily{zhyahei}|。 % \end{optdesc} -% -% 在 \opt{macnew} 字库中,还定义了 \tn{pingfang}。 +% 在 \opt{macnew} 字库中,还定义了 \tn{pingfang}: % \begin{optdesc} % \item[\tn{pingfang}] 苹方黑体,CJK 等价命令 |\CJKfamily{zhpf}|。 % \end{optdesc} @@ -1093,9 +1095,10 @@ Copyright and Licence % 本选项可以用于四个 \CTeX{} 文档类和 \pkg{ctex} 宏包, % 也可以用于 \pkg{ctexsize} 宏包。 % -% \opt{scheme = chinese} 时,对标准文档类默认值为 |5|,即设置 -% \tn{normalsize} 为五号字;对 \cls{beamer} 则为 |false|,使用文档类原有的设 -% 置。 +% 该选项的默认值与 \opt{scheme} 的取值有关。 +% 当 \opt{scheme = chinese} 时,对标准文档类默认值为 |5|,即设置 +% \tn{normalsize} 为五号字;对 \cls{beamer} 则为 |false|,使用文档类原有的设置。 +% 当 \opt{scheme = plain} 时,该选项不设默认值,沿用标准文档类或 \cls{beamer} 的原有设置。 % \end{function} % % \begin{table}[htbp] @@ -1150,8 +1153,7 @@ Copyright and Licence % 本选项只能在调用 \pkg{ctex.sty} 时作为宏包选项使用。 % % \CTeX{} 宏集提供了一套用于修改文档章节标题格式的接口。该选项用于选择是否 -% 启用该功能。详细的设置方法请参见 -% \ref{sec:secstyle}~节和 \ref{subs:pagestyle}~节。 +% 启用该功能。详细的设置方法请参见第 \ref{subs:pagestyle}~节和第 \ref{sec:secstyle}~节。 % \end{function} % % \CTeX{} 宏集提供的四个文档类总是启用该功能。如果在 \pkg{ctex.sty} 下启用该选项, @@ -1169,7 +1171,7 @@ Copyright and Licence % 的格式。启用 \opt{sub4section} 会将 \tn{paragraph} 和 \tn{subparagraph} 的格式 % 都修改为类似 \tn{section} 的格式。 % -% 启用该选项通常需要将计数器 |secnumdepth| 的值为设置为 4 或 5。 +% 启用该选项通常还需要将计数器 |secnumdepth| 的值为设置为 4 或 5。 % % 具体格式可参考 \ref{sec:secstyle}~节中的 \opt{runin} 和 \opt{afterskip} 选项。 % @@ -1185,7 +1187,7 @@ Copyright and Licence % \begin{syntax} % scheme = <(chinese)|plain> % \end{syntax} -% 选择文章的排版方案,预设有 \opt{chinese} 和 \opt{plain} 两种方案。% +% 选择文章的排版方案,预设有 \opt{chinese} 和 \opt{plain} 两种方案。 % \end{function} % \begin{optdesc}[itemsep=\medskipamount] % \item[chinese] 对 \cls{beamer} 以外的文档类,调整默认字号为五号字,并调 @@ -1224,14 +1226,14 @@ Copyright and Licence % \begin{syntax} % space = <\TF|(auto)> % \end{syntax} -% 是否在生成的 PDF 中保留汉字后面的空格。 +% 是否在生成的 PDF 中保留汉字后面的空格。该选项仅在使用 \XeLaTeX{}/(pdf)\LaTeX{} 编译时有效。 % \end{function} % % \begin{optdesc} % \item[true] 总是保留汉字后的空格。此时,用户需要自行在行尾加上~|%|~处理换行产生 % 的空格\footnote{\LaTeX{} 将单个换行视作一个空格。}。 -% \item[false] 总是忽略掉汉字后面的空格,不论汉字后是什么(使用 (pdf)\LaTeX{} -% 编译时);等同于 \opt{auto} 的效果(使用 \XeLaTeX{} 编译时)。不建议使用该选项。 +% \item[false] 使用 (pdf)\LaTeX{} 编译时:总是忽略掉汉字后面的空格,不论汉字后是什么; +% 使用 \XeLaTeX{} 编译时,等同于 \opt{auto} 的效果。不建议使用该选项。 % \item[auto] 根据空格后面的情况决定是否保留:如果空格后面是汉字,则忽略该 % 空格,否则保留。 % \end{optdesc} @@ -1278,8 +1280,10 @@ Copyright and Licence % \begin{optdesc} % \item[\meta{数值或带单位的数值}] 用于设置段首缩进的长度。如果不带单位,则默认 % 单位是单个汉字字宽 \tn{ccwd};如果带单位,则使用该单位。 +% 若要显式使用 \tn{ccwd} 为单位,则必须在导言区进行设置。 % -% \item[true] 等价于设置 \opt{autoindent = 2}。 +% \item[true] 等价于设置 \opt{autoindent = 2} 或 +% 在导言区设置 \opt{autoindent = 2\tn{ccwd}}。 % % \item[false] 禁用自动调整功能,可以设置固定长度的段首缩进。如设置每段缩进 40 点: % \begin{ctexexam} @@ -1315,7 +1319,7 @@ Copyright and Licence % \subsection{日期汉化} % % \CTeX 宏包对显示当前日期的 \tn{today} 命令进行了汉化,使之以中文的方式显示今 -% 天的日期。如编译本文档的日期就是“\today”。 +% 天的日期。如本文档编译时的日期是“\today”。 % % \begin{function}[EXP]{today} % \begin{syntax} @@ -1329,6 +1333,7 @@ Copyright and Licence % 效果为“\today”。使用全汉字的日期格式。 % \item[old] \ctexset{today=old} % 效果为“\today”。使用文档原来的(英文)日期格式。 +% \ctexset{today=small} ^^A NOTE(Liam): 复原设定是好习惯。 % \end{optdesc} % \end{function} % @@ -1343,7 +1348,7 @@ Copyright and Licence % \subsection{文档标题汉化} % \label{subs:capname} % -% 这里主要介绍由宏包 \opt{scheme} 选项(\ref{subs:options-type-style}~节)控制 +% 这里主要介绍由 \opt{scheme} 选项(\ref{subs:options-type-style}~节)控制 % 的文档标题汉化功能。 % % 设置文档标题名的示例可见例~\ref{exam:capname}。下面的选项(如 @@ -1413,8 +1418,16 @@ Copyright and Licence % \begin{syntax} % bibname = <名字> % \end{syntax} -% 设置参考文献标题名 \tn{refname}(对 \cls{article})或 \tn{bibname}(对 -% \cls{report}、\cls{book} 和 \cls{beamer})。中文默认为“\refname”。 +% 设置参考文献标题名。中文默认为“\refname”。 +% +% 在标准文档类中 \cls{article} 的参考文献名使用宏 \tn{refname},而 +% \cls{book} 和 \cls{report} 使用宏 \tn{bibname}。本选项会根据标准文档类的不同,自动 +% 设定 \tn{refname} 或是 \tn{bibname}。因此,对于标准文档类及对应的 \CTeX{} 文档类 +% 可以统一地使用 \opt{bibname} 选项来控制参考文献标题名。 +% +% 对于 \cls{beamer} 及对应的 \cls{ctexbeamer} 来说,它们同时具有宏 \tn{bibname} 和 +% 宏 \tn{refname}。本选项仅控制其中的 \tn{bibname}; +% \tn{refname} 则交由 \opt{refname} 选项控制。 % \end{function} % % \begin{function}[EXP]{proofname} @@ -1433,6 +1446,10 @@ Copyright and Licence % refname = <名字> % \end{syntax} % 设置参考文献标题名 \tn{refname}。中文默认为“\refname”。 +% +% 注意,三个标准文档类(及相应的 \CTeX{} 文档类)的参考文献标题名由 \opt{bibname} 选项 +% 统一设置,本选项仅适用于 \cls{beamer} 及其对应的 \cls{ctexbeamer}。 +% 在三个标准文档类(及相应的 \CTeX{} 文档类)中使用 \opt{refname} 选项会报错。 % \end{function} % % \begin{function}[EXP]{algorithmname} @@ -1455,8 +1472,10 @@ Copyright and Licence % \subsection{页面格式设置与汉化} % \label{subs:pagestyle} % -% 当使用了 \CTeX 的文档类或是用 \pkg{ctex} 宏包加载了 \opt{heading} 选项时,会 -% 设置整个文档的页面格式(page style)为 |headings|,即相当于设置了 +% 页面格式设置与汉化的功能(及章节标题样式设置功能,见第 \ref{sec:secstyle} 节)^^A +% 由 \pkg{ctexheading} 宏包完成。加载该宏包时,或者使用 \CTeX{} 文档类时,^^A +% 或者是使用 \pkg{ctex} 宏包并设定选项 \opt{heading = true} 时,相关功能被激活。 +% 此时,整个文档的页面格式(page style)被设定为 |headings|,即相当于设置了 % \begin{frameverb} % \pagestyle{headings} % \end{frameverb} @@ -1481,7 +1500,7 @@ Copyright and Licence % \tn{chaptermark}、\tn{sectionmark} 中调用 \tn{markright} 或 \tn{markboth} 生 % 成的。 % \end{itemize} -% 有关 \LaTeX 页面标记的涵义与使用细节,已经超出了本文档讨论的范围。可以参考 +% 有关 \LaTeX 页面标记的含义与使用细节,已经超出了本文档讨论的范围。可以参考 % \cite[Chapter~23]{knuthtex1986}、\cite[\S4.3, \S4.4]{mittelbach2004} 等书籍。 % % 这里举一个例子,说明通过重定义 \tn{sectionmark},在 \cls{ctexart} 文档类中的 @@ -1548,41 +1567,50 @@ Copyright and Licence % \smallskip\hrule % \end{trivlist} % -% \section{章节标题格式设置} +% \section{章节标题样式设置} % \label{sec:secstyle} % -% \CTeX 宏包对 \LaTeX 的标准文档类(\cls{article}、\cls{report} 和 -% \cls{book})和 \cls{beamer} 进行了扩充。当以 \opt{heading} 选项调用 \CTeX -% 宏包时(\ref{subs:options-heading}~节),则会启用章 -% 节标题的格式设置功能。本节就来介绍有关章节标题的格式选项,所有选项使用 -% \tn{ctexset} 命令设置。 +% \CTeX{} 宏集对 \LaTeX{} 的标准文档类(\cls{article}、\cls{report}、 +% \cls{book})和 \cls{beamer} 进行了章节标题样式设置功能的扩充。 +% 章节标题样式设置功能(及页面格式设置与汉化功能,见第 \ref{subs:pagestyle} 节)^^A +% 由 \pkg{ctexheading} 宏包完成。加载该宏包时,或者使用 \CTeX{} 文档类时,^^A +% 或者是使用 \pkg{ctex} 宏包并设定选项 \opt{heading = true} 时,相关功能被激活。 +% 其中,独立使用 \pkg{ctexheading} 宏包时,本节介绍各选项的默认值与指定 +% \opt{scheme = plain} 时相同。 % -% 第 \ref{subs:pagestyle} 节和本节介绍的功能已经被提取到 \pkg{ctexheading} -% 宏包之中,可以在 \pkg{ctex} 宏包和 \cls{ctexart} 等文档类之外独立使用。 -% 各选项的默认值与 \opt{scheme = plain} 时的情形相同。 +% 本节涉及的所有选项均需使用 \tn{ctexset} 命令设置。 % % \changes{v2.0}{2015/03/21}{\tn{CTEXsetup}, \tn{CTEXoptions} 是过时命令。} -% 章节标题的格式选项是分层设置的。顶层的选项是章节标题名称,次一级的选项是章节 -% 标题的格式。章节标题名包括 |part|, |chapter|, |section|, |subsection|, -% |subsubsection|, |paragraph|, |subparagraph|;而可用的格式包括 \opt{numbering}, -% \opt{name}, \opt{number}, \opt{format}, \opt{nameformat}, \opt{numberformat}, -% \opt{aftername}, \opt{titleformat}, \opt{aftertitle}, \opt{runin}, -% \opt{afterindent}, \opt{beforeskip}, \opt{afterskip}, \opt{fixskip}, -% \opt{lotskip}, \opt{lofskip}, \opt{indent}, \opt{hang}, -% \opt{pagestyle}, \opt{break}, \opt{tocline} 等。 +% +% 章节标题的样式选项是分层设置的。顶层的选项是章节标题名称(例如 |section|), +% 次一层的选项是章节标题的样式(例如 \opt{nameformat})。章节标题名称包括 +% |part|, |chapter|, |section|, |subsection|, |subsubsection|, |paragraph|, +% |subparagraph|。可用的样式选项包括: +% \begin{itemize} +% \item 编号相关(\ref{subsec:sec-number}~小节): +% \opt{numbering}, \opt{name}, \opt{number} +% \item 格式相关(\ref{subsec:sec-format}~小节): +% \opt{format}, \opt{nameformat}, \opt{numberformat}, \opt{titleformat}, +% \opt{aftername}, \opt{aftertitle}, \opt{pagestyle} +% \item 间距、缩进相关(\ref{subsec:sec-spacing}~小节): +% \opt{runin}, \opt{hang}, \opt{indent}, \opt{beforeskip}, \opt{afterskip}, +% \opt{fixskip}, \opt{break}, \opt{afterindent} +% \item 目录、附录相关(\ref{subsec:sec-toc-appendix}~小节): +% \opt{tocline}, \opt{lofskip}, \opt{lotskip}, \opt{appendix/numbering}, +% \opt{appendix/name}, \opt{appendix/number} +% \end{itemize} % % 注意,对 \cls{article} 及其衍生的 \cls{ctexart} 等文档类,没有 |chapter| -% 级别的标题。而对于 \cls{beamer} 文档类,这些选项控制的是由 \tn{partpage}, -% \tn{sectionpage} 和 \tn{subsectionpage} 产生的标题格式,此时只有 |part|, +% 级别的标题;而对于 \cls{beamer} 文档类,这些选项控制的是由 \tn{partpage}, +% \tn{sectionpage} 和 \tn{subsectionpage} 产生的标题样式,此时只有 |part|, % |section| 和 |subsection| 这三层级别,并且 \opt{runin}, \opt{afterindent}, -% \opt{fixskip}, \opt{hang}, \opt{break} 和 \opt{tocline} 这六个格式无效。 +% \opt{fixskip}, \opt{hang}, \opt{break} 和 \opt{tocline} 这六个选项无效。 % -% 多级选项之间用斜线分开,例如,\opt{part/name} 选项设置 \tn{part} 标题的在数 +% 多层选项之间用斜线分开,例如,\opt{part/name} 选项设置 \tn{part} 标题的在数 % 字前后的名称,而 \opt{section/number} 选项设置 \tn{section} 标题的数字类型。 -% 注意,斜线 |/| 前后不能有空格或者换行。 -% -% 使用 \tn{ctexset} 设置多级选项时,可以在同一个上级选项下设置多个下级选项。 +% 注意,斜线 |/| 的前后不能有空格或者换行。 % +% 使用 \tn{ctexset} 设置多级选项时,还可以在同一个上级选项下设置多个下级选项。 % 例如,同时设置 |part| 一级标题的 \opt{pagestyle} 选项,|chapter| 一级标题的 % \opt{format} 与 \opt{pagestyle} 选项和 |section| 一级标题的 \opt{name} 与 % \opt{number} 选项: @@ -1600,32 +1628,55 @@ Copyright and Licence % } % \end{ctexexam} % +% \subsection{编号相关} +% \label{subsec:sec-number} +% % \begin{function}[EXP,added=2015-06-21]{part/numbering, chapter/numbering, % section/numbering, subsection/numbering, subsubsection/numbering, % paragraph/numbering, subparagraph/numbering} % \begin{syntax} % numbering = \TTF % \end{syntax} -% 控制是否对章节标题编号。对各级标题的默认值均为 \opt{true}。 +% 控制是否对\emph{不带星号}的章节标题进行编号。 +% 各级标题的默认值均为 \opt{true}。 +% +% \LaTeX{} 标准的章节标题命令(如 \tn{section})大体上完成四项工作: +% 输出标题内容、对标题编号(计数器增加 1)、将标题列入目录(若调用了 +% \pkg{hyperref} 宏包还会添加 PDF 书签)、更新页眉页脚标记。带星号的 +% 章节标题命令(如 \tn{section*})只简单地输出章节标题内容,但不对标题编号, +% 不将标题列入目录或 PDF 书签,也不写入页眉页脚标记。与之不同的是, +% 本选项仅仅是否对\emph{不带星号}的章节标题进行编号。因此,当设置本选项为 +% \opt{false} 时,除了不对标题编号以外,其余功能与正常标题一致:可以 +% 编入目录,并生成正确的 \pkg{hyperref} 目录超链接位置和页眉页脚标记。例如: +% \begin{ctexexam} +% \documentclass{ctexbook} +% \begin{document} +% \tableofcontents +% \chapter{A} +% \chapter*{B} +% \ctexset{chapter/numbering=false} +% \chapter{C} +% \end{document} +% \end{ctexexam} +% 三章的标题分别为“第一章\quad A”、“B”和“C”,但在目录中则只出现 +% “第一章\quad A”和“C”。 % -% 我们知道,\LaTeX{} 带星号的章节标题命令(如 \tn{section*})不会对标题编号, -% 但也不会将该没编号的标题编入目录中。本选项控制的是不带星号的标题命令是否编号。 -% 设置本选项为 \opt{false},除了不对标题编号以外,功能与正常标题一致, -% 比如可以编目录,正确的 \pkg{hyperref} 目录超链接位置和页眉标记。 +% 注意,章节标题是否编号还要受到 \LaTeX{} 计数器 |secnumdepth| 的控制。 +% 例如,对于 |section| 而言,其深度为 1。因此,|section| 会被编号,当且仅当 +% |secnumdepth| 不小于 1,并且 \opt{section/numbering} 为 \opt{true}, +% 并且使用不带星号的章节标题命令(即 \tn{section})。 % -% 注意,章节标题的编号深度受 \LaTeX{} 计数器 |secnumdepth| 的控制。 -% \opt{numbering} 选项在 |secnumdepth| 的控制下起作用。 +% 如果没有特别说明,以下将用 “|...|” 代表各级章节标题名。 % \end{function} % -% 如果没有特别说明,以下将用 “|...|” 代表各级章节标题名。 -% % \begin{function}[EXP,updated=2014-03-08]{.../name} % \begin{syntax} % name = \{<前名字>,<后名字>\} % name = \Arg{前名字} % \end{syntax} -% 设置章节的名字。名字可以分为前后两部分,即章节编号前后的词语,两个词之间用 -% 一个半角逗号分开;也可以只有一部分,表示只有章节编号之前的名字。例如: +% 设置章节的名字。所谓“章节的名字”,可以分为前后两部分,即章节编号前后的 +% 词语,两个词之间用一个半角逗号分开;也可以只有一部分,表示只有章节编号之前 +% 的名字。例如: % \begin{ctexexam} % \ctexset{ % chapter/name = {第,章}, @@ -1633,30 +1684,32 @@ Copyright and Licence % } % \end{ctexexam} % 会使得 \tn{chapter} 标题使用形如“第一章”的名字,而 \tn{section} 标题则使 -% 用形如“\S1”的名字。 +% 用形如“\S1”的名字。该选项的默认设置见表~\ref{tab:name-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{name} 选项的默认设置} -% \begin{tabular}{llll} -% \toprule -% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} & 注 \\ -% \midrule -% part & |{第,部分}| & |{\partname\space}| & 原 \tn{partname} 为 Part \\ -% chapter & |{第,章}| & |{\chaptername\space}| -% & 原 \tn{chaptername} 为 Chapter \\ -% section (beamer) & |{}| & |{\sectionname\space}| -% & \BSTACK 原 \tn{sectionname} 为\\ |\translate{Section}| \ESTACK \\ -% section & 同右 & |{}| & \\ -% subsection (beamer) & |{}| & |{\subsectionname\space}| -% & \BSTACK 原 \tn{subsectionname} 为\\ |\translate{Subsection}| \ESTACK \\ -% subsection & 同右 & |{}| & \\ -% subsubsection & 同右 & |{}| & \\ -% paragraph & 同右 & |{}| & \\ -% subparagraph & 同右 & |{}| & \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth} +% \caption{\opt{name} 选项的默认设置} +% \label{tab:name-default} +% \begin{tabular}{llll} +% \toprule +% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} & 注 \\ +% \midrule +% part & |{第,部分}| & |{\partname\space}| & 原 \tn{partname} 为 Part \\ +% chapter & |{第,章}| & |{\chaptername\space}| +% & 原 \tn{chaptername} 为 Chapter \\ +% section (beamer) & |{}| & |{\sectionname\space}| +% & \BSTACK 原 \tn{sectionname} 为\\ |\translate{Section}| \ESTACK \\ +% section & 同右 & |{}| & \\ +% subsection (beamer) & |{}| & |{\subsectionname\space}| +% & \BSTACK 原 \tn{subsectionname} 为\\ |\translate{Subsection}| \ESTACK \\ +% subsection & 同右 & |{}| & \\ +% subsubsection & 同右 & |{}| & \\ +% paragraph & 同右 & |{}| & \\ +% subparagraph & 同右 & |{}| & \\ +% \bottomrule +% \end{tabular} % \end{table} % % \begin{function}[EXP]{.../number} @@ -1664,118 +1717,132 @@ Copyright and Licence % number = \Arg{数字输出命令} % \end{syntax} % 设置章节编号的数字输出格式。\meta{数字输出命令} 通常是对应章节编号计数器的 -% 输出命令,如 \tn{thesection} 或 |\chinese{chapter}| 之类。 +% 输出命令,如 \tn{thesection} 或 |\chinese{chapter}| 之类。例如: % \begin{ctexexam} % \ctexset{ % section/number = \Roman{section} % } % \end{ctexexam} -% \end{function} +% 将会使 \tn{section} 的编号变为大写罗马数字(如 I、II 等)。 % -% \opt{number} 选项的定义同时将控制对章节计数器的交叉引用。在引用计数器时, +% \opt{number} 选项定义的同时将控制对章节计数器的交叉引用。在引用计数器时, % 记录在 \LaTeX{} 辅助文件中的是 \opt{number} 选项的定义。 % % 但是,\opt{number} 选项不会影响计数器本身的输出。即设置 |section/number| -% 不会影响 \tn{thesection} 的定义。(但该选项会影响 \tn{CTEXthesection} 的定 -% 义,见后。) +% 不会影响 \tn{thesection} 的定义(但该选项会影响 \tn{CTEXthesection} 的定 +% 义,见后)。该选项的默认设置见表~\ref{tab:number-default}。 +% \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{number} 选项的默认设置} -% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth} -% \begin{tabular}{llll} -% \toprule -% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} -% & 原 |\the|\meta{标题} 等价定义 \\ -% \midrule -% part (beamer) & |\chinese{part}| & |\insertromanpartnumber| & 意义为 |\Roman{part}| \\ -% part & |\chinese{part}| & |\thepart| & |\Roman{part}| \\ -% chapter & |\chinese{chapter}| & |\thechapter| & |\arabic{chapter}| \\ -% section (beamer) & 同右 & |\insertsectionnumber| & 意义为 |\arabic{section}| \\ -% section & 同右 & |\thesection| & |\arabic{section}| \\ -% subsection (beamer) -% & \BSTACK |\arabic{section}.|\\ |\arabic{subsection}| \ESTACK -% & |\insertsubsectionnumber| & 意义为 |\arabic{subsection}| \\ -% subsection & 同右 & |\thesubsection| & |\thesection.\arabic{subsection}| \\ -% subsubsection & 同右 & |\thesubsubsection| -% & |\thesubsection.\arabic{subsubsection}| \\ -% paragraph & 同右 & |\theparagraph| -% & |\thesubsubsection.\arabic{paragraph}| \\ -% subparagraph & 同右 & |\thesubparagraph| -% & |\theparagraph.\arabic{subparagraph}| \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{number} 选项的默认设置} +% \label{tab:number-default} +% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth} +% \begin{tabular}{llll} +% \toprule +% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} +% & 原 |\the|\meta{标题} 等价定义 \\ +% \midrule +% part (beamer) & |\chinese{part}| & |\insertromanpartnumber| & 意义为 |\Roman{part}| \\ +% part & |\chinese{part}| & |\thepart| & |\Roman{part}| \\ +% chapter & |\chinese{chapter}| & |\thechapter| & |\arabic{chapter}| \\ +% section (beamer) & 同右 & |\insertsectionnumber| & 意义为 |\arabic{section}| \\ +% section & 同右 & |\thesection| & |\arabic{section}| \\ +% subsection (beamer) +% & \BSTACK |\arabic{section}.|\\ |\arabic{subsection}| \ESTACK +% & |\insertsubsectionnumber| & 意义为 |\arabic{subsection}| \\ +% subsection & 同右 & |\thesubsection| & |\thesection.\arabic{subsection}| \\ +% subsubsection & 同右 & |\thesubsubsection| +% & |\thesubsection.\arabic{subsubsection}| \\ +% paragraph & 同右 & |\theparagraph| +% & |\thesubsubsection.\arabic{paragraph}| \\ +% subparagraph & 同右 & |\thesubparagraph| +% & |\theparagraph.\arabic{subparagraph}| \\ +% \bottomrule +% \end{tabular} % \end{table} % -% \begin{function}{\CTEXthepart, \CTEXthechapter, \CTEXthesection, -% \CTEXthesubsection, \CTEXthesubsubsection, \CTEXtheparagraph, -% \CTEXthesubparagraph} -% 以 |\CTEXthe| 开头的这组宏给出结合了 \opt{name} 与 \opt{number} 选项的章节 -% 编号输出格式。例如在 \opt{scheme = chinese} 时,默认章编号输出格式就是 -% \tn{CTEXthechapter},形如“第一章”。 -% -% 这组宏在 \CTeX 文档类中将代替 \tn{thechapter} 等宏的作用,在章节中引用本章 -% 节的完整编号。例如用于帮助定义自定义的目录格式、页眉格式等。 -% \end{function} -% -% \begin{function}[added=2016-09-18]{\CTEXifname} -% \begin{syntax} -% \tn{CTEXifname} \Arg{有名字时的格式命令} \Arg{无名字时的格式命令} -% \end{syntax} -% \tn{CTEXifname} 用于根据当前章节的名字的有无设置不同的格式。 -% -% 它可用于 \opt{format}, \opt{titleformat}, \opt{aftertitle}, \opt{afterskip}, -% \opt{indent} 这五个选项和 \tn{chapter} 标题 \opt{beforeskip} 选项的格式设置之中。 -% 也可用于帮助定义自定义的目录格式、页眉格式等。 -% -% 例如,设置章的标题有名字时左对齐,无名字时居中对齐,并且在标题后画一条横线。 -% \begin{ctexexam} -% \ctexset{ -% chapter/format = \CTEXifname{\raggedright}{\centering}, -% chapter/aftertitle = \par\CTEXifname{}{\hrule}, -% } -% \end{ctexexam} -% \end{function} -% -% \begin{function}[EXP,updated=2015-06-30]{.../format, .../format+} +% \subsection{格式相关} +% \label{subsec:sec-format} +% +% \CTeX{} 宏集提供了 \opt{numberformat}, \opt{nameformat}, \opt{titleformat}, +% \opt{format} 这几个选项用来控制章节标题的格式。 +% 它们的作用范围如图~\ref{fig:heading-format} 所示。具体用法见下文。 +% +% \begin{figure}[htbp] +% \centering +% \[ +% \underbrace{ +% \overbrace{ +% \text{\huge\bfseries 第} +% \mspace{-25mu} +% \underbrace{\text{\huge\bfseries 1}}_{\text{\small\opt{numberformat}}} +% \mspace{-25mu} +% \text{\huge\bfseries 章} +% }^{\text{\small\opt{nameformat}}} \quad +% \overbrace{\text{\huge\bfseries 熟悉 \LaTeX}}^{\text{\small\opt{titleformat}}} +% }_{\text{\small\opt{format}}} +% \] +% \caption{\opt{numberformat}, \opt{nameformat}, \opt{titleformat}, +% \opt{format} 几个选项的作用范围示意} +% \label{fig:heading-format} +% \end{figure} +% +% \begin{function}[EXP,updated=2020-04-22]{.../format, .../format+} % \begin{syntax} % format = \Arg{格式命令} % format+= \Arg{格式命令} % \end{syntax} % \opt{format} 选项用于控制章节标题的全局格式,作用域为章节名字和随后的标题 % 内容。可以用于控制章节标题的对齐方式、整体字体字号等格式。 +% 带加号的 \opt{format+} 选项用于在已有的格式命令后附加内容。 % -% 带加号的 \opt{format+} 选项则用于在已有格式之后追加新的格式命令。 +% \opt{format} 选项的最后一个格式命令可以带有一个参数。 +% 这一参数用于接受章节名字、编号和标题内容(以及由 \opt{nameformat}, \opt{numberformat}, +% \opt{aftername},\opt{titleformat}, \opt{aftertitle}, \opt{indent} +% 及 \opt{hang} 选项设定的,应用于这些内容之上的格式),以实现特殊效果。 % -% 例如,设置章格式为无衬线字体左对齐,为节格式增加无衬线字体设置: +% 例如,设置章标题为无衬线字体左对齐、为节标题增加无衬线字体设置、 +% 为小节标题加框(\tn{fbox} 命令本身需带一个参数): % \begin{ctexexam} % \ctexset{ -% chapter/format = \sffamily\raggedright, -% section/format += \sffamily +% chapter/format = \sffamily\raggedright, +% section/format += \sffamily, +% subsection/format += \fbox, % } % \end{ctexexam} +% +% \opt{format} 选项的默认设置见表~\ref{tab:format-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{format} 选项的默认设置} -% \begin{tabular}{lll} -% \toprule -% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\ -% \midrule -% part (article) & |\Large\bfseries\centering| & |\raggedright| \\ -% part (beamer) & 同右 & |\centering| \\ -% part & |\huge\bfseries\centering| & |\centering| \\ -% chapter & |\huge\bfseries\centering| & |\raggedright| \\ -% section (beamer) & 同右 & |\centering| \\ -% section & |\Large\bfseries\centering| & |\Large\bfseries| \\ -% subsection (beamer) & 同右 & |\centering| \\ -% subsection & 同右 & |\large\bfseries| \\ -% subsubsection & 同右 & |\normalsize\bfseries| \\ -% paragraph & 同右 & |\normalsize\bfseries| \\ -% subparagraph & 同右 & |\normalsize\bfseries| \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \begin{threeparttable} +% \caption{\opt{format} 选项的默认设置} +% \label{tab:format-default} +% \begin{tabular}{lll} +% \toprule +% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\ +% \midrule +% part (article) & |\Large\bfseries\centering| & |\raggedright|\tnote{*} \\ +% part (beamer) & 同右 & |\centering| \\ +% part & |\huge\bfseries\centering| & |\centering| \\ +% chapter & |\huge\bfseries\centering| & |\raggedright| \\ +% section (beamer) & 同右 & |\centering| \\ +% section & |\Large\bfseries\centering| & |\Large\bfseries| \\ +% subsection (beamer) & 同右 & |\centering| \\ +% subsection & 同右 & |\large\bfseries| \\ +% subsubsection & 同右 & |\normalsize\bfseries| \\ +% paragraph & 同右 & |\normalsize\bfseries| \\ +% subparagraph & 同右 & |\normalsize\bfseries| \\ +% \bottomrule +% \end{tabular} +% \begin{tablenotes} +% \item[*] 为了与 \LaTeXe{} 的默认效果保持一致,在 \opt{scheme = plain} +% 时,part 和 chapter 的 \opt{nameformat} 和 \opt{titleformat} +% 并不一样,因此没有使用 \opt{format} 选项统一设置名字和标题的格式。 +% \end{tablenotes} +% \end{threeparttable} % \end{table} % % \begin{function}[EXP,updated=2015-06-30]{.../nameformat, .../nameformat+} @@ -1785,42 +1852,42 @@ Copyright and Licence % \end{syntax} % \opt{nameformat} 用于控制章节名字的格式,作用域为章节名字,包括编号。它一 % 般用于章节名(包括编号)与章节标题的字体、字号等设置不一致的情形。参见 -% \opt{titleformat} 选项。 +% 下面的 \opt{titleformat} 选项。\opt{nameformat+} 用于在已有的章节名字 +% 格式命令后附加内容。 % -% \opt{nameformat+} 用于在已有的章节名字格式后附加内容。 +% \opt{nameformat} 选项的最后一个格式命令可以带有一个参数。 +% 这一参数用于接受章节名字和编号,以实现特殊效果(见例~\ref{exam:miscopt})。 % -% \opt{nameformat} 选项的最后一个格式命令可以是一个有一个参数的命令。 -% 这个命令的参数用于接受章节名字和编号,实现特殊效果(见例~\ref{exam:miscopt})。 -% -% \opt{nameformat} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。 +% \opt{nameformat} 选项的默认设置见表~\ref{tab:nameformat-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{nameformat} 选项的默认设置} -% \begin{tabular}{lll} -% \toprule -% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\ -% \midrule -% part (article) & |{}| & |\Large\bfseries| \\ -% part (beamer) & 同右 -% & \BSTACK |\usebeamerfont{part name}| \\ -% |\usebeamercolor[fg]{part name}| \ESTACK \\ -% part & |{}| & |\huge\bfseries| \\ -% chapter & |{}| & |\huge\bfseries| \\ -% section (beamer) & 同右 -% & \BSTACK |\usebeamerfont{section name}| \\ -% |\usebeamercolor[fg]{section name}| \ESTACK \\ -% section & 同右 & |{}| \\ -% subsection (beamer) & 同右 -% & \BSTACK |\usebeamerfont{subsection name}| \\ -% |\usebeamercolor[fg]{subsection name}| \ESTACK \\ -% subsection & 同右 & |{}| \\ -% subsubsection & 同右 & |{}| \\ -% paragraph & 同右 & |{}| \\ -% subparagraph & 同右 & |{}| \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{nameformat} 选项的默认设置} +% \label{tab:nameformat-default} +% \begin{tabular}{lll} +% \toprule +% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\ +% \midrule +% part (article) & |{}| & |\Large\bfseries| \\ +% part (beamer) & 同右 +% & \BSTACK |\usebeamerfont{part name}| \\ +% |\usebeamercolor[fg]{part name}| \ESTACK \\ +% part & |{}| & |\huge\bfseries| \\ +% chapter & |{}| & |\huge\bfseries| \\ +% section (beamer) & 同右 +% & \BSTACK |\usebeamerfont{section name}| \\ +% |\usebeamercolor[fg]{section name}| \ESTACK \\ +% section & 同右 & |{}| \\ +% subsection (beamer) & 同右 +% & \BSTACK |\usebeamerfont{subsection name}| \\ +% |\usebeamercolor[fg]{subsection name}| \ESTACK \\ +% subsection & 同右 & |{}| \\ +% subsubsection & 同右 & |{}| \\ +% paragraph & 同右 & |{}| \\ +% subparagraph & 同右 & |{}| \\ +% \bottomrule +% \end{tabular} % \end{table} % % \begin{function}[EXP,updated=2015-06-19]{.../numberformat, .../numberformat+} @@ -1829,74 +1896,37 @@ Copyright and Licence % numberformat+= \Arg{格式命令} % \end{syntax} % \opt{numberformat} 选项用于控制章节编号的格式,作用域仅为编号数字本身。对 -% 各级标题默认均为空,当你需要编号的格式和前后的章节名字不一样时可以使用。 +% 各级标题默认均为空,当需要编号的格式和前后的章节名字不一样时可以使用。 +% \opt{numberformat+} 用于在已有的编号格式命令后附加内容。 % -% \opt{numberformat+} 选项用于在原有编号格式后面附加格式命令。 -% -% \opt{numberformat} 选项的最后一个格式命令可以是一个有一个参数的命令。 -% 这个命令的参数用于接受编号数字。 -% \end{function} -% -% 例如,我们可以使用 \opt{numberformat} 特别强调章标题中的数字: +% \opt{numberformat} 选项的最后一个格式命令可以带有一个参数。这一参数用于接受 +% 编号数字。例如,我们可以使用 \opt{numberformat} 特别强调章标题中的数字: % \begin{ctexexam} % \ctexset{ % chapter/number = \arabic{chapter}, -% chapter/numberformat = \color{blue}\zihao{0}\itshape, +% chapter/numberformat = \color{blue}\zihao{0}\emph, % } % \end{ctexexam} % 上面的代码在 \opt{scheme = chinese} 时可以做出类似这样的章标题效果: % \begin{center} -% \huge\bfseries 第 \textit{\color{blue}\zihao{0}4} 章 +% \huge\bfseries 第 \emph{\color{blue}\zihao{0}4} 章 % \end{center} % -% \begin{function}[EXP,updated=2014-03-08]{.../aftername, .../aftername+} -% \begin{syntax} -% aftername = \Arg{代码} -% aftername+= \Arg{代码} -% \end{syntax} -% \opt{aftername} 选项的参数 \meta{代码} 将被插入到章节编号与其后的标题内容之 -% 间,用于控制格式变换。常用于控制章节编号与标题内容之间的距离,或者控制标题 -% 是否另起一行。 -% -% \opt{aftername+} 选项用于在原有代码后面附加代码。 +% \opt{numberformat} 选项默认均设置为空,故章节编号默认与章节名字使用 +% 相同的格式。 % \end{function} % -% \begin{table}[htbp] -% \small\centering -% \caption{\opt{aftername} 选项的默认设置} -% \begin{tabular}{lll} -% \toprule -% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\ -% \midrule -% part (article) & |\quad| & |\par\nobreak| \\ -% part (beamer) & 同右 & |\vskip 1em \par| \\ -% part & 同右 & |\par\vskip 20pt| \\ -% chapter & |\quad| & |\par\nobreak\vskip 20pt| \\ -% section (beamer) & 同右 & |\vskip 1em \par| \\ -% section & 同右 & |\quad| \\ -% subsection (beamer) & 同右 & |\vskip 1em \par| \\ -% subsection & 同右 & |\quad| \\ -% subsubsection & 同右 & |\quad| \\ -% paragraph & 同右 & |\quad| \\ -% subparagraph & 同右 & |\quad| \\ -% \bottomrule -% \end{tabular} -% \end{table} -% % \begin{function}[EXP,updated=2015-06-30]{.../titleformat, .../titleformat+} % \begin{syntax} % titleformat = \Arg{格式命令} % titleformat+= \Arg{格式命令} % \end{syntax} % \opt{titleformat} 选项用于控制标题内容的格式,作用域为章节标题内容。 +% \opt{titleformat+} 选项用于在已有的标题格式命令后附加内容。 % -% \opt{titleformat+} 选项用于在原有标题格式后面附加格式命令。 -% -% 需要注意的是,\opt{titleformat} 选项的最后一个格式命令可以是一个有一个 -% 参数的命令。这个命令的参数接受标题内容,用于实现特殊效果。 -% 例如,实现多行标题的居中悬挂对齐: -% \end{function} -% \begin{ctexexam} +% \opt{titleformat} 选项的最后一个格式命令可以带有一个参数。这一参数用于接受 +% 标题内容。例如,实现多行标题的居中悬挂对齐: +% \begin{ctexexam} % \usepackage{varwidth} %% 提供 varwidth 环境 % \ctexset{ % chapter/name = {第,回}, @@ -1906,142 +1936,265 @@ Copyright and Licence % \begin{varwidth}[t]{.7\linewidth}#1\end{varwidth}} % ...... % \chapter{情中情因情感妹妹\\错里错以错劝哥哥} -% \end{ctexexam} -% 上面的代码可以做出类似这样的章标题效果: -% \begin{center}\Large\bfseries -% 第三十四回\quad -% \begin{tabular}[t]{l} -% 情中情因情感妹妹\\ -% 错里错以错劝哥哥 -% \end{tabular} -% \end{center} +% \end{ctexexam} +% 上面的代码可以做出类似这样的章标题效果: +% \begin{center}\Large\bfseries +% 第三十四回\quad +% \begin{tabular}[t]{l} +% 情中情因情感妹妹\\ +% 错里错以错劝哥哥 +% \end{tabular} +% \end{center} +% +% \opt{titleformat} 选项的默认设置见表~\ref{tab:titleformat-default}。 +% \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{titleformat} 选项的默认设置} -% \begin{tabular}{lll} -% \toprule -% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\ -% \midrule -% part (article) & |{}| & |\huge\bfseries| \\ -% part (beamer) & 同右 & |\usebeamerfont{part title}| \\ -% part & |{}| & |\Huge\bfseries| \\ -% chapter & |{}| & |\Huge\bfseries| \\ -% section (beamer) & 同右 & |\usebeamerfont{section title}| \\ -% section & 同右 & |{}| \\ -% subsection (beamer) & 同右 & |\usebeamerfont{subsection title}| \\ -% subsection & 同右 & |{}| \\ -% subsubsection & 同右 & |{}| \\ -% paragraph & 同右 & |{}| \\ -% subparagraph & 同右 & |{}| \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{titleformat} 选项的默认设置} +% \label{tab:titleformat-default} +% \begin{tabular}{lll} +% \toprule +% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\ +% \midrule +% part (article) & |{}| & |\huge\bfseries| \\ +% part (beamer) & 同右 & |\usebeamerfont{part title}| \\ +% part & |{}| & |\Huge\bfseries| \\ +% chapter & |{}| & |\Huge\bfseries| \\ +% section (beamer) & 同右 & |\usebeamerfont{section title}| \\ +% section & 同右 & |{}| \\ +% subsection (beamer) & 同右 & |\usebeamerfont{subsection title}| \\ +% subsection & 同右 & |{}| \\ +% subsubsection & 同右 & |{}| \\ +% paragraph & 同右 & |{}| \\ +% subparagraph & 同右 & |{}| \\ +% \bottomrule +% \end{tabular} % \end{table} % +% \begin{function}[EXP,updated=2014-03-08]{.../aftername, .../aftername+} +% \begin{syntax} +% aftername = \Arg{代码} +% aftername+= \Arg{代码} +% \end{syntax} +% \opt{aftername} 选项的参数 \meta{代码} 将被插入到章节编号与其后的标题内容之 +% 间,用于控制格式变换。常用于控制章节编号与标题内容之间的距离,或者控制标题 +% 是否另起一行。\opt{aftername+} 用于在已有的代码后附加内容。该选项的默认设置 +% 见表~\ref{tab:aftername-default}。 +% \end{function} +% % \begin{function}[EXP,added=2015-06-19]{.../aftertitle, .../aftertitle+} % \begin{syntax} % aftertitle = \Arg{代码} % aftertitle+= \Arg{代码} % \end{syntax} % \opt{aftertitle} 选项的参数 \meta{代码} 将被插入到章节标题内容之后。 +% \opt{aftertitle+} 用于在已有的代码后附加内容。该选项的默认设置 +% 见表~\ref{tab:aftertitle-default}。需注意,\opt{sub3section} 或 +% \opt{sub4section} 宏包选项(见 \ref{subs:options-heading}~节)会影响 +% \opt{aftertitle} 选项的默认值。 +% \end{function} % -% \opt{aftertitle+} 选项用于在原有代码后面附加代码。 -% -% \opt{aftertitle} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。 +% \begin{table}[htbp] +% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth} +% \begin{minipage}[t]{.75\linewidth} +% \small\centering +% \caption{\opt{aftername} 选项的默认设置} +% \label{tab:aftername-default} +% \begin{tabular}{lll} +% \toprule +% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\ +% \midrule +% part (article) & |\quad| & |\par\nobreak| \\ +% part (beamer) & 同右 & |\vskip 1em \par| \\ +% part & 同右 & |\par\vskip 20pt| \\ +% chapter & |\quad| & |\par\nobreak\vskip 20pt| \\ +% section (beamer) & 同右 & |\vskip 1em \par| \\ +% section & 同右 & |\quad| \\ +% subsection (beamer) & 同右 & |\vskip 1em \par| \\ +% subsection & 同右 & |\quad| \\ +% subsubsection & 同右 & |\quad| \\ +% paragraph & 同右 & |\quad| \\ +% subparagraph & 同右 & |\quad| \\ +% \bottomrule +% \end{tabular} +% \end{minipage}\nobreak\quad +% \begin{minipage}[t]{.42\linewidth} +% \small\centering +% \caption{\opt{aftertitle} 选项的默认设置} +% \label{tab:aftertitle-default} +% \begin{tabular}{p{\dimexpr .58\linewidth - 2\tabcolsep\relax}p{\dimexpr .4\linewidth - 2\tabcolsep\relax}} +% \toprule +% 标题名 & 默认值 \\ +% \midrule +% part & |\par| \\ +% chapter & |\par| \\ +% section & |\@@par| \\ +% subsection & |\@@par| \\ +% subsubsection & |\@@par| \\ +% paragraph & |{}| \\ +% \qquad(sub3section) & |\@@par| \\ +% \qquad(sub4section) & 同上 \\ +% subparagraph & |{}| \\ +% \qquad(sub4section) & |\@@par| \\ +% \bottomrule +% \end{tabular} +% \end{minipage} +% \end{table} % -% \opt{sub3section} 或 \opt{sub4section} 宏包选项(见 -% \ref{subs:options-heading}~节)会影响 \opt{aftertitle} 选项的默认值。 +% \begin{function}[EXP,added=2014-03-21]{part/pagestyle, chapter/pagestyle} +% \begin{syntax} +% pagestyle = \Arg{页面格式} +% \end{syntax} +% 设置 \cls{book}/\cls{ctexbook} 或 \cls{report}/\cls{ctexrep} 文档类 +% 中,\tn{part} 与 \tn{chapter} 标题所在页的页面格式(page style)。 +% 该选项的默认设置见表~\ref{tab:pagestyle-default}。 % \end{function} % % \begin{table}[htbp] -% \begin{minipage}[t]{.5\linewidth} -% \small\centering -% \caption{\opt{aftertitle} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% 标题名 & 默认值 \\ -% \midrule -% part & |\par| \\ -% chapter & |\par| \\ -% section & |\@@par| \\ -% subsection & |\@@par| \\ -% subsubsection & |\@@par| \\ -% paragraph & |{}| \\ -% \qquad(sub3section) & |\@@par| \\ -% \qquad(sub4section) & 同上 \\ -% subparagraph & |{}| \\ -% \qquad(sub4section) & |\@@par| \\ -% \bottomrule -% \end{tabular} -% \end{minipage}% -% \begin{minipage}[t]{.5\linewidth} -% \small\centering -% \caption{\opt{runin} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% 标题名 & 默认值 \\ -% \midrule -% part & 无效 \\ -% chapter & 无效 \\ -% section & |false| \\ -% subsection & |false| \\ -% subsubsection & |false| \\ -% paragraph & |true| \\ -% \qquad(sub3section) & |false| \\ -% \qquad(sub4section) & 同上 \\ -% subparagraph & |true| \\ -% \qquad(sub4section) & |false| \\ -% \bottomrule -% \end{tabular} -% \end{minipage} +% \small\centering +% \caption{\opt{pagestyle} 选项的默认设置} +% \label{tab:pagestyle-default} +% \begin{tabular}{ll} +% \toprule +% 标题名 & 默认值 \\ +% \midrule +% part (article) & 无效 \\ +% part & |plain| \\ +% chapter & |plain| \\ +% \bottomrule +% \end{tabular} % \end{table} % +% \subsection{间距、缩进相关} +% \label{subsec:sec-spacing} +% % \begin{function}[EXP,added=2015-06-27]{section/runin, subsection/runin, % subsubsection/runin, paragraph/runin, subparagraph/runin} % \begin{syntax} % runin = \TF % \end{syntax} -% \opt{runin} 选项只对 \tn{section} 级以下标题有意义。 -% 用于确定标题与随后的正文是否排在同一段之上。 -% -% \opt{runin} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。 +% \opt{runin} 选项只对 \tn{section} 级以下标题有意义,用于确定标题与随后的 +% 正文是否排在同一段之上。该选项的默认设置见表~\ref{tab:runin-default}。 % % 默认情况下,\tn{paragraph}、\tn{subparagraph} 两级标题是与后面正文排在同一 % 段的,\opt{runin} 选项为 \opt{true};但使用 \opt{sub3section} 或 -% \opt{sub4section} 宏包选项(见 \ref{subs:options-heading}~节)后, -% 将对这两级标题设 \opt{runin} 选项为 \opt{false},这两级标题会改为排在不同段。 +% \opt{sub4section} 宏包选项(见 \ref{subs:options-heading}~节)后,将对 +% 这两级标题设 \opt{runin} 选项为 \opt{false},这两级标题会改为排在不同段。 % \end{function} % -% \begin{function}[EXP,added=2015-06-27]{.../afterindent} +% \begin{table}[htbp] +% \small\centering +% \caption{\opt{runin} 选项的默认设置} +% \label{tab:runin-default} +% \begin{tabular}{ll} +% \toprule +% 标题名 & 默认值 \\ +% \midrule +% part & 无效 \\ +% chapter & 无效 \\ +% section & |false| \\ +% subsection & |false| \\ +% subsubsection & |false| \\ +% paragraph & |true| \\ +% \qquad(sub3section) & |false| \\ +% \qquad(sub4section) & 同上 \\ +% subparagraph & |true| \\ +% \qquad(sub4section) & |false| \\ +% \bottomrule +% \end{tabular} +% \end{table} +% +% \begin{function}[EXP,updated=2020-04-23]{.../hang} % \begin{syntax} -% afterindent = \TF +% hang = \TF % \end{syntax} -% \opt{afterindent} 选项用于设置章节标题后首段的缩进。 +% \opt{hang} 选项用于设置是否对章节标题实施悬挂缩进(缩进的宽度为名字宽度 +% 和 \opt{indent} 选项设置的宽度之和)。 % -% \cls{book} 和 \cls{report} 类的 \tn{part} 标题被单独排在一页之上, -% \opt{afterindent} 选项没有意义。 +% 注意,当 \opt{hang = true} 时,不恰当地设置选项 \opt{aftername} 的值,可能会引发 +% 错误。这是因为当 \opt{hang = true} 时,\LaTeX{} 内部会构造一个 \tn{hbox} 而 +% 进入受限水平模式(restricted horizontal mode)。若在 \opt{aftername} 中加入 +% 包含 \tn{vskip} 等会导致从受限水平模式切出的垂直命令(vertical command)时,就会报错。 +% 特别地,\opt{aftername} 的默认值也可能导致这种情形(见表~\ref{tab:aftername-default})。 +% 因此,当设置 \opt{hang = true} 时,用户必须恰当地设置选项 \opt{aftername} 的值。 % +% 本选项对 \cls{beamer}/\cls{ctexbeamer} 文档类无效。 % 对于 \tn{section} 级以下标题,若设置了 \opt{runin} 选项为 \opt{true}, -% 即标题与随后正文排在同一段,\opt{afterindent} 选项也就没有了意义。 +% 即标题与随后正文排在同一段,\opt{hang} 选项没有意义。 +% 该选项的默认设置见表~\ref{tab:hang-default}。 +% \end{function} +% +% \begin{function}[EXP,updated=2020-04-23]{.../indent} +% \begin{syntax} +% indent = \Arg{缩进间距} +% \end{syntax} +% \opt{indent} 选项用于设置章节标题本身的首行缩进。 +% 该选项的默认设置见表~\ref{tab:indent-default}。 +% +% 如果 \opt{indent} 的值是以 \texttt{em}、\texttt{ex} 或 \cs{ccwd} 为单位, +% 那么缩进间距的大小是相对于 \opt{format} 中指定的字号大小。 +% 例如,设置 \tn{part} 标题缩进三个字、\tn{section} 标题缩进 \SI{20}{pt}: +% \begin{ctexexam} +% \ctexset{ +% part = { +% format += \raggedright, +% indent = 3\ccwd, +% }, +% section = { +% format = \Large\bfseries, +% indent = 20pt, +% } +% } +% \part{首行缩进的标题} +% \noindent 无缩进的正文。 +% \section{首行缩进的标题} +% \noindent 无缩进的正文。 +% \end{ctexexam} % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{afterindent} 选项的默认设置} -% \begin{tabular}{lll} -% \toprule -% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\ -% \midrule -% part (article) & |true| & |false| \\ -% part & 无效 & 无效 \\ -% chapter & |true| & |false| \\ -% section & |true| & |false| \\ -% subsection & |true| & |false| \\ -% subsubsection & |true| & |false| \\ -% paragraph & |true| & |false| \\ -% subparagraph & |true| & |false| \\ -% \bottomrule -% \end{tabular} +% \begin{minipage}[t]{.5\linewidth} +% \small\centering +% \caption{\opt{hang} 选项的默认设置} +% \label{tab:hang-default} +% \begin{tabular}{ll} +% \toprule +% 标题名 & 默认值 \\ +% \midrule +% part & |false| \\ +% chapter & |false| \\ +% section & |true| \\ +% subsection & |true| \\ +% subsubsection & |true| \\ +% paragraph & 无意义 \\ +% \qquad(sub3section) & |true| \\ +% \qquad(sub4section) & |true| \\ +% subparagraph & 无意义 \\ +% \qquad(sub4section) & |true| \\ +% \bottomrule +% \end{tabular} +% \end{minipage} +% \begin{minipage}[t]{.5\linewidth} +% \small\centering +% \caption{\opt{indent} 选项的默认设置} +% \label{tab:indent-default} +% \begin{tabular}{ll} +% \toprule +% 标题名 & 默认值 \\ +% \midrule +% part & |0pt| \\ +% chapter & |0pt| \\ +% section & |0pt| \\ +% subsection & |0pt| \\ +% subsubsection & |0pt| \\ +% paragraph & |0pt| \\ +% subparagraph & |\parindent| \\ +% \qquad(sub3section) & |0pt| \\ +% \qquad(sub4section) & 同上 \\ +% \bottomrule +% \end{tabular} +% \end{minipage} % \end{table} % % \begin{function}[EXP,updated=2016-05-10]{.../beforeskip} @@ -2049,59 +2202,9 @@ Copyright and Licence % beforeskip = \Arg{弹性间距} % \end{syntax} % \opt{beforeskip} 选项用于设置章节标题前的垂直间距。 -% -% \opt{beforeskip} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。 +% 该选项的默认设置见表~\ref{tab:beforeskip-default}。 % \end{function} % -% \begin{table}[htbp] -% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth} -% \begin{minipage}[t]{.6\linewidth} -% \small\centering -% \caption{\opt{beforeskip} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% 标题名 & 默认值 \\ -% \midrule -% part (article) & |4ex| \\ -% part (beamer) & |0pt| \\ -% part & |0pt plus 1fil| \\ -% chapter & |50pt| \\ -% section (beamer) & |0pt| \\ -% section & |3.5ex plus 1ex minus .2ex| \\ -% subsection (beamer) & |0pt| \\ -% subsection & |3.25ex plus 1ex minus .2ex| \\ -% subsubsection & |3.25ex plus 1ex minus .2ex| \\ -% paragraph & |3.25ex plus 1ex minus .2ex| \\ -% subparagraph & |3.25ex plus 1ex minus .2ex| \\ -% \bottomrule -% \end{tabular} -% \end{minipage}% -% \begin{minipage}[t]{.5\linewidth} -% \small\centering -% \caption{\opt{afterskip} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% 标题名 & 默认值 \\ -% \midrule -% part (article) & |3ex| \\ -% part (beamer) & |0pt| \\ -% part & |0pt plus 1fil| \\ -% chapter & |40pt| \\ -% section (beamer) & |0pt| \\ -% section & |2.3ex plus .2ex| \\ -% subsection (beamer) & |0pt| \\ -% subsection & |1.5ex plus .2ex| \\ -% subsubsection & |1.5ex plus .2ex| \\ -% paragraph & |1em| \\ -% \qquad(sub3section) & |1ex plus .2ex| \\ -% \qquad(sub4section) & 同上 \\ -% subparagraph & |1em| \\ -% \qquad(sub4section) & |1ex plus .2ex| \\ -% \bottomrule -% \end{tabular} -% \end{minipage} -% \end{table} -% % \begin{function}[EXP,updated=2015-06-27]{.../afterskip} % \begin{syntax} % afterskip = \Arg{弹性间距} @@ -2112,222 +2215,207 @@ Copyright and Licence % 若 \opt{runin} 为 \opt{true},标题与随后正文排在同一段,\meta{弹性间距} 给出水平间距。 % 否则,正文另起一段,\meta{弹性间距} 给出的是垂直间距。 % -% \opt{afterskip} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。 -% -% \opt{sub3section} 或 \opt{sub4section} 宏包选项(见 +% 该选项的默认设置见表~\ref{tab:afterskip-default}。 +% 注意 \opt{sub3section} 或 \opt{sub4section} 宏包选项(见 % \ref{subs:options-heading}~节)会影响 \opt{aftertitle} 选项的默认值。 % \end{function} % +% \begin{table}[htbp] +% \setlength\leftskip{0pt plus 1 fil minus \marginparwidth} +% \begin{minipage}[t]{.6\linewidth} +% \small\centering +% \caption{\opt{beforeskip} 选项的默认设置} +% \label{tab:beforeskip-default} +% \begin{tabular}{ll} +% \toprule +% 标题名 & 默认值 \\ +% \midrule +% part (article) & |4ex| \\ +% part (beamer) & |0pt| \\ +% part & |0pt plus 1fil| \\ +% chapter & |50pt| \\ +% section (beamer) & |0pt| \\ +% section & |3.5ex plus 1ex minus .2ex| \\ +% subsection (beamer) & |0pt| \\ +% subsection & |3.25ex plus 1ex minus .2ex| \\ +% subsubsection & |3.25ex plus 1ex minus .2ex| \\ +% paragraph & |3.25ex plus 1ex minus .2ex| \\ +% subparagraph & |3.25ex plus 1ex minus .2ex| \\ +% \bottomrule +% \end{tabular} +% \end{minipage}\nobreak\quad +% \begin{minipage}[t]{.5\linewidth} +% \small\centering +% \caption{\opt{afterskip} 选项的默认设置} +% \label{tab:afterskip-default} +% \begin{tabular}{ll} +% \toprule +% 标题名 & 默认值 \\ +% \midrule +% part (article) & |3ex| \\ +% part (beamer) & |0pt| \\ +% part & |0pt plus 1fil| \\ +% chapter & |40pt| \\ +% section (beamer) & |0pt| \\ +% section & |2.3ex plus .2ex| \\ +% subsection (beamer) & |0pt| \\ +% subsection & |1.5ex plus .2ex| \\ +% subsubsection & |1.5ex plus .2ex| \\ +% paragraph & |1em| \\ +% \qquad(sub3section) & |1ex plus .2ex| \\ +% \qquad(sub4section) & 同上 \\ +% subparagraph & |1em| \\ +% \qquad(sub4section) & |1ex plus .2ex| \\ +% \bottomrule +% \end{tabular} +% \end{minipage} +% \end{table} +% % \begin{function}[EXP,added=2016-06-03]{.../fixskip} % \begin{syntax} % fixskip = \TFF % \end{syntax} -% 默认情况下,\cls{article}、\cls{book} 和 \cls{report} 类的标题与正文的距离除了由 -% \opt{beforeskip} 和 \opt{afterskip} 选项设置的垂直间距外,还会有一些多余的间距。 -% \opt{fixskip} 选项用于抑制这些多余间距。 +% 默认情况下,\cls{article}、\cls{book} 和 \cls{report} 类的标题与正文的距离 +% 除了由 \opt{beforeskip} 和 \opt{afterskip} 选项设置的垂直间距外,还会有 +% 一些多余的间距。\opt{fixskip} 选项用于抑制这些多余间距。该选项默认不开启。 % \end{function} % -% \begin{function}[EXP,added=2016-10-01]{chapter/lofskip, chapter/lotskip} +% \begin{function}[EXP,added=2016-09-19]{.../break, .../break+} % \begin{syntax} -% lofskip = \Arg{弹性间距} -% lotskip = \Arg{弹性间距} +% break = \Arg{格式命令} +% break+= \Arg{格式命令} % \end{syntax} -% \opt{lofskip} 选项控制插图目录(\file{.lof})中,章之间的插图标题的距离。 +% \opt{break} 选项用于控制章节标题与\emph{之前}正文的分隔关系。 +% 一般用于设置是否在标题之前分页或者设置行间罚点。 +% \opt{break+} 用于在已有的格式命令后附加内容。 % -% 同样,\opt{lotskip} 选项控制表格目录(\file{.lot})中,章之间的表格标题的距离。 +% 例如,若当前页剩余高度小于正文高度的一半时,则另起一页输出 +% \tn{section} 标题: +% \begin{ctexexam} +% \usepackage{needspace} +% \ctexset{section/break = \Needspace{.5\textheight}} +% \end{ctexexam} % -% 目前,这两个选项只在 \opt{chapter} 标题下有定义。 -% 他们的默认值,在 \opt{scheme} 选项的不同取值下都为 \SI{10}{pt}。 +% 该选项的默认设置见表~\ref{tab:break-default}。 % \end{function} % -% \begin{function}[EXP,updated=2015-06-27]{.../indent} -% \begin{syntax} -% indent = \Arg{缩进间距} -% \end{syntax} -% \opt{indent} 选项用于设置章节标题本身的首行缩进。 -% -% \opt{indent} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。 -% -% 如果 \opt{indent} 的值是以 \texttt{em}、\texttt{ex} 或 \cs{ccwd} 为单位, -% 那么缩进间距的大小是相对于 \opt{format} 中指定的字号大小。 -% -% 例如,设置 \tn{part} 标题缩进三个字、\tn{section} 标题缩进 \SI{20}{pt}: -% \end{function} -% \begin{ctexexam} -% \ctexset{ -% part={ -% format+=\raggedright, -% indent=3\ccwd, -% }, -% section={ -% format=\Large\bfseries, -% indent=20pt, -% } -% } -% \part{首行缩进的标题} -% \noindent 无缩进的正文。 -% \section{首行缩进的标题} -% \noindent 无缩进的正文。 -% \end{ctexexam} -% % \begin{table}[htbp] -% \begin{minipage}[t]{.5\linewidth} -% \small\centering -% \caption{\opt{indent} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% 标题名 & 默认值 \\ -% \midrule -% part & |0pt| \\ -% chapter & |0pt| \\ -% section & |0pt| \\ -% subsection & |0pt| \\ -% subsubsection & |0pt| \\ -% paragraph & |0pt| \\ -% subparagraph & |\parindent| \\ -% \qquad(sub3section) & |0pt| \\ -% \qquad(sub4section) & 同上 \\ -% \bottomrule -% \end{tabular} -% \end{minipage}% -% \begin{minipage}[t]{.5\linewidth} -% \small\centering -% \caption{\opt{hang} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% 标题名 & 默认值 \\ -% \midrule -% part & |false| \\ -% chapter & |false| \\ -% section & |true| \\ -% subsection & |true| \\ -% subsubsection & |true| \\ -% paragraph & 无意义 \\ -% \qquad(sub3section) & |true| \\ -% \qquad(sub4section) & |true| \\ -% subparagraph & 无意义 \\ -% \qquad(sub4section) & |true| \\ -% \bottomrule -% \end{tabular} -% \end{minipage}% +% \small\centering +% \caption{\opt{break} 选项的默认设置} +% \label{tab:break-default} +% \begin{tabular}{ll} +% \toprule +% 标题名 & 默认值 \\ +% \midrule +% part (article) & |{}| \\ +% part & |\if@openright\cleardoublepage\else\clearpage\fi| \\ +% chapter & 同上 \\ +% section & |\addpenalty{\@secpenalty}| \\ +% subsection & 同上 \\ +% subsubsection & 同上 \\ +% paragraph & 同上 \\ +% subparagraph & 同上 \\ +% \bottomrule +% \end{tabular} % \end{table} % -% \begin{function}[EXP,updated=2019-03-31]{part/hang, chapter/hang, section/hang, -% subsection/hang, subsubsection/hang, paragraph/hang, subparagraph/hang} +% \begin{function}[EXP,added=2015-06-27]{.../afterindent} % \begin{syntax} -% hang = \TF +% afterindent = \TF % \end{syntax} -% \opt{hang} 选项用于设置是否对章节标题实施悬挂缩进(缩进的宽度为名字宽度和 \opt{indent} 选项 -% 设置的宽度之和)。 +% \opt{afterindent} 选项用于设置章节标题后首段的缩进。 % -% 本选项对 \cls{beamer}/\cls{ctexbeamer} 文档类无效。 +% \cls{book} 和 \cls{report} 类的 \tn{part} 标题被单独排在一页之上, +% \opt{afterindent} 选项没有意义。 % 对于 \tn{section} 级以下标题,若设置了 \opt{runin} 选项为 \opt{true}, -% 即标题与随后正文排在同一段,\opt{hang} 选项没有意义。 -% \end{function} +% 即标题与随后正文排在同一段,\opt{afterindent} 选项也就没有了意义。 % -% \begin{function}[EXP,added=2014-03-21]{part/pagestyle, chapter/pagestyle} -% \begin{syntax} -% pagestyle = \Arg{页面格式} -% \end{syntax} -% 设置 \cls{book}/\cls{ctexbook} 或 \cls{report}/\cls{ctexrep} 文档类 -% 中,\tn{part} 与 \tn{chapter} 标题所在页的页面格式(page style)。 +% 该选项的默认设置见表~\ref{tab:afterindent-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{pagestyle} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% 标题名 & 默认值 \\ -% \midrule -% part (article) & 无效 \\ -% part & |plain| \\ -% chapter & |plain| \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{afterindent} 选项的默认设置} +% \label{tab:afterindent-default} +% \begin{tabular}{lll} +% \toprule +% 标题名 & \opt{scheme = chinese} & \opt{scheme = plain} \\ +% \midrule +% part (article) & |true| & |false| \\ +% part & 无效 & 无效 \\ +% chapter & |true| & |false| \\ +% section & |true| & |false| \\ +% subsection & |true| & |false| \\ +% subsubsection & |true| & |false| \\ +% paragraph & |true| & |false| \\ +% subparagraph & |true| & |false| \\ +% \bottomrule +% \end{tabular} % \end{table} % -% \begin{function}[EXP,added=2016-09-19]{.../break, .../break+} +% \subsection{目录、附录相关} +% \label{subsec:sec-toc-appendix} +% +% \begin{function}[EXP,added=2016-10-25]{.../tocline} % \begin{syntax} -% break = \Arg{格式命令} -% break+= \Arg{格式命令} +% tocline = \Arg{格式定义} % \end{syntax} -% \opt{break} 选项用于控制章节标题与之前正文的分隔关系。一般用于设置是否在标题之前分页或者设置行间罚点。 -% -% 带加号的 \opt{break+} 选项则用于在已有格式之后追加新的格式命令。 -% -% \opt{break} 选项的默认值,在 \opt{scheme} 选项的不同取值下相同。 -% -% 例如,若当前页剩余高度小于正文高度的一半时,则另起一页输出 \tn{section} 标题: -% \begin{ctexexam} -% \usepackage{needspace} -% \ctexset{section/break = \Needspace{.5\textheight}} -% \end{ctexexam} +% \opt{tocline} 选项用于定义章节标题在目录文件(\file{.toc})中的格式。 +% \meta{格式定义}有两个参数:参数 |#1| 是 |part|、|chapter| 等名字, +% 参数 |#2| 是标题内容。该选项的默认设置见表~\ref{tab:tocline-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{break} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% 标题名 & 默认值 \\ -% \midrule -% part (article) & |{}| \\ -% part & |\if@openright\cleardoublepage\else\clearpage\fi| \\ -% chapter & 同上 \\ -% section & |\addpenalty{\@secpenalty}| \\ -% subsection & 同上 \\ -% subsubsection & 同上 \\ -% paragraph & 同上 \\ -% subparagraph & 同上 \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{tocline} 选项的默认设置} +% \label{tab:tocline-default} +% \begin{tabular}{ll} +% \toprule +% 标题名 & 默认值 \\ +% \midrule +% part & |\CTEXifname{\CTEXthepart\hspace{1em}}{}#2| \\ +% chapter (\opt{chinese}) +% & |\CTEXifname{\protect\numberline{\CTEXthechapter\hspace{.3em}}}{}#2| \\ +% chapter (\opt{plain}) +% & |\CTEXnumberline{#1}#2| \\ +% section & |\CTEXnumberline{#1}#2| \\ +% subsection & 同上 \\ +% subsubsection & 同上 \\ +% paragraph & 同上 \\ +% subparagraph & 同上 \\ +% \bottomrule +% \end{tabular} +% +% \medskip +% \raggedright +% 这里 \tn{CTEXnumberline} 的意义是,若标题 |#1| 没有名字,则不输出 +% |\numberline{\CTEXthe#1}| 等编号: +% \begin{verbatim} +% \CTEXifname{\protect\numberline{\csname CTEXthe#1\endcsname}}{} +% \end{verbatim} +% 其中,\tn{CTEXifname} 的定义见 \ref{subsec:sec-commands}~小节。 % \end{table} % -% \begin{function}[EXP,added=2016-10-25]{.../tocline} +% \begin{function}[EXP,added=2016-10-01]{chapter/lofskip, chapter/lotskip} % \begin{syntax} -% tocline = \Arg{格式定义} +% lofskip = \Arg{弹性间距} +% lotskip = \Arg{弹性间距} % \end{syntax} -% \opt{tocline} 选项用于定义章节标题在目录文件(\file{.toc})中的格式。\meta{格式定义}有两个参数: -% 参数 |#1| 是 |part|、|chapter| 等名字,参数 |#2| 是标题内容。 -% \end{function} -% -% \begin{table}[htbp] -% \small\centering -% \caption{\opt{tocline} 选项的默认设置} -% \begin{tabular}{ll} -% \toprule -% 标题名 & 默认值 \\ -% \midrule -% part & |\CTEXifname{\CTEXthepart\hspace{1em}}{}#2| \\ -% chapter (\opt{chinese}) -% & |\CTEXifname{\protect\numberline{\CTEXthechapter\hspace{.3em}}}{}#2| \\ -% chapter (\opt{plain}) -% & |\CTEXnumberline{#1}#2| \\ -% section & |\CTEXnumberline{#1}#2| \\ -% subsection & 同上 \\ -% subsubsection & 同上 \\ -% paragraph & 同上 \\ -% subparagraph & 同上 \\ -% \bottomrule -% \end{tabular} +% \opt{lofskip} 选项控制插图目录(\file{.lof})中,章之间的插图标题的距离。 +% 同样,\opt{lotskip} 选项控制表格目录(\file{.lot})中,章之间的表格标题 +% 的距离。 % -% \medskip -% 其中 \tn{CTEXnumberline} 的意义是若标题 |#1| 没有名字,则不输出 |\numberline{\CTEXthe#1}| -% 等编号: -% \begin{verbatim} -% \CTEXifname{\protect\numberline{\csname CTEXthe#1\endcsname}}{} -% \end{verbatim} -% \end{table} +% 目前,这两个选项只在 \opt{chapter} 标题下有定义。 +% 它们的默认值,在 \opt{scheme} 选项的不同取值下都为 \SI{10}{pt}。 +% \end{function} % % \begin{function}[EXP,added=2015-06-21]{appendix/numbering} % \begin{syntax} % numbering = \TTF % \end{syntax} -% 控制是否对附录章(对 \cls{book} 与 \cls{report})或附录节(对 \cls{article}) -% 进行编号。 -% -% 用法与普通章节 \opt{numbering} 选项类似。 +% 控制是否对附录章(对应 \cls{book} 与 \cls{report})或附录节 +% (对应 \cls{article})进行编号,用法与普通章节对应的 \opt{numbering} +% 选项相同。该选项默认值为 \opt{true}。 % \end{function} % % \begin{function}[EXP,updated=2014-03-08]{appendix/name} @@ -2335,60 +2423,103 @@ Copyright and Licence % name = \{<前名字>,<后名字>\} % name = \Arg{前名字} % \end{syntax} -% 设置附录章(对 \cls{book} 与 \cls{report})或附录节(对 \cls{article})的 -% 名字。 -% -% 用法与普通章节 \opt{name} 选项类似。 +% 设置附录章(对应 \cls{book} 与 \cls{report})或附录节(对应 \cls{article}) +% 的名字,用法与普通章节对应的 \opt{name} 选项相同。 % % 注意该选项与 \opt{appendixname} 选项(\ref{subs:capname}~节)在意义上有 -% 些重叠,但意义不同。\opt{appendixname} 选项只用来重定义 -% \tn{appendixname},而不管 \tn{appendixname} 如何使用;该选项则决定在章节标 -% 题中输出的名字,可以调用 \tn{appendixname} 设置。 +% 些重叠,但不完全相同。\opt{appendixname} 选项只用来重定义 +% \tn{appendixname},而不管 \tn{appendixname} 如何使用;该选项则决定在章节 +% 标题中输出的名字,可以调用 \tn{appendixname} 设置。 +% +% 该选项的默认设置见表~\ref{tab:appendix-name-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{appendix/name} 选项的默认设置} -% \begin{tabular}{llllll} -% \toprule -% 文档类 & 影响命令 & \opt{scheme = chinese} & 实际定义 -% & \opt{scheme = plain} & 实际定义 \\ -% \midrule -% article & \tn{section} & |{}| & & |{}| & \\ -% book, report & \tn{chapter} & |\appendixname\space| & \verb*|附录 | -% & |\appendixname\space| & \verb*|Appendix | \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{appendix/name} 选项的默认设置} +% \label{tab:appendix-name-default} +% \begin{tabular}{llllll} +% \toprule +% 文档类 & 影响命令 & \opt{scheme = chinese} & 实际定义 +% & \opt{scheme = plain} & 实际定义 \\ +% \midrule +% article & \tn{section} & |{}| & & |{}| & \\ +% book, report & \tn{chapter} & |\appendixname\space| & \verb*|附录 | +% & |\appendixname\space| & \verb*|Appendix | \\ +% \bottomrule +% \end{tabular} % \end{table} % % \begin{function}[EXP]{appendix/number} % \begin{syntax} % number = \Arg{数字输出命令} % \end{syntax} -% 设置附录章(对 \cls{book} 与 \cls{report})或附录节(对 \cls{article})编 -% 号的数字输出格式。 -% -% 用法与普通章节的 \opt{number} 选项类似。 -% -% 该选项也同时控制附录章节计数器的交叉引用。 +% 设置附录章(对 \cls{book} 与 \cls{report})或附录节(对 \cls{article}) +% 编号的数字输出格式,用法与普通章节对应的 \opt{number} 选项相同。 % +% \opt{appendix/number} 选项同时也会控制附录章节计数器的交叉引用。 % 与普通章节的 \opt{number} 选项类似,同样需要注意,该选项不会影响计数器本身 % 的输出,即不影响 \tn{thesection} 或 \tn{thechapter} 的定义。 +% +% 该选项的默认设置见表~\ref{tab:appendix-number-default}。 % \end{function} % % \begin{table}[htbp] -% \small\centering -% \caption{\opt{appendix/number} 选项的默认设置} -% \begin{tabular}{llllll} -% \toprule -% 文档类 & 影响命令 & 默认值 \\ -% \midrule -% article & \tn{section} & |\Alph{section}| \\ -% book, report & \tn{chapter} & |\Alph{chapter}| \\ -% \bottomrule -% \end{tabular} +% \small\centering +% \caption{\opt{appendix/number} 选项的默认设置} +% \label{tab:appendix-number-default} +% \begin{tabular}{llllll} +% \toprule +% 文档类 & 影响命令 & 默认值 \\ +% \midrule +% article & \tn{section} & |\Alph{section}| \\ +% book, report & \tn{chapter} & |\Alph{chapter}| \\ +% \bottomrule +% \end{tabular} % \end{table} % +% \subsection{有关命令} +% \label{subsec:sec-commands} +% +% \CTeX{} 宏集还提供了一些命令(宏),用于存储章节标题格式,或进行一些条件判断。 +% +% \begin{function}{\CTEXthepart, \CTEXthechapter, \CTEXthesection, +% \CTEXthesubsection, \CTEXthesubsubsection, \CTEXtheparagraph, +% \CTEXthesubparagraph} +% 以 |\CTEXthe| 开头的这组宏给出结合了 \opt{name} 与 \opt{number} 选项的章节 +% 编号输出格式。例如在 \opt{scheme = chinese} 时,默认章编号输出格式就是 +% \tn{CTEXthechapter},形如“第一章”。 +% +% 这组宏在 \CTeX 文档类中将代替 \tn{thechapter} 等宏的作用,在章节中引用本章 +% 节的完整编号。例如用于帮助定义自定义的目录格式、页眉格式等。 +% \end{function} +% +% \begin{function}[added=2016-09-18]{\CTEXifname} +% \begin{syntax} +% \tn{CTEXifname} \Arg{有名字时的内容} \Arg{无名字时的内容} +% \end{syntax} +% \tn{CTEXifname} 会根据当前章节有无名字展开得到不同内容(通常是格式命令)。 +% 由于章节名字总是与编号一起出现,章节有无名字通常也表达为“章节是否编号”。 +% 在 \LaTeX{} 中,后者取决于以下几个方面:章节深度是否不大于计数器 +% |secnumdepth| 的值,章节标题是否使用不带星号的命令。在 \CTeX{} 宏集中, +% 后者还取决于 \opt{.../numbering} 是否为 \opt{true}。 +% +% \tn{CTEXifname} 可用于 \opt{format}, \opt{titleformat}, \opt{aftertitle}, +% \opt{afterskip}, \opt{indent} 这五个选项和 \tn{chapter} 标题 +% \opt{beforeskip} 选项的格式设置之中。也可用于帮助定义自定义的目录格式、 +% 页眉格式等。 +% +% 例如,设置章的标题有名字时左对齐,无名字时居中对齐,并且在标题后画一条横线。 +% \begin{ctexexam} +% \ctexset{ +% chapter/format = \CTEXifname{\raggedright}{\centering}, +% chapter/aftertitle = \par\CTEXifname{}{\hrule}, +% } +% \end{ctexexam} +% \end{function} +% +% \subsection{示例} +% % 我们最后举一个稍微复杂的例子,来看看上述选项的综合应用。 % % \begin{ctexexam}[labelref=exam:miscopt] @@ -2548,18 +2679,18 @@ Copyright and Licence % % \subsection{\LuaLaTeX{} 下替代字体的设置} % -% \begin{function}[added=2014-04-14]{AlternateFont} +% \begin{function}[updated=2020-04-30]{AlternateFont} % \begin{syntax} -% \tn{setCJKfamilyfont} \Arg{family} +% \tn{setCJKfamilyfont} \Arg{family} \Arg{base font name} % \ [ +% \ , % \ AlternateFont = % \ \{ -% \ \Arg{character range_1} \oarg{alternate font features_1} \Arg{alternate font name_1} || -% \ \Arg{character range_2} \oarg{alternate font features_2} \Arg{alternate font name_2} || +% \ \Arg{character range_1} \Arg{alternate font name_1} , +% \ \Arg{character range_2} \Arg{alternate font name_2} \Arg{alternate font features_2} , % \ ...... -% \ \} , -% \ -% \ ] \Arg{base font name} +% \ \} +% \ ] % \end{syntax} % 在设置字体族 \meta{family} 的时候,同时设置该字体族在字符范围 % \meta{character range_n} 内,对应字形的替代字体。 @@ -2567,11 +2698,11 @@ Copyright and Licence % % \begin{function}[added=2014-04-14]{CharRange} % \begin{syntax} -% \tn{setCJKfamilyfont} \Arg{family} +% \tn{setCJKfamilyfont} \Arg{family} \Arg{alternate font name} % \ [ % \ CharRange = \Arg{character range} , % \ -% \ ] \Arg{alternate font name} +% \ ] % \end{syntax} % 只设置字体族 \meta{family} 在字符范围 \meta{character range} 内,对应字形的 % 替代字体。 @@ -2586,7 +2717,7 @@ Copyright and Licence % \setCJKmainfont[CharRange={"6800->"9FFF}, ...]{...} % \end{ctexexam} % -% \begin{function}[EXP,added=2014-04-14]{declarecharrange} +% \begin{function}[EXP,added=2020-04-30]{declarecharrange} % \begin{syntax} % \tn{ctexset} % \ \{ @@ -2605,9 +2736,10 @@ Copyright and Licence % % 在声明字符范围 \meta{name} 的同时,还为 \tn{setCJKmainfont} 等字体设置命令定义 % 了选项 \meta{name},用于设置对应字符的替代字体: -% \begin{quote}\linespread{1}\small\ttfamily -% \meta{name} = \oarg{alternate font features} \Arg{alternate font name} -% \end{quote} +% \begin{syntax} +% \meta{name} = \Arg{alternate font name} +% \meta{name} = \Arg{alternate font name} \Arg{alternate font features} +% \end{syntax} % \meta{name} 选项可以与 \opt{AlternateFont} 共同使用,但不能与 \opt{CharRange} % 一起使用。如果没有给 \meta{name} 设置值,则等价于设置 \opt{CharRange=\meta{name}}, % 即只设置 \meta{name} 对应的字符范围的替代字体。 @@ -2652,7 +2784,7 @@ Copyright and Licence % 例如对于 \TeX{} Live,系统自带的配置文件就在 \TeX{} Live 安装目录下的 % \path{texmf-dist/tex/latex/ctex/config/} 子目录下,可以修改它的副本,保存在 % 本地 TDS 树的 \path{texmf-local/tex/latex/ctex/} 目录下,或者用户 TDS 树的 -% \path{~/.texlive2015/texmf-var/tex/latex/ctex/} 目录下,作为本地/用户专有的 +% \path{~/texmf/tex/latex/ctex/} 目录下,作为本地/用户专有的 % 配置文件。复制配置文件后需要运行 |texhash| 命令使本地配置文件生效。 % % \MiKTeX{} 的配置文件也保存在类似的目录结构中,\MiKTeX{} 管理的 @@ -2668,13 +2800,12 @@ Copyright and Licence % 注释就可以生效。 % % \begin{ctexexam} -% % 系统自带 ctexopts.cfg 注释中的示例语句,固定默认字体集为 windowsnew。 +% % 系统自带 ctexopts.cfg 注释中的示例语句,固定默认字体集为 windows。 % % 该设置可以用在安装了 Windows 字体的非 Windows 系统中。 -% \keys_set:nn { ctex / option } { fontset = windowsnew } +% \ctex_set:nn { option } { fontset = windows } % \end{ctexexam} -% 如上例所示,宏包选项通常使用 \LaTeXiii{} 的 \cs{keys_set:nn} 命令完成键值设置, -% 第一个参数是固定的子模块 |ctex/option|,第二个参数中是用户定义的新的默认宏包 -% 选项。 +% 如上例所示,宏包选项通常使用 \LaTeXiii{} 的 \cs{ctex_set:nn} 命令完成键值设置, +% 第一个参数是固定的子模块 |option|,第二个参数中是用户定义的新的默认宏包选项。 % % \file{ctexopts.cfg} 中的设置将在 \CTeX{} 宏集的开始处,定义过宏包选项之后, % \tn{ProcessKeysOptions} 命令之前生效。最好只使用此配置文件修改宏包默认选项。 @@ -2820,20 +2951,22 @@ Copyright and Licence % % \begin{function}{fntef} % 旧版本的 \opt{fntef} 选项用于统一 \pkg{CCTfntef} 与 \pkg{CJKfntef} 的界面, -% 新版本 \CTeX{} 宏集不再支持 \pkg{CCT},而是直接载入 \pkg{CJKfntef} 或 -% \pkg{xeCJKfntef} 宏包并禁用其彩色设置。该选项是过时选项。 +% 新版本 \CTeX{} 宏集不再支持 \pkg{CCT},也不再自动载入 \pkg{CJKfntef} 或 +% \pkg{xeCJKfntef} 宏包,而仅在其末尾做适当格式调整。 +% +% \opt{fntef} 选项过时,因兼容性保留,功能是根据引擎载入 \pkg{CJKfntef} +% (\pdfTeX{}) 或 \pkg{xeCJKfntef} (\XeTeX{}) 宏包。 % \end{function} % % \begin{function}{\CTEXunderdot, \CTEXunderline, \CTEXunderdblline, -% \CTEXunderwave, \CTEXsout, \CTEXxout, \CTEXfilltwosides} +% \CTEXunderwave, \CTEXsout, \CTEXxout, CTEXfilltwosides} % 在调用 \opt{fntef} 宏包选项的同时,旧版本 \CTeX{} 宏包由于需要支持 \pkg{CCT} % 系统,会将以 |\CJK| 开头的 \tn{CJKunderline} 等宏换名为以 |\CTEX| 开头的 -% \tn{CTEXunderline} 等宏。此功能在新版本的 \CTeX{} 宏集中已失去意义。 -% -% 此外,在 \pdfTeX{} 引擎下,用于设置格式的 \tn{CJKunderdotbasesep} 等宏也被换 -% 名为 \tn{CTEXunderdotbasesep} 等宏。 +% \tn{CTEXunderline} 等宏。此功能在新版本的 \CTeX{} 宏集中已失去意义。此外, +% 在 \pdfTeX{} 引擎下,用于设置格式的 \tn{CJKunderdotbasesep} 等宏也被更名为 +% \tn{CTEXunderdotbasesep} 等宏。 % -% 在新版本中,上述由 \opt{fntef} 衍生的相关宏都成为过时命令。 +% 在新版本中,上述由 \opt{fntef} 衍生的相关命令和环境均被移除。 % \end{function} % % \begin{function}{\CTEXsetfont} @@ -2927,11 +3060,53 @@ Copyright and Licence % 这两个选项已经被删除,相应功能由新的选项 \opt{fixskip} 提供。 % \end{function} % +% \subsection{\CTeX\ 2.5 之前的版本} +% +% \CTeX\ 2.5 有一些比较大的变动。 +% +% \begin{function}[label =]{UTF8, GBK} +% (pdf)\LaTeX{} 格式下,文档编码初始值统一设置成 UTF-8。因此,仍旧使用 GBK +% 编码的文档,需要在文档类或宏包选项中显式指定 \opt{GBK}。 +% \end{function} +% +% \begin{function}[label =]{\CTEXunderdot, \CTEXunderline, \CTEXunderdblline, +% \CTEXunderwave, \CTEXsout, \CTEXxout, CTEXfilltwosides} +% 不再默认载入 \pkg{CJKfntef} 或 \pkg{xeCJKfntef} 宏包,同步移除有关命令 +% 和环境。若需使用相关宏包,建议用户使用 \tn{usepackage} 命令主动载入。 +% \end{function} +% +% \begin{function}[label =]{fntef} +% 作为兼容性保留,会视编译引擎载入相应宏包。 +% \end{function} +% +% \begin{function}{windows} +% 不再支持 Windows XP 系统,默认要求 Windows 系统有微软雅黑字体。 +% 建议 Windows XP 系统的用户及时更新操作系统。若一定要在 Windows XP 中使用, +% 请使用 2.5 以前的版本。 +% \end{function} +% +% \begin{function}{windowsold, windowsnew} +% 过时字库选项,作为兼容性保留,功能是载入 \opt{windows} 字库。 +% \end{function} +% +% \begin{function}{ubuntu} +% 改用思源(Noto CJK)和文鼎字库。该字库不再支持 \pdfLaTeX 编译。 +% \end{function} +% +% \begin{function}[label =]{AlternateFont} +% 不再支持将替代字体的可选项放在字体名之前的方括号中, +% 新的语法是将可选项放在字体名之后的花括号之内。 +% \end{function} +% +% 除了以上列出的选项以外,当用户使用 \CTeX{} 系列文档类,且使用 \LaTeX 或 +% \upLaTeX 编译时,若用户没有在文档类选项中显式指定 |dvips|/|dvipdfmx|/|dvisvgm| +% 等驱动选项,则文档类指定默认驱动为 \dvipdfmx。 +% % \section{宏集依赖情况与手工安装方法} % \label{sec:dep-ins} % % 本节介绍 \CTeX{} 宏集的依赖情况,并介绍手工编译安装的具体方法。 -% 通常用户只需参照第 \ref{subsec:easy-ins}~节介绍的方法,使用发行版自带的宏包管理器安装 +% 通常用户只需参照第 \ref{subsec:easy-ins}~节介绍的方法,使用发行版自带的包管理器安装 % 本宏集。 % % \CTeX{} 宏集有两个源文件:\file{ctex.dtx}、\file{ctexpunct.spa}。 @@ -2943,14 +3118,20 @@ Copyright and Licence % 和 \pkg{l3packages} 宏集。 % \item \pkg{indentfirst} 宏包,属于 \pkg{tools} 宏集。 % \item \pkg{everysel} 宏包,属于 \pkg{ms} 宏集。 -% \item \pkg{ulem} 宏包。 % \item \pkg{zhnumber} 宏包。 % \item[\ding{229}] 以上是各种编译方式都必需的依赖项。 % \item \pkg{CJK} 宏集。 % \item \pkg{CJKpunct} 宏包。 % \item \pkg{xCJK2uni} 宏包。 % \item \pkg{zhmetrics} 宏包。 -% \item \pkg{zhmCJK} 宏包,它还依赖 \pkg{oberdiek} 宏集。 +% \item \pkg{zhmCJK} 宏包,它还依赖 +% \begin{itemize} +% \item \pkg{iftex} 宏包。 +% \item \pkg{ltxcmds} 宏包。 +% \item \pkg{kvoptions} 宏包。 +% \item \pkg{kvsetkeys} 宏包。 +% \item \pkg{keyval} 宏包,\pkg{graphics} 宏集。 +% \end{itemize} % \item[\ding{229}] 以上是使用 \pdfLaTeX{} 或 \LaTeX{} + \dvipdfmx{} 的编译方式所需要 % 的依赖项,其中 \pkg{zhmCJK} 是可选的。 % \item \pkg{xeCJK} 宏集,它还依赖 @@ -2958,17 +3139,19 @@ Copyright and Licence % \item \pkg{xtemplate} 宏包,它属于 \pkg{l3packages} 宏集。 % \item \pkg{fontspec} 宏包。 % \end{itemize} -% \item \pkg{environ} 宏包,它还依赖 \pkg{trimspaces} 宏包。 % \item[\ding{229}] 以上是使用 \XeLaTeX{} 编译时的依赖项。 % \item \pkg{luatexja} 宏包,它还依赖 % \begin{itemize} % \item \pkg{adobemapping} 宏包。 -% \item \pkg{lualibs} 宏包。 -% \item \pkg{luaotfload} 宏包。 +% \item \pkg{luaotfload} 宏包,它还依赖 \pkg{lualibs} 宏包。 % \item \pkg{luatexbase} 宏包,它还依赖 \pkg{ctablestack} 宏包。 -% \item \pkg{oberdiek} 宏集。 -% \item \pkg{xkeyval} 宏包。 +% \item \pkg{atbegshi} 宏包。 % \item \pkg{etoolbox} 宏包。 +% \item \pkg{iftex} 宏包。 +% \item \pkg{infwarerr} 宏包。 +% \item \pkg{ltxcmds} 宏包。 +% \item \pkg{pdftexcmds} 宏包。 +% \item \pkg{xkeyval} 宏包。 % \end{itemize} % \item \pkg{fontspec} 宏包。 % \item \pkg{xunicode-addon} 宏包,属于 \pkg{xeCJK} 宏集,它还依赖 @@ -2978,6 +3161,7 @@ Copyright and Licence % \item \pkg{graphics} 宏集。 % \item \pkg{graphics-cfg} 宏包。 % \item \pkg{graphics-def} 宏包。 +% \item \pkg{tipa} 宏包。 % \end{itemize} % \end{itemize} % \item[\ding{229}] 以上是使用 \LuaLaTeX{} 编译时的依赖项。 @@ -3001,7 +3185,7 @@ Copyright and Licence % 中第 3 节的指导。 % % \emph{\CTeX{} 宏集已被 \TeXLive{} 和 \MiKTeX{} 收录,若无特别理由, -% 我们强烈建议用户使用宏包管理器安装本宏集。} +% 我们强烈建议用户使用包管理器安装本宏集。} % % 若要手工安装,请遵循如下步骤: % \begin{enumerate} @@ -3023,9 +3207,12 @@ Copyright and Licence % \item 陈之初 (\email{zhichu.chen@gmail.com}) % \item 李清 (\email{sobenlee@gmail.com}) % \item 黄晨成 (\email{liamhuang0205@gmail.com}) +% \item 曾祥东 (\email{xdzeng96@gmail.com}) +% \item 李泽平 (\email{zepinglee@gmail.com}) +% \item 周宇恺 (\email{muzimuzhi@gmail.com}) +% \item 张瑞熹 (\email{ruixizhang42@gmail.com}) % \end{itemize} % -% 目前比较活跃的开发维护人员是刘海洋、李清和黄晨成。 % % % \begin{thebibliography}{9} @@ -3105,11 +3292,11 @@ Copyright and Licence \msg_new:nnnn { ctex } { l3-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~bundles\\\\ + Please~update~an~up-to-date~version~of~the~bundles\\\\ `l3kernel'~and~`l3packages'\\\\ using~your~TeX~package~manager~or~from~CTAN. } -\@ifpackagelater { expl3 } { 2019/03/05 } { } +\@ifpackagelater { expl3 } { 2020/04/06 } { } { \msg_error:nnn { ctex } { l3-too-old } { expl3 } } %<*class> \@ifpackagelater { l3keys2e } { 2015/12/20 } { } @@ -3138,13 +3325,20 @@ Copyright and Licence % % \end{macrocode} % +% \changes{v2.5}{2020/04/19} +% {处理 \cs{ctex_file_input:n} 在 \pkg{ctexsize} 中未定义的错误。} +% \changes{v2.5}{2020/04/21}{在 \pkg{ctexsize} 也载入 \pkg{fix-cm}。} +% % \begin{macrocode} -%<*class|ctex|ctexheading> +%<*class|ctex|ctexheading|ctexsize> % \end{macrocode} % +% \pkg{ctexsize} 也要载入 \pkg{fix-cm} 包解决传统 cm 字体字号缺失的问题。 % \begin{macrocode} -\RequirePackage { ctexhook , ctexpatch } -%\RequirePackage { fix-cm , everysel } +%\RequirePackage { ctexhook , ctexpatch } +%\RequirePackage { fix-cm } +%<*!ctexsize> +%\RequirePackage { everysel } % \end{macrocode} % % \subsection{内部函数与变量} @@ -3159,10 +3353,28 @@ Copyright and Licence % \end{macrocode} % \end{variable} % +% \begin{macro}[int]{\ctex_define_option:n, +% \ctex_define:n,\ctex_set:n,\ctex_set:nn} +% 在宏包内部使用的键值选项定义、设置命令。 +% \begin{macrocode} +% +\cs_new_protected:Npn \ctex_define_option:n + { \keys_define:nn { ctex / option } } +%<*!ctexsize> +\cs_new_protected:Npn \ctex_define:n + { \keys_define:nn { ctex } } +\cs_new_protected:Npn \ctex_set:n + { \keys_set:nn { ctex } } +\cs_new_protected:Npn \ctex_set:nn #1 + { \keys_set:nn { ctex / #1 } } +% \end{macrocode} +% \end{macro} +% % \begin{macro}[int]{\ctex_file_wrapper:nnn} % 设置文件操作的 \tn{catcode} 环境,参数 |#1| 是设置,|#2| 是文件操作,|#3| 是恢复。 % 默认关闭 \LaTeXiii{} 语法环境,并设置 |@| 的 \tn{catcode} 为 $11$。 % \begin{macrocode} +% \cs_new_protected:Npn \ctex_file_wrapper:nnn #1#2#3 { \use:x @@ -3184,15 +3396,16 @@ Copyright and Licence % \begin{macro}[int]{\ctex_file_input:n} % 输入文件。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_file_input:n #1 +\cs_new_protected:Npn \ctex_file_input:n #1 { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } } +%<*!ctexsize> % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\ctex_scheme_input:n} % 输入 \opt{scheme} 文件。先查找当前文档类下的 \meta{scheme},找不到再查找一般的文件。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_scheme_input:n #1 +\cs_new_protected:Npn \ctex_scheme_input:n #1 { \ctex_file_wrapper:nnn { } @@ -3222,7 +3435,8 @@ Copyright and Licence % \end{variable} % % \begin{macrocode} -% +% +% %<*class|ctex> % \end{macrocode} % @@ -3231,7 +3445,7 @@ Copyright and Licence \msg_new:nnnn { ctex } { package-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~package~`#1'\\ + Please~update~an~up-to-date~version~of~the~package~`#1'\\ using~your~TeX~package~manager~or~from~CTAN. } % \end{macrocode} @@ -3278,12 +3492,10 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \begin{variable}{\l_@@_encoding_tl} -% (pdf)\LaTeX{} 初始化编码为 GBK,其它则是 UTF8。 +% \begin{variable}{\g_@@_encoding_tl} +% 所有引擎下默认编码均设为 UTF-8,初始值为空,\tn{ProcessKeysOptions} 再判断。 % \begin{macrocode} -\tl_new:N \l_@@_encoding_tl -\tl_set:Nx \l_@@_encoding_tl - { \sys_if_engine_pdftex:TF { GBK } { UTF8 } } +\tl_new:N \g_@@_encoding_tl % \end{macrocode} % \end{variable} % @@ -3318,8 +3530,8 @@ Copyright and Licence % \begin{macro}[int]{\ctex_at_end:n} % 区分 \tn{AtEndOfClass} 和 \tn{AtEndOfPackage},虽然它们的意思都是一样的。 % \begin{macrocode} -%\cs_new_protected_nopar:Npn \ctex_at_end:n { \AtEndOfClass } -%\cs_new_protected_nopar:Npn \ctex_at_end:n { \AtEndOfPackage } +%\cs_new_protected:Npn \ctex_at_end:n { \AtEndOfClass } +%\cs_new_protected:Npn \ctex_at_end:n { \AtEndOfPackage } % \end{macrocode} % \end{macro} % @@ -3340,15 +3552,28 @@ Copyright and Licence { Value~`#1'~is~invalid~for~the~key~`\l_keys_key_tl'. } % \end{macrocode} % +% \begin{macro}[int]{\ctex_deprecated_option:nn, +% \ctex_set_deprecated_option:n,\ctex_deprecated_command:Nn} % 对过时选项或命令给出警告。 % \begin{macrocode} +\cs_new_protected:Npn \ctex_deprecated_option:n + { \msg_warning:nnn { ctex } { deprecated-option } } +\cs_new_protected:Npn \ctex_set_deprecated_option:n #1 + { + \ctex_deprecated_option:n { Option~`#1'~is~set. } + \ctex_set:nn { option } {#1} + } +\cs_new_protected:Npn \ctex_deprecated_command:Nn #1#2 + { + \msg_warning:nnxx { ctex } { deprecated-command } + { \token_to_str:N #1 } { \exp_not:n {#2} } + } \msg_new:nnn { ctex } { deprecated-option } - { Option~ `\l_keys_key_tl'~ is~ deprecated.\\ #1 } + { Option~`\l_keys_key_tl'~is~deprecated.\\ #1 } \msg_new:nnn { ctex } { deprecated-command } - { Command~ #1 is~ deprecated.\\ #2 } -\msg_new:nnn { ctex } { deprecated-environment } - { Environment~ `#1'~ is~ deprecated.\\ #2 } + { Command~`#1'~is~deprecated.\\ #2 } % \end{macrocode} +% \end{macro} % % \begin{macrocode} % @@ -3360,7 +3585,7 @@ Copyright and Licence % \begin{macrocode} %<*class|ctex|ctexsize> \int_new:N \g_@@_font_size_int -\int_set:Nn \g_@@_font_size_int { -1 } +\int_gset:Nn \g_@@_font_size_int { -1 } % % \end{macrocode} % \end{variable} @@ -3372,7 +3597,7 @@ Copyright and Licence % % \begin{macrocode} %<*class|style> -\keys_define:nn { ctex / option } +\ctex_define_option:n { % % \end{macrocode} @@ -3392,18 +3617,8 @@ Copyright and Licence % } % %<*class|ctex> - c5size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=5'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = 5 } - } , - cs4size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=-4'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = -4 } - } , + c5size .code:n = { \ctex_set_deprecated_option:n { zihao = 5 } } , + cs4size .code:n = { \ctex_set_deprecated_option:n { zihao = -4 } } , c5size .value_forbidden:n = true , cs4size .value_forbidden:n = true , % \end{macrocode} @@ -3451,31 +3666,40 @@ Copyright and Licence % \begin{macrocode} indent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options.~ + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , indent .value_forbidden:n = true , noindent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options. + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , noindent .value_forbidden:n = true , % \end{macrocode} % \end{macro} % +% \changes{v2.5}{2019/11/10}{所有引擎下默认编码均设为 UTF-8。} +% % \begin{macro}{GBK,UTF8} +% 文档编码,默认为 UTF-8。 % \begin{macrocode} - GBK .code:n = { \tl_set:Nn \l_@@_encoding_tl { GBK } } , - UTF8 .code:n = { \tl_set:Nn \l_@@_encoding_tl { UTF8 } } , + GBK .code:n = + { + \sys_if_engine_pdftex:TF + { \tl_gset:Nn \g_@@_encoding_tl { GBK } } + { + \msg_warning:nn { ctex } { invalid-option } + \tl_gset:Nn \g_@@_encoding_tl { UTF8 } + } + } , + UTF8 .code:n = { \tl_gset:Nn \g_@@_encoding_tl { UTF8 } } , GBK .value_forbidden:n = true , UTF8 .value_forbidden:n = true , % \end{macrocode} @@ -3487,36 +3711,12 @@ Copyright and Licence % % \begin{macro}{fontset} % 初始值为空。若用户未指定,则根据操作系统载入对应字体配置,可以区分 Windows、 -% Mac~OS~X 和其它。 +% macOS 和其他。 % \begin{macrocode} fontset .tl_gset:N = \g_@@_fontset_tl , - nofonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=none'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = none } - } , - adobefonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=adobe'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = adobe } - } , - winfonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=windows'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = windows } - } , + nofonts .code:n = { \ctex_set_deprecated_option:n { fontset = none } } , + adobefonts .code:n = { \ctex_set_deprecated_option:n { fontset = adobe } } , + winfonts .code:n = { \ctex_set_deprecated_option:n { fontset = windows } } , nofonts .value_forbidden:n = true , winfonts .value_forbidden:n = true , adobefonts .value_forbidden:n = true , @@ -3546,11 +3746,7 @@ Copyright and Licence \cs_gset_eq:NN \ctex_zhmap_case:nnn \use_iii:nnn } , nozhmap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zhmap=false'~ is~ set. } - \keys_set:nn { ctex / option } { zhmap = false } - } , + { \ctex_set_deprecated_option:n { zhmap = false } } , nozhmap .value_forbidden:n = true , % \end{macrocode} % \end{macro} @@ -3564,12 +3760,7 @@ Copyright and Licence punct .tl_set:N = \l_@@_punct_tl , punct .default:n = { quanjiao } , punct .initial:n = { quanjiao } , - nopunct .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `punct=plain'~ is~ set. } - \keys_set:nn { ctex / option } { punct = plain } - } , + nopunct .code:n = \ctex_set_deprecated_option:n { punct = plain } , nopunct .value_forbidden:n = true , % \end{macrocode} % \end{macro} @@ -3581,15 +3772,10 @@ Copyright and Licence { true , auto , false } { \exp_args:Nx \ctex_at_end:n - { \keys_set:nn { ctex } { space = \l_keys_choice_tl } } + { \ctex_set:n { space = \l_keys_choice_tl } } } , space .default:n = { true } , - nospace .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `space=false'~ is~ set. } - \keys_set:nn { ctex / option } { space = false } - } , + nospace .code:n = { \ctex_deprecated_option:nn { space = false } } , nospace .value_forbidden:n = true , % \end{macrocode} % \end{macro} @@ -3622,6 +3808,7 @@ Copyright and Licence % % \changes{v2.0}{2015/04/15}{新增 \opt{scheme} 选项,并将 \opt{cap} 和 \opt{nocap} % 列为过时选项。} +% % \begin{macro}{scheme} % \begin{macrocode} scheme .tl_set:N = \l_@@_scheme_tl , @@ -3635,25 +3822,18 @@ Copyright and Licence scheme .initial:n = { chinese } , % % \end{macrocode} +% \end{macro} % % \begin{macrocode} % %<*class|ctex> % \end{macrocode} % +% \begin{macro}{cap,nocap} +% \opt{cap} 和 \opt{nocap} 是过时选项。 % \begin{macrocode} - cap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = chinese' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = chinese } - } , - nocap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = plain' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = plain } - } , + cap .code:n = { \ctex_set_deprecated_option:n { scheme = chinese } } , + nocap .code:n = { \ctex_set_deprecated_option:n { scheme = plain } } , cap .value_forbidden:n = true , nocap .value_forbidden:n = true , % \end{macrocode} @@ -3662,25 +3842,51 @@ Copyright and Licence % \changes{v2.0}{2015/04/20}{\opt{hyperref} 成为过时选项,原选项功能总是打开。} % \changes{v2.0}{2015/04/20}{\opt{fancyhdr} 成为过时选项,原选项功能总是打开。} % \changes{v2.0}{2015/04/20}{\opt{fntef} 成为过时选项,原选项功能总是打开。} -% \begin{macro}{fntef,fancyhdr,hyperref} -% \changes{v2.1}{2015/06/03}{补充定义 \tn{hypersetup}。} -% 这些都是过时的宏包兼容选项,原选项功能总是打开的。 +% +% 以下三项都是过时的兼容选项,它们会载入有关宏包。 +% +% \begin{macro}{fntef} +% \changes{v2.5}{2019/11/10}{仅在该选项启用时会载入 \pkg{CJKfntef} 或 +% \pkg{xeCJKfntef} 宏包。} % \begin{macrocode} - fntef .code:n = + fntef .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `(xe)CJKfntef'~ package~ is~ always~ loaded. } + \sys_if_engine_xetex:TF + { + \ctex_deprecated_option:n { `xeCJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { xeCJKfntef } } + } + { + \sys_if_engine_pdftex:TF + { + \ctex_deprecated_option:n { `CJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { CJKfntef } } + } + { + \ctex_deprecated_option:n + { Furthermore,~option~`fntef'~is~invalid~in~current~mode. } + } + } } , +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{fancyhdr} +% \begin{macrocode} fancyhdr .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `fancyhdr'~ package~ is~ loaded. } - \RequirePackage { fancyhdr } + \ctex_deprecated_option:n { `fancyhdr'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { fancyhdr } } } , +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{hyperref} +% \changes{v2.1}{2015/06/03}{补充定义 \tn{hypersetup}。} +% \begin{macrocode} hyperref .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `hyperref'~ package~ will~ be~ loaded. } + \ctex_deprecated_option:n { `hyperref'~package~will~be~loaded. } \ctex_at_end:n { \cs_if_exist:NF \hypersetup @@ -3726,7 +3932,7 @@ Copyright and Licence #1 .value_forbidden:n = true , } } -\use:x { \keys_define:nn { ctex / option } { \exp_not:o { \l_@@_tmp_tl } } } +\exp_args:No \ctex_define_option:n { \l_@@_tmp_tl } \tl_clear:N \l_@@_tmp_tl % \end{macrocode} % \end{macro} @@ -3734,7 +3940,7 @@ Copyright and Licence % 将未知选项传给标准文档类。 % \begin{macrocode} %<*class> -\keys_define:nn { ctex / option } +\ctex_define_option:n { unknown .code:n = { \clist_gput_right:No \g_@@_std_options_clist { \CurrentOption } } @@ -3742,28 +3948,44 @@ Copyright and Licence % % \end{macrocode} % +% 载入选项配置文件。 % \begin{macrocode} %\ctex_file_input:n { ctexopts.cfg } % % \end{macrocode} % +% 处理宏包选项。 % \begin{macrocode} %<*class|style> \ProcessKeysOptions { ctex / option } % % \end{macrocode} % +% \pdfLaTeX{} 下,如果没有显式指定编码为 |UTF8|,则给出警告信息。 +% \begin{macrocode} +%<*class|ctex> +\msg_new:nnn { ctex } { pdftex-utf8 } + { UTF8~will~be~used~as~the~default~encoding. } +\tl_if_empty:NT \g_@@_encoding_tl + { + \sys_if_engine_pdftex:T + { \msg_warning:nn { ctex } { pdftex-utf8 } } + \tl_gset:Nn \g_@@_encoding_tl { UTF8 } + } +% +% \end{macrocode} +% % \begin{macrocode} %<*class> % \end{macrocode} % % 五号字使用标准文档类的 |10pt| 字体大小设置,小四号字则使用 |12pt|。 % \begin{macrocode} -\if_case:w \g_@@_font_size_int - \clist_gput_right:Nn \g_@@_std_options_clist { 10pt } -\or: - \clist_gput_right:Nn \g_@@_std_options_clist { 12pt } -\fi: +\int_case:nn { \g_@@_font_size_int } + { + { 0 } { \clist_gput_right:Nn \g_@@_std_options_clist { 10pt } } + { 1 } { \clist_gput_right:Nn \g_@@_std_options_clist { 12pt } } + } % \end{macrocode} % % 使用 \tn{PassOptionsToClass} 是为了预防可能存在的选项冲突。 @@ -3796,19 +4018,71 @@ Copyright and Licence % % \subsection{特定引擎支持与设置} % +% \changes{v2.5}{2020/04/22}{给 \LaTeX 和 \upLaTeX 下的文档类指定驱动为 \dvipdfmx。} +% +% \subsubsection{\pkg{ctexbackend.cfg}} +% +% 对于 \XeLaTeX{}/\pdfLaTeX{}/\LuaLaTeX{} 等默认直接输出 PDF 的编译方式,用户 +% 无需为涉及驱动的宏包指定驱动选项。对于 \LaTeX 和 \upLaTeX{} 等默认不直接输出 PDF 的编译方式, +% 用户则需要指定驱动选项。 +% +% 由于历史遗留问题,在使用 \LaTeX{} 或 \upLaTeX{} 等编译时, +% 大多数涉及驱动的宏包选定的默认输出驱动都是 Dvips。 +% 考虑当前实际使用频率,以及考虑到 \CTeX{} 宏集对中文支持的默认方式, +% 我们在用户使用 \CTeX{} 系列文档类时,将默认的输出驱动改为 \dvipdfmx。 +% +% 具体来说,如果 |dvips|,|dvipdfmx|,|dvisvgm| 等驱动没有在文档类的全局选项中被明确指定, +% 我们就在 \tn{@classoptionslist} 开头加入 |dvipdfmx|。 +% +% 本段代码只在 \cls{ctexart} 等文档类开头载入,不在 \pkg{ctex} 中使用。 +% 并且需要放在 \pkg{expl3} 之前载入,保证它载入正确的 backend 文件。 +% \begin{macrocode} +%<*backend> +\begingroup +\expandafter\ifx\csname Umathchardef\endcsname\relax +\else\expandafter\endgroup\expandafter\endinput\fi + \ifodd + \expandafter\ifx\csname pdfoutput\endcsname\relax + \expandafter\ifx\csname enablecjktoken\endcsname\relax 0\else 1\fi + \else\ifnum\pdfoutput>0 0\else 1\fi\fi\space + \def\x#1{% + \if\relax\detokenize{#1}\relax + \gdef\@classoptionslist{dvipdfmx}% + \else + \let\CTEX@add\@ne + \@tfor\x:={dvips}{dvipdfmx}{dvisvgm}\do{% + \expandafter\in@\expandafter{\expandafter,\x,}{,#1,}% + \ifin@ \let\CTEX@add\tw@ \@break@tfor \fi}% + \ifodd\CTEX@add \gdef\@classoptionslist{dvipdfmx,#1}\fi + \fi} + \expandafter\x\expandafter{\@classoptionslist} + \fi +\endgroup +% +% \end{macrocode} +% % \subsubsection{\pkg{ctex-engine-pdftex.def}} % % \begin{macro}[int]{\ctex_set_zhmap:n} % 设置 \upTeX{} 字体映射,同时作用于 \tn{AtBeginDvi} 与 % \tn{AtBeginShipoutFirst}。该宏对 \pdfTeX{} 和 \upTeX{} 均有用。 +% \tn{AtBeginDvi} 直接将 \tn{special} 保存到盒子中, +% \tn{AtBeginShipoutFirst} 是保存到到宏中,并且不展开参数。 % \begin{macrocode} %<*pdftex|uptex|aptex> -\cs_new_protected_nopar:Npn \ctex_set_zhmap:n #1 - { - \AtBeginDvi {#1} - \ctex_at_end_package:nn { atbegshi } - { \AtBeginShipoutFirst {#1} } - } +\cs_new_protected:Npn \ctex_set_zhmap:n + { \tl_gput_right:Nx \g_@@_zhmap_tl } +\cs_new_protected:Npn \ctex_use_zhmap: + { \tl_use:N \g_@@_zhmap_tl } +\cs_new_protected:Npn \ctex_add_dvi_zhmap: + { \AtBeginDvi { \ctex_use_zhmap: } } +\ctex_after_end_preamble:n { \ctex_add_dvi_zhmap: } +\ctex_at_end_package:nn { atbegshi } + { + \AtBeginShipoutFirst { \ctex_use_zhmap: } + \cs_gset_eq:NN \ctex_add_dvi_zhmap: \prg_do_nothing: + } +\tl_new:N \g_@@_zhmap_tl \@onlypreamble \ctex_set_zhmap:n % % \end{macrocode} @@ -3818,7 +4092,7 @@ Copyright and Licence %<*pdftex> % \end{macrocode} % -% \changes{v2.1}{2015/05/18}{给 \pdfLaTeX{} 下的非 UTF8 编码 CJK 字体族加上 CMap。} +% \changes{v2.1}{2015/05/18}{给 \pdfLaTeX{} 下的非 UTF-8 编码 CJK 字体族加上 CMap。} % % \begin{variable}{\c_@@_cmap_encoding_seq} % 需要加上 CMap 的 CJK 字体编码。 @@ -3831,7 +4105,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_family_cmap:nn} % 在 \tn{DeclareFontFamily} 的 \meta{loading-settings} 中给 CJK 字体族加上 CMap。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_family_cmap:nn #1#2 +\cs_new_protected:Npn \ctex_family_cmap:nn #1#2 { \cs_if_free:cF { #1 + #2 } { @@ -3847,22 +4121,22 @@ Copyright and Licence % \begin{macro}[int]{\ctex_add_cmap:n} % 给 |#1| 编码的 CJK 字体加上 CMap。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_add_cmap:n #1 +\cs_new_protected:Npn \ctex_add_cmap:n #1 { \cs_if_free:NF \CJK@plane { \ctex_add_cmap:cn { @@_add_cmap_ #1 \CJK@plane : } {#1} } } -\cs_new_protected_nopar:Npn \ctex_add_cmap:Nn #1#2 +\cs_new_protected:Npn \ctex_add_cmap:Nn #1#2 { \cs_if_exist:NF #1 { \@@_save_cmap:Nn #1 {#2} } #1 } \cs_generate_variant:Nn \ctex_add_cmap:Nn { c } -\cs_new_protected_nopar:Npn \@@_save_cmap:Nn #1#2 +\cs_new_protected:Npn \@@_save_cmap:Nn #1#2 { - \tl_set:Nx \l_@@_tmp_tl { \str_lower_case:n {#2} \CJK@plane } + \tl_set:Nx \l_@@_tmp_tl { \str_lowercase:n {#2} \CJK@plane } \tex_immediate:D \tex_pdfobj:D stream ~ file { \l_@@_tmp_tl .cmap } - \cs_new_protected_nopar:Npx #1 + \cs_new_protected:Npx #1 { \exp_not:N \tex_pdffontattr:D \exp_not:N \tex_font:D { /ToUnicode ~ \int_use:N \tex_pdflastobj:D \c_space_tl 0 ~ R } @@ -3894,13 +4168,13 @@ Copyright and Licence % 首先检查选项,决定是否载入 \pkg{zhmCJK} 宏包。 % \begin{macrocode} \if_bool:N \g_@@_zhmCJK_bool - \PassOptionsToPackage { encoding = \l_@@_encoding_tl } { zhmCJK } + \PassOptionsToPackage { encoding = \g_@@_encoding_tl } { zhmCJK } \RequirePackage { zhmCJK } % \end{macrocode} % 不载入 \pkg{zhmCJK} 宏包时直接调用 \pkg{CJK} 及相关宏包。 % \begin{macrocode} \else: - \str_if_eq:onTF { \l_@@_encoding_tl } { GBK } + \str_if_eq:onTF { \g_@@_encoding_tl } { GBK } { \RequirePackage { CJK } } { \RequirePackage { CJKutf8 } } \RequirePackage { CJKpunct , CJKspace } @@ -3909,7 +4183,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_load_zhmap:nnnn} % 载入 \pkg{zhmetrics} 的字体映射文件,同时设置 \tn{CJKrmdefault} 等。 % \begin{macrocode} - \cs_new_protected_nopar:Npn \ctex_load_zhmap:nnnn #1#2#3#4 + \cs_new_protected:Npn \ctex_load_zhmap:nnnn #1#2#3#4 { \tl_set:Nn \CJKrmdefault {#1} \tl_set:Nn \CJKsfdefault {#2} @@ -3924,7 +4198,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_zhmap_input:n} % 载入字体映射文件时,确认 |%| 和 |\| 的 \tn{catcode}。 % \begin{macrocode} - \cs_new_protected_nopar:Npn \ctex_zhmap_input:n #1 + \cs_new_protected:Npn \ctex_zhmap_input:n #1 { \ctex_file_wrapper:nnn { @@ -3946,22 +4220,10 @@ Copyright and Licence \tl_if_exist:NF \CJKrmdefault { \tl_new:N \CJKrmdefault } \tl_if_exist:NF \CJKsfdefault { \tl_new:N \CJKsfdefault } \tl_if_exist:NF \CJKttdefault { \tl_new:N \CJKttdefault } - \ctex_preto_cmd:NnnTF \rmfamily { \ExplSyntaxOff } - { \CJKfamily { \CJKrmdefault } } - { } - { \ctex_patch_failure:N \rmfamily } - \ctex_preto_cmd:NnnTF \sffamily { \ExplSyntaxOff } - { \CJKfamily { \CJKsfdefault } } - { } - { \ctex_patch_failure:N \sffamily } - \ctex_preto_cmd:NnnTF \ttfamily { \ExplSyntaxOff } - { \CJKfamily { \CJKttdefault } } - { } - { \ctex_patch_failure:N \ttfamily } - \ctex_preto_cmd:NnnTF \normalfont { \ExplSyntaxOff } - { \CJKfamily { \CJKfamilydefault } } - { \cs_set_eq:NN \reset@font \normalfont } - { \ctex_patch_failure:N \normalfont } + \g@addto@macro \@rmfamilyhook { \CJKfamily { \CJKrmdefault } } + \g@addto@macro \@sffamilyhook { \CJKfamily { \CJKsfdefault } } + \g@addto@macro \@ttfamilyhook { \CJKfamily { \CJKttdefault } } + \g@addto@macro \@defaultfamilyhook { \CJKfamily { \CJKfamilydefault } } % \end{macrocode} % % \pkg{zhmCJK} 判断结束。 @@ -3975,7 +4237,7 @@ Copyright and Licence % \tn{CJK@loadEncoding})。因此需要确保载入 \file{.enc} 和 \file{.bdg} 文件时, % |^| 的 \tn{catcode} 为 $7$。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_CJK_input:n #1 +\cs_new_protected:Npn \ctex_CJK_input:n #1 { \ctex_file_wrapper:nnn { @@ -4002,7 +4264,7 @@ Copyright and Licence % 我们在这里给出 \tn{CJK@surr} 的一个不依赖 \tn{uppercase} 的实现。 % \begin{macrocode} \if_cs_exist:N \CJK@surr - \cs_new_protected_nopar:Npn \ctex_plane_to_utfxvibe:Nn #1#2 + \cs_new_protected:Npn \ctex_plane_to_utfxvibe:Nn #1#2 { \tl_set:Nx \l_@@_tmp_tl {#2} \int_set:Nn \l_@@_tmp_int @@ -4039,14 +4301,14 @@ Copyright and Licence \ctex_at_end_preamble:n { \ctex_update_default_family: } % \end{macrocode} % -% 启用中文字符功能。\texttt{GBK} 编码时,将汉字的首字节设置为活动字符,并对这些 -% 字符初始化;\texttt{UTF8} 编码时,上游宏包已经处理好。 +% 启用中文字符功能。\opt{GBK} 编码时,将汉字的首字节设置为活动字符,并对这些 +% 字符初始化;\opt{UTF8} 编码时,上游宏包已经处理好。 % \tn{CJK@makeActive} 应该先于 \file{ctex-name-gbk.cfg} 等文件的载入。 % 注意 \tn{CJK@loadBinding} 需要调用补丁后的 \tn{CJK@input}。使用 % \pkg{zhmCJK} 时,此功能已经被启用。 % \begin{macrocode} \reverse_if:N \if_bool:N \g_@@_zhmCJK_bool - \str_if_eq:onF { \l_@@_encoding_tl } { UTF8 } + \str_if_eq:onF { \g_@@_encoding_tl } { UTF8 } { \CJK@makeActive \CJK@loadBinding { standard } @@ -4087,7 +4349,7 @@ Copyright and Licence \exp_args:Nx \ctex_at_end_preamble:n { \exp_not:N \CJK@envStart - { } { \l_@@_encoding_tl } { \exp_not:N \CJKfamilydefault } + { } { \g_@@_encoding_tl } { \exp_not:N \CJKfamilydefault } \exp_not:N \CJKtilde } % \end{macrocode} @@ -4098,14 +4360,9 @@ Copyright and Licence % \end{macrocode} % % \begin{macro}[int]{\ctex_auto_ignorespaces:} -% 关闭名字空间,保存 \tn{CJK@@ignorespaces} 的定义,方便使用。 -% \begin{macrocode} -%<@@=> -\cs_new_eq:NN \ctex_auto_ignorespaces: \CJK@@ignorespaces -% \end{macrocode} -% 恢复名字空间,要把它放在一个 \env{macrocode} 环境中,\cls{l3doc} 才能正确工作。 +% 保存 \tn{CJK@@ignorespaces} 的定义,方便使用。 % \begin{macrocode} -%<@@=ctex> +\cs_new_eq:NN \ctex_auto_ignorespaces: \CJK@@@@ignorespaces % \end{macrocode} % \end{macro} % @@ -4113,13 +4370,13 @@ Copyright and Licence % 设置忽略空格的的方式。根据 \opt{space} 选项的值重定义 \tn{CJK@ignorespaces}, % 并保存起来供 \tn{CJKhook} 备用。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ignorespaces_case:N #1 +\cs_new_protected:Npn \ctex_ignorespaces_case:N #1 { - \cs_set_protected_nopar:Npn \ctex_set_ignorespaces: + \cs_set_protected:Npn \ctex_set_ignorespaces: { \cs_set_eq:NN \CJK@ignorespaces #1 } \ctex_set_ignorespaces: } -\cs_new_protected_nopar:Npn \ctex_set_ignorespaces: +\cs_new_protected:Npn \ctex_set_ignorespaces: { \cs_set_eq:NN \CJK@ignorespaces \ctex_auto_ignorespaces: } % \end{macrocode} % \end{macro} @@ -4136,7 +4393,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_punct_set:n} % 设置 CJK 族对应到实际的字体。|#1| 是 \opt{fontset} 的名字。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_punct_set:n #1 +\cs_new_protected:Npn \ctex_punct_set:n #1 { \clist_map_inline:Nn \c_@@_punct_family_clist { @@ -4159,7 +4416,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_punct_map_family:nn} % CJK 族 |#1| 使用族 |#2| 的边界信息。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_punct_map_family:nn #1#2 +\cs_new_protected:Npn \ctex_punct_map_family:nn #1#2 { \cs_if_free:cF { CJKpunct@ #2 @spaces } { \cs_set_eq:cc { CJKpunct@ #1 @spaces } { CJKpunct@ #2 @spaces } } @@ -4170,7 +4427,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_punct_map_bfseries:nn} % CJK 族 |#1| 的 \tn{bfseries} 使用族 |#2| 的边界信息。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_punct_map_bfseries:nn #1#2 +\cs_new_protected:Npn \ctex_punct_map_bfseries:nn #1#2 { \clist_map_inline:nn {#1} { @@ -4178,7 +4435,7 @@ Copyright and Licence \ctex_punct_map_series:nnn { ##1 } { bx } {#2} } } -\cs_new_protected_nopar:Npn \ctex_punct_map_series:nnn #1#2#3 +\cs_new_protected:Npn \ctex_punct_map_series:nnn #1#2#3 { \CJKpunctmapfamily { C19 } {#1} {#2} { m } {#3} \CJKpunctmapfamily { C19 } {#1} {#2} { it } {#3} @@ -4193,7 +4450,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_punct_map_itshape:nn} % CJK 族 |#1| 的 \tn{itshape} 使用族 |#2| 的边界信息。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_punct_map_itshape:nn #1#2 +\cs_new_protected:Npn \ctex_punct_map_itshape:nn #1#2 { \CJKpunctmapfamily { C19 } {#1} { m } { it } {#2} \CJKpunctmapfamily { C19 } {#1} { b } { it } {#2} @@ -4208,7 +4465,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_punct_space:nn,\ctexspadef} % 定义标点的边界信息。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_punct_space:nn #1#2 +\cs_new_protected:Npn \ctex_punct_space:nn #1#2 { \tl_const:cn { c_@@_ #1 _punct_spaces_tl } {#2} } \cs_new_eq:NN \ctexspadef \ctex_punct_space:nn % \end{macrocode} @@ -4259,6 +4516,7 @@ Copyright and Licence % % \changes{v2.0}{2014/03/08}{通过 \pkg{LuaTeX-ja} 宏包支持 \LuaLaTeX。} % \changes{v2.3}{2015/09/25}{更新 \pkg{LuaTeX-ja} 支持(20150922.0)。} +% \changes{v2.5}{2020/04/18}{更新 \pkg{LuaTeX-ja} 支持(20200412.0)。} % % \pkg{LuaTeX-ja} 为了兼容 p\LaTeX 的使用习惯,对 \LaTeXe 的 \pkg{NFSS} 作了不少 % 修改和扩充,这对于简体中文用户来说不是必要的。我们在这里禁用它。 @@ -4275,13 +4533,13 @@ Copyright and Licence % % \begin{macrocode} \RequirePackage { luatexja } -\@ifpackagelater { luatexja } { 2015/09/21 } { } +\@ifpackagelater { luatexja } { 2020/04/12 } { } { \msg_error:nnn { ctex } { package-too-old } { luatexja } } % \end{macrocode} % % \begin{macrocode} \RequirePackage { fontspec } -\@ifpackagelater { fontspec } { 2014/05/25 } { } +\@ifpackagelater { fontspec } { 2020/02/21 } { } { \msg_error:nnn { ctex } { package-too-old } { fontspec } } % \end{macrocode} % @@ -4300,19 +4558,20 @@ Copyright and Licence \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF} \ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF} \ltjdefcharrange{3}{% - "2000-"206F, "2070-"243F, "2460-"24FF, "2500-"27BF, "2900-"29FF, - "2B00-"2BFF} + "2000-"243F, "2460-"24FF, "2500-"27BF, "2900-"29FF, "2B00-"2BFF} \ltjdefcharrange{4}{% "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF, - "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F, - "FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF} % non-Japanese + "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF, + "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF, + "1F300-"1FFFF, "2000-"206F} \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF} \ltjdefcharrange{6}{% "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF, - "4E00-"9FFF, "F900-"FAFF, "FE10-"FE6F, "20000-"2FFFF, "E0100-"E01EF} + "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF, + "1B000-"1B16F, "1F100-"1F2FF, "20000-"3FFFF, "E0100-"E01EF} \ltjdefcharrange{7}{% - "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, - "A830-"A83F, "AC00-"D7FF} + "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF, + "A960-"A97F, "AC00-"D7FF} \ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7} % \end{macrocode} % 将引号、破折号等中西文公用的标点符号归入字符范围 9,将他们设置为 JAchar。 @@ -4358,56 +4617,202 @@ Copyright and Licence % 字符是 ALchar 类。我们这里用 \pkg{xunicode-addon} 来处理 \pkg{xunicode}。 % \begin{macrocode} \RequirePackage { xunicode-addon } -\AtBeginUTFCommand +\AtBeginUTFCommand { \CTEX@beginallalchar } +\AtEndUTFCommand { \CTEX@endallalchar } +\cs_new_protected:Npn \CTEX@beginallalchar { \group_begin: - \lua_now:e { tex.globaldefs = 0 } - \ltj@allalchar + \ctex_ltj_zero_globaldefs: + \ltj@allalchar } -\AtEndUTFCommand { \group_end: } +\cs_new_protected:Npn \CTEX@endallalchar + { \group_end: } % \end{macrocode} % % \changes{v2.4.2}{2016/05/15}{恢复 \pkg{luatexja} 对 \tn{emshape} 和 % \tn{eminnershape} 的重定义。} % \changes{v2.4.3}{2016/08/26}{简化 \pkg{fontspec} 补丁。} -% \begin{macro}[int]{\fontspec_visible_space:} -% 我们不使用 \pkg{luatexja} 对 \pkg{fontspec} 的补丁,直接处理。 +% \changes{v2.5}{2020/04/18}{删除 \pkg{fontspec} 补丁。} +% +% 对 \pkg{listings} 的补丁是让代码环境支持 JAchar 类。 % \begin{macrocode} -\cs_set_protected:Npn \fontspec_visible_space: - { - \tex_iffontchar:D \tex_font:D "2423 \exp_stop_f: - \ltjalchar "2423 \exp_stop_f: - \else: - \fontspec_visible_space_fallback: - \fi: - } +\ctex_at_end_package:nn { listings } + { \RequirePackage { lltjp-listings } } % \end{macrocode} -% \end{macro} % -% 对 \pkg{listings} 的补丁是让代码环境支持 JAchar 类。\pkg{LuaTeX-ja} 的补丁会将 -% 代码目录标题改为日文,我们不需要。 +% \paragraph{\pkg{Lua} 函数} +% +% 直接用 |token.set_lua| 定义,不是传统意义上的 \TeX \ 宏。 % \begin{macrocode} -\ctex_at_end_package:nn { listings } +\group_begin: +\char_set_catcode_space:n { 32 } +\lua_now:e { - \use:x - { - \exp_not:N \RequirePackage { lltjp-listings } - \tl_set:Nn \exp_not:N \lstlistingname - { \exp_not:o { \lstlistingname } } - \tl_set:Nn \exp_not:N \lstlistlistingname - { \exp_not:o { \lstlistlistingname } } - } + local func = lua.get_functions_table() + local ltjfont = luatexja.jfont + local getattribute = tex.getattribute + local set_lua = token.set_lua + local scan_int, scan_arg = token.scan_int, token.scan_argument + local new_luafunction = luatexbase.new_luafunction +% \end{macrocode} +% \begin{macro}{\ctex_ltj_add_kyenc:n} +% 保存 jfont 的编码,用于判断。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = ltjfont.add_kyenc_list + set_lua("ctex_ltj_add_kyenc:n", id, "global", "protected") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_is_kenc:n} +% 判断编码是否属于 jfont。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = ltjfont.is_kenc + set_lua("ctex_ltj_is_kenc:n", id, "global") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_patch_external_font:n} +% 若对字体的定义完全相同,则它们有相同的 \texttt{font.id}。因此如果字形是由 +% \textsf{NFSS} 的替换机制定义的,它们就有相同的 \texttt{font.id}。 +% |print_aftl_address| 函数的定义是 +% \begin{verbatim} +% function luatexja.jfont.print_aftl_address() +% return ';ltjaltfont' .. tostring(aftl_base):sub(8) +% end +% \end{verbatim} +% 主要目的是,如果当前字形有替代字体,则往字形的定义中加入一些标志,确保 +% \texttt{font.id} 唯一。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + local s = scan_arg() + local is_braced, is_quoted + if s:sub(1,1) == '{' and s:sub(-1)=='}' then + is_braced = true; s = s:sub(2,-2) + end + if s:sub(1,1) == '"' and s:sub(-1) == '"' then + is_quoted = true; s = s:sub(2,-2) + end + s = s .. ltjfont.print_aftl_address() + if is_braced then s = '{'..s..'}' + elseif is_quoted then s = '"'..s..'"' + end + tex.sprint(-2, s) + end + set_lua("ctex_ltj_patch_external_font:n", id, "global") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_use_jfont:} +% 使用 jfont,确保当前的 \tn{font} 是 jfont。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + font.current(getattribute("ltj@curjfnt")) + end + set_lua("ctex_ltj_use_jfont:", id, "global", "protected") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_set_alt_font:nnnn} +% |#1| 和 |#2| 分别是字符区间的首末,|#3| 是基础字体,|#4| 是替代字体。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + local b = tonumber(scan_arg()) + local e = tonumber(scan_arg()) + local alt = scan_arg() + local base = scan_arg() + ltjfont.set_alt_font_latex(b, e, alt, base) + end + set_lua("ctex_ltj_set_alt_font:nnnn", id, "global", "protected") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_clear_alt_font:n} +% 清除 |#1| 的替代字体。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + local base = scan_arg() + ltjfont.clear_alt_font_latex(base) + end + set_lua("ctex_ltj_clear_alt_font:n", id, "global", "protected") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_pickup_alt_font:nn} +% 定义 |#1| 的替代字体,|#2| 是字体大小。\\ +% 会在内部执行 \tn{ltj@pickup@altfont@auxy} 和 \tn{ltj@pickup@altfont@copy}。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + local base = scan_arg() + local size = scan_arg() + ltjfont.output_alt_font_cmd("y", base) + ltjfont.pickup_alt_font_a(size) + end + set_lua("ctex_ltj_pickup_alt_font:nn", id, "global", "protected") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@@_pickup_alt_font:Nn} +% |#1| 是 \texttt{font.id},|#2| 是字体名称。 +% 在 \tn{ltj@pickup@altfont@copy} 之中使用。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + local num = scan_int() + local base = scan_arg() + ltjfont.pickup_alt_font_b(num, base) + end + set_lua("@@_pickup_alt_font:Nn", id, "global", "protected") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@@_if_alt_set:nT} +% 判断是否存在替代字体。会设置变量 |aftl_base| 和返回 \tn{@firstofone} 或 \tn{@gobble}。 +% \begin{verbatim} +% function luatexja.jfont.does_alt_set(bbase) +% aftl_base = alt_font_table_latex[bbase] +% tex.sprint(cat_lp, aftl_base and '\\@firstofone' or '\\@gobble') +% end +% \end{verbatim} +% \pkg{luatexja} 20200412.0 以后的定义为: +% \begin{verbatim} +% function luatexja.jfont.does_alt_set() +% aftl_base = alt_font_table_latex[scan_arg()] +% tex.sprint(cat_lp, aftl_base and '\\@firstofone' or '\\@gobble') +% end +% \end{verbatim} +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = \LuaTeXjaversion > 20200412.0 + and ltjfont.does_alt_set + or function () + local base = scan_arg() + ltjfont.does_alt_set(base) + end + set_lua("@@_if_alt_set:nT", id, "global") +% \end{macrocode} +% \end{macro} +% \begin{macro}{\ctex_ltj_zero_globaldefs:} +% 设置 \tn{globaldefs} 为 $0$,避免全局设置,应当在分组中使用。 +% 这里通过 Lua 设置,可以不受外部 \TeX\ 环境中的 \tn{globaldefs} 的影响。 +% \begin{macrocode} + local id = new_luafunction("ctex") + func[id] = function () + tex.set("globaldefs", 0) + end + set_lua("ctex_ltj_zero_globaldefs:", id, "global", "protected") } +\group_end: % \end{macrocode} +% \end{macro} % % \paragraph{字体切换方式} % % \begin{macro}[int]{\ctex_ltj_select_font:,\CJK@family} % \tn{CJK@family} 保存的是当前 CJK 实际的字体族名,如果为空表示没有设置过字体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_select_font: +\cs_new_protected:Npn \ctex_ltj_select_font: { - \cs_if_exist_use:cF { \l_@@_current_font_tl } + \group_begin: \exp_args:NNc \group_end: + \cs_if_exist_use:NF { \l_@@_current_font_tl } { \tl_if_empty:NF \CJK@family { \@@_select_font_aux: } } } \tl_new:N \CJK@family @@ -4421,7 +4826,7 @@ Copyright and Licence % 使用 \tn{pickup@font} 取得字体名称前,总需要先设置 \tn{font@name}。在这里将 % \tn{f@family} 换成 CJK 字体族,并确保编码正确。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_select_font_aux: +\cs_new_protected:Npn \@@_select_font_aux: { \group_begin: \tl_set_eq:NN \f@encoding \CJK@encoding @@ -4440,20 +4845,24 @@ Copyright and Licence \cs_if_exist:cF { \l_@@_current_font_tl } { \@@_select_font_aux: } } -\cs_new_protected_nopar:Npn \@@_push_fontname:n #1 +\cs_new_protected:Npn \@@_push_fontname:n #1 { - \cs_gset_eq:NN \@@_save_fontname:w \font@name + \seq_gpush:No \g_@@_fontname_seq { \font@name } \cs_gset_nopar:Npx \font@name {#1} } -\cs_new_protected_nopar:Npn \@@_pop_fontname: - { \cs_gset_eq:NN \font@name \@@_save_fontname:w } +\cs_new_protected:Npn \@@_pop_fontname: + { + \seq_gpop:NNT \g_@@_fontname_seq \l_@@_tmp_tl + { \cs_gset_eq:NN \font@name \l_@@_tmp_tl } + } +\seq_new:N \g_@@_fontname_seq % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\ctex_ltj_pickup_font:} % 替换 \tn{define@newfont} 内部调用的 \tn{extract@font} 和 \tn{do@subst@correction}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_pickup_font: +\cs_new_protected:Npn \ctex_ltj_pickup_font: { \exp_after:wN \cs_if_exist:NF \font@name { @@ -4474,11 +4883,18 @@ Copyright and Licence % %%%%%%%% \jfont\CS={...:...;jfm=metric;...}, \globaljfont % \protected\def\jfont#1{% % \afterassignment\ltj@@jfont -% \directlua{luatexja.jfont.jfontdefX(false, 'yoko','\luatexluaescapestring{\noexpand#1}')}} +% \directlua{luatexja.jfont.jfontdefX +% (false, 'yoko','\luatexluaescapestring{\noexpand#1}')}} % \protected\def\globaljfont#1{% % \afterassignment\ltj@@jfont -% \directlua{luatexja.jfont.jfontdefX(true, 'yoko','\luatexluaescapestring{\noexpand#1}')}} -% \def\ltj@@jfont{\directlua{luatexja.jfont.jfontdefY()}} +% \directlua{luatexja.jfont.jfontdefX +% (true, 'yoko','\luatexluaescapestring{\noexpand#1}')}} +% \newluafunction\ltj@@jfont@inner +% \directlua{ +% local t = lua.get_functions_table() +% t[\the\ltj@@jfont@inner] = luatexja.jfont.jfontdefY +% } +% \def\ltj@@jfont{\luafunction\ltj@@jfont@inner} % \end{verbatim} % \texttt{jfontdefX} 函数的作用是把 \tn{CS} 定义为其后的字体,\texttt{jfontdefY} % 的作用是更新 \texttt{JFM} 和记录相关字体信息。最后的工作是: @@ -4505,7 +4921,7 @@ Copyright and Licence % 赋值总是全局的,不会受到分组的影响。 % \begin{macrocode} \font@name - \lua_now:e { font.current(tex.getattribute('ltj@curjfnt')) } + \ctex_ltj_use_jfont: \use:c { \f@encoding + \f@family } \use:c { \curr@fontshape } } @@ -4557,42 +4973,28 @@ Copyright and Licence % \begin{macrocode} \prg_new_conditional:Npnn \ctex_ltj_if_alternate_shape_exist:n #1 { T , F , TF } { - \lua_now:e { luatexja.jfont.does_alt_set ('\lua_escape:e {#1}') } - \prg_return_true: \else: \prg_return_false: \fi: + \@@_if_alt_set:nT {#1} { \prg_return_true: \use_none:n } + \prg_return_false: } % \end{macrocode} % \end{macro} % % \begin{macro}{\@@_patch_external_font:w} -% 若对字体的定义完全相同,则它们有相同的 \texttt{font.id}。因此如果字形是由 -% \textsf{NFSS} 的替换机制定义的,它们就有相同的 \texttt{font.id}。 -% |print_aftl_address| 函数的定义是 -% \begin{verbatim} -% function print_aftl_address() -% tex.sprint(cat_lp, ';ltjaltfont' .. tostring(aftl_base):sub(8)) -% end -% \end{verbatim} -% 主要目的是,如果当前字形有替代字体,则往字形的定义中加入一些标志,确保 -% \texttt{font.id} 唯一。 % \begin{macrocode} -\cs_new_nopar:Npn \@@_patch_external_font:w #1 ~ at - { #1 \lua_now:e { luatexja.jfont.print_aftl_address() } ~ at } +\cs_new:Npn \@@_patch_external_font:w #1 ~ at + { \ctex_ltj_patch_external_font:n {#1} ~ at } % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\ctex_ltj_select_alternate_font:} % 在 \tn{selectfont} 中更新替代字体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_select_alternate_font: +\cs_new_protected:Npn \ctex_ltj_select_alternate_font: { \ctex_ltj_if_alternate_shape_exist:nT { \l_@@_current_shape_tl } { - \lua_now:e - { - luatexja.jfont.output_alt_font_cmd - ('y', '\lua_escape:e { \l_@@_current_shape_tl }') - } - \lua_now:e { luatexja.jfont.pickup_alt_font_a ('\f@size') } + \ctex_ltj_pickup_alt_font:nn + { \l_@@_current_shape_tl } { \f@size } } } \tl_new:N \l_@@_current_shape_tl @@ -4604,12 +5006,12 @@ Copyright and Licence % \begin{macro}[int]{\ltj@pickup@altfont@auxy} % 被用在函数 |output_alt_font_cmd| 中,作用是定义替代字体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ltj@pickup@altfont@auxy #1 +\cs_new_protected:Npn \ltj@pickup@altfont@auxy #1 { \cs_if_exist:cF { #1/\f@size } { \group_begin: - \use:x { \exp_not:N \split@name #1 / \f@size } \@nil + \use:e { \exp_not:N \split@name #1 / \f@size } \@nil \@@_push_fontname:n { \use:c { \curr@fontshape / \f@size } } \ctex_ltj_pickup_font: \group_end: @@ -4619,32 +5021,20 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \begin{macrocode} -%<@@=> -% \end{macrocode} -% % \begin{macro}[int]{\ltj@pickup@altfont@copy} % 被用在函数 |pickup_alt_font_a| 中。\tn{ltj@@getjfontnumber} 的作用是将字体命令 % |#1| 对应的 \texttt{font.id} 保存到 \tn{ltj@tempcntc} 中。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ltj@pickup@altfont@copy #1#2 +\cs_new_protected:Npn \ltj@pickup@altfont@copy #1#2 { - \ltj@@getjfontnumber #1 - \lua_now:e - { - luatexja.jfont.pickup_alt_font_b - ( \int_use:N \ltj@tempcntc, '\lua_escape:e {#2}' ) - } + \ltj@@@@getjfontnumber #1 + \@@_pickup_alt_font:Nn \ltj@tempcntc {#2} } % \end{macrocode} % \end{macro} % % \paragraph{数学字体族} % -% \begin{macrocode} -%<@@=ctex_ltj> -% \end{macrocode} -% % 以下内容来自 \file{lltjfont.sty},目的是让汉字可以在数学环境中直接使用。 % % \begin{macro}[int]{\ctex_ltj_if_jfont:nTF} @@ -4657,10 +5047,11 @@ Copyright and Licence % \begin{macrocode} \cs_new:Npn \ctex_ltj_if_jfont:nTF #1 { - \lua_now:e - { luatexja.jfont.is_kenc( string.match('\lua_escape:e {#1}', '[^/]+') ) } + \ctex_ltj_is_kenc:n { \@@_ltj_if_jfont:w #1 / \q_stop } \ifin@ \exp_after:wN \use_i:nn \else: \exp_after:wN \use_ii:nn \fi: } +\cs_new:Npn \@@_ltj_if_jfont:w #1 / #2 \q_stop + {#1} % \end{macrocode} % \end{macro} % @@ -4678,24 +5069,20 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \begin{macrocode} -%<@@=> -% \end{macrocode} -% % \begin{macro}[int]{\getanddefine@fonts,\ctex_ltj_get_and_define_fonts:nN} % 在使用的场合,\tn{escapechar} 已经被设置成 $-1$,使用 \cs{token_to_str:N} 就 % 可以得到名字,不必使用 \cs{cs_to_str:N}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_get_and_define_fonts:nN #1#2 +\cs_new_protected:Npn \ctex_ltj_get_and_define_fonts:nN #1#2 { - \ctex_ltj_if_jfont:nTF { \token_to_str:N #2 } + \exp_args:No \ctex_ltj_if_jfont:nTF { \token_to_str:N #2 } { \ctex_ltj_get_and_define_fonts_ja:nN } { \ctex_ltj_get_and_define_fonts_al:nN } {#1} #2 } \cs_new_eq:NN \ctex_ltj_get_and_define_fonts_al:nN \getanddefine@fonts \cs_set_eq:NN \getanddefine@fonts \ctex_ltj_get_and_define_fonts:nN -\cs_new_protected_nopar:Npn \ctex_ltj_get_and_define_fonts_ja:nN #1#2 +\cs_new_protected:Npn \ctex_ltj_get_and_define_fonts_ja:nN #1#2 { \tl_gset:Nx \font@name { \use:c { \token_to_str:N #2 / \tf@size } } \ctex_ltj_pickup_font: \tl_set_eq:NN \textfont@name \font@name @@ -4706,22 +5093,18 @@ Copyright and Licence \tl_put_right:Nx \math@fonts { \ltj@setpar@global - \ltj@@set@stackfont #1 , \textfont@name \c_colon_str { MJT } - \ltj@@set@stackfont #1 , \scriptfont@name \c_colon_str { MJS } - \ltj@@set@stackfont #1 , \font@name \c_colon_str { MJSS } + \ltj@@@@set@stackfont #1 , \textfont@name \c_colon_str { MJT } + \ltj@@@@set@stackfont #1 , \scriptfont@name \c_colon_str { MJS } + \ltj@@@@set@stackfont #1 , \font@name \c_colon_str { MJSS } } } % \end{macrocode} % \end{macro} % -% \begin{macrocode} -%<@@=ctex_ltj> -% \end{macrocode} -% % \begin{macro}[int]{\use@mathgroup,\ctex_ltj_use_math_group:Nn} % 在使用 \pkg{unicode-math} 宏包时,\cs{ctex_ltj_math_group_hook:} 将被重定义。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_use_math_group:Nn #1#2 +\cs_new_protected:Npn \ctex_ltj_use_math_group:Nn #1#2 { \mode_if_math:T { @@ -4762,7 +5145,7 @@ Copyright and Licence } { \cs_set_eq:NN \use@mathgroup \ctex_ltj_use_math_group:Nn - \cs_set_protected_nopar:Npn \ctex_ltj_math_group_hook: + \cs_set_protected:Npn \ctex_ltj_math_group_hook: { \__um_switchto_literal: } \ctex_ltj_set_math_letter:NN \__um_sym:nnn @@ -4777,7 +5160,7 @@ Copyright and Licence % \begin{variable}{\l_@@_jfm_tl} % \pkg{LuaTeX-ja} 中与标点格式 \opt{plain} 对应的 \texttt{JFM} 是 \opt{mono}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_mono_jfm:n #1 +\cs_new_protected:Npn \ctex_mono_jfm:n #1 { \str_if_eq:nnTF {#1} { plain } { \tl_set:Nn \l_@@_jfm_tl { mono } } @@ -4791,7 +5174,6 @@ Copyright and Licence % \end{macro} % % \begin{macro}[int]{\CJK@encoding} -% \begin{macro}{\@@_change_encoding:} % 在 \LaTeX 下,\pkg{LuaTeX-ja} 依赖字体编码来实现特殊设置。例如上述的 % \cs{ctex_ltj_if_jfont:nTF} 就是通过判断编码来实现的,它在设置数学字体时会用到。所以 % 不应该与西文共用 \texttt{EU2}。定义字体族 song 为 \tn{CJK@encoding} 的默认替换 @@ -4799,29 +5181,26 @@ Copyright and Licence % \begin{macrocode} \tl_const:Nn \CJK@encoding { LTJY3 } \DeclareFontEncoding { \CJK@encoding } { } { } -\use:x +\use:e { \exp_not:N \DeclareFontSubstitution - { \CJK@encoding } { song } { \mddefault } { \updefault } + { \CJK@encoding } { song } { \mddefault } { \shapedefault } } -\lua_now:e { luatexja.jfont.add_kyenc_list('\CJK@encoding') } -\cs_new_protected_nopar:Npn \@@_change_encoding: - { \tl_set_eq:NN \g_fontspec_encoding_tl \CJK@encoding } +\ctex_ltj_add_kyenc:n { \CJK@encoding } \DeclareFontFamily { \CJK@encoding } { song } { } -\DeclareFontShape { \CJK@encoding } { song } { \mddefault } { \updefault } +\DeclareFontShape { \CJK@encoding } { song } { \mddefault } { \shapedefault } { <-> psft:SimSun:cid=Adobe-GB1-5;jfm=\l_@@_jfm_tl } { } -\DeclareFontShape { \CJK@encoding } { song } { \bfdefault } { \updefault } +\DeclareFontShape { \CJK@encoding } { song } { \bfdefault } { \shapedefault } { <-> psft:SimHei:cid=Adobe-GB1-5;jfm=\l_@@_jfm_tl } { } \tl_const:Nn \c_@@_math_tl { CJKmath } \DeclareSymbolFont { \c_@@_math_tl } - { \CJK@encoding } { song } { \mddefault } { \updefault } + { \CJK@encoding } { song } { \mddefault } { \shapedefault } \SetSymbolFont { \c_@@_math_tl } { bold } - { \CJK@encoding } { song } { \bfdefault } { \updefault } + { \CJK@encoding } { song } { \bfdefault } { \shapedefault } \int_const:Nn \c_@@_math_fam_int { \use:c { sym \c_@@_math_tl } } \jfam \c_@@_math_fam_int % \end{macrocode} % \end{macro} -% \end{macro} % % 这是 \pkg{luatexja-fontspec} 中新增的一些字体选项。 % \begin{macrocode} @@ -4847,7 +5226,7 @@ Copyright and Licence { \group_begin: \clist_clear:N \l_@@_char_range_clist - \seq_clear:N \l_@@_alternate_seq + \prop_clear:N \l_@@_alternate_prop \tl_set:Nn \l_@@_base_CJKfamily_tl {#1} \keys_set_known:nnN { ctex_ltj / fontspec } {#2} \l_@@_tmp_tl \clist_set:No \l_@@_font_options_clist { \l_@@_tmp_tl } @@ -4864,10 +5243,17 @@ Copyright and Licence } \tl_new:N \l_@@_base_CJKfamily_tl \clist_new:N \l_@@_font_options_clist -\cs_new_protected_nopar:Npn \@@_use_global_options:N #1 +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\@@_use_global_options:N} +% 应用默认字体选项,并总是设置 \opt{JFM} 和 \opt{NFSSEncoding} 。 +% \begin{macrocode} +\cs_new_protected:Npn \@@_use_global_options:N #1 { \clist_concat:NNN #1 \g_@@_default_features_clist #1 - \clist_put_left:Nx #1 { JFM = \l_@@_jfm_tl } + \clist_put_left:Nx #1 + { NFSSEncoding = \CJK@encoding , JFM = \l_@@_jfm_tl } } % \end{macrocode} % \end{macro} @@ -4885,7 +5271,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 { @@ -4911,28 +5297,24 @@ Copyright and Licence % 在设置字体时,实际上并不是马上就定义。而是只保存相关参数,在通过 \tn{CJKfamily} % 第一次使用时才定义。需要注意将编码改为 \tn{CJK@encoding}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_gset_family_cs:nn #1#2 +\cs_new_protected:Npn \@@_gset_family_cs:nn #1#2 { - \cs_gset_protected_nopar:cpx { \@@_family_csname:n {#1} } + \cs_gset_protected:cpx { \@@_family_csname:n {#1} } { \group_begin: - \@@_change_encoding: \exp_not:n { \cs_set_eq:NN \CJKfamily \use_none:n } - \exp_not:n { \cs_set_eq:NN \CTEX@fontfamily \use_none:n } - \exp_not:n { \fontspec_set_family:Nnn \g_@@_fontspec_family_tl } + \exp_not:n { \fontspec_gset_family:Nnn \g_@@_fontspec_family_tl } { \exp_not:o { \l_@@_font_options_clist } } {#2} \prop_gput:Nno \exp_not:N \g_@@_family_name_prop {#1} { \exp_not:N \g_@@_fontspec_family_tl } - \tl_gset_eq:NN \exp_not:N \g_@@_fontspec_family_tl - \exp_not:N \g_@@_fontspec_family_tl \@@_set_alternate_family:n {#1} \group_end: } } \tl_new:N \l_@@_base_family_tl \tl_new:N \g_@@_fontspec_family_tl -\cs_new_nopar:Npn \@@_family_csname:n #1 { ctex_ltj/family/#1 } -\cs_new_protected_nopar:Npn \@@_set_alternate_family:n #1 +\cs_new:Npn \@@_family_csname:n #1 { ctex_ltj/family/#1 } +\cs_new_protected:Npn \@@_set_alternate_family:n #1 { \tl_set:Nn \l_@@_base_CJKfamily_tl {#1} \tl_set_eq:NN \l_@@_base_family_tl \g_@@_fontspec_family_tl @@ -4948,7 +5330,7 @@ Copyright and Licence % \begin{macrocode} \NewDocumentCommand \CJKfamily { m } { \ctex_ltj_switch_family:x {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_ltj_switch_family:n #1 +\cs_new_protected:Npn \ctex_ltj_switch_family:n #1 { \ctex_ltj_family_if_exist:nNTF {#1} \CJK@family { @@ -4984,7 +5366,7 @@ Copyright and Licence % % \begin{macro}{\@@_family_unknown_warning:n} % \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 { @@ -5001,7 +5383,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} { @@ -5012,7 +5394,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} { @@ -5027,21 +5409,21 @@ Copyright and Licence % % \begin{macro}[int]{\ctex_ltj_fontspec:nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_fontspec:nn #1#2 +\cs_new_protected:Npn \ctex_ltj_fontspec:nn #1#2 { \prop_get:NnNTF \g_@@_fontspec_prop { CJKfontspec/#1/#2/id } \l_ctex_ltj_family_tl { \ctex_ltj_switch_family:x { \l_ctex_ltj_family_tl } } { \int_gincr:N \g_@@_family_int - \@@_fontspec:xnn + \@@_fontspec:enn { CJKfontspec ( \int_use:N \g_@@_family_int ) } {#1} {#2} } } -\cs_new_protected_nopar:Npn \ctex_ltj_fontspec:xx #1#2 - { \use:x { \ctex_ltj_fontspec:nn {#1} {#2} } } -\cs_new_protected_nopar:Npn \@@_fontspec:nnn #1#2#3 +\cs_new_protected:Npn \ctex_ltj_fontspec:ee #1#2 + { \use:e { \ctex_ltj_fontspec:nn {#1} {#2} } } +\cs_new_protected:Npn \@@_fontspec:nnn #1#2#3 { \bool_if:NT \l_@@_add_alternate_bool { @@ -5061,7 +5443,7 @@ Copyright and Licence \ctex_ltj_set_family:nnn {#1} {#2} {#3} \ctex_ltj_switch_family:n {#1} } -\cs_generate_variant:Nn \@@_fontspec:nnn { x } +\cs_generate_variant:Nn \@@_fontspec:nnn { e } \prop_new:N \g_@@_fontspec_prop % \end{macrocode} % \end{macro} @@ -5069,9 +5451,9 @@ Copyright and Licence % \begin{macro}[int] % {\ctex_ltj_add_font_features:n,\ctex_ltj_add_font_features:nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_add_font_features:n #1 +\cs_new_protected:Npn \ctex_ltj_add_font_features:n #1 { \ctex_ltj_add_font_features:xn { \l_ctex_ltj_family_tl } {#1} } -\cs_new_protected_nopar:Npn \ctex_ltj_add_font_features:nn #1#2 +\cs_new_protected:Npn \ctex_ltj_add_font_features:nn #1#2 { \prop_get:NnNTF \g_@@_family_font_name_prop {#1} \l_@@_tmp_tl @@ -5080,7 +5462,7 @@ Copyright and Licence {#1} \l_@@_font_options_clist \clist_put_right:Nn \l_@@_font_options_clist {#2} \bool_set_true:N \l_@@_add_alternate_bool - \ctex_ltj_fontspec:xx + \ctex_ltj_fontspec:ee { \exp_not:o { \l_@@_font_options_clist } } { \exp_not:o { \l_@@_tmp_tl } } } @@ -5102,16 +5484,16 @@ Copyright and Licence % \begin{macrocode} \cs_new_protected:Npn \@@_pass_args:nnnn #1#2#3#4 { - \IfNoValueTF {#2} + \tl_if_novalue:nTF {#2} { \@@_post_arg:w {#1} {#3} {#4} } { - \use:x { #1 {#2} {#3} } + \use:e { #1 {#2} {#3} } #4 } } \NewDocumentCommand \@@_post_arg:w { m m m O { } } { - \use:x { #1 {#4} {#2} } + \use:e { #1 {#4} {#2} } #3 } % \end{macrocode} @@ -5131,8 +5513,8 @@ Copyright and Licence \NewDocumentCommand \newCJKfontfamily { o m o m } { \tl_set:Nx \l_@@_tmp_tl - { \IfNoValueTF {#1} { \cs_to_str:N #2 } {#1} } - \cs_new_protected_nopar:Npx #2 + { \tl_if_novalue:nTF {#1} { \cs_to_str:N #2 } {#1} } + \cs_new_protected:Npx #2 { \ctex_ltj_switch_family:n { \l_@@_tmp_tl } } \@@_pass_args:nnnn { \ctex_ltj_set_family:nnn { \l_@@_tmp_tl } } {#3} {#4} @@ -5202,36 +5584,15 @@ Copyright and Licence \tl_if_exist:NF \CJKttdefault { \tl_const:Nn \CJKttdefault { tt } } % \end{macrocode} % -% \begin{macro}[int]{\fontfamily} -% \begin{macro}[int]{\CTEX@fontfamily} % \changes{v2.4.8}{2017/02/23} % {解决与 \pkg{fontspec} 2017/01/24 v2.5d 的字体族匹配兼容问题。} -% 修改 \tn{fontfamily},使主要 |CJK| 字体族能随西文主要字体更新。 +% 使用 \LaTeXe \ 提供的钩子,使主要 |CJK| 字体族能随西文主要字体更新。 % \begin{macrocode} -\RenewDocumentCommand \fontfamily { m } - { - \tl_set:Nx \f@family {#1} - \CTEX@fontfamily {#1} - } -\cs_new_protected_nopar:Npn \CTEX@fontfamily #1 - { - \str_if_eq:nnTF {#1} { \familydefault } - { \CJKfamily { \CJKfamilydefault } } - { \@@_update_family_aux: } - } -\cs_new_protected_nopar:Npn \@@_update_family_aux: - { - \str_case_e:nn { \f@family } - { - { \rmdefault } { \CJKfamily { \CJKrmdefault } } - { \sfdefault } { \CJKfamily { \CJKsfdefault } } - { \ttdefault } { \CJKfamily { \CJKttdefault } } - { \familydefault } { \CJKfamily { \CJKfamilydefault } } - } - } +\g@addto@macro \@rmfamilyhook { \CJKfamily { \CJKrmdefault } } +\g@addto@macro \@sffamilyhook { \CJKfamily { \CJKsfdefault } } +\g@addto@macro \@ttfamilyhook { \CJKfamily { \CJKttdefault } } +\g@addto@macro \@defaultfamilyhook { \CJKfamily { \CJKfamilydefault } } % \end{macrocode} -% \end{macro} -% \end{macro} % % 在导言区末尾更新 \tn{CJKfamilydefault}。 % \begin{macrocode} @@ -5241,7 +5602,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_ltj_ensure_default_family:} % 在导言区结束确认 \tn{CJKfamilydefault} 确实存在。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_ensure_default_family: +\cs_new_protected:Npn \ctex_ltj_ensure_default_family: { \prop_if_empty:NF \g_@@_family_font_name_prop { @@ -5272,7 +5633,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_ltj_update_mathfont:} % 更新数学字体为实际的字体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_update_mathfont: +\cs_new_protected:Npn \ctex_ltj_update_mathfont: { \ctex_ltj_family_if_exist:xNTF { \c_@@_math_tl } \l_@@_tmp_tl { \ctex_ltj_update_mathfont:n { \l_@@_tmp_tl } } @@ -5281,20 +5642,20 @@ Copyright and Licence { \ctex_ltj_update_mathfont:n { \l_@@_tmp_tl } } } } -\cs_new_protected_nopar:Npn \ctex_ltj_update_mathfont:n #1 +\cs_new_protected:Npn \ctex_ltj_update_mathfont:n #1 { \tl_const:Nx \c_@@_math_family_tl {#1} \DeclareSymbolFont { \c_@@_math_tl } { \CJK@encoding } - { \c_@@_math_family_tl } { \mddefault } { \updefault } + { \c_@@_math_family_tl } { \mddefault } { \shapedefault } \cs_if_free:cTF - { \CJK@encoding/\c_@@_math_family_tl/\bfdefault/\updefault } + { \CJK@encoding/\c_@@_math_family_tl/\bfdefault/\shapedefault } { \SetSymbolFont { \c_@@_math_tl } { bold } { \CJK@encoding } - { \c_@@_math_family_tl } { \mddefault } { \updefault } + { \c_@@_math_family_tl } { \mddefault } { \shapedefault } } { \SetSymbolFont { \c_@@_math_tl } { bold } { \CJK@encoding } - { \c_@@_math_family_tl } { \bfdefault } { \updefault } + { \c_@@_math_family_tl } { \bfdefault } { \shapedefault } } } % \end{macrocode} @@ -5302,12 +5663,14 @@ Copyright and Licence % % \paragraph{替代字体的设置} % +% \changes{v2.5}{2020/04/30}{重构字体选项 \opt{AlternateFont}。} +% % \begin{macro}{AlternateFont,CharRange} % 设置替代字体的选项。 % \begin{macrocode} \keys_define:nn { ctex_ltj / fontspec } { - AlternateFont .code:n = \ctex_ltj_set_alternate_seq:n {#1} , + AlternateFont .code:n = \ctex_ltj_set_alternate_prop:n {#1} , AlternateFont .value_required:n = true , CharRange .clist_set:N = \l_@@_char_range_clist , CharRange .value_required:n = true @@ -5315,84 +5678,84 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \begin{macro}[int]{\ctex_ltj_set_alternate_seq:n} -% 我们使用 \verb=||= 作为替代字体序列的分隔标志。它可能被设置为活动字符,为此 -% 需要先“消毒”,同时过滤掉空元素。 +% \begin{macro}[int]{\ctex_ltj_set_alternate_prop:n} +% 保存替代字体序列。 % \begin{macrocode} -\group_begin: - \char_set_catcode_other:N \| - \cs_set:Npn \@@_tmp:w #1 - { - \cs_new_protected:Npn \ctex_ltj_set_alternate_seq:n ##1 - { - \clist_if_empty:NT \l_@@_char_range_clist - { - \tl_set:Nn \l_@@_tmp_tl { ##1 } - \tl_replace_all:Nnn \l_@@_tmp_tl {#1} { || } - \seq_set_split:NnV \l_@@_tmp_seq { || } \l_@@_tmp_tl - \seq_set_filter:NNn \l_@@_tmp_seq \l_@@_tmp_seq - { ! \tl_if_blank_p:n { ####1 } } - \seq_concat:NNN \l_@@_alternate_seq - \l_@@_alternate_seq \l_@@_tmp_seq - } - } - } - \char_set_catcode_active:N \| - \@@_tmp:w { || } -\group_end: -\seq_new:N \l_@@_tmp_seq -\seq_new:N \l_@@_alternate_seq +\cs_new_protected:Npn \ctex_ltj_set_alternate_prop:n #1 + { \clist_map_function:nN {#1} \@@_push_alternate_prop:n } +\cs_new_protected:Npn \@@_push_alternate_prop:n #1 + { + \clist_set:Nx \l_@@_tmp_clist { \tl_head:n {#1} } + \tl_remove_all:Nn \l_@@_tmp_clist { ~ } + \exp_args:No \@@_push_alternate_prop:nn + { \l_@@_tmp_clist } {#1} + } +\cs_new_protected:Npn \@@_push_alternate_prop:nn #1 + { + \prop_remove:Nn \l_@@_alternate_prop {#1} + \prop_put:Nnn \l_@@_alternate_prop {#1} + } +\clist_new:N \l_@@_tmp_clist +\prop_new:N \l_@@_alternate_prop % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\ctex_ltj_set_alternate_family:nnF} % 如果在字体的选项中设置了 \opt{CharRange},则只设置替代字体。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:nnF #1#2#3 +\cs_new_protected:Npn \ctex_ltj_set_alternate_family:nnF { \clist_if_empty:NTF \l_@@_char_range_clist - { - \@@_check_family:n {#1} - \seq_if_empty:NF \l_@@_alternate_seq - { \ctex_ltj_save_alternate_seq:cn { \@@_alternate_cs:n {#1} } {#2} } - #3 - } - { \ctex_ltj_set_alternate_family:nn {#1} {#2} } + { \@@_set_family_aux:nnn } + { \@@_set_alternate_family_aux:nnn } + } +\cs_new_protected:Npn \@@_set_family_aux:nnn #1#2#3 + { + \@@_check_family:n {#1} + \prop_if_empty:NF \l_@@_alternate_prop + { \ctex_ltj_save_alternate_seq:cn { \@@_alternate_cs:n {#1} } {#2} } + #3 } +\cs_new_protected:Npn \@@_set_alternate_family_aux:nnn #1#2#3 + { \ctex_ltj_set_alternate_family:nn {#1} {#2} } % \end{macrocode} % \end{macro} % -% \begin{macro}[int] -% {\ctex_ltj_save_alternate_seq:Nn,\ctex_ltj_save_alternate_seq:Nnnwn} +% \begin{macro}[int]{\ctex_ltj_save_alternate_seq:Nn} % 保存由 \opt{AlternateFont} 设置的替代字体序列。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_save_alternate_seq:Nn #1#2 +\cs_new_protected:Npn \ctex_ltj_save_alternate_seq:Nn #1#2 { - \seq_map_inline:Nn \l_@@_alternate_seq - { \ctex_ltj_save_alternate_seq:Nnnwnw #1 {#2} ##1 { } \q_stop } + \prop_map_inline:Nn \l_@@_alternate_prop + { \@@_save_alternate_auxi:w ##2 { } \q_mark #1 {#2} } } -\cs_generate_variant:Nn \ctex_ltj_save_alternate_seq:Nn { c } -\NewDocumentCommand \ctex_ltj_save_alternate_seq:Nnnwnw - { m m m +O{ } m u{ \q_stop } } +\cs_new_protected:Npn \@@_save_alternate_auxi:w #1#2# + { + \tl_if_blank:nTF {#2} + { \@@_save_alternate_auxii:w {#1} } + { \@@_save_alternate_auxii:w {#1} {#2} } + } +\cs_new_protected:Npn \@@_save_alternate_auxii:w #1#2#3 #4 \q_mark #5#6 { - \clist_set:Nn \l_@@_char_range_clist {#3} - \clist_set:Nn \l_@@_alternate_options_clist {#4} + \clist_set:Nn \l_@@_char_range_clist {#1} + \clist_set:Nn \l_@@_alternate_options_clist {#3} \@@_use_global_options:N \l_@@_alternate_options_clist - \tl_if_blank:nTF {#5} - { \tl_set:Nn \l_@@_tmp_tl {#2} } + \tl_if_blank:nTF {#2} + { \tl_set:Nn \l_@@_tmp_tl {#6} } { - \tl_set:Nn \l_@@_tmp_tl {#5} - \tl_replace_all:Nnn \l_@@_tmp_tl { * } {#2} + \tl_set:Nx \l_@@_tmp_tl { \tl_trim_spaces:n {#2} } + \tl_replace_all:Nnn \l_@@_tmp_tl { * } {#6} } - \use:x + \use:e { - \ctex_ltj_save_alternate_family:Nnnn \exp_not:N #1 + \ctex_ltj_save_alternate_family:Nnnn \exp_not:N #5 { \exp_not:o { \l_@@_char_range_clist } } { \exp_not:o { \l_@@_alternate_options_clist } } { \exp_not:o { \l_@@_tmp_tl } } } } \clist_new:N \l_@@_alternate_options_clist +\cs_generate_variant:Nn \ctex_ltj_save_alternate_seq:Nn { c } % \end{macrocode} % \end{macro} % @@ -5400,7 +5763,7 @@ Copyright and Licence % 设置选项 \opt{CharRange} 范围内的替代字体。如果已经定义了主字体,我们也马上 % 定义替代字体,否则只保存起来备用。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:nn #1#2 +\cs_new_protected:Npn \ctex_ltj_set_alternate_family:nn #1#2 { \@@_update_family_uid:N \l_@@_font_options_clist \@@_use_global_options:N \l_@@_font_options_clist @@ -5409,7 +5772,7 @@ Copyright and Licence { \l_@@_char_range_clist } { \l_@@_font_options_clist } {#2} {#1} } -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:Nnnnn #1#2#3#4#5 +\cs_new_protected:Npn \ctex_ltj_set_alternate_family:Nnnnn #1#2#3#4#5 { \prop_get:NnNT \g_@@_family_name_prop {#5} \l_@@_base_family_tl { \ctex_ltj_set_alternate_family:nnn {#2} {#3} {#4} } @@ -5422,10 +5785,10 @@ Copyright and Licence % \begin{macro}[int]{\ctex_ltj_save_alternate_family:Nnnn} % 保存替代字体序列的定义,以备定义主字体时使用。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_save_alternate_family:Nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_ltj_save_alternate_family:Nnnn #1#2#3#4 { \cs_if_exist:NF #1 { \cs_set_eq:NN #1 \prg_do_nothing: } - \cs_gset_protected_nopar:Npx #1 + \cs_gset_protected:Npx #1 { \exp_not:o { #1 \ctex_ltj_set_alternate_family:nnn {#2} {#3} {#4} } } } % \end{macrocode} @@ -5434,10 +5797,9 @@ Copyright and Licence % \begin{macro}[int]{\ctex_ltj_set_alternate_family:nnn} % 实际定义替代字体族。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:nnn #1#2#3 +\cs_new_protected:Npn \ctex_ltj_set_alternate_family:nnn #1#2#3 { \group_begin: - \@@_change_encoding: \cs_set_eq:NN \CJKfamily \use_none:n \ctex_ltj_swap_cs:NN \DeclareFontShape@ \ctex_ltj_declare_alternate_shape:nnnnnn @@ -5469,7 +5831,7 @@ Copyright and Licence % \pkg{fontspec} 对 CJK 字体族总是定义新字体。 % \begin{macrocode} \keys_define:nn { fontspec } { LTJFONTUID .code:n = } -\cs_new_protected_nopar:Npn \@@_update_family_uid:N #1 +\cs_new_protected:Npn \@@_update_family_uid:N #1 { \int_gincr:N \g_@@_family_int \clist_put_right:Nx #1 { LTJFONTUID = \int_use:N \g_@@_family_int } @@ -5488,8 +5850,7 @@ Copyright and Licence { \ctex_ltj_declare_alternate_shape:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6} \ctex_ltj_set_alternate_shape:Nnnnnnn \l_@@_char_range_clist - { \l_@@_base_family_tl } {#3} {#4} - { \l_fontspec_family_tl } {#3} {#4} + { \l_@@_base_family_tl } {#3} {#4} {#2} {#3} {#4} } % \end{macrocode} % \end{macro} @@ -5498,7 +5859,7 @@ Copyright and Licence % 与 \pkg{LuaTeX-ja} 的 \tn{DeclareAlternateKanjiFont} 的功能类似,区别是固定编码 % 为 \tn{CJK@encoding}。这个设置总是全局的。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:Nnnnnnn #1#2#3#4#5#6#7 +\cs_new_protected:Npn \ctex_ltj_set_alternate_shape:Nnnnnnn #1#2#3#4#5#6#7 { \clist_map_inline:Nn #1 { @@ -5509,10 +5870,9 @@ Copyright and Licence } { \ctex_ltj_set_alternate_shape:nnn { #2/#3/#4 } { #5/#6/#7 } { ##1 } } } - \@@_save_alternate_shape:cnn + \@@_save_alternate_shape:cn { \@@_alternate_cs:n { clear / \l_@@_base_CJKfamily_tl } } - { luatexja.jfont.clear_alt_font_latex } - { '\lua_escape:e { \CJK@encoding/#2/#3/#4 }' } + { \ctex_ltj_clear_alt_font:n { \CJK@encoding/#2/#3/#4 } } } % \end{macrocode} % \end{macro} @@ -5526,85 +5886,80 @@ Copyright and Licence \NewDocumentCommand \ctex_ltj_set_alternate_shape:nnn { m m > { \SplitArgument { 1 } { -> } } m } { \ctex_ltj_set_alternate_shape:nnnn {#1} {#2} #3 } -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_ltj_set_alternate_shape:nnnn #1#2#3#4 { - \ctex_ltj_set_alternate_shape:n + \ctex_ltj_set_alternate_shape:e { - \IfNoValueTF {#4} - { \int_eval:n {#3} , \int_eval:n {#3} , } - { - \int_eval:n { \tl_if_blank:nTF {#3} { "80 } {#3} } , - \int_eval:n { \tl_if_blank:nTF {#4} { "10FFFF } {#4} } , - } - '\lua_escape:e { \CJK@encoding/#2 }' , - '\lua_escape:e { \CJK@encoding/#1 }' + \@@_range_normalization:nn {#3} {#4} + { \CJK@encoding / \exp_not:n {#2} } + { \CJK@encoding / \exp_not:n {#1} } } } -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:n #1 +\cs_new_protected:Npn \ctex_ltj_set_alternate_shape:n #1 { - \lua_now:e { luatexja.jfont.set_alt_font_latex ( #1 ) } - \@@_save_alternate_shape:cnn + \ctex_ltj_set_alt_font:nnnn #1 + \@@_save_alternate_shape:cn { \@@_alternate_cs:n { reset / \l_@@_base_CJKfamily_tl } } - { luatexja.jfont.set_alt_font_latex } {#1} + { \ctex_ltj_set_alt_font:nnnn #1 } } +\cs_generate_variant:Nn \ctex_ltj_set_alternate_shape:n { e } % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\ctex_ltj_set_alternate_shape:nnN} % 若字符范围预先由 \texttt{declarecharrange} 声明,则可以直接使用。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:nnN #1#2#3 +\cs_new_protected:Npn \ctex_ltj_set_alternate_shape:nnN #1#2#3 { \tl_map_inline:Nn #3 { \ctex_ltj_set_alternate_shape:n { - ##1 , - '\lua_escape:e { \CJK@encoding/#2 }' , - '\lua_escape:e { \CJK@encoding/#1 }' + ##1 + { \CJK@encoding/#2 } + { \CJK@encoding/#1 } } } } % \end{macrocode} % \end{macro} % -% \begin{macro}{\@@_save_alternate_shape:Nnn} +% \begin{macro}{\@@_save_alternate_shape:Nn} % 将实际设置的替换字形保存起来用于清除或恢复。 % 暂时令 \cs{l_@@_base_family_tl} 为 \cs{scan_stop:} 是让它不被展开,使得替换 % 字体的设置可以在 \tn{addCJKfontfeature} 中直接使用。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_save_alternate_shape:Nnn #1#2#3 +\cs_new_protected:Npn \@@_save_alternate_shape:Nn #1#2 { \group_begin: - \cs_if_exist:NF #1 { \cs_set_eq:NN #1 \prg_do_nothing: } - \cs_set_eq:NN \l_@@_base_family_tl \scan_stop: - \cs_set_eq:NN \lua_escape:e \scan_stop: - \cs_gset_protected_nopar:Npx #1 - { \exp_not:o {#1} \exp_not:N \lua_now:e { #2 ( #3 ) } } + \cs_if_exist:NF #1 { \cs_set_eq:NN #1 \prg_do_nothing: } + \cs_set_eq:NN \l_@@_base_family_tl \scan_stop: + \cs_gset_protected:Npx #1 { \exp_not:o {#1} #2 } \group_end: } -\cs_generate_variant:Nn \@@_save_alternate_shape:Nnn { c } +\cs_generate_variant:Nn \@@_save_alternate_shape:Nn { c } % \end{macrocode} % \end{macro} % % \begin{macro}{clearalternatefont,resetalternatefont} % 清除和重置操作总是全局的。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { clearalternatefont .code:n = - { \clist_map_function:xN {#1} \ctex_ltj_clear_alternate_font:n } , + { \clist_map_function:eN {#1} \ctex_ltj_clear_alternate_font:n } , resetalternatefont .code:n = - { \clist_map_function:xN {#1} \ctex_ltj_reset_alternate_font:n } , + { \clist_map_function:eN {#1} \ctex_ltj_reset_alternate_font:n } , clearalternatefont .default:n = \l_ctex_ltj_family_tl , resetalternatefont .default:n = \l_ctex_ltj_family_tl } -\cs_new_protected_nopar:Npn \ctex_ltj_clear_alternate_font:n #1 +\cs_new_protected:Npn \ctex_ltj_clear_alternate_font:n #1 { \group_begin: \ctex_ltj_family_if_exist:xNTF {#1} \l_@@_base_family_tl { - \cs_if_exist_use:cT { \@@_alternate_cs:n { clear / #1 } } + \cs_if_exist_use:cT + { \@@_alternate_cs:n { clear / #1 } } { \prop_gput:Nno \g_@@_reset_alternate_prop {#1} { \l_@@_base_family_tl } @@ -5615,7 +5970,7 @@ Copyright and Licence { \@@_family_unknown_warning:n {#1} } \group_end: } -\cs_new_protected_nopar:Npn \ctex_ltj_reset_alternate_font:n #1 +\cs_new_protected:Npn \ctex_ltj_reset_alternate_font:n #1 { \group_begin: \prop_gpop:NnNT \g_@@_reset_alternate_prop {#1} \CJK@family @@ -5627,23 +5982,23 @@ Copyright and Licence \group_end: } \prop_new:N \g_@@_reset_alternate_prop -\cs_generate_variant:Nn \clist_map_function:nN { x } +\cs_generate_variant:Nn \clist_map_function:nN { e } % \end{macrocode} % \end{macro} % % \begin{macro}{declarecharrange} % 预先声明字符范围。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { - declarecharrange .code:n = \ctex_ltj_declare_char_range:x {#1} , + declarecharrange .code:n = \ctex_ltj_declare_char_range:e {#1} , declarecharrange .value_required:n = true } -\cs_new_protected_nopar:Npn \ctex_ltj_declare_char_range:n #1 +\cs_new_protected:Npn \ctex_ltj_declare_char_range:n #1 { \clist_map_inline:nn {#1} { \@@_declare_char_range:nn ##1 } } -\cs_generate_variant:Nn \ctex_ltj_declare_char_range:n { x } -\cs_new_protected_nopar:Npn \@@_declare_char_range:nn #1#2 - { \use:x { \ctex_ltj_declare_char_range:nn { \tl_trim_spaces:n {#1} } } {#2} } +\cs_generate_variant:Nn \ctex_ltj_declare_char_range:n { e } +\cs_new_protected:Npn \@@_declare_char_range:nn #1 + { \exp_args:Ne \ctex_ltj_declare_char_range:nn { \tl_trim_spaces:n {#1} } } % \end{macrocode} % \end{macro} % @@ -5651,7 +6006,7 @@ Copyright and Licence % \begin{variable}{\g_@@_char_range_prop} % |#1| 是名字,|#2| 是范围。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_declare_char_range:nn #1#2 +\cs_new_protected:Npn \ctex_ltj_declare_char_range:nn #1#2 { \tl_clear:N \l_@@_char_range_tl \clist_map_function:nN {#2} \ctex_ltj_save_char_range:n @@ -5671,25 +6026,32 @@ Copyright and Licence \NewDocumentCommand \ctex_ltj_save_char_range:n { > { \SplitArgument { 1 } { -> } } m } { \ctex_ltj_save_char_range:nn #1 } -\cs_new_protected_nopar:Npn \ctex_ltj_save_char_range:nn #1#2 +\cs_new_protected:Npn \ctex_ltj_save_char_range:nn #1#2 { \tl_put_right:Nx \l_@@_char_range_tl - { { - \IfNoValueTF {#2} - { \int_eval:n {#1} , \int_eval:n {#1} } - { - \int_eval:n { \tl_if_blank:nTF {#1} { "80 } {#1} } , - \int_eval:n { \tl_if_blank:nTF {#2} { "10FFFF } {#2} } - } - } } + { { \@@_range_normalization:nn {#1} {#2} } } + } +\cs_new:Npn \@@_range_normalization:nn #1#2 + { + \tl_if_novalue:nTF {#2} + { + { \int_eval:n {#1} } + { \int_eval:n {#1} } + } + { + { \int_eval:n { \tl_if_blank:nTF {#1} { \c_@@_range_min_int } {#1} } } + { \int_eval:n { \tl_if_blank:nTF {#2} { \c_@@_range_max_int } {#2} } } + } } +\int_const:Nn \c_@@_range_min_int { "80 } +\int_const:Nn \c_@@_range_max_int { \c_max_char_int } % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\ctex_ltj_def_char_range_key:n} % 在字体设置选项中定义字符范围键。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_def_char_range_key:n #1 +\cs_new_protected:Npn \ctex_ltj_def_char_range_key:n #1 { \keys_if_exist:nnF { ctex_ltj / fontspec } {#1} { @@ -5706,42 +6068,13 @@ Copyright and Licence \cs_new_protected:Npn \ctex_ltj_char_range_key:nn #1#2 { \tl_if_blank:nTF {#2} - { \tl_set:Nn \l_@@_char_range_clist {#1} } - { - \clist_if_empty:NT \l_@@_char_range_clist - { - \tl_set:Nn \l_@@_tmp_tl { {#1} } - \@@_char_range_parse_feature:w #2 \q_stop - } - } + { \clist_set:Nn \l_@@_char_range_clist {#1} } + { \@@_push_alternate_prop:nn {#1} { {#1} #2 } } } % \end{macrocode} % \end{macro} % -% \begin{macro}{\@@_char_range_parse_feature:w} -% 可以使用加方括号的方式,通过文件名来调用字体。这容易与字体选项混淆。例如,需要 -% 将 |[simsun.ttc]| 设置为 \opt{range} 的主字体,就需要使用 -% |range={{[simsun.ttc]}}| 或者 |[]{[simsun.ttc]}|。下面的目的是,支持直接使用 -% |[simsun.ttc]| 和 |[...][simsun.ttc]|。 -% \begin{macrocode} -\NewDocumentCommand \@@_char_range_parse_feature:w - { +o o u { \q_stop } } - { - \exp_args:NNf \tl_put_right:Nn \l_@@_tmp_tl - { - \IfNoValueTF {#1} { {#3} } - { - \IfNoValueTF {#2} - { \tl_if_blank:nTF {#3} { { [#1] } } { [ {#1} ] {#3} } } - { [ {#1} ] { [#2] } } - } - } - \seq_put_right:No \l_@@_alternate_seq { \l_@@_tmp_tl } - } -% \end{macrocode} -% \end{macro} -% -% \paragraph{其它设置} +% \paragraph{其他设置} % % 在抄录环境中禁用 \opt{autospacing} 和 \opt{autoxspacing}。然而,\pkg{LuaTeX-ja} % 还是会使 JAchar 自动折行。没有看到有简单的禁用折行的办法,可能需要设置所有的 @@ -5768,16 +6101,14 @@ Copyright and Licence { } { \ctex_patch_failure:N \verbatim@font } } -\cs_new_protected_nopar:Npn \CTEX@verbatim@font@hook +\cs_new_protected:Npn \CTEX@verbatim@font@hook { \ltjsetparameter { autospacing = false , autoxspacing = false } } % \end{macrocode} % -% \begin{macro}{\@@italiccorr} +% \begin{macro}{\@@@@italiccorr} % \LaTeX{} 的倾斜校正也要重新定义。 % \begin{macrocode} -%<@@=> -\cs_set_eq:NN \@@italiccorr \/ -%<@@=ctex> +\cs_set_eq:NN \@@@@italiccorr \/ % \end{macrocode} % \end{macro} % @@ -5787,14 +6118,15 @@ Copyright and Licence % \tn{ltjsetkanjiskip} 和 \tn{ltjsetxkanjiskip} 是相应的 \tn{ltjsetparameter} % 的快捷方式,在使用他们时,要注意先使用 \tn{ltj@setpar@global}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_ltj_set_kanjiskip:N +\cs_new_protected:Npn \ctex_ltj_set_kanjiskip:N { \ltj@setpar@global \ltjsetkanjiskip } -\cs_new_protected_nopar:Npn \ctex_ltj_set_xkanjiskip:N +\cs_new_protected:Npn \ctex_ltj_set_xkanjiskip:N { \ltj@setpar@global \ltjsetxkanjiskip } % \end{macrocode} % \end{macro} % % \begin{macrocode} +%<@@=ctex> % % \end{macrocode} % @@ -5809,37 +6141,17 @@ Copyright and Licence % % 按 \pkg{CJK} 的命名习惯模拟部分命令,并设置默认字体。 % \begin{macrocode} -\tl_set:Nn \CJKrmdefault { zhrm } -\tl_set:Nn \CJKsfdefault { zhsf } -\tl_set:Nn \CJKttdefault { zhtt } -\tl_set:Nn \CJKfamilydefault { \CJKrmdefault } +\tl_if_exist:NF \CJKfamilydefault + { \tl_const:Nn \CJKfamilydefault { \CJKrmdefault } } +\tl_if_exist:NF \CJKrmdefault { \tl_const:Nn \CJKrmdefault { zhrm } } +\tl_if_exist:NF \CJKsfdefault { \tl_const:Nn \CJKsfdefault { zhsf } } +\tl_if_exist:NF \CJKttdefault { \tl_const:Nn \CJKttdefault { zhtt } } \tl_set:Nn \kanjifamilydefault { \CJKfamilydefault } -\RenewDocumentCommand \rmfamily { } - { - \not@math@alphabet \rmfamily \mathrm - \romanfamily \rmdefault - \kanjifamily \CJKrmdefault - \selectfont - } -\RenewDocumentCommand \sffamily { } - { - \not@math@alphabet \sffamily \mathsf - \romanfamily \sfdefault - \kanjifamily \CJKsfdefault - \selectfont - } -\RenewDocumentCommand \ttfamily { } - { - \not@math@alphabet \ttfamily \mathtt - \romanfamily \ttdefault - \kanjifamily \CJKttdefault - \selectfont - } +\g@addto@macro \@rmfamilyhook { \kanjifamily { \CJKrmdefault } } +\g@addto@macro \@sffamilyhook { \kanjifamily { \CJKsfdefault } } +\g@addto@macro \@ttfamilyhook { \kanjifamily { \CJKttdefault } } \NewDocumentCommand \CJKfamily { m } - { - \kanjifamily {#1} - \selectfont - } + { \kanjifamily {#1} \selectfont } % \end{macrocode} % % \changes{v2.4.15}{2019/04/05}{将 \upLaTeX 的默认字体由 \texttt{mc} 改为 @@ -5847,9 +6159,9 @@ Copyright and Licence % % 将 \upLaTeX 的默认字体由 |mc| 改为 |zhrm|,并启用 \tn{jfam}。 % \begin{macrocode} -\DeclareErrorKanjiFont{JY2}{zhrm}{m}{n}{10} -\DeclareKanjiSubstitution{JY2}{zhrm}{m}{n} -\DeclareKanjiSubstitution{JT2}{zhrm}{m}{n} +\DeclareErrorKanjiFont {JY2}{zhrm}{m}{n}{10} +\DeclareKanjiSubstitution {JY2}{zhrm}{m}{n} +\DeclareKanjiSubstitution {JT2}{zhrm}{m}{n} \DeclareSymbolFont{mincho}{JY2}{zhrm}{m}{n} \SetSymbolFont{mincho}{bold}{JY2}{zhrm}{bx}{n} \jfam \symmincho @@ -5892,19 +6204,20 @@ Copyright and Licence % 形如 |upzhserif|,不包括表示方向的后缀 |-h| 与 |-v|。粗体字体名为空时不设置该 % 字形。本命令不设置字体映射,需要复用已有的字体映射或另行设置。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_set_upfamily:nnn #1 #2 #3 +\cs_new_protected:Npn \ctex_set_upfamily:nnn #1#2#3 { \DeclareKanjiFamily{JY2}{#1}{} \DeclareKanjiFamily{JT2}{#1}{} \DeclareFontShape{JY2}{#1}{m}{n}{<->~ #2-h}{} \DeclareFontShape{JT2}{#1}{m}{n}{<->~ #2-v}{} - \tl_if_empty:nF { #3 } + \tl_if_empty:nF {#3} { + \DeclareFontShape{JY2}{#1}{b}{n}{<->~ #3-h}{} + \DeclareFontShape{JT2}{#1}{b}{n}{<->~ #3-v}{} \DeclareFontShape{JY2}{#1}{bx}{n}{<->~ #3-h}{} \DeclareFontShape{JT2}{#1}{bx}{n}{<->~ #3-v}{} } } -\@onlypreamble \ctex_set_upfamily:nnn % \end{macrocode} % \end{macro} % @@ -5913,20 +6226,38 @@ Copyright and Licence % 的后缀 |b| 与表示排版方向的后缀 |-h| 与 |-v|。|#2| 与 |#3| 是普通与粗体的实际 % 字体名。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_set_upmap:nnn #1 #2 #3 +\cs_new_protected:Npn \ctex_set_upmap:nnn #1#2#3 { \ctex_set_zhmap:n { - \special{ pdf:mapline~ #1-h~ UniGB-UTF16-H~ #2 } - \special{ pdf:mapline~ #1-v~ UniGB-UTF16-V~ #2 } - \tl_if_empty:nF { #3 } + \special { pdf:mapline~#1-h~UniGB-UTF16-H~#2 } + \special { pdf:mapline~#1-v~UniGB-UTF16-V~#2 } + \tl_if_empty:nF {#3} { - \special{ pdf:mapline~ #1b-h~ UniGB-UTF16-H~ #3 } - \special{ pdf:mapline~ #1b-v~ UniGB-UTF16-V~ #3 } + \special { pdf:mapline~#1b-h~UniGB-UTF16-H~#3 } + \special { pdf:mapline~#1b-v~UniGB-UTF16-V~#3 } + } + } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[int]{\ctex_set_upmap_unicode:nnn} +% 设置 \upTeX{} 字体映射,使用 |unicode| CMap。参数同上。 +% \begin{macrocode} +\cs_new_protected:Npn \ctex_set_upmap_unicode:nnn #1#2#3 + { + \ctex_set_zhmap:n + { + \special { pdf:mapline~#1-h~unicode~#2 } + \special { pdf:mapline~#1-v~unicode~#2 } + \tl_if_empty:nF {#3} + { + \special { pdf:mapline~#1b-h~unicode~#3 } + \special { pdf:mapline~#1b-v~unicode~#3 } } } } -\@onlypreamble \ctex_set_upmap:nnn % \end{macrocode} % \end{macro} % @@ -5934,17 +6265,24 @@ Copyright and Licence % 设置 \upTeX{} 基本字体映射,按 \pkg{zhmetrics-uptex} 的定义,依次设置衬线体 % 正、粗、意大利,无衬线体正、粗,等宽体正——共 6 种字体,并分横排及直排。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_set_upfonts:nnnnnn #1 #2 #3 #4 #5 #6 +\cs_new_protected:Npn \ctex_set_upfonts:nnnnnn #1#2#3#4#5#6 { - \ctex_set_upmap:nnn { upserif } { #1 } { #2 } - \ctex_set_upmap:nnn { upserifit } { #3 } {} - \ctex_set_upmap:nnn { upsans } { #4 } { #5 } - \ctex_set_upmap:nnn { upmono } { #6 } {} + \ctex_set_upmap:nnn { upserif } {#1} {#2} + \ctex_set_upmap:nnn { upserifit } {#3} {} + \ctex_set_upmap:nnn { upsans } {#4} {#5} + \ctex_set_upmap:nnn { upmono } {#6} {} } -\@onlypreamble \ctex_set_upfonts:nnnnnn % \end{macrocode} % \end{macro} % +% 以下命令只能在导言区使用。 +% \begin{macrocode} +\@onlypreamble \ctex_set_upfamily:nnn +\@onlypreamble \ctex_set_upmap:nnn +\@onlypreamble \ctex_set_upmap_unicode:nnn +\@onlypreamble \ctex_set_upfonts:nnnnnn +% \end{macrocode} +% % \changes{v2.4.7}{2016/12/27}{依赖 \pkg{pxeverysel} 宏包。} % % \pkg{everysel} 宏包(2011/10/28)未考虑 \upLaTeX{} 对 \tn{selectfont} 的修 @@ -5967,7 +6305,7 @@ Copyright and Licence % 更新 \tn{CJKfamilydefault}。\pkg{xeCJK} 已经有这个功能,不需要再调整。 % \begin{macrocode} %<*pdftex|luatex|uptex|aptex> -\cs_new_protected_nopar:Npn \ctex_update_default_family: +\cs_new_protected:Npn \ctex_update_default_family: { \tl_if_eq:NNT \CJKfamilydefault \l_@@_family_default_init_tl { @@ -6012,90 +6350,9 @@ Copyright and Licence % \end{macrocode} % \end{variable} % -% \subsubsection{操作系统的判断} -% % \changes{v2.0}{2014/04/16}{自动检测操作系统,载入对应的字体配置。} -% -% \begin{macro}[int]{\ctex_detected_platform:} -% 在 \LuaTeX{} 下直接用调用 |os.name| 来判断。 -% \begin{macrocode} -%<*luatex> -\cs_new_protected_nopar:Npn \ctex_detected_platform: - { - \tl_gset:Nx \g_@@_fontset_tl - { - \lua_now:e - { - if ~ os.name == 'windows' then ~ - tex.sprint ( 'windows' ) - elseif ~ os.name == 'macosx' then ~ - tex.sprint ( 'mac' ) - else ~ - tex.sprint ( 'fandol' ) - end - } - } - } -% -% \end{macrocode} -% -% \ApTeX{} 可以使用 \tn{ngostype} 来判断。 -% \begin{macrocode} -%<*aptex> -\cs_new_protected_nopar:Npn \ctex_detected_platform: - { - \tl_gset:Nx \g_@@_fontset_tl - { - \str_case:onF { \ngostype } - { - { Win32 } { windows } - { Win64 } { windows } - { Darwin } { mac } - } - { fandol } - } - } -% -% \end{macrocode} -% -% \pdfTeX{} 和 \XeTeX{} 下则依据 \file{/dev/null} 和 \file{nul:} 的存在性以及 -% 文件系统的大小写敏感性来判断。Mac~OS~X 的大小写敏感性在安装时是可选的。为了 -% 保险起见,这里的判断很繁琐,最多要进行 4 次文件操作! -% \begin{macrocode} -%<*xetex|pdftex|uptex> -\cs_new_protected_nopar:Npn \ctex_detected_platform: - { - \file_if_exist:nTF { /dev/null } - { - \file_if_exist:nTF { nul: } - { - \file_if_exist:nTF { \c_@@_upper_case_file_str } - { \ctex_if_macosx:TF { mac } { windows } } - { \ctex_if_macosx:TF { mac } { fandol } } - } - { \ctex_if_macosx:TF { mac } { fandol } } - } - { \tl_gset:Nn \g_@@_fontset_tl { windows } } - } -\str_const:Nx \c_@@_upper_case_file_str - { \exp_args:No \str_upper_case:n { \g_file_curr_name_str } } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}[int]{\ctex_if_macosx:TF} -% \changes{v2.1}{2015/06/17}{改用 \file{/Library/Fonts/Songti.ttc} 为特征文件。} -% 以 \file{/Library/Fonts/Songti.ttc} 为特征文件判断 Mac~OS~X。 -% \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_if_macosx:TF #1#2 - { - \file_if_exist:nTF { \c_@@_macosx_file_str } - { \tl_gset:Nn \g_@@_fontset_tl {#1} } - { \tl_gset:Nn \g_@@_fontset_tl {#2} } - } -\str_const:Nn \c_@@_macosx_file_str { /Library/Fonts/Songti.ttc } -% -% \end{macrocode} -% \end{macro} +% \changes{v2.5}{2019/10/25}{操作系统检测移动至载入中文字库处,且不再需要 +% 依赖特定引擎。} % % \subsubsection{\pkg{hyperref} 兼容性处理} % @@ -6113,11 +6370,11 @@ Copyright and Licence %<*class|ctex> \@ifpackageloaded { hyperref } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \hypersetup {#1} } } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \PassOptionsToPackage {#1} { hyperref } } } % @@ -6125,14 +6382,14 @@ Copyright and Licence % \end{macro} % % 在 \pdfTeX{} 下使用 \texttt{GBK} 编码,\dvipdfmx{} 驱动可以直接用它的 -% \tn{special} 命令,其它模式用 \pkg{xCJK2uni} 宏包处理。使用 \texttt{UTF-8} 编 +% \tn{special} 命令,其他模式用 \pkg{xCJK2uni} 宏包处理。使用 \texttt{UTF-8} 编 % 码时,\pkg{CJKutf8} 已经处理了书签问题,但仍需要设置 \opt{pdfencoding} 为 % \opt{unicode},目的是在书签的开头写入 BOM (|\376\377|),提示这是 % \texttt{UTF-16BE} 字节流。 % \begin{macrocode} %<*pdftex> \ctex_hypersetup:n { driverfallback = dvipdfmx } -\str_if_eq:onTF { \l_@@_encoding_tl } { GBK } +\str_if_eq:onTF { \g_@@_encoding_tl } { GBK } { \ctex_hypersetup:n { CJKbookmarks = true } \sys_if_output_pdf:TF @@ -6205,7 +6462,7 @@ Copyright and Licence %<*uptex|aptex> \ctex_hypersetup:n { driverfallback = dvipdfmx } \ctex_at_end_package:nn { hyperref } - { \AtBeginShipoutFirst { \special { pdf:tounicode~ UTF8-UTF16 } } } + { \AtBeginShipoutFirst { \special { pdf:tounicode~UTF8-UTF16 } } } % % \end{macrocode} % @@ -6215,83 +6472,46 @@ Copyright and Licence % % \subsubsection{\pkg{CJKfntef}、\pkg{xeCJKfntef} 相关设置} % -% \CTeX{} 宏集对 \pdfTeX{} 与 \XeTeX{} 引擎,分别载入 \pkg{CJKfntef} 或 -% \pkg{xeCJKfntef} 宏包,并关闭宏包默认的彩色等多余格式。 -% % \changes{v2.0}{2015/03/25}{默认关闭 \pkg{CJKfntef} 或 \pkg{xeCJKfntef} 的彩 % 色设置。} -% \changes{v2.0}{2015/03/25}{\tn{CTEXunderdot}, \tn{CTEXunderline}, -% \tn{CTEXunderdblline}, \tn{CTEXunderwave}, \tn{CTEXsout}, \tn{CTEXxout} 是过 +% \changes{v2.0}{2015/03/25}{\tn{CTEXunderdot}、\tn{CTEXunderline}、 +% \tn{CTEXunderdblline}、\tn{CTEXunderwave}、\tn{CTEXsout}、\tn{CTEXxout} 是过 % 时命令;\env{CTEXfilltwosides} 是过时环境。} +% \changes{v2.5}{2019/11/10}{不再自动载入 \pkg{CJKfntef} 或 \pkg{xeCJKfntef} 宏包。} +% \changes{v2.5}{2019/11/10}{移除 \tn{CTEXunderdot}、\tn{CTEXunderline}、 +% \tn{CTEXunderdblline}、\tn{CTEXunderwave}、\tn{CTEXsout}、\tn{CTEXxout}、 +% \env{CTEXfilltwosides} 等命令和环境。} % -% 载入 \pkg{CJKfntef} 或 \pkg{xeCJKfntef} 并做适当格式设置。有关 |\CTEX| 开头 -% 的宏定义是过时命令,仅做兼容性保留。 +% 对 \pdfTeX{} 与 \XeTeX{} 引擎,分别在 \pkg{CJKfntef}、\pkg{xeCJKfntef} 宏包 +% 的末尾关闭彩色显式等多余格式。 % % \begin{macrocode} %<*pdftex> -\RequirePackage { CJKfntef } -\normalem -\cs_new_protected_nopar:Npn \@@_clear_fntef_color:n #1 - { \tl_clear:c { CJK#1color } } -% -%<*xetex> -\RequirePackage { xeCJKfntef } -\@ifpackagelater { xeCJKfntef } { 2014/11/04 } +\ctex_at_end_package:nn { CJKfntef } { - \cs_new_protected_nopar:Npn \@@_clear_fntef_color:n #1 - { \xeCJKsetup { #1 / format = { } } } - } - { - \cs_new_protected_nopar:Npn \@@_clear_fntef_color:n #1 + \normalem + \cs_new_protected:Npn \@@_clear_fntef_color:n #1 { \tl_clear:c { CJK#1color } } - } -% -%<*luatex|uptex|aptex> -\msg_new:nnn { ctex } { fntef-not-available } -% { Functions~ of~ `CJKfntef'~ is~ not~ available~ in~ LuaLaTeX. } -% { Functions~ of~ `CJKfntef'~ is~ not~ available~ in~ upLaTeX. } -% { Functions~ of~ `CJKfntef'~ is~ not~ available~ in~ ApLaTeX. } -\msg_warning:nn { ctex } { fntef-not-available } -% -\clist_map_inline:nn - { underdot , underline , underdblline , underwave , sout , xout } -%<*pdftex|xetex> +% +%<*xetex> +\ctex_at_end_package:nn { xeCJKfntef } { - \@@_clear_fntef_color:n {#1} - \cs_new_protected_nopar:cpx { CTEX#1 } + \@ifpackagelater { xeCJKfntef } { 2014/11/04 } { - \msg_warning:nnnn { ctex } { deprecated-command } { \exp_not:c { CTEX#1 } } - { You~ can~ use~ the~ command~ with~ prefix~ \exp_not:N \CJK~ instead. } - \exp_not:c { CJK#1 } + \cs_new_protected:Npn \@@_clear_fntef_color:n #1 + { \xeCJKsetup { #1 / format = { } } } } + { + \cs_new_protected:Npn \@@_clear_fntef_color:n #1 + { \tl_clear:c { CJK#1color } } + } +% +%<*pdftex|xetex> + \clist_map_inline:nn + { underdot , underline , underdblline , underwave , sout , xout } + { \@@_clear_fntef_color:n {#1} } } -\cs_new_protected_nopar:Npn { \CTEXfilltwosides } - { - \msg_warning:nnnn { ctex } { deprecated-environment } { CTEXfilltwosides } - { You~ can~ use~ `CJKfilltwosides'~ environment~ instead. } - \CJKfilltwosides - } -\cs_new_protected_nopar:Npn { \endCTEXfilltwosides } { \endCJKfilltwosides } % -%<*luatex|uptex|aptex> - { \cs_new_eq:cN { CTEX#1 } \use:n } -\cs_new_eq:NN \CTEXfilltwosides \use_none:n -\cs_new_eq:NN \endCTEXfilltwosides \prg_do_nothing: -% -%<*pdftex> -\clist_map_inline:nn - { - underdotbasesep , underdotsep , underlinebasesep , - underlinesep , underdbllinesep , underdbllinebasesep , - underwavebasesep , underwavesep , southeight , - underdotcolor , underwavecolor , underlinecolor , - underdbllinecolor , soutcolor , xoutcolor - } - { - \cs_new_eq:cc { CTEX#1 } { CJK#1 } - \cs_set_nopar:cpx { CJK#1 } { \exp_not:c { CTEX#1 } } - } -% % \end{macrocode} % % \subsubsection{\tn{ccwd} 的更新} @@ -6299,7 +6519,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_update_ccwd:,\ccwd} % \changes{v2.4.1}{2016/04/29}{正确设置 \upTeX{} 下的 \tn{ccwd}。} % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_ccwd: +\cs_new_protected:Npn \ctex_update_ccwd: %<*pdftex|xetex> { \hbox_set:Nn \l_@@_tmp_box { \CJKglue } @@ -6319,10 +6539,10 @@ Copyright and Licence % \begin{macro}[int]{\ctex_update_ccglue:} % 更新字间距。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_ccglue: +\cs_new_protected:Npn \ctex_update_ccglue: %<*pdftex|xetex> { - \cs_set_protected_nopar:Npn \CJKglue + \cs_set_protected:Npn \CJKglue { \skip_horizontal:N \l_@@_ccglue_skip } } % @@ -6354,13 +6574,7 @@ Copyright and Licence { \prg_return_false: } { \prg_return_true: } % } -% \end{macrocode} -% 注意下面的标记不能用 \verb"%",它会导致旧版本的 \pkg{l3docstrip} -% 不能替换 \texttt{@@}。 -% \begin{macrocode} -%<*pdftex|xetex> -\ctex_at_end:n { \cs_new_eq:NN \@@_ccglue: \CJKglue } -% +%\ctex_at_end:n { \cs_new_eq:NN \@@_ccglue: \CJKglue } % \end{macrocode} % \end{macro} % @@ -6374,27 +6588,29 @@ Copyright and Licence % 意义。在 \LuaTeX{} 下,\pkg{LuaTeX-ja} 总是按照 JFM 中的设置输出汉字的宽度,可以 % 直接用 \tn{zw} 作为汉字宽度。\upTeX{} 可以直接使用原生的长度单位 |zw|。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_em_unit: +\cs_new_protected:Npn \ctex_update_em_unit: % { \dim_set:Nn \ccwd { \f@size \p@ } } % { \dim_set:Nn \ccwd { \zw } } % { \dim_set:Nn \ccwd { 1zw } } % \end{macrocode} % \end{macro} % -% \subsubsection{其它} +% \subsubsection{其他} % +% \begin{macro}[int]{\ctex_add_to_selectfont:n,\CTEX@selectfont@hook} % \changes{v2.4.13}{2018/03/23}{修正导言区 \tn{selectfont} 钩子位置。} +% \changes{v2.5}{2020/04/19}{兼容 \pkg{KOMA-Script} 的 \tn{selectfont} 补丁。} % -% \begin{macro}[int]{\ctex_add_to_selectfont:n,\CTEX@selectfont@hook} % \tn{EverySelectfont} 直到文档开始时才有效。为了 \tn{ccwd} 和 \pkg{LuaTeX-ja} 的 % 字体设置在导言区也可用,我们还需要在这里手工修改 \tn{selectfont}。\pkg{everysel} % 宏包会用 \tn{CheckCommand} 来检查 \tn{selectfont} 是否为标准定义。我们修改了 % \tn{selectfont},所以会给出一个警告。为了消除这个警告,在它检查之前,还原本来 % 定义。\pkg{pxeverysel} 宏包取消了检查,但也需要恢复定义,避免重复使用钩子。 +% \pkg{KOMA-Script} 宏包也会进行检查,我们需要小心处理。 % \begin{macrocode} \cs_new_protected:Npn \ctex_add_to_selectfont:n #1 { - \cs_set_protected_nopar:Npx \CTEX@selectfont@hook + \cs_set_protected:Npx \CTEX@selectfont@hook { \exp_not:o { \CTEX@selectfont@hook #1 } } } \cs_new_eq:NN \CTEX@selectfont@hook \prg_do_nothing: @@ -6404,10 +6620,32 @@ Copyright and Licence { \tl_set:Nn \l_@@_tmp_tl {#1} \cs_new_eq:NN \CTEX@selectfont@save #1 - \cs_new_protected_nopar:Npn \@@_restore_selectfont: + \cs_new_protected:Npn \@@_restore_selectfont: { + \cs_if_free:NF \scr@new@selectfont + { +% \end{macrocode} +% \pkg{CJK} 直接修改 \tn{selectfont} 和 \pkg{pxeverysel} 的补丁, +% 会使 \pkg{KOMA-Script} 的 \tn{par@update} 失效。 +% \begin{macrocode} +%<*pdftex|uptex|aptex> + \cs_if_free:NF \par@update +%<*uptex|aptex> + { + \tl_put_right:Nn \@EverySelectfont@Init + { \tl_put_right:Nn #1 { \par@update } } + } +% +%<*pdftex> + { \tl_put_right:Nn #1 { \par@update } } + \cs_set_eq:NN \scr@selectfont \CTEX@selectfont@save +% +% + \cs_set_eq:NN \scr@new@selectfont #1 +% \cs_set_eq:NN \CTEX@selectfont@save \scr@selectfont + } \tl_put_left:Nn \@EverySelectfont@Init - { \let #1 \CTEX@selectfont@save } + { \cs_set_eq:NN #1 \CTEX@selectfont@save } \cs_undefine:N \@@_restore_selectfont: } } @@ -6458,7 +6696,7 @@ Copyright and Licence % 全段。 % \begin{macrocode} %<*luatex|uptex|aptex> -\cs_new_protected_nopar:Npn \ctex_update_xkanjiskip: +\cs_new_protected:Npn \ctex_update_xkanjiskip: { \skip_if_eq:nnT % { \ltjgetparameter { xkanjiskip } } { \l_@@_xkanjiskip_skip } @@ -6488,35 +6726,34 @@ Copyright and Licence % % \changes{v2.4.10}{2017/07/23}{定义 \tn{cht},\tn{cdp} 和 \tn{cwd}。} % -% \begin{macro}[int]{\cht,\cdp,\cwd} +% \begin{macro}[int]{\cht,\cdp,\cwd,\ctex_update_kanjisize:} % 分别从 \file{.jfm} 中读取字符高度、深度和宽度,目前仅考虑横排的情况。 % \begin{macrocode} %<*luatex> \dim_new:N \cht \dim_new:N \cdp \dim_new:N \cwd -\newluafunction \g_@@_kanjisize_func \group_begin: \char_set_catcode_space:n { 32 } \lua_now:e { local nulltable = { } - local t = lua.get_functions_table() local fmt = luatexja.jfont.font_metric_table local getattribute = tex.getattribute local setdimen = tex.setdimen - t[\int_use:N \g_@@_kanjisize_func] = function () - local ft = fmt[getattribute('ltj@curjfnt')] or nulltable + local func = lua.get_functions_table() + local id = luatexbase.new_luafunction("ctex") + func[id] = function () + local ft = fmt[getattribute("ltj@curjfnt")] or nulltable local ft = ft and ft.char_type or nulltable local fk = ft and ft[0] or nulltable - setdimen('cht', fk.height or 0) - setdimen('cdp', fk.depth or 0) - setdimen('cwd', fk.width or ft.zw or 0) + setdimen("cht", fk.height or 0) + setdimen("cdp", fk.depth or 0) + setdimen("cwd", fk.width or ft.zw or 0) end + token.set_lua("ctex_update_kanjisize:", id, "global", "protected") } \group_end: -\cs_new_protected_nopar:Npn \ctex_update_kanjisize: - { \tex_luafunction:D \g_@@_kanjisize_func } \ctex_add_to_selectfont:n { \ctex_update_kanjisize: } % % \end{macrocode} @@ -6527,7 +6764,7 @@ Copyright and Licence % \pdfTeX{} 和 \XeTeX{} 下初始设置为 \opt{auto},\LuaTeX{}、\upTeX{} 下是无效 % 选项。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { %<*pdftex|xetex> space .choice: , @@ -6555,11 +6792,11 @@ Copyright and Licence % 在导言区或正文中设置标点符号输出格式。\pkg{LuaTeX-ja} 设置的是字体的默认 \texttt{JFM}, % 只会影响到之后设置的字体。\upTeX{} 暂时无效。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { punct .code:n = { - \tl_set:Nx \l_@@_punct_tl { #1 } + \tl_set:Nx \l_@@_punct_tl {#1} % \punctstyle { \l_@@_punct_tl } % \xeCJKsetup { PunctStyle = \l_@@_punct_tl } % \ctex_mono_jfm:o { \l_@@_punct_tl } @@ -6570,13 +6807,6 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \XeLaTeX{}、\LuaLaTeX{} 和 \upLaTeX{} 总是使用 \texttt{UTF8} 编码。 -% \begin{macrocode} -%<*xetex|luatex|uptex|aptex> -\tl_set:Nn \l_@@_encoding_tl { UTF8 } -% -% \end{macrocode} -% % \begin{macrocode} % % \end{macrocode} @@ -6597,27 +6827,35 @@ Copyright and Licence % \begin{macro}{\ctexset} % \begin{macrocode} %<*class|ctex|ctexheading> -\NewDocumentCommand \ctexset { } { \keys_set:nn { ctex } } +\NewDocumentCommand \ctexset { } { \ctex_set:n } % % \end{macrocode} % \end{macro} % % \changes{v2.0}{2015/03/21}{\tn{CTEXsetup}, \tn{CTEXoptions} 是过时命令。} % \begin{macro}{\CTEXsetup,\CTEXoptions} -% 过时命令。出于历史原因,\tn{CTEXoptions} 需要在 \pkg{pxeverysel} 宏包之后定义。 +% 过时命令。 % \begin{macrocode} %<*class|ctex> -\NewDocumentCommand \CTEXsetup { +o > { \TrimSpaces } m } +\NewDocumentCommand \CTEXsetup { +O { } > { \TrimSpaces } m } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXsetup } - { \ctexset~ {~ #2~ =~ {~ #1~ }~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex / #2 } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXsetup { } } + { + \ctex_deprecated_command:Nn \CTEXsetup + { \ctexset {~#2~=~{~#1~}~}~is~set. } + \ctex_set:nn {#2} {#1} + } } -\NewDocumentCommand \CTEXoptions { +o } +\NewDocumentCommand \CTEXoptions { +O { } } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXoptions } - { \ctexset~ {~ #1~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXoptions { } } + { + \ctex_deprecated_command:Nn \CTEXoptions + { \ctexset {~#1~}~is~set. } + \ctex_set:n {#1} + } } % \end{macrocode} % \end{macro} @@ -6627,7 +6865,7 @@ Copyright and Licence % \begin{macro}{autoindent} % \opt{autoindent} 也是可以用在正文中的选项,意义与宏包选项 |option/autoindent| 相同。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { autoindent .choice: , autoindent .default:n = { true } , @@ -6651,7 +6889,7 @@ Copyright and Licence % 无论字体大小是否变化都更新相关信息。 % \begin{macrocode} \NewDocumentCommand \CTEXsetfont { } { \ctex_select_size: } -\cs_new_protected_nopar:Npn \ctex_select_size: +\cs_new_protected:Npn \ctex_select_size: { \cs_if_free:NTF \size@update { \ctex_update_size: } { \selectfont } } % \end{macrocode} % \end{macro} @@ -6659,7 +6897,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_update_size:} % 在字号变化时更新 \tn{ccwd}、\tn{parindent} 和汉字间距。字距为零则恢复正常设置。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_size: +\cs_new_protected:Npn \ctex_update_size: { \tl_if_eq:NNTF \l_@@_ziju_tl \c_@@_zero_tl { @@ -6687,7 +6925,7 @@ Copyright and Licence % 额外伸展量。初始化为一个汉字的宽度。若设置为 \tn{maxdimen},则禁用此功能。 % 参数的默认单位是汉字的宽度 \tn{ccwd}。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { linestretch .code:n = { @@ -6710,7 +6948,7 @@ Copyright and Licence % \tn{ccwd},否则设置伸展量为 $0.08$ 倍 \tn{baselineskip}。注意 \pkg{everysel} 的 % 钩子位于 \tn{size@update} 之前,\tn{baselineskip} 还未更新,不能直接使用它。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_stretch: +\cs_new_protected:Npn \ctex_update_stretch: { \ctex_update_em_unit: \dim_set:Nn \l_@@_tmp_dim { \l_@@_line_stretch_tl } @@ -6751,7 +6989,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_update_parindent:} % 更新段落首行缩进。此函数在字号变化时调用。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_parindent: +\cs_new_protected:Npn \ctex_update_parindent: { \tl_if_empty:NF \l_@@_autoindent_tl { @@ -6767,7 +7005,7 @@ Copyright and Licence % \begin{macrocode} \NewDocumentCommand \ziju { m } { \exp_args:Nx \ctex_ziju:n {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_ziju:n #1 +\cs_new_protected:Npn \ctex_ziju:n #1 { \tl_set:Nx \l_@@_ziju_tl { \fp_eval:n {#1} } \ctex_select_size: @@ -6779,7 +7017,7 @@ Copyright and Licence % 更新字距。若字距不大于 $-1$,即 \tn{ccwd} 为非正值,则不计算伸缩值。 % 否则,首先假定汉字的宽度为正常宽度加上字距,看一行上能正常放下多少个汉字。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_update_ziju: +\cs_new_protected:Npn \ctex_update_ziju: { \ctex_update_em_unit: \dim_set:Nn \l_@@_ziju_dim { \l_@@_ziju_tl \ccwd } @@ -6832,14 +7070,15 @@ Copyright and Licence % \begin{macrocode} \NewDocumentCommand \CTEXindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXindent } - { \parindent is~ set~ to~ 2\ccwd. } - \ctex_update_ccwd: \dim_set:Nn \parindent { 2 \ccwd } + \ctex_deprecated_command:Nn \CTEXindent + { \parindent is~set~to~2\ccwd. } + \ctex_update_ccwd: + \dim_set:Nn \parindent { 2 \ccwd } } \NewDocumentCommand \CTEXnoindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXnoindent } - { \parindent is~ set~ to~ 0pt. } + \ctex_deprecated_command:Nn \CTEXnoindent + { \parindent is~set~to~0pt. } \dim_zero:N \parindent } % \end{macrocode} @@ -6848,14 +7087,14 @@ Copyright and Licence % \subsection{中文数字与日期} % % \begin{macrocode} -\PassOptionsToPackage { encoding = \l_@@_encoding_tl } { zhnumber } +\PassOptionsToPackage { encoding = \g_@@_encoding_tl } { zhnumber } \RequirePackage { zhnumber } % \end{macrocode} % % \begin{macro}{\chinese} % \changes{v2.4.1}{2016/05/01}{支持 \tn{pagenumbering}。} % \begin{macrocode} -\cs_new_nopar:Npn \chinese { \zhnum_counter:n } +\cs_new:Npn \chinese { \zhnum_counter:n } \cs_new_eq:NN \@chinese \@zhnum \cs_new_eq:NN \Chinese \chinese \cs_new_eq:NN \CTEXcounter \use_none:n @@ -6890,7 +7129,7 @@ Copyright and Licence % \begin{macro}{today} % \begin{macrocode} \cs_set_eq:NN \CTEX@todayold \today -\keys_define:nn { ctex } +\ctex_define:n { today .choice: , today / old .code:n = @@ -6914,7 +7153,7 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \subsection{其它中文标题定义} +% \subsection{其他中文标题定义} % % \changes{v2.0}{2014/03/08}{将标题汉化功能加入 \pkg{ctex.sty}。} % \changes{v2.4.3}{2016/08/18}{确保 \tn{proofname} 非空。} @@ -6931,7 +7170,7 @@ Copyright and Licence % \end{macro} % % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { contentsname .tl_set:N = \contentsname , listfigurename .tl_set:N = \listfigurename , @@ -6962,7 +7201,7 @@ Copyright and Licence } \tl_if_exist:NTF \insertcontinuationtext { - \keys_define:nn { ctex } + \ctex_define:n { algorithmname .tl_set:N = \algorithmname , bibname .tl_set:N = \bibname , @@ -6972,13 +7211,13 @@ Copyright and Licence } { \tl_if_exist:NTF \bibname - { \keys_define:nn { ctex } { bibname .tl_set:N = \bibname } } + { \ctex_define:n { bibname .tl_set:N = \bibname } } { \tl_if_exist:NTF \refname - { \keys_define:nn { ctex } { bibname .tl_set:N = \refname } } + { \ctex_define:n { bibname .tl_set:N = \refname } } { \msg_warning:nn { ctex } { ctexbibname } - \keys_define:nn { ctex } { bibname .tl_set:N = \ctexbibname } + \ctex_define:n { bibname .tl_set:N = \ctexbibname } } } } @@ -7028,7 +7267,7 @@ Copyright and Licence % % \begin{macro}{\@@_initial_heading:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_initial_heading:n #1 +\cs_new_protected:Npn \@@_initial_heading:n #1 { \tl_new:c { CTEX@pre#1 } \tl_new:c { CTEX@post#1 } @@ -7078,7 +7317,7 @@ Copyright and Licence % % \begin{macro}{\@@_def_heading_keys:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_def_heading_keys:n #1 +\cs_new_protected:Npn \@@_def_heading_keys:n #1 { \tl_put_right:Nx \l_@@_tmp_tl { @@ -7103,11 +7342,8 @@ Copyright and Licence #1 / hang .bool_set:N = \exp_not:c { CTEX@#1@hang } , #1 / hang .initial:n = true , #1 / runin .bool_set:N = \exp_not:c { CTEX@#1@runin } , - #1 / tocline .code:n = - { - \cs_set:Npn \exp_not:c { CTEX@#1@tocline} - \exp_not:n { ####1####2 } { ####1 } - } , + #1 / tocline .cs_set:Np = \exp_not:c { CTEX@#1@tocline} + \exp_not:n { ##1##2 } , \@@_plus_key_aux:nn {#1} { break } , % \@@_plus_key_aux:nn {#1} { format } , @@ -7118,7 +7354,7 @@ Copyright and Licence \@@_plus_key_aux:nn {#1} { aftertitle } , } } -\cs_new_nopar:Npn \@@_plus_key_aux:nn #1#2 +\cs_new:Npn \@@_plus_key_aux:nn #1#2 { #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , #1 / #2 + .code:n = @@ -7143,7 +7379,7 @@ Copyright and Licence \cs_new_protected:Npn \@@_assign_heading_name:nnn #1#2#3 { \tl_set:cn { CTEX@pre#1 } {#2} - \IfNoValueTF {#3} + \tl_if_novalue:nTF {#3} { \tl_clear:c { CTEX@post#1 } } { \tl_set:cn { CTEX@post#1 } {#3} } } @@ -7189,24 +7425,54 @@ Copyright and Licence \@@_initial_heading:n {#1} \@@_def_heading_keys:n {#1} } -\use:x +\exp_args:NNo \group_end: \ctex_define:n { \l_@@_tmp_tl } +% \end{macrocode} +% +% \changes{v2.5}{2020/04/23}{重构标题选项 \opt{indent} 和 \opt{hang}。} +% +% \begin{macro}[int]{\CTEX@heading@format@initial} +% 标题格式的一些初始设置,包括恢复默认字体,并禁用自动调整首行缩进,禁止在标题中分页。 +% 同时用 \tn{noindent} 抑制首行缩进并进入水平模式。 +% 统一在各级标题的 \opt{format} 选项之前使用。 +% \begin{macrocode} +\cs_new_protected:Npn \CTEX@heading@format@initial { - \group_end: - \keys_define:nn { ctex } { \exp_not:o { \l_@@_tmp_tl } } + \normalfont + \tl_clear:N \l_@@_autoindent_tl + \int_set:Nn \tex_interlinepenalty:D { 10 000 } + \tex_noindent:D } % \end{macrocode} +% \end{macro} % +% \begin{macro}[int]{\ctex_indent_box:n} +% 设置 \tn{parindent},并插入用于产生缩进的盒子,如果缩进为 |0|,就不插入。 % \begin{macrocode} -%<*article|book|report> +\cs_new_protected:Npn \ctex_indent_box:n #1 + { + \dim_set:Nn \tex_parindent:D {#1} + \@@_insert_indent: + } +\cs_new_protected:Npn \@@_insert_indent: + { + \dim_compare:nNnF \tex_parindent:D = \c_zero_dim + { \tex_indent:D } + } +\cs_new_eq:NN \CTEX@indentbox \ctex_indent_box:n % \end{macrocode} +% \end{macro} % % \subsubsection{标准标题命令的修改} % +% \begin{macrocode} +%<*article|book|report> +% \end{macrocode} +% % \begin{macro}[int]{\CTEX@fixtopskip} % 修正 \cls{book} 和 \cls{report} 类的 \tn{part} 和 \tn{chapter} 标题之前的多余空行。 % \begin{macrocode} %<*book|report> -\cs_new_protected_nopar:Npn \CTEX@fixtopskip +\cs_new_protected:Npn \CTEX@fixtopskip { \CTEX@fixheadingskip \dim_compare:nNnF \tex_pagegoal:D < \c_max_dim @@ -7222,14 +7488,14 @@ Copyright and Licence % \TeX{} 就不会加上 \tn{parskip}。这时候就需要用户把 \tn{parskip} 加到 \opt{beforeskip} % 或者 \opt{afterskip} 作为修正。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@fixheadingskip +\cs_new_protected:Npn \CTEX@fixheadingskip { \par \dim_set:Nn \tex_prevdepth:D { -1000pt } \skip_sub:Nn \l_@@_heading_skip { \tex_parskip:D } } \skip_new:N \l_@@_heading_skip -\cs_new_protected_nopar:Npn \CTEX@setheadingskip +\cs_new_protected:Npn \CTEX@setheadingskip { \skip_set:Nn \l_@@_heading_skip } \cs_new_eq:NN \CTEX@headingskip \l_@@_heading_skip % \end{macrocode} @@ -7251,9 +7517,9 @@ Copyright and Licence % 用于判断当前标题是否有编号。 % \begin{macrocode} \cs_new_eq:NN \CTEXifname \use_ii:nn -\cs_new_protected_nopar:Npn \CTEX@ifnametrue +\cs_new_protected:Npn \CTEX@ifnametrue { \cs_set_eq:NN \CTEXifname \use_i:nn } -\cs_new_protected_nopar:Npn \CTEX@ifnamefalse +\cs_new_protected:Npn \CTEX@ifnamefalse { \cs_set_eq:NN \CTEXifname \use_ii:nn } % \end{macrocode} % \end{macro} @@ -7263,7 +7529,7 @@ Copyright and Licence % 往插图和表格目录中加入额外间距。如果间距为零,则不加入。 % \begin{macrocode} %<*book|report> -\cs_new_protected_nopar:Npn \CTEX@addloflotskip #1 +\cs_new_protected:Npn \CTEX@addloflotskip #1 { \skip_set:Nn \l_@@_heading_skip { \use:c { CTEX@#1@lofskip } } \skip_if_eq:nnF { \l_@@_heading_skip } { \c_zero_skip } @@ -7289,14 +7555,6 @@ Copyright and Licence % \end{macrocode} % \end{macro} % -% \begin{macro}[int]{\CTEX@disableautoindent} -% 禁用自动调整首行缩进。 -% \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@disableautoindent - { \tl_clear:N \l_@@_autoindent_tl } -% \end{macrocode} -% \end{macro} -% % \changes{v2.2}{2015/06/27}{\opt{beforeskip}、\opt{afterskip} 和 \opt{indent} % 选项支持表达式。} % \changes{v2.4.15}{2019/03/31}{修正 \opt{part/indent} 和 \opt{chapter/indent} 的实现方法。} @@ -7304,11 +7562,9 @@ Copyright and Licence % \changes{v2.4.16}{2019/05/11}{修正 \opt{part/indent} 和 \opt{chapter/indent} % 的实现方法,在其标题内部禁用 \opt{autoindent}。} % -% \paragraph{part 的标题} +% \changes{v2.5}{2020/04/22}{标题选项 \opt{format} 也可以接受参数。} % -% \begin{macrocode} -%<@@=> -% \end{macrocode} +% \paragraph{part 的标题} % % \changes{v2.2}{2015/06/27}{非 \cls{ctexart} 类的 \opt{part/beforeskip} 和 % \opt{part/afterskip} 选项有意义。} @@ -7317,19 +7573,19 @@ Copyright and Licence % \begin{macrocode} %<*article> \renewcommand\part{% - \if@noskipsec \leavevmode \fi - \par - \CTEX@part@break -% \addvspace{4ex}% - \CTEX@setheadingskip \CTEX@part@beforeskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \addvspace \CTEX@headingskip - \ifodd \CTEX@part@afterindent - \@afterindenttrue - \else - \@afterindentfalse - \fi - \secdef\@part\@spart} + \if@noskipsec \leavevmode \fi + \par + \CTEX@part@break +% \addvspace{4ex}% + \CTEX@setheadingskip \CTEX@part@beforeskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \addvspace \CTEX@headingskip + \ifodd \CTEX@part@afterindent + \@afterindenttrue + \else + \@afterindentfalse + \fi + \secdef\@part\@spart} % %<*book|report> \renewcommand\part{% @@ -7377,20 +7633,21 @@ Copyright and Licence \fi \CTEX@gettitle{#1}% \CTEX@addtocline{part}{#1}% - {\interlinepenalty \@M -% \normalfont \parindent \z@ \raggedright - \CTEX@disableautoindent - \normalfont \CTEX@part@format -% \ifnum \c@secnumdepth >\m@ne -% \Large\bfseries\partname\nobreakspace\thepart\par\nobreak -% \fi - \CTEX@hangindent{part}% - {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% -% \huge\bfseries #2% - \CTEX@part@titleformat{#2}% -% \markboth{}{}% - \partmark{#1}% - \CTEX@part@aftertitle}% + \partmark{#1}% + \begingroup +% \parindent \z@ \raggedright \interlinepenalty \@M \normalfont + \CTEX@heading@format@initial + \CTEX@part@format{% +% \ifnum \c@secnumdepth >\m@ne +% \Large\bfseries\partname\nobreakspace\thepart\par\nobreak +% \fi + \CTEX@headinghang{part}% + {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% +% \huge\bfseries #2% + \CTEX@part@titleformat{#2}% +% \markboth{}{}\par + \CTEX@part@aftertitle}\par + \endgroup \nobreak % \vskip 3ex \CTEX@setheadingskip \CTEX@part@afterskip @@ -7418,19 +7675,20 @@ Copyright and Licence \CTEX@gettitle{#1}% \CTEX@addtocline{part}{#1}% % \markboth{}{}% - \partmark{#1}% - {\interlinepenalty \@M -% \normalfont \centering - \CTEX@disableautoindent - \normalfont \CTEX@part@format -% \ifnum \c@secnumdepth >-2\relax -% \huge\bfseries\partname\nobreakspace\thepart\par\vskip 20\p@ -% \fi - \CTEX@hangindent{part}% - {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% -% \Huge\bfseries #2\par}% - \CTEX@part@titleformat{#2}% - \CTEX@part@aftertitle}% + \partmark{#1}% + \begingroup +% \centering \interlinepenalty \@M \normalfont + \CTEX@heading@format@initial + \CTEX@part@format{% +% \ifnum \c@secnumdepth >-2\relax +% \huge\bfseries\partname\nobreakspace\thepart\par\vskip 20\p@ +% \fi + \CTEX@headinghang{part}% + {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% +% \Huge\bfseries #2\par + \CTEX@part@titleformat{#2}% + \CTEX@part@aftertitle}\par + \endgroup \@endpart} % % \end{macrocode} @@ -7440,38 +7698,40 @@ Copyright and Licence % \begin{macrocode} %<*article> \def\@spart#1{% - \CTEX@ifnamefalse - \CTEX@makeanchor@spart{part*}% - \CTEX@gettitle{#1}% - {\interlinepenalty \@M -% \normalfont \parindent \z@ \raggedright - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}{}% -% \huge \bfseries #1\par}% - \CTEX@part@titleformat{#1}% - \CTEX@part@aftertitle}% - \nobreak -% \vskip 3ex - \CTEX@setheadingskip \CTEX@part@afterskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \@afterheading} + \CTEX@ifnamefalse + \CTEX@makeanchor@spart{part*}% + \CTEX@gettitle{#1}% + \begingroup +% \parindent \z@ \raggedright \interlinepenalty \@M \normalfont + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}{}% +% \huge \bfseries #1\par + \CTEX@part@titleformat{#1}% + \CTEX@part@aftertitle}\par + \endgroup + \nobreak +% \vskip 3ex + \CTEX@setheadingskip \CTEX@part@afterskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \@afterheading} % %<*book|report> \def\@spart#1{% - \CTEX@ifnamefalse - \CTEX@makeanchor@spart{part*}% - \CTEX@gettitle{#1}% - {\interlinepenalty \@M -% \normalfont \centering - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}{}% -% \Huge \bfseries #1\par}% - \CTEX@part@titleformat{#1}% - \CTEX@part@aftertitle}% - \@endpart} + \CTEX@ifnamefalse + \CTEX@makeanchor@spart{part*}% + \CTEX@gettitle{#1}% + \begingroup +% \centering \interlinepenalty \@M \normalfont + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}{}% +% \Huge \bfseries #1\par% + \CTEX@part@titleformat{#1}% + \CTEX@part@aftertitle}\par + \endgroup + \@endpart} % % \end{macrocode} % \end{macro} @@ -7480,21 +7740,21 @@ Copyright and Licence % \begin{macrocode} %<*book|report> \def\@endpart{% -% \vfil - \CTEX@setheadingskip \CTEX@part@afterskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \newpage - \if@twoside - \if@openright - \null - \thispagestyle{empty}% - \newpage - \fi - \fi - \if@tempswa - \twocolumn - \fi} +% \vfil + \CTEX@setheadingskip \CTEX@part@afterskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \newpage + \if@twoside + \if@openright + \null + \thispagestyle{empty}% + \newpage + \fi + \fi + \if@tempswa + \twocolumn + \fi} % % \end{macrocode} % \end{macro} @@ -7508,18 +7768,18 @@ Copyright and Licence % \begin{macro}[int]{\chapter} % \begin{macrocode} \renewcommand\chapter{% -% \if@openright\cleardoublepage\else\clearpage\fi -% \thispagestyle{plain}% - \CTEX@chapter@break - \thispagestyle{\CTEX@chapter@pagestyle}% - \global\@topnum\z@ -% \@afterindentfalse - \ifodd \CTEX@chapter@afterindent - \@afterindenttrue - \else - \@afterindentfalse - \fi - \secdef\@chapter\@schapter} +% \if@openright\cleardoublepage\else\clearpage\fi +% \thispagestyle{plain}% + \CTEX@chapter@break + \thispagestyle{\CTEX@chapter@pagestyle}% + \global\@topnum\z@ +% \@afterindentfalse + \ifodd \CTEX@chapter@afterindent + \@afterindenttrue + \else + \@afterindentfalse + \fi + \secdef\@chapter\@schapter} % \end{macrocode} % \end{macro} % @@ -7591,26 +7851,26 @@ Copyright and Licence \CTEX@setheadingskip \CTEX@chapter@beforeskip \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi \vspace*{\CTEX@headingskip}% -% {\normalfont \parindent \z@ \raggedright - {\CTEX@disableautoindent - \normalfont \CTEX@chapter@format - \interlinepenalty\@M -% \ifnum \c@secnumdepth >\m@ne -% \if@mainmatter -% \huge\bfseries\@chapapp\space\thechapter\par\nobreak\vskip 20\p@ -% \fi -% \fi - \CTEX@hangindent{chapter}% - {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}% -% \Huge \bfseries #1\par\nobreak - \CTEX@chapter@titleformat{#1}% - \CTEX@chapter@aftertitle - \nobreak + \begingroup +% \parindent \z@ \raggedright \normalfont + \CTEX@heading@format@initial + \CTEX@chapter@format{% +% \ifnum \c@secnumdepth >\m@ne +% \if@mainmatter +% \huge\bfseries\@chapapp\space\thechapter\par\nobreak\vskip 20\p@ +% \fi +% \fi + \CTEX@headinghang{chapter}% + {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}% +% \Huge \bfseries #1\par\nobreak + \CTEX@chapter@titleformat{#1}% + \CTEX@chapter@aftertitle}\par + \endgroup + \nobreak % \vskip 40\p@ - \CTEX@setheadingskip \CTEX@chapter@afterskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - }} + \CTEX@setheadingskip \CTEX@chapter@afterskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip} % \end{macrocode} % \end{macro} % @@ -7621,20 +7881,20 @@ Copyright and Licence \CTEX@setheadingskip \CTEX@chapter@beforeskip \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi \vspace*{\CTEX@headingskip}% -% {\normalfont \parindent \z@ \raggedright - {\CTEX@disableautoindent - \normalfont \CTEX@chapter@format - \interlinepenalty\@M - \CTEX@hangindent{chapter}{}% -% \Huge \bfseries #1\par\nobreak - \CTEX@chapter@titleformat{#1}% - \CTEX@chapter@aftertitle - \nobreak -% \vskip 40\p@ - \CTEX@setheadingskip \CTEX@chapter@afterskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - }} + \begingroup +% \parindent \z@ \raggedright \normalfont \interlinepenalty\@M + \CTEX@heading@format@initial + \CTEX@chapter@format{% + \CTEX@headinghang{chapter}{}% +% \Huge \bfseries #1\par\nobreak + \CTEX@chapter@titleformat{#1}% + \CTEX@chapter@aftertitle}\par + \endgroup + \nobreak +% \vskip 40\p@ + \CTEX@setheadingskip \CTEX@chapter@afterskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip} % \end{macrocode} % \end{macro} % @@ -7645,6 +7905,11 @@ Copyright and Licence % \paragraph{section 类的标题} % % \begin{macro}[int]{\@startsection} +% \LaTeX 的标准参数是: +% \begin{quote}\small +% \Arg{name}\Arg{level}\Arg{indent}\Arg{beforeskip}\Arg{afterskip}^^A +% \Arg{style}|*|\oarg{altheading}\Arg{heading} +% \end{quote} % \begin{macrocode} \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi @@ -7707,12 +7972,13 @@ Copyright and Licence % \ifdim \@tempskipa>\z@ \unless \ifodd \CTEX@runin \begingroup + \CTEX@heading@format@initial #6{% - \CTEX@hangfrom{\hskip\glueexpr #3\relax\@svsec}% -% \interlinepenalty \@M #8\@@par}% - \interlinepenalty \@M +% \@hangfrom{\hskip #3\relax\@svsec}% +% \interlinepenalty \@M #8\@@@@par + \CTEX@sectionhang{#3}{\@svsec}% \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% + \csname CTEX@#1@aftertitle\endcsname}\par \endgroup \csname #1mark\endcsname{#7}% % \addcontentsline{toc}{#1}{% @@ -7723,18 +7989,18 @@ Copyright and Licence \CTEX@addtocline{#1}{#7}% \else \def\@svsechd{% - #6{\hskip\glueexpr #3\relax -% \@svsec #8}% - \@svsec - \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% - \csname #1mark\endcsname{#7}% -% \addcontentsline{toc}{#1}{% -% \ifnum #2>\c@secnumdepth \else -% \protect\numberline{\csname the#1\endcsname}% -% \fi -% #7}% - \CTEX@addtocline{#1}{#7}}% + #6{% +% \hskip #3\relax \@svsec #8 + {\CTEX@indentbox{#3}}\@svsec + \csname CTEX@#1@titleformat\endcsname{#8}% + \csname CTEX@#1@aftertitle\endcsname}% + \csname #1mark\endcsname{#7}% +% \addcontentsline{toc}{#1}{% +% \ifnum #2>\c@secnumdepth \else +% \protect\numberline{\csname the#1\endcsname}% +% \fi +% #7}% + \CTEX@addtocline{#1}{#7}}% \fi \@xsect{#5}} % \end{macrocode} @@ -7749,17 +8015,18 @@ Copyright and Licence % \ifdim \@tempskipa>\z@ \unless \ifodd \CTEX@runin \begingroup + \CTEX@heading@format@initial #4{% - \CTEX@hangfrom{\hskip\glueexpr #1\relax}% -% \interlinepenalty \@M #5\@@par}% - \interlinepenalty \@M +% \@hangfrom{\hskip #1}% +% \interlinepenalty \@M #5\@@par + \CTEX@sectionhang{#1}{}% \CTEX@titleformat@n{#5}% - \CTEX@aftertitle}% + \CTEX@aftertitle}\par \endgroup \else -% \def\@svsechd{#4{\hskip\glueexpr #1\relax #5}}% - \def\@svsechd{#4{\hskip\glueexpr #1\relax - \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% +% \def\@svsechd{#4{\hskip #1\relax #5}}% + \def\@svsechd{#4{{\CTEX@indentbox{#1}}% + \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% \fi \@xsect{#3}} % \end{macrocode} @@ -7789,7 +8056,7 @@ Copyright and Licence \unskip % \@tempskipa #1\relax % \hskip -\@tempskipa - \hskip\glueexpr #1\relax + \CTEX@heading@glue{#1}% \else \clubpenalty \@clubpenalty \everypar{}% @@ -7799,44 +8066,62 @@ Copyright and Licence % \end{macrocode} % \end{macro} % +% \begin{macro}[int]{\CTEX@headinghang,\CTEX@sectionhang} +% 分别用于用于实现 \tn{part}/\tn{chapter} 和 \tn{section} 类标题的 +% \opt{indent} 和 \opt{hang} 选项。 % \begin{macrocode} -%<@@=ctex> +\cs_new_protected:Npn \CTEX@headinghang #1 + { + \ctex_heading_hang:cnn + { CTEX@#1@hang } + { \use:c { CTEX@#1@indent } } + } +\cs_new_protected:Npn \CTEX@sectionhang + { \ctex_heading_hang:Nnn \CTEX@hang } % \end{macrocode} +% \end{macro} % -% \begin{macro}[int]{\CTEX@hangindent} -% 用于实现 \tn{part} 和 \tn{chapter} 标题的 \opt{indent} 和 \opt{hang} 选项。 +% \begin{macro}[int]{\ctex_heading_hang:Nnn,\ctex_hang_from:n} +% \opt{hang} 选项控制是否采用悬挂缩进,同时设置 \tn{parindent}。 % \begin{macrocode} -\cs_new_protected:Npn \CTEX@hangindent #1#2 +\cs_new_protected:Npn \ctex_heading_hang:Nnn #1#2#3 { - \dim_set:Nn \parindent { \use:c { CTEX@#1@indent } } - \bool_if:cTF { CTEX@#1@hang } - { \@hangfrom { \@@_indent_aux: #2 } } - {#2} + \dim_set:Nn \tex_parindent:D {#2} + \bool_if:NTF #1 + { \ctex_hang_from:n } + { \use:n } + { \@@_insert_indent: #3 } } -\cs_new_protected_nopar:Npn \@@_indent_aux: +\cs_new_protected:Npn \ctex_hang_from:n #1 { - \dim_compare:nNnF \parindent = \c_zero_dim - { \skip_horizontal:n { \parindent } } + \tex_noindent:D + \hbox_set:Nn \l_@@_tmp_box {#1} + \tex_hangindent:D = \box_wd:N \l_@@_tmp_box + \box_use_drop:N \l_@@_tmp_box } +\cs_generate_variant:Nn \ctex_heading_hang:Nnn { c } % \end{macrocode} % \end{macro} % -% \begin{macro}[int]{\CTEX@hangfrom} -% \opt{hang} 选项控制是否采用悬挂缩进。 +% \begin{macro}[int]{\ctex_heading_glue:n,\CTEX@heading@glue} +% 如果缩进 |#1| 长度为零,就不插入水平间距。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@hangfrom +\cs_new_protected:Npn \ctex_heading_glue:n #1 { - \bool_if:NTF \CTEX@hang - { \@hangfrom } - { \noindent \use:n } + \group_begin: + \skip_set:Nn \l_@@_heading_skip {#1} + \dim_compare:nNnF \l_@@_heading_skip = \c_zero_dim + { \skip_horizontal:N \l_@@_heading_skip } + \group_end: } +\cs_new_eq:NN \CTEX@heading@glue \ctex_heading_glue:n % \end{macrocode} % \end{macro} % % \begin{macro}[int]{\CTEX@update@sectionformat@n} % 在 \tn{@startsection} 中设置 \tn{CTEX@titleformat@n} 等为相应函数。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@update@sectionformat@n #1 +\cs_new_protected:Npn \CTEX@update@sectionformat@n #1 { \cs_set_eq:Nc \CTEX@titleformat@n { CTEX@#1@titleformat } \cs_set_eq:Nc \CTEX@aftertitle { CTEX@#1@aftertitle } @@ -7877,7 +8162,7 @@ Copyright and Licence % % \begin{macro}[int]{\CTEXnumberline} % \begin{macrocode} -\cs_new_nopar:Npn \CTEXnumberline #1 +\cs_new:Npn \CTEXnumberline #1 { \CTEXifname { \protect \numberline { \use:c { CTEXthe #1 } } } @@ -7891,7 +8176,7 @@ Copyright and Licence \seq_map_inline:Nn \c_@@_section_headings_seq { \int_incr:N \l_@@_tmp_int - \cs_gset_protected_nopar:cpx {#1} + \cs_gset_protected:cpx {#1} { \exp_not:N \@startsection {#1} { \int_use:N \l_@@_tmp_int } @@ -7909,7 +8194,7 @@ Copyright and Licence % % \begin{macro}[int]{appendix/name,appendix/number,appendix/numbering} % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { appendix .meta:nn = { ctex / appendix } {#1} , appendix / name .code:n = @@ -7926,7 +8211,7 @@ Copyright and Licence % \begin{macro}[int]{\appendix} % \begin{macrocode} \cs_new_eq:NN \CTEX@save@appendix \appendix -\cs_gset_protected_nopar:Npn \appendix +\cs_gset_protected:Npn \appendix { \CTEX@save@appendix %<*article> @@ -7952,7 +8237,7 @@ Copyright and Licence % \begin{macro}[int]{\CTEX@makeanchor} % 设置超链接跳转锚点,在 \pkg{hyperref} 载入后才有意义。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@makeanchor #1 +\cs_new_protected:Npn \CTEX@makeanchor #1 { } % \end{macrocode} % \end{macro} @@ -7976,7 +8261,7 @@ Copyright and Licence % \opt{implicit} 选项的控制)。我们在上面对标题命令的修改已经包含这一功能,如果这些标题命令在 % \pkg{hyperref} 载入之前没有被修改过,则恢复 \CTeX{} 的定义。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@hyperheadinghook +\cs_new_protected:Npn \CTEX@hyperheadinghook { \group_begin: \ifHy@implicit @@ -8001,7 +8286,7 @@ Copyright and Licence % \begin{macrocode} \ctex_at_end_package:nn { hyperref } { - \cs_gset_protected_nopar:Npn \CTEX@makeanchor #1 + \cs_gset_protected:Npn \CTEX@makeanchor #1 { \Hy@MakeCurrentHrefAuto {#1} \Hy@raisedlink @@ -8025,7 +8310,7 @@ Copyright and Licence { } \ctex_at_end_package:nn { nameref } { - \cs_gset_protected_nopar:Npn \CTEX@gettitle { \NR@gettitle } + \cs_gset_protected:Npn \CTEX@gettitle { \NR@gettitle } \seq_map_inline:Nn \c_@@_headings_cs_seq { \cs_if_eq:ccT { NR@ #1 } { CTEX@ #1 } @@ -8062,7 +8347,7 @@ Copyright and Licence % 如果使用了 \pkg{titlesec} 的 \opt{indentafter} 等选项,也不需要调整 % |\ttls@|\meta{section}。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_titlesec_hook: +\cs_new_protected:Npn \ctex_titlesec_hook: { \@ifpackagewith { titlesec } { explicit } { @@ -8082,17 +8367,17 @@ Copyright and Licence } \seq_map_function:NN \c_@@_section_headings_seq \@@_titlesec_hook:n } -\cs_new_protected_nopar:Npn \@@_titlesec_hook:n #1 +\cs_new_protected:Npn \@@_titlesec_hook:n #1 { \@@_titlesec_format:n {#1} \exp_args:Nc \@@_titlesec_spacing:Nn { ttls@#1 } {#1} } -\cs_new_protected_nopar:Npn \@@_titlesec_format:n #1 +\cs_new_protected:Npn \@@_titlesec_format:n #1 { \cs_if_free:cF { ttlf@#1 } { \exp_args:Nc \@@_titlesec_format:Nn { ttlf@#1 } {#1} } } -\cs_new_protected_nopar:Npn \@@_titlesec_format:Nn #1#2 +\cs_new_protected:Npn \@@_titlesec_format:Nn #1#2 { \tl_set:Nx #1 { @@ -8102,7 +8387,7 @@ Copyright and Licence \tl_tail:N #1 } } -\cs_new_protected_nopar:Npn \@@_titlesec_format_explicit:Nn #1#2 +\cs_new_protected:Npn \@@_titlesec_format_explicit:Nn #1#2 { \cs_set_nopar:Npx #1 ##1 { @@ -8112,7 +8397,7 @@ Copyright and Licence \exp_args:No \tl_tail:n { #1 { } } } } -\cs_new_protected_nopar:Npn \@@_titlesec_spacing:Nn #1#2 +\cs_new_protected:Npn \@@_titlesec_spacing:Nn #1#2 { \tl_set:Nx #1 { \exp_after:wN \@@_titlesec_spacing:nnnnnn #1 {#2} } } \cs_new:Npn \@@_titlesec_spacing:nnnnnn #1#2#3#4#5#6 { @@ -8145,14 +8430,14 @@ Copyright and Licence % \cs_if_free:NF \ttl@tocpart { - \cs_set_protected_nopar:Npn \ttl@tocpart + \cs_set_protected:Npn \ttl@tocpart { \tl_set:Nn \ttl@a { \CTEXthepart \hspace { 1em } } } } \seq_map_inline:Nn \c_@@_headings_seq { \cs_if_exist:cF { ttl@toc #1 } { - \cs_new_protected_nopar:cpx { ttl@toc #1 } + \cs_new_protected:cpx { ttl@toc #1 } { \tl_set:Nn \exp_not:N \ttl@a { @@ -8178,7 +8463,7 @@ Copyright and Licence % \begin{macrocode} \group_begin: \char_set_catcode_other:N \# -\cs_new_protected_nopar:Npn \ctex_titleps_hook: +\cs_new_protected:Npn \ctex_titleps_hook: { \ctex_patch_cmd:Nnn \ttl@settopmark { \protect \@namedef { the#1 } { \@nameuse { the#1 } } } @@ -8207,12 +8492,12 @@ Copyright and Licence % 这两个函数要在随后被 \tn{xdef} 展开来获得 |\CTEXtheXXX| 的内容,不应该用 % \tn{protected} 来定义。 % \begin{macrocode} -\cs_new_nopar:Npn \CTEX@titlepslabel@set #1 +\cs_new:Npn \CTEX@titlepslabel@set #1 { \cs_if_free:cF { CTEXthe#1 } { \protect \@namedef { CTEXthe#1 } { \@nameuse { CTEXthe#1 } } } } -\cs_new_nopar:Npn \CTEX@titlepslabel@clear #1 +\cs_new:Npn \CTEX@titlepslabel@clear #1 { \cs_if_free:cF { CTEXthe#1 } { \protect \@namedef { CTEXthe#1 } { } } @@ -8240,9 +8525,9 @@ Copyright and Licence % \begin{macrocode} \ctex_at_end_package:nn { titleps } { - \cs_set_protected_nopar:Npn \ttl@setifthe #1 + \cs_set_protected:Npn \ttl@setifthe #1 { - \exp_args:Nco \cs_set_nopar:Npn { ifthe #1 } + \exp_args:Nco \cs_set:Npn { ifthe #1 } { \CTEXifname { \protect \@firstoftwo } @@ -8257,7 +8542,7 @@ Copyright and Licence % % \subsubsection{目录标签的宽度} % -% \begin{macro}[int]{\numberline} +% \begin{macro}{\CTEX@toc@width@n} % \begin{macrocode} \cs_new_protected:Npn \CTEX@toc@width@n #1 { @@ -8268,6 +8553,17 @@ Copyright and Licence { \box_wd:N \l_@@_tmp_box + \f@size \p@ / 2 } } } +% \end{macrocode} +% \end{macro} +% +% \changes{v2.5}{2020/01/11}{兼容 \pkg{titletoc} 宏包。} +% +% \begin{macro}{\numberline,\@@_patch_toc_width:n} +% 为 \tn{numberline} 命令打补丁,并兼容 \pkg{tocloft} 和 \pkg{titletoc} 宏包。 +% +% 这里需要替换 |#| 本身,因此需要先切换为 other 类。表示参数的 |#| 用 +% \cs{c_parameter_token} 代替。 +% \begin{macrocode} \group_begin: \char_set_catcode_other:N \# \use:n @@ -8277,19 +8573,24 @@ Copyright and Licence { \CTEX@toc@width@n {#1} } { } { \ctex_patch_failure:N \numberline } - \@ifpackageloaded { tocloft } - { } + \cs_new_protected:Npn \@@_patch_toc_width:n \c_parameter_token 1 { - \ctex_at_end_package:nn { tocloft } + \@ifpackageloaded { \c_parameter_token 1 } + { } { - \ctex_preto_cmd:NnnTF \numberline - { \char_set_catcode_letter:n { 64 } } - { \CTEX@toc@width@n {#1} } - { } - { \ctex_patch_failure:N \numberline } + \ctex_at_end_package:nn { \c_parameter_token 1 } + { + \ctex_preto_cmd:NnnTF \numberline + { \char_set_catcode_letter:n { 64 } } + { \CTEX@toc@width@n {#1} } + { } + { \ctex_patch_failure:N \numberline } + } } } } +\@@_patch_toc_width:n { tocloft } +\@@_patch_toc_width:n { titletoc } % \end{macrocode} % \end{macro} % @@ -8385,72 +8686,69 @@ Copyright and Licence % \begin{macrocode} \defbeamertemplate*{part page}{CTEX}[1][]{% \begingroup - \CTEX@disableautoindent % \centering % {\usebeamerfont{part name}% % \usebeamercolor[fg]{part name}\partname~\insertromanpartnumber} % \vskip1em\par \par \addvspace{\glueexpr\CTEX@part@beforeskip\relax}% - \CTEX@part@format - \parindent \dimexpr \CTEX@part@indent \relax - \ifodd \CTEX@part@numbering - \CTEX@partname \CTEX@part@aftername - \fi - \begin{beamercolorbox}[sep=16pt,center,#1]{part title} -% \usebeamerfont{part title}\insertpart\par - \CTEX@part@titleformat \insertpart \CTEX@part@aftertitle - \end{beamercolorbox}% + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@indentbox{\CTEX@part@indent}% + \ifodd \CTEX@part@numbering + \CTEX@partname \CTEX@part@aftername + \fi + \begin{beamercolorbox}[sep=16pt,center,#1]{part title} +% \usebeamerfont{part title}\insertpart\par + \CTEX@part@titleformat \insertpart \CTEX@part@aftertitle + \end{beamercolorbox}}% \par \addvspace{\glueexpr\CTEX@part@afterskip\relax}% - \endgroup -} + \endgroup} % \end{macrocode} % % 对应 \tn{sectionpage}。 % \begin{macrocode} \defbeamertemplate*{section page}{CTEX}[1][]{% \begingroup - \CTEX@disableautoindent % \centering % {\usebeamerfont{section name}% % \usebeamercolor[fg]{section name}\sectionname~\insertsectionnumber} % \vskip1em\par \par \addvspace{\glueexpr\CTEX@section@beforeskip\relax}% - \CTEX@section@format - \parindent \dimexpr \CTEX@section@indent \relax - \ifodd \CTEX@section@numbering - \CTEX@sectionname \CTEX@section@aftername - \fi - \begin{beamercolorbox}[sep=12pt,center,#1]{part title} -% \usebeamerfont{section title}\insertsection\par - \CTEX@section@titleformat \insertsection \CTEX@section@aftertitle - \end{beamercolorbox}% + \CTEX@heading@format@initial + \CTEX@section@format{% + \CTEX@indentbox{\CTEX@section@indent}% + \ifodd \CTEX@section@numbering + \CTEX@sectionname \CTEX@section@aftername + \fi + \begin{beamercolorbox}[sep=12pt,center,#1]{part title} +% \usebeamerfont{section title}\insertsection\par + \CTEX@section@titleformat \insertsection \CTEX@section@aftertitle + \end{beamercolorbox}}% \par \addvspace{\glueexpr\CTEX@section@afterskip\relax}% - \endgroup -} + \endgroup} % \end{macrocode} % % 对应 \tn{subsectionpage}。 % \begin{macrocode} \defbeamertemplate*{subsection page}{CTEX}[1][]{% \begingroup - \CTEX@disableautoindent % \centering % {\usebeamerfont{subsection name}% % \usebeamercolor[fg]{subsection name}\subsectionname~\insertsubsectionnumber} % \vskip1em\par \par \addvspace{\glueexpr\CTEX@subsection@beforeskip\relax}% - \CTEX@subsection@format - \parindent \dimexpr \CTEX@subsection@indent \relax - \ifodd \CTEX@subsection@numbering - \CTEX@subsectionname \CTEX@subsection@aftername - \fi - \begin{beamercolorbox}[sep=8pt,center,#1]{part title} -% \usebeamerfont{subsection title}\insertsubsection\par - \CTEX@subsection@titleformat \insertsubsection \CTEX@subsection@aftertitle - \end{beamercolorbox}% + \CTEX@heading@format@initial + \CTEX@subsection@format{% + \CTEX@indentbox{\CTEX@subsection@indent}% + \ifodd \CTEX@subsection@numbering + \CTEX@subsectionname \CTEX@subsection@aftername + \fi + \begin{beamercolorbox}[sep=8pt,center,#1]{part title} +% \usebeamerfont{subsection title}\insertsubsection\par + \CTEX@subsection@titleformat \insertsubsection \CTEX@subsection@aftertitle + \end{beamercolorbox}}% \par \addvspace{\glueexpr\CTEX@subsection@afterskip\relax}% - \endgroup -} + \endgroup} % \end{macrocode} % % 将 \cls{beamer} 的默认模板重定向为 \texttt{CTEX} 模板。 @@ -8473,7 +8771,7 @@ Copyright and Licence % \begin{macro}[int]{\refstepcounter} % 对标题进行引用时,设置标签为通过 \opt{number} 选项设置的形式。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \CTEX@setcurrentlabel@n #1 +\cs_new_protected:Npn \CTEX@setcurrentlabel@n #1 { \protected@edef \@currentlabel { @@ -8490,8 +8788,9 @@ Copyright and Licence % \pkg{hyperref} 宏包都会保存之前的定义,并且它们都要求尽可能晚的被载入,所以 % 对我们上述的修改影响不大。需要注意的是 \pkg{varioref} 宏包,如果它在 % \CTeX{} 之后被载入,我们之前的修改将会被覆盖。 +% 较新版 \LaTeX \ 内核已经包含 \tn{labelformat},可以直接使用。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_varioref_hook: +\cs_new_protected:Npn \ctex_varioref_hook: { \seq_map_inline:Nn \c_@@_headings_seq { \ctex_fix_varioref_label:n { ##1 } } @@ -8510,17 +8809,19 @@ Copyright and Licence % \end{verbatim} % 它的第二个参数必须放在花括号内,否则将会被作为宏的定界符号。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_fix_varioref_label:n #1 +\cs_new_protected:Npn \ctex_fix_varioref_label:n #1 { \tl_if_empty:cT { p@#1 } - { \exp_args:Nno \labelformat {#1} { \cs:w CTEX@the#1 \cs_end: } } + { \exp_args:Nnx \labelformat {#1} { \exp_not:c { CTEX@the#1 } } } } % \end{macrocode} % \end{macro} % +% \changes{v2.5}{2020/04/19}{应用新内核中的 \tn{labelformat}。} +% % 如果 \pkg{varioref} 已经被载入,则使用它来设置。 % \begin{macrocode} -\@ifpackageloaded { varioref } +\cs_if_exist:NTF \labelformat { \ctex_varioref_hook: } { \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter @@ -8558,7 +8859,7 @@ Copyright and Licence % 标题的 \opt{nameformat} 和 \opt{titleformat} 选项的初值合并到 \opt{format} 中。} % % \begin{macrocode} -\keys_set:nn { ctex / part } +\ctex_set:nn { part } { aftertitle = \par , %<*article|book|report> @@ -8619,7 +8920,7 @@ Copyright and Licence % % \begin{macrocode} %<*book|report> -\keys_set:nn { ctex / chapter } +\ctex_set:nn { chapter } { pagestyle = plain , aftertitle = \par , @@ -8650,16 +8951,12 @@ Copyright and Licence % \end{macrocode} % % \begin{macrocode} -%<@@=> -% \end{macrocode} -% -% \begin{macrocode} -\keys_set:nn { ctex / section } +\ctex_set:nn { section } { %<*article|book|report> number = \thesection , aftername = \quad , - aftertitle = \@@par , + aftertitle = \@@@@par , beforeskip = 3.5ex \@plus 1ex \@minus .2ex , afterskip = 2.3ex \@plus .2ex , runin = false , @@ -8689,13 +8986,13 @@ Copyright and Licence % \end{macrocode} % % \begin{macrocode} -\keys_set:nn { ctex / subsection } +\ctex_set:nn { subsection } { %<*article|book|report> number = \thesubsection , format = \large \bfseries , aftername = \quad , - aftertitle = \@@par , + aftertitle = \@@@@par , beforeskip = 3.25ex \@plus 1ex \@minus .2ex , afterskip = 1.5ex \@plus .2ex , runin = false , @@ -8730,12 +9027,12 @@ Copyright and Licence % \end{macrocode} % % \begin{macrocode} -\keys_set:nn { ctex / subsubsection } +\ctex_set:nn { subsubsection } { number = \thesubsubsection , format = \normalsize \bfseries , aftername = \quad , - aftertitle = \@@par , + aftertitle = \@@@@par , beforeskip = 3.25ex \@plus 1ex \@minus .2ex , afterskip = 1.5ex \@plus .2ex , runin = false , @@ -8750,7 +9047,7 @@ Copyright and Licence % \end{macrocode} % % \begin{macrocode} -\keys_set:nn { ctex / paragraph } +\ctex_set:nn { paragraph } { number = \theparagraph , format = \normalsize \bfseries , @@ -8767,7 +9064,7 @@ Copyright and Licence % \end{macrocode} % % \begin{macrocode} -\keys_set:nn { ctex / subparagraph } +\ctex_set:nn { subparagraph } { number = \thesubparagraph , format = \normalsize \bfseries , @@ -8787,15 +9084,15 @@ Copyright and Licence % \begin{macrocode} \int_compare:nNnTF \g__ctex_section_depth_int > 2 { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { - aftertitle = \@@par , + aftertitle = \@@@@par , afterskip = 1ex \@plus .2ex , runin = false } } { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { afterskip = 1em , runin = true @@ -8803,32 +9100,28 @@ Copyright and Licence } \int_compare:nNnTF \g__ctex_section_depth_int > 3 { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { - aftertitle = \@@par , + aftertitle = \@@@@par , afterskip = 1ex \@plus .2ex , runin = false } } { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { afterskip = 1em , runin = true } } \int_compare:nNnTF \g__ctex_section_depth_int > 2 - { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } } - { \keys_set:nn { ctex / subparagraph } { indent = \parindent } } -% \end{macrocode} -% -% \begin{macrocode} -%<@@=ctex> + { \ctex_set:nn { subparagraph } { indent = \c_zero_dim } } + { \ctex_set:nn { subparagraph } { indent = \parindent } } % \end{macrocode} % % 处理附录的格式。 % \begin{macrocode} -\keys_set:nn { ctex / appendix } +\ctex_set:nn { appendix } %<*article> { number = \@Alph \c@section } % @@ -8890,7 +9183,7 @@ Copyright and Licence { \tl_const:Nn \c_@@_class_tl { article } } \msg_warning:nnx { ctex } { not-standard-class } { \c_@@_class_tl } } - \ctex_file_input:n { ctex- \c_@@_class_tl .def } + \ctex_file_input:n { ctex-heading- \c_@@_class_tl .def } } % { \ctex_scheme_input:o { \l_@@_scheme_tl } } % \end{macrocode} @@ -8943,19 +9236,19 @@ Copyright and Licence % % 日期格式。 % \begin{macrocode} -\keys_set:nn { ctex } { today = small } +\ctex_set:n { today = small } % \end{macrocode} % % 若用户未设置宏包选项 \opt{autoindent},则自动调整首行缩进。 % \begin{macrocode} \ctex_if_autoindent_touched:F - { \keys_set:nn { ctex } { autoindent = true } } + { \ctex_set:n { autoindent = true } } % \end{macrocode} % % 使用标题定义时的设置。首先是命题名字汉化。\cls{beamer} 需要汉化定理名称。 % \begin{macrocode} %<*!generic> -\str_if_eq:onTF { \l_@@_encoding_tl } { GBK } +\str_if_eq:onTF { \g_@@_encoding_tl } { GBK } %<*beamer> { \uselanguage { ChineseGBK } @@ -8989,19 +9282,19 @@ Copyright and Licence % 对 \cls{beamer} 以外的文档类,若用户未设置宏包选项 \opt{linespread},则设置行 % 距初始值为 $1.3\times 1.2=1.56$ 倍字体大小。\cls{beamer} 不调整行距。 % \begin{macrocode} -\fp_compare:nNnT { \l_@@_line_spread_fp } ? { \c_zero_fp } +\fp_if_nan:nT { \l_@@_line_spread_fp } { \fp_set:Nn \l_@@_line_spread_fp { 1.3 } } % % % \end{macrocode} % -% 不使用标题定义时的通用设置。 +% 不使用标题定义时的通用设置,注意此处 \cs{c_@@_std_class_tl} 可能没有定义。 % \begin{macrocode} %<*generic> \tl_set:Nn \l_@@_tmp_tl { beamer } \tl_if_eq:NNTF \c_@@_std_class_tl \l_@@_tmp_tl { - \str_if_eq:onTF { \l_@@_encoding_tl } { GBK } + \str_if_eq:onTF { \g_@@_encoding_tl } { GBK } { \uselanguage { ChineseGBK } \languagealias { chinese } { ChineseGBK } @@ -9015,12 +9308,12 @@ Copyright and Licence \clist_put_left:Nn \trans@languagepath { chinese } } { - \str_if_eq:onTF { \l_@@_encoding_tl } { GBK } + \str_if_eq:onTF { \g_@@_encoding_tl } { GBK } { \ctex_file_input:n { ctex-name-gbk.cfg } } { \ctex_file_input:n { ctex-name-utf8.cfg } } \int_compare:nNnF \g_@@_font_size_int > { -1 } { \int_gset:Nn \g_@@_font_size_int { 0 } } - \fp_compare:nNnT { \l_@@_line_spread_fp } ? { \c_zero_fp } + \fp_if_nan:nT { \l_@@_line_spread_fp } { \fp_set:Nn \l_@@_line_spread_fp { 1.3 } } % \end{macrocode} % \changes{v2.0.2}{2015/05/16}{修复加载 \pkg{ctex} 宏包后章节标题后第一段 @@ -9055,7 +9348,7 @@ Copyright and Licence % % \begin{macro}[int]{\ctex_zihao:n} % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_zihao:n #1 +\cs_new_protected:Npn \ctex_zihao:n #1 { \prop_get:NnNTF \c_@@_font_size_prop {#1} \l_@@_font_size_tl { \exp_after:wN \fontsize \l_@@_font_size_tl \selectfont } @@ -9083,7 +9376,7 @@ Copyright and Licence % \begin{macrocode} \prop_new:N \c_@@_font_size_prop \seq_new:N \c_@@_font_size_seq -\cs_new_protected_nopar:Npn \@@_save_font_size:nn #1#2 +\cs_new_protected:Npn \@@_save_font_size:nn #1#2 { \use:x { @@ -9121,7 +9414,7 @@ Copyright and Licence % % \begin{macro}[int]{\ctex_declare_math_sizes:nnnn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 { \@@_get_font_sizes:Nn \l_@@_font_size_tl { {#1} {#2} {#3} {#4} } \exp_after:wN \DeclareMathSizes \l_@@_font_size_tl @@ -9131,7 +9424,7 @@ Copyright and Licence % % \begin{macro}{\@@_get_font_sizes:Nn} % \begin{macrocode} -\cs_new_protected_nopar:Npn \@@_get_font_sizes:Nn #1#2 +\cs_new_protected:Npn \@@_get_font_sizes:Nn #1#2 { \tl_clear:N #1 \tl_map_inline:nn {#2} @@ -9178,16 +9471,16 @@ Copyright and Licence { \msg_error:nnn { ctex } { fontsize } {#2} } } \cs_new_protected:Npn \@@_set_font_size:nnNn #1#2#3#4 - { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } + { \cs_set_protected:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } % \end{macrocode} % \end{macro} % % \begin{macrocode} -\if_case:w \g_@@_font_size_int - \ctex_file_input:n { ctex-c5size.clo } -\or: - \ctex_file_input:n { ctex-cs4size.clo } -\fi: +\int_case:nn { \g_@@_font_size_int } + { + { 0 } { \ctex_file_input:n { ctex-c5size.clo } } + { 1 } { \ctex_file_input:n { ctex-cs4size.clo } } + } % \end{macrocode} % % \begin{macrocode} @@ -9287,7 +9580,7 @@ Copyright and Licence % % \cs{l_@@_line_spread_fp} 被设置了才有必要更新行距和 \tn{footnotesep}。 % \begin{macrocode} -\fp_compare:nNnF { \l_@@_line_spread_fp } ? { \c_zero_fp } +\fp_if_nan:nF { \l_@@_line_spread_fp } { \exp_args:Nx \linespread { \fp_use:N \l_@@_line_spread_fp } % \end{macrocode} @@ -9310,7 +9603,7 @@ Copyright and Licence \normalsize % \end{macrocode} % -% \subsection{其它功能} +% \subsection{其他功能} % % \begin{macro}{\CTeX} % \changes{v2.4.12}{2017/12/05}{不依赖 \tn{ifincsname}。} @@ -9332,11 +9625,11 @@ Copyright and Licence % \begin{macro}{captiondelimiter} % 过时选项。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { captiondelimiter .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { You~can~load~the~package~`caption'~to~get~its~functionality. } } } @@ -9368,56 +9661,113 @@ Copyright and Licence % {解决 \pkg{etoolbox} 与 \pkg{breqn} 关于 \tn{end} 的冲突。} % \changes{v2.2}{2015/06/23}{删去 \pkg{etoolbox} 与 \pkg{breqn} 的兼容补丁。} % -% \subsection{载入中文字体} +% \subsection{载入中文字库} % % \begin{macro}[int]{\ctex_fontset_error:n} % 字库不可用时给出紧急错误信息,停止读取定义文件。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_fontset_error:n #1 +\cs_new_protected:Npn \ctex_fontset_error:n #1 { \msg_critical:nnn { ctex } { fontset-unavailable } {#1} } \msg_new:nnn { ctex } { fontset-unavailable } { CTeX~fontset~`#1'~is~unavailable~in~current~mode. } % \end{macrocode} % \end{macro} % +% \begin{macro}{\ctex_fontset_case:nnn} +% $3$ 个参数依次为 \pdfTeX、\upTeX\ 和 \XeTeX/\LuaTeX。 +% \begin{macrocode} +\cs_new:Npx \ctex_fontset_case:nnn #1#2#3 + { + \sys_if_engine_pdftex:TF + {#1} + { \sys_if_engine_uptex:TF {#2} {#3} } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\ctex_fontset_case:nnnn} +% $4$ 个参数依次为 \pdfTeX(生成 PDF)、\pdfTeX(生成 DVI)、\upTeX 和 +% \XeTeX/\LuaTeX。 +% \begin{macrocode} +\cs_new:Npx \ctex_fontset_case:nnnn #1#2#3#4 + { + \sys_if_engine_pdftex:TF + { \sys_if_output_pdf:TF {#1} {#2} } + { \sys_if_engine_uptex:TF {#3} {#4} } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[int]{\ctex_detect_platform:} +% 根据操作系统判断默认字体配置。 +% \begin{macrocode} +\cs_new_protected:Npn \ctex_detect_platform: + { + \sys_if_platform_windows:TF + { \tl_gset:Nn \g_@@_fontset_tl { windows } } + { + \ctex_if_platform_macos:TF + { \tl_gset:Nn \g_@@_fontset_tl { mac } } + { \tl_gset:Nn \g_@@_fontset_tl { fandol } } + } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[int]{\ctex_if_platform_macos:TF} +% \changes{v2.1}{2015/06/17}{改用 \file{/Library/Fonts/Songti.ttc} 为特征文件。} +% \changes{v2.5}{2019/10/25}{改用 \file{/System/Library/Fonts/Menlo.ttc} +% 为特征文件。} +% 以特定字体判断 macOS 系统。 +% \begin{macrocode} +\cs_new_protected:Npn \ctex_if_platform_macos:TF + { \file_if_exist:nTF { /System/Library/Fonts/Menlo.ttc } } +% \end{macrocode} +% \end{macro} +% % \begin{macro}[int]{\ctex_load_fontset:} % 如果用户没有指定字体,则探测操作系统,载入相应的字体配置。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_load_fontset: +\cs_new_protected:Npn \ctex_load_fontset: { \tl_if_empty:NTF \g_@@_fontset_tl + { \ctex_detect_platform: } { - \ctex_detected_platform: - \ctex_file_input:n { ctex-fontset- \g_@@_fontset_tl .def } - } - { - \file_if_exist:nTF { ctex-fontset- \g_@@_fontset_tl .def } - { \ctex_file_input:n { ctex-fontset- \g_@@_fontset_tl .def } } + \bool_lazy_or:nnTF + { \str_if_eq_p:on { \g_@@_fontset_tl } { windowsnew } } + { \str_if_eq_p:on { \g_@@_fontset_tl } { windowsold } } { - \use:x + \msg_warning:nnxx { ctex } { deprecated-fontset } + { \g_@@_fontset_tl } { windows } + \tl_gset:Nn \g_@@_fontset_tl { windows } + } + { + \file_if_exist:nF { ctex-fontset- \g_@@_fontset_tl .def } { - \ctex_detected_platform: - \msg_error:nnxx { ctex } { fontset-not-found } - { \g_@@_fontset_tl } { \exp_not:N \g_@@_fontset_tl } + \use:x + { + \ctex_detect_platform: + \msg_error:nnxx { ctex } { fontset-not-found } + { \g_@@_fontset_tl } { \exp_not:N \g_@@_fontset_tl } + } } - \ctex_file_input:n { ctex-fontset- \g_@@_fontset_tl .def } } } + \ctex_file_input:n { ctex-fontset- \g_@@_fontset_tl .def } } -\@onlypreamble \ctex_load_fontset: +\msg_new:nnn { ctex } { deprecated-fontset } + { CTeX~fontset~`#1'~is~deprecated.\\ Fontset~`#2'~will~be~used~instead. } \msg_new:nnnn { ctex } { fontset-not-found } - { - CTeX~fontset~`#1'~could~not~be~found.\\ - Fontset~`#2'~will~be~used~instead. - } + { CTeX~fontset~`#1'~could~not~be~found.\\ Fontset~`#2'~will~be~used~instead. } { You~may~run~`mktexlsr'~firstly. } +\@onlypreamble \ctex_load_fontset: % \end{macrocode} % \end{macro} % % \begin{macro}{fontset} % 在导言区通过 \tn{ctexset} 载入中文字库的选项。 % \begin{macrocode} -\keys_define:nn { ctex } +\ctex_define:n { fontset .code:n = { @@ -9447,9 +9797,7 @@ Copyright and Licence } { Only~one~fontset~can~be~loaded~in~the~preamble. } \msg_new:nnn { ctex } { fontset-only-preamble } - { - The~ `fontset'~ option~ can~ be~ used~ only~ in~ preamble. - } + { The~`fontset'~option~can~be~used~only~in~preamble. } % \end{macrocode} % \end{macro} % @@ -9479,11 +9827,11 @@ Copyright and Licence % % \subsubsection{\pkg{ctexopts.cfg}} % -% 这里仅为配置文件示例:使用 Windows Vista 或以后版本的字体设置。 +% 这里仅为配置文件示例:使用 Windows 下的字体设置。 % \begin{macrocode} %<*ctexopts> %% -%% \keys_set:nn { ctex / option } { fontset = windowsnew } +%% \ctex_set:nn { option } { fontset = windows } % % \end{macrocode} % @@ -9555,11 +9903,13 @@ Copyright and Licence %<*jy2> \DeclareFontShape{JY2}{zhrm}{m}{n}{<-> upzhserif-h}{} \DeclareFontShape{JY2}{zhrm}{m}{it}{<-> upzhserifit-h}{} +\DeclareFontShape{JY2}{zhrm}{b}{n}{<-> upzhserifb-h}{} \DeclareFontShape{JY2}{zhrm}{bx}{n}{<-> upzhserifb-h}{} % %<*jt2> \DeclareFontShape{JT2}{zhrm}{m}{n}{<-> upzhserif-v}{} \DeclareFontShape{JT2}{zhrm}{m}{it}{<-> upzhserifit-v}{} +\DeclareFontShape{JT2}{zhrm}{b}{n}{<-> upzhserifb-v}{} \DeclareFontShape{JT2}{zhrm}{bx}{n}{<-> upzhserifb-v}{} % % @@ -9591,10 +9941,12 @@ Copyright and Licence % %<*jy2> \DeclareFontShape{JY2}{zhsf}{m}{n}{<-> upzhsans-h}{} +\DeclareFontShape{JY2}{zhsf}{b}{n}{<-> upzhsansb-h}{} \DeclareFontShape{JY2}{zhsf}{bx}{n}{<-> upzhsansb-h}{} % %<*jt2> \DeclareFontShape{JT2}{zhsf}{m}{n}{<-> upzhsans-v}{} +\DeclareFontShape{JT2}{zhsf}{b}{n}{<-> upzhsansb-v}{} \DeclareFontShape{JT2}{zhsf}{bx}{n}{<-> upzhsansb-v}{} % % @@ -9633,307 +9985,238 @@ Copyright and Licence % % \end{macrocode} % +% \subsubsection{预定义字库} +% % \begin{macrocode} %<*fontset> % \end{macrocode} % -% \subsubsection{\pkg{ctex-fontset-windows.def} 等} +% \paragraph{\opt{adobe}} % -% \changes{v2.4.1}{2016/05/14}{使用 \file{bootfont.bin} 判断 Windows XP 以避免 -% 权限问题。} -% \pkg{ctex} 包利用 |C:\bootfont.bin| 文件的存在性来判断是否使用 Windows XP 版 -% 本,分别载入新旧字体设置。(注:\pkg{ctex} 包不支持 Windows 2000 以前使用 -% \file{simsun.ttf} 的旧宋体文件名。) -% \begin{macrocode} -%<*windows> -\file_if_exist:nTF { C:/bootfont.bin } - { \ctex_file_input:n { ctex-fontset-windowsold.def } } - { \ctex_file_input:n { ctex-fontset-windowsnew.def } } -% -% \end{macrocode} -% -% 旧的 Windows 字体设置使用黑体作为无衬线体,楷体和仿宋是 GB2312 编码;新的 -% Windows 字体设置使用微软雅黑作为无衬线体,楷体和仿宋是大字库。 -% Windows 8 以后,微软雅黑由原来的 \file{.ttf} 后缀改为 \file{.ttc} 后缀,需要 -% 加以区分。 +% \tn{pdfmapline} 不支持 OpenType 字体,因而 \opt{adobe} 字体集在 pdf 模式下 +% 就没有定义。\opt{fandol} 的情况类似。 % \begin{macrocode} -%<*windowsnew> -\tl_new:N \l_@@_msyh_suffix_tl -\tl_set:Nn \l_@@_msyh_suffix_tl { .ttc } -\file_if_exist:nF { C:/Windows/Fonts/msyh.ttc } - { - \file_if_exist:nF { msyh.ttc } - { \tl_set:Nn \l_@@_msyh_suffix_tl { .ttf } } - } -% -%<*windowsnew|windowsold> -\sys_if_engine_pdftex:TF +%<*adobe> +\ctex_fontset_case:nnnn + { \ctex_fontset_error:n { adobe } } { \ctex_zhmap_case:nnn { - \ctex_punct_set:n { windows } - \setCJKmainfont - [ BoldFont = simhei.ttf , ItalicFont = simkai.ttf ] { simsun.ttc } -%<*windowsold> - \setCJKsansfont { simhei.ttf } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } -% -%<*windowsnew> - \setCJKsansfont - [ BoldFont = msyhbd\l_@@_msyh_suffix_tl ] { msyh\l_@@_msyh_suffix_tl } - \setCJKfamilyfont { zhyahei } - [ BoldFont = msyhbd\l_@@_msyh_suffix_tl ] { msyh\l_@@_msyh_suffix_tl } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhyahei } - \ctex_punct_map_bfseries:nn { \CJKsfdefault , zhyahei } { zhyaheib } -% - \setCJKmonofont { simfang.ttf } - \setCJKfamilyfont { zhkai } { simkai.ttf } - \setCJKfamilyfont { zhfs } { simfang.ttf } - \setCJKfamilyfont { zhsong } { simsun.ttc } - \setCJKfamilyfont { zhhei } { simhei.ttf } - \setCJKfamilyfont { zhli } { simli.ttf } - \setCJKfamilyfont { zhyou } { simyou.ttf } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - } - { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhwindowsfonts } - \ctex_punct_set:n { windows } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - } - { - \tl_set:Nn \CJKrmdefault { rm } - \tl_set:Nn \CJKsfdefault { sf } - \tl_set:Nn \CJKttdefault { tt } + \setCJKmainfont { AdobeSongStd-Light.otf } + [ + cmap = UniGB-UTF16-H, + BoldFont = AdobeHeitiStd-Regular.otf, + ItalicFont = AdobeKaitiStd-Regular.otf + ] + \setCJKsansfont { AdobeHeitiStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKmonofont { AdobeFangsongStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhsong } { AdobeSongStd-Light.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhhei } { AdobeHeitiStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhkai } { AdobeKaitiStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhfs } { AdobeFangsongStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \ctex_punct_set:n { adobe } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + } + { + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhadobefonts } + \ctex_punct_set:n { adobe } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } + { \ctex_fontset_error:n { adobe } } } { - \sys_if_engine_uptex:TF - { - \ctex_set_upfonts:nnnnnn - {simsun.ttc} {simhei.ttf} {simkai.ttf} -% {msyh\l_@@_msyh_suffix_tl} {msyhbd\l_@@_msyh_suffix_tl} -% {simhei.ttf} {simhei.ttf} - {simfang.ttf} - \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} - \ctex_set_upfamily:nnn { zhhei } { upzhserifb } {} - \ctex_set_upfamily:nnn { zhfs } { upzhmono} {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} -% \ctex_set_upfamily:nnn { zhyahei } { upzhsans } { upzhsansb } - \ctex_set_upfamily:nnn { zhli } { upschrm } {} - \ctex_set_upmap:nnn { upstsl } { simli.ttf } {} - \ctex_set_upfamily:nnn { zhyou } { upschgt } {} - \ctex_set_upmap:nnn { upstht } { simyou.ttf } {} - } - { -%<*windowsold> - \setCJKmainfont - [ BoldFont = SimHei , ItalicFont = KaiTi_GB2312 ] { SimSun } - \setCJKsansfont { SimHei } - \setCJKmonofont { FangSong_GB2312 } - \setCJKfamilyfont { zhkai } { KaiTi_GB2312 } - \setCJKfamilyfont { zhfs } { FangSong_GB2312 } -% -%<*windowsnew> - \setCJKmainfont - [ BoldFont = SimHei , ItalicFont = KaiTi ] { SimSun } - \setCJKsansfont - [ BoldFont = { *~Bold } ] { Microsoft~YaHei } - \setCJKmonofont { FangSong } - \setCJKfamilyfont { zhkai } { KaiTi } - \setCJKfamilyfont { zhfs } { FangSong } -% - \setCJKfamilyfont { zhsong } { SimSun } - \setCJKfamilyfont { zhhei } { SimHei } - \setCJKfamilyfont { zhli } { LiSu } - \setCJKfamilyfont { zhyou } { YouYuan } -%<*windowsnew> - \setCJKfamilyfont { zhyahei } - [ BoldFont = { *~Bold } ] { Microsoft~YaHei } -% - } + \ctex_set_upfonts:nnnnnn + { AdobeSongStd-Light.otf } + { AdobeHeitiStd-Regular.otf } + { AdobeKaitiStd-Regular.otf } + { AdobeHeitiStd-Regular.otf } + { AdobeHeitiStd-Regular.otf } + { AdobeFangsongStd-Regular.otf } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} + \ctex_set_upfamily:nnn { zhhei } { upzhsans } {} + \ctex_set_upfamily:nnn { zhfs } { upzhmono } {} + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + } + { + \setCJKmainfont { AdobeSongStd-Light } + [ BoldFont = AdobeHeitiStd-Regular, ItalicFont = AdobeKaitiStd-Regular ] + \setCJKsansfont { AdobeHeitiStd-Regular } + \setCJKmonofont { AdobeFangsongStd-Regular } + \setCJKfamilyfont { zhsong } { AdobeSongStd-Light } + \setCJKfamilyfont { zhhei } { AdobeHeitiStd-Regular } + \setCJKfamilyfont { zhfs } { AdobeFangsongStd-Regular } + \setCJKfamilyfont { zhkai } { AdobeKaitiStd-Regular } } -% +% % \end{macrocode} % -% \subsubsection{\pkg{ctex-fontset-adobe.def}} -% -% \begin{macrocode} -%<*adobe> -% \end{macrocode} +% \paragraph{\opt{fandol}} % -% \tn{pdfmapline} 不支持 OpenType 字体,因而 \opt{adobe} 字体集在 pdf 模式下 -% 就没有定义。\opt{fandol} 的情况类似。 % \begin{macrocode} -\sys_if_engine_pdftex:TF +%<*fandol> +\ctex_fontset_case:nnnn + { \ctex_fontset_error:n { fandol } } { - \sys_if_output_pdf:TF - { \ctex_fontset_error:n { adobe } } + \ctex_zhmap_case:nnn { - \ctex_zhmap_case:nnn - { - \setCJKmainfont - [ - cmap = UniGB-UTF16-H , - BoldFont = AdobeHeitiStd-Regular.otf , - ItalicFont = AdobeKaitiStd-Regular.otf - ] { AdobeSongStd-Light.otf } - \setCJKsansfont [ cmap = UniGB-UTF16-H ] { AdobeHeitiStd-Regular.otf } - \setCJKmonofont [ cmap = UniGB-UTF16-H ] { AdobeFangsongStd-Regular.otf } - \setCJKfamilyfont { zhsong } - [ cmap = UniGB-UTF16-H ] { AdobeSongStd-Light.otf } - \setCJKfamilyfont { zhhei } - [ cmap = UniGB-UTF16-H ] { AdobeHeitiStd-Regular.otf } - \setCJKfamilyfont { zhkai } - [ cmap = UniGB-UTF16-H ] { AdobeKaitiStd-Regular.otf } - \setCJKfamilyfont { zhfs } - [ cmap = UniGB-UTF16-H ] { AdobeFangsongStd-Regular.otf } - \ctex_punct_set:n { adobe } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } - \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - } - { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhadobefonts } - \ctex_punct_set:n { adobe } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - } - { \ctex_fontset_error:n { adobe } } + \setCJKmainfont { FandolSong-Regular.otf } + [ + cmap = UniGB-UTF16-H, + BoldFont = FandolSong-Bold.otf, + ItalicFont = FandolKai-Regular.otf + ] + \setCJKsansfont { FandolHei-Regular.otf } + [ cmap = UniGB-UTF16-H, BoldFont = FandolHei-Bold.otf ] + \setCJKmonofont { FandolFang-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhsong } { FandolSong-Regular.otf } + [ cmap = UniGB-UTF16-H, BoldFont = FandolSong-Bold.otf ] + \setCJKfamilyfont { zhhei } { FandolHei-Regular.otf } + [ cmap = UniGB-UTF16-H, BoldFont = FandolHei-Bold.otf ] + \setCJKfamilyfont { zhfs } { FandolFang-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhkai } { FandolKai-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \ctex_punct_set:n { fandol } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } + \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb } + \ctex_punct_map_bfseries:nn { \CJKsfdefault, zhhei } { zhheib } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + } + { + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfandolfonts } + \ctex_punct_set:n { fandol } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } + { \ctex_fontset_error:n { fandol } } } { - \sys_if_engine_uptex:TF - { - \ctex_set_upfonts:nnnnnn - {AdobeSongStd-Light.otf} {AdobeHeitiStd-Regular.otf} {AdobeKaitiStd-Regular.otf} - {AdobeHeitiStd-Regular.otf} {AdobeHeitiStd-Regular.otf} - {AdobeFangsongStd-Regular.otf} - \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} - \ctex_set_upfamily:nnn { zhhei } { upzhsans } {} - \ctex_set_upfamily:nnn { zhfs } { upzhmono} {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} - } - { - \setCJKmainfont - [ - BoldFont = AdobeHeitiStd-Regular , - ItalicFont = AdobeKaitiStd-Regular - ] { AdobeSongStd-Light } - \setCJKsansfont { AdobeHeitiStd-Regular} - \setCJKmonofont { AdobeFangsongStd-Regular} - \setCJKfamilyfont { zhsong } { AdobeSongStd-Light } - \setCJKfamilyfont { zhhei } { AdobeHeitiStd-Regular } - \setCJKfamilyfont { zhfs } { AdobeFangsongStd-Regular } - \setCJKfamilyfont { zhkai } { AdobeKaitiStd-Regular } - } + \ctex_set_upfonts:nnnnnn + { FandolSong-Regular.otf } + { FandolSong-Bold.otf } + { FandolKai-Regular.otf } + { FandolHei-Regular.otf } + { FandolHei-Bold.otf } + { FandolFang-Regular.otf } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } + \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhfs } { upzhmono } {} + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + } + { + \setCJKmainfont { FandolSong-Regular } + [ + Extension = .otf, + BoldFont = FandolSong-Bold, + ItalicFont = FandolKai-Regular + ] + \setCJKsansfont { FandolHei-Regular } + [ Extension = .otf, BoldFont = FandolHei-Bold ] + \setCJKmonofont { FandolFang-Regular } + [ Extension = .otf ] + \setCJKfamilyfont { zhsong } { FandolSong-Regular } + [ Extension = .otf, BoldFont = FandolSong-Bold ] + \setCJKfamilyfont { zhhei } { FandolHei-Regular } + [ Extension = .otf, BoldFont = FandolHei-Bold ] + \setCJKfamilyfont { zhfs } { FandolFang-Regular } + [ Extension = .otf ] + \setCJKfamilyfont { zhkai } { FandolKai-Regular } + [ Extension = .otf ] } +% % \end{macrocode} % -% \begin{macrocode} -% -%<*fandol> -% \end{macrocode} +% \paragraph{\opt{founder}} % -% \subsubsection{\pkg{ctex-fontset-fandol.def}} +% \changes{v2.4.15}{2019/03/28}{统一“方正细黑一\_GBK”的名称为 \texttt{FZXiHeiI-Z08}。} % % \begin{macrocode} -\sys_if_engine_pdftex:TF - { - \sys_if_output_pdf:TF - { \ctex_fontset_error:n { fandol } } - { - \ctex_zhmap_case:nnn - { - \setCJKmainfont - [ - cmap = UniGB-UTF16-H , - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf - ] { FandolSong-Regular.otf } - \setCJKsansfont - [ - cmap = UniGB-UTF16-H , - BoldFont = FandolHei-Bold.otf - ] { FandolHei-Regular.otf } - \setCJKmonofont [ cmap = UniGB-UTF16-H ] { FandolFang-Regular.otf } - \setCJKfamilyfont { zhsong } - [ - cmap = UniGB-UTF16-H , - BoldFont = FandolSong-Bold.otf - ] { FandolSong-Regular.otf } - \setCJKfamilyfont { zhhei } - [ - cmap = UniGB-UTF16-H , - BoldFont = FandolHei-Bold.otf - ] { FandolHei-Regular.otf } - \setCJKfamilyfont { zhfs } - [ cmap = UniGB-UTF16-H ] { FandolFang-Regular.otf } - \setCJKfamilyfont { zhkai } - [ cmap = UniGB-UTF16-H ] { FandolKai-Regular.otf } - \ctex_punct_set:n { fandol } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } - \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault , zhsong } { zhsongb } - \ctex_punct_map_bfseries:nn { \CJKsfdefault , zhhei } { zhheib } - } - { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfandolfonts } - \ctex_punct_set:n { fandol } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - } - { \ctex_fontset_error:n { fandol } } - } - } +%<*founder> +\ctex_fontset_case:nnn { - \sys_if_engine_uptex:TF + \ctex_zhmap_case:nnn { - \ctex_set_upfonts:nnnnnn - {FandolSong-Regular.otf} {FandolSong-Bold.otf} {FandolKai-Regular.otf} - {FandolHei-Regular.otf} {FandolHei-Bold.otf} - {FandolFang-Regular.otf} - \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } - \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } - \ctex_set_upfamily:nnn { zhfs } { upzhmono} {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + \setCJKmainfont { FZSSK.TTF } + [ BoldFont = FZXBSK.TTF, ItalicFont = FZKTK.TTF ] + \setCJKsansfont { FZXH1K.TTF } [ BoldFont = FZHTK.TTF ] + \setCJKmonofont { FZFSK.TTF } + \setCJKfamilyfont { zhsong } { FZSSK.TTF } [ BoldFont = FZXBSK.TTF ] + \setCJKfamilyfont { zhhei } { FZHTK.TTF } + \setCJKfamilyfont { zhkai } { FZKTK.TTF } + \setCJKfamilyfont { zhfs } { FZFSK.TTF } + \setCJKfamilyfont { zhli } { FZLSK.TTF } + \setCJKfamilyfont { zhyou } { FZY1K.TTF } [ BoldFont = FZY3K.TTF ] + \ctex_punct_set:n { founder } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhheil } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb } + \ctex_punct_map_bfseries:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_bfseries:nn { zhyou } { zhyoub } } { - \setCJKmainfont - [ - Extension = .otf , - BoldFont = FandolSong-Bold , ItalicFont = FandolKai-Regular - ] - { FandolSong-Regular } - \setCJKsansfont - [ Extension = .otf , BoldFont = FandolHei-Bold ] { FandolHei-Regular } - \setCJKmonofont [ Extension = .otf ] { FandolFang-Regular } - \setCJKfamilyfont { zhsong } - [ Extension = .otf , BoldFont = FandolSong-Bold ] { FandolSong-Regular } - \setCJKfamilyfont { zhhei } - [ Extension = .otf , BoldFont = FandolHei-Bold ] { FandolHei-Regular } - \setCJKfamilyfont { zhfs } [ Extension = .otf ] { FandolFang-Regular } - \setCJKfamilyfont { zhkai } [ Extension = .otf ] { FandolKai-Regular } + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfounderfonts } + \ctex_punct_set:n { founder } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } + { \ctex_fontset_error:n { founder } } + } + { + \ctex_set_upfonts:nnnnnn + { FZSSK.TTF } + { FZXBSK.TTF } + { FZKTK.TTF } + { FZXH1K.TTF } + { FZHTK.TTF } + { FZFSK.TTF } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } + \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhfs } { upzhmono } {} + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + \ctex_set_upfamily:nnn { zhli } { upschrm } {} + \ctex_set_upfamily:nnn { zhyou } { upschgt } {} + \ctex_set_upmap:nnn { upstsl } { FZLSK.TTF } {} + \ctex_set_upmap:nnn { upstht } { FZY1K.TTF } {} + } + { + \setCJKmainfont { FZShuSong-Z01 } + [ BoldFont = FZXiaoBiaoSong-B05, ItalicFont = FZKai-Z03 ] + \setCJKsansfont { FZXiHeiI-Z08 } [ BoldFont = FZHei-B01 ] + \setCJKmonofont { FZFangSong-Z02 } + \setCJKfamilyfont { zhsong } { FZShuSong-Z01 } + [ BoldFont = FZXiaoBiaoSong-B05 ] + \setCJKfamilyfont { zhhei } { FZHei-B01 } + \setCJKfamilyfont { zhkai } { FZKai-Z03 } + \setCJKfamilyfont { zhfs } { FZFangSong-Z02 } + \setCJKfamilyfont { zhli } { FZLiShu-S01 } + \setCJKfamilyfont { zhyou } { FZXiYuan-M01 } + [ BoldFont = FZZhunYuan-M02 ] } +% % \end{macrocode} % -% \begin{macrocode} -% -% \end{macrocode} +% \paragraph{\opt{mac} 相关} % -% \subsubsection{\pkg{ctex-fontset-mac.def} 等} -% \changes{v2.4.14}{2018/05/01}{区分 \texttt{macold} 及 \texttt{macnew}。} +% \changes{v2.4.14}{2018/05/01}{区分 \opt{macold} 及 \opt{macnew}。} % % 按 \href{https://github.com/CTeX-org/ctex-kit/issues/351}{Issue 351} % 的讨论,以 El Capitan 为分界,分别设置 |macold|(El Capitan 之前) @@ -9948,273 +10231,317 @@ Copyright and Licence % % \end{macrocode} % -% |macold| 的设置参考了 ^^A -% \href{https://github.com/CTeX-org/ctex-kit/wiki/OS-X-Mavericks-(10.9)-\%E9\%A2\%84\%E8\%A3\%85\%E7\%9A\%84\%E4\%B8\%BB\%E8\%A6\%81\%E7\%AE\%80\%E4\%BD\%93\%E4\%B8\%AD\%E6\%96\%87\%E5\%AD\%97\%E4\%BD\%93}^^A -% {OS X Mavericks (10.9) 预装的主要简体中文字体列表}。 -% -% 在 \dvipdfmx{} 下,可以通过下述方式使用华文宋体和华文楷体: -% \begin{verbatim} -% \special{pdf:mapline unisong@Unicode@ unicode :4:Songti.ttc} -% \special{pdf:mapline unikai@Unicode@ unicode :4:Kaiti.ttc} -% \end{verbatim} -% 而 \tn{pdfmapline} 似乎不支持带索引的 \texttt{ttc} 字体,\file{Songti.ttc} 默认 -% 使用的是 Songti SC Black,\file{Kaiti.ttc} 默认使用的是 Kaiti SC Black。 -% 华文黑体不能通过这种方式使用: -% \begin{verbatim} -% \special{pdf:mapline unihei@Unicode@ unicode \detokenize{华文黑体}.ttf} -% \end{verbatim} -% \dvipdfmx{} 不能生成 PDF,报下述错误: -% \begin{verbatim} -% ** WARNING ** UCS-4 TrueType cmap table... -% ** ERROR ** Unable to read OpenType/TrueType Unicode cmap table. -% \end{verbatim} -% 如果将 CMap 改为 UniGB-UTF16-H,错误信息是 -% \begin{verbatim} -% ** WARNING ** No usable TrueType cmap table found for font "华文黑体.ttf". -% ** WARNING ** CID character collection for this font is set to "Adobe-GB1" -% ** ERROR ** Cannot continue without this... -% \end{verbatim} -% 在 \pdfTeX{} 下生成的 PDF 只有方框^^A -% \footnote{\url{http://www.newsmth.net/bbscon.php?bid=460&id=312640}}。 -% 华文细黑和华文仿宋的情况类似。 -% 这确认为 \dvipdfmx{} 的 bug^^A -% \begingroup\makeatletter\@makeother\#\@firstofone{\endgroup -% \footnote{\url{https://github.com/clerkma/ptex-ng/blob/master/texk/libdpx/cidtype2.c#L597}}}。 +% \changes{v2.4.14}{2018/05/01}{配置 \opt{macnew} 的默认字体设置。} +% \changes{v2.5}{2019/11/05}{为 \opt{macnew} 增加粗楷体、隶书和圆体的定义。} +% \changes{v2.5}{2019/11/07}{允许 \opt{macnew} 在 \LaTeX{} 和 \upLaTeX{} 下使用。} % -% \changes{v2.4.14}{2018/05/01}{配置 \texttt{macnew} 的默认字体设置。} +% |macold| 的设置参考了 +% \href{https://github.com/CTeX-org/ctex-kit/wiki/OS-X-Mavericks-(10.9)-预装的主要简体中文字体}^^A +% {OS X Mavericks (10.9) 预装的主要简体中文字体列表}。 % % |macnew| 在默认字体设置方面,引入了多字重的宋体作为罗马字族, % 以及引入了苹方黑体作为无衬线字族。 -% % 由于 Songti SC Light 的字重与 STSong 及 Windows 上的 SimSun 更接近,故默认字重 -% 使用 Songti SC Light,而不带后缀的正常字重事实上没有使用。下方关于 |zhsong| 的字族 -% 设置也有同样的情况。 +% 使用 Songti SC Light,而不带后缀的正常字重事实上没有使用。黑体、圆体等设置 +% 也有类似的情况。 % % \begin{macrocode} %<*macold|macnew> -\sys_if_engine_pdftex:TF +\ctex_fontset_case:nnnn { \ctex_fontset_error:n { mac } } - { - \sys_if_engine_uptex:TF - { \ctex_fontset_error:n { mac } } - { %<*macold> - \setCJKmainfont [ BoldFont = STHeiti , ItalicFont = STKaiti ] { STSong } - \setCJKsansfont [ BoldFont = STHeiti ] { STXihei } + { \ctex_fontset_error:n { macold } } + { \ctex_fontset_error:n { macold } } % %<*macnew> - \setCJKmainfont + { + \ctex_zhmap_case:nnn + { + \setCJKmainfont { :3:Songti.ttc } [ - UprightFont = *~Light , - BoldFont = *~Bold , - ItalicFont = Kaiti~SC , - BoldItalicFont = Kaiti~SC~Bold - ] { Songti~SC } - \setCJKsansfont { PingFang~SC } + BoldFont = :1:Songti.ttc, + ItalicFont = :0:Kaiti.ttc, + BoldItalicFont = :3:Kaiti.ttc, + ] + \setCJKsansfont { :2:PingFang.ttc } [ BoldFont = :8:PingFang.ttc ] + \setCJKmonofont { STFANGSO.ttf } + \setCJKfamilyfont { zhsong } { :3:Songti.ttc } [ BoldFont = :1:Songti.ttc ] + \setCJKfamilyfont { zhhei } { :2:PingFang.ttc } [ BoldFont = :8:PingFang.ttc ] + \setCJKfamilyfont { zhkai } { :0:Kaiti.ttc } [ BoldFont = :3:Kaiti.ttc ] + \setCJKfamilyfont { zhfs } { STFANGSO.ttf } + \setCJKfamilyfont { zhli } { :0:Baoli.ttc } + \setCJKfamilyfont { zhyou } { :4:Yuanti.ttc } [ BoldFont = :0:Yuanti.ttc ] + \ctex_punct_set:n { mac } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhheil } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb } + \ctex_punct_map_bfseries:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_bfseries:nn { zhyou } { zhyoub } + } + { + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhmacfonts } + \ctex_punct_set:n { mac } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + } + { \ctex_fontset_error:n { macnew } } + } + { + \ctex_set_upmap:nnn { upserif } { :3:Songti.ttc } { :1:Songti.ttc } + \ctex_set_upmap:nnn { upserifit } { :0:Kaiti.ttc } { } + \ctex_set_upmap:nnn { upstsl } { :0:Baoli.ttc } { } + \ctex_set_upmap:nnn { upstht } { :4:Yuanti.ttc } { } + \ctex_set_upmap_unicode:nnn { upsans } { :2:PingFang.ttc } { :8:PingFang.ttc } + \ctex_set_upmap_unicode:nnn { upmono } { STFANGSO.ttf } { } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } + \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhfs } { upzhmono } { } + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } { } + \ctex_set_upfamily:nnn { zhli } { upschrm } { } + \ctex_set_upfamily:nnn { zhyou } { upschgt } { } + } % - \setCJKmonofont { STFangsong } + { %<*macold> - \setCJKfamilyfont { zhsong } { STSong } - \setCJKfamilyfont { zhhei } { STHeiti } + \setCJKmainfont { STSong } + [ BoldFont = STHeiti, ItalicFont = STKaiti ] + \setCJKsansfont { STXihei } [ BoldFont = STHeiti ] + \setCJKmonofont { STFangsong } + \setCJKfamilyfont { zhsong } { STSong } + \setCJKfamilyfont { zhhei } { STHeiti } + \setCJKfamilyfont { zhfs } { STFangsong } + \setCJKfamilyfont { zhkai } { STKaiti } % %<*macnew> - \setCJKfamilyfont { zhsong } - [ - UprightFont = *~Light , - BoldFont = *~Bold , - ] { Songti~SC } - \setCJKfamilyfont { zhhei } { Heiti~SC } - \setCJKfamilyfont { zhpf } { PingFang~SC } + \setCJKmainfont { Songti~SC~Light } + [ + BoldFont = Songti~SC~Bold, + ItalicFont = Kaiti~SC, + BoldItalicFont = Kaiti~SC~Bold + ] + \setCJKsansfont { PingFang~SC } + \setCJKmonofont { STFangsong } + \setCJKfamilyfont { zhsong } { Songti~SC~Light } [ BoldFont = Songti~SC~Bold ] + \setCJKfamilyfont { zhhei } { Heiti~SC~Light } [ BoldFont = Heiti~SC~Medium ] + \setCJKfamilyfont { zhpf } { PingFang~SC } + \setCJKfamilyfont { zhfs } { STFangsong } + \setCJKfamilyfont { zhkai } { Kaiti~SC } [ BoldFont = Kaiti~SC~Bold ] + \setCJKfamilyfont { zhli } { Baoli~SC } + \setCJKfamilyfont { zhyou } { Yuanti~SC~Light } [ BoldFont = Yuanti~SC~Regular ] % - \setCJKfamilyfont { zhfs } { STFangsong } -%\setCJKfamilyfont { zhkai } { STKaiti } -%\setCJKfamilyfont { zhkai } { Kaiti~SC } - } } % % \end{macrocode} % -% \subsubsection{\pkg{ctex-fontset-founder.def}} +% \paragraph{\opt{ubuntu}} % -% \begin{macrocode} -%<*founder> -% \end{macrocode} -% -% \changes{v2.4.15}{2019/03/28}{统一“方正细黑一\_GBK”的名称为 \texttt{FZXiHeiI-Z08}。} +% \changes{v2.5}{2019/11/07}{\opt{ubuntu} 改用思源(Noto CJK)和文鼎字库,不再 +% 支持使用 \pdfLaTeX{} 编译。} % % \begin{macrocode} -\sys_if_engine_pdftex:TF +%<*ubuntu> +\ctex_fontset_case:nnnn + { \ctex_fontset_error:n { ubuntu } } { \ctex_zhmap_case:nnn { - \setCJKmainfont - [ BoldFont = FZXBSK.TTF , ItalicFont = FZKTK.TTF ] { FZSSK.TTF } - \setCJKsansfont [ BoldFont = FZHTK.TTF ] { FZXH1K.TTF } - \setCJKmonofont { FZFSK.TTF } - \setCJKfamilyfont { zhsong } [ BoldFont = FZXBSK.TTF ] { FZSSK.TTF } - \setCJKfamilyfont { zhhei } { FZHTK.TTF } - \setCJKfamilyfont { zhkai } { FZKTK.TTF } - \setCJKfamilyfont { zhfs } { FZFSK.TTF } - \setCJKfamilyfont { zhli } { FZLSK.TTF } - \setCJKfamilyfont { zhyou } [ BoldFont = FZY3K.TTF ] { FZY1K.TTF } - \ctex_punct_set:n { founder } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhheil } - \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault , zhsong } { zhsongb } - \ctex_punct_map_bfseries:nn { \CJKsfdefault } { zhhei } - \ctex_punct_map_bfseries:nn { zhyou } { zhyoub } + \setCJKmainfont { :2:NotoSerifCJK-Regular.ttc } + [ BoldFont = :2:NotoSerifCJK-Bold.ttc, ItalicFont = gkai00mp.ttf ] + \setCJKsansfont { :2:NotoSansCJK-Regular.ttc } + [ BoldFont = :2:NotoSansCJK-Bold.ttc ] + \setCJKmonofont { :2:NotoSerifCJK-Regular.ttc } + [ BoldFont = :2:NotoSerifCJK-Bold.ttc ] + \setCJKfamilyfont { zhsong } { :2:NotoSerifCJK-Regular.ttc } + [ BoldFont = :2:NotoSerifCJK-Bold.ttc ] + \setCJKfamilyfont { zhhei } { :2:NotoSansCJK-Regular.ttc } + [ BoldFont = :2:NotoSansCJK-Bold.ttc ] + \setCJKfamilyfont { zhkai } { gkai00mp.ttf } + \ctex_punct_set:n { fandol } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb } + \ctex_punct_map_bfseries:nn { \CJKsfdefault, zhhei } { zhheib } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfounderfonts } - \ctex_punct_set:n { founder } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhsong } { zhubuntufonts } + \ctex_punct_set:n { ubuntu } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } - { \ctex_fontset_error:n { founder } } + { \ctex_fontset_error:n { ubuntu } } } { - \sys_if_engine_uptex:TF - { - \ctex_set_upfonts:nnnnnn - { FZSSK.TTF } { FZXBSK.TTF } { FZKTK.TTF } - { FZXH1K.TTF } { FZHTK.TTF } - { FZFSK.TTF } - \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } - \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } - \ctex_set_upfamily:nnn { zhfs } { upzhmono} {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} - \ctex_set_upfamily:nnn { zhli } { upschrm } {} - \ctex_set_upmap:nnn { upstsl } { FZLSK.TTF } {} - \ctex_set_upfamily:nnn { zhyou } { upschgt } {} - \ctex_set_upmap:nnn { upstht } { FZY1K.TTF } {} - } - { - \setCJKmainfont - [ BoldFont = FZXiaoBiaoSong-B05 , ItalicFont = FZKai-Z03 ] { FZShuSong-Z01 } - \setCJKsansfont [ BoldFont = FZHei-B01 ] { FZXiHeiI-Z08 } - \setCJKmonofont { FZFangSong-Z02 } - \setCJKfamilyfont { zhsong } [ BoldFont = FZXiaoBiaoSong-B05 ] { FZShuSong-Z01 } - \setCJKfamilyfont { zhhei } { FZHei-B01 } - \setCJKfamilyfont { zhkai } { FZKai-Z03 } - \setCJKfamilyfont { zhfs } { FZFangSong-Z02 } - \setCJKfamilyfont { zhli } { FZLiShu-S01 } - \setCJKfamilyfont { zhyou } [ BoldFont = FZZhunYuan-M02 ] { FZXiYuan-M01 } - } + \ctex_set_upmap_unicode:nnn { upserif } + { :2:NotoSerifCJK-Regular.ttc } { :2:NotoSerifCJK-Bold.ttc } + \ctex_set_upmap_unicode:nnn { upsans } + { :2:NotoSansCJK-Regular.ttc } { :2:NotoSansCJK-Bold.ttc } + \ctex_set_upmap_unicode:nnn { upmono } + { :2:NotoSerifCJK-Regular.ttc } { } + \ctex_set_upmap:nnn { upserifit } { gkai00mp.ttf } { } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } + \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } { } } + { + \setCJKmainfont { Noto~Serif~CJK~SC } [ ItalicFont = AR~PL~KaitiM~GB ] + \setCJKsansfont { Noto~Sans~CJK~SC } + \setCJKmonofont { Noto~Serif~CJK~SC } + \setCJKfamilyfont { zhsong } { Noto~Serif~CJK~SC } + \setCJKfamilyfont { zhhei } { Noto~Sans~CJK~SC } + \setCJKfamilyfont { zhkai } { AR~PL~KaitiM~GB } + } +% % \end{macrocode} % +% \paragraph{\opt{windows}} +% +% \changes{v2.4.1}{2016/05/14}{使用 \file{bootfont.bin} 判断 Windows XP 以避免 +% 权限问题。} +% \changes{v2.5}{2019/11/04}{使用环境变量代替绝对路径查找字体。} +% \changes{v2.5}{2019/11/05}{不再支持 Windows XP 系统,\opt{windowsold} 和 +% \opt{windowsnew} 成为过时字库选项。} +% +% \begin{variable}{ \c_@@_msyh_suffix_tl} +% Windows 8 以后,微软雅黑由原来的 \file{.ttf} 后缀改为 \file{.ttc} 后缀,需要 +% 加以区分。 % \begin{macrocode} -% -%<*ubuntu> +%<*windows> +\file_if_exist:nTF { \c_dollar_str WINDIR/Fonts/msyh.ttc } + { \tl_const:Nn \c_@@_msyh_suffix_tl { ttc } } + { + \file_if_exist:nTF { msyh.ttc } + { \tl_const:Nn \c_@@_msyh_suffix_tl { ttc } } + { \tl_const:Nn \c_@@_msyh_suffix_tl { ttf } } + } % \end{macrocode} +% \end{variable} % -% \subsubsection{\pkg{ctex-fontset-ubuntu.def}} -% -% 以下根据 Ubuntu 12.04 的中文字体情况设置。CMap 不清楚应该是什么,指定为 -% UniGB-UTF16-H 还是有警告: -% \begin{verbatim} -% ** WARNING ** UCS-4 TrueType cmap table... -% \end{verbatim} -% 需要注意的是 \file{uming.ttc} 和 \file{ukai.ttc} 看起来像有四种字形的样子,但 -% 其实只有“令”和“骨”这区区两个字有新字形,其余都取旧字形^^A -% \footnote{\url{http://www.freedesktop.org/wiki/Software/CJKUnifonts/Download/}}。 % \begin{macrocode} -\sys_if_engine_pdftex:TF +\ctex_fontset_case:nnn { \ctex_zhmap_case:nnn { - \setCJKmainfont - [ BoldFont = wqy-zenhei.ttc , ItalicFont = ukai.ttc ] { uming.ttc } - \setCJKsansfont { wqy-zenhei.ttc } - \setCJKmonofont { uming.ttc } - \setCJKfamilyfont { zhsong } { uming.ttc } - \setCJKfamilyfont { zhhei } { wqy-zenhei.ttc } - \setCJKfamilyfont { zhkai } { ukai.ttc } - \ctex_punct_set:n { ubuntu } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } - \ctex_punct_map_family:nn { \CJKttdefault } { zhsong } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - } - { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhsong } { zhubuntufonts } - \ctex_punct_set:n { ubuntu } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_punct_set:n { windows } + \setCJKmainfont { simsun.ttc } + [ BoldFont = simhei.ttf, ItalicFont = simkai.ttf ] + \setCJKsansfont { msyh.\c_@@_msyh_suffix_tl } + [ BoldFont = msyhbd.\c_@@_msyh_suffix_tl ] + \setCJKmonofont { simfang.ttf } + \setCJKfamilyfont { zhsong } { simsun.ttc } + \setCJKfamilyfont { zhhei } { simhei.ttf } + \setCJKfamilyfont { zhfs } { simfang.ttf } + \setCJKfamilyfont { zhkai } { simkai.ttf } + \setCJKfamilyfont { zhyahei } { msyh.\c_@@_msyh_suffix_tl } + [ BoldFont = msyhbd.\c_@@_msyh_suffix_tl ] + \setCJKfamilyfont { zhli } { simli.ttf } + \setCJKfamilyfont { zhyou } { simyou.ttf } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhyahei } + \ctex_punct_map_bfseries:nn { \CJKsfdefault, zhyahei } { zhyaheib } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } } - { \ctex_fontset_error:n { ubuntu } } - } - { - \sys_if_engine_uptex:TF { - \ctex_set_upfonts:nnnnnn - { uming.ttc } { wqy-zenhei.ttc } { ukai.ttc } - { wqy-zenhei.ttc } { wqy-zenhei.ttc } - { uming.ttc } - \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} - \ctex_set_upfamily:nnn { zhhei } { upzhsans } {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhwindowsfonts } + \ctex_punct_set:n { windows } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } { - \setCJKmainfont - [ BoldFont = WenQuanYi~Zen~Hei , ItalicFont = AR~PL~UKai~CN ] { AR~PL~UMing~CN } - \setCJKsansfont { WenQuanYi~Zen~Hei } - \setCJKmonofont { AR~PL~UMing~CN } - \setCJKfamilyfont { zhsong } { AR~PL~UMing~CN } - \setCJKfamilyfont { zhhei } { WenQuanYi~Zen~Hei } - \setCJKfamilyfont { zhkai } { AR~PL~UKai~CN } + \tl_set:Nn \CJKrmdefault { rm } + \tl_set:Nn \CJKsfdefault { sf } + \tl_set:Nn \CJKttdefault { tt } } } -% \end{macrocode} -% -% \begin{macrocode} -% + { + \ctex_set_upfonts:nnnnnn + { simsun.ttc } + { simhei.ttf } + { simkai.ttf } + { msyh.\c_@@_msyh_suffix_tl } + { msyhbd.\c_@@_msyh_suffix_tl } + { simfang.ttf } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} + \ctex_set_upfamily:nnn { zhhei } { upzhserifb } {} + \ctex_set_upfamily:nnn { zhfs } { upzhmono } {} + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + \ctex_set_upfamily:nnn { zhyahei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhli } { upschrm } {} + \ctex_set_upfamily:nnn { zhyou } { upschgt } {} + \ctex_set_upmap:nnn { upstsl } { simli.ttf } {} + \ctex_set_upmap:nnn { upstht } { simyou.ttf } {} + } + { + \setCJKmainfont { SimSun } [ BoldFont = SimHei , ItalicFont = KaiTi ] + \setCJKsansfont { Microsoft~YaHei } [ BoldFont = *~Bold ] + \setCJKmonofont { FangSong } + \setCJKfamilyfont { zhsong } { SimSun } + \setCJKfamilyfont { zhhei } { SimHei } + \setCJKfamilyfont { zhfs } { FangSong } + \setCJKfamilyfont { zhkai } { KaiTi } + \setCJKfamilyfont { zhyahei } { Microsoft~YaHei } [ BoldFont = *~Bold ] + \setCJKfamilyfont { zhli } { LiSu } + \setCJKfamilyfont { zhyou } { YouYuan } + } +% % \end{macrocode} % % \subsubsection{中文字体命令} -% \changes{v2.4.14}{2018/05/01}{为 \texttt{macnew} 配置字体命令。} -% -% \begin{macrocode} -%<*!windows&!mac> -% \end{macrocode} -% -% \begin{macrocode} -\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } -\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } -%\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } -\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } -%<*windowsnew|windowsold|founder> -\NewDocumentCommand \lishu { } { \CJKfamily { zhli } } -\NewDocumentCommand \youyuan { } { \CJKfamily { zhyou } } -% -%\NewDocumentCommand \yahei { } { \CJKfamily { zhyahei } } +% \changes{v2.4.14}{2018/05/01}{为 \opt{macnew} 配置字体命令。} +% +% \begin{macro}{\songti,\heiti,\fangsong,\kaishu,\lishu,\youyuan,\yahei,\pingfang} +% 使用 \upLaTeX{} 编译时,\opt{macnew} 字库中由于传统黑体(黑体-简)无法使用, +% 我们用苹方来代替。同时 \tn{yahei}、\tn{pingfang} 命令被设置为与 \tn{heiti} 相同。 +% \begin{macrocode} +%<*!mac> +\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } +\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } +%\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } +\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } +%<*windows|founder|macnew> +\NewDocumentCommand \lishu { } { \CJKfamily { zhli } } +\NewDocumentCommand \youyuan { } { \CJKfamily { zhyou } } +% +%\NewDocumentCommand \yahei { } { \CJKfamily { zhyahei } } %<*macnew> -\NewDocumentCommand \yahei { } { \CJKfamily { zhpf } } -\NewDocumentCommand \pingfang { } { \CJKfamily { zhpf } } +\bool_lazy_or:nnTF + { \sys_if_engine_pdftex_p: } + { \sys_if_engine_uptex_p: } + { + \cs_new_eq:NN \yahei \heiti + \cs_new_eq:NN \pingfang \heiti + } + { + \NewDocumentCommand \yahei { } { \CJKfamily { zhpf } } + \NewDocumentCommand \pingfang { } { \CJKfamily { zhpf } } + } % +% % \end{macrocode} +% \end{macro} % % \begin{macrocode} -% % -%<*zhmap> % \end{macrocode} % % \subsubsection{\pkg{zhmetrics} 的字体映射} % % 确认 \tn{catcode},没有重复载入检查。 % \begin{macrocode} +%<*zhmap> \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode 35=6 % # \catcode123=1 % { \catcode125=2 % } \toks0{\endlinechar=\the\endlinechar\relax}% - \toks2{\endlinechar=13 }% + \toks2{\endlinechar=-1 }% \def\x#1 #2 {% \toks0\expandafter{\the\toks0 \catcode#1=\the\catcode#1\relax}% \toks2\expandafter{\the\toks2 \catcode#1=#2 }}% @@ -10244,6 +10571,7 @@ Copyright and Licence \expandafter\x\csname ctex@zhmap@endinput\endcsname % \end{macrocode} % +% \begin{macro}[int]{\ifzhmappdf} % \begin{macrocode} \begingroup\expandafter\endgroup \expandafter\let\csname ifzhmappdf\expandafter\endcsname\csname @@ -10253,7 +10581,9 @@ Copyright and Licence \else ifctexpdf\fi \endcsname % \end{macrocode} +% \end{macro} % +% \begin{macro}[int]{\ProvidesFile} % 提供非 \LaTeX{} 格式下的 \tn{ProvidesFile}。 % \begin{macrocode} \begingroup @@ -10266,112 +10596,50 @@ Copyright and Licence \fi \endgroup % \end{macrocode} +% \end{macro} % -% \paragraph{\pkg{zhwindowsfonts.tex}} -% +% 文件标识信息。 % \begin{macrocode} -%<*windows> -\ProvidesFile{zhwindowsfonts.tex}% - [2019/05/29 v2.4.16 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)] - -\ifzhmappdf - \pdfmapline{=gbk@UGBK@ +%\ProvidesFile{zhadobefonts.tex}% +% [2020/05/02 v2.5.1 Adobe font map loader for DVIPDFMx (CTEX)] +%\ProvidesFile{zhfandolfonts.tex}% +% [2020/05/02 v2.5.1 Fandol font map loader for DVIPDFMx (CTEX)] +%\ProvidesFile{zhfounderfonts.tex}% +% [2020/05/02 v2.5.1 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)] +%\ProvidesFile{zhmacfonts.tex}% +% [2020/05/02 v2.5.1 Mac font map loader for pdfTeX and DVIPDFMx (CTEX)] +%\ProvidesFile{zhubuntufonts.tex}% +% [2020/05/02 v2.5.1 Ubuntu font map loader for pdfTeX and DVIPDFMx (CTEX)] +%\ProvidesFile{zhwindowsfonts.tex}% +% [2020/05/02 v2.5.1 Windows font map loader for pdfTeX and DVIPDFMx (CTEX)] % \end{macrocode} % % \paragraph{\pkg{zhadobefonts.tex}} % % \begin{macrocode} %<*adobe> -\ProvidesFile{zhadobefonts.tex}% - [2019/05/29 v2.4.16 Adobe font map loader for DVIPDFMx (CTEX)] - \ifzhmappdf %% pdfTeX does not support OTF fonts - \else - \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf} - \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf} - \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf} - \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf} - \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf} - - \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf} - \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf} - \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf} - \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf} - \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf} - - \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167} - \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167} - \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167} - \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf -s .167} - - \special{pdf:mapline unisongsl@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167} - \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167} - \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167} + \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf} + \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf} + \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf} + \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf} + \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf} + \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf} + \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf} + \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf} + \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf} + \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf} + \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167} + \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167} + \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167} + \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf -s .167} + \special{pdf:mapline unisongsl@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167} + \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167} + \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167} \special{pdf:mapline unifssl@Unicode@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf -s .167} - +\fi % % \end{macrocode} % @@ -10379,35 +10647,28 @@ Copyright and Licence % % \begin{macrocode} %<*fandol> -\ProvidesFile{zhfandolfonts.tex}% - [2019/05/29 v2.4.16 Fandol font map loader for DVIPDFMx (CTEX)] - \ifzhmappdf %% pdfTeX does not support OTF fonts - \else - \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf} - \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf} - \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf} - \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf} - \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf} - - \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf} - \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf} - \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf} - \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf} - \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H FandolFang-Regular.otf} - - \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf -s .167} - \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf -s .167} - \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf -s .167} - \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf -s .167} - + \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf} + \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf} + \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf} + \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf} + \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf} + \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf} + \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf} + \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf} + \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf} + \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H FandolFang-Regular.otf} + \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf -s .167} + \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf -s .167} + \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf -s .167} + \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf -s .167} \special{pdf:mapline unisongsl@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf -s .167} - \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf -s .167} - \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf -s .167} + \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf -s .167} + \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf -s .167} \special{pdf:mapline unifssl@Unicode@ UniGB-UTF16-H FandolFang-Regular.otf -s .167} - +\fi % % \end{macrocode} % @@ -10415,137 +10676,195 @@ Copyright and Licence % % \begin{macrocode} %<*founder> -\ProvidesFile{zhfounderfonts.tex}% - [2019/05/29 v2.4.16 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)] - \ifzhmappdf - \pdfmapline{=gbk@UGBK@ % \end{macrocode} % +% \paragraph{\pkg{zhmacfonts.tex}} +% +% \changes{v2.5}{2020/01/15}{增加字体映射文件 \file{zhmacfonts.tex}。} +% +% \begin{macrocode} +%<*mac> +\ifzhmappdf +%% pdfTeX does not support OTF fonts +\else + \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H :3:Songti.ttc} + \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H :3:Songti.ttc} + \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H :0:Kaiti.ttc} + \special{pdf:mapline gbkhei@UGBK@ unicode :2:PingFang.ttc} + \special{pdf:mapline gbkfs@UGBK@ unicode STFANGSO.ttf} + \special{pdf:mapline gbkli@UGBK@ UniGB-UTF16-H :0:Baoli.ttc} + \special{pdf:mapline gbkyou@UGBK@ UniGB-UTF16-H :4:Yuanti.ttc} + \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H :3:Songti.ttc} + \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H :3:Songti.ttc} + \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H :0:Kaiti.ttc} + \special{pdf:mapline unihei@Unicode@ unicode :2:PingFang.ttc} + \special{pdf:mapline unifs@Unicode@ unicode STFANGSO.ttf} + \special{pdf:mapline unili@Unicode@ UniGB-UTF16-H :0:Baoli.ttc} + \special{pdf:mapline uniyou@Unicode@ UniGB-UTF16-H :4:Yuanti.ttc} + \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H :3:Songti.ttc -s .167} + \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H :0:Kaiti.ttc -s .167} + \special{pdf:mapline gbkheisl@UGBK@ unicode :2:PingFang.ttc -s .167} + \special{pdf:mapline gbkfssl@UGBK@ unicode STFANGSO.ttf -s .167} + \special{pdf:mapline gbklisl@UGBK@ UniGB-UTF16-H :0:Baoli.ttc -s .167} + \special{pdf:mapline gbkyousl@UGBK@ UniGB-UTF16-H :4:Yuanti.ttc -s .167} + \special{pdf:mapline unisongsl@Unicode@ UniGB-UTF16-H :3:Songti.ttc -s .167} + \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H :0:Kaiti.ttc -s .167} + \special{pdf:mapline uniheisl@Unicode@ unicode :2:PingFang.ttc -s .167} + \special{pdf:mapline unifssl@Unicode@ unicode STFANGSO.ttf -s .167} + \special{pdf:mapline unilisl@Unicode@ UniGB-UTF16-H :0:Baoli.ttc -s .167} + \special{pdf:mapline uniyousl@Unicode@ UniGB-UTF16-H :4:Yuanti.ttc -s .167} +\fi +% +% \end{macrocode} +% % \paragraph{\pkg{zhubuntufonts.tex}} % % \begin{macrocode} %<*ubuntu> -\ProvidesFile{zhubuntufonts.tex}% - [2019/05/29 v2.4.16 Ubuntu font map loader for pdfTeX and DVIPDFMx (CTEX)] - \ifzhmappdf - \pdfmapline{=gbk@UGBK@ % \end{macrocode} % +% \paragraph{\pkg{zhwindowsfonts.tex}} +% % \begin{macrocode} +%<*windows> +\ifzhmappdf + \pdfmapline{=gbk@UGBK@ +% \end{macrocode} +% +% \begin{macrocode} \ctex@zhmap@endinput % % \end{macrocode} @@ -10562,7 +10881,7 @@ Copyright and Licence \ExplSyntaxOn \sys_if_engine_xetex:F { - \msg_new:nn { ctex } { xetex } + \msg_new:nnn { ctex } { xetex } { XeTeX~is~required~to~compile~this~document! } \msg_fatal:nn { ctex } { xetex } } @@ -10588,7 +10907,7 @@ Copyright and Licence % \begin{macro}[int]{\ctex_make_spa:nn} % |#1| 是 \file{spa} 文件名,|#2| 是由 CJK 族名与字体构成的逗号列表。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_make_spa:nn #1#2 +\cs_new_protected:Npn \ctex_make_spa:nn #1#2 { \iow_open:Nn \g_@@_spa_iow {#1} \clist_map_inline:nn {#2} @@ -10619,7 +10938,7 @@ Copyright and Licence } \group_end: } -\cs_new_protected_nopar:Npn \@@_save_bounds:n #1 +\cs_new_protected:Npn \@@_save_bounds:n #1 { \clist_put_right:Nx \l_@@_punct_bounds_clist { @@ -10632,7 +10951,7 @@ Copyright and Licence % % \pkg{CJKpunct} 要求的格式是边界空白宽度与 1\,em 的比值的一百倍。 % \begin{macrocode} -\cs_new_nopar:Npn \@@_calc_bounds:nn #1#2 +\cs_new:Npn \@@_calc_bounds:nn #1#2 { \fp_eval:n { @@ -10652,19 +10971,20 @@ Copyright and Licence % \begin{macrocode} %<*make> \input ctexspamacro % - \MAKESPA {ctexpunct.spa} { {adobezhsong} {AdobeSongStd-Light} , {adobezhhei} {AdobeHeitiStd-Regular} , {adobezhkai} {AdobeKaitiStd-Regular} , {adobezhfs} {AdobeFangsongStd-Regular} , +% {fandolzhsong} {FandolSong} , {fandolzhsongb} {FandolSong-Bold} , {fandolzhhei} {FandolHei} , {fandolzhheib} {FandolHei-Bold} , {fandolzhkai} {FandolKai} , {fandolzhfs} {FandolFang} , +% {founderzhsong} {FZShuSong-Z01} , {founderzhsongb} {FZXiaoBiaoSong-B05} , {founderzhhei} {FZHei-B01} , @@ -10674,9 +10994,26 @@ Copyright and Licence {founderzhli} {FZLiShu-S01} , {founderzhyou} {FZXiYuan-M01} , {founderzhyoub} {FZZhunYuan-M02} , - {ubuntuzhsong} {AR PL UMing CN} , - {ubuntuzhhei} {WenQuanYi Zen Hei} , - {ubuntuzhkai} {AR PL UKai CN} , +% + {maczhsong} {Songti SC Light} , + {maczhsongb} {Songti SC Bold} , + {maczhhei} {Heiti SC Medium} , + {maczhheil} {Heiti SC Light} , + {maczhkai} {Kaiti SC} , + {maczhkaib} {Kaiti SC Bold} , + {maczhfs} {STFangsong} , + {maczhli} {Baoli SC} , + {maczhyou} {Yuanti SC Light} , + {maczhyoub} {Yuanti SC Regular} , + {maczhpf} {PingFang SC} , + {maczhpfb} {PingFang SC Semibold} , +% + {ubuntuzhsong} {Noto Serif CJK SC} , + {ubuntuzhsongb} {Noto Serif CJK SC Bold} , + {ubuntuzhhei} {Noto Sans CJK SC} , + {ubuntuzhheib} {Noto Sans CJK SC Bold} , + {ubuntuzhkai} {AR PL KaitiM GB} , +% {windowszhsong} {SimSun} , {windowszhhei} {SimHei} , {windowszhkai} {KaiTi} , @@ -10686,7 +11023,6 @@ Copyright and Licence {windowszhyahei} {Microsoft YaHei} , {windowszhyaheib} {Microsoft YaHei Bold} } - \primitive\end % % @@ -10827,6 +11163,7 @@ Copyright and Licence % \subsection{\pkg{ctexhook} 宏包} % % \changes{v2.2}{2015/06/26}{将文档开头和宏包末尾钩子提取到 \pkg{ctexhook} 宏包中。} +% \changes{v2.5}{2020/04/21}{增加宏包开头钩子。} % % \begin{macrocode} %<*ctexhook> @@ -10835,13 +11172,13 @@ Copyright and Licence % \begin{macro}[int]{\ctex_at_end_preamble:n,\ctex_after_end_preamble:n} % 实现 \pkg{etoolbox} 宏包的 \tn{AtEndPreamble} 和 \tn{AfterEndPreamble}。 % \begin{macrocode} -\cs_new_protected:Npn \ctex_at_end_preamble:n #1 - { \tl_gput_right:Nn \g_@@_end_preamble_hook_tl {#1} } -\cs_new_protected:Npn \ctex_after_end_preamble:n #1 - { \tl_gput_right:Nn \g_@@_after_end_preamble_hook_tl {#1} } -\cs_new_protected_nopar:Npn \CTEX@document@left@hook +\cs_new_protected:Npn \ctex_at_end_preamble:n + { \tl_gput_right:Nn \g_@@_end_preamble_hook_tl } +\cs_new_protected:Npn \ctex_after_end_preamble:n + { \tl_gput_right:Nn \g_@@_after_end_preamble_hook_tl } +\cs_new_protected:Npn \CTEX@document@left@hook { \group_end: \g_@@_end_preamble_hook_tl \group_begin: } -\cs_new_protected_nopar:Npn \CTEX@document@right@hook +\cs_new_protected:Npn \CTEX@document@right@hook { \scan_stop: \g_@@_after_end_preamble_hook_tl \tex_ignorespaces:D } \cs_set_nopar:Npx \document { @@ -10854,51 +11191,93 @@ Copyright and Licence % \end{macrocode} % \end{macro} % +% \begin{macro}[int]{\ctex_at_begin_package:nn} +% 如果宏包已经被载入,则钩子无效,给出警告。 +% 在 \pkg{filehook} 的钩子\emph{之前}起作用。 +% \begin{macrocode} +\cs_new_protected:Npn \ctex_at_begin_package:nn #1 + { + \@ifpackageloaded {#1} + { \@@_package_loaded_warning:nn {#1} } + { \ctex_gadd_package_hook:nnn { begin } {#1} } + } +\cs_new_protected:Npn \@@_package_loaded_warning:nn #1#2 + { \msg_warning:nnx { ctex } { invalid-hook } {#1} } +\msg_new:nnn { ctex } { invalid-hook } + { + Package~`#1'~is~loaded. \\ + \token_to_str:N \ctex_at_begin_package:nn \{#1\}\{...\}~is~invalid. + } +% \end{macrocode} +% \end{macro} +% % \begin{macro}[int]{\ctex_at_end_package:nn} % 与 \pkg{filehook} 的 \tn{AtEndOfPackageFile*} 类似,如果原来没有在载入宏包则 % 在宏包末尾执行语句,否则立即执行。 +% 在 \pkg{filehook} 的钩子\emph{之后}起作用。 % \begin{macrocode} -\cs_new_protected:Npn \ctex_at_end_package:nn #1#2 +\cs_new_protected:Npn \ctex_at_end_package:nn #1 { \@ifpackageloaded {#1} - {#2} - { \ctex_gadd_hook:cn { g_@@_at_end_ #1 _hook_tl } {#2} } + { \use:n } + { \ctex_gadd_package_hook:nnn { end } {#1} } } % \end{macrocode} % \end{macro} % -% \begin{macro}[int]{\ctex_gadd_hook:Nn, \ctex_gadd_hook:cn} +% \begin{macro}[int]{\ctex_gadd_package_hook:nnn, +% \ctex_gadd_hook:Nn, \ctex_gadd_hook:cn} % 给钩子附加内容。 % \begin{macrocode} -\cs_new_protected:Npn \ctex_gadd_hook:Nn #1#2 +\cs_new_protected:Npn \ctex_gadd_package_hook:nnn #1#2 + { \ctex_gadd_hook:cn { g_@@_at_ #1 _ #2 _hook_tl } } +\cs_new_protected:Npn \ctex_gadd_hook:Nn #1 { \tl_if_exist:NF #1 { \tl_new:N #1 } - \tl_gput_right:Nn #1 {#2} + \tl_gput_right:Nn #1 } \cs_generate_variant:Nn \ctex_gadd_hook:Nn { c } % \end{macrocode} % \end{macro} % -% \begin{macro}[int]{\ctex_package_end_hook:n, \ctex_package_end_hook:o} -% 宏包末尾钩子,只执行一次,用后清除。 +% \begin{macro}[int]{\ctex_use_package_hook:nn} +% 宏包钩子,只执行一次,用后清除。 % \begin{macrocode} -\cs_new_protected_nopar:Npn \ctex_package_end_hook:n #1 +\cs_new_protected:Npn \ctex_use_package_hook:nn #1#2 { - \cs_if_exist_use:cT { g_@@_at_end_ #1 _hook_tl } - { \cs_undefine:c { g_@@_at_end_ #1 _hook_tl } } + \group_begin: \exp_args:NNc \group_end: + \@@_use_package_hook_aux:N { g_@@_at_ #1 _ #2 _hook_tl } } -\cs_generate_variant:Nn \ctex_package_end_hook:n { o } +\cs_new_protected:Npn \@@_use_package_hook_aux:N #1 + { \cs_if_exist_use:NT #1 { \cs_undefine:N #1 } } % \end{macrocode} % \end{macro} % +% \begin{macro}[int]{\@reset@ptions,\CTEX@reset@ptions@hook} +% \tn{@pushfilename} 内部的 \tn{@currname} 和 \tn{@currext} 保存的是 +% 前一个宏包的状态,不能使用。需要对其后的 \tn{@reset@ptions} 做补丁来实现 +% \cs{ctex_at_begin_package:nn} 的功能。 +% \begin{macrocode} +\tl_put_right:Nn \@reset@ptions { \CTEX@reset@ptions@hook } +\cs_new_protected:Npn \CTEX@reset@ptions@hook + { + \cs_if_eq:NNT \@currext \@pkgextension + { \ctex_use_package_hook:nn { begin } { \@currname } } + } +% \end{macrocode} +% \end{macro} +% +% \begin{macro}[int]{\@popfilename,\CTEX@popfilename@hook} % 对 \tn{@popfilename} 做补丁来实现 \cs{ctex_at_end_package:nn} 的功能。 % \begin{macrocode} -\tl_put_left:Nn \@popfilename +\tl_put_left:Nn \@popfilename { \CTEX@popfilename@hook } +\cs_new_protected:Npn \CTEX@popfilename@hook { \cs_if_eq:NNT \@currext \@pkgextension - { \ctex_package_end_hook:o { \@currname } } + { \ctex_use_package_hook:nn { end } { \@currname } } } % \end{macrocode} +% \end{macro} % % \begin{macrocode} % @@ -10913,10 +11292,6 @@ Copyright and Licence %<*ctexpatch> % \end{macrocode} % -% \begin{macrocode} -\cs_if_exist:NF \str_new:N { \RequirePackage { l3str } } -% \end{macrocode} -% % \begin{macro}[int]{\ctex_patch_cmd_once:NnnnTF} % 只进行第一次匹配进行替换。参数 |#2| 是宏重建时的 \tn{catcode} 设置。 % \begin{macrocode} @@ -10988,14 +11363,14 @@ Copyright and Licence % \begin{macrocode} \cs_new_protected:Npn \ctex_patch_boot:NNnnTF #1#2#3#4#5#6 { - \tl_set:Nn \@@_patch_true:w {#5} - \tl_set:Nn \@@_patch_false:w {#6} + \cs_set_protected:Npx \@@_patch_true:w { \exp_not:n {#5} } + \cs_set_protected:Npx \@@_patch_false:w { \exp_not:n {#6} } \group_begin: \char_set_catcode_other:n { 35 } \ctex_parse_name:NN #1 #2 {#3} {#4} } -\tl_new:N \@@_patch_true:w -\tl_new:N \@@_patch_false:w +\cs_new_eq:NN \@@_patch_true:w \use_i:nn +\cs_new_eq:NN \@@_patch_false:w \use_ii:nn % \end{macrocode} % \end{macro} % @@ -11040,7 +11415,7 @@ Copyright and Licence \exp_not:N ##2 \exp_not:c { ##3 ~ } \exp_not:c { #1##3 } - } {##3} ##1 + } { ##3 } ##1 } { ##1##2 } } @@ -11057,8 +11432,8 @@ Copyright and Licence \str_if_eq:eeTF { \exp_not:n { #1@protected@ ##3 #1##3 } } { - \exp_last_unbraced:Nf \@@_parse_name:w - \cs_replacement_spec:N ##3 #3 ~ #2 \q_stop + \exp_last_unbraced:Ne \@@_parse_name:w + { \cs_replacement_spec:N ##3 } #3 ~ #2 \q_stop } { #1##5 ~ } { ##5 ~ } } @@ -11270,903 +11645,4 @@ Copyright and Licence % % \Finale % -% \endinput -% -% \DisableImplementation -% -% \begin{implementation} -% -% \subsection{\cls{ctxdoc}} -% -% \begin{macrocode} -%<*ctxdoc> -% \end{macrocode} -% -% \begin{macrocode} -%<@@=ctxdoc> -% \end{macrocode} -% -% \begin{macrocode} -\ExplSyntaxOff -\let\pdfmdfivesum\mdfivesum -\DeclareOption*{\PassOptionsToClass{\CurrentOption}{l3doc}} -\PassOptionsToClass{a4paper,full}{l3doc} -\ProcessOptions -\@namedef{ver@thumbpdf.sty}{9999/99/99} -\LoadClass{l3doc} -\RequirePackage[UTF8, punct = kaiming, heading, fontset = none, - linespread = 1.2, sub3section]{ctex} -\ifxetex - \xeCJKsetup{AutoFakeBold=false} -\fi -\ctexset{ - fontset, - abstractname = 简介, - indexname = 代码索引, - section = { - format = \Large\bfseries\raggedright, - name = {第,节}, - }, -} -\RequirePackage[toc]{multitoc} -\RequirePackage{geometry} -\RequirePackage{tabularx} -\RequirePackage{makecell} -\RequirePackage{threeparttable} -\RequirePackage{siunitx} -\RequirePackage{unicode-math} -\RequirePackage{xcolor} -\RequirePackage{caption} -\RequirePackage{fancyvrb-ex} -\RequirePackage{zref-base} -\geometry{includemp,hmargin={0mm,15mm},vmargin={25mm,15mm},footskip=7mm} -\hypersetup{pdfstartview=FitH,bookmarksdepth=subparagraph} -\setcounter{secnumdepth}{4} -\setcounter{tocdepth}{2} -\newcommand*\email{\nolinkurl} -\setmainfont{TeX Gyre Pagella} -\setsansfont{TeX Gyre Heros} -\setmonofont[ - HyphenChar = None , - UprightFont=* Light, BoldFont=* Bold, - SlantedFont=* Light Oblique]{CMU Typewriter Text} -\setmathfont{texgyrepagella-math.otf} -\captionsetup{strut=off, labelsep=quad, labelfont+=bf} -%% <--- http://tex.stackexchange.com/a/40896 -\patchcmd{\@addtocurcol}% - {\vskip \intextsep}% - {\edef\save@first@penalty{\the\lastpenalty}\unpenalty - \ifnum \lastpenalty = \@M % hopefully the OR penalty - \unpenalty - \else - \penalty \save@first@penalty \relax % put it back - \fi - \ifnum\outputpenalty <-\@Mii - \addvspace\intextsep - \vskip\parskip - \else - \addvspace\intextsep - \fi}% - {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}} -\patchcmd{\@addtocurcol}% - {\vskip\intextsep \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi}% - {\ifnum\outputpenalty <-\@Mii - \aftergroup\vskip\aftergroup\intextsep - \aftergroup\nointerlineskip - \else - \vskip\intextsep - \fi}% - {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}} -\patchcmd{\@getpen}{\@M}{\@Mi} - {\typeout{*** SUCCESS ***}}{\typeout{*** FAIL ***}} -%% ---> -%% 不对代码实现的 \section 以下标题编目录。 -\AtBeginEnvironment{implementation}{% - \ifnum\value{tocdepth}>\@ne - \addtocontents{toc}{\protect\value{tocdepth}=1\relax}% - \fi} -\ifxetex - \let\ctexdocverbaddon\xeCJKVerbAddon - \def\ctexdisableecglue{\xeCJKsetup{CJKecglue}} - \def\ctexplainps{\xeCJKsetup{PunctStyle=plain}} - \appto\meta@font@select{\ifinner\ctexdisableecglue\fi} -\else - \let\ctexdocverbaddon\relax - \let\ctexplainps\relax - \def\ctexdisableecglue{\ltjsetparameter{autoxspacing=false}} - \appto\meta@font@select{\ctexdisableecglue} -\fi -\setlist{noitemsep,topsep=\smallskipamount} -\setlist[1]{labelindent=\parindent} -\setlist[enumerate]{leftmargin=*} -\setlist[itemize]{leftmargin=*} -\newlist{optdesc}{description}{3} -%% 设置间距为 \marginparsep,与 l3doc 一致 -\setlist[optdesc]{% - font=\mdseries\small\ttfamily,align=right,listparindent=\parindent, - labelsep=\marginparsep,labelindent=-\marginparsep,leftmargin=*} -%% 重新定义 threeparttable 包的 tablenotes 环境 -\renewlist{tablenotes}{description}{1} -\setlist[tablenotes]{% - format=\normalfont\tnote@item,align=right,listparindent=\parindent, - labelindent=\tabcolsep,leftmargin=*,rightmargin=\tabcolsep, - after=\@noparlisttrue} -\AtBeginEnvironment{tablenotes}{% - \setlength\parindent{2\ccwd}% - \normalfont\footnotesize} -\AtBeginEnvironment{threeparttable}{% - \stepcounter{tpt@id}% - \edef\curr@tpt@id{tpt@\arabic{tpt@id}}} -\newcounter{tpt@id} -\def\tnote@item#1{% - \Hy@raisedlink{\hyper@anchor{\curr@tpt@id-#1}}#1} -\def\TPTtagStyle#1{\hyperlink{\curr@tpt@id-#1}{#1}} -\fvset{ - fontsize=\small,baselinestretch=1,numbersep=5pt, - formatcom=\ctexdocverbaddon, - listparameters=\setlength\topsep{\MacrocodeTopsep}} -\DefineVerbatimEnvironment{frameverb}{Verbatim}{% - gobble=4, - frame=single,framesep=8pt, - listparameters= - \setlength\topsep{\medskipamount}% - \appto\FV@EndList{\nointerlineskip}} -\DefineVerbatimEnvironment{ctexexam}{Verbatim}{% - gobble=4, - frame=single,framesep=10pt, - label=\rule{0pt}{12pt}\textnormal{\bfseries 例 \arabic{ctexexam}}, - listparameters= - \setlength\topsep{\bigskipamount}% - \refstepcounter{ctexexam}\ctexexamlabelref - \appto\FV@EndList{\nointerlineskip}} -\define@key{FV}{labelref}{\def\ctexexamlabelref{\label{#1}}} -\let\ctexexamlabelref\empty -\newcounter{ctexexam} -\BeforeBeginEnvironment{function}{\par\nointerlineskip} -\AtEndEnvironment{function}{% - \par\xdef\ctexfixprevdepth{\prevdepth=\the\prevdepth\space}} -\AfterEndEnvironment{function}{\ctexfixprevdepth} -\AtBeginEnvironment{syntax}{\linespread{1}\ctexplainps\ctexdisableecglue} -\BeforeBeginEnvironment{SideBySideExample}{\par\addvspace{\medskipamount}} -\newcommand*\exptarget{\Hy@raisedlink{\hypertarget{expstar}{}}} -\newcommand*\rexptarget{\Hy@raisedlink{\hypertarget{rexpstar}{}}} -\newcommand*\expstar{\hyperlink{expstar}{$\star$}} -\newcommand*\rexpstar{\hyperlink{rexpstar}{\ding{73}}} -\ExplSyntaxOn -%% l3doc 会设置列表环境中 \listparindent=\z@,我们在这里恢复它。 -\cs_set_eq:NN \list \__codedoc_oldlist:nn -\cs_new_nopar:Npn \zihaopt #1 - { - \exp_last_unbraced:Nf \tl_head:w - { \prop_item:Nn \c__ctex_font_size_prop {#1} } { } \q_stop - } -%% 抑制首段的 \parskip -\ctex_patch_cmd_once:NnnnTF \__codedoc_function_descr_start:w - { } - { \noindent } - { \skip_vertical:n { -\parskip } \noindent } - { \iow_term:n { *** ~ SUCCESS ~ *** } } - { \iow_term:n { *** ~ FAIL ~ *** } } -%% l3doc 会在 function 环境的 syntax 和 descr 盒子中间加上 \medskipamount 的距离。 -%% 但是若 syntax 盒子为空(未使用 syntax 环境),就会显得不好看。 -%% 此时我们通过将 \medskipamount 设置为零来修正。若盒子非空,则将 \parskip 还回去。 -\ctex_preto_cmd:NnnTF \__codedoc_function_assemble: - { } - { \ctex_doc_fix_yoffset: } - { \iow_term:n { *** ~ SUCCESS ~ *** } } - { \iow_term:n { *** ~ FAIL ~ *** } } -\cs_new_protected_nopar:Npn \ctex_doc_fix_yoffset: - { - \box_if_empty:NTF \g__codedoc_syntax_box - { \skip_zero:N \medskipamount } - { \skip_add:Nn \medskipamount { \parskip } } - } -%% 左侧边注的函数列表采用单倍行距 -\ctex_preto_cmd:NnnTF \__codedoc_typeset_functions: - { } - { \MacroFont } - { \iow_term:n { *** ~ SUCCESS ~ *** } } - { \iow_term:n { *** ~ FAIL ~ *** } } -\ctex_patch_cmd_once:NnnnTF \__codedoc_macro_init: - { } - { \hbox:n } - { \MacroFont \hbox:n } - { \iow_term:n { *** ~ SUCCESS ~ *** } } - { \iow_term:n { *** ~ FAIL ~ *** } } -\ctex_patch_cmd_once:NnnnTF \__codedoc_macro_dump: - { } - { \hbox_unpack_drop:N } - { \MacroFont \hbox_unpack_drop:N } - { \iow_term:n { *** ~ SUCCESS ~ *** } } - { \iow_term:n { *** ~ FAIL ~ *** } } -\cs_set_eq:NN \__codedoc_macro_end_style:n \use_none:n -\cs_set_protected:Npn \__codedoc_macro_typeset_one:nN #1#2 - { - \vbox_set:Nn \l__codedoc_macro_box - { - \MacroFont - \vbox_unpack_drop:N \l__codedoc_macro_box - \hbox_set:Nn \l_tmpa_box - { \__codedoc_print_macroname:nN {#1} #2 } - \dim_set:Nn \l_tmpa_dim { \marginparwidth - \labelsep } - \dim_compare:nNnT { \box_wd:N \l_tmpa_box } > \l_tmpa_dim - { - \box_resize_to_wd_and_ht:Nnn \l_tmpa_box - { \l_tmpa_dim } - { \box_ht:N \l_tmpa_box } - } - \hbox_overlap_left:n - { - \box_use:N \l_tmpa_box - \skip_horizontal:n { \marginparsep - \labelsep } - } - } - \int_incr:N \l__codedoc_macro_int - } -\cs_set_protected:Npn \__codedoc_print_macroname:nN #1#2 - { - \strut - \__codedoc_get_hyper_target:xN - { - \exp_not:n {#1} - \bool_if:NT #2 { \tl_to_str:n {TF} } - } - \l__codedoc_tmpa_tl - \cs_if_exist:cTF { r@ \l__codedoc_tmpa_tl } - { \exp_args:NNo \label@hyperref [ \l__codedoc_tmpa_tl ] } - { \use:n } - { - \tl_set:Nn \l__codedoc_tmpa_tl {#1} - \tl_replace_all:Non \l__codedoc_tmpa_tl - { \c_catcode_other_space_tl } - { \fontspec_visible_space: } - \__codedoc_macroname_prefix:o \l__codedoc_tmpa_tl - \__codedoc_macroname_suffix:N #2 - } - } -\AtBeginEnvironment { syntax } - { - \char_set_catcode_active:N \| - \char_set_active_eq:NN \| \orbar - \char_set_catcode_active:N \( - \char_set_active_eq:NN \( \defaultvalaux - } -%% 不对目录中出现的 \cs 和 \tn 等编索引 -\DeclareDocumentCommand \StopSpecialIndexModule { } - { \cs_set_eq:NN \__codedoc_special_index_module:nnnnN \use_none:nnnnn } -\tl_map_inline:nn { \actualchar \encapchar \levelchar } - { \exp_args:Nx \DoNotIndex { \bslash \tl_to_str:N #1 } } -\DeclareDocumentCommand \package { o m } - { - \exp_args:Nx \href - { - http \c_colon_str //www.ctan.org/pkg/ - \IfNoValueTF {#1} { \str_fold_case:n {#2} } {#1} - } - { \pkg {#2} } - } -\DeclareDocumentCommand \GetFileId { m } - { - \GetFileInfo {#1} - \file_get:nnNTF { \c_sys_jobname_str .id } - { \int_set:Nn \tex_endlinechar:D { -1 } } \l_@@_tmp_tl - { \exp_after:wN \GetIdInfo \l_@@_tmp_tl } - { \GetIdInfo $Id$ } - { \fileinfo } - } -\cs_new_eq:NN \@@_ltx_changes:nnn \changes@ -\cs_set_protected:Npn \changes@ #1#2 - { - \@@_save_version_date:nn {#1} {#2} - \tl_if_empty:nTF {#1} - { \@@_ltx_changes:nnn } - { \@@_version_zfill:wnnn #1 \q_stop } - {#1} {#2} - } -\cs_new_protected:Npn \@@_version_zfill:wnnn #1#2 \q_stop - { - \str_if_eq:nnTF {#1} { v } - { \@@_version_zfill:nnnn {#2} } - { \@@_ltx_changes:nnn } - } -\cs_new_protected:Npn \@@_version_zfill:nnnn #1#2 - { - \tl_clear:N \l_@@_tmp_tl - \int_zero:N \l_tmpa_int - \seq_set_split:Nnn \l_tmpa_seq { . } {#1} - \seq_map_function:NN \l_tmpa_seq \@@_version_zfill:n - \int_compare:nNnF \l_tmpa_int > 2 - { - \tl_put_right:Nx \l_@@_tmp_tl - { \prg_replicate:nn { 3 - \l_tmpa_int } { 00000 } } - } - \@@_ltx_changes:nnn { \l_@@_tmp_tl \actualchar #2 } - } -\tl_new:N \l_@@_tmp_tl -\cs_new_protected:Npn \@@_version_zfill:n #1 - { - \int_incr:N \l_tmpa_int - \tl_put_right:Nx \l_@@_tmp_tl - { - \prg_replicate:nn - { \int_max:nn { 0 } { 5 - \tl_count:n {#1} } } { 0 } - \exp_not:n {#1} - } - } -\cs_new_protected:Npn \@@_save_version_date:nn #1#2 - { - \prop_get:NnNTF \g_@@_version_date_prop {#1} \l_@@_tmp_tl - { \exp_after:wN \@@_save_version_date:nnnn \l_@@_tmp_tl {#2} {#1} } - { \@@_save_version_date:nnn {#1} {#2} {#2} } - } -\cs_new_protected:Npn \@@_save_version_date:nnnn #1#2#3#4 - { - \@@_if_date_later:nnTF {#1} {#3} - { \@@_save_version_date:nnn {#4} {#3} {#2} } - { - \@@_if_date_later:nnT {#3} {#2} - { \@@_save_version_date:nnn {#4} {#1} {#3} } - } - } -\prg_new_conditional:Npnn \@@_if_date_later:nn #1#2 { TF , T } - { - \if_int_compare:w \@@_parse_date:w #1 / / / 0 \q_stop > - \@@_parse_date:w #2 / / / 0 \q_stop \exp_stop_f: - \prg_return_true: \else: \prg_return_false: \fi: - } -\cs_new:Npn \@@_parse_date:w #1/#2/#3/ #4 \q_stop - { #1#2#3 } -\cs_new_protected:Npn \@@_save_version_date:nnn #1#2#3 - { \prop_gput:Nnn \g_@@_version_date_prop {#1} { {#2} {#3} } } -\cs_new_protected:Npn \CTEX@versionitem #1 \efill - { - \@idxitem - \prop_get:NnNTF \g_@@_version_date_prop {#1} \l_@@_tmp_tl - { \exp_after:wN \@@_version_item:nnn \l_@@_tmp_tl {#1} } - { \BOOM } - } -\cs_new_protected:Npn \@@_version_item:nnn #1#2#3 - { - \noindent - \Hy@raisedlink { \belowpdfbookmark {#3} { HD.#3 } } - \textbf {#3} \hfill - \hbox:n - { - \footnotesize - \str_if_eq:nnTF {#1} {#2} - { ( #1 ) } - { ( #1 ~ -- ~ #2 ) } - } - \par \nopagebreak - } -\prop_new:N \g_@@_version_date_prop -\ctex_patch_cmd:Nnn \HDorg@theglossary - { \let \item \@idxitem } - { \let \item \CTEX@versionitem } -\ctex_patch_cmd:Nnn \l@section { 2.5em } { 1.5em } -\ctex_patch_cmd:Nnn \l@subsection { 2.5em } { 1.5em } -\ctex_patch_cmd:Nnn \@wrglossary - { hdpindex } - { - \ifnum \c@HD@hypercount = \z@ - hdpindex - \else - hdclindex { \the \c@HD@hypercount } - \fi - } -%% 重定义 macrocode 环境的实现,逐行处理 -\cs_set_protected_nopar:Npn \xmacro@code - { \@@_marco_code:w } -\cs_set_protected_nopar:Npn \sxmacro@code - { - \fontspec_print_visible_spaces: - \xmacro@code - } -\cs_new_protected_nopar:Npn \@@_marco_code:w - { - \ifcodeline@index - \@@_marco_every_par:n { \@@_code_line_no: } - \else: - \@@_marco_every_par:n { } - \fi: - \exp_args:Nx \@@_make_finish_tag:n { \@currenvir } - \@@_verbatim_start:w - } -\cs_new_protected:Npn \@@_marco_every_par:n #1 - { - \everypar - { - \everypar {#1} - \if@inlabel - \global \@inlabelfalse - \@noparlistfalse - \llap { \box \@labels \hskip \leftskip } - \fi - #1 - } - } -\ctex_patch_cmd:Nnn \macro@code - { \if@inlabel \leavevmode \fi } - { \partopsep \z@skip } -\group_begin: - \int_set:Nn \tex_endlinechar:D { -1 } - \use:n - { - \char_set_catcode_active:n { 32 } - \tl_const:Nn \c_@@_active_space_tl - } - { } -\group_end: -\group_begin: - \char_set_catcode_active:n { 13 } - \cs_new_protected:Npx \@@_make_finish_tag:n #1 - { - \tl_set:Nn \exp_not:N \l_@@_verbatim_finish_tl - { - \c_percent_str - \prg_replicate:nn { 4 } - { \exp_not:o { \c_@@_active_space_tl } } - \exp_not:o { \active@escape@char } end - \c_left_brace_str #1 \c_right_brace_str - \exp_not:N ^^M - } - } - \cs_new_protected:Npn \@@_verbatim_start:w #1 - { - \str_if_eq:nnTF {#1} { ^^M } - { \@@_verbatim_read_line:w } - { \@@_verbatim_read_line:w #1 } - } - \cs_new_protected:Npn \@@_verbatim_read_line:w #1 ^^M - { - \tl_set:Nn \l_@@_verbatim_line_tl { #1 ^^M } - \tl_if_eq:NNTF \l_@@_verbatim_line_tl \l_@@_verbatim_finish_tl - { \exp_args:Nx \end { \@currenvir } } - { - \@@_verbatim_process_line: - \@@_verbatim_read_line:w - } - } - \cs_new_protected:Npn \@@_swap_cr: - { \exp_after:wN \@@_swap_cr:w \l_@@_verbatim_line_tl } - \cs_new_protected:Npn \@@_swap_cr:w #1 ^^M - { - \group_insert_after:N ^^M - \tl_set:Nn \l_@@_verbatim_line_tl {#1} - } - \tl_const:Nn \c_@@_active_cr_tl { ^^M } -\group_end: -\tl_new:N \l_@@_verbatim_line_tl -\tl_new:N \l_@@_verbatim_finish_tl -\tl_new:N \g_@@_verbatim_verb_stop_tl -\cs_new_protected_nopar:Npn \@@_process_normal_line: - { - \str_if_eq:eeTF - { \str_head:N \l_@@_verbatim_line_tl } { \c_percent_str } - { \@@_check_angle:x { \tl_tail:N \l_@@_verbatim_line_tl } } - { \@@_output_line: } - } -\cs_new_protected_nopar:Npn \@@_process_verb_line: - { - \tl_if_eq:NNTF \l_@@_verbatim_line_tl \g_@@_verbatim_verb_stop_tl - { - \tl_gclear:N \g_@@_verbatim_verb_stop_tl - \cs_gset_eq:NN \@@_verbatim_process_line: \@@_process_normal_line: - \@@_output_module:nn - { \color { verb@guard } } - { - \@@_swap_cr: - \@@_module_pop:n { \l_@@_verbatim_line_tl } - } - } - { \tl_use:N \l_@@_verbatim_line_tl } - } -\cs_new_eq:NN \@@_verbatim_process_line: \@@_process_normal_line: -\DeclareDocumentCommand \CheckModules { } - { \cs_set_eq:NN \@@_verbatim_process_line: \@@_process_normal_line: } -\DeclareDocumentCommand \DontCheckModules { } - { \cs_set_eq:NN \@@_verbatim_process_line: \@@_output_line: } -\cs_new_protected:Npn \@@_check_angle:n #1 - { - \str_if_eq:eeTF { \str_head:n {#1} } { < } - { \@@_check_module:x { \tl_tail:n {#1} } } - { \@@_output_percent_line: } - } -\cs_generate_variant:Nn \@@_check_angle:n { x } -\cs_new_protected:Npn \@@_check_module:n #1 - { - \exp_args:Nx \str_case:nnF { \str_head:n {#1} } - { - { * } { \@@_module_star:w } - { / } { \@@_module_slash:w } - { @ } { \@@_module_at:w } - { < } { \@@_module_verb:w } - } - { \@@_module_pm:w } - #1 \q_stop - } -\cs_generate_variant:Nn \@@_check_module:n { x } -\group_begin: - \char_set_catcode_active:N \> - \cs_new_protected:Npn \@@_module_star:w #1 > #2 \q_stop - { - \@@_output_module:nn - { \@@_star_color: } - { \@@_module_push:n { \@@_module_angle:n {#1} } } - \@@_output_line:n {#2} - \@@_star_format: - } - \cs_new_protected:Npn \@@_module_slash:w #1 > #2 \q_stop - { - \@@_output_module:nn - { \@@_slash_color: } - { \@@_module_pop:n { \@@_module_angle:n {#1} } } - \@@_output_line:n {#2} - \@@_slash_format: - } - \cs_new_protected:Npn \@@_module_at:w @ @ = #1 > #2 \q_stop - { - \@@_output_module:nn - { \color { at@guard } } - { \@@_module_angle:n { @ @ = #1 } } - \tl_gset:Nn \g__codedoc_module_name_tl {#1} - \@@_output_line:n {#2} - } - \cs_new_protected:Npn \@@_module_pm:w #1 > #2 \q_stop - { - \tex_noindent:D - \hbox_overlap_left:n - { - \@@_output_module:nn - { \@@_pm_color: } - { \@@_module_angle:n {#1} } - \skip_horizontal:n { \leftskip + \smallskipamount } - } - \group_begin: - \@@_pm_format: - \@@_output_line:n {#2} - \group_end: - } - \cs_new_protected:Npn \@@_module_verb:w #1 \q_stop - { - \cs_gset_eq:NN \@@_verbatim_process_line: \@@_process_verb_line: - \tl_gset:Nx \g_@@_verbatim_verb_stop_tl - { \c_percent_str \tl_tail:n {#1} } - \@@_output_module:nn - { \color { verb@guard } } - { - \@@_swap_cr: - \@@_module_push:n { \l_@@_verbatim_line_tl } - } - } -\group_end: -\cs_new_protected_nopar:Npn \@@_output_line: - { - \tex_noindent:D - \@@_replace_at_at:N \l_@@_verbatim_line_tl - \tl_use:N \l_@@_verbatim_line_tl - } -\cs_new_protected:Npn \@@_replace_at_at:N #1 - { - \tl_if_empty:NF \g__codedoc_module_name_tl - { - \exp_args:NNo \@@_replace_at_at_aux:Nn - #1 \g__codedoc_module_name_tl - } - } -\cs_new_protected:Npn \@@_replace_at_at_aux:Nn #1#2 - { - \tl_replace_all:Nnn #1 { _ @ @ } { _ _ #2 } - \tl_replace_all:Nnn #1 { @ @ } { _ _ #2 } - } -\cs_new_protected:Npn \@@_output_line:n #1 - { - \tl_set:Nn \l_@@_verbatim_line_tl {#1} - \tl_if_eq:NNTF \l_@@_verbatim_line_tl \c_@@_active_cr_tl - { \tl_use:N \l_@@_verbatim_line_tl } - { - \str_if_eq:eeTF - { \str_head:N \l_@@_verbatim_line_tl } - { \c_percent_str } - { \@@_output_percent_line: } - { \@@_output_line: } - } - } -\cs_new_protected:Npn \@@_output_percent_line: - { - \tex_noindent:D - \group_begin: - \color { code@gray } - \@@_swap_cr: - \str_if_eq:eeTF { \f@shape } { \updefault } - { \slshape } - { \upshape } - \@@_output_line: - \group_end: - } -\cs_new_protected_nopar:Npn \@@_module_push:n - { \exp_args:No \@@_module_push_aux:nn { \int_use:N \c@HD@hypercount } } -\cs_new_protected:Npn \@@_module_push_aux:nn #1 - { - \seq_gpush:Nn \g_@@_module_dest_seq {#1} - \hypersetup { hidelinks } - \exp_args:Nx \hdclindex - { \zref@extractdefault { HD.#1 } { guard@end } { 1 } } { } - } -\cs_new_protected_nopar:Npn \@@_module_pop:n - { - \seq_gpop:NNTF \g_@@_module_dest_seq \l_@@_tmp_tl - { \exp_args:No \@@_module_pop_aux:nn { \l_@@_tmp_tl } } - { \BOOM \use:n } - } -\cs_new_protected:Npn \@@_module_pop_aux:nn #1 - { - \zref@labelbylist { HD.#1 } { ctxdoc } - \hypersetup { hidelinks } - \hdclindex {#1} { } - } -\seq_new:N \g_@@_module_dest_seq -\zref@newlist { ctxdoc } -\zref@newprop { guard@end } [ 1 ] - { \int_eval:n { \c@HD@hypercount - 1 } } -\zref@addprop { ctxdoc } { guard@end } -\cs_new_protected_nopar:Npn \@@_star_format: - { - \seq_gpush:No \g_@@_slash_format_seq { \macro@font } - \seq_gpop:NNF \g_@@_star_format_seq \l_@@_format_tl - { \@@_pop_format: } - \@@_select_format: - } -\cs_new_protected_nopar:Npn \@@_slash_format: - { - \seq_gpop:NNTF \g_@@_slash_format_seq \l_@@_format_tl - { - \seq_gpush:No \g_@@_star_format_seq { \macro@font } - \@@_select_format: - } - { \BOOM } - } -\cs_new_protected_nopar:Npn \@@_pm_format: - { - \seq_get:NNF \g_@@_star_format_seq \l_@@_format_tl - { - \@@_pop_format: - \seq_gpush:No \g_@@_star_format_seq { \l_@@_format_tl } - } - \cs_if_eq:NNF \macro@font \l_@@_format_tl - { \l_@@_format_tl } - } -\cs_new_protected_nopar:Npn \@@_pop_format: - { - \seq_gpop_left:NN \g_@@_format_seq \l_@@_format_tl - \seq_gput_right:No \g_@@_format_seq { \l_@@_format_tl } - } -\cs_new_protected_nopar:Npn \@@_select_format: - { - \cs_if_eq:NNF \macro@font \l_@@_format_tl - { - \cs_gset_eq:NN \macro@font \l_@@_format_tl - \macro@font - } - } -\tl_new:N \l_@@_format_tl -\seq_new:N \g_@@_format_seq -\seq_new:N \g_@@_star_format_seq -\seq_new:N \g_@@_slash_format_seq -\seq_gput_right:Nn \g_@@_format_seq { \MacroFont } -\seq_gput_right:Nn \g_@@_format_seq { \AltMacroFont } -\cs_set_protected:Npn \MacroFont - { - \linespread { 1 } - \small - \fontseries { \mddefault } - \fontshape { \updefault } - \ttfamily - \ctexdocverbaddon - } -\cs_set_protected:Npn \AltMacroFont - { - \linespread { 1 } - \small - \fontseries { \mddefault } - \fontshape { \sldefault } - \ttfamily - \ctexdocverbaddon - } -\AtBeginDocument - { - \tl_gset:Nx \macro@font - { \seq_item:Nn \g_@@_format_seq { 1 } } - } -\cs_new_protected:Npn \@@_output_module:nn #1#2 - { - \tex_noindent:D - \group_begin: - #1 - \footnotesize \normalfont \sffamily #2 - \group_end: - } -\cs_new_protected_nopar:Npn \@@_star_color: - { - \seq_gpop:NNTF \g_@@_star_color_seq \current@color - { \set@color } - { \@@_select_color: } - \seq_gpush:No \g_@@_slash_color_seq { \current@color } - } -\cs_new_protected_nopar:Npn \@@_slash_color: - { - \seq_gpop:NNTF \g_@@_slash_color_seq \current@color - { - \set@color - \seq_gpush:No \g_@@_star_color_seq { \current@color } - } - { \BOOM } - } -\cs_new_protected_nopar:Npn \@@_pm_color: - { - \seq_get:NNTF \g_@@_star_color_seq \current@color - { \set@color } - { - \@@_select_color: - \seq_gpush:No \g_@@_star_color_seq { \current@color } - } - } -\seq_new:N \g_@@_star_color_seq -\seq_new:N \g_@@_slash_color_seq -\cs_new_protected_nopar:Npn \@@_select_color: - { \color { guard@series!!+ } } -\definecolorseries { guard@series } - { cmyk } { last } { blue } { purple } -\resetcolorseries [ 3 ] { guard@series } -\definecolor { verb@guard } { rgb } { 0.5 , 0.5 , 0 } -\definecolor { at@guard } { rgb } { 0.5 , 0 , 0.5 } -\definecolor { code@gray } { gray } { 0.5 } -\cs_new_protected:Npn \@@_module_angle:n #1 - { \textlangle #1 \textrangle } -\cs_new_protected_nopar:Npn \@@_code_line_no: - { - \int_gincr:N \c@CodelineNo - \hbox_overlap_left:n - { - \hbox_to_wd:nn - { \MacroIndent } - { - \HD@target - \tex_hss:D - \@@_code_line_no_style: - \theCodelineNo \enspace - } - \tex_kern:D \@totalleftmargin - } - } -\tl_set:Nn \theCodelineNo - { \arabic { CodelineNo } } -\cs_new_protected_nopar:Npn \@@_code_line_no_style: - { \color { code@gray } \normalfont \sffamily \tiny } -\cs_set_protected:Npn \HD@SetMacroIndent #1 - { - \group_begin: - \settowidth \MacroIndent - { - \@@_code_line_no_style: - \prg_replicate:nn { \tl_count:n {#1} } { 0 } - \enspace - } - \dim_gset_eq:NN \MacroIndent \MacroIndent - \group_end: - } -\ExplSyntaxOff -\AtBeginDocument{\addtocontents{toc}{\StopSpecialIndexModule}} -\pdfstringdefDisableCommands{% - \let\path\meta - \let\opt\@firstofone} -\preto\@thehead{\cslet{MakeUppercase\space}{\@iden}} -\def\orbar{\textup{\textbar}} -\def\defaultval#1{\textbf{\textup{#1}}} -\def\defaultvalaux#1){\defaultval{#1}} -\def\TF{true\orbar false} -\def\TTF{\defaultval{true}\orbar false} -\def\TFF{true\orbar\defaultval{false}} -\protected\def\opt{\texttt} -\def\pdfTeX{\hologo{pdfTeX}} -\def\XeTeX{\hologo{XeTeX}} -\def\XeLaTeX{\hologo{XeLaTeX}} -\def\LuaLaTeX{\hologo{LuaLaTeX}} -\def\pdfLaTeX{\hologo{pdfLaTeX}} -\def\LaTeX{\hologo{LaTeX}} -\def\LaTeXe{\hologo{LaTeX2e}} -\def\LaTeXiii{\hologo{LaTeX3}} -\def\dvipdfmx{DVIPDFM\textit{x}} -\def\TeX{\hologo{TeX}} -\def\ApTeX{Ap\TeX} -\def\ApLaTeX{Ap\LaTeX} -\def\upTeX{up\TeX} -\def\upLaTeX{up\LaTeX} -\def\bashcmd{\texttt} -\def\TeXLive{\TeX\ Live} -\def\MiKTeX{\hologo{MiKTeX}} -\def\BSTACK{\begin{tabular}[t]{@{}l@{}}} -\def\ESTACK{\end{tabular}} -\newenvironment{defaultcapconfig}{% - \MakePercentComment - \input{ctex-name-utf8.cfg}% - \ExplSyntaxOff - \MakePercentIgnore}{} -\def\ctexkit{\href{https://github.com/CTeX-org/ctex-kit/}{\texttt{ctex-kit}}} -\def\ctexkitrev#1{% - \href{https://github.com/CTeX-org/ctex-kit/commit/#1}{\texttt{ctex-kit} rev. #1}} -\appto\GlossaryParms{% - \raggedcolumns - \let\Hy@writebookmark\HDorg@writebookmark - \def\@idxitem{\par\hangindent 2em }% - \def\subitem{\@idxitem\hspace*{1em}}% - \def\subsubitem{\@idxitem\hspace*{2em}}} -\def\glossaryname{版本历史} -\GlossaryPrologue{\section{\glossaryname}} -\IndexPrologue{% - \section{\indexname} - \textit{意大利体的数字表示描述对应索引项的页码; - 带下划线的数字表示定义对应索引项的代码行号; - 罗马字体的数字表示使用对应索引项的代码行号。}} -\def\IndexLayout{% - \newgeometry{hmargin=15mm,vmargin={25mm,15mm},footskip=7mm}% - \setlength\IndexMin{.5\textheight}% - \ctexset{section/numbering=false}% - \StopSpecialIndexModule} -\EnableCrossrefs -\CodelineIndex -\RecordChanges -% \end{macrocode} -% -% \begin{macrocode} -% -% \end{macrocode} -% -% \subsection{\pkg{ctxdocstrip}} -% -% \begin{macrocode} -%<*docstrip> -\csname ctxdocstriploaded\endcsname -\let\ctxdocstriploaded\endinput -\input l3docstrip % -\edef\ctxresetcatcode{% - \catcode\number`\$=\the\catcode`\$\relax} -\makeOther\$ -\def\plusOption+#1>#2$#3$\endLine{% - \maybeMsg{<+#1 . >}% - \Evaluate{#1}% - \def\ctxCMD{#2}% - \def\ctxID{$#3$}% - \def\do##1##2##3{% - \if1\Expr{##2}% - \readIDFile - \StreamPut##1{\inLine}% - \fi - }% - \activefiles -} -\def\readIDFile{% - \openin\inputcheck=\jobname.id\relax - \ifeof\inputcheck\else - \read \inputcheck to \inLine - \closein\inputcheck - \ifx\inLine\empty\else - \let\ctxID\inLine - \fi - \fi - \maybeMsg{^^J\ctxID^^J}% - \def\inLine{\ctxCMD\ctxID}% -} -\keepsilent -\askforoverwritefalse -\declarepreamble\emptypreamble -\endpreamble -\declarepostamble\emptypostamble -\endpostamble -\ctxresetcatcode -% -% \end{macrocode} -% -% \end{implementation} -% \endinput diff --git a/Master/texmf-dist/source/latex/ctex/ctex.ins b/Master/texmf-dist/source/latex/ctex/ctex.ins new file mode 100644 index 00000000000..f16bc7cc138 --- /dev/null +++ b/Master/texmf-dist/source/latex/ctex/ctex.ins @@ -0,0 +1,299 @@ +%% +%% This is file `ctex.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ctex.dtx (with options: `install') +%% +%% Copyright (C) 2003--2020 +%% CTEX.ORG and any individual authors listed in the documentation. +%% --------------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% --------------------------------------------------------------------- +%% + +\input ctxdocstrip % + +\preamble + + Copyright (C) 2003--2020 + CTEX.ORG and any individual authors listed in the documentation. +--------------------------------------------------------------------- + + This work may be distributed and/or modified under the + conditions of the LaTeX Project Public License, either + version 1.3c of this license or (at your option) any later + version. This version of this license is in + http://www.latex-project.org/lppl/lppl-1-3c.txt + and the latest version of this license is in + http://www.latex-project.org/lppl.txt + and version 1.3 or later is part of all distributions of + LaTeX version 2005/12/01 or later. + + This work has the LPPL maintenance status "maintained". + +--------------------------------------------------------------------- + +\endpreamble +\postamble + + This package consists of the files ctex.dtx, + ctxdoc.cls, + ctxdocstrip.tex, + ctex-zhconv.lua, + ctex-zhconv-make.lua, + and the derived files ctex.pdf, + ctex.ins, + ctex.sty, + ctexsize.sty, + ctexheading.sty, + ctexart.cls, + ctexbook.cls, + ctexrep.cls, + ctexbeamer.cls, + ctexcap.sty, + ctexhook.sty, + ctexpatch.sty, + ctex-c5size.clo, + ctex-cs4size.clo, + ctex-heading-article.def, + ctex-heading-book.def, + ctex-heading-report.def, + ctex-heading-beamer.def, + ctex-scheme-plain.def, + ctex-scheme-plain-article.def, + ctex-scheme-plain-book.def, + ctex-scheme-plain-report.def, + ctex-scheme-plain-beamer.def, + ctex-scheme-chinese.def, + ctex-scheme-chinese-article.def, + ctex-scheme-chinese-book.def, + ctex-scheme-chinese-report.def, + ctex-scheme-chinese-beamer.def, + ctex-name-gbk.cfg, + ctex-name-utf8.cfg, + ctex.cfg, + ctexopts.cfg, + ctexbackend.cfg, + ctex-engine-pdftex.def, + ctex-engine-xetex.def, + ctex-engine-luatex.def, + ctex-engine-aptex.def, + ctex-engine-uptex.def, + c19rm.fd, + c19sf.fd, + c19tt.fd, + c70rm.fd, + c70sf.fd, + c70tt.fd, + jy2zhrm.fd, + jy2zhsf.fd, + jy2zhtt.fd, + jt2zhrm.fd, + jt2zhsf.fd, + jt2zhtt.fd, + ctex-fontset-adobe.def, + ctex-fontset-fandol.def, + ctex-fontset-founder.def, + ctex-fontset-mac.def, + ctex-fontset-macnew.def, + ctex-fontset-macold.def, + ctex-fontset-ubuntu.def, + ctex-fontset-windows.def, + ctexspa.def, + ctexpunct.spa, + ctexmakespa.tex, + ctexspamacro.tex, + zhadobefonts.tex, + zhfandolfonts.tex, + zhfounderfonts.tex, + zhmacfonts.tex, + zhubuntufonts.tex, + zhwindowsfonts.tex, + ctex-zhconv-index.lua, + translator-theorem-dictionary-ChineseGBK.dict, + translator-theorem-dictionary-ChineseUTF8.dict, and + README.md. +\endpostamble + +\generate + { + \usedir{tex/latex/ctex} + \file{ctex.sty} {\from{\jobname.dtx}{style,ctex}} + \file{ctexsize.sty} {\from{\jobname.dtx}{style,ctexsize}} + \file{ctexheading.sty} {\from{\jobname.dtx}{style,ctexheading}} + \file{ctexart.cls} {\from{\jobname.dtx}{class,article}} + \file{ctexbook.cls} {\from{\jobname.dtx}{class,book}} + \file{ctexrep.cls} {\from{\jobname.dtx}{class,report}} + \file{ctexbeamer.cls} {\from{\jobname.dtx}{class,beamer}} + \usepostamble\emptypostamble + \file{ctexcap.sty} {\from{\jobname.dtx}{ctexcap}} + \file{ctexhook.sty} {\from{\jobname.dtx}{ctexhook}} + \file{ctexpatch.sty} {\from{\jobname.dtx}{ctexpatch}} + \file{ctex-c5size.clo} {\from{\jobname.dtx}{c5size}} + \file{ctex-cs4size.clo} {\from{\jobname.dtx}{cs4size}} + \file{ctex-heading-article.def} {\from{\jobname.dtx}{heading,article}} + \file{ctex-heading-book.def} {\from{\jobname.dtx}{heading,book}} + \file{ctex-heading-report.def} {\from{\jobname.dtx}{heading,report}} + \file{ctex-heading-beamer.def} {\from{\jobname.dtx}{heading,beamer}} + \file{ctex-scheme-plain.def} {\from{\jobname.dtx}{scheme,generic,plain}} + \file{ctex-scheme-plain-article.def} {\from{\jobname.dtx}{scheme,article,plain}} + \file{ctex-scheme-plain-book.def} {\from{\jobname.dtx}{scheme,book,plain}} + \file{ctex-scheme-plain-report.def} {\from{\jobname.dtx}{scheme,report,plain}} + \file{ctex-scheme-plain-beamer.def} {\from{\jobname.dtx}{scheme,beamer,plain}} + \file{ctex-scheme-chinese.def} {\from{\jobname.dtx}{scheme,generic,chinese}} + \file{ctex-scheme-chinese-article.def} {\from{\jobname.dtx}{scheme,article,chinese}} + \file{ctex-scheme-chinese-book.def} {\from{\jobname.dtx}{scheme,book,chinese}} + \file{ctex-scheme-chinese-report.def} {\from{\jobname.dtx}{scheme,report,chinese}} + \file{ctex-scheme-chinese-beamer.def} {\from{\jobname.dtx}{scheme,beamer,chinese}} + \ctxfile{GBK}{ctex-name-gbk.cfg} {\from{\jobname.dtx}{name,GBK}} + \file{ctex-name-utf8.cfg} {\from{\jobname.dtx}{name,UTF8}} + \file{ctex.cfg} {\from{\jobname.dtx}{config}} + \file{ctexopts.cfg} {\from{\jobname.dtx}{ctexopts}} + \file{ctexbackend.cfg} {\from{\jobname.dtx}{backend}} + \file{ctex-engine-pdftex.def} {\from{\jobname.dtx}{pdftex}} + \file{ctex-engine-xetex.def} {\from{\jobname.dtx}{xetex}} + \file{ctex-engine-luatex.def} {\from{\jobname.dtx}{luatex}} + \file{ctex-engine-aptex.def} {\from{\jobname.dtx}{aptex}} + \file{ctex-engine-uptex.def} {\from{\jobname.dtx}{uptex}} + \file{c19rm.fd} {\from{\jobname.dtx}{fd,rm,c19}} + \file{c19sf.fd} {\from{\jobname.dtx}{fd,sf,c19}} + \file{c19tt.fd} {\from{\jobname.dtx}{fd,tt,c19}} + \file{c70rm.fd} {\from{\jobname.dtx}{fd,rm,c70}} + \file{c70sf.fd} {\from{\jobname.dtx}{fd,sf,c70}} + \file{c70tt.fd} {\from{\jobname.dtx}{fd,tt,c70}} + \file{jy2zhrm.fd} {\from{\jobname.dtx}{fd,rm,jy2}} + \file{jy2zhsf.fd} {\from{\jobname.dtx}{fd,sf,jy2}} + \file{jy2zhtt.fd} {\from{\jobname.dtx}{fd,tt,jy2}} + \file{jt2zhrm.fd} {\from{\jobname.dtx}{fd,rm,jt2}} + \file{jt2zhsf.fd} {\from{\jobname.dtx}{fd,sf,jt2}} + \file{jt2zhtt.fd} {\from{\jobname.dtx}{fd,tt,jt2}} + \file{ctex-fontset-adobe.def} {\from{\jobname.dtx}{fontset,adobe}} + \file{ctex-fontset-fandol.def} {\from{\jobname.dtx}{fontset,fandol}} + \file{ctex-fontset-founder.def} {\from{\jobname.dtx}{fontset,founder}} + \file{ctex-fontset-mac.def} {\from{\jobname.dtx}{fontset,mac}} + \file{ctex-fontset-macnew.def} {\from{\jobname.dtx}{fontset,macnew}} + \file{ctex-fontset-macold.def} {\from{\jobname.dtx}{fontset,macold}} + \file{ctex-fontset-ubuntu.def} {\from{\jobname.dtx}{fontset,ubuntu}} + \file{ctex-fontset-windows.def} {\from{\jobname.dtx}{fontset,windows}} + \ctxfile{GBK}{translator-theorem-dictionary-ChineseGBK.dict} + {\from{\jobname.dtx}{dict,theorem,GBK}} + \file{translator-theorem-dictionary-ChineseUTF8.dict} + {\from{\jobname.dtx}{dict,theorem,UTF8}} + \file{ctexspa.def} {\from{\jobname.dtx}{ctexspa} + \from{ctexpunct.spa}{}} + \usedir{tex/generic/ctex} + \file{ctexmakespa.tex} {\from{\jobname.dtx}{spa,make}} + \file{ctexspamacro.tex} {\from{\jobname.dtx}{spa,macro}} + \file{zhadobefonts.tex} {\from{\jobname.dtx}{zhmap,adobe}} + \file{zhfandolfonts.tex} {\from{\jobname.dtx}{zhmap,fandol}} + \file{zhfounderfonts.tex} {\from{\jobname.dtx}{zhmap,founder}} + \file{zhmacfonts.tex} {\from{\jobname.dtx}{zhmap,mac}} + \file{zhubuntufonts.tex} {\from{\jobname.dtx}{zhmap,ubuntu}} + \file{zhwindowsfonts.tex} {\from{\jobname.dtx}{zhmap,windows}} + \nopreamble\nopostamble + \usedir{doc/latex/ctex} + \file{README.md} {\from{\jobname.dtx}{readme}} + } + +\catcode32=12\space + +\Msg{*************************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into proper directories searched by TeX: *} +\Msg{* *} +\Msg{* The recommended directory is TDS:tex/latex/ctex *} +\Msg{* *} +\Msg{* ctex.sty *} +\Msg{* ctexsize.sty *} +\Msg{* ctexheading.sty *} +\Msg{* ctexart.cls *} +\Msg{* ctexbook.cls *} +\Msg{* ctexrep.cls *} +\Msg{* ctexbeamer.cls *} +\Msg{* ctexcap.sty *} +\Msg{* ctexhook.sty *} +\Msg{* ctexpatch.sty *} +\Msg{* ctex-c5size.clo *} +\Msg{* ctex-cs4size.clo *} +\Msg{* ctex-heading-article.def *} +\Msg{* ctex-heading-book.def *} +\Msg{* ctex-heading-report.def *} +\Msg{* ctex-heading-beamer.def *} +\Msg{* ctex-scheme-plain.def *} +\Msg{* ctex-scheme-plain-article.def *} +\Msg{* ctex-scheme-plain-book.def *} +\Msg{* ctex-scheme-plain-report.def *} +\Msg{* ctex-scheme-plain-beamer.def *} +\Msg{* ctex-scheme-chinese.def *} +\Msg{* ctex-scheme-chinese-article.def *} +\Msg{* ctex-scheme-chinese-book.def *} +\Msg{* ctex-scheme-chinese-report.def *} +\Msg{* ctex-scheme-chinese-beamer.def *} +\Msg{* ctex-name-gbk.cfg *} +\Msg{* ctex-name-utf8.cfg *} +\Msg{* ctex.cfg *} +\Msg{* ctexopts.cfg *} +\Msg{* ctexbackend.cfg *} +\Msg{* ctex-engine-pdftex.def *} +\Msg{* ctex-engine-xetex.def *} +\Msg{* ctex-engine-luatex.def *} +\Msg{* ctex-engine-aptex.def *} +\Msg{* ctex-engine-uptex.def *} +\Msg{* c19rm.fd *} +\Msg{* c19sf.fd *} +\Msg{* c19tt.fd *} +\Msg{* c70rm.fd *} +\Msg{* c70sf.fd *} +\Msg{* c70tt.fd *} +\Msg{* jy2zhrm.fd *} +\Msg{* jy2zhsf.fd *} +\Msg{* jy2zhtt.fd *} +\Msg{* jt2zhrm.fd *} +\Msg{* jt2zhsf.fd *} +\Msg{* jt2zhtt.fd *} +\Msg{* ctex-fontset-adobe.def *} +\Msg{* ctex-fontset-fandol.def *} +\Msg{* ctex-fontset-founder.def *} +\Msg{* ctex-fontset-mac.def *} +\Msg{* ctex-fontset-macnew.def *} +\Msg{* ctex-fontset-macold.def *} +\Msg{* ctex-fontset-ubuntu.def *} +\Msg{* ctex-fontset-windows.def *} +\Msg{* ctexspa.def *} +\Msg{* ctexmakespa.tex *} +\Msg{* ctexspamacro.tex *} +\Msg{* zhadobefonts.tex *} +\Msg{* zhfandolfonts.tex *} +\Msg{* zhfounderfonts.tex *} +\Msg{* zhmacfonts.tex *} +\Msg{* zhubuntufonts.tex *} +\Msg{* zhwindowsfonts.tex *} +\Msg{* translator-theorem-dictionary-ChineseGBK.dict *} +\Msg{* translator-theorem-dictionary-ChineseUTF8.dict *} +\Msg{* *} +\Msg{* To produce the documentation run the file ctex.dtx *} +\Msg{* through XeLaTeX. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{*************************************************************} + +\endbatchfile +%% +%% +%% End of file `ctex.ins'. diff --git a/Master/texmf-dist/source/latex/ctex/ctexpunct.spa b/Master/texmf-dist/source/latex/ctex/ctexpunct.spa index 2c6e37c4970..a535be5ed75 100644 --- a/Master/texmf-dist/source/latex/ctex/ctexpunct.spa +++ b/Master/texmf-dist/source/latex/ctex/ctexpunct.spa @@ -17,9 +17,23 @@ \ctexspadef{founderzhli}{69,19,58,9,48,21,45,27,48,25,47,32,48,27,48,39,48,21,43,17,47,33,47,33,0,0,11,11,11,61,13,63,17,66,7,80,20,70,19,68,20,70,3,54,9,9,25,48,32,47,27,48,40,48,21,48,17,43,33,47,33,47,19,69,9,58,21,48,27,45,,,} \ctexspadef{founderzhyou}{67,16,61,11,48,11,45,14,48,20,48,17,48,16,48,39,48,12,42,16,48,30,48,30,0,0,12,11,11,61,9,59,17,67,11,83,20,70,18,69,21,70,4,54,12,12,20,48,17,48,16,48,39,48,12,48,16,41,30,48,29,48,16,67,11,61,11,48,14,45,,,} \ctexspadef{founderzhyoub}{69,18,60,10,46,13,43,16,46,17,45,20,46,18,46,31,45,13,38,14,44,29,46,30,-3,0,10,9,9,61,9,59,19,69,7,82,18,68,18,67,20,69,2,52,17,17,17,46,20,45,18,46,32,46,13,45,14,38,29,44,30,46,19,69,10,60,14,46,17,43,,,} -\ctexspadef{ubuntuzhsong}{66,21,58,7,58,8,55,11,59,18,71,7,71,2,40,38,58,13,52,4,64,6,58,14,7,7,11,10,38,38,38,38,17,73,21,70,13,78,13,75,27,63,4,52,4,5,18,59,7,71,2,71,38,40,13,58,4,51,6,64,14,58,16,70,8,56,10,58,11,54,,,} -\ctexspadef{ubuntuzhhei}{6,6,4,4,60,10,61,11,62,12,65,15,67,15,62,15,63,13,57,6,19,52,63,13,-0,0,11,11,10,70,10,68,44,44,45,44,44,44,44,44,43,45,27,27,19,16,12,62,15,65,15,67,15,62,13,63,6,56,3,68,13,63,6,6,4,4,10,60,11,61,,,} -\ctexspadef{ubuntuzhkai}{68,20,58,9,58,8,55,11,59,18,59,20,59,18,53,23,58,13,52,4,58,8,58,14,7,7,11,10,38,38,38,38,40,42,43,43,43,43,43,43,43,43,25,28,10,11,18,59,20,59,18,59,24,53,13,58,4,51,8,58,14,58,17,70,9,58,10,58,11,54,,,} +\ctexspadef{maczhsong}{4,4,4,4,63,14,59,7,63,13,64,13,70,12,59,13,61,12,47,7,56,7,58,8,0,0,11,11,10,68,13,63,17,68,20,70,20,70,18,68,20,70,12,59,18,18,14,62,10,66,12,69,9,64,12,61,7,47,7,56,8,58,4,4,4,4,14,63,7,59,,,} +\ctexspadef{maczhsongb}{4,4,4,4,62,13,49,13,62,10,65,10,59,13,62,14,61,12,43,9,56,4,56,14,0,0,11,10,7,67,13,62,15,66,18,67,18,69,16,66,18,69,10,60,14,10,10,62,10,64,12,60,14,62,12,61,9,43,4,56,14,56,4,4,4,4,12,62,12,50,,,} +\ctexspadef{maczhhei}{68,15,58,4,62,13,56,6,61,11,65,12,66,16,63,12,59,14,51,5,55,5,60,10,0,0,8,11,13,60,13,62,20,70,20,70,20,70,20,70,20,70,3,54,9,10,10,62,12,65,16,65,9,66,14,60,7,48,5,55,10,60,14,68,4,58,13,62,6,56,,,} +\ctexspadef{maczhheil}{71,17,65,7,60,11,56,6,59,9,67,10,66,15,64,13,58,14,51,6,53,6,60,8,0,0,9,10,10,61,12,62,20,70,20,70,20,70,20,70,21,71,4,55,9,9,9,59,10,67,15,66,13,64,14,58,6,51,6,53,8,60,17,71,7,65,11,60,6,56,,,} +\ctexspadef{maczhkai}{5,5,6,3,63,14,59,7,63,13,62,12,60,11,61,15,61,12,47,7,56,7,58,8,0,0,12,11,10,68,13,63,18,67,20,69,19,69,17,67,19,70,14,57,15,10,14,62,10,65,10,60,13,63,12,61,7,47,7,56,8,58,4,4,4,5,14,63,7,59,,,} +\ctexspadef{maczhkaib}{5,6,4,4,65,10,54,8,62,14,63,9,65,10,60,14,61,13,50,8,58,10,60,10,0,0,10,10,11,68,13,63,17,68,18,68,18,68,17,68,19,69,11,59,15,12,13,62,9,63,9,66,13,60,13,61,8,50,10,58,10,61,6,5,4,4,9,65,8,55,,,} +\ctexspadef{maczhfs}{71,14,62,8,63,14,59,7,63,13,62,12,60,11,61,15,61,12,47,7,56,7,58,8,0,0,12,11,10,68,13,63,18,67,20,69,19,69,17,67,19,70,7,58,15,10,14,62,10,65,10,60,13,63,12,61,7,47,7,56,8,58,15,68,8,60,14,63,7,59,,,} +\ctexspadef{maczhli}{4,2,7,4,69,2,61,4,65,6,62,6,48,2,46,1,67,5,52,4,61,3,65,3,0,-0,10,7,10,64,11,66,18,67,43,41,18,67,15,67,19,67,11,57,14,13,4,67,6,63,2,47,1,50,5,67,4,52,3,61,3,65,4,2,7,4,6,67,4,61,,,} +\ctexspadef{maczhyou}{5,5,5,9,71,4,58,4,71,4,75,6,75,6,69,5,73,4,57,4,59,4,63,4,0,0,12,12,12,64,13,66,19,70,15,75,19,72,18,71,19,72,5,58,11,11,4,71,6,75,6,75,5,69,4,73,4,57,4,59,4,63,5,5,7,10,4,71,4,58,,,} +\ctexspadef{maczhyoub}{3,3,4,7,69,2,57,2,70,2,74,4,74,6,67,3,71,2,55,2,58,4,63,4,0,0,10,10,9,62,12,62,17,68,13,72,17,68,16,68,18,68,4,56,10,10,2,70,4,74,6,74,3,67,2,71,2,55,4,58,4,63,3,4,5,7,2,69,2,57,,,} +\ctexspadef{maczhpf}{12,8,12,8,65,3,62,3,67,3,70,8,72,4,67,4,65,8,51,6,63,3,66,5,0,0,11,11,13,63,12,62,12,74,12,76,19,69,18,68,19,69,3,53,8,8,3,67,8,70,4,72,4,67,8,65,6,51,3,63,5,66,8,12,8,12,3,65,3,62,,,} +\ctexspadef{maczhpfb}{12,8,12,8,64,3,61,3,66,3,67,8,70,4,65,4,63,8,47,6,61,3,64,5,0,0,9,9,11,61,11,61,11,71,11,73,17,67,17,66,17,67,2,52,7,7,3,66,8,67,4,70,4,65,8,63,6,47,3,61,5,64,8,12,8,12,3,64,3,61,,,} +\ctexspadef{ubuntuzhsong}{77,8,57,8,66,4,60,4,71,4,65,6,71,4,58,3,53,4,52,4,61,4,62,4,4,4,11,11,4,71,4,68,8,77,9,78,17,70,15,70,19,69,6,55,9,9,4,71,6,65,4,71,3,58,4,53,4,52,4,61,4,62,8,77,8,57,4,66,4,60,,,} +\ctexspadef{ubuntuzhsongb}{75,8,53,8,65,3,62,3,72,3,64,6,72,3,57,3,53,3,53,3,62,3,63,3,4,4,11,11,3,69,4,68,5,77,6,77,18,65,18,65,17,67,4,54,7,7,3,72,6,64,3,72,3,57,3,53,3,53,3,62,3,63,8,75,8,53,3,65,3,62,,,} +\ctexspadef{ubuntuzhhei}{81,5,62,4,65,3,60,3,71,4,70,5,71,3,70,4,59,5,53,4,62,3,67,3,5,5,10,10,5,66,4,65,14,67,16,68,18,67,15,66,19,69,3,54,8,8,4,71,5,70,3,71,4,70,5,59,4,53,3,62,3,67,5,81,4,62,3,65,3,60,,,} +\ctexspadef{ubuntuzhheib}{80,4,60,2,64,3,60,3,69,2,66,4,71,3,68,3,56,5,52,3,63,3,66,3,5,5,9,9,4,64,3,64,16,61,18,62,16,66,13,64,16,66,3,53,5,5,2,69,4,66,3,71,3,68,5,56,3,52,3,63,3,66,4,80,2,60,3,64,3,60,,,} +\ctexspadef{ubuntuzhkai}{53,33,53,19,58,8,59,9,61,11,60,10,62,12,60,10,56,6,54,4,58,8,58,8,7,7,15,15,26,53,29,53,19,67,22,68,30,60,27,59,26,63,7,57,25,23,11,61,10,60,12,62,10,60,6,56,3,54,8,58,8,58,32,54,19,53,8,58,9,59,,,} \ctexspadef{windowszhsong}{67,13,46,13,62,14,61,14,65,17,57,14,55,14,53,18,64,11,54,10,47,11,49,14,3,3,10,10,11,64,14,64,11,71,13,73,12,73,12,73,23,63,14,52,15,13,16,66,14,57,14,55,19,52,11,66,9,54,11,48,14,51,14,68,13,48,14,62,14,61,,,} \ctexspadef{windowszhhei}{78,9,56,9,50,20,50,20,50,23,61,11,54,14,50,26,50,16,50,7,47,11,49,14,0,0,9,11,14,64,13,63,14,72,14,73,19,68,18,68,25,64,15,48,12,12,22,50,11,60,14,55,25,50,16,50,7,50,11,48,14,51,8,79,8,56,18,50,18,50,,,} \ctexspadef{windowszhkai}{67,13,46,13,50,20,50,20,50,23,61,11,54,14,50,26,50,16,50,7,47,11,49,14,0,0,10,10,11,64,13,63,11,71,13,73,17,68,17,68,23,63,15,48,12,12,22,50,11,60,14,55,25,50,16,50,7,50,11,48,14,51,14,68,13,48,18,50,18,50,,,} diff --git a/Master/texmf-dist/tex/generic/ctex/ctexmakespa.tex b/Master/texmf-dist/tex/generic/ctex/ctexmakespa.tex index 3e46540e514..dd127a90aa6 100644 --- a/Master/texmf-dist/tex/generic/ctex/ctexmakespa.tex +++ b/Master/texmf-dist/tex/generic/ctex/ctexmakespa.tex @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `spa,make') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,11 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \input ctexspamacro % - \MAKESPA {ctexpunct.spa} { {adobezhsong} {AdobeSongStd-Light} , @@ -49,9 +46,23 @@ {founderzhli} {FZLiShu-S01} , {founderzhyou} {FZXiYuan-M01} , {founderzhyoub} {FZZhunYuan-M02} , - {ubuntuzhsong} {AR PL UMing CN} , - {ubuntuzhhei} {WenQuanYi Zen Hei} , - {ubuntuzhkai} {AR PL UKai CN} , + {maczhsong} {Songti SC Light} , + {maczhsongb} {Songti SC Bold} , + {maczhhei} {Heiti SC Medium} , + {maczhheil} {Heiti SC Light} , + {maczhkai} {Kaiti SC} , + {maczhkaib} {Kaiti SC Bold} , + {maczhfs} {STFangsong} , + {maczhli} {Baoli SC} , + {maczhyou} {Yuanti SC Light} , + {maczhyoub} {Yuanti SC Regular} , + {maczhpf} {PingFang SC} , + {maczhpfb} {PingFang SC Semibold} , + {ubuntuzhsong} {Noto Serif CJK SC} , + {ubuntuzhsongb} {Noto Serif CJK SC Bold} , + {ubuntuzhhei} {Noto Sans CJK SC} , + {ubuntuzhheib} {Noto Sans CJK SC Bold} , + {ubuntuzhkai} {AR PL KaitiM GB} , {windowszhsong} {SimSun} , {windowszhhei} {SimHei} , {windowszhkai} {KaiTi} , @@ -61,7 +72,6 @@ {windowszhyahei} {Microsoft YaHei} , {windowszhyaheib} {Microsoft YaHei Bold} } - \primitive\end %% %% diff --git a/Master/texmf-dist/tex/generic/ctex/ctexspamacro.tex b/Master/texmf-dist/tex/generic/ctex/ctexspamacro.tex index 80a148e24c3..e4c91b82867 100644 --- a/Master/texmf-dist/tex/generic/ctex/ctexspamacro.tex +++ b/Master/texmf-dist/tex/generic/ctex/ctexspamacro.tex @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `spa,macro') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,17 +20,15 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \input expl3-generic % \ExplSyntaxOn \sys_if_engine_xetex:F { - \msg_new:nn { ctex } { xetex } + \msg_new:nnn { ctex } { xetex } { XeTeX~is~required~to~compile~this~document! } \msg_fatal:nn { ctex } { xetex } } @@ -42,7 +40,7 @@ "FF01 , "FF1F , "FF05 , "3015 , "FF09 , "FF3D , "FF5D , "3009 , "300B , "3017 , "3011 , "2019 , "201D , "300D , "300F } -\cs_new_protected_nopar:Npn \ctex_make_spa:nn #1#2 +\cs_new_protected:Npn \ctex_make_spa:nn #1#2 { \iow_open:Nn \g__ctex_spa_iow {#1} \clist_map_inline:nn {#2} @@ -66,7 +64,7 @@ } \group_end: } -\cs_new_protected_nopar:Npn \__ctex_save_bounds:n #1 +\cs_new_protected:Npn \__ctex_save_bounds:n #1 { \clist_put_right:Nx \l__ctex_punct_bounds_clist { @@ -75,7 +73,7 @@ } } \clist_new:N \l__ctex_punct_bounds_clist -\cs_new_nopar:Npn \__ctex_calc_bounds:nn #1#2 +\cs_new:Npn \__ctex_calc_bounds:nn #1#2 { \fp_eval:n { diff --git a/Master/texmf-dist/tex/generic/ctex/ctxdocstrip.tex b/Master/texmf-dist/tex/generic/ctex/ctxdocstrip.tex index a1948f8bad0..e11443cb3ba 100644 --- a/Master/texmf-dist/tex/generic/ctex/ctxdocstrip.tex +++ b/Master/texmf-dist/tex/generic/ctex/ctxdocstrip.tex @@ -1,15 +1,10 @@ %% -%% This is file `ctxdocstrip.tex', -%% generated with the docstrip utility. +%% File ctxdocstrip.tex %% -%% The original source files were: -%% -%% ctex.dtx (with options: `docstrip') -%% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2016--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ -%% +%%--------------------------------------------------------------------- +%% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3c of this license or (at your option) any later @@ -19,19 +14,20 @@ %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ -%% -\csname ctxdocstriploaded\endcsname -\let\ctxdocstriploaded\endinput +%% +%% This work has the LPPL maintenance status "maintained". +%% +%%--------------------------------------------------------------------- +%% +\csname ctxDocstripLoaded\endcsname +\let\ctxDocstripLoaded\endinput \input l3docstrip % -\edef\ctxresetcatcode{% - \catcode\number`\$=\the\catcode`\$\relax} +\edef\ctxResetCatcode{% + \catcode\number`\$=\the\catcode`\$\relax + \catcode\number`\@=\the\catcode`\@\relax +} \makeOther\$ +\catcode`\@=11\relax \def\plusOption+#1>#2$#3$\endLine{% \maybeMsg{<+#1 . >}% \Evaluate{#1}% @@ -39,13 +35,13 @@ \def\ctxID{$#3$}% \def\do##1##2##3{% \if1\Expr{##2}% - \readIDFile + \ctxReadIDFile \StreamPut##1{\inLine}% \fi }% \activefiles } -\def\readIDFile{% +\def\ctxReadIDFile{% \openin\inputcheck=\jobname.id\relax \ifeof\inputcheck\else \read \inputcheck to \inLine @@ -63,7 +59,52 @@ \endpreamble \declarepostamble\emptypostamble \endpostamble -\ctxresetcatcode -%% +\begingroup\expandafter\expandafter\expandafter\endgroup +\expandafter\ifx\csname directlua\endcsname\relax + \expandafter\ctxResetCatcode\expandafter\endinput +\fi +\let\OriginalStreamClose\StreamClose +\def\ctxStreamClose#1{% + \OriginalStreamClose{#1}% + \ctxConvFile{#1}% +} +\def\ctxConvFile#1{% + \ifcsname zhconv@\csstring#1\endcsname + \ctxConv{\lastnamedcs}% + {\begincsname pth@\csstring#1\endcsname}% + \fi +} +\def\ctxLuaFunc{% + \directlua{ + local zhconv = require("ctex-zhconv").conv + local scan_arg = token.scan_argument + local t = lua.get_functions_table() + local id = 233 + while t[id] do id = id + 1 end + t[id] = function () + local enc = scan_arg() + local file = scan_arg() + return zhconv(enc, file, file) + end + token.set_lua("ctxConv", id, "global", "protected") + }% + \global\let\ctxLuaFunc\relax +} +\def\convfile{% + \ifx\@file\file + \expandafter\ctxfile\else + \expandafter\setconvfile\fi +} +\def\setconvfile#1#2{% + \ctxLuaFunc + \Name\def{zhconv@#2}{#1}% + \let\StreamClose\ctxStreamClose +} +\def\ctxfile#1#2{% + \setconvfile{#1}{#2}% + \file{#2}% +} +\ctxResetCatcode +%% %% -%% End of file `ctxdocstrip.tex'. +%% End of file ctxdocstrip.tex diff --git a/Master/texmf-dist/tex/generic/ctex/zhadobefonts.tex b/Master/texmf-dist/tex/generic/ctex/zhadobefonts.tex index 1ef217b9e24..f79b90d807c 100644 --- a/Master/texmf-dist/tex/generic/ctex/zhadobefonts.tex +++ b/Master/texmf-dist/tex/generic/ctex/zhadobefonts.tex @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `zhmap,adobe') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,18 +20,16 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. +%% This work has the LPPL maintenance status "maintained". %% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode 35=6 % # \catcode123=1 % { \catcode125=2 % } \toks0{\endlinechar=\the\endlinechar\relax}% - \toks2{\endlinechar=13 }% + \toks2{\endlinechar=-1 }% \def\x#1 #2 {% \toks0\expandafter{\the\toks0 \catcode#1=\the\catcode#1\relax}% \toks2\expandafter{\the\toks2 \catcode#1=#2 }}% @@ -76,36 +74,29 @@ \fi \endgroup \ProvidesFile{zhadobefonts.tex}% - [2019/05/29 v2.4.16 Adobe font map loader for DVIPDFMx (CTEX)] - + [2020/05/02 v2.5.1 Adobe font map loader for DVIPDFMx (CTEX)] \ifzhmappdf %% pdfTeX does not support OTF fonts - \else - \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf} - \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf} - \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf} - \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf} - \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf} - - \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf} - \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf} - \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf} - \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf} - \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf} - - \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167} - \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167} - \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167} - \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf -s .167} - - \special{pdf:mapline unisongsl@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167} - \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167} - \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167} + \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf} + \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf} + \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf} + \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf} + \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf} + \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf} + \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf} + \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf} + \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf} + \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf} + \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167} + \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167} + \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167} + \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf -s .167} + \special{pdf:mapline unisongsl@Unicode@ UniGB-UTF16-H AdobeSongStd-Light.otf -s .167} + \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H AdobeKaitiStd-Regular.otf -s .167} + \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H AdobeHeitiStd-Regular.otf -s .167} \special{pdf:mapline unifssl@Unicode@ UniGB-UTF16-H AdobeFangsongStd-Regular.otf -s .167} - \fi - \ctex@zhmap@endinput %% %% diff --git a/Master/texmf-dist/tex/generic/ctex/zhfandolfonts.tex b/Master/texmf-dist/tex/generic/ctex/zhfandolfonts.tex index 89ea8f3c2d0..ccb6782467d 100644 --- a/Master/texmf-dist/tex/generic/ctex/zhfandolfonts.tex +++ b/Master/texmf-dist/tex/generic/ctex/zhfandolfonts.tex @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `zhmap,fandol') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,18 +20,16 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. +%% This work has the LPPL maintenance status "maintained". %% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode 35=6 % # \catcode123=1 % { \catcode125=2 % } \toks0{\endlinechar=\the\endlinechar\relax}% - \toks2{\endlinechar=13 }% + \toks2{\endlinechar=-1 }% \def\x#1 #2 {% \toks0\expandafter{\the\toks0 \catcode#1=\the\catcode#1\relax}% \toks2\expandafter{\the\toks2 \catcode#1=#2 }}% @@ -76,36 +74,29 @@ \fi \endgroup \ProvidesFile{zhfandolfonts.tex}% - [2019/05/29 v2.4.16 Fandol font map loader for DVIPDFMx (CTEX)] - + [2020/05/02 v2.5.1 Fandol font map loader for DVIPDFMx (CTEX)] \ifzhmappdf %% pdfTeX does not support OTF fonts - \else - \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf} - \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf} - \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf} - \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf} - \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf} - - \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf} - \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf} - \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf} - \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf} - \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H FandolFang-Regular.otf} - - \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf -s .167} - \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf -s .167} - \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf -s .167} - \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf -s .167} - + \special{pdf:mapline gbk@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf} + \special{pdf:mapline gbksong@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf} + \special{pdf:mapline gbkkai@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf} + \special{pdf:mapline gbkhei@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf} + \special{pdf:mapline gbkfs@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf} + \special{pdf:mapline cyberb@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf} + \special{pdf:mapline unisong@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf} + \special{pdf:mapline unikai@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf} + \special{pdf:mapline unihei@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf} + \special{pdf:mapline unifs@Unicode@ UniGB-UTF16-H FandolFang-Regular.otf} + \special{pdf:mapline gbksongsl@UGBK@ UniGB-UTF16-H FandolSong-Regular.otf -s .167} + \special{pdf:mapline gbkkaisl@UGBK@ UniGB-UTF16-H FandolKai-Regular.otf -s .167} + \special{pdf:mapline gbkheisl@UGBK@ UniGB-UTF16-H FandolHei-Regular.otf -s .167} + \special{pdf:mapline gbkfssl@UGBK@ UniGB-UTF16-H FandolFang-Regular.otf -s .167} \special{pdf:mapline unisongsl@Unicode@ UniGB-UTF16-H FandolSong-Regular.otf -s .167} - \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf -s .167} - \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf -s .167} + \special{pdf:mapline unikaisl@Unicode@ UniGB-UTF16-H FandolKai-Regular.otf -s .167} + \special{pdf:mapline uniheisl@Unicode@ UniGB-UTF16-H FandolHei-Regular.otf -s .167} \special{pdf:mapline unifssl@Unicode@ UniGB-UTF16-H FandolFang-Regular.otf -s .167} - \fi - \ctex@zhmap@endinput %% %% diff --git a/Master/texmf-dist/tex/generic/ctex/zhfounderfonts.tex b/Master/texmf-dist/tex/generic/ctex/zhfounderfonts.tex index 25a877e8401..41b50779afb 100644 --- a/Master/texmf-dist/tex/generic/ctex/zhfounderfonts.tex +++ b/Master/texmf-dist/tex/generic/ctex/zhfounderfonts.tex @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `zhmap,founder') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,18 +20,16 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. +%% This work has the LPPL maintenance status "maintained". %% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode 35=6 % # \catcode123=1 % { \catcode125=2 % } \toks0{\endlinechar=\the\endlinechar\relax}% - \toks2{\endlinechar=13 }% + \toks2{\endlinechar=-1 }% \def\x#1 #2 {% \toks0\expandafter{\the\toks0 \catcode#1=\the\catcode#1\relax}% \toks2\expandafter{\the\toks2 \catcode#1=#2 }}% @@ -76,72 +74,62 @@ \fi \endgroup \ProvidesFile{zhfounderfonts.tex}% - [2019/05/29 v2.4.16 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)] - + [2020/05/02 v2.5.1 Founder font map loader for pdfTeX and DVIPDFMx (CTEX)] \ifzhmappdf - \pdfmapline{=gbk@UGBK@ $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Caption with encoding GBK (CTEX)} \ProvidesExplFile{ctex-name-gbk.cfg} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \keys_set_known:nn { ctex } { contentsname = Ŀ¼ , diff --git a/Master/texmf-dist/tex/latex/ctex/config/ctex-name-utf8.cfg b/Master/texmf-dist/tex/latex/ctex/config/ctex-name-utf8.cfg index 37725a7f6c7..ad9ccbc4fc2 100644 --- a/Master/texmf-dist/tex/latex/ctex/config/ctex-name-utf8.cfg +++ b/Master/texmf-dist/tex/latex/ctex/config/ctex-name-utf8.cfg @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `name,UTF8') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,16 +20,14 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ - {Caption with encoding UTF8 (CTEX)} +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ + {Caption with encoding UTF-8 (CTEX)} \ProvidesExplFile{ctex-name-utf8.cfg} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \keys_set_known:nn { ctex } { contentsname = 目录 , diff --git a/Master/texmf-dist/tex/latex/ctex/config/ctex.cfg b/Master/texmf-dist/tex/latex/ctex/config/ctex.cfg index 45d3cea9ddd..f7e4a188bbd 100644 --- a/Master/texmf-dist/tex/latex/ctex/config/ctex.cfg +++ b/Master/texmf-dist/tex/latex/ctex/config/ctex.cfg @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `config') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,16 +20,14 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Configuration file (CTEX)} \ProvidesExplFile{\ExplFileName.cfg} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} %% %% %% diff --git a/Master/texmf-dist/tex/latex/ctex/config/ctexbackend.cfg b/Master/texmf-dist/tex/latex/ctex/config/ctexbackend.cfg new file mode 100644 index 00000000000..954fcb26e2c --- /dev/null +++ b/Master/texmf-dist/tex/latex/ctex/config/ctexbackend.cfg @@ -0,0 +1,51 @@ +%% +%% This is file `ctexbackend.cfg', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ctex.dtx (with options: `backend') +%% +%% Copyright (C) 2003--2020 +%% CTEX.ORG and any individual authors listed in the documentation. +%% --------------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% --------------------------------------------------------------------- +%% +\ProvidesFile{ctexbackend.cfg}% + [2020/05/02 v2.5.1 Backend configuration file (CTEX)] +\begingroup +\expandafter\ifx\csname Umathchardef\endcsname\relax +\else\expandafter\endgroup\expandafter\endinput\fi + \ifodd + \expandafter\ifx\csname pdfoutput\endcsname\relax + \expandafter\ifx\csname enablecjktoken\endcsname\relax 0\else 1\fi + \else\ifnum\pdfoutput>0 0\else 1\fi\fi\space + \def\x#1{% + \if\relax\detokenize{#1}\relax + \gdef\@classoptionslist{dvipdfmx}% + \else + \let\CTEX@add\@ne + \@tfor\x:={dvips}{dvipdfmx}{dvisvgm}\do{% + \expandafter\in@\expandafter{\expandafter,\x,}{,#1,}% + \ifin@ \let\CTEX@add\tw@ \@break@tfor \fi}% + \ifodd\CTEX@add \gdef\@classoptionslist{dvipdfmx,#1}\fi + \fi} + \expandafter\x\expandafter{\@classoptionslist} + \fi +\endgroup +%% +%% +%% End of file `ctexbackend.cfg'. diff --git a/Master/texmf-dist/tex/latex/ctex/config/ctexopts.cfg b/Master/texmf-dist/tex/latex/ctex/config/ctexopts.cfg index 84f62f1e10d..6ae99b93903 100644 --- a/Master/texmf-dist/tex/latex/ctex/config/ctexopts.cfg +++ b/Master/texmf-dist/tex/latex/ctex/config/ctexopts.cfg @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `ctexopts') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,18 +20,16 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. +%% This work has the LPPL maintenance status "maintained". %% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Option configuration file (CTEX)} \ProvidesExplFile{ctexopts.cfg} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} %% -%% \keys_set:nn { ctex / option } { fontset = windowsnew } +%% \ctex_set:nn { option } { fontset = windows } %% %% %% End of file `ctexopts.cfg'. diff --git a/Master/texmf-dist/tex/latex/ctex/ctex-article.def b/Master/texmf-dist/tex/latex/ctex/ctex-article.def deleted file mode 100644 index 95d29bee36b..00000000000 --- a/Master/texmf-dist/tex/latex/ctex/ctex-article.def +++ /dev/null @@ -1,671 +0,0 @@ -%% -%% This is file `ctex-article.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% ctex.dtx (with options: `heading,article') -%% -%% Copyright (C) 2003--2019 -%% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. This version of this license is in -%% http://www.latex-project.org/lppl/lppl-1-3c.txt -%% and the latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of -%% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ - {Heading modification for article (CTEX)} -\ProvidesExplFile{ctex-article.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\seq_const_from_clist:Nn \c__ctex_section_headings_seq - { section , subsection , subsubsection , paragraph , subparagraph } -\seq_new:N \c__ctex_headings_seq -\seq_gset_eq:NN \c__ctex_headings_seq \c__ctex_section_headings_seq -\seq_gput_left:Nn \c__ctex_headings_seq { part } -\cs_new_protected_nopar:Npn \__ctex_initial_heading:n #1 - { - \tl_new:c { CTEX@pre#1 } - \tl_new:c { CTEX@post#1 } - \tl_const:cx { CTEXthe#1 } - { - \exp_not:c { CTEX@pre#1 } - \exp_not:c { CTEX@the#1 } - \exp_not:c { CTEX@post#1 } - } - \tl_const:cx { CTEX@#1name } - { - \group_begin: - \exp_not:c { CTEX@#1@nameformat } - { - \exp_not:c { CTEX@pre#1 } - \exp_not:N \tl_if_empty:NTF - \exp_not:c { CTEX@#1@numberformat } - { \exp_not:c { CTEX@the#1 } } - { - \group_begin: - \exp_not:c { CTEX@#1@numberformat } - \exp_not:c { CTEX@the#1 } - \group_end: - } - \exp_not:c { CTEX@post#1 } - } - \group_end: - } - } -\cs_new_protected_nopar:Npn \__ctex_def_heading_keys:n #1 - { - \tl_put_right:Nx \l__ctex_tmp_tl - { - #1 .meta:nn = { ctex / #1 } { ####1 } , - #1 / name .code:n = - { \ctex_assign_heading_name:nn {#1} { ####1 } } , - #1 / number .tl_set:N = \exp_not:c { CTEX@the#1 } , - #1 / beforeskip .tl_set:N = \exp_not:c { CTEX@#1@beforeskip } , - #1 / afterskip .tl_set:N = \exp_not:c { CTEX@#1@afterskip} , - #1 / indent .tl_set:N = \exp_not:c { CTEX@#1@indent } , - #1 / numbering .bool_set:N = \exp_not:c { CTEX@#1@numbering } , - #1 / numbering .initial:n = true , - #1 / beforeskip .initial:n = \c_zero_skip , - #1 / afterskip .initial:n = \c_zero_skip , - #1 / indent .initial:n = \c_zero_dim , - #1 / beforeskip .value_required:n = true , - #1 / afterskip .value_required:n = true , - #1 / indent .value_required:n = true , - #1 / afterindent .bool_set:N = \exp_not:c { CTEX@#1@afterindent } , - #1 / fixskip .bool_set:N = \exp_not:c { CTEX@#1@fixskip } , - #1 / hang .bool_set:N = \exp_not:c { CTEX@#1@hang } , - #1 / hang .initial:n = true , - #1 / runin .bool_set:N = \exp_not:c { CTEX@#1@runin } , - #1 / tocline .code:n = - { - \cs_set:Npn \exp_not:c { CTEX@#1@tocline} - \exp_not:n { ####1####2 } { ####1 } - } , - \__ctex_plus_key_aux:nn {#1} { break } , - \__ctex_plus_key_aux:nn {#1} { format } , - \__ctex_plus_key_aux:nn {#1} { nameformat } , - \__ctex_plus_key_aux:nn {#1} { numberformat } , - \__ctex_plus_key_aux:nn {#1} { titleformat } , - \__ctex_plus_key_aux:nn {#1} { aftername } , - \__ctex_plus_key_aux:nn {#1} { aftertitle } , - } - } -\cs_new_nopar:Npn \__ctex_plus_key_aux:nn #1#2 - { - #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , - #1 / #2 + .code:n = - { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } , - #1 / #2 ~ + .code:n = - { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } - } -\NewDocumentCommand \ctex_assign_heading_name:nn - { m > { \SplitArgument { 1 } { , } } +m } - { \__ctex_assign_heading_name:nnn {#1} #2 } -\cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3 - { - \tl_set:cn { CTEX@pre#1 } {#2} - \IfNoValueTF {#3} - { \tl_clear:c { CTEX@post#1 } } - { \tl_set:cn { CTEX@post#1 } {#3} } - } -\group_begin: -\tl_clear:N \l__ctex_tmp_tl -\seq_map_inline:Nn \c__ctex_headings_seq - { - \__ctex_initial_heading:n {#1} - \__ctex_def_heading_keys:n {#1} - } -\use:x - { - \group_end: - \keys_define:nn { ctex } { \exp_not:o { \l__ctex_tmp_tl } } - } -\cs_new_protected_nopar:Npn \CTEX@fixheadingskip - { - \par - \dim_set:Nn \tex_prevdepth:D { -1000pt } - \skip_sub:Nn \l__ctex_heading_skip { \tex_parskip:D } - } -\skip_new:N \l__ctex_heading_skip -\cs_new_protected_nopar:Npn \CTEX@setheadingskip - { \skip_set:Nn \l__ctex_heading_skip } -\cs_new_eq:NN \CTEX@headingskip \l__ctex_heading_skip -\ProvideDocumentCommand \partmark { m } - { \markboth { } { } } -\cs_new_eq:NN \CTEXifname \use_ii:nn -\cs_new_protected_nopar:Npn \CTEX@ifnametrue - { \cs_set_eq:NN \CTEXifname \use_i:nn } -\cs_new_protected_nopar:Npn \CTEX@ifnamefalse - { \cs_set_eq:NN \CTEXifname \use_ii:nn } -\cs_new_protected:Npn \CTEX@addtocline #1#2 - { \addcontentsline { toc } {#1} { \use:c { CTEX@#1@tocline } {#1} {#2} } } -\cs_new_protected_nopar:Npn \CTEX@disableautoindent - { \tl_clear:N \l__ctex_autoindent_tl } -\renewcommand\part{% - \if@noskipsec \leavevmode \fi - \par - \CTEX@part@break - \CTEX@setheadingskip \CTEX@part@beforeskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \addvspace \CTEX@headingskip - \ifodd \CTEX@part@afterindent - \@afterindenttrue - \else - \@afterindentfalse - \fi - \secdef\@part\@spart} -\def\@part[#1]#2{% - \ifnum \c@secnumdepth >\m@ne - \ifodd \CTEX@part@numbering - \CTEX@ifnametrue - \refstepcounter{part}% - \else - \CTEX@ifnamefalse - \CTEX@makeanchor{part*}% - \fi - \else - \CTEX@ifnamefalse - \CTEX@makeanchor{part*}% - \fi - \CTEX@gettitle{#1}% - \CTEX@addtocline{part}{#1}% - {\interlinepenalty \@M - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}% - {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% - \CTEX@part@titleformat{#2}% - \partmark{#1}% - \CTEX@part@aftertitle}% - \nobreak - \CTEX@setheadingskip \CTEX@part@afterskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \@afterheading} -\def\@spart#1{% - \CTEX@ifnamefalse - \CTEX@makeanchor@spart{part*}% - \CTEX@gettitle{#1}% - {\interlinepenalty \@M - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}{}% - \CTEX@part@titleformat{#1}% - \CTEX@part@aftertitle}% - \nobreak - \CTEX@setheadingskip \CTEX@part@afterskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \@afterheading} -\def\@startsection#1#2#3#4#5#6{% - \if@noskipsec \leavevmode \fi - \par - \CTEX@update@sectionformat@n{#1}% - \ifodd \CTEX@afterindent - \@afterindenttrue - \else - \@afterindentfalse - \fi - \if@nobreak - \everypar{}% - \else - \csname CTEX@#1@break\endcsname - \CTEX@setheadingskip{#4}% - \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi - \addvspace \CTEX@headingskip - \fi - \@ifstar - {\CTEX@makeanchor@ssect{#1*}\@ssect{#3}{#4}{#5}{#6}}% - {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} -\def\@seccntformat#1{% - \csname CTEX@#1name\endcsname - \csname CTEX@#1@aftername\endcsname} -\def\@sect#1#2#3#4#5#6[#7]#8{% - \ifnum #2>\c@secnumdepth - \CTEX@ifnamefalse - \CTEX@makeanchor@sect{#1*}% - \let\@svsec\@empty - \else - \ifodd \csname CTEX@#1@numbering\endcsname - \CTEX@ifnametrue - \refstepcounter{#1}% - \protected@edef\@svsec{\@seccntformat{#1}\relax}% - \else - \CTEX@ifnamefalse - \CTEX@makeanchor{#1*}% - \let\@svsec\@empty - \fi - \fi - \CTEX@gettitle{#7}% - \unless \ifodd \CTEX@runin - \begingroup - #6{% - \CTEX@hangfrom{\hskip\glueexpr #3\relax\@svsec}% - \interlinepenalty \@M - \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% - \endgroup - \csname #1mark\endcsname{#7}% - \CTEX@addtocline{#1}{#7}% - \else - \def\@svsechd{% - #6{\hskip\glueexpr #3\relax - \@svsec - \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% - \csname #1mark\endcsname{#7}% - \CTEX@addtocline{#1}{#7}}% - \fi - \@xsect{#5}} -\def\@ssect#1#2#3#4#5{% - \CTEX@ifnamefalse - \CTEX@gettitle{#5}% - \unless \ifodd \CTEX@runin - \begingroup - #4{% - \CTEX@hangfrom{\hskip\glueexpr #1\relax}% - \interlinepenalty \@M - \CTEX@titleformat@n{#5}% - \CTEX@aftertitle}% - \endgroup - \else - \def\@svsechd{#4{\hskip\glueexpr #1\relax - \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% - \fi - \@xsect{#3}} -\def\@xsect#1{% - \unless \ifodd \CTEX@runin - \par \nobreak - \CTEX@setheadingskip{#1}% - \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \@afterheading - \else - \@nobreakfalse - \global\@noskipsectrue - \everypar{% - \if@noskipsec - \global\@noskipsecfalse - {\setbox\z@\lastbox}% - \clubpenalty\@M - \begingroup \@svsechd \endgroup - \unskip - \hskip\glueexpr #1\relax - \else - \clubpenalty \@clubpenalty - \everypar{}% - \fi}% - \fi - \ignorespaces} -\cs_new_protected:Npn \CTEX@hangindent #1#2 - { - \dim_set:Nn \parindent { \use:c { CTEX@#1@indent } } - \bool_if:cTF { CTEX@#1@hang } - { \@hangfrom { \__ctex_indent_aux: #2 } } - {#2} - } -\cs_new_protected_nopar:Npn \__ctex_indent_aux: - { - \dim_compare:nNnF \parindent = \c_zero_dim - { \skip_horizontal:n { \parindent } } - } -\cs_new_protected_nopar:Npn \CTEX@hangfrom - { - \bool_if:NTF \CTEX@hang - { \@hangfrom } - { \noindent \use:n } - } -\cs_new_protected_nopar:Npn \CTEX@update@sectionformat@n #1 - { - \cs_set_eq:Nc \CTEX@titleformat@n { CTEX@#1@titleformat } - \cs_set_eq:Nc \CTEX@aftertitle { CTEX@#1@aftertitle } - \cs_set_eq:Nc \CTEX@afterindent { CTEX@#1@afterindent } - \cs_set_eq:Nc \CTEX@fixskip { CTEX@#1@fixskip } - \cs_set_eq:Nc \CTEX@hang { CTEX@#1@hang } - \cs_set_eq:Nc \CTEX@runin { CTEX@#1@runin } - } -\cs_new_eq:NN \CTEX@titleformat@n \use:n -\cs_new_eq:NN \CTEX@aftertitle \prg_do_nothing: -\cs_new_eq:NN \CTEX@afterindent \c_true_bool -\cs_new_eq:NN \CTEX@fixskip \c_false_bool -\cs_new_eq:NN \CTEX@hang \c_true_bool -\cs_new_eq:NN \CTEX@runin \c_false_bool -\cs_new:Npn \CTEX@part@tocline #1#2 - { - \CTEXifname - { \CTEXthepart \hspace { 1em } } - { } - #2 - } -\cs_new_nopar:Npn \CTEXnumberline #1 - { - \CTEXifname - { \protect \numberline { \use:c { CTEXthe #1 } } } - { } - } -\int_zero:N \l__ctex_tmp_int -\seq_map_inline:Nn \c__ctex_section_headings_seq - { - \int_incr:N \l__ctex_tmp_int - \cs_gset_protected_nopar:cpx {#1} - { - \exp_not:N \@startsection {#1} - { \int_use:N \l__ctex_tmp_int } - { \exp_not:c { CTEX@#1@indent } } - { \exp_not:c { CTEX@#1@beforeskip } } - { \exp_not:c { CTEX@#1@afterskip } } - { \exp_not:N \normalfont \exp_not:c { CTEX@#1@format } } - } - \cs_new:cpn { CTEX@#1@tocline } ##1##2 - { \CTEXnumberline { ##1 } ##2 } - } -\keys_define:nn { ctex } - { - appendix .meta:nn = { ctex / appendix } {#1} , - appendix / name .code:n = - { \ctex_assign_heading_name:nn { appendix } {#1} } , - appendix / number .tl_set:N = \CTEX@appendix@number , - appendix / numbering .bool_set:N = \CTEX@appendix@numbering , - appendix / numbering .initial:n = true - } -\tl_new:N \CTEX@preappendix -\tl_new:N \CTEX@postappendix -\cs_new_eq:NN \CTEX@save@appendix \appendix -\cs_gset_protected_nopar:Npn \appendix - { - \CTEX@save@appendix - \gdef \CTEX@presection { \CTEX@preappendix } - \gdef \CTEX@thesection { \CTEX@appendix@number } - \gdef \CTEX@postsection { \CTEX@postappendix } - \gdef \CTEX@section@numbering { \CTEX@appendix@numbering } - } -\cs_new_protected_nopar:Npn \CTEX@makeanchor #1 - { } -\seq_const_from_clist:Nn \c__ctex_headings_cs_seq - { part , spart , sect , ssect } -\seq_map_inline:Nn \c__ctex_headings_cs_seq - { - \cs_new_eq:cc { CTEX@ #1 } { @ #1 } - \cs_new_eq:cN { CTEX@makeanchor@ #1 } \CTEX@makeanchor - } -\cs_new_protected_nopar:Npn \CTEX@hyperheadinghook - { - \group_begin: - \ifHy@implicit - \cs_set_eq:NN \H@old@chapter \Hy@org@chapter - \seq_map_inline:Nn \c__ctex_headings_cs_seq - { - \cs_if_eq:ccT { H@old@ ##1 } { CTEX@ ##1 } - { - \cs_gset_eq:cc { @ ##1 } { CTEX@ ##1 } - \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor - } - } - \else: - \seq_map_inline:Nn \c__ctex_headings_cs_seq - { \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor } - \fi: - \group_end: - } -\ctex_at_end_package:nn { hyperref } - { - \cs_gset_protected_nopar:Npn \CTEX@makeanchor #1 - { - \Hy@MakeCurrentHrefAuto {#1} - \Hy@raisedlink - { - \hyper@anchorstart { \@currentHref } - \hyper@anchorend - } - } - \CTEX@hyperheadinghook - } -\cs_new_protected:Npn \CTEX@gettitle #1 - { } -\ctex_at_end_package:nn { nameref } - { - \cs_gset_protected_nopar:Npn \CTEX@gettitle { \NR@gettitle } - \seq_map_inline:Nn \c__ctex_headings_cs_seq - { - \cs_if_eq:ccT { NR@ #1 } { CTEX@ #1 } - { \cs_gset_eq:cc { @ #1 } { CTEX@ #1 } } - } - } -\cs_new_protected_nopar:Npn \ctex_titlesec_hook: - { - \@ifpackagewith { titlesec } { explicit } - { - \cs_set_eq:NN \__ctex_titlesec_format:Nn - \__ctex_titlesec_format_explicit:Nn - } - { } - \clist_map_inline:nn - { indentafter , noindentafter , indentfirst , nonindentfirst } - { - \@ifpackagewith { titlesec } { ##1 } - { - \clist_map_break:n - { \cs_set_eq:NN \__ctex_titlesec_hook:n \__ctex_titlesec_format:n } - } - { } - } - \seq_map_function:NN \c__ctex_section_headings_seq \__ctex_titlesec_hook:n - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_hook:n #1 - { - \__ctex_titlesec_format:n {#1} - \exp_args:Nc \__ctex_titlesec_spacing:Nn { ttls@#1 } {#1} - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format:n #1 - { - \cs_if_free:cF { ttlf@#1 } - { \exp_args:Nc \__ctex_titlesec_format:Nn { ttlf@#1 } {#1} } - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format:Nn #1#2 - { - \tl_set:Nx #1 - { - \bool_if:cTF { CTEX@#2@runin } - { \exp_not:N \ttlh@runin } - { \exp_not:N \ttlh@hang } - \tl_tail:N #1 - } - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format_explicit:Nn #1#2 - { - \cs_set_nopar:Npx #1 ##1 - { - \bool_if:cTF { CTEX@#2@runin } - { \exp_not:N \ttlh@runin } - { \exp_not:N \ttlh@hang } - \exp_args:No \tl_tail:n { #1 { } } - } - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_spacing:Nn #1#2 - { \tl_set:Nx #1 { \exp_after:wN \__ctex_titlesec_spacing:nnnnnn #1 {#2} } } -\cs_new:Npn \__ctex_titlesec_spacing:nnnnnn #1#2#3#4#5#6 - { - \exp_not:n { {#1} {#2} {#3} {#4} } - { \bool_if:cTF { CTEX@#6@afterindent } { \@ne } { \z@ } } - } -\@ifpackageloaded { titlesec } - { } - { - \ctex_at_end_package:nn { titlesec } - { - \@ifpackagewith { titlesec } { loadonly } - { } - { \ctex_titlesec_hook: } - } - } -\ctex_at_end_package:nn { titlesec } - { - \cs_if_free:NF \ttl@tocpart - { - \cs_set_protected_nopar:Npn \ttl@tocpart - { \tl_set:Nn \ttl@a { \CTEXthepart \hspace { 1em } } } - } - \seq_map_inline:Nn \c__ctex_headings_seq - { - \cs_if_exist:cF { ttl@toc #1 } - { - \cs_new_protected_nopar:cpx { ttl@toc #1 } - { - \tl_set:Nn \exp_not:N \ttl@a - { - \exp_not:N \protect - \exp_not:N \numberline { \exp_not:c { CTEXthe #1 } } - } - } - } - } - } -\group_begin: -\char_set_catcode_other:N \# -\cs_new_protected_nopar:Npn \ctex_titleps_hook: - { - \ctex_patch_cmd:Nnn \ttl@settopmark - { \protect \@namedef { the#1 } { \@nameuse { the#1 } } } - { - \protect \@namedef { the#1 } { \@nameuse { the#1 } } - \CTEX@titlepslabel@set {#1} - } - \ctex_patch_cmd:Nnn \ttl@setsubmark - { \protect \@namedef { the#1 } { } } - { - \protect \@namedef { the#1 } { } - \CTEX@titlepslabel@clear {#1} - } - \ctex_patch_cmd:Nnn \ttl@setsubmark - { \protect \@namedef { the#2 } { \@nameuse { the#2 } } } - { - \protect \@namedef { the#2 } { \@nameuse { the#2 } } - \CTEX@titlepslabel@set {#2} - } - } -\group_end: -\cs_new_nopar:Npn \CTEX@titlepslabel@set #1 - { - \cs_if_free:cF { CTEXthe#1 } - { \protect \@namedef { CTEXthe#1 } { \@nameuse { CTEXthe#1 } } } - } -\cs_new_nopar:Npn \CTEX@titlepslabel@clear #1 - { - \cs_if_free:cF { CTEXthe#1 } - { \protect \@namedef { CTEXthe#1 } { } } - } -\ctex_at_end_package:nn { titlesec } - { \cs_if_free:NF \ttl@settopmark { \ctex_titleps_hook: } } -\ctex_at_end_package:nn { titleps } { \ctex_titleps_hook: } -\ctex_at_end_package:nn { titleps } - { - \cs_set_protected_nopar:Npn \ttl@setifthe #1 - { - \exp_args:Nco \cs_set_nopar:Npn { ifthe #1 } - { - \CTEXifname - { \protect \@firstoftwo } - { \protect \@secondoftwo } - } - } - \seq_map_function:NN \c__ctex_headings_seq \ttl@setifthe - } -\cs_new_protected:Npn \CTEX@toc@width@n #1 - { - \hbox_set:Nn \l__ctex_tmp_box {#1} - \dim_set:Nn \@tempdima - { - \dim_max:nn { \@tempdima } - { \box_wd:N \l__ctex_tmp_box + \f@size \p@ / 2 } - } - } -\group_begin: -\char_set_catcode_other:N \# -\use:n - { - \group_end: - \ctex_preto_cmd:NnnTF \numberline { \ExplSyntaxOff } - { \CTEX@toc@width@n {#1} } - { } - { \ctex_patch_failure:N \numberline } - \@ifpackageloaded { tocloft } - { } - { - \ctex_at_end_package:nn { tocloft } - { - \ctex_preto_cmd:NnnTF \numberline - { \char_set_catcode_letter:n { 64 } } - { \CTEX@toc@width@n {#1} } - { } - { \ctex_patch_failure:N \numberline } - } - } - } -\if@twoside - \ctex_patch_cmd:Nnn \ps@headings - { \ifnum \c@secnumdepth > \z@ \thesection \quad \fi } - { \CTEXifname { \CTEXthesection \quad } { } } - \ctex_patch_cmd:Nnn \ps@headings - { \ifnum \c@secnumdepth > \@ne \thesubsection \quad \fi } - { \CTEXifname { \CTEXthesubsection \quad } { } } -\else: - \ctex_patch_cmd:Nnn \ps@headings - { \ifnum \c@secnumdepth > \m@ne \thesection \quad \fi } - { \CTEXifname { \CTEXthesection \quad } { } } -\fi: -\ctex_at_end_package:nn { fancyhdr } - { - \ctex_patch_cmd:Nnn \ps@fancy - { \ifnum \c@secnumdepth > \z@ \thesection \hskip 1em \relax \fi } - { \CTEXifname { \CTEXthesection \quad } { } } - \ctex_patch_cmd:Nnn \ps@fancy - { \ifnum \c@secnumdepth > \@ne \thesubsection \hskip 1em \relax \fi } - { \CTEXifname { \CTEXthesubsection \quad } { } } - } -\cs_new_protected_nopar:Npn \CTEX@setcurrentlabel@n #1 - { - \protected@edef \@currentlabel - { - \cs_if_exist:cTF { CTEX@the#1 } - { \exp_args:cc { p@#1 } { CTEX@the#1 } } - { \exp_not:o { \@currentlabel } } - } - } -\cs_new_protected_nopar:Npn \ctex_varioref_hook: - { - \seq_map_inline:Nn \c__ctex_headings_seq - { \ctex_fix_varioref_label:n { ##1 } } - } -\cs_new_protected_nopar:Npn \ctex_fix_varioref_label:n #1 - { - \tl_if_empty:cT { p@#1 } - { \exp_args:Nno \labelformat {#1} { \cs:w CTEX@the#1 \cs_end: } } - } -\@ifpackageloaded { varioref } - { \ctex_varioref_hook: } - { - \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter - \RenewDocumentCommand \refstepcounter { m } - { - \CTEX@save@refstepcounter {#1} - \CTEX@setcurrentlabel@n {#1} - } - \ctex_at_end_package:nn { varioref } { \ctex_varioref_hook: } - } -\ctex_scheme_input:o { \l__ctex_scheme_tl } -%% -%% -%% End of file `ctex-article.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/ctex-beamer.def b/Master/texmf-dist/tex/latex/ctex/ctex-beamer.def deleted file mode 100644 index c0a046c25ab..00000000000 --- a/Master/texmf-dist/tex/latex/ctex/ctex-beamer.def +++ /dev/null @@ -1,205 +0,0 @@ -%% -%% This is file `ctex-beamer.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% ctex.dtx (with options: `heading,beamer') -%% -%% Copyright (C) 2003--2019 -%% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. This version of this license is in -%% http://www.latex-project.org/lppl/lppl-1-3c.txt -%% and the latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of -%% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ - {Heading modification for beamer (CTEX)} -\ProvidesExplFile{ctex-beamer.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\seq_const_from_clist:Nn \c__ctex_headings_seq - { part , section , subsection } -\cs_new_protected_nopar:Npn \__ctex_initial_heading:n #1 - { - \tl_new:c { CTEX@pre#1 } - \tl_new:c { CTEX@post#1 } - \tl_const:cx { CTEXthe#1 } - { - \exp_not:c { CTEX@pre#1 } - \exp_not:c { CTEX@the#1 } - \exp_not:c { CTEX@post#1 } - } - \tl_const:cx { CTEX@#1name } - { - \group_begin: - \exp_not:c { CTEX@#1@nameformat } - { - \exp_not:c { CTEX@pre#1 } - \exp_not:N \tl_if_empty:NTF - \exp_not:c { CTEX@#1@numberformat } - { \exp_not:c { CTEX@the#1 } } - { - \group_begin: - \exp_not:c { CTEX@#1@numberformat } - \exp_not:c { CTEX@the#1 } - \group_end: - } - \exp_not:c { CTEX@post#1 } - } - \group_end: - } - } -\cs_new_protected_nopar:Npn \__ctex_def_heading_keys:n #1 - { - \tl_put_right:Nx \l__ctex_tmp_tl - { - #1 .meta:nn = { ctex / #1 } { ####1 } , - #1 / name .code:n = - { \ctex_assign_heading_name:nn {#1} { ####1 } } , - #1 / number .tl_set:N = \exp_not:c { CTEX@the#1 } , - #1 / beforeskip .tl_set:N = \exp_not:c { CTEX@#1@beforeskip } , - #1 / afterskip .tl_set:N = \exp_not:c { CTEX@#1@afterskip} , - #1 / indent .tl_set:N = \exp_not:c { CTEX@#1@indent } , - #1 / numbering .bool_set:N = \exp_not:c { CTEX@#1@numbering } , - #1 / numbering .initial:n = true , - #1 / beforeskip .initial:n = \c_zero_skip , - #1 / afterskip .initial:n = \c_zero_skip , - #1 / indent .initial:n = \c_zero_dim , - #1 / beforeskip .value_required:n = true , - #1 / afterskip .value_required:n = true , - #1 / indent .value_required:n = true , - \__ctex_plus_key_aux:nn {#1} { format } , - \__ctex_plus_key_aux:nn {#1} { nameformat } , - \__ctex_plus_key_aux:nn {#1} { numberformat } , - \__ctex_plus_key_aux:nn {#1} { titleformat } , - \__ctex_plus_key_aux:nn {#1} { aftername } , - \__ctex_plus_key_aux:nn {#1} { aftertitle } , - } - } -\cs_new_nopar:Npn \__ctex_plus_key_aux:nn #1#2 - { - #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , - #1 / #2 + .code:n = - { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } , - #1 / #2 ~ + .code:n = - { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } - } -\NewDocumentCommand \ctex_assign_heading_name:nn - { m > { \SplitArgument { 1 } { , } } +m } - { \__ctex_assign_heading_name:nnn {#1} #2 } -\cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3 - { - \tl_set:cn { CTEX@pre#1 } {#2} - \IfNoValueTF {#3} - { \tl_clear:c { CTEX@post#1 } } - { \tl_set:cn { CTEX@post#1 } {#3} } - } -\group_begin: -\tl_clear:N \l__ctex_tmp_tl -\seq_map_inline:Nn \c__ctex_headings_seq - { - \__ctex_initial_heading:n {#1} - \__ctex_def_heading_keys:n {#1} - } -\use:x - { - \group_end: - \keys_define:nn { ctex } { \exp_not:o { \l__ctex_tmp_tl } } - } -\ExplSyntaxOff -\defbeamertemplate*{part page}{CTEX}[1][]{% - \begingroup - \CTEX@disableautoindent - \par \addvspace{\glueexpr\CTEX@part@beforeskip\relax}% - \CTEX@part@format - \parindent \dimexpr \CTEX@part@indent \relax - \ifodd \CTEX@part@numbering - \CTEX@partname \CTEX@part@aftername - \fi - \begin{beamercolorbox}[sep=16pt,center,#1]{part title} - \CTEX@part@titleformat \insertpart \CTEX@part@aftertitle - \end{beamercolorbox}% - \par \addvspace{\glueexpr\CTEX@part@afterskip\relax}% - \endgroup -} -\defbeamertemplate*{section page}{CTEX}[1][]{% - \begingroup - \CTEX@disableautoindent - \par \addvspace{\glueexpr\CTEX@section@beforeskip\relax}% - \CTEX@section@format - \parindent \dimexpr \CTEX@section@indent \relax - \ifodd \CTEX@section@numbering - \CTEX@sectionname \CTEX@section@aftername - \fi - \begin{beamercolorbox}[sep=12pt,center,#1]{part title} - \CTEX@section@titleformat \insertsection \CTEX@section@aftertitle - \end{beamercolorbox}% - \par \addvspace{\glueexpr\CTEX@section@afterskip\relax}% - \endgroup -} -\defbeamertemplate*{subsection page}{CTEX}[1][]{% - \begingroup - \CTEX@disableautoindent - \par \addvspace{\glueexpr\CTEX@subsection@beforeskip\relax}% - \CTEX@subsection@format - \parindent \dimexpr \CTEX@subsection@indent \relax - \ifodd \CTEX@subsection@numbering - \CTEX@subsectionname \CTEX@subsection@aftername - \fi - \begin{beamercolorbox}[sep=8pt,center,#1]{part title} - \CTEX@subsection@titleformat \insertsubsection \CTEX@subsection@aftertitle - \end{beamercolorbox}% - \par \addvspace{\glueexpr\CTEX@subsection@afterskip\relax}% - \endgroup -} -\defbeamertemplatealias{part page}{default}{CTEX} -\defbeamertemplatealias{section page}{default}{CTEX} -\defbeamertemplatealias{subsection page}{default}{CTEX} -\ExplSyntaxOn -\cs_new_protected_nopar:Npn \CTEX@setcurrentlabel@n #1 - { - \protected@edef \@currentlabel - { - \cs_if_exist:cTF { CTEX@the#1 } - { \exp_args:cc { p@#1 } { CTEX@the#1 } } - { \exp_not:o { \@currentlabel } } - } - } -\cs_new_protected_nopar:Npn \ctex_varioref_hook: - { - \seq_map_inline:Nn \c__ctex_headings_seq - { \ctex_fix_varioref_label:n { ##1 } } - } -\cs_new_protected_nopar:Npn \ctex_fix_varioref_label:n #1 - { - \tl_if_empty:cT { p@#1 } - { \exp_args:Nno \labelformat {#1} { \cs:w CTEX@the#1 \cs_end: } } - } -\@ifpackageloaded { varioref } - { \ctex_varioref_hook: } - { - \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter - \RenewDocumentCommand \refstepcounter { m } - { - \CTEX@save@refstepcounter {#1} - \CTEX@setcurrentlabel@n {#1} - } - \ctex_at_end_package:nn { varioref } { \ctex_varioref_hook: } - } -\ctex_scheme_input:o { \l__ctex_scheme_tl } -%% -%% -%% End of file `ctex-beamer.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/ctex-book.def b/Master/texmf-dist/tex/latex/ctex/ctex-book.def deleted file mode 100644 index 3766e4b4652..00000000000 --- a/Master/texmf-dist/tex/latex/ctex/ctex-book.def +++ /dev/null @@ -1,798 +0,0 @@ -%% -%% This is file `ctex-book.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% ctex.dtx (with options: `heading,book') -%% -%% Copyright (C) 2003--2019 -%% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. This version of this license is in -%% http://www.latex-project.org/lppl/lppl-1-3c.txt -%% and the latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of -%% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ - {Heading modification for book (CTEX)} -\ProvidesExplFile{ctex-book.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\seq_const_from_clist:Nn \c__ctex_section_headings_seq - { section , subsection , subsubsection , paragraph , subparagraph } -\seq_new:N \c__ctex_headings_seq -\seq_gset_eq:NN \c__ctex_headings_seq \c__ctex_section_headings_seq -\seq_gput_left:Nn \c__ctex_headings_seq { chapter } -\seq_gput_left:Nn \c__ctex_headings_seq { part } -\cs_new_protected_nopar:Npn \__ctex_initial_heading:n #1 - { - \tl_new:c { CTEX@pre#1 } - \tl_new:c { CTEX@post#1 } - \tl_const:cx { CTEXthe#1 } - { - \exp_not:c { CTEX@pre#1 } - \exp_not:c { CTEX@the#1 } - \exp_not:c { CTEX@post#1 } - } - \tl_const:cx { CTEX@#1name } - { - \group_begin: - \exp_not:c { CTEX@#1@nameformat } - { - \exp_not:c { CTEX@pre#1 } - \exp_not:N \tl_if_empty:NTF - \exp_not:c { CTEX@#1@numberformat } - { \exp_not:c { CTEX@the#1 } } - { - \group_begin: - \exp_not:c { CTEX@#1@numberformat } - \exp_not:c { CTEX@the#1 } - \group_end: - } - \exp_not:c { CTEX@post#1 } - } - \group_end: - } - } -\cs_new_protected_nopar:Npn \__ctex_def_heading_keys:n #1 - { - \tl_put_right:Nx \l__ctex_tmp_tl - { - #1 .meta:nn = { ctex / #1 } { ####1 } , - #1 / name .code:n = - { \ctex_assign_heading_name:nn {#1} { ####1 } } , - #1 / number .tl_set:N = \exp_not:c { CTEX@the#1 } , - #1 / beforeskip .tl_set:N = \exp_not:c { CTEX@#1@beforeskip } , - #1 / afterskip .tl_set:N = \exp_not:c { CTEX@#1@afterskip} , - #1 / indent .tl_set:N = \exp_not:c { CTEX@#1@indent } , - #1 / numbering .bool_set:N = \exp_not:c { CTEX@#1@numbering } , - #1 / numbering .initial:n = true , - #1 / beforeskip .initial:n = \c_zero_skip , - #1 / afterskip .initial:n = \c_zero_skip , - #1 / indent .initial:n = \c_zero_dim , - #1 / beforeskip .value_required:n = true , - #1 / afterskip .value_required:n = true , - #1 / indent .value_required:n = true , - #1 / afterindent .bool_set:N = \exp_not:c { CTEX@#1@afterindent } , - #1 / fixskip .bool_set:N = \exp_not:c { CTEX@#1@fixskip } , - #1 / hang .bool_set:N = \exp_not:c { CTEX@#1@hang } , - #1 / hang .initial:n = true , - #1 / runin .bool_set:N = \exp_not:c { CTEX@#1@runin } , - #1 / tocline .code:n = - { - \cs_set:Npn \exp_not:c { CTEX@#1@tocline} - \exp_not:n { ####1####2 } { ####1 } - } , - \__ctex_plus_key_aux:nn {#1} { break } , - \__ctex_plus_key_aux:nn {#1} { format } , - \__ctex_plus_key_aux:nn {#1} { nameformat } , - \__ctex_plus_key_aux:nn {#1} { numberformat } , - \__ctex_plus_key_aux:nn {#1} { titleformat } , - \__ctex_plus_key_aux:nn {#1} { aftername } , - \__ctex_plus_key_aux:nn {#1} { aftertitle } , - } - } -\cs_new_nopar:Npn \__ctex_plus_key_aux:nn #1#2 - { - #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , - #1 / #2 + .code:n = - { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } , - #1 / #2 ~ + .code:n = - { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } - } -\NewDocumentCommand \ctex_assign_heading_name:nn - { m > { \SplitArgument { 1 } { , } } +m } - { \__ctex_assign_heading_name:nnn {#1} #2 } -\cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3 - { - \tl_set:cn { CTEX@pre#1 } {#2} - \IfNoValueTF {#3} - { \tl_clear:c { CTEX@post#1 } } - { \tl_set:cn { CTEX@post#1 } {#3} } - } -\group_begin: -\tl_set:Nn \l__ctex_tmp_tl - { - part / pagestyle .tl_set:N = \CTEX@part@pagestyle , - chapter / pagestyle .tl_set:N = \CTEX@chapter@pagestyle , - chapter / lofskip .tl_set:N = \CTEX@chapter@lofskip , - chapter / lotskip .tl_set:N = \CTEX@chapter@lotskip , - chapter / lofskip .initial:n = \c_zero_skip , - chapter / lotskip .initial:n = \c_zero_skip , - chapter / lofskip .value_required:n = true , - chapter / lotskip .value_required:n = true , - } -\seq_map_inline:Nn \c__ctex_headings_seq - { - \__ctex_initial_heading:n {#1} - \__ctex_def_heading_keys:n {#1} - } -\use:x - { - \group_end: - \keys_define:nn { ctex } { \exp_not:o { \l__ctex_tmp_tl } } - } -\cs_new_protected_nopar:Npn \CTEX@fixtopskip - { - \CTEX@fixheadingskip - \dim_compare:nNnF \tex_pagegoal:D < \c_max_dim - { \skip_sub:Nn \l__ctex_heading_skip { \tex_topskip:D } } - } -\cs_new_protected_nopar:Npn \CTEX@fixheadingskip - { - \par - \dim_set:Nn \tex_prevdepth:D { -1000pt } - \skip_sub:Nn \l__ctex_heading_skip { \tex_parskip:D } - } -\skip_new:N \l__ctex_heading_skip -\cs_new_protected_nopar:Npn \CTEX@setheadingskip - { \skip_set:Nn \l__ctex_heading_skip } -\cs_new_eq:NN \CTEX@headingskip \l__ctex_heading_skip -\ProvideDocumentCommand \partmark { m } - { \markboth { } { } } -\cs_new_eq:NN \CTEXifname \use_ii:nn -\cs_new_protected_nopar:Npn \CTEX@ifnametrue - { \cs_set_eq:NN \CTEXifname \use_i:nn } -\cs_new_protected_nopar:Npn \CTEX@ifnamefalse - { \cs_set_eq:NN \CTEXifname \use_ii:nn } -\cs_new_protected_nopar:Npn \CTEX@addloflotskip #1 - { - \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1@lofskip } } - \skip_if_eq:nnF { \l__ctex_heading_skip } { \c_zero_skip } - { - \addtocontents { lof } - { \protect \addvspace { \skip_use:N \l__ctex_heading_skip } } - } - \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1@lotskip } } - \skip_if_eq:nnF { \l__ctex_heading_skip } { \c_zero_skip } - { - \addtocontents { lot } - { \protect \addvspace { \skip_use:N \l__ctex_heading_skip } } - } - } -\cs_new_protected:Npn \CTEX@addtocline #1#2 - { \addcontentsline { toc } {#1} { \use:c { CTEX@#1@tocline } {#1} {#2} } } -\cs_new_protected_nopar:Npn \CTEX@disableautoindent - { \tl_clear:N \l__ctex_autoindent_tl } -\renewcommand\part{% - \CTEX@part@break - \thispagestyle{\CTEX@part@pagestyle}% - \if@twocolumn - \onecolumn - \@tempswatrue - \else - \@tempswafalse - \fi - \CTEX@setheadingskip \CTEX@part@beforeskip - \ifodd \CTEX@part@fixskip \CTEX@fixtopskip \fi - \vspace*{\CTEX@headingskip}% - \secdef\@part\@spart} -\def\@part[#1]#2{% - \ifnum \c@secnumdepth >-2\relax - \ifodd \CTEX@part@numbering - \CTEX@ifnametrue - \refstepcounter{part}% - \else - \CTEX@ifnamefalse - \CTEX@makeanchor{part*}% - \fi - \else - \CTEX@ifnamefalse - \CTEX@makeanchor{part*}% - \fi - \CTEX@gettitle{#1}% - \CTEX@addtocline{part}{#1}% - \partmark{#1}% - {\interlinepenalty \@M - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}% - {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% - \CTEX@part@titleformat{#2}% - \CTEX@part@aftertitle}% - \@endpart} -\def\@spart#1{% - \CTEX@ifnamefalse - \CTEX@makeanchor@spart{part*}% - \CTEX@gettitle{#1}% - {\interlinepenalty \@M - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}{}% - \CTEX@part@titleformat{#1}% - \CTEX@part@aftertitle}% - \@endpart} -\def\@endpart{% - \CTEX@setheadingskip \CTEX@part@afterskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \newpage - \if@twoside - \if@openright - \null - \thispagestyle{empty}% - \newpage - \fi - \fi - \if@tempswa - \twocolumn - \fi} -\renewcommand\chapter{% - \CTEX@chapter@break - \thispagestyle{\CTEX@chapter@pagestyle}% - \global\@topnum\z@ - \ifodd \CTEX@chapter@afterindent - \@afterindenttrue - \else - \@afterindentfalse - \fi - \secdef\@chapter\@schapter} -\def\@chapter[#1]#2{% - \ifnum \c@secnumdepth >\m@ne - \if@mainmatter - \ifodd \CTEX@chapter@numbering - \CTEX@ifnametrue - \refstepcounter{chapter}% - \typeout{\CTEXthechapter}% - \else - \CTEX@ifnamefalse - \CTEX@makeanchor{\Hy@chapapp*}% - \fi - \else - \CTEX@ifnamefalse - \CTEX@makeanchor@chapter{\Hy@chapapp*}% - \fi - \else - \CTEX@ifnamefalse - \CTEX@makeanchor@chapter{\Hy@chapapp*}% - \fi - \CTEX@gettitle{#1}% - \CTEX@addtocline{chapter}{#1}% - \chaptermark{#1}% - \CTEX@addloflotskip{chapter}% - \if@twocolumn - \@topnewpage[\@makechapterhead{#2}]% - \else - \@makechapterhead{#2}% - \@afterheading - \fi} -\def\@schapter#1{% - \CTEX@ifnamefalse - \CTEX@makeanchor@schapter{\Hy@chapapp*}% - \CTEX@gettitle{#1}% - \if@twocolumn - \@topnewpage[\@makeschapterhead{#1}]% - \else - \@makeschapterhead{#1}% - \@afterheading - \fi} -\def\@makechapterhead#1{% - \CTEX@setheadingskip \CTEX@chapter@beforeskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi - \vspace*{\CTEX@headingskip}% - {\CTEX@disableautoindent - \normalfont \CTEX@chapter@format - \interlinepenalty\@M - \CTEX@hangindent{chapter}% - {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}% - \CTEX@chapter@titleformat{#1}% - \CTEX@chapter@aftertitle - \nobreak - \CTEX@setheadingskip \CTEX@chapter@afterskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - }} -\def\@makeschapterhead#1{% - \CTEX@setheadingskip \CTEX@chapter@beforeskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi - \vspace*{\CTEX@headingskip}% - {\CTEX@disableautoindent - \normalfont \CTEX@chapter@format - \interlinepenalty\@M - \CTEX@hangindent{chapter}{}% - \CTEX@chapter@titleformat{#1}% - \CTEX@chapter@aftertitle - \nobreak - \CTEX@setheadingskip \CTEX@chapter@afterskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - }} -\def\@startsection#1#2#3#4#5#6{% - \if@noskipsec \leavevmode \fi - \par - \CTEX@update@sectionformat@n{#1}% - \ifodd \CTEX@afterindent - \@afterindenttrue - \else - \@afterindentfalse - \fi - \if@nobreak - \everypar{}% - \else - \csname CTEX@#1@break\endcsname - \CTEX@setheadingskip{#4}% - \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi - \addvspace \CTEX@headingskip - \fi - \@ifstar - {\CTEX@makeanchor@ssect{#1*}\@ssect{#3}{#4}{#5}{#6}}% - {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} -\def\@seccntformat#1{% - \csname CTEX@#1name\endcsname - \csname CTEX@#1@aftername\endcsname} -\def\@sect#1#2#3#4#5#6[#7]#8{% - \ifnum #2>\c@secnumdepth - \CTEX@ifnamefalse - \CTEX@makeanchor@sect{#1*}% - \let\@svsec\@empty - \else - \ifodd \csname CTEX@#1@numbering\endcsname - \CTEX@ifnametrue - \refstepcounter{#1}% - \protected@edef\@svsec{\@seccntformat{#1}\relax}% - \else - \CTEX@ifnamefalse - \CTEX@makeanchor{#1*}% - \let\@svsec\@empty - \fi - \fi - \CTEX@gettitle{#7}% - \unless \ifodd \CTEX@runin - \begingroup - #6{% - \CTEX@hangfrom{\hskip\glueexpr #3\relax\@svsec}% - \interlinepenalty \@M - \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% - \endgroup - \csname #1mark\endcsname{#7}% - \CTEX@addtocline{#1}{#7}% - \else - \def\@svsechd{% - #6{\hskip\glueexpr #3\relax - \@svsec - \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% - \csname #1mark\endcsname{#7}% - \CTEX@addtocline{#1}{#7}}% - \fi - \@xsect{#5}} -\def\@ssect#1#2#3#4#5{% - \CTEX@ifnamefalse - \CTEX@gettitle{#5}% - \unless \ifodd \CTEX@runin - \begingroup - #4{% - \CTEX@hangfrom{\hskip\glueexpr #1\relax}% - \interlinepenalty \@M - \CTEX@titleformat@n{#5}% - \CTEX@aftertitle}% - \endgroup - \else - \def\@svsechd{#4{\hskip\glueexpr #1\relax - \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% - \fi - \@xsect{#3}} -\def\@xsect#1{% - \unless \ifodd \CTEX@runin - \par \nobreak - \CTEX@setheadingskip{#1}% - \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \@afterheading - \else - \@nobreakfalse - \global\@noskipsectrue - \everypar{% - \if@noskipsec - \global\@noskipsecfalse - {\setbox\z@\lastbox}% - \clubpenalty\@M - \begingroup \@svsechd \endgroup - \unskip - \hskip\glueexpr #1\relax - \else - \clubpenalty \@clubpenalty - \everypar{}% - \fi}% - \fi - \ignorespaces} -\cs_new_protected:Npn \CTEX@hangindent #1#2 - { - \dim_set:Nn \parindent { \use:c { CTEX@#1@indent } } - \bool_if:cTF { CTEX@#1@hang } - { \@hangfrom { \__ctex_indent_aux: #2 } } - {#2} - } -\cs_new_protected_nopar:Npn \__ctex_indent_aux: - { - \dim_compare:nNnF \parindent = \c_zero_dim - { \skip_horizontal:n { \parindent } } - } -\cs_new_protected_nopar:Npn \CTEX@hangfrom - { - \bool_if:NTF \CTEX@hang - { \@hangfrom } - { \noindent \use:n } - } -\cs_new_protected_nopar:Npn \CTEX@update@sectionformat@n #1 - { - \cs_set_eq:Nc \CTEX@titleformat@n { CTEX@#1@titleformat } - \cs_set_eq:Nc \CTEX@aftertitle { CTEX@#1@aftertitle } - \cs_set_eq:Nc \CTEX@afterindent { CTEX@#1@afterindent } - \cs_set_eq:Nc \CTEX@fixskip { CTEX@#1@fixskip } - \cs_set_eq:Nc \CTEX@hang { CTEX@#1@hang } - \cs_set_eq:Nc \CTEX@runin { CTEX@#1@runin } - } -\cs_new_eq:NN \CTEX@titleformat@n \use:n -\cs_new_eq:NN \CTEX@aftertitle \prg_do_nothing: -\cs_new_eq:NN \CTEX@afterindent \c_true_bool -\cs_new_eq:NN \CTEX@fixskip \c_false_bool -\cs_new_eq:NN \CTEX@hang \c_true_bool -\cs_new_eq:NN \CTEX@runin \c_false_bool -\cs_new:Npn \CTEX@part@tocline #1#2 - { - \CTEXifname - { \CTEXthepart \hspace { 1em } } - { } - #2 - } -\cs_new:Npn \CTEX@chapter@tocline #1#2 - { - \CTEXifname - { \protect \numberline { \CTEXthechapter \hspace { .3em } } } - { } - #2 - } -\cs_new_nopar:Npn \CTEXnumberline #1 - { - \CTEXifname - { \protect \numberline { \use:c { CTEXthe #1 } } } - { } - } -\int_zero:N \l__ctex_tmp_int -\seq_map_inline:Nn \c__ctex_section_headings_seq - { - \int_incr:N \l__ctex_tmp_int - \cs_gset_protected_nopar:cpx {#1} - { - \exp_not:N \@startsection {#1} - { \int_use:N \l__ctex_tmp_int } - { \exp_not:c { CTEX@#1@indent } } - { \exp_not:c { CTEX@#1@beforeskip } } - { \exp_not:c { CTEX@#1@afterskip } } - { \exp_not:N \normalfont \exp_not:c { CTEX@#1@format } } - } - \cs_new:cpn { CTEX@#1@tocline } ##1##2 - { \CTEXnumberline { ##1 } ##2 } - } -\keys_define:nn { ctex } - { - appendix .meta:nn = { ctex / appendix } {#1} , - appendix / name .code:n = - { \ctex_assign_heading_name:nn { appendix } {#1} } , - appendix / number .tl_set:N = \CTEX@appendix@number , - appendix / numbering .bool_set:N = \CTEX@appendix@numbering , - appendix / numbering .initial:n = true - } -\tl_new:N \CTEX@preappendix -\tl_new:N \CTEX@postappendix -\cs_new_eq:NN \CTEX@save@appendix \appendix -\cs_gset_protected_nopar:Npn \appendix - { - \CTEX@save@appendix - \gdef \CTEX@prechapter { \CTEX@preappendix } - \gdef \CTEX@thechapter { \CTEX@appendix@number } - \gdef \CTEX@postchapter { \CTEX@postappendix } - \gdef \CTEX@chapter@numbering { \CTEX@appendix@numbering } - } -\cs_new_protected_nopar:Npn \CTEX@makeanchor #1 - { } -\seq_const_from_clist:Nn \c__ctex_headings_cs_seq - { part , spart , chapter , schapter , sect , ssect } -\seq_map_inline:Nn \c__ctex_headings_cs_seq - { - \cs_new_eq:cc { CTEX@ #1 } { @ #1 } - \cs_new_eq:cN { CTEX@makeanchor@ #1 } \CTEX@makeanchor - } -\cs_new_protected_nopar:Npn \CTEX@hyperheadinghook - { - \group_begin: - \ifHy@implicit - \cs_set_eq:NN \H@old@chapter \Hy@org@chapter - \seq_map_inline:Nn \c__ctex_headings_cs_seq - { - \cs_if_eq:ccT { H@old@ ##1 } { CTEX@ ##1 } - { - \cs_gset_eq:cc { @ ##1 } { CTEX@ ##1 } - \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor - } - } - \else: - \seq_map_inline:Nn \c__ctex_headings_cs_seq - { \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor } - \fi: - \group_end: - } -\ctex_at_end_package:nn { hyperref } - { - \cs_gset_protected_nopar:Npn \CTEX@makeanchor #1 - { - \Hy@MakeCurrentHrefAuto {#1} - \Hy@raisedlink - { - \hyper@anchorstart { \@currentHref } - \hyper@anchorend - } - } - \CTEX@hyperheadinghook - } -\cs_new_protected:Npn \CTEX@gettitle #1 - { } -\ctex_at_end_package:nn { nameref } - { - \cs_gset_protected_nopar:Npn \CTEX@gettitle { \NR@gettitle } - \seq_map_inline:Nn \c__ctex_headings_cs_seq - { - \cs_if_eq:ccT { NR@ #1 } { CTEX@ #1 } - { \cs_gset_eq:cc { @ #1 } { CTEX@ #1 } } - } - } -\cs_new_protected_nopar:Npn \ctex_titlesec_hook: - { - \@ifpackagewith { titlesec } { explicit } - { - \cs_set_eq:NN \__ctex_titlesec_format:Nn - \__ctex_titlesec_format_explicit:Nn - } - { } - \clist_map_inline:nn - { indentafter , noindentafter , indentfirst , nonindentfirst } - { - \@ifpackagewith { titlesec } { ##1 } - { - \clist_map_break:n - { \cs_set_eq:NN \__ctex_titlesec_hook:n \__ctex_titlesec_format:n } - } - { } - } - \seq_map_function:NN \c__ctex_section_headings_seq \__ctex_titlesec_hook:n - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_hook:n #1 - { - \__ctex_titlesec_format:n {#1} - \exp_args:Nc \__ctex_titlesec_spacing:Nn { ttls@#1 } {#1} - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format:n #1 - { - \cs_if_free:cF { ttlf@#1 } - { \exp_args:Nc \__ctex_titlesec_format:Nn { ttlf@#1 } {#1} } - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format:Nn #1#2 - { - \tl_set:Nx #1 - { - \bool_if:cTF { CTEX@#2@runin } - { \exp_not:N \ttlh@runin } - { \exp_not:N \ttlh@hang } - \tl_tail:N #1 - } - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format_explicit:Nn #1#2 - { - \cs_set_nopar:Npx #1 ##1 - { - \bool_if:cTF { CTEX@#2@runin } - { \exp_not:N \ttlh@runin } - { \exp_not:N \ttlh@hang } - \exp_args:No \tl_tail:n { #1 { } } - } - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_spacing:Nn #1#2 - { \tl_set:Nx #1 { \exp_after:wN \__ctex_titlesec_spacing:nnnnnn #1 {#2} } } -\cs_new:Npn \__ctex_titlesec_spacing:nnnnnn #1#2#3#4#5#6 - { - \exp_not:n { {#1} {#2} {#3} {#4} } - { \bool_if:cTF { CTEX@#6@afterindent } { \@ne } { \z@ } } - } -\@ifpackageloaded { titlesec } - { } - { - \ctex_at_end_package:nn { titlesec } - { - \@ifpackagewith { titlesec } { loadonly } - { } - { \ctex_titlesec_hook: } - } - } -\ctex_at_end_package:nn { titlesec } - { - \tl_set:Nn \ttl@chapterout { \typeout { \CTEXthechapter } } - \cs_if_free:NF \ttl@tocpart - { - \cs_set_protected_nopar:Npn \ttl@tocpart - { \tl_set:Nn \ttl@a { \CTEXthepart \hspace { 1em } } } - } - \seq_map_inline:Nn \c__ctex_headings_seq - { - \cs_if_exist:cF { ttl@toc #1 } - { - \cs_new_protected_nopar:cpx { ttl@toc #1 } - { - \tl_set:Nn \exp_not:N \ttl@a - { - \exp_not:N \protect - \exp_not:N \numberline { \exp_not:c { CTEXthe #1 } } - } - } - } - } - } -\group_begin: -\char_set_catcode_other:N \# -\cs_new_protected_nopar:Npn \ctex_titleps_hook: - { - \ctex_patch_cmd:Nnn \ttl@settopmark - { \protect \@namedef { the#1 } { \@nameuse { the#1 } } } - { - \protect \@namedef { the#1 } { \@nameuse { the#1 } } - \CTEX@titlepslabel@set {#1} - } - \ctex_patch_cmd:Nnn \ttl@setsubmark - { \protect \@namedef { the#1 } { } } - { - \protect \@namedef { the#1 } { } - \CTEX@titlepslabel@clear {#1} - } - \ctex_patch_cmd:Nnn \ttl@setsubmark - { \protect \@namedef { the#2 } { \@nameuse { the#2 } } } - { - \protect \@namedef { the#2 } { \@nameuse { the#2 } } - \CTEX@titlepslabel@set {#2} - } - } -\group_end: -\cs_new_nopar:Npn \CTEX@titlepslabel@set #1 - { - \cs_if_free:cF { CTEXthe#1 } - { \protect \@namedef { CTEXthe#1 } { \@nameuse { CTEXthe#1 } } } - } -\cs_new_nopar:Npn \CTEX@titlepslabel@clear #1 - { - \cs_if_free:cF { CTEXthe#1 } - { \protect \@namedef { CTEXthe#1 } { } } - } -\ctex_at_end_package:nn { titlesec } - { \cs_if_free:NF \ttl@settopmark { \ctex_titleps_hook: } } -\ctex_at_end_package:nn { titleps } { \ctex_titleps_hook: } -\ctex_at_end_package:nn { titleps } - { - \cs_set_protected_nopar:Npn \ttl@setifthe #1 - { - \exp_args:Nco \cs_set_nopar:Npn { ifthe #1 } - { - \CTEXifname - { \protect \@firstoftwo } - { \protect \@secondoftwo } - } - } - \seq_map_function:NN \c__ctex_headings_seq \ttl@setifthe - } -\cs_new_protected:Npn \CTEX@toc@width@n #1 - { - \hbox_set:Nn \l__ctex_tmp_box {#1} - \dim_set:Nn \@tempdima - { - \dim_max:nn { \@tempdima } - { \box_wd:N \l__ctex_tmp_box + \f@size \p@ / 2 } - } - } -\group_begin: -\char_set_catcode_other:N \# -\use:n - { - \group_end: - \ctex_preto_cmd:NnnTF \numberline { \ExplSyntaxOff } - { \CTEX@toc@width@n {#1} } - { } - { \ctex_patch_failure:N \numberline } - \@ifpackageloaded { tocloft } - { } - { - \ctex_at_end_package:nn { tocloft } - { - \ctex_preto_cmd:NnnTF \numberline - { \char_set_catcode_letter:n { 64 } } - { \CTEX@toc@width@n {#1} } - { } - { \ctex_patch_failure:N \numberline } - } - } - } -\ctex_patch_cmd:Nnn \ps@headings - { - \ifnum \c@secnumdepth > \m@ne \if@mainmatter - \@chapapp \ \thechapter . ~ \ % - \fi \fi - } - { \CTEXifname { \CTEXthechapter \quad } { } } -\if@twoside - \ctex_patch_cmd:Nnn \ps@headings - { \ifnum \c@secnumdepth > \z@ \thesection . ~ \ \fi } - { \CTEXifname { \CTEXthesection \quad } { } } -\fi: -\ctex_at_end_package:nn { fancyhdr } - { - \ctex_patch_cmd:Nnn \ps@fancy - { \ifnum \c@secnumdepth > \m@ne \@chapapp \ \thechapter . ~ \ \fi } - { \CTEXifname { \CTEXthechapter \quad } { } } - \ctex_patch_cmd:Nnn \ps@fancy - { \ifnum \c@secnumdepth > \z@ \thesection . ~ \ \fi } - { \CTEXifname { \CTEXthesection \quad } { } } - } -\cs_new_protected_nopar:Npn \CTEX@setcurrentlabel@n #1 - { - \protected@edef \@currentlabel - { - \cs_if_exist:cTF { CTEX@the#1 } - { \exp_args:cc { p@#1 } { CTEX@the#1 } } - { \exp_not:o { \@currentlabel } } - } - } -\cs_new_protected_nopar:Npn \ctex_varioref_hook: - { - \seq_map_inline:Nn \c__ctex_headings_seq - { \ctex_fix_varioref_label:n { ##1 } } - } -\cs_new_protected_nopar:Npn \ctex_fix_varioref_label:n #1 - { - \tl_if_empty:cT { p@#1 } - { \exp_args:Nno \labelformat {#1} { \cs:w CTEX@the#1 \cs_end: } } - } -\@ifpackageloaded { varioref } - { \ctex_varioref_hook: } - { - \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter - \RenewDocumentCommand \refstepcounter { m } - { - \CTEX@save@refstepcounter {#1} - \CTEX@setcurrentlabel@n {#1} - } - \ctex_at_end_package:nn { varioref } { \ctex_varioref_hook: } - } -\ctex_scheme_input:o { \l__ctex_scheme_tl } -%% -%% -%% End of file `ctex-book.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/ctex-c5size.clo b/Master/texmf-dist/tex/latex/ctex/ctex-c5size.clo index 9f3d9794803..c22dda7f02c 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctex-c5size.clo +++ b/Master/texmf-dist/tex/latex/ctex/ctex-c5size.clo @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `c5size') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,16 +20,14 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {c5size option (CTEX)} \ProvidesExplFile{ctex-c5size.clo} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \ctex_set_font_size:Nnn \normalsize { 5 } { \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ diff --git a/Master/texmf-dist/tex/latex/ctex/ctex-cs4size.clo b/Master/texmf-dist/tex/latex/ctex/ctex-cs4size.clo index 68f3e365f73..cd08fffa853 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctex-cs4size.clo +++ b/Master/texmf-dist/tex/latex/ctex/ctex-cs4size.clo @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `cs4size') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,16 +20,14 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {cs4size option (CTEX)} \ProvidesExplFile{ctex-cs4size.clo} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \ctex_set_font_size:Nnn \normalsize { -4 } { \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@ diff --git a/Master/texmf-dist/tex/latex/ctex/ctex-report.def b/Master/texmf-dist/tex/latex/ctex/ctex-report.def deleted file mode 100644 index 1107fd0582b..00000000000 --- a/Master/texmf-dist/tex/latex/ctex/ctex-report.def +++ /dev/null @@ -1,793 +0,0 @@ -%% -%% This is file `ctex-report.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% ctex.dtx (with options: `heading,report') -%% -%% Copyright (C) 2003--2019 -%% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. This version of this license is in -%% http://www.latex-project.org/lppl/lppl-1-3c.txt -%% and the latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of -%% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ - {Heading modification for report (CTEX)} -\ProvidesExplFile{ctex-report.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\seq_const_from_clist:Nn \c__ctex_section_headings_seq - { section , subsection , subsubsection , paragraph , subparagraph } -\seq_new:N \c__ctex_headings_seq -\seq_gset_eq:NN \c__ctex_headings_seq \c__ctex_section_headings_seq -\seq_gput_left:Nn \c__ctex_headings_seq { chapter } -\seq_gput_left:Nn \c__ctex_headings_seq { part } -\cs_new_protected_nopar:Npn \__ctex_initial_heading:n #1 - { - \tl_new:c { CTEX@pre#1 } - \tl_new:c { CTEX@post#1 } - \tl_const:cx { CTEXthe#1 } - { - \exp_not:c { CTEX@pre#1 } - \exp_not:c { CTEX@the#1 } - \exp_not:c { CTEX@post#1 } - } - \tl_const:cx { CTEX@#1name } - { - \group_begin: - \exp_not:c { CTEX@#1@nameformat } - { - \exp_not:c { CTEX@pre#1 } - \exp_not:N \tl_if_empty:NTF - \exp_not:c { CTEX@#1@numberformat } - { \exp_not:c { CTEX@the#1 } } - { - \group_begin: - \exp_not:c { CTEX@#1@numberformat } - \exp_not:c { CTEX@the#1 } - \group_end: - } - \exp_not:c { CTEX@post#1 } - } - \group_end: - } - } -\cs_new_protected_nopar:Npn \__ctex_def_heading_keys:n #1 - { - \tl_put_right:Nx \l__ctex_tmp_tl - { - #1 .meta:nn = { ctex / #1 } { ####1 } , - #1 / name .code:n = - { \ctex_assign_heading_name:nn {#1} { ####1 } } , - #1 / number .tl_set:N = \exp_not:c { CTEX@the#1 } , - #1 / beforeskip .tl_set:N = \exp_not:c { CTEX@#1@beforeskip } , - #1 / afterskip .tl_set:N = \exp_not:c { CTEX@#1@afterskip} , - #1 / indent .tl_set:N = \exp_not:c { CTEX@#1@indent } , - #1 / numbering .bool_set:N = \exp_not:c { CTEX@#1@numbering } , - #1 / numbering .initial:n = true , - #1 / beforeskip .initial:n = \c_zero_skip , - #1 / afterskip .initial:n = \c_zero_skip , - #1 / indent .initial:n = \c_zero_dim , - #1 / beforeskip .value_required:n = true , - #1 / afterskip .value_required:n = true , - #1 / indent .value_required:n = true , - #1 / afterindent .bool_set:N = \exp_not:c { CTEX@#1@afterindent } , - #1 / fixskip .bool_set:N = \exp_not:c { CTEX@#1@fixskip } , - #1 / hang .bool_set:N = \exp_not:c { CTEX@#1@hang } , - #1 / hang .initial:n = true , - #1 / runin .bool_set:N = \exp_not:c { CTEX@#1@runin } , - #1 / tocline .code:n = - { - \cs_set:Npn \exp_not:c { CTEX@#1@tocline} - \exp_not:n { ####1####2 } { ####1 } - } , - \__ctex_plus_key_aux:nn {#1} { break } , - \__ctex_plus_key_aux:nn {#1} { format } , - \__ctex_plus_key_aux:nn {#1} { nameformat } , - \__ctex_plus_key_aux:nn {#1} { numberformat } , - \__ctex_plus_key_aux:nn {#1} { titleformat } , - \__ctex_plus_key_aux:nn {#1} { aftername } , - \__ctex_plus_key_aux:nn {#1} { aftertitle } , - } - } -\cs_new_nopar:Npn \__ctex_plus_key_aux:nn #1#2 - { - #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , - #1 / #2 + .code:n = - { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } , - #1 / #2 ~ + .code:n = - { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } - } -\NewDocumentCommand \ctex_assign_heading_name:nn - { m > { \SplitArgument { 1 } { , } } +m } - { \__ctex_assign_heading_name:nnn {#1} #2 } -\cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3 - { - \tl_set:cn { CTEX@pre#1 } {#2} - \IfNoValueTF {#3} - { \tl_clear:c { CTEX@post#1 } } - { \tl_set:cn { CTEX@post#1 } {#3} } - } -\group_begin: -\tl_set:Nn \l__ctex_tmp_tl - { - part / pagestyle .tl_set:N = \CTEX@part@pagestyle , - chapter / pagestyle .tl_set:N = \CTEX@chapter@pagestyle , - chapter / lofskip .tl_set:N = \CTEX@chapter@lofskip , - chapter / lotskip .tl_set:N = \CTEX@chapter@lotskip , - chapter / lofskip .initial:n = \c_zero_skip , - chapter / lotskip .initial:n = \c_zero_skip , - chapter / lofskip .value_required:n = true , - chapter / lotskip .value_required:n = true , - } -\seq_map_inline:Nn \c__ctex_headings_seq - { - \__ctex_initial_heading:n {#1} - \__ctex_def_heading_keys:n {#1} - } -\use:x - { - \group_end: - \keys_define:nn { ctex } { \exp_not:o { \l__ctex_tmp_tl } } - } -\cs_new_protected_nopar:Npn \CTEX@fixtopskip - { - \CTEX@fixheadingskip - \dim_compare:nNnF \tex_pagegoal:D < \c_max_dim - { \skip_sub:Nn \l__ctex_heading_skip { \tex_topskip:D } } - } -\cs_new_protected_nopar:Npn \CTEX@fixheadingskip - { - \par - \dim_set:Nn \tex_prevdepth:D { -1000pt } - \skip_sub:Nn \l__ctex_heading_skip { \tex_parskip:D } - } -\skip_new:N \l__ctex_heading_skip -\cs_new_protected_nopar:Npn \CTEX@setheadingskip - { \skip_set:Nn \l__ctex_heading_skip } -\cs_new_eq:NN \CTEX@headingskip \l__ctex_heading_skip -\ProvideDocumentCommand \partmark { m } - { \markboth { } { } } -\cs_new_eq:NN \CTEXifname \use_ii:nn -\cs_new_protected_nopar:Npn \CTEX@ifnametrue - { \cs_set_eq:NN \CTEXifname \use_i:nn } -\cs_new_protected_nopar:Npn \CTEX@ifnamefalse - { \cs_set_eq:NN \CTEXifname \use_ii:nn } -\cs_new_protected_nopar:Npn \CTEX@addloflotskip #1 - { - \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1@lofskip } } - \skip_if_eq:nnF { \l__ctex_heading_skip } { \c_zero_skip } - { - \addtocontents { lof } - { \protect \addvspace { \skip_use:N \l__ctex_heading_skip } } - } - \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1@lotskip } } - \skip_if_eq:nnF { \l__ctex_heading_skip } { \c_zero_skip } - { - \addtocontents { lot } - { \protect \addvspace { \skip_use:N \l__ctex_heading_skip } } - } - } -\cs_new_protected:Npn \CTEX@addtocline #1#2 - { \addcontentsline { toc } {#1} { \use:c { CTEX@#1@tocline } {#1} {#2} } } -\cs_new_protected_nopar:Npn \CTEX@disableautoindent - { \tl_clear:N \l__ctex_autoindent_tl } -\renewcommand\part{% - \CTEX@part@break - \thispagestyle{\CTEX@part@pagestyle}% - \if@twocolumn - \onecolumn - \@tempswatrue - \else - \@tempswafalse - \fi - \CTEX@setheadingskip \CTEX@part@beforeskip - \ifodd \CTEX@part@fixskip \CTEX@fixtopskip \fi - \vspace*{\CTEX@headingskip}% - \secdef\@part\@spart} -\def\@part[#1]#2{% - \ifnum \c@secnumdepth >-2\relax - \ifodd \CTEX@part@numbering - \CTEX@ifnametrue - \refstepcounter{part}% - \else - \CTEX@ifnamefalse - \CTEX@makeanchor{part*}% - \fi - \else - \CTEX@ifnamefalse - \CTEX@makeanchor{part*}% - \fi - \CTEX@gettitle{#1}% - \CTEX@addtocline{part}{#1}% - \partmark{#1}% - {\interlinepenalty \@M - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}% - {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% - \CTEX@part@titleformat{#2}% - \CTEX@part@aftertitle}% - \@endpart} -\def\@spart#1{% - \CTEX@ifnamefalse - \CTEX@makeanchor@spart{part*}% - \CTEX@gettitle{#1}% - {\interlinepenalty \@M - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}{}% - \CTEX@part@titleformat{#1}% - \CTEX@part@aftertitle}% - \@endpart} -\def\@endpart{% - \CTEX@setheadingskip \CTEX@part@afterskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \newpage - \if@twoside - \if@openright - \null - \thispagestyle{empty}% - \newpage - \fi - \fi - \if@tempswa - \twocolumn - \fi} -\renewcommand\chapter{% - \CTEX@chapter@break - \thispagestyle{\CTEX@chapter@pagestyle}% - \global\@topnum\z@ - \ifodd \CTEX@chapter@afterindent - \@afterindenttrue - \else - \@afterindentfalse - \fi - \secdef\@chapter\@schapter} -\def\@chapter[#1]#2{% - \ifnum \c@secnumdepth >\m@ne - \ifodd \CTEX@chapter@numbering - \CTEX@ifnametrue - \refstepcounter{chapter}% - \typeout{\CTEXthechapter}% - \else - \CTEX@ifnamefalse - \CTEX@makeanchor{\Hy@chapapp*}% - \fi - \else - \CTEX@ifnamefalse - \CTEX@makeanchor@chapter{\Hy@chapapp*}% - \fi - \CTEX@gettitle{#1}% - \CTEX@addtocline{chapter}{#1}% - \chaptermark{#1}% - \CTEX@addloflotskip{chapter}% - \if@twocolumn - \@topnewpage[\@makechapterhead{#2}]% - \else - \@makechapterhead{#2}% - \@afterheading - \fi} -\def\@schapter#1{% - \CTEX@ifnamefalse - \CTEX@makeanchor@schapter{\Hy@chapapp*}% - \CTEX@gettitle{#1}% - \if@twocolumn - \@topnewpage[\@makeschapterhead{#1}]% - \else - \@makeschapterhead{#1}% - \@afterheading - \fi} -\def\@makechapterhead#1{% - \CTEX@setheadingskip \CTEX@chapter@beforeskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi - \vspace*{\CTEX@headingskip}% - {\CTEX@disableautoindent - \normalfont \CTEX@chapter@format - \interlinepenalty\@M - \CTEX@hangindent{chapter}% - {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}% - \CTEX@chapter@titleformat{#1}% - \CTEX@chapter@aftertitle - \nobreak - \CTEX@setheadingskip \CTEX@chapter@afterskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - }} -\def\@makeschapterhead#1{% - \CTEX@setheadingskip \CTEX@chapter@beforeskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi - \vspace*{\CTEX@headingskip}% - {\CTEX@disableautoindent - \normalfont \CTEX@chapter@format - \interlinepenalty\@M - \CTEX@hangindent{chapter}{}% - \CTEX@chapter@titleformat{#1}% - \CTEX@chapter@aftertitle - \nobreak - \CTEX@setheadingskip \CTEX@chapter@afterskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - }} -\def\@startsection#1#2#3#4#5#6{% - \if@noskipsec \leavevmode \fi - \par - \CTEX@update@sectionformat@n{#1}% - \ifodd \CTEX@afterindent - \@afterindenttrue - \else - \@afterindentfalse - \fi - \if@nobreak - \everypar{}% - \else - \csname CTEX@#1@break\endcsname - \CTEX@setheadingskip{#4}% - \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi - \addvspace \CTEX@headingskip - \fi - \@ifstar - {\CTEX@makeanchor@ssect{#1*}\@ssect{#3}{#4}{#5}{#6}}% - {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} -\def\@seccntformat#1{% - \csname CTEX@#1name\endcsname - \csname CTEX@#1@aftername\endcsname} -\def\@sect#1#2#3#4#5#6[#7]#8{% - \ifnum #2>\c@secnumdepth - \CTEX@ifnamefalse - \CTEX@makeanchor@sect{#1*}% - \let\@svsec\@empty - \else - \ifodd \csname CTEX@#1@numbering\endcsname - \CTEX@ifnametrue - \refstepcounter{#1}% - \protected@edef\@svsec{\@seccntformat{#1}\relax}% - \else - \CTEX@ifnamefalse - \CTEX@makeanchor{#1*}% - \let\@svsec\@empty - \fi - \fi - \CTEX@gettitle{#7}% - \unless \ifodd \CTEX@runin - \begingroup - #6{% - \CTEX@hangfrom{\hskip\glueexpr #3\relax\@svsec}% - \interlinepenalty \@M - \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% - \endgroup - \csname #1mark\endcsname{#7}% - \CTEX@addtocline{#1}{#7}% - \else - \def\@svsechd{% - #6{\hskip\glueexpr #3\relax - \@svsec - \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% - \csname #1mark\endcsname{#7}% - \CTEX@addtocline{#1}{#7}}% - \fi - \@xsect{#5}} -\def\@ssect#1#2#3#4#5{% - \CTEX@ifnamefalse - \CTEX@gettitle{#5}% - \unless \ifodd \CTEX@runin - \begingroup - #4{% - \CTEX@hangfrom{\hskip\glueexpr #1\relax}% - \interlinepenalty \@M - \CTEX@titleformat@n{#5}% - \CTEX@aftertitle}% - \endgroup - \else - \def\@svsechd{#4{\hskip\glueexpr #1\relax - \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% - \fi - \@xsect{#3}} -\def\@xsect#1{% - \unless \ifodd \CTEX@runin - \par \nobreak - \CTEX@setheadingskip{#1}% - \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \@afterheading - \else - \@nobreakfalse - \global\@noskipsectrue - \everypar{% - \if@noskipsec - \global\@noskipsecfalse - {\setbox\z@\lastbox}% - \clubpenalty\@M - \begingroup \@svsechd \endgroup - \unskip - \hskip\glueexpr #1\relax - \else - \clubpenalty \@clubpenalty - \everypar{}% - \fi}% - \fi - \ignorespaces} -\cs_new_protected:Npn \CTEX@hangindent #1#2 - { - \dim_set:Nn \parindent { \use:c { CTEX@#1@indent } } - \bool_if:cTF { CTEX@#1@hang } - { \@hangfrom { \__ctex_indent_aux: #2 } } - {#2} - } -\cs_new_protected_nopar:Npn \__ctex_indent_aux: - { - \dim_compare:nNnF \parindent = \c_zero_dim - { \skip_horizontal:n { \parindent } } - } -\cs_new_protected_nopar:Npn \CTEX@hangfrom - { - \bool_if:NTF \CTEX@hang - { \@hangfrom } - { \noindent \use:n } - } -\cs_new_protected_nopar:Npn \CTEX@update@sectionformat@n #1 - { - \cs_set_eq:Nc \CTEX@titleformat@n { CTEX@#1@titleformat } - \cs_set_eq:Nc \CTEX@aftertitle { CTEX@#1@aftertitle } - \cs_set_eq:Nc \CTEX@afterindent { CTEX@#1@afterindent } - \cs_set_eq:Nc \CTEX@fixskip { CTEX@#1@fixskip } - \cs_set_eq:Nc \CTEX@hang { CTEX@#1@hang } - \cs_set_eq:Nc \CTEX@runin { CTEX@#1@runin } - } -\cs_new_eq:NN \CTEX@titleformat@n \use:n -\cs_new_eq:NN \CTEX@aftertitle \prg_do_nothing: -\cs_new_eq:NN \CTEX@afterindent \c_true_bool -\cs_new_eq:NN \CTEX@fixskip \c_false_bool -\cs_new_eq:NN \CTEX@hang \c_true_bool -\cs_new_eq:NN \CTEX@runin \c_false_bool -\cs_new:Npn \CTEX@part@tocline #1#2 - { - \CTEXifname - { \CTEXthepart \hspace { 1em } } - { } - #2 - } -\cs_new:Npn \CTEX@chapter@tocline #1#2 - { - \CTEXifname - { \protect \numberline { \CTEXthechapter \hspace { .3em } } } - { } - #2 - } -\cs_new_nopar:Npn \CTEXnumberline #1 - { - \CTEXifname - { \protect \numberline { \use:c { CTEXthe #1 } } } - { } - } -\int_zero:N \l__ctex_tmp_int -\seq_map_inline:Nn \c__ctex_section_headings_seq - { - \int_incr:N \l__ctex_tmp_int - \cs_gset_protected_nopar:cpx {#1} - { - \exp_not:N \@startsection {#1} - { \int_use:N \l__ctex_tmp_int } - { \exp_not:c { CTEX@#1@indent } } - { \exp_not:c { CTEX@#1@beforeskip } } - { \exp_not:c { CTEX@#1@afterskip } } - { \exp_not:N \normalfont \exp_not:c { CTEX@#1@format } } - } - \cs_new:cpn { CTEX@#1@tocline } ##1##2 - { \CTEXnumberline { ##1 } ##2 } - } -\keys_define:nn { ctex } - { - appendix .meta:nn = { ctex / appendix } {#1} , - appendix / name .code:n = - { \ctex_assign_heading_name:nn { appendix } {#1} } , - appendix / number .tl_set:N = \CTEX@appendix@number , - appendix / numbering .bool_set:N = \CTEX@appendix@numbering , - appendix / numbering .initial:n = true - } -\tl_new:N \CTEX@preappendix -\tl_new:N \CTEX@postappendix -\cs_new_eq:NN \CTEX@save@appendix \appendix -\cs_gset_protected_nopar:Npn \appendix - { - \CTEX@save@appendix - \gdef \CTEX@prechapter { \CTEX@preappendix } - \gdef \CTEX@thechapter { \CTEX@appendix@number } - \gdef \CTEX@postchapter { \CTEX@postappendix } - \gdef \CTEX@chapter@numbering { \CTEX@appendix@numbering } - } -\cs_new_protected_nopar:Npn \CTEX@makeanchor #1 - { } -\seq_const_from_clist:Nn \c__ctex_headings_cs_seq - { part , spart , chapter , schapter , sect , ssect } -\seq_map_inline:Nn \c__ctex_headings_cs_seq - { - \cs_new_eq:cc { CTEX@ #1 } { @ #1 } - \cs_new_eq:cN { CTEX@makeanchor@ #1 } \CTEX@makeanchor - } -\cs_new_protected_nopar:Npn \CTEX@hyperheadinghook - { - \group_begin: - \ifHy@implicit - \cs_set_eq:NN \H@old@chapter \Hy@org@chapter - \seq_map_inline:Nn \c__ctex_headings_cs_seq - { - \cs_if_eq:ccT { H@old@ ##1 } { CTEX@ ##1 } - { - \cs_gset_eq:cc { @ ##1 } { CTEX@ ##1 } - \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor - } - } - \else: - \seq_map_inline:Nn \c__ctex_headings_cs_seq - { \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor } - \fi: - \group_end: - } -\ctex_at_end_package:nn { hyperref } - { - \cs_gset_protected_nopar:Npn \CTEX@makeanchor #1 - { - \Hy@MakeCurrentHrefAuto {#1} - \Hy@raisedlink - { - \hyper@anchorstart { \@currentHref } - \hyper@anchorend - } - } - \CTEX@hyperheadinghook - } -\cs_new_protected:Npn \CTEX@gettitle #1 - { } -\ctex_at_end_package:nn { nameref } - { - \cs_gset_protected_nopar:Npn \CTEX@gettitle { \NR@gettitle } - \seq_map_inline:Nn \c__ctex_headings_cs_seq - { - \cs_if_eq:ccT { NR@ #1 } { CTEX@ #1 } - { \cs_gset_eq:cc { @ #1 } { CTEX@ #1 } } - } - } -\cs_new_protected_nopar:Npn \ctex_titlesec_hook: - { - \@ifpackagewith { titlesec } { explicit } - { - \cs_set_eq:NN \__ctex_titlesec_format:Nn - \__ctex_titlesec_format_explicit:Nn - } - { } - \clist_map_inline:nn - { indentafter , noindentafter , indentfirst , nonindentfirst } - { - \@ifpackagewith { titlesec } { ##1 } - { - \clist_map_break:n - { \cs_set_eq:NN \__ctex_titlesec_hook:n \__ctex_titlesec_format:n } - } - { } - } - \seq_map_function:NN \c__ctex_section_headings_seq \__ctex_titlesec_hook:n - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_hook:n #1 - { - \__ctex_titlesec_format:n {#1} - \exp_args:Nc \__ctex_titlesec_spacing:Nn { ttls@#1 } {#1} - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format:n #1 - { - \cs_if_free:cF { ttlf@#1 } - { \exp_args:Nc \__ctex_titlesec_format:Nn { ttlf@#1 } {#1} } - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format:Nn #1#2 - { - \tl_set:Nx #1 - { - \bool_if:cTF { CTEX@#2@runin } - { \exp_not:N \ttlh@runin } - { \exp_not:N \ttlh@hang } - \tl_tail:N #1 - } - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format_explicit:Nn #1#2 - { - \cs_set_nopar:Npx #1 ##1 - { - \bool_if:cTF { CTEX@#2@runin } - { \exp_not:N \ttlh@runin } - { \exp_not:N \ttlh@hang } - \exp_args:No \tl_tail:n { #1 { } } - } - } -\cs_new_protected_nopar:Npn \__ctex_titlesec_spacing:Nn #1#2 - { \tl_set:Nx #1 { \exp_after:wN \__ctex_titlesec_spacing:nnnnnn #1 {#2} } } -\cs_new:Npn \__ctex_titlesec_spacing:nnnnnn #1#2#3#4#5#6 - { - \exp_not:n { {#1} {#2} {#3} {#4} } - { \bool_if:cTF { CTEX@#6@afterindent } { \@ne } { \z@ } } - } -\@ifpackageloaded { titlesec } - { } - { - \ctex_at_end_package:nn { titlesec } - { - \@ifpackagewith { titlesec } { loadonly } - { } - { \ctex_titlesec_hook: } - } - } -\ctex_at_end_package:nn { titlesec } - { - \tl_set:Nn \ttl@chapterout { \typeout { \CTEXthechapter } } - \cs_if_free:NF \ttl@tocpart - { - \cs_set_protected_nopar:Npn \ttl@tocpart - { \tl_set:Nn \ttl@a { \CTEXthepart \hspace { 1em } } } - } - \seq_map_inline:Nn \c__ctex_headings_seq - { - \cs_if_exist:cF { ttl@toc #1 } - { - \cs_new_protected_nopar:cpx { ttl@toc #1 } - { - \tl_set:Nn \exp_not:N \ttl@a - { - \exp_not:N \protect - \exp_not:N \numberline { \exp_not:c { CTEXthe #1 } } - } - } - } - } - } -\group_begin: -\char_set_catcode_other:N \# -\cs_new_protected_nopar:Npn \ctex_titleps_hook: - { - \ctex_patch_cmd:Nnn \ttl@settopmark - { \protect \@namedef { the#1 } { \@nameuse { the#1 } } } - { - \protect \@namedef { the#1 } { \@nameuse { the#1 } } - \CTEX@titlepslabel@set {#1} - } - \ctex_patch_cmd:Nnn \ttl@setsubmark - { \protect \@namedef { the#1 } { } } - { - \protect \@namedef { the#1 } { } - \CTEX@titlepslabel@clear {#1} - } - \ctex_patch_cmd:Nnn \ttl@setsubmark - { \protect \@namedef { the#2 } { \@nameuse { the#2 } } } - { - \protect \@namedef { the#2 } { \@nameuse { the#2 } } - \CTEX@titlepslabel@set {#2} - } - } -\group_end: -\cs_new_nopar:Npn \CTEX@titlepslabel@set #1 - { - \cs_if_free:cF { CTEXthe#1 } - { \protect \@namedef { CTEXthe#1 } { \@nameuse { CTEXthe#1 } } } - } -\cs_new_nopar:Npn \CTEX@titlepslabel@clear #1 - { - \cs_if_free:cF { CTEXthe#1 } - { \protect \@namedef { CTEXthe#1 } { } } - } -\ctex_at_end_package:nn { titlesec } - { \cs_if_free:NF \ttl@settopmark { \ctex_titleps_hook: } } -\ctex_at_end_package:nn { titleps } { \ctex_titleps_hook: } -\ctex_at_end_package:nn { titleps } - { - \cs_set_protected_nopar:Npn \ttl@setifthe #1 - { - \exp_args:Nco \cs_set_nopar:Npn { ifthe #1 } - { - \CTEXifname - { \protect \@firstoftwo } - { \protect \@secondoftwo } - } - } - \seq_map_function:NN \c__ctex_headings_seq \ttl@setifthe - } -\cs_new_protected:Npn \CTEX@toc@width@n #1 - { - \hbox_set:Nn \l__ctex_tmp_box {#1} - \dim_set:Nn \@tempdima - { - \dim_max:nn { \@tempdima } - { \box_wd:N \l__ctex_tmp_box + \f@size \p@ / 2 } - } - } -\group_begin: -\char_set_catcode_other:N \# -\use:n - { - \group_end: - \ctex_preto_cmd:NnnTF \numberline { \ExplSyntaxOff } - { \CTEX@toc@width@n {#1} } - { } - { \ctex_patch_failure:N \numberline } - \@ifpackageloaded { tocloft } - { } - { - \ctex_at_end_package:nn { tocloft } - { - \ctex_preto_cmd:NnnTF \numberline - { \char_set_catcode_letter:n { 64 } } - { \CTEX@toc@width@n {#1} } - { } - { \ctex_patch_failure:N \numberline } - } - } - } -\ctex_patch_cmd:Nnn \ps@headings - { - \ifnum \c@secnumdepth > \m@ne - \@chapapp \ \thechapter . ~ \ % - \fi - } - { \CTEXifname { \CTEXthechapter \quad } { } } -\if@twoside - \ctex_patch_cmd:Nnn \ps@headings - { \ifnum \c@secnumdepth > \z@ \thesection . ~ \ \fi } - { \CTEXifname { \CTEXthesection \quad } { } } -\fi: -\ctex_at_end_package:nn { fancyhdr } - { - \ctex_patch_cmd:Nnn \ps@fancy - { \ifnum \c@secnumdepth > \m@ne \@chapapp \ \thechapter . ~ \ \fi } - { \CTEXifname { \CTEXthechapter \quad } { } } - \ctex_patch_cmd:Nnn \ps@fancy - { \ifnum \c@secnumdepth > \z@ \thesection . ~ \ \fi } - { \CTEXifname { \CTEXthesection \quad } { } } - } -\cs_new_protected_nopar:Npn \CTEX@setcurrentlabel@n #1 - { - \protected@edef \@currentlabel - { - \cs_if_exist:cTF { CTEX@the#1 } - { \exp_args:cc { p@#1 } { CTEX@the#1 } } - { \exp_not:o { \@currentlabel } } - } - } -\cs_new_protected_nopar:Npn \ctex_varioref_hook: - { - \seq_map_inline:Nn \c__ctex_headings_seq - { \ctex_fix_varioref_label:n { ##1 } } - } -\cs_new_protected_nopar:Npn \ctex_fix_varioref_label:n #1 - { - \tl_if_empty:cT { p@#1 } - { \exp_args:Nno \labelformat {#1} { \cs:w CTEX@the#1 \cs_end: } } - } -\@ifpackageloaded { varioref } - { \ctex_varioref_hook: } - { - \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter - \RenewDocumentCommand \refstepcounter { m } - { - \CTEX@save@refstepcounter {#1} - \CTEX@setcurrentlabel@n {#1} - } - \ctex_at_end_package:nn { varioref } { \ctex_varioref_hook: } - } -\ctex_scheme_input:o { \l__ctex_scheme_tl } -%% -%% -%% End of file `ctex-report.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/ctex.sty b/Master/texmf-dist/tex/latex/ctex/ctex.sty index 14134e13433..617162c50b4 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctex.sty +++ b/Master/texmf-dist/tex/latex/ctex/ctex.sty @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `style,ctex') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,18 +20,16 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. +%% This work has the LPPL maintenance status "maintained". %% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Chinese adapter in LaTeX (CTEX)} \ProvidesExplPackage{\ExplFileName} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \tl_const:Nx \c__ctex_version_tl { \cs_if_exist_use:cF { ver@ \@currname . \@currext } { 9999/99/99 } } \msg_new:nnnn { ctex } { subpackage-loaded } @@ -50,11 +48,11 @@ \msg_new:nnnn { ctex } { l3-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~bundles\\\\ + Please~update~an~up-to-date~version~of~the~bundles\\\\ `l3kernel'~and~`l3packages'\\\\ using~your~TeX~package~manager~or~from~CTAN. } -\@ifpackagelater { expl3 } { 2019/03/05 } { } +\@ifpackagelater { expl3 } { 2020/04/06 } { } { \msg_error:nnn { ctex } { l3-too-old } { expl3 } } \str_const:Nx \c__ctex_engine_str { \cs_if_exist:NTF \ngostype { aptex } { \c_sys_engine_str } } @@ -68,11 +66,20 @@ } { \msg_critical:nnx { ctex } { engine-not-supported } { \c__ctex_engine_str } } \RequirePackage { ctexhook , ctexpatch } -\RequirePackage { fix-cm , everysel } +\RequirePackage { fix-cm } +\RequirePackage { everysel } \tl_clear_new:N \l__ctex_tmp_tl \int_new:N \l__ctex_tmp_int \box_new:N \l__ctex_tmp_box \dim_new:N \l__ctex_tmp_dim +\cs_new_protected:Npn \ctex_define_option:n + { \keys_define:nn { ctex / option } } +\cs_new_protected:Npn \ctex_define:n + { \keys_define:nn { ctex } } +\cs_new_protected:Npn \ctex_set:n + { \keys_set:nn { ctex } } +\cs_new_protected:Npn \ctex_set:nn #1 + { \keys_set:nn { ctex / #1 } } \cs_new_protected:Npn \ctex_file_wrapper:nnn #1#2#3 { \use:x @@ -88,9 +95,9 @@ #3 } } -\cs_new_protected_nopar:Npn \ctex_file_input:n #1 +\cs_new_protected:Npn \ctex_file_input:n #1 { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } } -\cs_new_protected_nopar:Npn \ctex_scheme_input:n #1 +\cs_new_protected:Npn \ctex_scheme_input:n #1 { \ctex_file_wrapper:nnn { } @@ -110,7 +117,7 @@ \msg_new:nnnn { ctex } { package-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~package~`#1'\\ + Please~update~an~up-to-date~version~of~the~package~`#1'\\ using~your~TeX~package~manager~or~from~CTAN. } \sys_if_output_pdf:TF @@ -129,45 +136,43 @@ \exp_last_unbraced:NNNNo \cs_new:Npn \__ctex_default_ccwd_aux:w #1 { \tl_to_str:n { pt } } #2 \q_stop { \tl_if_empty:nT {#2} { \ccwd } } -\tl_new:N \l__ctex_encoding_tl -\tl_set:Nx \l__ctex_encoding_tl - { \sys_if_engine_pdftex:TF { GBK } { UTF8 } } +\tl_new:N \g__ctex_encoding_tl \bool_new:N \g__ctex_zhmCJK_bool \tl_new:N \l__ctex_autoindent_tl \cs_new_eq:NN \ctex_if_autoindent_touched:F \use:n \cs_new_eq:NN \ctex_zhmap_case:nnn \use_ii:nnn -\cs_new_protected_nopar:Npn \ctex_at_end:n { \AtEndOfPackage } +\cs_new_protected:Npn \ctex_at_end:n { \AtEndOfPackage } \msg_new:nnn { ctex } { invalid-option } { Option~`\l_keys_key_tl'~is~invalid~in~current~mode. } \msg_new:nnn { ctex } { invalid-value } { Value~`#1'~is~invalid~for~the~key~`\l_keys_key_tl'. } +\cs_new_protected:Npn \ctex_deprecated_option:n + { \msg_warning:nnn { ctex } { deprecated-option } } +\cs_new_protected:Npn \ctex_set_deprecated_option:n #1 + { + \ctex_deprecated_option:n { Option~`#1'~is~set. } + \ctex_set:nn { option } {#1} + } +\cs_new_protected:Npn \ctex_deprecated_command:Nn #1#2 + { + \msg_warning:nnxx { ctex } { deprecated-command } + { \token_to_str:N #1 } { \exp_not:n {#2} } + } \msg_new:nnn { ctex } { deprecated-option } - { Option~ `\l_keys_key_tl'~ is~ deprecated.\\ #1 } + { Option~`\l_keys_key_tl'~is~deprecated.\\ #1 } \msg_new:nnn { ctex } { deprecated-command } - { Command~ #1 is~ deprecated.\\ #2 } -\msg_new:nnn { ctex } { deprecated-environment } - { Environment~ `#1'~ is~ deprecated.\\ #2 } + { Command~`#1'~is~deprecated.\\ #2 } \int_new:N \g__ctex_font_size_int -\int_set:Nn \g__ctex_font_size_int { -1 } -\keys_define:nn { ctex / option } +\int_gset:Nn \g__ctex_font_size_int { -1 } +\ctex_define_option:n { zihao .choice: , zihao .value_required:n = true , zihao / 5 .code:n = { \int_gset:Nn \g__ctex_font_size_int { 0 } } , zihao / -4 .code:n = { \int_gset:Nn \g__ctex_font_size_int { 1 } } , zihao / false .code:n = { \int_gset:Nn \g__ctex_font_size_int { 2 } } , - c5size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=5'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = 5 } - } , - cs4size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=-4'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = -4 } - } , + c5size .code:n = { \ctex_set_deprecated_option:n { zihao = 5 } } , + cs4size .code:n = { \ctex_set_deprecated_option:n { zihao = -4 } } , c5size .value_forbidden:n = true , cs4size .value_forbidden:n = true , linespread .fp_set:N = \l__ctex_line_spread_fp , @@ -192,56 +197,38 @@ } , indent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options.~ + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , indent .value_forbidden:n = true , noindent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options. + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , noindent .value_forbidden:n = true , - GBK .code:n = { \tl_set:Nn \l__ctex_encoding_tl { GBK } } , - UTF8 .code:n = { \tl_set:Nn \l__ctex_encoding_tl { UTF8 } } , - GBK .value_forbidden:n = true , - UTF8 .value_forbidden:n = true , - fontset .tl_gset:N = \g__ctex_fontset_tl , - nofonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=none'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = none } - } , - adobefonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=adobe'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = adobe } - } , - winfonts .code:n = + GBK .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \sys_if_engine_pdftex:TF + { \tl_gset:Nn \g__ctex_encoding_tl { GBK } } { - Option~ `fontset=windows'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. + \msg_warning:nn { ctex } { invalid-option } + \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } } - \keys_set:nn { ctex / option } { fontset = windows } } , + UTF8 .code:n = { \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } } , + GBK .value_forbidden:n = true , + UTF8 .value_forbidden:n = true , + fontset .tl_gset:N = \g__ctex_fontset_tl , + nofonts .code:n = { \ctex_set_deprecated_option:n { fontset = none } } , + adobefonts .code:n = { \ctex_set_deprecated_option:n { fontset = adobe } } , + winfonts .code:n = { \ctex_set_deprecated_option:n { fontset = windows } } , nofonts .value_forbidden:n = true , winfonts .value_forbidden:n = true , adobefonts .value_forbidden:n = true , @@ -263,35 +250,21 @@ \cs_gset_eq:NN \ctex_zhmap_case:nnn \use_iii:nnn } , nozhmap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zhmap=false'~ is~ set. } - \keys_set:nn { ctex / option } { zhmap = false } - } , + { \ctex_set_deprecated_option:n { zhmap = false } } , nozhmap .value_forbidden:n = true , punct .tl_set:N = \l__ctex_punct_tl , punct .default:n = { quanjiao } , punct .initial:n = { quanjiao } , - nopunct .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `punct=plain'~ is~ set. } - \keys_set:nn { ctex / option } { punct = plain } - } , + nopunct .code:n = \ctex_set_deprecated_option:n { punct = plain } , nopunct .value_forbidden:n = true , space .choices:nn = { true , auto , false } { \exp_args:Nx \ctex_at_end:n - { \keys_set:nn { ctex } { space = \l_keys_choice_tl } } + { \ctex_set:n { space = \l_keys_choice_tl } } } , space .default:n = { true } , - nospace .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `space=false'~ is~ set. } - \keys_set:nn { ctex / option } { space = false } - } , + nospace .code:n = { \ctex_deprecated_option:nn { space = false } } , nospace .value_forbidden:n = true , heading .bool_set:N = \l__ctex_heading_bool , sub3section .code:n = @@ -303,35 +276,37 @@ scheme .tl_set:N = \l__ctex_scheme_tl , scheme .default:n = { chinese } , scheme .initial:n = { chinese } , - cap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = chinese' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = chinese } - } , - nocap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = plain' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = plain } - } , + cap .code:n = { \ctex_set_deprecated_option:n { scheme = chinese } } , + nocap .code:n = { \ctex_set_deprecated_option:n { scheme = plain } } , cap .value_forbidden:n = true , nocap .value_forbidden:n = true , - fntef .code:n = + fntef .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `(xe)CJKfntef'~ package~ is~ always~ loaded. } + \sys_if_engine_xetex:TF + { + \ctex_deprecated_option:n { `xeCJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { xeCJKfntef } } + } + { + \sys_if_engine_pdftex:TF + { + \ctex_deprecated_option:n { `CJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { CJKfntef } } + } + { + \ctex_deprecated_option:n + { Furthermore,~option~`fntef'~is~invalid~in~current~mode. } + } + } } , fancyhdr .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `fancyhdr'~ package~ is~ loaded. } - \RequirePackage { fancyhdr } + \ctex_deprecated_option:n { `fancyhdr'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { fancyhdr } } } , hyperref .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `hyperref'~ package~ will~ be~ loaded. } + \ctex_deprecated_option:n { `hyperref'~package~will~be~loaded. } \ctex_at_end:n { \cs_if_exist:NF \hypersetup @@ -354,34 +329,50 @@ #1 .value_forbidden:n = true , } } -\use:x { \keys_define:nn { ctex / option } { \exp_not:o { \l__ctex_tmp_tl } } } +\exp_args:No \ctex_define_option:n { \l__ctex_tmp_tl } \tl_clear:N \l__ctex_tmp_tl \ctex_file_input:n { ctexopts.cfg } \ProcessKeysOptions { ctex / option } +\msg_new:nnn { ctex } { pdftex-utf8 } + { UTF8~will~be~used~as~the~default~encoding. } +\tl_if_empty:NT \g__ctex_encoding_tl + { + \sys_if_engine_pdftex:T + { \msg_warning:nn { ctex } { pdftex-utf8 } } + \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } + } \@ifpackageloaded { hyperref } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \hypersetup {#1} } } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \PassOptionsToPackage {#1} { hyperref } } } \ctex_file_input:n { \c__ctex_engine_file_str } -\NewDocumentCommand \ctexset { } { \keys_set:nn { ctex } } -\NewDocumentCommand \CTEXsetup { +o > { \TrimSpaces } m } +\NewDocumentCommand \ctexset { } { \ctex_set:n } +\NewDocumentCommand \CTEXsetup { +O { } > { \TrimSpaces } m } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXsetup } - { \ctexset~ {~ #2~ =~ {~ #1~ }~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex / #2 } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXsetup { } } + { + \ctex_deprecated_command:Nn \CTEXsetup + { \ctexset {~#2~=~{~#1~}~}~is~set. } + \ctex_set:nn {#2} {#1} + } } -\NewDocumentCommand \CTEXoptions { +o } +\NewDocumentCommand \CTEXoptions { +O { } } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXoptions } - { \ctexset~ {~ #1~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXoptions { } } + { + \ctex_deprecated_command:Nn \CTEXoptions + { \ctexset {~#1~}~is~set. } + \ctex_set:n {#1} + } } -\keys_define:nn { ctex } +\ctex_define:n { autoindent .choice: , autoindent .default:n = { true } , @@ -399,9 +390,9 @@ } } \NewDocumentCommand \CTEXsetfont { } { \ctex_select_size: } -\cs_new_protected_nopar:Npn \ctex_select_size: +\cs_new_protected:Npn \ctex_select_size: { \cs_if_free:NTF \size@update { \ctex_update_size: } { \selectfont } } -\cs_new_protected_nopar:Npn \ctex_update_size: +\cs_new_protected:Npn \ctex_update_size: { \tl_if_eq:NNTF \l__ctex_ziju_tl \c__ctex_zero_tl { @@ -415,7 +406,7 @@ \tl_set_eq:NN \l__ctex_ziju_tl \c__ctex_zero_tl \ctex_add_to_selectfont:n { \cs_if_free:NF \size@update { \ctex_update_size: } } -\keys_define:nn { ctex } +\ctex_define:n { linestretch .code:n = { @@ -426,7 +417,7 @@ } \tl_new:N \l__ctex_line_stretch_tl \tl_set:Nn \l__ctex_line_stretch_tl { \ccwd } -\cs_new_protected_nopar:Npn \ctex_update_stretch: +\cs_new_protected:Npn \ctex_update_stretch: { \ctex_update_em_unit: \dim_set:Nn \l__ctex_tmp_dim { \l__ctex_line_stretch_tl } @@ -461,7 +452,7 @@ \ctex_update_ccglue: } } -\cs_new_protected_nopar:Npn \ctex_update_parindent: +\cs_new_protected:Npn \ctex_update_parindent: { \tl_if_empty:NF \l__ctex_autoindent_tl { @@ -471,12 +462,12 @@ } \NewDocumentCommand \ziju { m } { \exp_args:Nx \ctex_ziju:n {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_ziju:n #1 +\cs_new_protected:Npn \ctex_ziju:n #1 { \tl_set:Nx \l__ctex_ziju_tl { \fp_eval:n {#1} } \ctex_select_size: } -\cs_new_protected_nopar:Npn \ctex_update_ziju: +\cs_new_protected:Npn \ctex_update_ziju: { \ctex_update_em_unit: \dim_set:Nn \l__ctex_ziju_dim { \l__ctex_ziju_tl \ccwd } @@ -508,19 +499,20 @@ \dim_new:N \l__ctex_ziju_dim \NewDocumentCommand \CTEXindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXindent } - { \parindent is~ set~ to~ 2\ccwd. } - \ctex_update_ccwd: \dim_set:Nn \parindent { 2 \ccwd } + \ctex_deprecated_command:Nn \CTEXindent + { \parindent is~set~to~2\ccwd. } + \ctex_update_ccwd: + \dim_set:Nn \parindent { 2 \ccwd } } \NewDocumentCommand \CTEXnoindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXnoindent } - { \parindent is~ set~ to~ 0pt. } + \ctex_deprecated_command:Nn \CTEXnoindent + { \parindent is~set~to~0pt. } \dim_zero:N \parindent } -\PassOptionsToPackage { encoding = \l__ctex_encoding_tl } { zhnumber } +\PassOptionsToPackage { encoding = \g__ctex_encoding_tl } { zhnumber } \RequirePackage { zhnumber } -\cs_new_nopar:Npn \chinese { \zhnum_counter:n } +\cs_new:Npn \chinese { \zhnum_counter:n } \cs_new_eq:NN \@chinese \@zhnum \cs_new_eq:NN \Chinese \chinese \cs_new_eq:NN \CTEXcounter \use_none:n @@ -538,7 +530,7 @@ \NewDocumentCommand \CTEXdigits { m m } { \protected@edef #1 { \zhdigits {#2} } } \cs_set_eq:NN \CTEX@todayold \today -\keys_define:nn { ctex } +\ctex_define:n { today .choice: , today / old .code:n = @@ -564,7 +556,7 @@ \tl_new:N \proofname \tl_set:Nn \proofname { Proof } } -\keys_define:nn { ctex } +\ctex_define:n { contentsname .tl_set:N = \contentsname , listfigurename .tl_set:N = \listfigurename , @@ -583,7 +575,7 @@ } \tl_if_exist:NTF \insertcontinuationtext { - \keys_define:nn { ctex } + \ctex_define:n { algorithmname .tl_set:N = \algorithmname , bibname .tl_set:N = \bibname , @@ -593,13 +585,13 @@ } { \tl_if_exist:NTF \bibname - { \keys_define:nn { ctex } { bibname .tl_set:N = \bibname } } + { \ctex_define:n { bibname .tl_set:N = \bibname } } { \tl_if_exist:NTF \refname - { \keys_define:nn { ctex } { bibname .tl_set:N = \refname } } + { \ctex_define:n { bibname .tl_set:N = \refname } } { \msg_warning:nn { ctex } { ctexbibname } - \keys_define:nn { ctex } { bibname .tl_set:N = \ctexbibname } + \ctex_define:n { bibname .tl_set:N = \ctexbibname } } } } @@ -629,12 +621,12 @@ { \tl_const:Nn \c__ctex_class_tl { article } } \msg_warning:nnx { ctex } { not-standard-class } { \c__ctex_class_tl } } - \ctex_file_input:n { ctex- \c__ctex_class_tl .def } + \ctex_file_input:n { ctex-heading- \c__ctex_class_tl .def } } { \ctex_scheme_input:o { \l__ctex_scheme_tl } } \NewDocumentCommand \zihao { m } { \exp_args:Nx \ctex_zihao:n {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_zihao:n #1 +\cs_new_protected:Npn \ctex_zihao:n #1 { \prop_get:NnNTF \c__ctex_font_size_prop {#1} \l__ctex_font_size_tl { \exp_after:wN \fontsize \l__ctex_font_size_tl \selectfont } @@ -649,7 +641,7 @@ } \prop_new:N \c__ctex_font_size_prop \seq_new:N \c__ctex_font_size_seq -\cs_new_protected_nopar:Npn \__ctex_save_font_size:nn #1#2 +\cs_new_protected:Npn \__ctex_save_font_size:nn #1#2 { \use:x { @@ -681,12 +673,12 @@ { 0 } { 42 bp } } { \__ctex_save_font_size:nn #1 } -\cs_new_protected_nopar:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 { \__ctex_get_font_sizes:Nn \l__ctex_font_size_tl { {#1} {#2} {#3} {#4} } \exp_after:wN \DeclareMathSizes \l__ctex_font_size_tl } -\cs_new_protected_nopar:Npn \__ctex_get_font_sizes:Nn #1#2 +\cs_new_protected:Npn \__ctex_get_font_sizes:Nn #1#2 { \tl_clear:N #1 \tl_map_inline:nn {#2} @@ -723,13 +715,13 @@ { \msg_error:nnn { ctex } { fontsize } {#2} } } \cs_new_protected:Npn \__ctex_set_font_size:nnNn #1#2#3#4 - { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } -\if_case:w \g__ctex_font_size_int - \ctex_file_input:n { ctex-c5size.clo } -\or: - \ctex_file_input:n { ctex-cs4size.clo } -\fi: -\fp_compare:nNnF { \l__ctex_line_spread_fp } ? { \c_zero_fp } + { \cs_set_protected:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } +\int_case:nn { \g__ctex_font_size_int } + { + { 0 } { \ctex_file_input:n { ctex-c5size.clo } } + { 1 } { \ctex_file_input:n { ctex-cs4size.clo } } + } +\fp_if_nan:nF { \l__ctex_line_spread_fp } { \exp_args:Nx \linespread { \fp_use:N \l__ctex_line_spread_fp } \group_begin: \footnotesize \exp_args:NNNo \group_end: @@ -740,47 +732,76 @@ { C \TeX } \ctex_at_end_package:nn { hyperref } { \pdfstringdefDisableCommands { \tl_set:Nn \CTeX { CTeX } } } -\keys_define:nn { ctex } +\ctex_define:n { captiondelimiter .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { You~can~load~the~package~`caption'~to~get~its~functionality. } } } -\cs_new_protected_nopar:Npn \ctex_fontset_error:n #1 +\cs_new_protected:Npn \ctex_fontset_error:n #1 { \msg_critical:nnn { ctex } { fontset-unavailable } {#1} } \msg_new:nnn { ctex } { fontset-unavailable } { CTeX~fontset~`#1'~is~unavailable~in~current~mode. } -\cs_new_protected_nopar:Npn \ctex_load_fontset: +\cs_new:Npx \ctex_fontset_case:nnn #1#2#3 { - \tl_if_empty:NTF \g__ctex_fontset_tl + \sys_if_engine_pdftex:TF + {#1} + { \sys_if_engine_uptex:TF {#2} {#3} } + } +\cs_new:Npx \ctex_fontset_case:nnnn #1#2#3#4 + { + \sys_if_engine_pdftex:TF + { \sys_if_output_pdf:TF {#1} {#2} } + { \sys_if_engine_uptex:TF {#3} {#4} } + } +\cs_new_protected:Npn \ctex_detect_platform: + { + \sys_if_platform_windows:TF + { \tl_gset:Nn \g__ctex_fontset_tl { windows } } { - \ctex_detected_platform: - \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } + \ctex_if_platform_macos:TF + { \tl_gset:Nn \g__ctex_fontset_tl { mac } } + { \tl_gset:Nn \g__ctex_fontset_tl { fandol } } } + } +\cs_new_protected:Npn \ctex_if_platform_macos:TF + { \file_if_exist:nTF { /System/Library/Fonts/Menlo.ttc } } +\cs_new_protected:Npn \ctex_load_fontset: + { + \tl_if_empty:NTF \g__ctex_fontset_tl + { \ctex_detect_platform: } { - \file_if_exist:nTF { ctex-fontset- \g__ctex_fontset_tl .def } - { \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } + \bool_lazy_or:nnTF + { \str_if_eq_p:on { \g__ctex_fontset_tl } { windowsnew } } + { \str_if_eq_p:on { \g__ctex_fontset_tl } { windowsold } } { - \use:x + \msg_warning:nnxx { ctex } { deprecated-fontset } + { \g__ctex_fontset_tl } { windows } + \tl_gset:Nn \g__ctex_fontset_tl { windows } + } + { + \file_if_exist:nF { ctex-fontset- \g__ctex_fontset_tl .def } { - \ctex_detected_platform: - \msg_error:nnxx { ctex } { fontset-not-found } - { \g__ctex_fontset_tl } { \exp_not:N \g__ctex_fontset_tl } + \use:x + { + \ctex_detect_platform: + \msg_error:nnxx { ctex } { fontset-not-found } + { \g__ctex_fontset_tl } { \exp_not:N \g__ctex_fontset_tl } + } } - \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } } + \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } -\@onlypreamble \ctex_load_fontset: +\msg_new:nnn { ctex } { deprecated-fontset } + { CTeX~fontset~`#1'~is~deprecated.\\ Fontset~`#2'~will~be~used~instead. } \msg_new:nnnn { ctex } { fontset-not-found } - { - CTeX~fontset~`#1'~could~not~be~found.\\ - Fontset~`#2'~will~be~used~instead. - } + { CTeX~fontset~`#1'~could~not~be~found.\\ Fontset~`#2'~will~be~used~instead. } { You~may~run~`mktexlsr'~firstly. } -\keys_define:nn { ctex } +\@onlypreamble \ctex_load_fontset: +\ctex_define:n { fontset .code:n = { @@ -810,14 +831,16 @@ } { Only~one~fontset~can~be~loaded~in~the~preamble. } \msg_new:nnn { ctex } { fontset-only-preamble } - { - The~ `fontset'~ option~ can~ be~ used~ only~ in~ preamble. - } + { The~`fontset'~option~can~be~used~only~in~preamble. } \str_if_eq:onF { \g__ctex_fontset_tl } { none } { \ctex_load_fontset: } \ctex_at_end:n { \ctex_file_input:n { ctex.cfg } } %% -%% This package consists of the file ctex.dtx, +%% This package consists of the files ctex.dtx, +%% ctxdoc.cls, +%% ctxdocstrip.tex, +%% ctex-zhconv.lua, +%% ctex-zhconv-make.lua, %% and the derived files ctex.pdf, %% ctex.ins, %% ctex.sty, @@ -827,16 +850,15 @@ %% ctexbook.cls, %% ctexrep.cls, %% ctexbeamer.cls, -%% ctxdoc.cls, %% ctexcap.sty, %% ctexhook.sty, %% ctexpatch.sty, %% ctex-c5size.clo, %% ctex-cs4size.clo, -%% ctex-article.def, -%% ctex-book.def, -%% ctex-report.def, -%% ctex-beamer.def, +%% ctex-heading-article.def, +%% ctex-heading-book.def, +%% ctex-heading-report.def, +%% ctex-heading-beamer.def, %% ctex-scheme-plain.def, %% ctex-scheme-plain-article.def, %% ctex-scheme-plain-book.def, @@ -851,6 +873,7 @@ %% ctex-name-utf8.cfg, %% ctex.cfg, %% ctexopts.cfg, +%% ctexbackend.cfg, %% ctex-engine-pdftex.def, %% ctex-engine-xetex.def, %% ctex-engine-luatex.def, @@ -868,26 +891,25 @@ %% jt2zhrm.fd, %% jt2zhsf.fd, %% jt2zhtt.fd, -%% ctex-fontset-windows.def, -%% ctex-fontset-windowsnew.def, -%% ctex-fontset-windowsold.def, %% ctex-fontset-adobe.def, %% ctex-fontset-fandol.def, +%% ctex-fontset-founder.def, %% ctex-fontset-mac.def, %% ctex-fontset-macnew.def, %% ctex-fontset-macold.def, -%% ctex-fontset-founder.def, %% ctex-fontset-ubuntu.def, +%% ctex-fontset-windows.def, %% ctexspa.def, %% ctexpunct.spa, %% ctexmakespa.tex, %% ctexspamacro.tex, -%% ctxdocstrip.tex, %% zhadobefonts.tex, %% zhfandolfonts.tex, %% zhfounderfonts.tex, +%% zhmacfonts.tex, %% zhubuntufonts.tex, %% zhwindowsfonts.tex, +%% ctex-zhconv-index.lua, %% translator-theorem-dictionary-ChineseGBK.dict, %% translator-theorem-dictionary-ChineseUTF8.dict, and %% README.md. diff --git a/Master/texmf-dist/tex/latex/ctex/ctexart.cls b/Master/texmf-dist/tex/latex/ctex/ctexart.cls index 1065d74e814..f0dabcdf0be 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexart.cls +++ b/Master/texmf-dist/tex/latex/ctex/ctexart.cls @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `class,article') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,18 +20,17 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \NeedsTeXFormat{LaTeX2e} +\input{ctexbackend.cfg} \RequirePackage{expl3} -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Chinese adapter for class article (CTEX)} \ProvidesExplClass{ctexart} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \tl_const:Nx \c__ctex_version_tl { \cs_if_exist_use:cF { ver@ \@currname . \@currext } { 9999/99/99 } } \cs_new_eq:cN { ver@ctex. \@pkgextension } \c__ctex_version_tl @@ -42,11 +41,11 @@ \msg_new:nnnn { ctex } { l3-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~bundles\\\\ + Please~update~an~up-to-date~version~of~the~bundles\\\\ `l3kernel'~and~`l3packages'\\\\ using~your~TeX~package~manager~or~from~CTAN. } -\@ifpackagelater { expl3 } { 2019/03/05 } { } +\@ifpackagelater { expl3 } { 2020/04/06 } { } { \msg_error:nnn { ctex } { l3-too-old } { expl3 } } \@ifpackagelater { l3keys2e } { 2015/12/20 } { } { \msg_error:nnn { ctex } { l3-too-old } { l3keys2e } } @@ -62,11 +61,20 @@ } { \msg_critical:nnx { ctex } { engine-not-supported } { \c__ctex_engine_str } } \RequirePackage { ctexhook , ctexpatch } -\RequirePackage { fix-cm , everysel } +\RequirePackage { fix-cm } +\RequirePackage { everysel } \tl_clear_new:N \l__ctex_tmp_tl \int_new:N \l__ctex_tmp_int \box_new:N \l__ctex_tmp_box \dim_new:N \l__ctex_tmp_dim +\cs_new_protected:Npn \ctex_define_option:n + { \keys_define:nn { ctex / option } } +\cs_new_protected:Npn \ctex_define:n + { \keys_define:nn { ctex } } +\cs_new_protected:Npn \ctex_set:n + { \keys_set:nn { ctex } } +\cs_new_protected:Npn \ctex_set:nn #1 + { \keys_set:nn { ctex / #1 } } \cs_new_protected:Npn \ctex_file_wrapper:nnn #1#2#3 { \use:x @@ -82,9 +90,9 @@ #3 } } -\cs_new_protected_nopar:Npn \ctex_file_input:n #1 +\cs_new_protected:Npn \ctex_file_input:n #1 { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } } -\cs_new_protected_nopar:Npn \ctex_scheme_input:n #1 +\cs_new_protected:Npn \ctex_scheme_input:n #1 { \ctex_file_wrapper:nnn { } @@ -104,7 +112,7 @@ \msg_new:nnnn { ctex } { package-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~package~`#1'\\ + Please~update~an~up-to-date~version~of~the~package~`#1'\\ using~your~TeX~package~manager~or~from~CTAN. } \sys_if_output_pdf:TF @@ -123,46 +131,44 @@ \exp_last_unbraced:NNNNo \cs_new:Npn \__ctex_default_ccwd_aux:w #1 { \tl_to_str:n { pt } } #2 \q_stop { \tl_if_empty:nT {#2} { \ccwd } } -\tl_new:N \l__ctex_encoding_tl -\tl_set:Nx \l__ctex_encoding_tl - { \sys_if_engine_pdftex:TF { GBK } { UTF8 } } +\tl_new:N \g__ctex_encoding_tl \bool_new:N \g__ctex_zhmCJK_bool \tl_new:N \l__ctex_autoindent_tl \cs_new_eq:NN \ctex_if_autoindent_touched:F \use:n \cs_new_eq:NN \ctex_zhmap_case:nnn \use_ii:nnn -\cs_new_protected_nopar:Npn \ctex_at_end:n { \AtEndOfClass } +\cs_new_protected:Npn \ctex_at_end:n { \AtEndOfClass } \clist_new:N \g__ctex_std_options_clist \msg_new:nnn { ctex } { invalid-option } { Option~`\l_keys_key_tl'~is~invalid~in~current~mode. } \msg_new:nnn { ctex } { invalid-value } { Value~`#1'~is~invalid~for~the~key~`\l_keys_key_tl'. } +\cs_new_protected:Npn \ctex_deprecated_option:n + { \msg_warning:nnn { ctex } { deprecated-option } } +\cs_new_protected:Npn \ctex_set_deprecated_option:n #1 + { + \ctex_deprecated_option:n { Option~`#1'~is~set. } + \ctex_set:nn { option } {#1} + } +\cs_new_protected:Npn \ctex_deprecated_command:Nn #1#2 + { + \msg_warning:nnxx { ctex } { deprecated-command } + { \token_to_str:N #1 } { \exp_not:n {#2} } + } \msg_new:nnn { ctex } { deprecated-option } - { Option~ `\l_keys_key_tl'~ is~ deprecated.\\ #1 } + { Option~`\l_keys_key_tl'~is~deprecated.\\ #1 } \msg_new:nnn { ctex } { deprecated-command } - { Command~ #1 is~ deprecated.\\ #2 } -\msg_new:nnn { ctex } { deprecated-environment } - { Environment~ `#1'~ is~ deprecated.\\ #2 } + { Command~`#1'~is~deprecated.\\ #2 } \int_new:N \g__ctex_font_size_int -\int_set:Nn \g__ctex_font_size_int { -1 } -\keys_define:nn { ctex / option } +\int_gset:Nn \g__ctex_font_size_int { -1 } +\ctex_define_option:n { zihao .choice: , zihao .value_required:n = true , zihao / 5 .code:n = { \int_gset:Nn \g__ctex_font_size_int { 0 } } , zihao / -4 .code:n = { \int_gset:Nn \g__ctex_font_size_int { 1 } } , zihao / false .code:n = { \int_gset:Nn \g__ctex_font_size_int { 2 } } , - c5size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=5'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = 5 } - } , - cs4size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=-4'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = -4 } - } , + c5size .code:n = { \ctex_set_deprecated_option:n { zihao = 5 } } , + cs4size .code:n = { \ctex_set_deprecated_option:n { zihao = -4 } } , c5size .value_forbidden:n = true , cs4size .value_forbidden:n = true , linespread .fp_set:N = \l__ctex_line_spread_fp , @@ -187,56 +193,38 @@ } , indent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options.~ + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , indent .value_forbidden:n = true , noindent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options. + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , noindent .value_forbidden:n = true , - GBK .code:n = { \tl_set:Nn \l__ctex_encoding_tl { GBK } } , - UTF8 .code:n = { \tl_set:Nn \l__ctex_encoding_tl { UTF8 } } , - GBK .value_forbidden:n = true , - UTF8 .value_forbidden:n = true , - fontset .tl_gset:N = \g__ctex_fontset_tl , - nofonts .code:n = + GBK .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \sys_if_engine_pdftex:TF + { \tl_gset:Nn \g__ctex_encoding_tl { GBK } } { - Option~ `fontset=none'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. + \msg_warning:nn { ctex } { invalid-option } + \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } } - \keys_set:nn { ctex / option } { fontset = none } - } , - adobefonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=adobe'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = adobe } - } , - winfonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=windows'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = windows } } , + UTF8 .code:n = { \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } } , + GBK .value_forbidden:n = true , + UTF8 .value_forbidden:n = true , + fontset .tl_gset:N = \g__ctex_fontset_tl , + nofonts .code:n = { \ctex_set_deprecated_option:n { fontset = none } } , + adobefonts .code:n = { \ctex_set_deprecated_option:n { fontset = adobe } } , + winfonts .code:n = { \ctex_set_deprecated_option:n { fontset = windows } } , nofonts .value_forbidden:n = true , winfonts .value_forbidden:n = true , adobefonts .value_forbidden:n = true , @@ -258,35 +246,21 @@ \cs_gset_eq:NN \ctex_zhmap_case:nnn \use_iii:nnn } , nozhmap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zhmap=false'~ is~ set. } - \keys_set:nn { ctex / option } { zhmap = false } - } , + { \ctex_set_deprecated_option:n { zhmap = false } } , nozhmap .value_forbidden:n = true , punct .tl_set:N = \l__ctex_punct_tl , punct .default:n = { quanjiao } , punct .initial:n = { quanjiao } , - nopunct .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `punct=plain'~ is~ set. } - \keys_set:nn { ctex / option } { punct = plain } - } , + nopunct .code:n = \ctex_set_deprecated_option:n { punct = plain } , nopunct .value_forbidden:n = true , space .choices:nn = { true , auto , false } { \exp_args:Nx \ctex_at_end:n - { \keys_set:nn { ctex } { space = \l_keys_choice_tl } } + { \ctex_set:n { space = \l_keys_choice_tl } } } , space .default:n = { true } , - nospace .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `space=false'~ is~ set. } - \keys_set:nn { ctex / option } { space = false } - } , + nospace .code:n = { \ctex_deprecated_option:nn { space = false } } , nospace .value_forbidden:n = true , heading .bool_set:N = \l__ctex_heading_bool , sub3section .code:n = @@ -298,35 +272,37 @@ scheme .tl_set:N = \l__ctex_scheme_tl , scheme .default:n = { chinese } , scheme .initial:n = { chinese } , - cap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = chinese' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = chinese } - } , - nocap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = plain' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = plain } - } , + cap .code:n = { \ctex_set_deprecated_option:n { scheme = chinese } } , + nocap .code:n = { \ctex_set_deprecated_option:n { scheme = plain } } , cap .value_forbidden:n = true , nocap .value_forbidden:n = true , - fntef .code:n = + fntef .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `(xe)CJKfntef'~ package~ is~ always~ loaded. } + \sys_if_engine_xetex:TF + { + \ctex_deprecated_option:n { `xeCJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { xeCJKfntef } } + } + { + \sys_if_engine_pdftex:TF + { + \ctex_deprecated_option:n { `CJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { CJKfntef } } + } + { + \ctex_deprecated_option:n + { Furthermore,~option~`fntef'~is~invalid~in~current~mode. } + } + } } , fancyhdr .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `fancyhdr'~ package~ is~ loaded. } - \RequirePackage { fancyhdr } + \ctex_deprecated_option:n { `fancyhdr'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { fancyhdr } } } , hyperref .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `hyperref'~ package~ will~ be~ loaded. } + \ctex_deprecated_option:n { `hyperref'~package~will~be~loaded. } \ctex_at_end:n { \cs_if_exist:NF \hypersetup @@ -352,47 +328,63 @@ #1 .value_forbidden:n = true , } } -\use:x { \keys_define:nn { ctex / option } { \exp_not:o { \l__ctex_tmp_tl } } } +\exp_args:No \ctex_define_option:n { \l__ctex_tmp_tl } \tl_clear:N \l__ctex_tmp_tl -\keys_define:nn { ctex / option } +\ctex_define_option:n { unknown .code:n = { \clist_gput_right:No \g__ctex_std_options_clist { \CurrentOption } } } \ctex_file_input:n { ctexopts.cfg } \ProcessKeysOptions { ctex / option } -\if_case:w \g__ctex_font_size_int - \clist_gput_right:Nn \g__ctex_std_options_clist { 10pt } -\or: - \clist_gput_right:Nn \g__ctex_std_options_clist { 12pt } -\fi: +\msg_new:nnn { ctex } { pdftex-utf8 } + { UTF8~will~be~used~as~the~default~encoding. } +\tl_if_empty:NT \g__ctex_encoding_tl + { + \sys_if_engine_pdftex:T + { \msg_warning:nn { ctex } { pdftex-utf8 } } + \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } + } +\int_case:nn { \g__ctex_font_size_int } + { + { 0 } { \clist_gput_right:Nn \g__ctex_std_options_clist { 10pt } } + { 1 } { \clist_gput_right:Nn \g__ctex_std_options_clist { 12pt } } + } \tl_const:Nn \c__ctex_class_tl { article } \PassOptionsToClass { \g__ctex_std_options_clist } { article } \LoadClass { article } \@ifpackageloaded { hyperref } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \hypersetup {#1} } } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \PassOptionsToPackage {#1} { hyperref } } } \ctex_file_input:n { \c__ctex_engine_file_str } -\NewDocumentCommand \ctexset { } { \keys_set:nn { ctex } } -\NewDocumentCommand \CTEXsetup { +o > { \TrimSpaces } m } +\NewDocumentCommand \ctexset { } { \ctex_set:n } +\NewDocumentCommand \CTEXsetup { +O { } > { \TrimSpaces } m } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXsetup } - { \ctexset~ {~ #2~ =~ {~ #1~ }~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex / #2 } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXsetup { } } + { + \ctex_deprecated_command:Nn \CTEXsetup + { \ctexset {~#2~=~{~#1~}~}~is~set. } + \ctex_set:nn {#2} {#1} + } } -\NewDocumentCommand \CTEXoptions { +o } +\NewDocumentCommand \CTEXoptions { +O { } } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXoptions } - { \ctexset~ {~ #1~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXoptions { } } + { + \ctex_deprecated_command:Nn \CTEXoptions + { \ctexset {~#1~}~is~set. } + \ctex_set:n {#1} + } } -\keys_define:nn { ctex } +\ctex_define:n { autoindent .choice: , autoindent .default:n = { true } , @@ -410,9 +402,9 @@ } } \NewDocumentCommand \CTEXsetfont { } { \ctex_select_size: } -\cs_new_protected_nopar:Npn \ctex_select_size: +\cs_new_protected:Npn \ctex_select_size: { \cs_if_free:NTF \size@update { \ctex_update_size: } { \selectfont } } -\cs_new_protected_nopar:Npn \ctex_update_size: +\cs_new_protected:Npn \ctex_update_size: { \tl_if_eq:NNTF \l__ctex_ziju_tl \c__ctex_zero_tl { @@ -426,7 +418,7 @@ \tl_set_eq:NN \l__ctex_ziju_tl \c__ctex_zero_tl \ctex_add_to_selectfont:n { \cs_if_free:NF \size@update { \ctex_update_size: } } -\keys_define:nn { ctex } +\ctex_define:n { linestretch .code:n = { @@ -437,7 +429,7 @@ } \tl_new:N \l__ctex_line_stretch_tl \tl_set:Nn \l__ctex_line_stretch_tl { \ccwd } -\cs_new_protected_nopar:Npn \ctex_update_stretch: +\cs_new_protected:Npn \ctex_update_stretch: { \ctex_update_em_unit: \dim_set:Nn \l__ctex_tmp_dim { \l__ctex_line_stretch_tl } @@ -472,7 +464,7 @@ \ctex_update_ccglue: } } -\cs_new_protected_nopar:Npn \ctex_update_parindent: +\cs_new_protected:Npn \ctex_update_parindent: { \tl_if_empty:NF \l__ctex_autoindent_tl { @@ -482,12 +474,12 @@ } \NewDocumentCommand \ziju { m } { \exp_args:Nx \ctex_ziju:n {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_ziju:n #1 +\cs_new_protected:Npn \ctex_ziju:n #1 { \tl_set:Nx \l__ctex_ziju_tl { \fp_eval:n {#1} } \ctex_select_size: } -\cs_new_protected_nopar:Npn \ctex_update_ziju: +\cs_new_protected:Npn \ctex_update_ziju: { \ctex_update_em_unit: \dim_set:Nn \l__ctex_ziju_dim { \l__ctex_ziju_tl \ccwd } @@ -519,19 +511,20 @@ \dim_new:N \l__ctex_ziju_dim \NewDocumentCommand \CTEXindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXindent } - { \parindent is~ set~ to~ 2\ccwd. } - \ctex_update_ccwd: \dim_set:Nn \parindent { 2 \ccwd } + \ctex_deprecated_command:Nn \CTEXindent + { \parindent is~set~to~2\ccwd. } + \ctex_update_ccwd: + \dim_set:Nn \parindent { 2 \ccwd } } \NewDocumentCommand \CTEXnoindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXnoindent } - { \parindent is~ set~ to~ 0pt. } + \ctex_deprecated_command:Nn \CTEXnoindent + { \parindent is~set~to~0pt. } \dim_zero:N \parindent } -\PassOptionsToPackage { encoding = \l__ctex_encoding_tl } { zhnumber } +\PassOptionsToPackage { encoding = \g__ctex_encoding_tl } { zhnumber } \RequirePackage { zhnumber } -\cs_new_nopar:Npn \chinese { \zhnum_counter:n } +\cs_new:Npn \chinese { \zhnum_counter:n } \cs_new_eq:NN \@chinese \@zhnum \cs_new_eq:NN \Chinese \chinese \cs_new_eq:NN \CTEXcounter \use_none:n @@ -549,7 +542,7 @@ \NewDocumentCommand \CTEXdigits { m m } { \protected@edef #1 { \zhdigits {#2} } } \cs_set_eq:NN \CTEX@todayold \today -\keys_define:nn { ctex } +\ctex_define:n { today .choice: , today / old .code:n = @@ -575,7 +568,7 @@ \tl_new:N \proofname \tl_set:Nn \proofname { Proof } } -\keys_define:nn { ctex } +\ctex_define:n { contentsname .tl_set:N = \contentsname , listfigurename .tl_set:N = \listfigurename , @@ -593,7 +586,7 @@ \seq_new:N \c__ctex_headings_seq \seq_gset_eq:NN \c__ctex_headings_seq \c__ctex_section_headings_seq \seq_gput_left:Nn \c__ctex_headings_seq { part } -\cs_new_protected_nopar:Npn \__ctex_initial_heading:n #1 +\cs_new_protected:Npn \__ctex_initial_heading:n #1 { \tl_new:c { CTEX@pre#1 } \tl_new:c { CTEX@post#1 } @@ -623,7 +616,7 @@ \group_end: } } -\cs_new_protected_nopar:Npn \__ctex_def_heading_keys:n #1 +\cs_new_protected:Npn \__ctex_def_heading_keys:n #1 { \tl_put_right:Nx \l__ctex_tmp_tl { @@ -647,11 +640,8 @@ #1 / hang .bool_set:N = \exp_not:c { CTEX@#1@hang } , #1 / hang .initial:n = true , #1 / runin .bool_set:N = \exp_not:c { CTEX@#1@runin } , - #1 / tocline .code:n = - { - \cs_set:Npn \exp_not:c { CTEX@#1@tocline} - \exp_not:n { ####1####2 } { ####1 } - } , + #1 / tocline .cs_set:Np = \exp_not:c { CTEX@#1@tocline} + \exp_not:n { ##1##2 } , \__ctex_plus_key_aux:nn {#1} { break } , \__ctex_plus_key_aux:nn {#1} { format } , \__ctex_plus_key_aux:nn {#1} { nameformat } , @@ -661,7 +651,7 @@ \__ctex_plus_key_aux:nn {#1} { aftertitle } , } } -\cs_new_nopar:Npn \__ctex_plus_key_aux:nn #1#2 +\cs_new:Npn \__ctex_plus_key_aux:nn #1#2 { #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , #1 / #2 + .code:n = @@ -675,7 +665,7 @@ \cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3 { \tl_set:cn { CTEX@pre#1 } {#2} - \IfNoValueTF {#3} + \tl_if_novalue:nTF {#3} { \tl_clear:c { CTEX@post#1 } } { \tl_set:cn { CTEX@post#1 } {#3} } } @@ -686,45 +676,57 @@ \__ctex_initial_heading:n {#1} \__ctex_def_heading_keys:n {#1} } -\use:x +\exp_args:NNo \group_end: \ctex_define:n { \l__ctex_tmp_tl } +\cs_new_protected:Npn \CTEX@heading@format@initial { - \group_end: - \keys_define:nn { ctex } { \exp_not:o { \l__ctex_tmp_tl } } + \normalfont + \tl_clear:N \l__ctex_autoindent_tl + \int_set:Nn \tex_interlinepenalty:D { 10 000 } + \tex_noindent:D + } +\cs_new_protected:Npn \ctex_indent_box:n #1 + { + \dim_set:Nn \tex_parindent:D {#1} + \__ctex_insert_indent: + } +\cs_new_protected:Npn \__ctex_insert_indent: + { + \dim_compare:nNnF \tex_parindent:D = \c_zero_dim + { \tex_indent:D } } -\cs_new_protected_nopar:Npn \CTEX@fixheadingskip +\cs_new_eq:NN \CTEX@indentbox \ctex_indent_box:n +\cs_new_protected:Npn \CTEX@fixheadingskip { \par \dim_set:Nn \tex_prevdepth:D { -1000pt } \skip_sub:Nn \l__ctex_heading_skip { \tex_parskip:D } } \skip_new:N \l__ctex_heading_skip -\cs_new_protected_nopar:Npn \CTEX@setheadingskip +\cs_new_protected:Npn \CTEX@setheadingskip { \skip_set:Nn \l__ctex_heading_skip } \cs_new_eq:NN \CTEX@headingskip \l__ctex_heading_skip \ProvideDocumentCommand \partmark { m } { \markboth { } { } } \cs_new_eq:NN \CTEXifname \use_ii:nn -\cs_new_protected_nopar:Npn \CTEX@ifnametrue +\cs_new_protected:Npn \CTEX@ifnametrue { \cs_set_eq:NN \CTEXifname \use_i:nn } -\cs_new_protected_nopar:Npn \CTEX@ifnamefalse +\cs_new_protected:Npn \CTEX@ifnamefalse { \cs_set_eq:NN \CTEXifname \use_ii:nn } \cs_new_protected:Npn \CTEX@addtocline #1#2 { \addcontentsline { toc } {#1} { \use:c { CTEX@#1@tocline } {#1} {#2} } } -\cs_new_protected_nopar:Npn \CTEX@disableautoindent - { \tl_clear:N \l__ctex_autoindent_tl } \renewcommand\part{% - \if@noskipsec \leavevmode \fi - \par - \CTEX@part@break - \CTEX@setheadingskip \CTEX@part@beforeskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \addvspace \CTEX@headingskip - \ifodd \CTEX@part@afterindent - \@afterindenttrue - \else - \@afterindentfalse - \fi - \secdef\@part\@spart} + \if@noskipsec \leavevmode \fi + \par + \CTEX@part@break + \CTEX@setheadingskip \CTEX@part@beforeskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \addvspace \CTEX@headingskip + \ifodd \CTEX@part@afterindent + \@afterindenttrue + \else + \@afterindentfalse + \fi + \secdef\@part\@spart} \def\@part[#1]#2{% \ifnum \c@secnumdepth >\m@ne \ifodd \CTEX@part@numbering @@ -740,34 +742,36 @@ \fi \CTEX@gettitle{#1}% \CTEX@addtocline{part}{#1}% - {\interlinepenalty \@M - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}% - {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% - \CTEX@part@titleformat{#2}% - \partmark{#1}% - \CTEX@part@aftertitle}% + \partmark{#1}% + \begingroup + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}% + {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% + \CTEX@part@titleformat{#2}% + \CTEX@part@aftertitle}\par + \endgroup \nobreak \CTEX@setheadingskip \CTEX@part@afterskip \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi \vskip \CTEX@headingskip \@afterheading} \def\@spart#1{% - \CTEX@ifnamefalse - \CTEX@makeanchor@spart{part*}% - \CTEX@gettitle{#1}% - {\interlinepenalty \@M - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}{}% - \CTEX@part@titleformat{#1}% - \CTEX@part@aftertitle}% - \nobreak - \CTEX@setheadingskip \CTEX@part@afterskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \@afterheading} + \CTEX@ifnamefalse + \CTEX@makeanchor@spart{part*}% + \CTEX@gettitle{#1}% + \begingroup + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}{}% + \CTEX@part@titleformat{#1}% + \CTEX@part@aftertitle}\par + \endgroup + \nobreak + \CTEX@setheadingskip \CTEX@part@afterskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \@afterheading} \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par @@ -810,22 +814,22 @@ \CTEX@gettitle{#7}% \unless \ifodd \CTEX@runin \begingroup + \CTEX@heading@format@initial #6{% - \CTEX@hangfrom{\hskip\glueexpr #3\relax\@svsec}% - \interlinepenalty \@M + \CTEX@sectionhang{#3}{\@svsec}% \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% + \csname CTEX@#1@aftertitle\endcsname}\par \endgroup \csname #1mark\endcsname{#7}% \CTEX@addtocline{#1}{#7}% \else \def\@svsechd{% - #6{\hskip\glueexpr #3\relax - \@svsec - \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% - \csname #1mark\endcsname{#7}% - \CTEX@addtocline{#1}{#7}}% + #6{% + {\CTEX@indentbox{#3}}\@svsec + \csname CTEX@#1@titleformat\endcsname{#8}% + \csname CTEX@#1@aftertitle\endcsname}% + \csname #1mark\endcsname{#7}% + \CTEX@addtocline{#1}{#7}}% \fi \@xsect{#5}} \def\@ssect#1#2#3#4#5{% @@ -833,15 +837,15 @@ \CTEX@gettitle{#5}% \unless \ifodd \CTEX@runin \begingroup + \CTEX@heading@format@initial #4{% - \CTEX@hangfrom{\hskip\glueexpr #1\relax}% - \interlinepenalty \@M + \CTEX@sectionhang{#1}{}% \CTEX@titleformat@n{#5}% - \CTEX@aftertitle}% + \CTEX@aftertitle}\par \endgroup \else - \def\@svsechd{#4{\hskip\glueexpr #1\relax - \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% + \def\@svsechd{#4{{\CTEX@indentbox{#1}}% + \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% \fi \@xsect{#3}} \def\@xsect#1{% @@ -861,32 +865,47 @@ \clubpenalty\@M \begingroup \@svsechd \endgroup \unskip - \hskip\glueexpr #1\relax + \CTEX@heading@glue{#1}% \else \clubpenalty \@clubpenalty \everypar{}% \fi}% \fi \ignorespaces} -\cs_new_protected:Npn \CTEX@hangindent #1#2 +\cs_new_protected:Npn \CTEX@headinghang #1 { - \dim_set:Nn \parindent { \use:c { CTEX@#1@indent } } - \bool_if:cTF { CTEX@#1@hang } - { \@hangfrom { \__ctex_indent_aux: #2 } } - {#2} + \ctex_heading_hang:cnn + { CTEX@#1@hang } + { \use:c { CTEX@#1@indent } } } -\cs_new_protected_nopar:Npn \__ctex_indent_aux: +\cs_new_protected:Npn \CTEX@sectionhang + { \ctex_heading_hang:Nnn \CTEX@hang } +\cs_new_protected:Npn \ctex_heading_hang:Nnn #1#2#3 { - \dim_compare:nNnF \parindent = \c_zero_dim - { \skip_horizontal:n { \parindent } } + \dim_set:Nn \tex_parindent:D {#2} + \bool_if:NTF #1 + { \ctex_hang_from:n } + { \use:n } + { \__ctex_insert_indent: #3 } + } +\cs_new_protected:Npn \ctex_hang_from:n #1 + { + \tex_noindent:D + \hbox_set:Nn \l__ctex_tmp_box {#1} + \tex_hangindent:D = \box_wd:N \l__ctex_tmp_box + \box_use_drop:N \l__ctex_tmp_box } -\cs_new_protected_nopar:Npn \CTEX@hangfrom +\cs_generate_variant:Nn \ctex_heading_hang:Nnn { c } +\cs_new_protected:Npn \ctex_heading_glue:n #1 { - \bool_if:NTF \CTEX@hang - { \@hangfrom } - { \noindent \use:n } + \group_begin: + \skip_set:Nn \l__ctex_heading_skip {#1} + \dim_compare:nNnF \l__ctex_heading_skip = \c_zero_dim + { \skip_horizontal:N \l__ctex_heading_skip } + \group_end: } -\cs_new_protected_nopar:Npn \CTEX@update@sectionformat@n #1 +\cs_new_eq:NN \CTEX@heading@glue \ctex_heading_glue:n +\cs_new_protected:Npn \CTEX@update@sectionformat@n #1 { \cs_set_eq:Nc \CTEX@titleformat@n { CTEX@#1@titleformat } \cs_set_eq:Nc \CTEX@aftertitle { CTEX@#1@aftertitle } @@ -908,7 +927,7 @@ { } #2 } -\cs_new_nopar:Npn \CTEXnumberline #1 +\cs_new:Npn \CTEXnumberline #1 { \CTEXifname { \protect \numberline { \use:c { CTEXthe #1 } } } @@ -918,7 +937,7 @@ \seq_map_inline:Nn \c__ctex_section_headings_seq { \int_incr:N \l__ctex_tmp_int - \cs_gset_protected_nopar:cpx {#1} + \cs_gset_protected:cpx {#1} { \exp_not:N \@startsection {#1} { \int_use:N \l__ctex_tmp_int } @@ -930,7 +949,7 @@ \cs_new:cpn { CTEX@#1@tocline } ##1##2 { \CTEXnumberline { ##1 } ##2 } } -\keys_define:nn { ctex } +\ctex_define:n { appendix .meta:nn = { ctex / appendix } {#1} , appendix / name .code:n = @@ -942,7 +961,7 @@ \tl_new:N \CTEX@preappendix \tl_new:N \CTEX@postappendix \cs_new_eq:NN \CTEX@save@appendix \appendix -\cs_gset_protected_nopar:Npn \appendix +\cs_gset_protected:Npn \appendix { \CTEX@save@appendix \gdef \CTEX@presection { \CTEX@preappendix } @@ -950,7 +969,7 @@ \gdef \CTEX@postsection { \CTEX@postappendix } \gdef \CTEX@section@numbering { \CTEX@appendix@numbering } } -\cs_new_protected_nopar:Npn \CTEX@makeanchor #1 +\cs_new_protected:Npn \CTEX@makeanchor #1 { } \seq_const_from_clist:Nn \c__ctex_headings_cs_seq { part , spart , sect , ssect } @@ -959,7 +978,7 @@ \cs_new_eq:cc { CTEX@ #1 } { @ #1 } \cs_new_eq:cN { CTEX@makeanchor@ #1 } \CTEX@makeanchor } -\cs_new_protected_nopar:Npn \CTEX@hyperheadinghook +\cs_new_protected:Npn \CTEX@hyperheadinghook { \group_begin: \ifHy@implicit @@ -980,7 +999,7 @@ } \ctex_at_end_package:nn { hyperref } { - \cs_gset_protected_nopar:Npn \CTEX@makeanchor #1 + \cs_gset_protected:Npn \CTEX@makeanchor #1 { \Hy@MakeCurrentHrefAuto {#1} \Hy@raisedlink @@ -995,14 +1014,14 @@ { } \ctex_at_end_package:nn { nameref } { - \cs_gset_protected_nopar:Npn \CTEX@gettitle { \NR@gettitle } + \cs_gset_protected:Npn \CTEX@gettitle { \NR@gettitle } \seq_map_inline:Nn \c__ctex_headings_cs_seq { \cs_if_eq:ccT { NR@ #1 } { CTEX@ #1 } { \cs_gset_eq:cc { @ #1 } { CTEX@ #1 } } } } -\cs_new_protected_nopar:Npn \ctex_titlesec_hook: +\cs_new_protected:Npn \ctex_titlesec_hook: { \@ifpackagewith { titlesec } { explicit } { @@ -1022,17 +1041,17 @@ } \seq_map_function:NN \c__ctex_section_headings_seq \__ctex_titlesec_hook:n } -\cs_new_protected_nopar:Npn \__ctex_titlesec_hook:n #1 +\cs_new_protected:Npn \__ctex_titlesec_hook:n #1 { \__ctex_titlesec_format:n {#1} \exp_args:Nc \__ctex_titlesec_spacing:Nn { ttls@#1 } {#1} } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format:n #1 +\cs_new_protected:Npn \__ctex_titlesec_format:n #1 { \cs_if_free:cF { ttlf@#1 } { \exp_args:Nc \__ctex_titlesec_format:Nn { ttlf@#1 } {#1} } } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format:Nn #1#2 +\cs_new_protected:Npn \__ctex_titlesec_format:Nn #1#2 { \tl_set:Nx #1 { @@ -1042,7 +1061,7 @@ \tl_tail:N #1 } } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format_explicit:Nn #1#2 +\cs_new_protected:Npn \__ctex_titlesec_format_explicit:Nn #1#2 { \cs_set_nopar:Npx #1 ##1 { @@ -1052,7 +1071,7 @@ \exp_args:No \tl_tail:n { #1 { } } } } -\cs_new_protected_nopar:Npn \__ctex_titlesec_spacing:Nn #1#2 +\cs_new_protected:Npn \__ctex_titlesec_spacing:Nn #1#2 { \tl_set:Nx #1 { \exp_after:wN \__ctex_titlesec_spacing:nnnnnn #1 {#2} } } \cs_new:Npn \__ctex_titlesec_spacing:nnnnnn #1#2#3#4#5#6 { @@ -1073,14 +1092,14 @@ { \cs_if_free:NF \ttl@tocpart { - \cs_set_protected_nopar:Npn \ttl@tocpart + \cs_set_protected:Npn \ttl@tocpart { \tl_set:Nn \ttl@a { \CTEXthepart \hspace { 1em } } } } \seq_map_inline:Nn \c__ctex_headings_seq { \cs_if_exist:cF { ttl@toc #1 } { - \cs_new_protected_nopar:cpx { ttl@toc #1 } + \cs_new_protected:cpx { ttl@toc #1 } { \tl_set:Nn \exp_not:N \ttl@a { @@ -1093,7 +1112,7 @@ } \group_begin: \char_set_catcode_other:N \# -\cs_new_protected_nopar:Npn \ctex_titleps_hook: +\cs_new_protected:Npn \ctex_titleps_hook: { \ctex_patch_cmd:Nnn \ttl@settopmark { \protect \@namedef { the#1 } { \@nameuse { the#1 } } } @@ -1115,12 +1134,12 @@ } } \group_end: -\cs_new_nopar:Npn \CTEX@titlepslabel@set #1 +\cs_new:Npn \CTEX@titlepslabel@set #1 { \cs_if_free:cF { CTEXthe#1 } { \protect \@namedef { CTEXthe#1 } { \@nameuse { CTEXthe#1 } } } } -\cs_new_nopar:Npn \CTEX@titlepslabel@clear #1 +\cs_new:Npn \CTEX@titlepslabel@clear #1 { \cs_if_free:cF { CTEXthe#1 } { \protect \@namedef { CTEXthe#1 } { } } @@ -1130,9 +1149,9 @@ \ctex_at_end_package:nn { titleps } { \ctex_titleps_hook: } \ctex_at_end_package:nn { titleps } { - \cs_set_protected_nopar:Npn \ttl@setifthe #1 + \cs_set_protected:Npn \ttl@setifthe #1 { - \exp_args:Nco \cs_set_nopar:Npn { ifthe #1 } + \exp_args:Nco \cs_set:Npn { ifthe #1 } { \CTEXifname { \protect \@firstoftwo } @@ -1159,19 +1178,24 @@ { \CTEX@toc@width@n {#1} } { } { \ctex_patch_failure:N \numberline } - \@ifpackageloaded { tocloft } - { } + \cs_new_protected:Npn \__ctex_patch_toc_width:n \c_parameter_token 1 { - \ctex_at_end_package:nn { tocloft } + \@ifpackageloaded { \c_parameter_token 1 } + { } { - \ctex_preto_cmd:NnnTF \numberline - { \char_set_catcode_letter:n { 64 } } - { \CTEX@toc@width@n {#1} } - { } - { \ctex_patch_failure:N \numberline } + \ctex_at_end_package:nn { \c_parameter_token 1 } + { + \ctex_preto_cmd:NnnTF \numberline + { \char_set_catcode_letter:n { 64 } } + { \CTEX@toc@width@n {#1} } + { } + { \ctex_patch_failure:N \numberline } + } } } } +\__ctex_patch_toc_width:n { tocloft } +\__ctex_patch_toc_width:n { titletoc } \if@twoside \ctex_patch_cmd:Nnn \ps@headings { \ifnum \c@secnumdepth > \z@ \thesection \quad \fi } @@ -1193,7 +1217,7 @@ { \ifnum \c@secnumdepth > \@ne \thesubsection \hskip 1em \relax \fi } { \CTEXifname { \CTEXthesubsection \quad } { } } } -\cs_new_protected_nopar:Npn \CTEX@setcurrentlabel@n #1 +\cs_new_protected:Npn \CTEX@setcurrentlabel@n #1 { \protected@edef \@currentlabel { @@ -1202,17 +1226,17 @@ { \exp_not:o { \@currentlabel } } } } -\cs_new_protected_nopar:Npn \ctex_varioref_hook: +\cs_new_protected:Npn \ctex_varioref_hook: { \seq_map_inline:Nn \c__ctex_headings_seq { \ctex_fix_varioref_label:n { ##1 } } } -\cs_new_protected_nopar:Npn \ctex_fix_varioref_label:n #1 +\cs_new_protected:Npn \ctex_fix_varioref_label:n #1 { \tl_if_empty:cT { p@#1 } - { \exp_args:Nno \labelformat {#1} { \cs:w CTEX@the#1 \cs_end: } } + { \exp_args:Nnx \labelformat {#1} { \exp_not:c { CTEX@the#1 } } } } -\@ifpackageloaded { varioref } +\cs_if_exist:NTF \labelformat { \ctex_varioref_hook: } { \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter @@ -1226,7 +1250,7 @@ \ctex_scheme_input:o { \l__ctex_scheme_tl } \NewDocumentCommand \zihao { m } { \exp_args:Nx \ctex_zihao:n {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_zihao:n #1 +\cs_new_protected:Npn \ctex_zihao:n #1 { \prop_get:NnNTF \c__ctex_font_size_prop {#1} \l__ctex_font_size_tl { \exp_after:wN \fontsize \l__ctex_font_size_tl \selectfont } @@ -1241,7 +1265,7 @@ } \prop_new:N \c__ctex_font_size_prop \seq_new:N \c__ctex_font_size_seq -\cs_new_protected_nopar:Npn \__ctex_save_font_size:nn #1#2 +\cs_new_protected:Npn \__ctex_save_font_size:nn #1#2 { \use:x { @@ -1273,12 +1297,12 @@ { 0 } { 42 bp } } { \__ctex_save_font_size:nn #1 } -\cs_new_protected_nopar:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 { \__ctex_get_font_sizes:Nn \l__ctex_font_size_tl { {#1} {#2} {#3} {#4} } \exp_after:wN \DeclareMathSizes \l__ctex_font_size_tl } -\cs_new_protected_nopar:Npn \__ctex_get_font_sizes:Nn #1#2 +\cs_new_protected:Npn \__ctex_get_font_sizes:Nn #1#2 { \tl_clear:N #1 \tl_map_inline:nn {#2} @@ -1315,13 +1339,13 @@ { \msg_error:nnn { ctex } { fontsize } {#2} } } \cs_new_protected:Npn \__ctex_set_font_size:nnNn #1#2#3#4 - { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } -\if_case:w \g__ctex_font_size_int - \ctex_file_input:n { ctex-c5size.clo } -\or: - \ctex_file_input:n { ctex-cs4size.clo } -\fi: -\fp_compare:nNnF { \l__ctex_line_spread_fp } ? { \c_zero_fp } + { \cs_set_protected:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } +\int_case:nn { \g__ctex_font_size_int } + { + { 0 } { \ctex_file_input:n { ctex-c5size.clo } } + { 1 } { \ctex_file_input:n { ctex-cs4size.clo } } + } +\fp_if_nan:nF { \l__ctex_line_spread_fp } { \exp_args:Nx \linespread { \fp_use:N \l__ctex_line_spread_fp } \group_begin: \footnotesize \exp_args:NNNo \group_end: @@ -1332,47 +1356,76 @@ { C \TeX } \ctex_at_end_package:nn { hyperref } { \pdfstringdefDisableCommands { \tl_set:Nn \CTeX { CTeX } } } -\keys_define:nn { ctex } +\ctex_define:n { captiondelimiter .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { You~can~load~the~package~`caption'~to~get~its~functionality. } } } -\cs_new_protected_nopar:Npn \ctex_fontset_error:n #1 +\cs_new_protected:Npn \ctex_fontset_error:n #1 { \msg_critical:nnn { ctex } { fontset-unavailable } {#1} } \msg_new:nnn { ctex } { fontset-unavailable } { CTeX~fontset~`#1'~is~unavailable~in~current~mode. } -\cs_new_protected_nopar:Npn \ctex_load_fontset: +\cs_new:Npx \ctex_fontset_case:nnn #1#2#3 { - \tl_if_empty:NTF \g__ctex_fontset_tl + \sys_if_engine_pdftex:TF + {#1} + { \sys_if_engine_uptex:TF {#2} {#3} } + } +\cs_new:Npx \ctex_fontset_case:nnnn #1#2#3#4 + { + \sys_if_engine_pdftex:TF + { \sys_if_output_pdf:TF {#1} {#2} } + { \sys_if_engine_uptex:TF {#3} {#4} } + } +\cs_new_protected:Npn \ctex_detect_platform: + { + \sys_if_platform_windows:TF + { \tl_gset:Nn \g__ctex_fontset_tl { windows } } { - \ctex_detected_platform: - \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } + \ctex_if_platform_macos:TF + { \tl_gset:Nn \g__ctex_fontset_tl { mac } } + { \tl_gset:Nn \g__ctex_fontset_tl { fandol } } } + } +\cs_new_protected:Npn \ctex_if_platform_macos:TF + { \file_if_exist:nTF { /System/Library/Fonts/Menlo.ttc } } +\cs_new_protected:Npn \ctex_load_fontset: + { + \tl_if_empty:NTF \g__ctex_fontset_tl + { \ctex_detect_platform: } { - \file_if_exist:nTF { ctex-fontset- \g__ctex_fontset_tl .def } - { \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } + \bool_lazy_or:nnTF + { \str_if_eq_p:on { \g__ctex_fontset_tl } { windowsnew } } + { \str_if_eq_p:on { \g__ctex_fontset_tl } { windowsold } } { - \use:x + \msg_warning:nnxx { ctex } { deprecated-fontset } + { \g__ctex_fontset_tl } { windows } + \tl_gset:Nn \g__ctex_fontset_tl { windows } + } + { + \file_if_exist:nF { ctex-fontset- \g__ctex_fontset_tl .def } { - \ctex_detected_platform: - \msg_error:nnxx { ctex } { fontset-not-found } - { \g__ctex_fontset_tl } { \exp_not:N \g__ctex_fontset_tl } + \use:x + { + \ctex_detect_platform: + \msg_error:nnxx { ctex } { fontset-not-found } + { \g__ctex_fontset_tl } { \exp_not:N \g__ctex_fontset_tl } + } } - \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } } + \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } -\@onlypreamble \ctex_load_fontset: +\msg_new:nnn { ctex } { deprecated-fontset } + { CTeX~fontset~`#1'~is~deprecated.\\ Fontset~`#2'~will~be~used~instead. } \msg_new:nnnn { ctex } { fontset-not-found } - { - CTeX~fontset~`#1'~could~not~be~found.\\ - Fontset~`#2'~will~be~used~instead. - } + { CTeX~fontset~`#1'~could~not~be~found.\\ Fontset~`#2'~will~be~used~instead. } { You~may~run~`mktexlsr'~firstly. } -\keys_define:nn { ctex } +\@onlypreamble \ctex_load_fontset: +\ctex_define:n { fontset .code:n = { @@ -1402,14 +1455,16 @@ } { Only~one~fontset~can~be~loaded~in~the~preamble. } \msg_new:nnn { ctex } { fontset-only-preamble } - { - The~ `fontset'~ option~ can~ be~ used~ only~ in~ preamble. - } + { The~`fontset'~option~can~be~used~only~in~preamble. } \str_if_eq:onF { \g__ctex_fontset_tl } { none } { \ctex_load_fontset: } \ctex_at_end:n { \ctex_file_input:n { ctex.cfg } } %% -%% This package consists of the file ctex.dtx, +%% This package consists of the files ctex.dtx, +%% ctxdoc.cls, +%% ctxdocstrip.tex, +%% ctex-zhconv.lua, +%% ctex-zhconv-make.lua, %% and the derived files ctex.pdf, %% ctex.ins, %% ctex.sty, @@ -1419,16 +1474,15 @@ %% ctexbook.cls, %% ctexrep.cls, %% ctexbeamer.cls, -%% ctxdoc.cls, %% ctexcap.sty, %% ctexhook.sty, %% ctexpatch.sty, %% ctex-c5size.clo, %% ctex-cs4size.clo, -%% ctex-article.def, -%% ctex-book.def, -%% ctex-report.def, -%% ctex-beamer.def, +%% ctex-heading-article.def, +%% ctex-heading-book.def, +%% ctex-heading-report.def, +%% ctex-heading-beamer.def, %% ctex-scheme-plain.def, %% ctex-scheme-plain-article.def, %% ctex-scheme-plain-book.def, @@ -1443,6 +1497,7 @@ %% ctex-name-utf8.cfg, %% ctex.cfg, %% ctexopts.cfg, +%% ctexbackend.cfg, %% ctex-engine-pdftex.def, %% ctex-engine-xetex.def, %% ctex-engine-luatex.def, @@ -1460,26 +1515,25 @@ %% jt2zhrm.fd, %% jt2zhsf.fd, %% jt2zhtt.fd, -%% ctex-fontset-windows.def, -%% ctex-fontset-windowsnew.def, -%% ctex-fontset-windowsold.def, %% ctex-fontset-adobe.def, %% ctex-fontset-fandol.def, +%% ctex-fontset-founder.def, %% ctex-fontset-mac.def, %% ctex-fontset-macnew.def, %% ctex-fontset-macold.def, -%% ctex-fontset-founder.def, %% ctex-fontset-ubuntu.def, +%% ctex-fontset-windows.def, %% ctexspa.def, %% ctexpunct.spa, %% ctexmakespa.tex, %% ctexspamacro.tex, -%% ctxdocstrip.tex, %% zhadobefonts.tex, %% zhfandolfonts.tex, %% zhfounderfonts.tex, +%% zhmacfonts.tex, %% zhubuntufonts.tex, %% zhwindowsfonts.tex, +%% ctex-zhconv-index.lua, %% translator-theorem-dictionary-ChineseGBK.dict, %% translator-theorem-dictionary-ChineseUTF8.dict, and %% README.md. diff --git a/Master/texmf-dist/tex/latex/ctex/ctexbeamer.cls b/Master/texmf-dist/tex/latex/ctex/ctexbeamer.cls index f09212611a6..e6a6a8df7f3 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexbeamer.cls +++ b/Master/texmf-dist/tex/latex/ctex/ctexbeamer.cls @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `class,beamer') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,18 +20,17 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \NeedsTeXFormat{LaTeX2e} +\input{ctexbackend.cfg} \RequirePackage{expl3} -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Chinese adapter for class beamer (CTEX)} \ProvidesExplClass{ctexbeamer} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \tl_const:Nx \c__ctex_version_tl { \cs_if_exist_use:cF { ver@ \@currname . \@currext } { 9999/99/99 } } \cs_new_eq:cN { ver@ctex. \@pkgextension } \c__ctex_version_tl @@ -42,11 +41,11 @@ \msg_new:nnnn { ctex } { l3-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~bundles\\\\ + Please~update~an~up-to-date~version~of~the~bundles\\\\ `l3kernel'~and~`l3packages'\\\\ using~your~TeX~package~manager~or~from~CTAN. } -\@ifpackagelater { expl3 } { 2019/03/05 } { } +\@ifpackagelater { expl3 } { 2020/04/06 } { } { \msg_error:nnn { ctex } { l3-too-old } { expl3 } } \@ifpackagelater { l3keys2e } { 2015/12/20 } { } { \msg_error:nnn { ctex } { l3-too-old } { l3keys2e } } @@ -62,11 +61,20 @@ } { \msg_critical:nnx { ctex } { engine-not-supported } { \c__ctex_engine_str } } \RequirePackage { ctexhook , ctexpatch } -\RequirePackage { fix-cm , everysel } +\RequirePackage { fix-cm } +\RequirePackage { everysel } \tl_clear_new:N \l__ctex_tmp_tl \int_new:N \l__ctex_tmp_int \box_new:N \l__ctex_tmp_box \dim_new:N \l__ctex_tmp_dim +\cs_new_protected:Npn \ctex_define_option:n + { \keys_define:nn { ctex / option } } +\cs_new_protected:Npn \ctex_define:n + { \keys_define:nn { ctex } } +\cs_new_protected:Npn \ctex_set:n + { \keys_set:nn { ctex } } +\cs_new_protected:Npn \ctex_set:nn #1 + { \keys_set:nn { ctex / #1 } } \cs_new_protected:Npn \ctex_file_wrapper:nnn #1#2#3 { \use:x @@ -82,9 +90,9 @@ #3 } } -\cs_new_protected_nopar:Npn \ctex_file_input:n #1 +\cs_new_protected:Npn \ctex_file_input:n #1 { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } } -\cs_new_protected_nopar:Npn \ctex_scheme_input:n #1 +\cs_new_protected:Npn \ctex_scheme_input:n #1 { \ctex_file_wrapper:nnn { } @@ -102,7 +110,7 @@ \msg_new:nnnn { ctex } { package-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~package~`#1'\\ + Please~update~an~up-to-date~version~of~the~package~`#1'\\ using~your~TeX~package~manager~or~from~CTAN. } \sys_if_output_pdf:TF @@ -121,46 +129,44 @@ \exp_last_unbraced:NNNNo \cs_new:Npn \__ctex_default_ccwd_aux:w #1 { \tl_to_str:n { pt } } #2 \q_stop { \tl_if_empty:nT {#2} { \ccwd } } -\tl_new:N \l__ctex_encoding_tl -\tl_set:Nx \l__ctex_encoding_tl - { \sys_if_engine_pdftex:TF { GBK } { UTF8 } } +\tl_new:N \g__ctex_encoding_tl \bool_new:N \g__ctex_zhmCJK_bool \tl_new:N \l__ctex_autoindent_tl \cs_new_eq:NN \ctex_if_autoindent_touched:F \use:n \cs_new_eq:NN \ctex_zhmap_case:nnn \use_ii:nnn -\cs_new_protected_nopar:Npn \ctex_at_end:n { \AtEndOfClass } +\cs_new_protected:Npn \ctex_at_end:n { \AtEndOfClass } \clist_new:N \g__ctex_std_options_clist \msg_new:nnn { ctex } { invalid-option } { Option~`\l_keys_key_tl'~is~invalid~in~current~mode. } \msg_new:nnn { ctex } { invalid-value } { Value~`#1'~is~invalid~for~the~key~`\l_keys_key_tl'. } +\cs_new_protected:Npn \ctex_deprecated_option:n + { \msg_warning:nnn { ctex } { deprecated-option } } +\cs_new_protected:Npn \ctex_set_deprecated_option:n #1 + { + \ctex_deprecated_option:n { Option~`#1'~is~set. } + \ctex_set:nn { option } {#1} + } +\cs_new_protected:Npn \ctex_deprecated_command:Nn #1#2 + { + \msg_warning:nnxx { ctex } { deprecated-command } + { \token_to_str:N #1 } { \exp_not:n {#2} } + } \msg_new:nnn { ctex } { deprecated-option } - { Option~ `\l_keys_key_tl'~ is~ deprecated.\\ #1 } + { Option~`\l_keys_key_tl'~is~deprecated.\\ #1 } \msg_new:nnn { ctex } { deprecated-command } - { Command~ #1 is~ deprecated.\\ #2 } -\msg_new:nnn { ctex } { deprecated-environment } - { Environment~ `#1'~ is~ deprecated.\\ #2 } + { Command~`#1'~is~deprecated.\\ #2 } \int_new:N \g__ctex_font_size_int -\int_set:Nn \g__ctex_font_size_int { -1 } -\keys_define:nn { ctex / option } +\int_gset:Nn \g__ctex_font_size_int { -1 } +\ctex_define_option:n { zihao .choice: , zihao .value_required:n = true , zihao / 5 .code:n = { \int_gset:Nn \g__ctex_font_size_int { 0 } } , zihao / -4 .code:n = { \int_gset:Nn \g__ctex_font_size_int { 1 } } , zihao / false .code:n = { \int_gset:Nn \g__ctex_font_size_int { 2 } } , - c5size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=5'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = 5 } - } , - cs4size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=-4'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = -4 } - } , + c5size .code:n = { \ctex_set_deprecated_option:n { zihao = 5 } } , + cs4size .code:n = { \ctex_set_deprecated_option:n { zihao = -4 } } , c5size .value_forbidden:n = true , cs4size .value_forbidden:n = true , linespread .fp_set:N = \l__ctex_line_spread_fp , @@ -185,56 +191,38 @@ } , indent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options.~ + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , indent .value_forbidden:n = true , noindent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options. + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , noindent .value_forbidden:n = true , - GBK .code:n = { \tl_set:Nn \l__ctex_encoding_tl { GBK } } , - UTF8 .code:n = { \tl_set:Nn \l__ctex_encoding_tl { UTF8 } } , - GBK .value_forbidden:n = true , - UTF8 .value_forbidden:n = true , - fontset .tl_gset:N = \g__ctex_fontset_tl , - nofonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=none'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = none } - } , - adobefonts .code:n = + GBK .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \sys_if_engine_pdftex:TF + { \tl_gset:Nn \g__ctex_encoding_tl { GBK } } { - Option~ `fontset=adobe'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. + \msg_warning:nn { ctex } { invalid-option } + \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } } - \keys_set:nn { ctex / option } { fontset = adobe } - } , - winfonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=windows'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = windows } } , + UTF8 .code:n = { \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } } , + GBK .value_forbidden:n = true , + UTF8 .value_forbidden:n = true , + fontset .tl_gset:N = \g__ctex_fontset_tl , + nofonts .code:n = { \ctex_set_deprecated_option:n { fontset = none } } , + adobefonts .code:n = { \ctex_set_deprecated_option:n { fontset = adobe } } , + winfonts .code:n = { \ctex_set_deprecated_option:n { fontset = windows } } , nofonts .value_forbidden:n = true , winfonts .value_forbidden:n = true , adobefonts .value_forbidden:n = true , @@ -256,69 +244,57 @@ \cs_gset_eq:NN \ctex_zhmap_case:nnn \use_iii:nnn } , nozhmap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zhmap=false'~ is~ set. } - \keys_set:nn { ctex / option } { zhmap = false } - } , + { \ctex_set_deprecated_option:n { zhmap = false } } , nozhmap .value_forbidden:n = true , punct .tl_set:N = \l__ctex_punct_tl , punct .default:n = { quanjiao } , punct .initial:n = { quanjiao } , - nopunct .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `punct=plain'~ is~ set. } - \keys_set:nn { ctex / option } { punct = plain } - } , + nopunct .code:n = \ctex_set_deprecated_option:n { punct = plain } , nopunct .value_forbidden:n = true , space .choices:nn = { true , auto , false } { \exp_args:Nx \ctex_at_end:n - { \keys_set:nn { ctex } { space = \l_keys_choice_tl } } + { \ctex_set:n { space = \l_keys_choice_tl } } } , space .default:n = { true } , - nospace .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `space=false'~ is~ set. } - \keys_set:nn { ctex / option } { space = false } - } , + nospace .code:n = { \ctex_deprecated_option:nn { space = false } } , nospace .value_forbidden:n = true , heading .bool_set:N = \l__ctex_heading_bool , scheme .tl_set:N = \l__ctex_scheme_tl , scheme .default:n = { chinese } , scheme .initial:n = { chinese } , - cap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = chinese' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = chinese } - } , - nocap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = plain' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = plain } - } , + cap .code:n = { \ctex_set_deprecated_option:n { scheme = chinese } } , + nocap .code:n = { \ctex_set_deprecated_option:n { scheme = plain } } , cap .value_forbidden:n = true , nocap .value_forbidden:n = true , - fntef .code:n = + fntef .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `(xe)CJKfntef'~ package~ is~ always~ loaded. } + \sys_if_engine_xetex:TF + { + \ctex_deprecated_option:n { `xeCJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { xeCJKfntef } } + } + { + \sys_if_engine_pdftex:TF + { + \ctex_deprecated_option:n { `CJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { CJKfntef } } + } + { + \ctex_deprecated_option:n + { Furthermore,~option~`fntef'~is~invalid~in~current~mode. } + } + } } , fancyhdr .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `fancyhdr'~ package~ is~ loaded. } - \RequirePackage { fancyhdr } + \ctex_deprecated_option:n { `fancyhdr'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { fancyhdr } } } , hyperref .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `hyperref'~ package~ will~ be~ loaded. } + \ctex_deprecated_option:n { `hyperref'~package~will~be~loaded. } \ctex_at_end:n { \cs_if_exist:NF \hypersetup @@ -344,47 +320,63 @@ #1 .value_forbidden:n = true , } } -\use:x { \keys_define:nn { ctex / option } { \exp_not:o { \l__ctex_tmp_tl } } } +\exp_args:No \ctex_define_option:n { \l__ctex_tmp_tl } \tl_clear:N \l__ctex_tmp_tl -\keys_define:nn { ctex / option } +\ctex_define_option:n { unknown .code:n = { \clist_gput_right:No \g__ctex_std_options_clist { \CurrentOption } } } \ctex_file_input:n { ctexopts.cfg } \ProcessKeysOptions { ctex / option } -\if_case:w \g__ctex_font_size_int - \clist_gput_right:Nn \g__ctex_std_options_clist { 10pt } -\or: - \clist_gput_right:Nn \g__ctex_std_options_clist { 12pt } -\fi: +\msg_new:nnn { ctex } { pdftex-utf8 } + { UTF8~will~be~used~as~the~default~encoding. } +\tl_if_empty:NT \g__ctex_encoding_tl + { + \sys_if_engine_pdftex:T + { \msg_warning:nn { ctex } { pdftex-utf8 } } + \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } + } +\int_case:nn { \g__ctex_font_size_int } + { + { 0 } { \clist_gput_right:Nn \g__ctex_std_options_clist { 10pt } } + { 1 } { \clist_gput_right:Nn \g__ctex_std_options_clist { 12pt } } + } \tl_const:Nn \c__ctex_class_tl { beamer } \PassOptionsToClass { \g__ctex_std_options_clist } { beamer } \LoadClass { beamer } \@ifpackageloaded { hyperref } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \hypersetup {#1} } } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \PassOptionsToPackage {#1} { hyperref } } } \ctex_file_input:n { \c__ctex_engine_file_str } -\NewDocumentCommand \ctexset { } { \keys_set:nn { ctex } } -\NewDocumentCommand \CTEXsetup { +o > { \TrimSpaces } m } +\NewDocumentCommand \ctexset { } { \ctex_set:n } +\NewDocumentCommand \CTEXsetup { +O { } > { \TrimSpaces } m } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXsetup } - { \ctexset~ {~ #2~ =~ {~ #1~ }~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex / #2 } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXsetup { } } + { + \ctex_deprecated_command:Nn \CTEXsetup + { \ctexset {~#2~=~{~#1~}~}~is~set. } + \ctex_set:nn {#2} {#1} + } } -\NewDocumentCommand \CTEXoptions { +o } +\NewDocumentCommand \CTEXoptions { +O { } } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXoptions } - { \ctexset~ {~ #1~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXoptions { } } + { + \ctex_deprecated_command:Nn \CTEXoptions + { \ctexset {~#1~}~is~set. } + \ctex_set:n {#1} + } } -\keys_define:nn { ctex } +\ctex_define:n { autoindent .choice: , autoindent .default:n = { true } , @@ -402,9 +394,9 @@ } } \NewDocumentCommand \CTEXsetfont { } { \ctex_select_size: } -\cs_new_protected_nopar:Npn \ctex_select_size: +\cs_new_protected:Npn \ctex_select_size: { \cs_if_free:NTF \size@update { \ctex_update_size: } { \selectfont } } -\cs_new_protected_nopar:Npn \ctex_update_size: +\cs_new_protected:Npn \ctex_update_size: { \tl_if_eq:NNTF \l__ctex_ziju_tl \c__ctex_zero_tl { @@ -418,7 +410,7 @@ \tl_set_eq:NN \l__ctex_ziju_tl \c__ctex_zero_tl \ctex_add_to_selectfont:n { \cs_if_free:NF \size@update { \ctex_update_size: } } -\keys_define:nn { ctex } +\ctex_define:n { linestretch .code:n = { @@ -429,7 +421,7 @@ } \tl_new:N \l__ctex_line_stretch_tl \tl_set:Nn \l__ctex_line_stretch_tl { \ccwd } -\cs_new_protected_nopar:Npn \ctex_update_stretch: +\cs_new_protected:Npn \ctex_update_stretch: { \ctex_update_em_unit: \dim_set:Nn \l__ctex_tmp_dim { \l__ctex_line_stretch_tl } @@ -464,7 +456,7 @@ \ctex_update_ccglue: } } -\cs_new_protected_nopar:Npn \ctex_update_parindent: +\cs_new_protected:Npn \ctex_update_parindent: { \tl_if_empty:NF \l__ctex_autoindent_tl { @@ -474,12 +466,12 @@ } \NewDocumentCommand \ziju { m } { \exp_args:Nx \ctex_ziju:n {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_ziju:n #1 +\cs_new_protected:Npn \ctex_ziju:n #1 { \tl_set:Nx \l__ctex_ziju_tl { \fp_eval:n {#1} } \ctex_select_size: } -\cs_new_protected_nopar:Npn \ctex_update_ziju: +\cs_new_protected:Npn \ctex_update_ziju: { \ctex_update_em_unit: \dim_set:Nn \l__ctex_ziju_dim { \l__ctex_ziju_tl \ccwd } @@ -511,19 +503,20 @@ \dim_new:N \l__ctex_ziju_dim \NewDocumentCommand \CTEXindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXindent } - { \parindent is~ set~ to~ 2\ccwd. } - \ctex_update_ccwd: \dim_set:Nn \parindent { 2 \ccwd } + \ctex_deprecated_command:Nn \CTEXindent + { \parindent is~set~to~2\ccwd. } + \ctex_update_ccwd: + \dim_set:Nn \parindent { 2 \ccwd } } \NewDocumentCommand \CTEXnoindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXnoindent } - { \parindent is~ set~ to~ 0pt. } + \ctex_deprecated_command:Nn \CTEXnoindent + { \parindent is~set~to~0pt. } \dim_zero:N \parindent } -\PassOptionsToPackage { encoding = \l__ctex_encoding_tl } { zhnumber } +\PassOptionsToPackage { encoding = \g__ctex_encoding_tl } { zhnumber } \RequirePackage { zhnumber } -\cs_new_nopar:Npn \chinese { \zhnum_counter:n } +\cs_new:Npn \chinese { \zhnum_counter:n } \cs_new_eq:NN \@chinese \@zhnum \cs_new_eq:NN \Chinese \chinese \cs_new_eq:NN \CTEXcounter \use_none:n @@ -541,7 +534,7 @@ \NewDocumentCommand \CTEXdigits { m m } { \protected@edef #1 { \zhdigits {#2} } } \cs_set_eq:NN \CTEX@todayold \today -\keys_define:nn { ctex } +\ctex_define:n { today .choice: , today / old .code:n = @@ -567,7 +560,7 @@ \tl_new:N \proofname \tl_set:Nn \proofname { Proof } } -\keys_define:nn { ctex } +\ctex_define:n { contentsname .tl_set:N = \contentsname , listfigurename .tl_set:N = \listfigurename , @@ -585,7 +578,7 @@ } \seq_const_from_clist:Nn \c__ctex_headings_seq { part , section , subsection } -\cs_new_protected_nopar:Npn \__ctex_initial_heading:n #1 +\cs_new_protected:Npn \__ctex_initial_heading:n #1 { \tl_new:c { CTEX@pre#1 } \tl_new:c { CTEX@post#1 } @@ -615,7 +608,7 @@ \group_end: } } -\cs_new_protected_nopar:Npn \__ctex_def_heading_keys:n #1 +\cs_new_protected:Npn \__ctex_def_heading_keys:n #1 { \tl_put_right:Nx \l__ctex_tmp_tl { @@ -642,7 +635,7 @@ \__ctex_plus_key_aux:nn {#1} { aftertitle } , } } -\cs_new_nopar:Npn \__ctex_plus_key_aux:nn #1#2 +\cs_new:Npn \__ctex_plus_key_aux:nn #1#2 { #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , #1 / #2 + .code:n = @@ -656,7 +649,7 @@ \cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3 { \tl_set:cn { CTEX@pre#1 } {#2} - \IfNoValueTF {#3} + \tl_if_novalue:nTF {#3} { \tl_clear:c { CTEX@post#1 } } { \tl_set:cn { CTEX@post#1 } {#3} } } @@ -667,62 +660,73 @@ \__ctex_initial_heading:n {#1} \__ctex_def_heading_keys:n {#1} } -\use:x +\exp_args:NNo \group_end: \ctex_define:n { \l__ctex_tmp_tl } +\cs_new_protected:Npn \CTEX@heading@format@initial + { + \normalfont + \tl_clear:N \l__ctex_autoindent_tl + \int_set:Nn \tex_interlinepenalty:D { 10 000 } + \tex_noindent:D + } +\cs_new_protected:Npn \ctex_indent_box:n #1 { - \group_end: - \keys_define:nn { ctex } { \exp_not:o { \l__ctex_tmp_tl } } + \dim_set:Nn \tex_parindent:D {#1} + \__ctex_insert_indent: } +\cs_new_protected:Npn \__ctex_insert_indent: + { + \dim_compare:nNnF \tex_parindent:D = \c_zero_dim + { \tex_indent:D } + } +\cs_new_eq:NN \CTEX@indentbox \ctex_indent_box:n \ExplSyntaxOff \defbeamertemplate*{part page}{CTEX}[1][]{% \begingroup - \CTEX@disableautoindent \par \addvspace{\glueexpr\CTEX@part@beforeskip\relax}% - \CTEX@part@format - \parindent \dimexpr \CTEX@part@indent \relax - \ifodd \CTEX@part@numbering - \CTEX@partname \CTEX@part@aftername - \fi - \begin{beamercolorbox}[sep=16pt,center,#1]{part title} - \CTEX@part@titleformat \insertpart \CTEX@part@aftertitle - \end{beamercolorbox}% + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@indentbox{\CTEX@part@indent}% + \ifodd \CTEX@part@numbering + \CTEX@partname \CTEX@part@aftername + \fi + \begin{beamercolorbox}[sep=16pt,center,#1]{part title} + \CTEX@part@titleformat \insertpart \CTEX@part@aftertitle + \end{beamercolorbox}}% \par \addvspace{\glueexpr\CTEX@part@afterskip\relax}% - \endgroup -} + \endgroup} \defbeamertemplate*{section page}{CTEX}[1][]{% \begingroup - \CTEX@disableautoindent \par \addvspace{\glueexpr\CTEX@section@beforeskip\relax}% - \CTEX@section@format - \parindent \dimexpr \CTEX@section@indent \relax - \ifodd \CTEX@section@numbering - \CTEX@sectionname \CTEX@section@aftername - \fi - \begin{beamercolorbox}[sep=12pt,center,#1]{part title} - \CTEX@section@titleformat \insertsection \CTEX@section@aftertitle - \end{beamercolorbox}% + \CTEX@heading@format@initial + \CTEX@section@format{% + \CTEX@indentbox{\CTEX@section@indent}% + \ifodd \CTEX@section@numbering + \CTEX@sectionname \CTEX@section@aftername + \fi + \begin{beamercolorbox}[sep=12pt,center,#1]{part title} + \CTEX@section@titleformat \insertsection \CTEX@section@aftertitle + \end{beamercolorbox}}% \par \addvspace{\glueexpr\CTEX@section@afterskip\relax}% - \endgroup -} + \endgroup} \defbeamertemplate*{subsection page}{CTEX}[1][]{% \begingroup - \CTEX@disableautoindent \par \addvspace{\glueexpr\CTEX@subsection@beforeskip\relax}% - \CTEX@subsection@format - \parindent \dimexpr \CTEX@subsection@indent \relax - \ifodd \CTEX@subsection@numbering - \CTEX@subsectionname \CTEX@subsection@aftername - \fi - \begin{beamercolorbox}[sep=8pt,center,#1]{part title} - \CTEX@subsection@titleformat \insertsubsection \CTEX@subsection@aftertitle - \end{beamercolorbox}% + \CTEX@heading@format@initial + \CTEX@subsection@format{% + \CTEX@indentbox{\CTEX@subsection@indent}% + \ifodd \CTEX@subsection@numbering + \CTEX@subsectionname \CTEX@subsection@aftername + \fi + \begin{beamercolorbox}[sep=8pt,center,#1]{part title} + \CTEX@subsection@titleformat \insertsubsection \CTEX@subsection@aftertitle + \end{beamercolorbox}}% \par \addvspace{\glueexpr\CTEX@subsection@afterskip\relax}% - \endgroup -} + \endgroup} \defbeamertemplatealias{part page}{default}{CTEX} \defbeamertemplatealias{section page}{default}{CTEX} \defbeamertemplatealias{subsection page}{default}{CTEX} \ExplSyntaxOn -\cs_new_protected_nopar:Npn \CTEX@setcurrentlabel@n #1 +\cs_new_protected:Npn \CTEX@setcurrentlabel@n #1 { \protected@edef \@currentlabel { @@ -731,17 +735,17 @@ { \exp_not:o { \@currentlabel } } } } -\cs_new_protected_nopar:Npn \ctex_varioref_hook: +\cs_new_protected:Npn \ctex_varioref_hook: { \seq_map_inline:Nn \c__ctex_headings_seq { \ctex_fix_varioref_label:n { ##1 } } } -\cs_new_protected_nopar:Npn \ctex_fix_varioref_label:n #1 +\cs_new_protected:Npn \ctex_fix_varioref_label:n #1 { \tl_if_empty:cT { p@#1 } - { \exp_args:Nno \labelformat {#1} { \cs:w CTEX@the#1 \cs_end: } } + { \exp_args:Nnx \labelformat {#1} { \exp_not:c { CTEX@the#1 } } } } -\@ifpackageloaded { varioref } +\cs_if_exist:NTF \labelformat { \ctex_varioref_hook: } { \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter @@ -755,7 +759,7 @@ \ctex_scheme_input:o { \l__ctex_scheme_tl } \NewDocumentCommand \zihao { m } { \exp_args:Nx \ctex_zihao:n {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_zihao:n #1 +\cs_new_protected:Npn \ctex_zihao:n #1 { \prop_get:NnNTF \c__ctex_font_size_prop {#1} \l__ctex_font_size_tl { \exp_after:wN \fontsize \l__ctex_font_size_tl \selectfont } @@ -770,7 +774,7 @@ } \prop_new:N \c__ctex_font_size_prop \seq_new:N \c__ctex_font_size_seq -\cs_new_protected_nopar:Npn \__ctex_save_font_size:nn #1#2 +\cs_new_protected:Npn \__ctex_save_font_size:nn #1#2 { \use:x { @@ -802,12 +806,12 @@ { 0 } { 42 bp } } { \__ctex_save_font_size:nn #1 } -\cs_new_protected_nopar:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 { \__ctex_get_font_sizes:Nn \l__ctex_font_size_tl { {#1} {#2} {#3} {#4} } \exp_after:wN \DeclareMathSizes \l__ctex_font_size_tl } -\cs_new_protected_nopar:Npn \__ctex_get_font_sizes:Nn #1#2 +\cs_new_protected:Npn \__ctex_get_font_sizes:Nn #1#2 { \tl_clear:N #1 \tl_map_inline:nn {#2} @@ -844,13 +848,13 @@ { \msg_error:nnn { ctex } { fontsize } {#2} } } \cs_new_protected:Npn \__ctex_set_font_size:nnNn #1#2#3#4 - { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } -\if_case:w \g__ctex_font_size_int - \ctex_file_input:n { ctex-c5size.clo } -\or: - \ctex_file_input:n { ctex-cs4size.clo } -\fi: -\fp_compare:nNnF { \l__ctex_line_spread_fp } ? { \c_zero_fp } + { \cs_set_protected:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } +\int_case:nn { \g__ctex_font_size_int } + { + { 0 } { \ctex_file_input:n { ctex-c5size.clo } } + { 1 } { \ctex_file_input:n { ctex-cs4size.clo } } + } +\fp_if_nan:nF { \l__ctex_line_spread_fp } { \exp_args:Nx \linespread { \fp_use:N \l__ctex_line_spread_fp } \group_begin: \footnotesize \exp_args:NNNo \group_end: @@ -861,47 +865,76 @@ { C \TeX } \ctex_at_end_package:nn { hyperref } { \pdfstringdefDisableCommands { \tl_set:Nn \CTeX { CTeX } } } -\keys_define:nn { ctex } +\ctex_define:n { captiondelimiter .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { You~can~load~the~package~`caption'~to~get~its~functionality. } } } -\cs_new_protected_nopar:Npn \ctex_fontset_error:n #1 +\cs_new_protected:Npn \ctex_fontset_error:n #1 { \msg_critical:nnn { ctex } { fontset-unavailable } {#1} } \msg_new:nnn { ctex } { fontset-unavailable } { CTeX~fontset~`#1'~is~unavailable~in~current~mode. } -\cs_new_protected_nopar:Npn \ctex_load_fontset: +\cs_new:Npx \ctex_fontset_case:nnn #1#2#3 { - \tl_if_empty:NTF \g__ctex_fontset_tl + \sys_if_engine_pdftex:TF + {#1} + { \sys_if_engine_uptex:TF {#2} {#3} } + } +\cs_new:Npx \ctex_fontset_case:nnnn #1#2#3#4 + { + \sys_if_engine_pdftex:TF + { \sys_if_output_pdf:TF {#1} {#2} } + { \sys_if_engine_uptex:TF {#3} {#4} } + } +\cs_new_protected:Npn \ctex_detect_platform: + { + \sys_if_platform_windows:TF + { \tl_gset:Nn \g__ctex_fontset_tl { windows } } { - \ctex_detected_platform: - \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } + \ctex_if_platform_macos:TF + { \tl_gset:Nn \g__ctex_fontset_tl { mac } } + { \tl_gset:Nn \g__ctex_fontset_tl { fandol } } } + } +\cs_new_protected:Npn \ctex_if_platform_macos:TF + { \file_if_exist:nTF { /System/Library/Fonts/Menlo.ttc } } +\cs_new_protected:Npn \ctex_load_fontset: + { + \tl_if_empty:NTF \g__ctex_fontset_tl + { \ctex_detect_platform: } { - \file_if_exist:nTF { ctex-fontset- \g__ctex_fontset_tl .def } - { \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } + \bool_lazy_or:nnTF + { \str_if_eq_p:on { \g__ctex_fontset_tl } { windowsnew } } + { \str_if_eq_p:on { \g__ctex_fontset_tl } { windowsold } } { - \use:x + \msg_warning:nnxx { ctex } { deprecated-fontset } + { \g__ctex_fontset_tl } { windows } + \tl_gset:Nn \g__ctex_fontset_tl { windows } + } + { + \file_if_exist:nF { ctex-fontset- \g__ctex_fontset_tl .def } { - \ctex_detected_platform: - \msg_error:nnxx { ctex } { fontset-not-found } - { \g__ctex_fontset_tl } { \exp_not:N \g__ctex_fontset_tl } + \use:x + { + \ctex_detect_platform: + \msg_error:nnxx { ctex } { fontset-not-found } + { \g__ctex_fontset_tl } { \exp_not:N \g__ctex_fontset_tl } + } } - \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } } + \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } -\@onlypreamble \ctex_load_fontset: +\msg_new:nnn { ctex } { deprecated-fontset } + { CTeX~fontset~`#1'~is~deprecated.\\ Fontset~`#2'~will~be~used~instead. } \msg_new:nnnn { ctex } { fontset-not-found } - { - CTeX~fontset~`#1'~could~not~be~found.\\ - Fontset~`#2'~will~be~used~instead. - } + { CTeX~fontset~`#1'~could~not~be~found.\\ Fontset~`#2'~will~be~used~instead. } { You~may~run~`mktexlsr'~firstly. } -\keys_define:nn { ctex } +\@onlypreamble \ctex_load_fontset: +\ctex_define:n { fontset .code:n = { @@ -931,14 +964,16 @@ } { Only~one~fontset~can~be~loaded~in~the~preamble. } \msg_new:nnn { ctex } { fontset-only-preamble } - { - The~ `fontset'~ option~ can~ be~ used~ only~ in~ preamble. - } + { The~`fontset'~option~can~be~used~only~in~preamble. } \str_if_eq:onF { \g__ctex_fontset_tl } { none } { \ctex_load_fontset: } \ctex_at_end:n { \ctex_file_input:n { ctex.cfg } } %% -%% This package consists of the file ctex.dtx, +%% This package consists of the files ctex.dtx, +%% ctxdoc.cls, +%% ctxdocstrip.tex, +%% ctex-zhconv.lua, +%% ctex-zhconv-make.lua, %% and the derived files ctex.pdf, %% ctex.ins, %% ctex.sty, @@ -948,16 +983,15 @@ %% ctexbook.cls, %% ctexrep.cls, %% ctexbeamer.cls, -%% ctxdoc.cls, %% ctexcap.sty, %% ctexhook.sty, %% ctexpatch.sty, %% ctex-c5size.clo, %% ctex-cs4size.clo, -%% ctex-article.def, -%% ctex-book.def, -%% ctex-report.def, -%% ctex-beamer.def, +%% ctex-heading-article.def, +%% ctex-heading-book.def, +%% ctex-heading-report.def, +%% ctex-heading-beamer.def, %% ctex-scheme-plain.def, %% ctex-scheme-plain-article.def, %% ctex-scheme-plain-book.def, @@ -972,6 +1006,7 @@ %% ctex-name-utf8.cfg, %% ctex.cfg, %% ctexopts.cfg, +%% ctexbackend.cfg, %% ctex-engine-pdftex.def, %% ctex-engine-xetex.def, %% ctex-engine-luatex.def, @@ -989,26 +1024,25 @@ %% jt2zhrm.fd, %% jt2zhsf.fd, %% jt2zhtt.fd, -%% ctex-fontset-windows.def, -%% ctex-fontset-windowsnew.def, -%% ctex-fontset-windowsold.def, %% ctex-fontset-adobe.def, %% ctex-fontset-fandol.def, +%% ctex-fontset-founder.def, %% ctex-fontset-mac.def, %% ctex-fontset-macnew.def, %% ctex-fontset-macold.def, -%% ctex-fontset-founder.def, %% ctex-fontset-ubuntu.def, +%% ctex-fontset-windows.def, %% ctexspa.def, %% ctexpunct.spa, %% ctexmakespa.tex, %% ctexspamacro.tex, -%% ctxdocstrip.tex, %% zhadobefonts.tex, %% zhfandolfonts.tex, %% zhfounderfonts.tex, +%% zhmacfonts.tex, %% zhubuntufonts.tex, %% zhwindowsfonts.tex, +%% ctex-zhconv-index.lua, %% translator-theorem-dictionary-ChineseGBK.dict, %% translator-theorem-dictionary-ChineseUTF8.dict, and %% README.md. diff --git a/Master/texmf-dist/tex/latex/ctex/ctexbook.cls b/Master/texmf-dist/tex/latex/ctex/ctexbook.cls index bc6fab18252..b98a13c6c78 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexbook.cls +++ b/Master/texmf-dist/tex/latex/ctex/ctexbook.cls @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `class,book') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,18 +20,17 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \NeedsTeXFormat{LaTeX2e} +\input{ctexbackend.cfg} \RequirePackage{expl3} -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Chinese adapter for class book (CTEX)} \ProvidesExplClass{ctexbook} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \tl_const:Nx \c__ctex_version_tl { \cs_if_exist_use:cF { ver@ \@currname . \@currext } { 9999/99/99 } } \cs_new_eq:cN { ver@ctex. \@pkgextension } \c__ctex_version_tl @@ -42,11 +41,11 @@ \msg_new:nnnn { ctex } { l3-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~bundles\\\\ + Please~update~an~up-to-date~version~of~the~bundles\\\\ `l3kernel'~and~`l3packages'\\\\ using~your~TeX~package~manager~or~from~CTAN. } -\@ifpackagelater { expl3 } { 2019/03/05 } { } +\@ifpackagelater { expl3 } { 2020/04/06 } { } { \msg_error:nnn { ctex } { l3-too-old } { expl3 } } \@ifpackagelater { l3keys2e } { 2015/12/20 } { } { \msg_error:nnn { ctex } { l3-too-old } { l3keys2e } } @@ -62,11 +61,20 @@ } { \msg_critical:nnx { ctex } { engine-not-supported } { \c__ctex_engine_str } } \RequirePackage { ctexhook , ctexpatch } -\RequirePackage { fix-cm , everysel } +\RequirePackage { fix-cm } +\RequirePackage { everysel } \tl_clear_new:N \l__ctex_tmp_tl \int_new:N \l__ctex_tmp_int \box_new:N \l__ctex_tmp_box \dim_new:N \l__ctex_tmp_dim +\cs_new_protected:Npn \ctex_define_option:n + { \keys_define:nn { ctex / option } } +\cs_new_protected:Npn \ctex_define:n + { \keys_define:nn { ctex } } +\cs_new_protected:Npn \ctex_set:n + { \keys_set:nn { ctex } } +\cs_new_protected:Npn \ctex_set:nn #1 + { \keys_set:nn { ctex / #1 } } \cs_new_protected:Npn \ctex_file_wrapper:nnn #1#2#3 { \use:x @@ -82,9 +90,9 @@ #3 } } -\cs_new_protected_nopar:Npn \ctex_file_input:n #1 +\cs_new_protected:Npn \ctex_file_input:n #1 { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } } -\cs_new_protected_nopar:Npn \ctex_scheme_input:n #1 +\cs_new_protected:Npn \ctex_scheme_input:n #1 { \ctex_file_wrapper:nnn { } @@ -104,7 +112,7 @@ \msg_new:nnnn { ctex } { package-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~package~`#1'\\ + Please~update~an~up-to-date~version~of~the~package~`#1'\\ using~your~TeX~package~manager~or~from~CTAN. } \sys_if_output_pdf:TF @@ -123,46 +131,44 @@ \exp_last_unbraced:NNNNo \cs_new:Npn \__ctex_default_ccwd_aux:w #1 { \tl_to_str:n { pt } } #2 \q_stop { \tl_if_empty:nT {#2} { \ccwd } } -\tl_new:N \l__ctex_encoding_tl -\tl_set:Nx \l__ctex_encoding_tl - { \sys_if_engine_pdftex:TF { GBK } { UTF8 } } +\tl_new:N \g__ctex_encoding_tl \bool_new:N \g__ctex_zhmCJK_bool \tl_new:N \l__ctex_autoindent_tl \cs_new_eq:NN \ctex_if_autoindent_touched:F \use:n \cs_new_eq:NN \ctex_zhmap_case:nnn \use_ii:nnn -\cs_new_protected_nopar:Npn \ctex_at_end:n { \AtEndOfClass } +\cs_new_protected:Npn \ctex_at_end:n { \AtEndOfClass } \clist_new:N \g__ctex_std_options_clist \msg_new:nnn { ctex } { invalid-option } { Option~`\l_keys_key_tl'~is~invalid~in~current~mode. } \msg_new:nnn { ctex } { invalid-value } { Value~`#1'~is~invalid~for~the~key~`\l_keys_key_tl'. } +\cs_new_protected:Npn \ctex_deprecated_option:n + { \msg_warning:nnn { ctex } { deprecated-option } } +\cs_new_protected:Npn \ctex_set_deprecated_option:n #1 + { + \ctex_deprecated_option:n { Option~`#1'~is~set. } + \ctex_set:nn { option } {#1} + } +\cs_new_protected:Npn \ctex_deprecated_command:Nn #1#2 + { + \msg_warning:nnxx { ctex } { deprecated-command } + { \token_to_str:N #1 } { \exp_not:n {#2} } + } \msg_new:nnn { ctex } { deprecated-option } - { Option~ `\l_keys_key_tl'~ is~ deprecated.\\ #1 } + { Option~`\l_keys_key_tl'~is~deprecated.\\ #1 } \msg_new:nnn { ctex } { deprecated-command } - { Command~ #1 is~ deprecated.\\ #2 } -\msg_new:nnn { ctex } { deprecated-environment } - { Environment~ `#1'~ is~ deprecated.\\ #2 } + { Command~`#1'~is~deprecated.\\ #2 } \int_new:N \g__ctex_font_size_int -\int_set:Nn \g__ctex_font_size_int { -1 } -\keys_define:nn { ctex / option } +\int_gset:Nn \g__ctex_font_size_int { -1 } +\ctex_define_option:n { zihao .choice: , zihao .value_required:n = true , zihao / 5 .code:n = { \int_gset:Nn \g__ctex_font_size_int { 0 } } , zihao / -4 .code:n = { \int_gset:Nn \g__ctex_font_size_int { 1 } } , zihao / false .code:n = { \int_gset:Nn \g__ctex_font_size_int { 2 } } , - c5size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=5'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = 5 } - } , - cs4size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=-4'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = -4 } - } , + c5size .code:n = { \ctex_set_deprecated_option:n { zihao = 5 } } , + cs4size .code:n = { \ctex_set_deprecated_option:n { zihao = -4 } } , c5size .value_forbidden:n = true , cs4size .value_forbidden:n = true , linespread .fp_set:N = \l__ctex_line_spread_fp , @@ -187,56 +193,38 @@ } , indent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options.~ + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , indent .value_forbidden:n = true , noindent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options. + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , noindent .value_forbidden:n = true , - GBK .code:n = { \tl_set:Nn \l__ctex_encoding_tl { GBK } } , - UTF8 .code:n = { \tl_set:Nn \l__ctex_encoding_tl { UTF8 } } , - GBK .value_forbidden:n = true , - UTF8 .value_forbidden:n = true , - fontset .tl_gset:N = \g__ctex_fontset_tl , - nofonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=none'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = none } - } , - adobefonts .code:n = + GBK .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \sys_if_engine_pdftex:TF + { \tl_gset:Nn \g__ctex_encoding_tl { GBK } } { - Option~ `fontset=adobe'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. + \msg_warning:nn { ctex } { invalid-option } + \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } } - \keys_set:nn { ctex / option } { fontset = adobe } - } , - winfonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=windows'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = windows } } , + UTF8 .code:n = { \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } } , + GBK .value_forbidden:n = true , + UTF8 .value_forbidden:n = true , + fontset .tl_gset:N = \g__ctex_fontset_tl , + nofonts .code:n = { \ctex_set_deprecated_option:n { fontset = none } } , + adobefonts .code:n = { \ctex_set_deprecated_option:n { fontset = adobe } } , + winfonts .code:n = { \ctex_set_deprecated_option:n { fontset = windows } } , nofonts .value_forbidden:n = true , winfonts .value_forbidden:n = true , adobefonts .value_forbidden:n = true , @@ -258,35 +246,21 @@ \cs_gset_eq:NN \ctex_zhmap_case:nnn \use_iii:nnn } , nozhmap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zhmap=false'~ is~ set. } - \keys_set:nn { ctex / option } { zhmap = false } - } , + { \ctex_set_deprecated_option:n { zhmap = false } } , nozhmap .value_forbidden:n = true , punct .tl_set:N = \l__ctex_punct_tl , punct .default:n = { quanjiao } , punct .initial:n = { quanjiao } , - nopunct .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `punct=plain'~ is~ set. } - \keys_set:nn { ctex / option } { punct = plain } - } , + nopunct .code:n = \ctex_set_deprecated_option:n { punct = plain } , nopunct .value_forbidden:n = true , space .choices:nn = { true , auto , false } { \exp_args:Nx \ctex_at_end:n - { \keys_set:nn { ctex } { space = \l_keys_choice_tl } } + { \ctex_set:n { space = \l_keys_choice_tl } } } , space .default:n = { true } , - nospace .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `space=false'~ is~ set. } - \keys_set:nn { ctex / option } { space = false } - } , + nospace .code:n = { \ctex_deprecated_option:nn { space = false } } , nospace .value_forbidden:n = true , heading .bool_set:N = \l__ctex_heading_bool , sub3section .code:n = @@ -298,35 +272,37 @@ scheme .tl_set:N = \l__ctex_scheme_tl , scheme .default:n = { chinese } , scheme .initial:n = { chinese } , - cap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = chinese' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = chinese } - } , - nocap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = plain' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = plain } - } , + cap .code:n = { \ctex_set_deprecated_option:n { scheme = chinese } } , + nocap .code:n = { \ctex_set_deprecated_option:n { scheme = plain } } , cap .value_forbidden:n = true , nocap .value_forbidden:n = true , - fntef .code:n = + fntef .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `(xe)CJKfntef'~ package~ is~ always~ loaded. } + \sys_if_engine_xetex:TF + { + \ctex_deprecated_option:n { `xeCJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { xeCJKfntef } } + } + { + \sys_if_engine_pdftex:TF + { + \ctex_deprecated_option:n { `CJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { CJKfntef } } + } + { + \ctex_deprecated_option:n + { Furthermore,~option~`fntef'~is~invalid~in~current~mode. } + } + } } , fancyhdr .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `fancyhdr'~ package~ is~ loaded. } - \RequirePackage { fancyhdr } + \ctex_deprecated_option:n { `fancyhdr'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { fancyhdr } } } , hyperref .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `hyperref'~ package~ will~ be~ loaded. } + \ctex_deprecated_option:n { `hyperref'~package~will~be~loaded. } \ctex_at_end:n { \cs_if_exist:NF \hypersetup @@ -352,47 +328,63 @@ #1 .value_forbidden:n = true , } } -\use:x { \keys_define:nn { ctex / option } { \exp_not:o { \l__ctex_tmp_tl } } } +\exp_args:No \ctex_define_option:n { \l__ctex_tmp_tl } \tl_clear:N \l__ctex_tmp_tl -\keys_define:nn { ctex / option } +\ctex_define_option:n { unknown .code:n = { \clist_gput_right:No \g__ctex_std_options_clist { \CurrentOption } } } \ctex_file_input:n { ctexopts.cfg } \ProcessKeysOptions { ctex / option } -\if_case:w \g__ctex_font_size_int - \clist_gput_right:Nn \g__ctex_std_options_clist { 10pt } -\or: - \clist_gput_right:Nn \g__ctex_std_options_clist { 12pt } -\fi: +\msg_new:nnn { ctex } { pdftex-utf8 } + { UTF8~will~be~used~as~the~default~encoding. } +\tl_if_empty:NT \g__ctex_encoding_tl + { + \sys_if_engine_pdftex:T + { \msg_warning:nn { ctex } { pdftex-utf8 } } + \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } + } +\int_case:nn { \g__ctex_font_size_int } + { + { 0 } { \clist_gput_right:Nn \g__ctex_std_options_clist { 10pt } } + { 1 } { \clist_gput_right:Nn \g__ctex_std_options_clist { 12pt } } + } \tl_const:Nn \c__ctex_class_tl { book } \PassOptionsToClass { \g__ctex_std_options_clist } { book } \LoadClass { book } \@ifpackageloaded { hyperref } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \hypersetup {#1} } } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \PassOptionsToPackage {#1} { hyperref } } } \ctex_file_input:n { \c__ctex_engine_file_str } -\NewDocumentCommand \ctexset { } { \keys_set:nn { ctex } } -\NewDocumentCommand \CTEXsetup { +o > { \TrimSpaces } m } +\NewDocumentCommand \ctexset { } { \ctex_set:n } +\NewDocumentCommand \CTEXsetup { +O { } > { \TrimSpaces } m } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXsetup } - { \ctexset~ {~ #2~ =~ {~ #1~ }~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex / #2 } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXsetup { } } + { + \ctex_deprecated_command:Nn \CTEXsetup + { \ctexset {~#2~=~{~#1~}~}~is~set. } + \ctex_set:nn {#2} {#1} + } } -\NewDocumentCommand \CTEXoptions { +o } +\NewDocumentCommand \CTEXoptions { +O { } } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXoptions } - { \ctexset~ {~ #1~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXoptions { } } + { + \ctex_deprecated_command:Nn \CTEXoptions + { \ctexset {~#1~}~is~set. } + \ctex_set:n {#1} + } } -\keys_define:nn { ctex } +\ctex_define:n { autoindent .choice: , autoindent .default:n = { true } , @@ -410,9 +402,9 @@ } } \NewDocumentCommand \CTEXsetfont { } { \ctex_select_size: } -\cs_new_protected_nopar:Npn \ctex_select_size: +\cs_new_protected:Npn \ctex_select_size: { \cs_if_free:NTF \size@update { \ctex_update_size: } { \selectfont } } -\cs_new_protected_nopar:Npn \ctex_update_size: +\cs_new_protected:Npn \ctex_update_size: { \tl_if_eq:NNTF \l__ctex_ziju_tl \c__ctex_zero_tl { @@ -426,7 +418,7 @@ \tl_set_eq:NN \l__ctex_ziju_tl \c__ctex_zero_tl \ctex_add_to_selectfont:n { \cs_if_free:NF \size@update { \ctex_update_size: } } -\keys_define:nn { ctex } +\ctex_define:n { linestretch .code:n = { @@ -437,7 +429,7 @@ } \tl_new:N \l__ctex_line_stretch_tl \tl_set:Nn \l__ctex_line_stretch_tl { \ccwd } -\cs_new_protected_nopar:Npn \ctex_update_stretch: +\cs_new_protected:Npn \ctex_update_stretch: { \ctex_update_em_unit: \dim_set:Nn \l__ctex_tmp_dim { \l__ctex_line_stretch_tl } @@ -472,7 +464,7 @@ \ctex_update_ccglue: } } -\cs_new_protected_nopar:Npn \ctex_update_parindent: +\cs_new_protected:Npn \ctex_update_parindent: { \tl_if_empty:NF \l__ctex_autoindent_tl { @@ -482,12 +474,12 @@ } \NewDocumentCommand \ziju { m } { \exp_args:Nx \ctex_ziju:n {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_ziju:n #1 +\cs_new_protected:Npn \ctex_ziju:n #1 { \tl_set:Nx \l__ctex_ziju_tl { \fp_eval:n {#1} } \ctex_select_size: } -\cs_new_protected_nopar:Npn \ctex_update_ziju: +\cs_new_protected:Npn \ctex_update_ziju: { \ctex_update_em_unit: \dim_set:Nn \l__ctex_ziju_dim { \l__ctex_ziju_tl \ccwd } @@ -519,19 +511,20 @@ \dim_new:N \l__ctex_ziju_dim \NewDocumentCommand \CTEXindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXindent } - { \parindent is~ set~ to~ 2\ccwd. } - \ctex_update_ccwd: \dim_set:Nn \parindent { 2 \ccwd } + \ctex_deprecated_command:Nn \CTEXindent + { \parindent is~set~to~2\ccwd. } + \ctex_update_ccwd: + \dim_set:Nn \parindent { 2 \ccwd } } \NewDocumentCommand \CTEXnoindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXnoindent } - { \parindent is~ set~ to~ 0pt. } + \ctex_deprecated_command:Nn \CTEXnoindent + { \parindent is~set~to~0pt. } \dim_zero:N \parindent } -\PassOptionsToPackage { encoding = \l__ctex_encoding_tl } { zhnumber } +\PassOptionsToPackage { encoding = \g__ctex_encoding_tl } { zhnumber } \RequirePackage { zhnumber } -\cs_new_nopar:Npn \chinese { \zhnum_counter:n } +\cs_new:Npn \chinese { \zhnum_counter:n } \cs_new_eq:NN \@chinese \@zhnum \cs_new_eq:NN \Chinese \chinese \cs_new_eq:NN \CTEXcounter \use_none:n @@ -549,7 +542,7 @@ \NewDocumentCommand \CTEXdigits { m m } { \protected@edef #1 { \zhdigits {#2} } } \cs_set_eq:NN \CTEX@todayold \today -\keys_define:nn { ctex } +\ctex_define:n { today .choice: , today / old .code:n = @@ -575,7 +568,7 @@ \tl_new:N \proofname \tl_set:Nn \proofname { Proof } } -\keys_define:nn { ctex } +\ctex_define:n { contentsname .tl_set:N = \contentsname , listfigurename .tl_set:N = \listfigurename , @@ -594,7 +587,7 @@ \seq_gset_eq:NN \c__ctex_headings_seq \c__ctex_section_headings_seq \seq_gput_left:Nn \c__ctex_headings_seq { chapter } \seq_gput_left:Nn \c__ctex_headings_seq { part } -\cs_new_protected_nopar:Npn \__ctex_initial_heading:n #1 +\cs_new_protected:Npn \__ctex_initial_heading:n #1 { \tl_new:c { CTEX@pre#1 } \tl_new:c { CTEX@post#1 } @@ -624,7 +617,7 @@ \group_end: } } -\cs_new_protected_nopar:Npn \__ctex_def_heading_keys:n #1 +\cs_new_protected:Npn \__ctex_def_heading_keys:n #1 { \tl_put_right:Nx \l__ctex_tmp_tl { @@ -648,11 +641,8 @@ #1 / hang .bool_set:N = \exp_not:c { CTEX@#1@hang } , #1 / hang .initial:n = true , #1 / runin .bool_set:N = \exp_not:c { CTEX@#1@runin } , - #1 / tocline .code:n = - { - \cs_set:Npn \exp_not:c { CTEX@#1@tocline} - \exp_not:n { ####1####2 } { ####1 } - } , + #1 / tocline .cs_set:Np = \exp_not:c { CTEX@#1@tocline} + \exp_not:n { ##1##2 } , \__ctex_plus_key_aux:nn {#1} { break } , \__ctex_plus_key_aux:nn {#1} { format } , \__ctex_plus_key_aux:nn {#1} { nameformat } , @@ -662,7 +652,7 @@ \__ctex_plus_key_aux:nn {#1} { aftertitle } , } } -\cs_new_nopar:Npn \__ctex_plus_key_aux:nn #1#2 +\cs_new:Npn \__ctex_plus_key_aux:nn #1#2 { #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , #1 / #2 + .code:n = @@ -676,7 +666,7 @@ \cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3 { \tl_set:cn { CTEX@pre#1 } {#2} - \IfNoValueTF {#3} + \tl_if_novalue:nTF {#3} { \tl_clear:c { CTEX@post#1 } } { \tl_set:cn { CTEX@post#1 } {#3} } } @@ -697,35 +687,49 @@ \__ctex_initial_heading:n {#1} \__ctex_def_heading_keys:n {#1} } -\use:x +\exp_args:NNo \group_end: \ctex_define:n { \l__ctex_tmp_tl } +\cs_new_protected:Npn \CTEX@heading@format@initial { - \group_end: - \keys_define:nn { ctex } { \exp_not:o { \l__ctex_tmp_tl } } + \normalfont + \tl_clear:N \l__ctex_autoindent_tl + \int_set:Nn \tex_interlinepenalty:D { 10 000 } + \tex_noindent:D } -\cs_new_protected_nopar:Npn \CTEX@fixtopskip +\cs_new_protected:Npn \ctex_indent_box:n #1 + { + \dim_set:Nn \tex_parindent:D {#1} + \__ctex_insert_indent: + } +\cs_new_protected:Npn \__ctex_insert_indent: + { + \dim_compare:nNnF \tex_parindent:D = \c_zero_dim + { \tex_indent:D } + } +\cs_new_eq:NN \CTEX@indentbox \ctex_indent_box:n +\cs_new_protected:Npn \CTEX@fixtopskip { \CTEX@fixheadingskip \dim_compare:nNnF \tex_pagegoal:D < \c_max_dim { \skip_sub:Nn \l__ctex_heading_skip { \tex_topskip:D } } } -\cs_new_protected_nopar:Npn \CTEX@fixheadingskip +\cs_new_protected:Npn \CTEX@fixheadingskip { \par \dim_set:Nn \tex_prevdepth:D { -1000pt } \skip_sub:Nn \l__ctex_heading_skip { \tex_parskip:D } } \skip_new:N \l__ctex_heading_skip -\cs_new_protected_nopar:Npn \CTEX@setheadingskip +\cs_new_protected:Npn \CTEX@setheadingskip { \skip_set:Nn \l__ctex_heading_skip } \cs_new_eq:NN \CTEX@headingskip \l__ctex_heading_skip \ProvideDocumentCommand \partmark { m } { \markboth { } { } } \cs_new_eq:NN \CTEXifname \use_ii:nn -\cs_new_protected_nopar:Npn \CTEX@ifnametrue +\cs_new_protected:Npn \CTEX@ifnametrue { \cs_set_eq:NN \CTEXifname \use_i:nn } -\cs_new_protected_nopar:Npn \CTEX@ifnamefalse +\cs_new_protected:Npn \CTEX@ifnamefalse { \cs_set_eq:NN \CTEXifname \use_ii:nn } -\cs_new_protected_nopar:Npn \CTEX@addloflotskip #1 +\cs_new_protected:Npn \CTEX@addloflotskip #1 { \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1@lofskip } } \skip_if_eq:nnF { \l__ctex_heading_skip } { \c_zero_skip } @@ -742,8 +746,6 @@ } \cs_new_protected:Npn \CTEX@addtocline #1#2 { \addcontentsline { toc } {#1} { \use:c { CTEX@#1@tocline } {#1} {#2} } } -\cs_new_protected_nopar:Npn \CTEX@disableautoindent - { \tl_clear:N \l__ctex_autoindent_tl } \renewcommand\part{% \CTEX@part@break \thispagestyle{\CTEX@part@pagestyle}% @@ -772,51 +774,53 @@ \fi \CTEX@gettitle{#1}% \CTEX@addtocline{part}{#1}% - \partmark{#1}% - {\interlinepenalty \@M - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}% - {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% - \CTEX@part@titleformat{#2}% - \CTEX@part@aftertitle}% + \partmark{#1}% + \begingroup + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}% + {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% + \CTEX@part@titleformat{#2}% + \CTEX@part@aftertitle}\par + \endgroup \@endpart} \def\@spart#1{% - \CTEX@ifnamefalse - \CTEX@makeanchor@spart{part*}% - \CTEX@gettitle{#1}% - {\interlinepenalty \@M - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}{}% - \CTEX@part@titleformat{#1}% - \CTEX@part@aftertitle}% - \@endpart} + \CTEX@ifnamefalse + \CTEX@makeanchor@spart{part*}% + \CTEX@gettitle{#1}% + \begingroup + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}{}% + \CTEX@part@titleformat{#1}% + \CTEX@part@aftertitle}\par + \endgroup + \@endpart} \def\@endpart{% - \CTEX@setheadingskip \CTEX@part@afterskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \newpage - \if@twoside - \if@openright - \null - \thispagestyle{empty}% - \newpage - \fi - \fi - \if@tempswa - \twocolumn - \fi} + \CTEX@setheadingskip \CTEX@part@afterskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \newpage + \if@twoside + \if@openright + \null + \thispagestyle{empty}% + \newpage + \fi + \fi + \if@tempswa + \twocolumn + \fi} \renewcommand\chapter{% - \CTEX@chapter@break - \thispagestyle{\CTEX@chapter@pagestyle}% - \global\@topnum\z@ - \ifodd \CTEX@chapter@afterindent - \@afterindenttrue - \else - \@afterindentfalse - \fi - \secdef\@chapter\@schapter} + \CTEX@chapter@break + \thispagestyle{\CTEX@chapter@pagestyle}% + \global\@topnum\z@ + \ifodd \CTEX@chapter@afterindent + \@afterindenttrue + \else + \@afterindentfalse + \fi + \secdef\@chapter\@schapter} \def\@chapter[#1]#2{% \ifnum \c@secnumdepth >\m@ne \if@mainmatter @@ -860,33 +864,33 @@ \CTEX@setheadingskip \CTEX@chapter@beforeskip \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi \vspace*{\CTEX@headingskip}% - {\CTEX@disableautoindent - \normalfont \CTEX@chapter@format - \interlinepenalty\@M - \CTEX@hangindent{chapter}% - {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}% - \CTEX@chapter@titleformat{#1}% - \CTEX@chapter@aftertitle - \nobreak - \CTEX@setheadingskip \CTEX@chapter@afterskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - }} + \begingroup + \CTEX@heading@format@initial + \CTEX@chapter@format{% + \CTEX@headinghang{chapter}% + {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}% + \CTEX@chapter@titleformat{#1}% + \CTEX@chapter@aftertitle}\par + \endgroup + \nobreak + \CTEX@setheadingskip \CTEX@chapter@afterskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip} \def\@makeschapterhead#1{% \CTEX@setheadingskip \CTEX@chapter@beforeskip \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi \vspace*{\CTEX@headingskip}% - {\CTEX@disableautoindent - \normalfont \CTEX@chapter@format - \interlinepenalty\@M - \CTEX@hangindent{chapter}{}% - \CTEX@chapter@titleformat{#1}% - \CTEX@chapter@aftertitle - \nobreak - \CTEX@setheadingskip \CTEX@chapter@afterskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - }} + \begingroup + \CTEX@heading@format@initial + \CTEX@chapter@format{% + \CTEX@headinghang{chapter}{}% + \CTEX@chapter@titleformat{#1}% + \CTEX@chapter@aftertitle}\par + \endgroup + \nobreak + \CTEX@setheadingskip \CTEX@chapter@afterskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip} \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par @@ -929,22 +933,22 @@ \CTEX@gettitle{#7}% \unless \ifodd \CTEX@runin \begingroup + \CTEX@heading@format@initial #6{% - \CTEX@hangfrom{\hskip\glueexpr #3\relax\@svsec}% - \interlinepenalty \@M + \CTEX@sectionhang{#3}{\@svsec}% \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% + \csname CTEX@#1@aftertitle\endcsname}\par \endgroup \csname #1mark\endcsname{#7}% \CTEX@addtocline{#1}{#7}% \else \def\@svsechd{% - #6{\hskip\glueexpr #3\relax - \@svsec - \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% - \csname #1mark\endcsname{#7}% - \CTEX@addtocline{#1}{#7}}% + #6{% + {\CTEX@indentbox{#3}}\@svsec + \csname CTEX@#1@titleformat\endcsname{#8}% + \csname CTEX@#1@aftertitle\endcsname}% + \csname #1mark\endcsname{#7}% + \CTEX@addtocline{#1}{#7}}% \fi \@xsect{#5}} \def\@ssect#1#2#3#4#5{% @@ -952,15 +956,15 @@ \CTEX@gettitle{#5}% \unless \ifodd \CTEX@runin \begingroup + \CTEX@heading@format@initial #4{% - \CTEX@hangfrom{\hskip\glueexpr #1\relax}% - \interlinepenalty \@M + \CTEX@sectionhang{#1}{}% \CTEX@titleformat@n{#5}% - \CTEX@aftertitle}% + \CTEX@aftertitle}\par \endgroup \else - \def\@svsechd{#4{\hskip\glueexpr #1\relax - \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% + \def\@svsechd{#4{{\CTEX@indentbox{#1}}% + \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% \fi \@xsect{#3}} \def\@xsect#1{% @@ -980,32 +984,47 @@ \clubpenalty\@M \begingroup \@svsechd \endgroup \unskip - \hskip\glueexpr #1\relax + \CTEX@heading@glue{#1}% \else \clubpenalty \@clubpenalty \everypar{}% \fi}% \fi \ignorespaces} -\cs_new_protected:Npn \CTEX@hangindent #1#2 +\cs_new_protected:Npn \CTEX@headinghang #1 { - \dim_set:Nn \parindent { \use:c { CTEX@#1@indent } } - \bool_if:cTF { CTEX@#1@hang } - { \@hangfrom { \__ctex_indent_aux: #2 } } - {#2} + \ctex_heading_hang:cnn + { CTEX@#1@hang } + { \use:c { CTEX@#1@indent } } } -\cs_new_protected_nopar:Npn \__ctex_indent_aux: +\cs_new_protected:Npn \CTEX@sectionhang + { \ctex_heading_hang:Nnn \CTEX@hang } +\cs_new_protected:Npn \ctex_heading_hang:Nnn #1#2#3 { - \dim_compare:nNnF \parindent = \c_zero_dim - { \skip_horizontal:n { \parindent } } + \dim_set:Nn \tex_parindent:D {#2} + \bool_if:NTF #1 + { \ctex_hang_from:n } + { \use:n } + { \__ctex_insert_indent: #3 } } -\cs_new_protected_nopar:Npn \CTEX@hangfrom +\cs_new_protected:Npn \ctex_hang_from:n #1 { - \bool_if:NTF \CTEX@hang - { \@hangfrom } - { \noindent \use:n } + \tex_noindent:D + \hbox_set:Nn \l__ctex_tmp_box {#1} + \tex_hangindent:D = \box_wd:N \l__ctex_tmp_box + \box_use_drop:N \l__ctex_tmp_box + } +\cs_generate_variant:Nn \ctex_heading_hang:Nnn { c } +\cs_new_protected:Npn \ctex_heading_glue:n #1 + { + \group_begin: + \skip_set:Nn \l__ctex_heading_skip {#1} + \dim_compare:nNnF \l__ctex_heading_skip = \c_zero_dim + { \skip_horizontal:N \l__ctex_heading_skip } + \group_end: } -\cs_new_protected_nopar:Npn \CTEX@update@sectionformat@n #1 +\cs_new_eq:NN \CTEX@heading@glue \ctex_heading_glue:n +\cs_new_protected:Npn \CTEX@update@sectionformat@n #1 { \cs_set_eq:Nc \CTEX@titleformat@n { CTEX@#1@titleformat } \cs_set_eq:Nc \CTEX@aftertitle { CTEX@#1@aftertitle } @@ -1034,7 +1053,7 @@ { } #2 } -\cs_new_nopar:Npn \CTEXnumberline #1 +\cs_new:Npn \CTEXnumberline #1 { \CTEXifname { \protect \numberline { \use:c { CTEXthe #1 } } } @@ -1044,7 +1063,7 @@ \seq_map_inline:Nn \c__ctex_section_headings_seq { \int_incr:N \l__ctex_tmp_int - \cs_gset_protected_nopar:cpx {#1} + \cs_gset_protected:cpx {#1} { \exp_not:N \@startsection {#1} { \int_use:N \l__ctex_tmp_int } @@ -1056,7 +1075,7 @@ \cs_new:cpn { CTEX@#1@tocline } ##1##2 { \CTEXnumberline { ##1 } ##2 } } -\keys_define:nn { ctex } +\ctex_define:n { appendix .meta:nn = { ctex / appendix } {#1} , appendix / name .code:n = @@ -1068,7 +1087,7 @@ \tl_new:N \CTEX@preappendix \tl_new:N \CTEX@postappendix \cs_new_eq:NN \CTEX@save@appendix \appendix -\cs_gset_protected_nopar:Npn \appendix +\cs_gset_protected:Npn \appendix { \CTEX@save@appendix \gdef \CTEX@prechapter { \CTEX@preappendix } @@ -1076,7 +1095,7 @@ \gdef \CTEX@postchapter { \CTEX@postappendix } \gdef \CTEX@chapter@numbering { \CTEX@appendix@numbering } } -\cs_new_protected_nopar:Npn \CTEX@makeanchor #1 +\cs_new_protected:Npn \CTEX@makeanchor #1 { } \seq_const_from_clist:Nn \c__ctex_headings_cs_seq { part , spart , chapter , schapter , sect , ssect } @@ -1085,7 +1104,7 @@ \cs_new_eq:cc { CTEX@ #1 } { @ #1 } \cs_new_eq:cN { CTEX@makeanchor@ #1 } \CTEX@makeanchor } -\cs_new_protected_nopar:Npn \CTEX@hyperheadinghook +\cs_new_protected:Npn \CTEX@hyperheadinghook { \group_begin: \ifHy@implicit @@ -1106,7 +1125,7 @@ } \ctex_at_end_package:nn { hyperref } { - \cs_gset_protected_nopar:Npn \CTEX@makeanchor #1 + \cs_gset_protected:Npn \CTEX@makeanchor #1 { \Hy@MakeCurrentHrefAuto {#1} \Hy@raisedlink @@ -1121,14 +1140,14 @@ { } \ctex_at_end_package:nn { nameref } { - \cs_gset_protected_nopar:Npn \CTEX@gettitle { \NR@gettitle } + \cs_gset_protected:Npn \CTEX@gettitle { \NR@gettitle } \seq_map_inline:Nn \c__ctex_headings_cs_seq { \cs_if_eq:ccT { NR@ #1 } { CTEX@ #1 } { \cs_gset_eq:cc { @ #1 } { CTEX@ #1 } } } } -\cs_new_protected_nopar:Npn \ctex_titlesec_hook: +\cs_new_protected:Npn \ctex_titlesec_hook: { \@ifpackagewith { titlesec } { explicit } { @@ -1148,17 +1167,17 @@ } \seq_map_function:NN \c__ctex_section_headings_seq \__ctex_titlesec_hook:n } -\cs_new_protected_nopar:Npn \__ctex_titlesec_hook:n #1 +\cs_new_protected:Npn \__ctex_titlesec_hook:n #1 { \__ctex_titlesec_format:n {#1} \exp_args:Nc \__ctex_titlesec_spacing:Nn { ttls@#1 } {#1} } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format:n #1 +\cs_new_protected:Npn \__ctex_titlesec_format:n #1 { \cs_if_free:cF { ttlf@#1 } { \exp_args:Nc \__ctex_titlesec_format:Nn { ttlf@#1 } {#1} } } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format:Nn #1#2 +\cs_new_protected:Npn \__ctex_titlesec_format:Nn #1#2 { \tl_set:Nx #1 { @@ -1168,7 +1187,7 @@ \tl_tail:N #1 } } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format_explicit:Nn #1#2 +\cs_new_protected:Npn \__ctex_titlesec_format_explicit:Nn #1#2 { \cs_set_nopar:Npx #1 ##1 { @@ -1178,7 +1197,7 @@ \exp_args:No \tl_tail:n { #1 { } } } } -\cs_new_protected_nopar:Npn \__ctex_titlesec_spacing:Nn #1#2 +\cs_new_protected:Npn \__ctex_titlesec_spacing:Nn #1#2 { \tl_set:Nx #1 { \exp_after:wN \__ctex_titlesec_spacing:nnnnnn #1 {#2} } } \cs_new:Npn \__ctex_titlesec_spacing:nnnnnn #1#2#3#4#5#6 { @@ -1200,14 +1219,14 @@ \tl_set:Nn \ttl@chapterout { \typeout { \CTEXthechapter } } \cs_if_free:NF \ttl@tocpart { - \cs_set_protected_nopar:Npn \ttl@tocpart + \cs_set_protected:Npn \ttl@tocpart { \tl_set:Nn \ttl@a { \CTEXthepart \hspace { 1em } } } } \seq_map_inline:Nn \c__ctex_headings_seq { \cs_if_exist:cF { ttl@toc #1 } { - \cs_new_protected_nopar:cpx { ttl@toc #1 } + \cs_new_protected:cpx { ttl@toc #1 } { \tl_set:Nn \exp_not:N \ttl@a { @@ -1220,7 +1239,7 @@ } \group_begin: \char_set_catcode_other:N \# -\cs_new_protected_nopar:Npn \ctex_titleps_hook: +\cs_new_protected:Npn \ctex_titleps_hook: { \ctex_patch_cmd:Nnn \ttl@settopmark { \protect \@namedef { the#1 } { \@nameuse { the#1 } } } @@ -1242,12 +1261,12 @@ } } \group_end: -\cs_new_nopar:Npn \CTEX@titlepslabel@set #1 +\cs_new:Npn \CTEX@titlepslabel@set #1 { \cs_if_free:cF { CTEXthe#1 } { \protect \@namedef { CTEXthe#1 } { \@nameuse { CTEXthe#1 } } } } -\cs_new_nopar:Npn \CTEX@titlepslabel@clear #1 +\cs_new:Npn \CTEX@titlepslabel@clear #1 { \cs_if_free:cF { CTEXthe#1 } { \protect \@namedef { CTEXthe#1 } { } } @@ -1257,9 +1276,9 @@ \ctex_at_end_package:nn { titleps } { \ctex_titleps_hook: } \ctex_at_end_package:nn { titleps } { - \cs_set_protected_nopar:Npn \ttl@setifthe #1 + \cs_set_protected:Npn \ttl@setifthe #1 { - \exp_args:Nco \cs_set_nopar:Npn { ifthe #1 } + \exp_args:Nco \cs_set:Npn { ifthe #1 } { \CTEXifname { \protect \@firstoftwo } @@ -1286,19 +1305,24 @@ { \CTEX@toc@width@n {#1} } { } { \ctex_patch_failure:N \numberline } - \@ifpackageloaded { tocloft } - { } + \cs_new_protected:Npn \__ctex_patch_toc_width:n \c_parameter_token 1 { - \ctex_at_end_package:nn { tocloft } + \@ifpackageloaded { \c_parameter_token 1 } + { } { - \ctex_preto_cmd:NnnTF \numberline - { \char_set_catcode_letter:n { 64 } } - { \CTEX@toc@width@n {#1} } - { } - { \ctex_patch_failure:N \numberline } + \ctex_at_end_package:nn { \c_parameter_token 1 } + { + \ctex_preto_cmd:NnnTF \numberline + { \char_set_catcode_letter:n { 64 } } + { \CTEX@toc@width@n {#1} } + { } + { \ctex_patch_failure:N \numberline } + } } } } +\__ctex_patch_toc_width:n { tocloft } +\__ctex_patch_toc_width:n { titletoc } \ctex_patch_cmd:Nnn \ps@headings { \ifnum \c@secnumdepth > \m@ne \if@mainmatter @@ -1320,7 +1344,7 @@ { \ifnum \c@secnumdepth > \z@ \thesection . ~ \ \fi } { \CTEXifname { \CTEXthesection \quad } { } } } -\cs_new_protected_nopar:Npn \CTEX@setcurrentlabel@n #1 +\cs_new_protected:Npn \CTEX@setcurrentlabel@n #1 { \protected@edef \@currentlabel { @@ -1329,17 +1353,17 @@ { \exp_not:o { \@currentlabel } } } } -\cs_new_protected_nopar:Npn \ctex_varioref_hook: +\cs_new_protected:Npn \ctex_varioref_hook: { \seq_map_inline:Nn \c__ctex_headings_seq { \ctex_fix_varioref_label:n { ##1 } } } -\cs_new_protected_nopar:Npn \ctex_fix_varioref_label:n #1 +\cs_new_protected:Npn \ctex_fix_varioref_label:n #1 { \tl_if_empty:cT { p@#1 } - { \exp_args:Nno \labelformat {#1} { \cs:w CTEX@the#1 \cs_end: } } + { \exp_args:Nnx \labelformat {#1} { \exp_not:c { CTEX@the#1 } } } } -\@ifpackageloaded { varioref } +\cs_if_exist:NTF \labelformat { \ctex_varioref_hook: } { \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter @@ -1353,7 +1377,7 @@ \ctex_scheme_input:o { \l__ctex_scheme_tl } \NewDocumentCommand \zihao { m } { \exp_args:Nx \ctex_zihao:n {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_zihao:n #1 +\cs_new_protected:Npn \ctex_zihao:n #1 { \prop_get:NnNTF \c__ctex_font_size_prop {#1} \l__ctex_font_size_tl { \exp_after:wN \fontsize \l__ctex_font_size_tl \selectfont } @@ -1368,7 +1392,7 @@ } \prop_new:N \c__ctex_font_size_prop \seq_new:N \c__ctex_font_size_seq -\cs_new_protected_nopar:Npn \__ctex_save_font_size:nn #1#2 +\cs_new_protected:Npn \__ctex_save_font_size:nn #1#2 { \use:x { @@ -1400,12 +1424,12 @@ { 0 } { 42 bp } } { \__ctex_save_font_size:nn #1 } -\cs_new_protected_nopar:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 { \__ctex_get_font_sizes:Nn \l__ctex_font_size_tl { {#1} {#2} {#3} {#4} } \exp_after:wN \DeclareMathSizes \l__ctex_font_size_tl } -\cs_new_protected_nopar:Npn \__ctex_get_font_sizes:Nn #1#2 +\cs_new_protected:Npn \__ctex_get_font_sizes:Nn #1#2 { \tl_clear:N #1 \tl_map_inline:nn {#2} @@ -1442,13 +1466,13 @@ { \msg_error:nnn { ctex } { fontsize } {#2} } } \cs_new_protected:Npn \__ctex_set_font_size:nnNn #1#2#3#4 - { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } -\if_case:w \g__ctex_font_size_int - \ctex_file_input:n { ctex-c5size.clo } -\or: - \ctex_file_input:n { ctex-cs4size.clo } -\fi: -\fp_compare:nNnF { \l__ctex_line_spread_fp } ? { \c_zero_fp } + { \cs_set_protected:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } +\int_case:nn { \g__ctex_font_size_int } + { + { 0 } { \ctex_file_input:n { ctex-c5size.clo } } + { 1 } { \ctex_file_input:n { ctex-cs4size.clo } } + } +\fp_if_nan:nF { \l__ctex_line_spread_fp } { \exp_args:Nx \linespread { \fp_use:N \l__ctex_line_spread_fp } \group_begin: \footnotesize \exp_args:NNNo \group_end: @@ -1459,47 +1483,76 @@ { C \TeX } \ctex_at_end_package:nn { hyperref } { \pdfstringdefDisableCommands { \tl_set:Nn \CTeX { CTeX } } } -\keys_define:nn { ctex } +\ctex_define:n { captiondelimiter .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { You~can~load~the~package~`caption'~to~get~its~functionality. } } } -\cs_new_protected_nopar:Npn \ctex_fontset_error:n #1 +\cs_new_protected:Npn \ctex_fontset_error:n #1 { \msg_critical:nnn { ctex } { fontset-unavailable } {#1} } \msg_new:nnn { ctex } { fontset-unavailable } { CTeX~fontset~`#1'~is~unavailable~in~current~mode. } -\cs_new_protected_nopar:Npn \ctex_load_fontset: +\cs_new:Npx \ctex_fontset_case:nnn #1#2#3 { - \tl_if_empty:NTF \g__ctex_fontset_tl + \sys_if_engine_pdftex:TF + {#1} + { \sys_if_engine_uptex:TF {#2} {#3} } + } +\cs_new:Npx \ctex_fontset_case:nnnn #1#2#3#4 + { + \sys_if_engine_pdftex:TF + { \sys_if_output_pdf:TF {#1} {#2} } + { \sys_if_engine_uptex:TF {#3} {#4} } + } +\cs_new_protected:Npn \ctex_detect_platform: + { + \sys_if_platform_windows:TF + { \tl_gset:Nn \g__ctex_fontset_tl { windows } } { - \ctex_detected_platform: - \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } + \ctex_if_platform_macos:TF + { \tl_gset:Nn \g__ctex_fontset_tl { mac } } + { \tl_gset:Nn \g__ctex_fontset_tl { fandol } } } + } +\cs_new_protected:Npn \ctex_if_platform_macos:TF + { \file_if_exist:nTF { /System/Library/Fonts/Menlo.ttc } } +\cs_new_protected:Npn \ctex_load_fontset: + { + \tl_if_empty:NTF \g__ctex_fontset_tl + { \ctex_detect_platform: } { - \file_if_exist:nTF { ctex-fontset- \g__ctex_fontset_tl .def } - { \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } + \bool_lazy_or:nnTF + { \str_if_eq_p:on { \g__ctex_fontset_tl } { windowsnew } } + { \str_if_eq_p:on { \g__ctex_fontset_tl } { windowsold } } + { + \msg_warning:nnxx { ctex } { deprecated-fontset } + { \g__ctex_fontset_tl } { windows } + \tl_gset:Nn \g__ctex_fontset_tl { windows } + } { - \use:x + \file_if_exist:nF { ctex-fontset- \g__ctex_fontset_tl .def } { - \ctex_detected_platform: - \msg_error:nnxx { ctex } { fontset-not-found } - { \g__ctex_fontset_tl } { \exp_not:N \g__ctex_fontset_tl } + \use:x + { + \ctex_detect_platform: + \msg_error:nnxx { ctex } { fontset-not-found } + { \g__ctex_fontset_tl } { \exp_not:N \g__ctex_fontset_tl } + } } - \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } } + \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } -\@onlypreamble \ctex_load_fontset: +\msg_new:nnn { ctex } { deprecated-fontset } + { CTeX~fontset~`#1'~is~deprecated.\\ Fontset~`#2'~will~be~used~instead. } \msg_new:nnnn { ctex } { fontset-not-found } - { - CTeX~fontset~`#1'~could~not~be~found.\\ - Fontset~`#2'~will~be~used~instead. - } + { CTeX~fontset~`#1'~could~not~be~found.\\ Fontset~`#2'~will~be~used~instead. } { You~may~run~`mktexlsr'~firstly. } -\keys_define:nn { ctex } +\@onlypreamble \ctex_load_fontset: +\ctex_define:n { fontset .code:n = { @@ -1529,14 +1582,16 @@ } { Only~one~fontset~can~be~loaded~in~the~preamble. } \msg_new:nnn { ctex } { fontset-only-preamble } - { - The~ `fontset'~ option~ can~ be~ used~ only~ in~ preamble. - } + { The~`fontset'~option~can~be~used~only~in~preamble. } \str_if_eq:onF { \g__ctex_fontset_tl } { none } { \ctex_load_fontset: } \ctex_at_end:n { \ctex_file_input:n { ctex.cfg } } %% -%% This package consists of the file ctex.dtx, +%% This package consists of the files ctex.dtx, +%% ctxdoc.cls, +%% ctxdocstrip.tex, +%% ctex-zhconv.lua, +%% ctex-zhconv-make.lua, %% and the derived files ctex.pdf, %% ctex.ins, %% ctex.sty, @@ -1546,16 +1601,15 @@ %% ctexbook.cls, %% ctexrep.cls, %% ctexbeamer.cls, -%% ctxdoc.cls, %% ctexcap.sty, %% ctexhook.sty, %% ctexpatch.sty, %% ctex-c5size.clo, %% ctex-cs4size.clo, -%% ctex-article.def, -%% ctex-book.def, -%% ctex-report.def, -%% ctex-beamer.def, +%% ctex-heading-article.def, +%% ctex-heading-book.def, +%% ctex-heading-report.def, +%% ctex-heading-beamer.def, %% ctex-scheme-plain.def, %% ctex-scheme-plain-article.def, %% ctex-scheme-plain-book.def, @@ -1570,6 +1624,7 @@ %% ctex-name-utf8.cfg, %% ctex.cfg, %% ctexopts.cfg, +%% ctexbackend.cfg, %% ctex-engine-pdftex.def, %% ctex-engine-xetex.def, %% ctex-engine-luatex.def, @@ -1587,26 +1642,25 @@ %% jt2zhrm.fd, %% jt2zhsf.fd, %% jt2zhtt.fd, -%% ctex-fontset-windows.def, -%% ctex-fontset-windowsnew.def, -%% ctex-fontset-windowsold.def, %% ctex-fontset-adobe.def, %% ctex-fontset-fandol.def, +%% ctex-fontset-founder.def, %% ctex-fontset-mac.def, %% ctex-fontset-macnew.def, %% ctex-fontset-macold.def, -%% ctex-fontset-founder.def, %% ctex-fontset-ubuntu.def, +%% ctex-fontset-windows.def, %% ctexspa.def, %% ctexpunct.spa, %% ctexmakespa.tex, %% ctexspamacro.tex, -%% ctxdocstrip.tex, %% zhadobefonts.tex, %% zhfandolfonts.tex, %% zhfounderfonts.tex, +%% zhmacfonts.tex, %% zhubuntufonts.tex, %% zhwindowsfonts.tex, +%% ctex-zhconv-index.lua, %% translator-theorem-dictionary-ChineseGBK.dict, %% translator-theorem-dictionary-ChineseUTF8.dict, and %% README.md. diff --git a/Master/texmf-dist/tex/latex/ctex/ctexcap.sty b/Master/texmf-dist/tex/latex/ctex/ctexcap.sty index 8500f1a47e0..08ca51d5c20 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexcap.sty +++ b/Master/texmf-dist/tex/latex/ctex/ctexcap.sty @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `ctexcap') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,18 +20,16 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. +%% This work has the LPPL maintenance status "maintained". %% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Chinese adapter in LaTeX (CTEX)} \ProvidesExplPackage{ctexcap} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \clist_new:N \l__ctex_ctexcap_options_clist \clist_set:Nx \l__ctex_ctexcap_options_clist { \exp_not:v { opt@ \@currname . \@currext } , heading } diff --git a/Master/texmf-dist/tex/latex/ctex/ctexheading.sty b/Master/texmf-dist/tex/latex/ctex/ctexheading.sty index 09798c222a5..55ab37997d0 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexheading.sty +++ b/Master/texmf-dist/tex/latex/ctex/ctexheading.sty @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `style,ctexheading') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,23 +20,29 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Heading style modification (CTEX)} \ProvidesExplPackage{ctexheading} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \RequirePackage { xparse , l3keys2e } \RequirePackage { ctexhook , ctexpatch } \tl_clear_new:N \l__ctex_tmp_tl \int_new:N \l__ctex_tmp_int \box_new:N \l__ctex_tmp_box +\cs_new_protected:Npn \ctex_define_option:n + { \keys_define:nn { ctex / option } } +\cs_new_protected:Npn \ctex_define:n + { \keys_define:nn { ctex } } +\cs_new_protected:Npn \ctex_set:n + { \keys_set:nn { ctex } } +\cs_new_protected:Npn \ctex_set:nn #1 + { \keys_set:nn { ctex / #1 } } \cs_new_protected:Npn \ctex_file_wrapper:nnn #1#2#3 { \use:x @@ -52,9 +58,9 @@ #3 } } -\cs_new_protected_nopar:Npn \ctex_file_input:n #1 +\cs_new_protected:Npn \ctex_file_input:n #1 { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } } -\cs_new_protected_nopar:Npn \ctex_scheme_input:n #1 +\cs_new_protected:Npn \ctex_scheme_input:n #1 { \ctex_file_wrapper:nnn { } @@ -71,7 +77,7 @@ \cs_generate_variant:Nn \ctex_scheme_input:n { o } \int_new:N \g__ctex_section_depth_int \int_gset:Nn \g__ctex_section_depth_int { 2 } -\keys_define:nn { ctex / option } +\ctex_define_option:n { sub3section .code:n = { \int_gset:Nn \g__ctex_section_depth_int { 3 } } , @@ -84,7 +90,7 @@ scheme .initial:n = { plain } } \ProcessKeysOptions { ctex / option } -\NewDocumentCommand \ctexset { } { \keys_set:nn { ctex } } +\NewDocumentCommand \ctexset { } { \ctex_set:n } \clist_map_inline:nn { article , book , report , beamer } { \@ifclassloaded {#1} @@ -111,10 +117,14 @@ { \tl_const:Nn \c__ctex_class_tl { article } } \msg_warning:nnx { ctex } { not-standard-class } { \c__ctex_class_tl } } - \ctex_file_input:n { ctex- \c__ctex_class_tl .def } + \ctex_file_input:n { ctex-heading- \c__ctex_class_tl .def } } %% -%% This package consists of the file ctex.dtx, +%% This package consists of the files ctex.dtx, +%% ctxdoc.cls, +%% ctxdocstrip.tex, +%% ctex-zhconv.lua, +%% ctex-zhconv-make.lua, %% and the derived files ctex.pdf, %% ctex.ins, %% ctex.sty, @@ -124,16 +134,15 @@ %% ctexbook.cls, %% ctexrep.cls, %% ctexbeamer.cls, -%% ctxdoc.cls, %% ctexcap.sty, %% ctexhook.sty, %% ctexpatch.sty, %% ctex-c5size.clo, %% ctex-cs4size.clo, -%% ctex-article.def, -%% ctex-book.def, -%% ctex-report.def, -%% ctex-beamer.def, +%% ctex-heading-article.def, +%% ctex-heading-book.def, +%% ctex-heading-report.def, +%% ctex-heading-beamer.def, %% ctex-scheme-plain.def, %% ctex-scheme-plain-article.def, %% ctex-scheme-plain-book.def, @@ -148,6 +157,7 @@ %% ctex-name-utf8.cfg, %% ctex.cfg, %% ctexopts.cfg, +%% ctexbackend.cfg, %% ctex-engine-pdftex.def, %% ctex-engine-xetex.def, %% ctex-engine-luatex.def, @@ -165,26 +175,25 @@ %% jt2zhrm.fd, %% jt2zhsf.fd, %% jt2zhtt.fd, -%% ctex-fontset-windows.def, -%% ctex-fontset-windowsnew.def, -%% ctex-fontset-windowsold.def, %% ctex-fontset-adobe.def, %% ctex-fontset-fandol.def, +%% ctex-fontset-founder.def, %% ctex-fontset-mac.def, %% ctex-fontset-macnew.def, %% ctex-fontset-macold.def, -%% ctex-fontset-founder.def, %% ctex-fontset-ubuntu.def, +%% ctex-fontset-windows.def, %% ctexspa.def, %% ctexpunct.spa, %% ctexmakespa.tex, %% ctexspamacro.tex, -%% ctxdocstrip.tex, %% zhadobefonts.tex, %% zhfandolfonts.tex, %% zhfounderfonts.tex, +%% zhmacfonts.tex, %% zhubuntufonts.tex, %% zhwindowsfonts.tex, +%% ctex-zhconv-index.lua, %% translator-theorem-dictionary-ChineseGBK.dict, %% translator-theorem-dictionary-ChineseUTF8.dict, and %% README.md. diff --git a/Master/texmf-dist/tex/latex/ctex/ctexhook.sty b/Master/texmf-dist/tex/latex/ctex/ctexhook.sty index e6478dc9378..ee858d5c9de 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexhook.sty +++ b/Master/texmf-dist/tex/latex/ctex/ctexhook.sty @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `ctexhook') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,25 +20,23 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Document and package hooks (CTEX)} \ProvidesExplPackage{ctexhook} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\cs_new_protected:Npn \ctex_at_end_preamble:n #1 - { \tl_gput_right:Nn \g__ctex_end_preamble_hook_tl {#1} } -\cs_new_protected:Npn \ctex_after_end_preamble:n #1 - { \tl_gput_right:Nn \g__ctex_after_end_preamble_hook_tl {#1} } -\cs_new_protected_nopar:Npn \CTEX@document@left@hook + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\cs_new_protected:Npn \ctex_at_end_preamble:n + { \tl_gput_right:Nn \g__ctex_end_preamble_hook_tl } +\cs_new_protected:Npn \ctex_after_end_preamble:n + { \tl_gput_right:Nn \g__ctex_after_end_preamble_hook_tl } +\cs_new_protected:Npn \CTEX@document@left@hook { \group_end: \g__ctex_end_preamble_hook_tl \group_begin: } -\cs_new_protected_nopar:Npn \CTEX@document@right@hook +\cs_new_protected:Npn \CTEX@document@right@hook { \scan_stop: \g__ctex_after_end_preamble_hook_tl \tex_ignorespaces:D } \cs_set_nopar:Npx \document { @@ -48,28 +46,51 @@ } \tl_new:N \g__ctex_end_preamble_hook_tl \tl_new:N \g__ctex_after_end_preamble_hook_tl -\cs_new_protected:Npn \ctex_at_end_package:nn #1#2 +\cs_new_protected:Npn \ctex_at_begin_package:nn #1 { \@ifpackageloaded {#1} - {#2} - { \ctex_gadd_hook:cn { g__ctex_at_end_ #1 _hook_tl } {#2} } + { \__ctex_package_loaded_warning:nn {#1} } + { \ctex_gadd_package_hook:nnn { begin } {#1} } + } +\cs_new_protected:Npn \__ctex_package_loaded_warning:nn #1#2 + { \msg_warning:nnx { ctex } { invalid-hook } {#1} } +\msg_new:nnn { ctex } { invalid-hook } + { + Package~`#1'~is~loaded. \\ + \token_to_str:N \ctex_at_begin_package:nn \{#1\}\{...\}~is~invalid. } -\cs_new_protected:Npn \ctex_gadd_hook:Nn #1#2 +\cs_new_protected:Npn \ctex_at_end_package:nn #1 + { + \@ifpackageloaded {#1} + { \use:n } + { \ctex_gadd_package_hook:nnn { end } {#1} } + } +\cs_new_protected:Npn \ctex_gadd_package_hook:nnn #1#2 + { \ctex_gadd_hook:cn { g__ctex_at_ #1 _ #2 _hook_tl } } +\cs_new_protected:Npn \ctex_gadd_hook:Nn #1 { \tl_if_exist:NF #1 { \tl_new:N #1 } - \tl_gput_right:Nn #1 {#2} + \tl_gput_right:Nn #1 } \cs_generate_variant:Nn \ctex_gadd_hook:Nn { c } -\cs_new_protected_nopar:Npn \ctex_package_end_hook:n #1 +\cs_new_protected:Npn \ctex_use_package_hook:nn #1#2 + { + \group_begin: \exp_args:NNc \group_end: + \__ctex_use_package_hook_aux:N { g__ctex_at_ #1 _ #2 _hook_tl } + } +\cs_new_protected:Npn \__ctex_use_package_hook_aux:N #1 + { \cs_if_exist_use:NT #1 { \cs_undefine:N #1 } } +\tl_put_right:Nn \@reset@ptions { \CTEX@reset@ptions@hook } +\cs_new_protected:Npn \CTEX@reset@ptions@hook { - \cs_if_exist_use:cT { g__ctex_at_end_ #1 _hook_tl } - { \cs_undefine:c { g__ctex_at_end_ #1 _hook_tl } } + \cs_if_eq:NNT \@currext \@pkgextension + { \ctex_use_package_hook:nn { begin } { \@currname } } } -\cs_generate_variant:Nn \ctex_package_end_hook:n { o } -\tl_put_left:Nn \@popfilename +\tl_put_left:Nn \@popfilename { \CTEX@popfilename@hook } +\cs_new_protected:Npn \CTEX@popfilename@hook { \cs_if_eq:NNT \@currext \@pkgextension - { \ctex_package_end_hook:o { \@currname } } + { \ctex_use_package_hook:nn { end } { \@currname } } } %% %% diff --git a/Master/texmf-dist/tex/latex/ctex/ctexpatch.sty b/Master/texmf-dist/tex/latex/ctex/ctexpatch.sty index 1773117c7bf..4ea589e0261 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexpatch.sty +++ b/Master/texmf-dist/tex/latex/ctex/ctexpatch.sty @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `ctexpatch') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,19 +20,16 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. +%% This work has the LPPL maintenance status "maintained". %% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Patching commands (CTEX)} \ProvidesExplPackage{ctexpatch} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\cs_if_exist:NF \str_new:N { \RequirePackage { l3str } } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \cs_new_protected:Npn \ctex_patch_cmd_once:NnnnTF #1#2 { \ctex_patch_boot:NNnnTF \__ctex_patch_cmd:Nnnnnw #1 @@ -70,14 +67,14 @@ } \cs_new_protected:Npn \ctex_patch_boot:NNnnTF #1#2#3#4#5#6 { - \tl_set:Nn \__ctex_patch_true:w {#5} - \tl_set:Nn \__ctex_patch_false:w {#6} + \cs_set_protected:Npx \__ctex_patch_true:w { \exp_not:n {#5} } + \cs_set_protected:Npx \__ctex_patch_false:w { \exp_not:n {#6} } \group_begin: \char_set_catcode_other:n { 35 } \ctex_parse_name:NN #1 #2 {#3} {#4} } -\tl_new:N \__ctex_patch_true:w -\tl_new:N \__ctex_patch_false:w +\cs_new_eq:NN \__ctex_patch_true:w \use_i:nn +\cs_new_eq:NN \__ctex_patch_false:w \use_ii:nn \cs_new_protected:Npn \ctex_parse_name:NN #1#2 { \ctex_parse_name:NNx #1#2 { \cs_to_str:N #2 } } \group_begin: @@ -98,7 +95,7 @@ \exp_not:N ##2 \exp_not:c { ##3 ~ } \exp_not:c { #1##3 } - } {##3} ##1 + } { ##3 } ##1 } { ##1##2 } } @@ -115,8 +112,8 @@ \str_if_eq:eeTF { \exp_not:n { #1@protected@ ##3 #1##3 } } { - \exp_last_unbraced:Nf \__ctex_parse_name:w - \cs_replacement_spec:N ##3 #3 ~ #2 \q_stop + \exp_last_unbraced:Ne \__ctex_parse_name:w + { \cs_replacement_spec:N ##3 } #3 ~ #2 \q_stop } { #1##5 ~ } { ##5 ~ } } diff --git a/Master/texmf-dist/tex/latex/ctex/ctexrep.cls b/Master/texmf-dist/tex/latex/ctex/ctexrep.cls index 76ca2e0dbeb..da8136b4f06 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexrep.cls +++ b/Master/texmf-dist/tex/latex/ctex/ctexrep.cls @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `class,report') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,18 +20,17 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \NeedsTeXFormat{LaTeX2e} +\input{ctexbackend.cfg} \RequirePackage{expl3} -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Chinese adapter for class report (CTEX)} \ProvidesExplClass{ctexrep} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \tl_const:Nx \c__ctex_version_tl { \cs_if_exist_use:cF { ver@ \@currname . \@currext } { 9999/99/99 } } \cs_new_eq:cN { ver@ctex. \@pkgextension } \c__ctex_version_tl @@ -42,11 +41,11 @@ \msg_new:nnnn { ctex } { l3-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~bundles\\\\ + Please~update~an~up-to-date~version~of~the~bundles\\\\ `l3kernel'~and~`l3packages'\\\\ using~your~TeX~package~manager~or~from~CTAN. } -\@ifpackagelater { expl3 } { 2019/03/05 } { } +\@ifpackagelater { expl3 } { 2020/04/06 } { } { \msg_error:nnn { ctex } { l3-too-old } { expl3 } } \@ifpackagelater { l3keys2e } { 2015/12/20 } { } { \msg_error:nnn { ctex } { l3-too-old } { l3keys2e } } @@ -62,11 +61,20 @@ } { \msg_critical:nnx { ctex } { engine-not-supported } { \c__ctex_engine_str } } \RequirePackage { ctexhook , ctexpatch } -\RequirePackage { fix-cm , everysel } +\RequirePackage { fix-cm } +\RequirePackage { everysel } \tl_clear_new:N \l__ctex_tmp_tl \int_new:N \l__ctex_tmp_int \box_new:N \l__ctex_tmp_box \dim_new:N \l__ctex_tmp_dim +\cs_new_protected:Npn \ctex_define_option:n + { \keys_define:nn { ctex / option } } +\cs_new_protected:Npn \ctex_define:n + { \keys_define:nn { ctex } } +\cs_new_protected:Npn \ctex_set:n + { \keys_set:nn { ctex } } +\cs_new_protected:Npn \ctex_set:nn #1 + { \keys_set:nn { ctex / #1 } } \cs_new_protected:Npn \ctex_file_wrapper:nnn #1#2#3 { \use:x @@ -82,9 +90,9 @@ #3 } } -\cs_new_protected_nopar:Npn \ctex_file_input:n #1 +\cs_new_protected:Npn \ctex_file_input:n #1 { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } } -\cs_new_protected_nopar:Npn \ctex_scheme_input:n #1 +\cs_new_protected:Npn \ctex_scheme_input:n #1 { \ctex_file_wrapper:nnn { } @@ -104,7 +112,7 @@ \msg_new:nnnn { ctex } { package-too-old } { Support~package~`#1'~too~old. } { - Please~update~an~up~to~date~version~of~the~package~`#1'\\ + Please~update~an~up-to-date~version~of~the~package~`#1'\\ using~your~TeX~package~manager~or~from~CTAN. } \sys_if_output_pdf:TF @@ -123,46 +131,44 @@ \exp_last_unbraced:NNNNo \cs_new:Npn \__ctex_default_ccwd_aux:w #1 { \tl_to_str:n { pt } } #2 \q_stop { \tl_if_empty:nT {#2} { \ccwd } } -\tl_new:N \l__ctex_encoding_tl -\tl_set:Nx \l__ctex_encoding_tl - { \sys_if_engine_pdftex:TF { GBK } { UTF8 } } +\tl_new:N \g__ctex_encoding_tl \bool_new:N \g__ctex_zhmCJK_bool \tl_new:N \l__ctex_autoindent_tl \cs_new_eq:NN \ctex_if_autoindent_touched:F \use:n \cs_new_eq:NN \ctex_zhmap_case:nnn \use_ii:nnn -\cs_new_protected_nopar:Npn \ctex_at_end:n { \AtEndOfClass } +\cs_new_protected:Npn \ctex_at_end:n { \AtEndOfClass } \clist_new:N \g__ctex_std_options_clist \msg_new:nnn { ctex } { invalid-option } { Option~`\l_keys_key_tl'~is~invalid~in~current~mode. } \msg_new:nnn { ctex } { invalid-value } { Value~`#1'~is~invalid~for~the~key~`\l_keys_key_tl'. } +\cs_new_protected:Npn \ctex_deprecated_option:n + { \msg_warning:nnn { ctex } { deprecated-option } } +\cs_new_protected:Npn \ctex_set_deprecated_option:n #1 + { + \ctex_deprecated_option:n { Option~`#1'~is~set. } + \ctex_set:nn { option } {#1} + } +\cs_new_protected:Npn \ctex_deprecated_command:Nn #1#2 + { + \msg_warning:nnxx { ctex } { deprecated-command } + { \token_to_str:N #1 } { \exp_not:n {#2} } + } \msg_new:nnn { ctex } { deprecated-option } - { Option~ `\l_keys_key_tl'~ is~ deprecated.\\ #1 } + { Option~`\l_keys_key_tl'~is~deprecated.\\ #1 } \msg_new:nnn { ctex } { deprecated-command } - { Command~ #1 is~ deprecated.\\ #2 } -\msg_new:nnn { ctex } { deprecated-environment } - { Environment~ `#1'~ is~ deprecated.\\ #2 } + { Command~`#1'~is~deprecated.\\ #2 } \int_new:N \g__ctex_font_size_int -\int_set:Nn \g__ctex_font_size_int { -1 } -\keys_define:nn { ctex / option } +\int_gset:Nn \g__ctex_font_size_int { -1 } +\ctex_define_option:n { zihao .choice: , zihao .value_required:n = true , zihao / 5 .code:n = { \int_gset:Nn \g__ctex_font_size_int { 0 } } , zihao / -4 .code:n = { \int_gset:Nn \g__ctex_font_size_int { 1 } } , zihao / false .code:n = { \int_gset:Nn \g__ctex_font_size_int { 2 } } , - c5size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=5'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = 5 } - } , - cs4size .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zihao=-4'~ is~ set. } - \keys_set:nn { ctex / option } { zihao = -4 } - } , + c5size .code:n = { \ctex_set_deprecated_option:n { zihao = 5 } } , + cs4size .code:n = { \ctex_set_deprecated_option:n { zihao = -4 } } , c5size .value_forbidden:n = true , cs4size .value_forbidden:n = true , linespread .fp_set:N = \l__ctex_line_spread_fp , @@ -187,56 +193,38 @@ } , indent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options.~ + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , indent .value_forbidden:n = true , noindent .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { - The~ functionality~ has~ been~ removed.\\ - It's~ better~ to~ set~ the~ heading~ styles~ via~ `afterindent'~ - options. + The~functionality~has~been~removed.\\ + It's~better~to~set~the~heading~styles~via~`afterindent'~option. } } , noindent .value_forbidden:n = true , - GBK .code:n = { \tl_set:Nn \l__ctex_encoding_tl { GBK } } , - UTF8 .code:n = { \tl_set:Nn \l__ctex_encoding_tl { UTF8 } } , - GBK .value_forbidden:n = true , - UTF8 .value_forbidden:n = true , - fontset .tl_gset:N = \g__ctex_fontset_tl , - nofonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=none'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = none } - } , - adobefonts .code:n = + GBK .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \sys_if_engine_pdftex:TF + { \tl_gset:Nn \g__ctex_encoding_tl { GBK } } { - Option~ `fontset=adobe'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. + \msg_warning:nn { ctex } { invalid-option } + \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } } - \keys_set:nn { ctex / option } { fontset = adobe } - } , - winfonts .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { - Option~ `fontset=windows'~ is~ set.~ It~ is~ better~ to~ use~ - fontset~ option. - } - \keys_set:nn { ctex / option } { fontset = windows } } , + UTF8 .code:n = { \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } } , + GBK .value_forbidden:n = true , + UTF8 .value_forbidden:n = true , + fontset .tl_gset:N = \g__ctex_fontset_tl , + nofonts .code:n = { \ctex_set_deprecated_option:n { fontset = none } } , + adobefonts .code:n = { \ctex_set_deprecated_option:n { fontset = adobe } } , + winfonts .code:n = { \ctex_set_deprecated_option:n { fontset = windows } } , nofonts .value_forbidden:n = true , winfonts .value_forbidden:n = true , adobefonts .value_forbidden:n = true , @@ -258,35 +246,21 @@ \cs_gset_eq:NN \ctex_zhmap_case:nnn \use_iii:nnn } , nozhmap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `zhmap=false'~ is~ set. } - \keys_set:nn { ctex / option } { zhmap = false } - } , + { \ctex_set_deprecated_option:n { zhmap = false } } , nozhmap .value_forbidden:n = true , punct .tl_set:N = \l__ctex_punct_tl , punct .default:n = { quanjiao } , punct .initial:n = { quanjiao } , - nopunct .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `punct=plain'~ is~ set. } - \keys_set:nn { ctex / option } { punct = plain } - } , + nopunct .code:n = \ctex_set_deprecated_option:n { punct = plain } , nopunct .value_forbidden:n = true , space .choices:nn = { true , auto , false } { \exp_args:Nx \ctex_at_end:n - { \keys_set:nn { ctex } { space = \l_keys_choice_tl } } + { \ctex_set:n { space = \l_keys_choice_tl } } } , space .default:n = { true } , - nospace .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `space=false'~ is~ set. } - \keys_set:nn { ctex / option } { space = false } - } , + nospace .code:n = { \ctex_deprecated_option:nn { space = false } } , nospace .value_forbidden:n = true , heading .bool_set:N = \l__ctex_heading_bool , sub3section .code:n = @@ -298,35 +272,37 @@ scheme .tl_set:N = \l__ctex_scheme_tl , scheme .default:n = { chinese } , scheme .initial:n = { chinese } , - cap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = chinese' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = chinese } - } , - nocap .code:n = - { - \msg_warning:nnn { ctex } { deprecated-option } - { Option~ `scheme = plain' ~ is~ set. } - \keys_set:nn { ctex / option } { scheme = plain } - } , + cap .code:n = { \ctex_set_deprecated_option:n { scheme = chinese } } , + nocap .code:n = { \ctex_set_deprecated_option:n { scheme = plain } } , cap .value_forbidden:n = true , nocap .value_forbidden:n = true , - fntef .code:n = + fntef .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `(xe)CJKfntef'~ package~ is~ always~ loaded. } + \sys_if_engine_xetex:TF + { + \ctex_deprecated_option:n { `xeCJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { xeCJKfntef } } + } + { + \sys_if_engine_pdftex:TF + { + \ctex_deprecated_option:n { `CJKfntef'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { CJKfntef } } + } + { + \ctex_deprecated_option:n + { Furthermore,~option~`fntef'~is~invalid~in~current~mode. } + } + } } , fancyhdr .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `fancyhdr'~ package~ is~ loaded. } - \RequirePackage { fancyhdr } + \ctex_deprecated_option:n { `fancyhdr'~package~is~loaded. } + \ctex_at_end:n { \RequirePackage { fancyhdr } } } , hyperref .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } - { `hyperref'~ package~ will~ be~ loaded. } + \ctex_deprecated_option:n { `hyperref'~package~will~be~loaded. } \ctex_at_end:n { \cs_if_exist:NF \hypersetup @@ -352,47 +328,63 @@ #1 .value_forbidden:n = true , } } -\use:x { \keys_define:nn { ctex / option } { \exp_not:o { \l__ctex_tmp_tl } } } +\exp_args:No \ctex_define_option:n { \l__ctex_tmp_tl } \tl_clear:N \l__ctex_tmp_tl -\keys_define:nn { ctex / option } +\ctex_define_option:n { unknown .code:n = { \clist_gput_right:No \g__ctex_std_options_clist { \CurrentOption } } } \ctex_file_input:n { ctexopts.cfg } \ProcessKeysOptions { ctex / option } -\if_case:w \g__ctex_font_size_int - \clist_gput_right:Nn \g__ctex_std_options_clist { 10pt } -\or: - \clist_gput_right:Nn \g__ctex_std_options_clist { 12pt } -\fi: +\msg_new:nnn { ctex } { pdftex-utf8 } + { UTF8~will~be~used~as~the~default~encoding. } +\tl_if_empty:NT \g__ctex_encoding_tl + { + \sys_if_engine_pdftex:T + { \msg_warning:nn { ctex } { pdftex-utf8 } } + \tl_gset:Nn \g__ctex_encoding_tl { UTF8 } + } +\int_case:nn { \g__ctex_font_size_int } + { + { 0 } { \clist_gput_right:Nn \g__ctex_std_options_clist { 10pt } } + { 1 } { \clist_gput_right:Nn \g__ctex_std_options_clist { 12pt } } + } \tl_const:Nn \c__ctex_class_tl { report } \PassOptionsToClass { \g__ctex_std_options_clist } { report } \LoadClass { report } \@ifpackageloaded { hyperref } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \hypersetup {#1} } } { - \cs_new_protected_nopar:Npn \ctex_hypersetup:n #1 + \cs_new_protected:Npn \ctex_hypersetup:n #1 { \PassOptionsToPackage {#1} { hyperref } } } \ctex_file_input:n { \c__ctex_engine_file_str } -\NewDocumentCommand \ctexset { } { \keys_set:nn { ctex } } -\NewDocumentCommand \CTEXsetup { +o > { \TrimSpaces } m } +\NewDocumentCommand \ctexset { } { \ctex_set:n } +\NewDocumentCommand \CTEXsetup { +O { } > { \TrimSpaces } m } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXsetup } - { \ctexset~ {~ #2~ =~ {~ #1~ }~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex / #2 } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXsetup { } } + { + \ctex_deprecated_command:Nn \CTEXsetup + { \ctexset {~#2~=~{~#1~}~}~is~set. } + \ctex_set:nn {#2} {#1} + } } -\NewDocumentCommand \CTEXoptions { +o } +\NewDocumentCommand \CTEXoptions { +O { } } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXoptions } - { \ctexset~ {~ #1~ }~ is~ set. } - \IfNoValueF {#1} { \keys_set:nn { ctex } {#1} } + \tl_if_blank:nTF {#1} + { \ctex_deprecated_command:Nn \CTEXoptions { } } + { + \ctex_deprecated_command:Nn \CTEXoptions + { \ctexset {~#1~}~is~set. } + \ctex_set:n {#1} + } } -\keys_define:nn { ctex } +\ctex_define:n { autoindent .choice: , autoindent .default:n = { true } , @@ -410,9 +402,9 @@ } } \NewDocumentCommand \CTEXsetfont { } { \ctex_select_size: } -\cs_new_protected_nopar:Npn \ctex_select_size: +\cs_new_protected:Npn \ctex_select_size: { \cs_if_free:NTF \size@update { \ctex_update_size: } { \selectfont } } -\cs_new_protected_nopar:Npn \ctex_update_size: +\cs_new_protected:Npn \ctex_update_size: { \tl_if_eq:NNTF \l__ctex_ziju_tl \c__ctex_zero_tl { @@ -426,7 +418,7 @@ \tl_set_eq:NN \l__ctex_ziju_tl \c__ctex_zero_tl \ctex_add_to_selectfont:n { \cs_if_free:NF \size@update { \ctex_update_size: } } -\keys_define:nn { ctex } +\ctex_define:n { linestretch .code:n = { @@ -437,7 +429,7 @@ } \tl_new:N \l__ctex_line_stretch_tl \tl_set:Nn \l__ctex_line_stretch_tl { \ccwd } -\cs_new_protected_nopar:Npn \ctex_update_stretch: +\cs_new_protected:Npn \ctex_update_stretch: { \ctex_update_em_unit: \dim_set:Nn \l__ctex_tmp_dim { \l__ctex_line_stretch_tl } @@ -472,7 +464,7 @@ \ctex_update_ccglue: } } -\cs_new_protected_nopar:Npn \ctex_update_parindent: +\cs_new_protected:Npn \ctex_update_parindent: { \tl_if_empty:NF \l__ctex_autoindent_tl { @@ -482,12 +474,12 @@ } \NewDocumentCommand \ziju { m } { \exp_args:Nx \ctex_ziju:n {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_ziju:n #1 +\cs_new_protected:Npn \ctex_ziju:n #1 { \tl_set:Nx \l__ctex_ziju_tl { \fp_eval:n {#1} } \ctex_select_size: } -\cs_new_protected_nopar:Npn \ctex_update_ziju: +\cs_new_protected:Npn \ctex_update_ziju: { \ctex_update_em_unit: \dim_set:Nn \l__ctex_ziju_dim { \l__ctex_ziju_tl \ccwd } @@ -519,19 +511,20 @@ \dim_new:N \l__ctex_ziju_dim \NewDocumentCommand \CTEXindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXindent } - { \parindent is~ set~ to~ 2\ccwd. } - \ctex_update_ccwd: \dim_set:Nn \parindent { 2 \ccwd } + \ctex_deprecated_command:Nn \CTEXindent + { \parindent is~set~to~2\ccwd. } + \ctex_update_ccwd: + \dim_set:Nn \parindent { 2 \ccwd } } \NewDocumentCommand \CTEXnoindent { } { - \msg_warning:nnnn { ctex } { deprecated-command } { \CTEXnoindent } - { \parindent is~ set~ to~ 0pt. } + \ctex_deprecated_command:Nn \CTEXnoindent + { \parindent is~set~to~0pt. } \dim_zero:N \parindent } -\PassOptionsToPackage { encoding = \l__ctex_encoding_tl } { zhnumber } +\PassOptionsToPackage { encoding = \g__ctex_encoding_tl } { zhnumber } \RequirePackage { zhnumber } -\cs_new_nopar:Npn \chinese { \zhnum_counter:n } +\cs_new:Npn \chinese { \zhnum_counter:n } \cs_new_eq:NN \@chinese \@zhnum \cs_new_eq:NN \Chinese \chinese \cs_new_eq:NN \CTEXcounter \use_none:n @@ -549,7 +542,7 @@ \NewDocumentCommand \CTEXdigits { m m } { \protected@edef #1 { \zhdigits {#2} } } \cs_set_eq:NN \CTEX@todayold \today -\keys_define:nn { ctex } +\ctex_define:n { today .choice: , today / old .code:n = @@ -575,7 +568,7 @@ \tl_new:N \proofname \tl_set:Nn \proofname { Proof } } -\keys_define:nn { ctex } +\ctex_define:n { contentsname .tl_set:N = \contentsname , listfigurename .tl_set:N = \listfigurename , @@ -594,7 +587,7 @@ \seq_gset_eq:NN \c__ctex_headings_seq \c__ctex_section_headings_seq \seq_gput_left:Nn \c__ctex_headings_seq { chapter } \seq_gput_left:Nn \c__ctex_headings_seq { part } -\cs_new_protected_nopar:Npn \__ctex_initial_heading:n #1 +\cs_new_protected:Npn \__ctex_initial_heading:n #1 { \tl_new:c { CTEX@pre#1 } \tl_new:c { CTEX@post#1 } @@ -624,7 +617,7 @@ \group_end: } } -\cs_new_protected_nopar:Npn \__ctex_def_heading_keys:n #1 +\cs_new_protected:Npn \__ctex_def_heading_keys:n #1 { \tl_put_right:Nx \l__ctex_tmp_tl { @@ -648,11 +641,8 @@ #1 / hang .bool_set:N = \exp_not:c { CTEX@#1@hang } , #1 / hang .initial:n = true , #1 / runin .bool_set:N = \exp_not:c { CTEX@#1@runin } , - #1 / tocline .code:n = - { - \cs_set:Npn \exp_not:c { CTEX@#1@tocline} - \exp_not:n { ####1####2 } { ####1 } - } , + #1 / tocline .cs_set:Np = \exp_not:c { CTEX@#1@tocline} + \exp_not:n { ##1##2 } , \__ctex_plus_key_aux:nn {#1} { break } , \__ctex_plus_key_aux:nn {#1} { format } , \__ctex_plus_key_aux:nn {#1} { nameformat } , @@ -662,7 +652,7 @@ \__ctex_plus_key_aux:nn {#1} { aftertitle } , } } -\cs_new_nopar:Npn \__ctex_plus_key_aux:nn #1#2 +\cs_new:Npn \__ctex_plus_key_aux:nn #1#2 { #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , #1 / #2 + .code:n = @@ -676,7 +666,7 @@ \cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3 { \tl_set:cn { CTEX@pre#1 } {#2} - \IfNoValueTF {#3} + \tl_if_novalue:nTF {#3} { \tl_clear:c { CTEX@post#1 } } { \tl_set:cn { CTEX@post#1 } {#3} } } @@ -697,35 +687,49 @@ \__ctex_initial_heading:n {#1} \__ctex_def_heading_keys:n {#1} } -\use:x +\exp_args:NNo \group_end: \ctex_define:n { \l__ctex_tmp_tl } +\cs_new_protected:Npn \CTEX@heading@format@initial { - \group_end: - \keys_define:nn { ctex } { \exp_not:o { \l__ctex_tmp_tl } } + \normalfont + \tl_clear:N \l__ctex_autoindent_tl + \int_set:Nn \tex_interlinepenalty:D { 10 000 } + \tex_noindent:D } -\cs_new_protected_nopar:Npn \CTEX@fixtopskip +\cs_new_protected:Npn \ctex_indent_box:n #1 + { + \dim_set:Nn \tex_parindent:D {#1} + \__ctex_insert_indent: + } +\cs_new_protected:Npn \__ctex_insert_indent: + { + \dim_compare:nNnF \tex_parindent:D = \c_zero_dim + { \tex_indent:D } + } +\cs_new_eq:NN \CTEX@indentbox \ctex_indent_box:n +\cs_new_protected:Npn \CTEX@fixtopskip { \CTEX@fixheadingskip \dim_compare:nNnF \tex_pagegoal:D < \c_max_dim { \skip_sub:Nn \l__ctex_heading_skip { \tex_topskip:D } } } -\cs_new_protected_nopar:Npn \CTEX@fixheadingskip +\cs_new_protected:Npn \CTEX@fixheadingskip { \par \dim_set:Nn \tex_prevdepth:D { -1000pt } \skip_sub:Nn \l__ctex_heading_skip { \tex_parskip:D } } \skip_new:N \l__ctex_heading_skip -\cs_new_protected_nopar:Npn \CTEX@setheadingskip +\cs_new_protected:Npn \CTEX@setheadingskip { \skip_set:Nn \l__ctex_heading_skip } \cs_new_eq:NN \CTEX@headingskip \l__ctex_heading_skip \ProvideDocumentCommand \partmark { m } { \markboth { } { } } \cs_new_eq:NN \CTEXifname \use_ii:nn -\cs_new_protected_nopar:Npn \CTEX@ifnametrue +\cs_new_protected:Npn \CTEX@ifnametrue { \cs_set_eq:NN \CTEXifname \use_i:nn } -\cs_new_protected_nopar:Npn \CTEX@ifnamefalse +\cs_new_protected:Npn \CTEX@ifnamefalse { \cs_set_eq:NN \CTEXifname \use_ii:nn } -\cs_new_protected_nopar:Npn \CTEX@addloflotskip #1 +\cs_new_protected:Npn \CTEX@addloflotskip #1 { \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1@lofskip } } \skip_if_eq:nnF { \l__ctex_heading_skip } { \c_zero_skip } @@ -742,8 +746,6 @@ } \cs_new_protected:Npn \CTEX@addtocline #1#2 { \addcontentsline { toc } {#1} { \use:c { CTEX@#1@tocline } {#1} {#2} } } -\cs_new_protected_nopar:Npn \CTEX@disableautoindent - { \tl_clear:N \l__ctex_autoindent_tl } \renewcommand\part{% \CTEX@part@break \thispagestyle{\CTEX@part@pagestyle}% @@ -772,51 +774,53 @@ \fi \CTEX@gettitle{#1}% \CTEX@addtocline{part}{#1}% - \partmark{#1}% - {\interlinepenalty \@M - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}% - {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% - \CTEX@part@titleformat{#2}% - \CTEX@part@aftertitle}% + \partmark{#1}% + \begingroup + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}% + {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% + \CTEX@part@titleformat{#2}% + \CTEX@part@aftertitle}\par + \endgroup \@endpart} \def\@spart#1{% - \CTEX@ifnamefalse - \CTEX@makeanchor@spart{part*}% - \CTEX@gettitle{#1}% - {\interlinepenalty \@M - \CTEX@disableautoindent - \normalfont \CTEX@part@format - \CTEX@hangindent{part}{}% - \CTEX@part@titleformat{#1}% - \CTEX@part@aftertitle}% - \@endpart} + \CTEX@ifnamefalse + \CTEX@makeanchor@spart{part*}% + \CTEX@gettitle{#1}% + \begingroup + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}{}% + \CTEX@part@titleformat{#1}% + \CTEX@part@aftertitle}\par + \endgroup + \@endpart} \def\@endpart{% - \CTEX@setheadingskip \CTEX@part@afterskip - \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - \newpage - \if@twoside - \if@openright - \null - \thispagestyle{empty}% - \newpage - \fi - \fi - \if@tempswa - \twocolumn - \fi} + \CTEX@setheadingskip \CTEX@part@afterskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \newpage + \if@twoside + \if@openright + \null + \thispagestyle{empty}% + \newpage + \fi + \fi + \if@tempswa + \twocolumn + \fi} \renewcommand\chapter{% - \CTEX@chapter@break - \thispagestyle{\CTEX@chapter@pagestyle}% - \global\@topnum\z@ - \ifodd \CTEX@chapter@afterindent - \@afterindenttrue - \else - \@afterindentfalse - \fi - \secdef\@chapter\@schapter} + \CTEX@chapter@break + \thispagestyle{\CTEX@chapter@pagestyle}% + \global\@topnum\z@ + \ifodd \CTEX@chapter@afterindent + \@afterindenttrue + \else + \@afterindentfalse + \fi + \secdef\@chapter\@schapter} \def\@chapter[#1]#2{% \ifnum \c@secnumdepth >\m@ne \ifodd \CTEX@chapter@numbering @@ -855,33 +859,33 @@ \CTEX@setheadingskip \CTEX@chapter@beforeskip \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi \vspace*{\CTEX@headingskip}% - {\CTEX@disableautoindent - \normalfont \CTEX@chapter@format - \interlinepenalty\@M - \CTEX@hangindent{chapter}% - {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}% - \CTEX@chapter@titleformat{#1}% - \CTEX@chapter@aftertitle - \nobreak - \CTEX@setheadingskip \CTEX@chapter@afterskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - }} + \begingroup + \CTEX@heading@format@initial + \CTEX@chapter@format{% + \CTEX@headinghang{chapter}% + {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}% + \CTEX@chapter@titleformat{#1}% + \CTEX@chapter@aftertitle}\par + \endgroup + \nobreak + \CTEX@setheadingskip \CTEX@chapter@afterskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip} \def\@makeschapterhead#1{% \CTEX@setheadingskip \CTEX@chapter@beforeskip \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi \vspace*{\CTEX@headingskip}% - {\CTEX@disableautoindent - \normalfont \CTEX@chapter@format - \interlinepenalty\@M - \CTEX@hangindent{chapter}{}% - \CTEX@chapter@titleformat{#1}% - \CTEX@chapter@aftertitle - \nobreak - \CTEX@setheadingskip \CTEX@chapter@afterskip - \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi - \vskip \CTEX@headingskip - }} + \begingroup + \CTEX@heading@format@initial + \CTEX@chapter@format{% + \CTEX@headinghang{chapter}{}% + \CTEX@chapter@titleformat{#1}% + \CTEX@chapter@aftertitle}\par + \endgroup + \nobreak + \CTEX@setheadingskip \CTEX@chapter@afterskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip} \def\@startsection#1#2#3#4#5#6{% \if@noskipsec \leavevmode \fi \par @@ -924,22 +928,22 @@ \CTEX@gettitle{#7}% \unless \ifodd \CTEX@runin \begingroup + \CTEX@heading@format@initial #6{% - \CTEX@hangfrom{\hskip\glueexpr #3\relax\@svsec}% - \interlinepenalty \@M + \CTEX@sectionhang{#3}{\@svsec}% \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% + \csname CTEX@#1@aftertitle\endcsname}\par \endgroup \csname #1mark\endcsname{#7}% \CTEX@addtocline{#1}{#7}% \else \def\@svsechd{% - #6{\hskip\glueexpr #3\relax - \@svsec - \csname CTEX@#1@titleformat\endcsname{#8}% - \csname CTEX@#1@aftertitle\endcsname}% - \csname #1mark\endcsname{#7}% - \CTEX@addtocline{#1}{#7}}% + #6{% + {\CTEX@indentbox{#3}}\@svsec + \csname CTEX@#1@titleformat\endcsname{#8}% + \csname CTEX@#1@aftertitle\endcsname}% + \csname #1mark\endcsname{#7}% + \CTEX@addtocline{#1}{#7}}% \fi \@xsect{#5}} \def\@ssect#1#2#3#4#5{% @@ -947,15 +951,15 @@ \CTEX@gettitle{#5}% \unless \ifodd \CTEX@runin \begingroup + \CTEX@heading@format@initial #4{% - \CTEX@hangfrom{\hskip\glueexpr #1\relax}% - \interlinepenalty \@M + \CTEX@sectionhang{#1}{}% \CTEX@titleformat@n{#5}% - \CTEX@aftertitle}% + \CTEX@aftertitle}\par \endgroup \else - \def\@svsechd{#4{\hskip\glueexpr #1\relax - \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% + \def\@svsechd{#4{{\CTEX@indentbox{#1}}% + \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% \fi \@xsect{#3}} \def\@xsect#1{% @@ -975,32 +979,47 @@ \clubpenalty\@M \begingroup \@svsechd \endgroup \unskip - \hskip\glueexpr #1\relax + \CTEX@heading@glue{#1}% \else \clubpenalty \@clubpenalty \everypar{}% \fi}% \fi \ignorespaces} -\cs_new_protected:Npn \CTEX@hangindent #1#2 +\cs_new_protected:Npn \CTEX@headinghang #1 { - \dim_set:Nn \parindent { \use:c { CTEX@#1@indent } } - \bool_if:cTF { CTEX@#1@hang } - { \@hangfrom { \__ctex_indent_aux: #2 } } - {#2} + \ctex_heading_hang:cnn + { CTEX@#1@hang } + { \use:c { CTEX@#1@indent } } } -\cs_new_protected_nopar:Npn \__ctex_indent_aux: +\cs_new_protected:Npn \CTEX@sectionhang + { \ctex_heading_hang:Nnn \CTEX@hang } +\cs_new_protected:Npn \ctex_heading_hang:Nnn #1#2#3 { - \dim_compare:nNnF \parindent = \c_zero_dim - { \skip_horizontal:n { \parindent } } + \dim_set:Nn \tex_parindent:D {#2} + \bool_if:NTF #1 + { \ctex_hang_from:n } + { \use:n } + { \__ctex_insert_indent: #3 } } -\cs_new_protected_nopar:Npn \CTEX@hangfrom +\cs_new_protected:Npn \ctex_hang_from:n #1 { - \bool_if:NTF \CTEX@hang - { \@hangfrom } - { \noindent \use:n } + \tex_noindent:D + \hbox_set:Nn \l__ctex_tmp_box {#1} + \tex_hangindent:D = \box_wd:N \l__ctex_tmp_box + \box_use_drop:N \l__ctex_tmp_box + } +\cs_generate_variant:Nn \ctex_heading_hang:Nnn { c } +\cs_new_protected:Npn \ctex_heading_glue:n #1 + { + \group_begin: + \skip_set:Nn \l__ctex_heading_skip {#1} + \dim_compare:nNnF \l__ctex_heading_skip = \c_zero_dim + { \skip_horizontal:N \l__ctex_heading_skip } + \group_end: } -\cs_new_protected_nopar:Npn \CTEX@update@sectionformat@n #1 +\cs_new_eq:NN \CTEX@heading@glue \ctex_heading_glue:n +\cs_new_protected:Npn \CTEX@update@sectionformat@n #1 { \cs_set_eq:Nc \CTEX@titleformat@n { CTEX@#1@titleformat } \cs_set_eq:Nc \CTEX@aftertitle { CTEX@#1@aftertitle } @@ -1029,7 +1048,7 @@ { } #2 } -\cs_new_nopar:Npn \CTEXnumberline #1 +\cs_new:Npn \CTEXnumberline #1 { \CTEXifname { \protect \numberline { \use:c { CTEXthe #1 } } } @@ -1039,7 +1058,7 @@ \seq_map_inline:Nn \c__ctex_section_headings_seq { \int_incr:N \l__ctex_tmp_int - \cs_gset_protected_nopar:cpx {#1} + \cs_gset_protected:cpx {#1} { \exp_not:N \@startsection {#1} { \int_use:N \l__ctex_tmp_int } @@ -1051,7 +1070,7 @@ \cs_new:cpn { CTEX@#1@tocline } ##1##2 { \CTEXnumberline { ##1 } ##2 } } -\keys_define:nn { ctex } +\ctex_define:n { appendix .meta:nn = { ctex / appendix } {#1} , appendix / name .code:n = @@ -1063,7 +1082,7 @@ \tl_new:N \CTEX@preappendix \tl_new:N \CTEX@postappendix \cs_new_eq:NN \CTEX@save@appendix \appendix -\cs_gset_protected_nopar:Npn \appendix +\cs_gset_protected:Npn \appendix { \CTEX@save@appendix \gdef \CTEX@prechapter { \CTEX@preappendix } @@ -1071,7 +1090,7 @@ \gdef \CTEX@postchapter { \CTEX@postappendix } \gdef \CTEX@chapter@numbering { \CTEX@appendix@numbering } } -\cs_new_protected_nopar:Npn \CTEX@makeanchor #1 +\cs_new_protected:Npn \CTEX@makeanchor #1 { } \seq_const_from_clist:Nn \c__ctex_headings_cs_seq { part , spart , chapter , schapter , sect , ssect } @@ -1080,7 +1099,7 @@ \cs_new_eq:cc { CTEX@ #1 } { @ #1 } \cs_new_eq:cN { CTEX@makeanchor@ #1 } \CTEX@makeanchor } -\cs_new_protected_nopar:Npn \CTEX@hyperheadinghook +\cs_new_protected:Npn \CTEX@hyperheadinghook { \group_begin: \ifHy@implicit @@ -1101,7 +1120,7 @@ } \ctex_at_end_package:nn { hyperref } { - \cs_gset_protected_nopar:Npn \CTEX@makeanchor #1 + \cs_gset_protected:Npn \CTEX@makeanchor #1 { \Hy@MakeCurrentHrefAuto {#1} \Hy@raisedlink @@ -1116,14 +1135,14 @@ { } \ctex_at_end_package:nn { nameref } { - \cs_gset_protected_nopar:Npn \CTEX@gettitle { \NR@gettitle } + \cs_gset_protected:Npn \CTEX@gettitle { \NR@gettitle } \seq_map_inline:Nn \c__ctex_headings_cs_seq { \cs_if_eq:ccT { NR@ #1 } { CTEX@ #1 } { \cs_gset_eq:cc { @ #1 } { CTEX@ #1 } } } } -\cs_new_protected_nopar:Npn \ctex_titlesec_hook: +\cs_new_protected:Npn \ctex_titlesec_hook: { \@ifpackagewith { titlesec } { explicit } { @@ -1143,17 +1162,17 @@ } \seq_map_function:NN \c__ctex_section_headings_seq \__ctex_titlesec_hook:n } -\cs_new_protected_nopar:Npn \__ctex_titlesec_hook:n #1 +\cs_new_protected:Npn \__ctex_titlesec_hook:n #1 { \__ctex_titlesec_format:n {#1} \exp_args:Nc \__ctex_titlesec_spacing:Nn { ttls@#1 } {#1} } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format:n #1 +\cs_new_protected:Npn \__ctex_titlesec_format:n #1 { \cs_if_free:cF { ttlf@#1 } { \exp_args:Nc \__ctex_titlesec_format:Nn { ttlf@#1 } {#1} } } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format:Nn #1#2 +\cs_new_protected:Npn \__ctex_titlesec_format:Nn #1#2 { \tl_set:Nx #1 { @@ -1163,7 +1182,7 @@ \tl_tail:N #1 } } -\cs_new_protected_nopar:Npn \__ctex_titlesec_format_explicit:Nn #1#2 +\cs_new_protected:Npn \__ctex_titlesec_format_explicit:Nn #1#2 { \cs_set_nopar:Npx #1 ##1 { @@ -1173,7 +1192,7 @@ \exp_args:No \tl_tail:n { #1 { } } } } -\cs_new_protected_nopar:Npn \__ctex_titlesec_spacing:Nn #1#2 +\cs_new_protected:Npn \__ctex_titlesec_spacing:Nn #1#2 { \tl_set:Nx #1 { \exp_after:wN \__ctex_titlesec_spacing:nnnnnn #1 {#2} } } \cs_new:Npn \__ctex_titlesec_spacing:nnnnnn #1#2#3#4#5#6 { @@ -1195,14 +1214,14 @@ \tl_set:Nn \ttl@chapterout { \typeout { \CTEXthechapter } } \cs_if_free:NF \ttl@tocpart { - \cs_set_protected_nopar:Npn \ttl@tocpart + \cs_set_protected:Npn \ttl@tocpart { \tl_set:Nn \ttl@a { \CTEXthepart \hspace { 1em } } } } \seq_map_inline:Nn \c__ctex_headings_seq { \cs_if_exist:cF { ttl@toc #1 } { - \cs_new_protected_nopar:cpx { ttl@toc #1 } + \cs_new_protected:cpx { ttl@toc #1 } { \tl_set:Nn \exp_not:N \ttl@a { @@ -1215,7 +1234,7 @@ } \group_begin: \char_set_catcode_other:N \# -\cs_new_protected_nopar:Npn \ctex_titleps_hook: +\cs_new_protected:Npn \ctex_titleps_hook: { \ctex_patch_cmd:Nnn \ttl@settopmark { \protect \@namedef { the#1 } { \@nameuse { the#1 } } } @@ -1237,12 +1256,12 @@ } } \group_end: -\cs_new_nopar:Npn \CTEX@titlepslabel@set #1 +\cs_new:Npn \CTEX@titlepslabel@set #1 { \cs_if_free:cF { CTEXthe#1 } { \protect \@namedef { CTEXthe#1 } { \@nameuse { CTEXthe#1 } } } } -\cs_new_nopar:Npn \CTEX@titlepslabel@clear #1 +\cs_new:Npn \CTEX@titlepslabel@clear #1 { \cs_if_free:cF { CTEXthe#1 } { \protect \@namedef { CTEXthe#1 } { } } @@ -1252,9 +1271,9 @@ \ctex_at_end_package:nn { titleps } { \ctex_titleps_hook: } \ctex_at_end_package:nn { titleps } { - \cs_set_protected_nopar:Npn \ttl@setifthe #1 + \cs_set_protected:Npn \ttl@setifthe #1 { - \exp_args:Nco \cs_set_nopar:Npn { ifthe #1 } + \exp_args:Nco \cs_set:Npn { ifthe #1 } { \CTEXifname { \protect \@firstoftwo } @@ -1281,19 +1300,24 @@ { \CTEX@toc@width@n {#1} } { } { \ctex_patch_failure:N \numberline } - \@ifpackageloaded { tocloft } - { } + \cs_new_protected:Npn \__ctex_patch_toc_width:n \c_parameter_token 1 { - \ctex_at_end_package:nn { tocloft } + \@ifpackageloaded { \c_parameter_token 1 } + { } { - \ctex_preto_cmd:NnnTF \numberline - { \char_set_catcode_letter:n { 64 } } - { \CTEX@toc@width@n {#1} } - { } - { \ctex_patch_failure:N \numberline } + \ctex_at_end_package:nn { \c_parameter_token 1 } + { + \ctex_preto_cmd:NnnTF \numberline + { \char_set_catcode_letter:n { 64 } } + { \CTEX@toc@width@n {#1} } + { } + { \ctex_patch_failure:N \numberline } + } } } } +\__ctex_patch_toc_width:n { tocloft } +\__ctex_patch_toc_width:n { titletoc } \ctex_patch_cmd:Nnn \ps@headings { \ifnum \c@secnumdepth > \m@ne @@ -1315,7 +1339,7 @@ { \ifnum \c@secnumdepth > \z@ \thesection . ~ \ \fi } { \CTEXifname { \CTEXthesection \quad } { } } } -\cs_new_protected_nopar:Npn \CTEX@setcurrentlabel@n #1 +\cs_new_protected:Npn \CTEX@setcurrentlabel@n #1 { \protected@edef \@currentlabel { @@ -1324,17 +1348,17 @@ { \exp_not:o { \@currentlabel } } } } -\cs_new_protected_nopar:Npn \ctex_varioref_hook: +\cs_new_protected:Npn \ctex_varioref_hook: { \seq_map_inline:Nn \c__ctex_headings_seq { \ctex_fix_varioref_label:n { ##1 } } } -\cs_new_protected_nopar:Npn \ctex_fix_varioref_label:n #1 +\cs_new_protected:Npn \ctex_fix_varioref_label:n #1 { \tl_if_empty:cT { p@#1 } - { \exp_args:Nno \labelformat {#1} { \cs:w CTEX@the#1 \cs_end: } } + { \exp_args:Nnx \labelformat {#1} { \exp_not:c { CTEX@the#1 } } } } -\@ifpackageloaded { varioref } +\cs_if_exist:NTF \labelformat { \ctex_varioref_hook: } { \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter @@ -1348,7 +1372,7 @@ \ctex_scheme_input:o { \l__ctex_scheme_tl } \NewDocumentCommand \zihao { m } { \exp_args:Nx \ctex_zihao:n {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_zihao:n #1 +\cs_new_protected:Npn \ctex_zihao:n #1 { \prop_get:NnNTF \c__ctex_font_size_prop {#1} \l__ctex_font_size_tl { \exp_after:wN \fontsize \l__ctex_font_size_tl \selectfont } @@ -1363,7 +1387,7 @@ } \prop_new:N \c__ctex_font_size_prop \seq_new:N \c__ctex_font_size_seq -\cs_new_protected_nopar:Npn \__ctex_save_font_size:nn #1#2 +\cs_new_protected:Npn \__ctex_save_font_size:nn #1#2 { \use:x { @@ -1395,12 +1419,12 @@ { 0 } { 42 bp } } { \__ctex_save_font_size:nn #1 } -\cs_new_protected_nopar:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 { \__ctex_get_font_sizes:Nn \l__ctex_font_size_tl { {#1} {#2} {#3} {#4} } \exp_after:wN \DeclareMathSizes \l__ctex_font_size_tl } -\cs_new_protected_nopar:Npn \__ctex_get_font_sizes:Nn #1#2 +\cs_new_protected:Npn \__ctex_get_font_sizes:Nn #1#2 { \tl_clear:N #1 \tl_map_inline:nn {#2} @@ -1437,13 +1461,13 @@ { \msg_error:nnn { ctex } { fontsize } {#2} } } \cs_new_protected:Npn \__ctex_set_font_size:nnNn #1#2#3#4 - { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } -\if_case:w \g__ctex_font_size_int - \ctex_file_input:n { ctex-c5size.clo } -\or: - \ctex_file_input:n { ctex-cs4size.clo } -\fi: -\fp_compare:nNnF { \l__ctex_line_spread_fp } ? { \c_zero_fp } + { \cs_set_protected:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } +\int_case:nn { \g__ctex_font_size_int } + { + { 0 } { \ctex_file_input:n { ctex-c5size.clo } } + { 1 } { \ctex_file_input:n { ctex-cs4size.clo } } + } +\fp_if_nan:nF { \l__ctex_line_spread_fp } { \exp_args:Nx \linespread { \fp_use:N \l__ctex_line_spread_fp } \group_begin: \footnotesize \exp_args:NNNo \group_end: @@ -1454,47 +1478,76 @@ { C \TeX } \ctex_at_end_package:nn { hyperref } { \pdfstringdefDisableCommands { \tl_set:Nn \CTeX { CTeX } } } -\keys_define:nn { ctex } +\ctex_define:n { captiondelimiter .code:n = { - \msg_warning:nnn { ctex } { deprecated-option } + \ctex_deprecated_option:n { You~can~load~the~package~`caption'~to~get~its~functionality. } } } -\cs_new_protected_nopar:Npn \ctex_fontset_error:n #1 +\cs_new_protected:Npn \ctex_fontset_error:n #1 { \msg_critical:nnn { ctex } { fontset-unavailable } {#1} } \msg_new:nnn { ctex } { fontset-unavailable } { CTeX~fontset~`#1'~is~unavailable~in~current~mode. } -\cs_new_protected_nopar:Npn \ctex_load_fontset: +\cs_new:Npx \ctex_fontset_case:nnn #1#2#3 { - \tl_if_empty:NTF \g__ctex_fontset_tl + \sys_if_engine_pdftex:TF + {#1} + { \sys_if_engine_uptex:TF {#2} {#3} } + } +\cs_new:Npx \ctex_fontset_case:nnnn #1#2#3#4 + { + \sys_if_engine_pdftex:TF + { \sys_if_output_pdf:TF {#1} {#2} } + { \sys_if_engine_uptex:TF {#3} {#4} } + } +\cs_new_protected:Npn \ctex_detect_platform: + { + \sys_if_platform_windows:TF + { \tl_gset:Nn \g__ctex_fontset_tl { windows } } { - \ctex_detected_platform: - \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } + \ctex_if_platform_macos:TF + { \tl_gset:Nn \g__ctex_fontset_tl { mac } } + { \tl_gset:Nn \g__ctex_fontset_tl { fandol } } } + } +\cs_new_protected:Npn \ctex_if_platform_macos:TF + { \file_if_exist:nTF { /System/Library/Fonts/Menlo.ttc } } +\cs_new_protected:Npn \ctex_load_fontset: + { + \tl_if_empty:NTF \g__ctex_fontset_tl + { \ctex_detect_platform: } { - \file_if_exist:nTF { ctex-fontset- \g__ctex_fontset_tl .def } - { \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } + \bool_lazy_or:nnTF + { \str_if_eq_p:on { \g__ctex_fontset_tl } { windowsnew } } + { \str_if_eq_p:on { \g__ctex_fontset_tl } { windowsold } } + { + \msg_warning:nnxx { ctex } { deprecated-fontset } + { \g__ctex_fontset_tl } { windows } + \tl_gset:Nn \g__ctex_fontset_tl { windows } + } { - \use:x + \file_if_exist:nF { ctex-fontset- \g__ctex_fontset_tl .def } { - \ctex_detected_platform: - \msg_error:nnxx { ctex } { fontset-not-found } - { \g__ctex_fontset_tl } { \exp_not:N \g__ctex_fontset_tl } + \use:x + { + \ctex_detect_platform: + \msg_error:nnxx { ctex } { fontset-not-found } + { \g__ctex_fontset_tl } { \exp_not:N \g__ctex_fontset_tl } + } } - \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } } + \ctex_file_input:n { ctex-fontset- \g__ctex_fontset_tl .def } } -\@onlypreamble \ctex_load_fontset: +\msg_new:nnn { ctex } { deprecated-fontset } + { CTeX~fontset~`#1'~is~deprecated.\\ Fontset~`#2'~will~be~used~instead. } \msg_new:nnnn { ctex } { fontset-not-found } - { - CTeX~fontset~`#1'~could~not~be~found.\\ - Fontset~`#2'~will~be~used~instead. - } + { CTeX~fontset~`#1'~could~not~be~found.\\ Fontset~`#2'~will~be~used~instead. } { You~may~run~`mktexlsr'~firstly. } -\keys_define:nn { ctex } +\@onlypreamble \ctex_load_fontset: +\ctex_define:n { fontset .code:n = { @@ -1524,14 +1577,16 @@ } { Only~one~fontset~can~be~loaded~in~the~preamble. } \msg_new:nnn { ctex } { fontset-only-preamble } - { - The~ `fontset'~ option~ can~ be~ used~ only~ in~ preamble. - } + { The~`fontset'~option~can~be~used~only~in~preamble. } \str_if_eq:onF { \g__ctex_fontset_tl } { none } { \ctex_load_fontset: } \ctex_at_end:n { \ctex_file_input:n { ctex.cfg } } %% -%% This package consists of the file ctex.dtx, +%% This package consists of the files ctex.dtx, +%% ctxdoc.cls, +%% ctxdocstrip.tex, +%% ctex-zhconv.lua, +%% ctex-zhconv-make.lua, %% and the derived files ctex.pdf, %% ctex.ins, %% ctex.sty, @@ -1541,16 +1596,15 @@ %% ctexbook.cls, %% ctexrep.cls, %% ctexbeamer.cls, -%% ctxdoc.cls, %% ctexcap.sty, %% ctexhook.sty, %% ctexpatch.sty, %% ctex-c5size.clo, %% ctex-cs4size.clo, -%% ctex-article.def, -%% ctex-book.def, -%% ctex-report.def, -%% ctex-beamer.def, +%% ctex-heading-article.def, +%% ctex-heading-book.def, +%% ctex-heading-report.def, +%% ctex-heading-beamer.def, %% ctex-scheme-plain.def, %% ctex-scheme-plain-article.def, %% ctex-scheme-plain-book.def, @@ -1565,6 +1619,7 @@ %% ctex-name-utf8.cfg, %% ctex.cfg, %% ctexopts.cfg, +%% ctexbackend.cfg, %% ctex-engine-pdftex.def, %% ctex-engine-xetex.def, %% ctex-engine-luatex.def, @@ -1582,26 +1637,25 @@ %% jt2zhrm.fd, %% jt2zhsf.fd, %% jt2zhtt.fd, -%% ctex-fontset-windows.def, -%% ctex-fontset-windowsnew.def, -%% ctex-fontset-windowsold.def, %% ctex-fontset-adobe.def, %% ctex-fontset-fandol.def, +%% ctex-fontset-founder.def, %% ctex-fontset-mac.def, %% ctex-fontset-macnew.def, %% ctex-fontset-macold.def, -%% ctex-fontset-founder.def, %% ctex-fontset-ubuntu.def, +%% ctex-fontset-windows.def, %% ctexspa.def, %% ctexpunct.spa, %% ctexmakespa.tex, %% ctexspamacro.tex, -%% ctxdocstrip.tex, %% zhadobefonts.tex, %% zhfandolfonts.tex, %% zhfounderfonts.tex, +%% zhmacfonts.tex, %% zhubuntufonts.tex, %% zhwindowsfonts.tex, +%% ctex-zhconv-index.lua, %% translator-theorem-dictionary-ChineseGBK.dict, %% translator-theorem-dictionary-ChineseUTF8.dict, and %% README.md. diff --git a/Master/texmf-dist/tex/latex/ctex/ctexsize.sty b/Master/texmf-dist/tex/latex/ctex/ctexsize.sty index 868a30b57de..8b030787cd5 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexsize.sty +++ b/Master/texmf-dist/tex/latex/ctex/ctexsize.sty @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `style,ctexsize') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,22 +20,40 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Chinese font size definition (CTEX)} \ProvidesExplPackage{ctexsize} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \RequirePackage { xparse , l3keys2e } +\RequirePackage { fix-cm } +\cs_new_protected:Npn \ctex_define_option:n + { \keys_define:nn { ctex / option } } +\cs_new_protected:Npn \ctex_file_wrapper:nnn #1#2#3 + { + \use:x + { + \ExplSyntaxOff + \char_set_catcode_letter:n { 64 } + #1 + \exp_not:n {#2} + \bool_if:NTF \l__kernel_expl_bool + { \ExplSyntaxOn } + { \ExplSyntaxOff } + \char_set_catcode:nn { 64 } { \char_value_catcode:n { 64 } } + #3 + } + } +\cs_new_protected:Npn \ctex_file_input:n #1 + { \ctex_file_wrapper:nnn { } { \file_input:n {#1} } { } } \int_new:N \g__ctex_font_size_int -\int_set:Nn \g__ctex_font_size_int { -1 } -\keys_define:nn { ctex / option } +\int_gset:Nn \g__ctex_font_size_int { -1 } +\ctex_define_option:n { zihao .choice: , zihao .value_required:n = true , @@ -57,12 +75,12 @@ #1 .value_forbidden:n = true , } } -\use:x { \keys_define:nn { ctex / option } { \exp_not:o { \l__ctex_tmp_tl } } } +\exp_args:No \ctex_define_option:n { \l__ctex_tmp_tl } \tl_clear:N \l__ctex_tmp_tl \ProcessKeysOptions { ctex / option } \NewDocumentCommand \zihao { m } { \exp_args:Nx \ctex_zihao:n {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_zihao:n #1 +\cs_new_protected:Npn \ctex_zihao:n #1 { \prop_get:NnNTF \c__ctex_font_size_prop {#1} \l__ctex_font_size_tl { \exp_after:wN \fontsize \l__ctex_font_size_tl \selectfont } @@ -77,7 +95,7 @@ } \prop_new:N \c__ctex_font_size_prop \seq_new:N \c__ctex_font_size_seq -\cs_new_protected_nopar:Npn \__ctex_save_font_size:nn #1#2 +\cs_new_protected:Npn \__ctex_save_font_size:nn #1#2 { \use:x { @@ -109,12 +127,12 @@ { 0 } { 42 bp } } { \__ctex_save_font_size:nn #1 } -\cs_new_protected_nopar:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_declare_math_sizes:nnnn #1#2#3#4 { \__ctex_get_font_sizes:Nn \l__ctex_font_size_tl { {#1} {#2} {#3} {#4} } \exp_after:wN \DeclareMathSizes \l__ctex_font_size_tl } -\cs_new_protected_nopar:Npn \__ctex_get_font_sizes:Nn #1#2 +\cs_new_protected:Npn \__ctex_get_font_sizes:Nn #1#2 { \tl_clear:N #1 \tl_map_inline:nn {#2} @@ -151,15 +169,19 @@ { \msg_error:nnn { ctex } { fontsize } {#2} } } \cs_new_protected:Npn \__ctex_set_font_size:nnNn #1#2#3#4 - { \cs_set_protected_nopar:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } -\if_case:w \g__ctex_font_size_int - \ctex_file_input:n { ctex-c5size.clo } -\or: - \ctex_file_input:n { ctex-cs4size.clo } -\fi: + { \cs_set_protected:Npn #3 { \@setfontsize #3 {#1} {#2} #4 } } +\int_case:nn { \g__ctex_font_size_int } + { + { 0 } { \ctex_file_input:n { ctex-c5size.clo } } + { 1 } { \ctex_file_input:n { ctex-cs4size.clo } } + } \normalsize %% -%% This package consists of the file ctex.dtx, +%% This package consists of the files ctex.dtx, +%% ctxdoc.cls, +%% ctxdocstrip.tex, +%% ctex-zhconv.lua, +%% ctex-zhconv-make.lua, %% and the derived files ctex.pdf, %% ctex.ins, %% ctex.sty, @@ -169,16 +191,15 @@ %% ctexbook.cls, %% ctexrep.cls, %% ctexbeamer.cls, -%% ctxdoc.cls, %% ctexcap.sty, %% ctexhook.sty, %% ctexpatch.sty, %% ctex-c5size.clo, %% ctex-cs4size.clo, -%% ctex-article.def, -%% ctex-book.def, -%% ctex-report.def, -%% ctex-beamer.def, +%% ctex-heading-article.def, +%% ctex-heading-book.def, +%% ctex-heading-report.def, +%% ctex-heading-beamer.def, %% ctex-scheme-plain.def, %% ctex-scheme-plain-article.def, %% ctex-scheme-plain-book.def, @@ -193,6 +214,7 @@ %% ctex-name-utf8.cfg, %% ctex.cfg, %% ctexopts.cfg, +%% ctexbackend.cfg, %% ctex-engine-pdftex.def, %% ctex-engine-xetex.def, %% ctex-engine-luatex.def, @@ -210,26 +232,25 @@ %% jt2zhrm.fd, %% jt2zhsf.fd, %% jt2zhtt.fd, -%% ctex-fontset-windows.def, -%% ctex-fontset-windowsnew.def, -%% ctex-fontset-windowsold.def, %% ctex-fontset-adobe.def, %% ctex-fontset-fandol.def, +%% ctex-fontset-founder.def, %% ctex-fontset-mac.def, %% ctex-fontset-macnew.def, %% ctex-fontset-macold.def, -%% ctex-fontset-founder.def, %% ctex-fontset-ubuntu.def, +%% ctex-fontset-windows.def, %% ctexspa.def, %% ctexpunct.spa, %% ctexmakespa.tex, %% ctexspamacro.tex, -%% ctxdocstrip.tex, %% zhadobefonts.tex, %% zhfandolfonts.tex, %% zhfounderfonts.tex, +%% zhmacfonts.tex, %% zhubuntufonts.tex, %% zhwindowsfonts.tex, +%% ctex-zhconv-index.lua, %% translator-theorem-dictionary-ChineseGBK.dict, %% translator-theorem-dictionary-ChineseUTF8.dict, and %% README.md. diff --git a/Master/texmf-dist/tex/latex/ctex/ctexspa.def b/Master/texmf-dist/tex/latex/ctex/ctexspa.def index 6a6785982f3..fbb45d19a99 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctexspa.def +++ b/Master/texmf-dist/tex/latex/ctex/ctexspa.def @@ -7,9 +7,9 @@ %% ctex.dtx (with options: `ctexspa') %% ctexpunct.spa %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -21,14 +21,12 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesFile{ctexspa.def}% - [2019/05/29 v2.4.16 Space info for CJKpunct (CTEX)] + [2020/05/02 v2.5.1 Space info for CJKpunct (CTEX)] \ctexspadef{adobezhsong}{70,15,61,8,63,14,58,7,64,13,62,12,60,11,61,15,62,14,51,6,58,5,58,8,7,5,12,12,10,68,13,63,17,63,20,69,19,69,17,63,19,70,17,55,10,10,14,63,10,65,10,61,13,62,15,61,7,49,7,56,8,58,15,69,8,61,14,63,8,57,,,} \ctexspadef{adobezhhei}{78,3,64,3,64,2,61,3,72,3,70,3,72,3,70,3,60,3,51,3,62,3,66,3,0,0,10,10,3,70,5,70,6,75,6,78,17,67,13,67,17,67,4,50,8,8,3,72,3,70,3,72,3,70,3,60,3,51,3,62,3,66,3,78,7,62,3,63,3,61,,,} \ctexspadef{adobezhkai}{76,10,55,8,63,4,62,4,71,4,65,4,71,4,74,4,54,4,54,4,62,4,62,4,0,0,11,11,5,72,6,71,7,78,7,79,18,68,18,68,18,68,2,46,14,12,4,71,4,65,4,71,4,74,4,54,4,54,4,62,4,62,10,76,8,55,4,63,4,62,,,} @@ -48,9 +46,23 @@ \ctexspadef{founderzhli}{69,19,58,9,48,21,45,27,48,25,47,32,48,27,48,39,48,21,43,17,47,33,47,33,0,0,11,11,11,61,13,63,17,66,7,80,20,70,19,68,20,70,3,54,9,9,25,48,32,47,27,48,40,48,21,48,17,43,33,47,33,47,19,69,9,58,21,48,27,45,,,} \ctexspadef{founderzhyou}{67,16,61,11,48,11,45,14,48,20,48,17,48,16,48,39,48,12,42,16,48,30,48,30,0,0,12,11,11,61,9,59,17,67,11,83,20,70,18,69,21,70,4,54,12,12,20,48,17,48,16,48,39,48,12,48,16,41,30,48,29,48,16,67,11,61,11,48,14,45,,,} \ctexspadef{founderzhyoub}{69,18,60,10,46,13,43,16,46,17,45,20,46,18,46,31,45,13,38,14,44,29,46,30,-3,0,10,9,9,61,9,59,19,69,7,82,18,68,18,67,20,69,2,52,17,17,17,46,20,45,18,46,32,46,13,45,14,38,29,44,30,46,19,69,10,60,14,46,17,43,,,} -\ctexspadef{ubuntuzhsong}{66,21,58,7,58,8,55,11,59,18,71,7,71,2,40,38,58,13,52,4,64,6,58,14,7,7,11,10,38,38,38,38,17,73,21,70,13,78,13,75,27,63,4,52,4,5,18,59,7,71,2,71,38,40,13,58,4,51,6,64,14,58,16,70,8,56,10,58,11,54,,,} -\ctexspadef{ubuntuzhhei}{6,6,4,4,60,10,61,11,62,12,65,15,67,15,62,15,63,13,57,6,19,52,63,13,-0,0,11,11,10,70,10,68,44,44,45,44,44,44,44,44,43,45,27,27,19,16,12,62,15,65,15,67,15,62,13,63,6,56,3,68,13,63,6,6,4,4,10,60,11,61,,,} -\ctexspadef{ubuntuzhkai}{68,20,58,9,58,8,55,11,59,18,59,20,59,18,53,23,58,13,52,4,58,8,58,14,7,7,11,10,38,38,38,38,40,42,43,43,43,43,43,43,43,43,25,28,10,11,18,59,20,59,18,59,24,53,13,58,4,51,8,58,14,58,17,70,9,58,10,58,11,54,,,} +\ctexspadef{maczhsong}{4,4,4,4,63,14,59,7,63,13,64,13,70,12,59,13,61,12,47,7,56,7,58,8,0,0,11,11,10,68,13,63,17,68,20,70,20,70,18,68,20,70,12,59,18,18,14,62,10,66,12,69,9,64,12,61,7,47,7,56,8,58,4,4,4,4,14,63,7,59,,,} +\ctexspadef{maczhsongb}{4,4,4,4,62,13,49,13,62,10,65,10,59,13,62,14,61,12,43,9,56,4,56,14,0,0,11,10,7,67,13,62,15,66,18,67,18,69,16,66,18,69,10,60,14,10,10,62,10,64,12,60,14,62,12,61,9,43,4,56,14,56,4,4,4,4,12,62,12,50,,,} +\ctexspadef{maczhhei}{68,15,58,4,62,13,56,6,61,11,65,12,66,16,63,12,59,14,51,5,55,5,60,10,0,0,8,11,13,60,13,62,20,70,20,70,20,70,20,70,20,70,3,54,9,10,10,62,12,65,16,65,9,66,14,60,7,48,5,55,10,60,14,68,4,58,13,62,6,56,,,} +\ctexspadef{maczhheil}{71,17,65,7,60,11,56,6,59,9,67,10,66,15,64,13,58,14,51,6,53,6,60,8,0,0,9,10,10,61,12,62,20,70,20,70,20,70,20,70,21,71,4,55,9,9,9,59,10,67,15,66,13,64,14,58,6,51,6,53,8,60,17,71,7,65,11,60,6,56,,,} +\ctexspadef{maczhkai}{5,5,6,3,63,14,59,7,63,13,62,12,60,11,61,15,61,12,47,7,56,7,58,8,0,0,12,11,10,68,13,63,18,67,20,69,19,69,17,67,19,70,14,57,15,10,14,62,10,65,10,60,13,63,12,61,7,47,7,56,8,58,4,4,4,5,14,63,7,59,,,} +\ctexspadef{maczhkaib}{5,6,4,4,65,10,54,8,62,14,63,9,65,10,60,14,61,13,50,8,58,10,60,10,0,0,10,10,11,68,13,63,17,68,18,68,18,68,17,68,19,69,11,59,15,12,13,62,9,63,9,66,13,60,13,61,8,50,10,58,10,61,6,5,4,4,9,65,8,55,,,} +\ctexspadef{maczhfs}{71,14,62,8,63,14,59,7,63,13,62,12,60,11,61,15,61,12,47,7,56,7,58,8,0,0,12,11,10,68,13,63,18,67,20,69,19,69,17,67,19,70,7,58,15,10,14,62,10,65,10,60,13,63,12,61,7,47,7,56,8,58,15,68,8,60,14,63,7,59,,,} +\ctexspadef{maczhli}{4,2,7,4,69,2,61,4,65,6,62,6,48,2,46,1,67,5,52,4,61,3,65,3,0,-0,10,7,10,64,11,66,18,67,43,41,18,67,15,67,19,67,11,57,14,13,4,67,6,63,2,47,1,50,5,67,4,52,3,61,3,65,4,2,7,4,6,67,4,61,,,} +\ctexspadef{maczhyou}{5,5,5,9,71,4,58,4,71,4,75,6,75,6,69,5,73,4,57,4,59,4,63,4,0,0,12,12,12,64,13,66,19,70,15,75,19,72,18,71,19,72,5,58,11,11,4,71,6,75,6,75,5,69,4,73,4,57,4,59,4,63,5,5,7,10,4,71,4,58,,,} +\ctexspadef{maczhyoub}{3,3,4,7,69,2,57,2,70,2,74,4,74,6,67,3,71,2,55,2,58,4,63,4,0,0,10,10,9,62,12,62,17,68,13,72,17,68,16,68,18,68,4,56,10,10,2,70,4,74,6,74,3,67,2,71,2,55,4,58,4,63,3,4,5,7,2,69,2,57,,,} +\ctexspadef{maczhpf}{12,8,12,8,65,3,62,3,67,3,70,8,72,4,67,4,65,8,51,6,63,3,66,5,0,0,11,11,13,63,12,62,12,74,12,76,19,69,18,68,19,69,3,53,8,8,3,67,8,70,4,72,4,67,8,65,6,51,3,63,5,66,8,12,8,12,3,65,3,62,,,} +\ctexspadef{maczhpfb}{12,8,12,8,64,3,61,3,66,3,67,8,70,4,65,4,63,8,47,6,61,3,64,5,0,0,9,9,11,61,11,61,11,71,11,73,17,67,17,66,17,67,2,52,7,7,3,66,8,67,4,70,4,65,8,63,6,47,3,61,5,64,8,12,8,12,3,64,3,61,,,} +\ctexspadef{ubuntuzhsong}{77,8,57,8,66,4,60,4,71,4,65,6,71,4,58,3,53,4,52,4,61,4,62,4,4,4,11,11,4,71,4,68,8,77,9,78,17,70,15,70,19,69,6,55,9,9,4,71,6,65,4,71,3,58,4,53,4,52,4,61,4,62,8,77,8,57,4,66,4,60,,,} +\ctexspadef{ubuntuzhsongb}{75,8,53,8,65,3,62,3,72,3,64,6,72,3,57,3,53,3,53,3,62,3,63,3,4,4,11,11,3,69,4,68,5,77,6,77,18,65,18,65,17,67,4,54,7,7,3,72,6,64,3,72,3,57,3,53,3,53,3,62,3,63,8,75,8,53,3,65,3,62,,,} +\ctexspadef{ubuntuzhhei}{81,5,62,4,65,3,60,3,71,4,70,5,71,3,70,4,59,5,53,4,62,3,67,3,5,5,10,10,5,66,4,65,14,67,16,68,18,67,15,66,19,69,3,54,8,8,4,71,5,70,3,71,4,70,5,59,4,53,3,62,3,67,5,81,4,62,3,65,3,60,,,} +\ctexspadef{ubuntuzhheib}{80,4,60,2,64,3,60,3,69,2,66,4,71,3,68,3,56,5,52,3,63,3,66,3,5,5,9,9,4,64,3,64,16,61,18,62,16,66,13,64,16,66,3,53,5,5,2,69,4,66,3,71,3,68,5,56,3,52,3,63,3,66,4,80,2,60,3,64,3,60,,,} +\ctexspadef{ubuntuzhkai}{53,33,53,19,58,8,59,9,61,11,60,10,62,12,60,10,56,6,54,4,58,8,58,8,7,7,15,15,26,53,29,53,19,67,22,68,30,60,27,59,26,63,7,57,25,23,11,61,10,60,12,62,10,60,6,56,3,54,8,58,8,58,32,54,19,53,8,58,9,59,,,} \ctexspadef{windowszhsong}{67,13,46,13,62,14,61,14,65,17,57,14,55,14,53,18,64,11,54,10,47,11,49,14,3,3,10,10,11,64,14,64,11,71,13,73,12,73,12,73,23,63,14,52,15,13,16,66,14,57,14,55,19,52,11,66,9,54,11,48,14,51,14,68,13,48,14,62,14,61,,,} \ctexspadef{windowszhhei}{78,9,56,9,50,20,50,20,50,23,61,11,54,14,50,26,50,16,50,7,47,11,49,14,0,0,9,11,14,64,13,63,14,72,14,73,19,68,18,68,25,64,15,48,12,12,22,50,11,60,14,55,25,50,16,50,7,50,11,48,14,51,8,79,8,56,18,50,18,50,,,} \ctexspadef{windowszhkai}{67,13,46,13,50,20,50,20,50,23,61,11,54,14,50,26,50,16,50,7,47,11,49,14,0,0,10,10,11,64,13,63,11,71,13,73,17,68,17,68,23,63,15,48,12,12,22,50,11,60,14,55,25,50,16,50,7,50,11,48,14,51,14,68,13,48,18,50,18,50,,,} diff --git a/Master/texmf-dist/tex/latex/ctex/ctxdoc.cls b/Master/texmf-dist/tex/latex/ctex/ctxdoc.cls index 88a7be91711..4cd102e4961 100644 --- a/Master/texmf-dist/tex/latex/ctex/ctxdoc.cls +++ b/Master/texmf-dist/tex/latex/ctex/ctxdoc.cls @@ -1,15 +1,10 @@ %% -%% This is file `ctxdoc.cls', -%% generated with the docstrip utility. +%% File ctxdoc.cls %% -%% The original source files were: -%% -%% ctex.dtx (with options: `ctxdoc') -%% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2016--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ -%% +%%--------------------------------------------------------------------- +%% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3c of this license or (at your option) any later @@ -19,39 +14,27 @@ %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ -%% +%% +%% This work has the LPPL maintenance status "maintained". +%% +%%--------------------------------------------------------------------- +%% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctxdoc.cls 25394ad 2020-04-20 20:56:32 +0800 Qing Lee $ {ctex documentation (CTEX)} -\ProvidesExplClass{ctxdoc} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} +\ProvidesExplClass{ctxdoc}{\ExplFileDate}{}{\ExplFileDescription} \ExplSyntaxOff -\let\pdfmdfivesum\mdfivesum \DeclareOption*{\PassOptionsToClass{\CurrentOption}{l3doc}} \PassOptionsToClass{a4paper,full}{l3doc} \ProcessOptions -\@namedef{ver@thumbpdf.sty}{9999/99/99} \LoadClass{l3doc} -\RequirePackage[UTF8, punct = kaiming, heading, fontset = none, - linespread = 1.2, sub3section]{ctex} -\ifxetex - \xeCJKsetup{AutoFakeBold=false} -\fi +\RequirePackage[UTF8, punct=kaiming, heading, linespread=1.2, sub3section]{ctex} \ctexset{ - fontset, abstractname = 简介, indexname = 代码索引, - section = { - format = \Large\bfseries\raggedright, - name = {第,节}, - }, + section/format = \Large\bfseries\raggedright, + section/name = {第,节}, } \RequirePackage[toc]{multitoc} \RequirePackage{geometry} @@ -64,17 +47,30 @@ \RequirePackage{caption} \RequirePackage{fancyvrb-ex} \RequirePackage{zref-base} -\geometry{includemp,hmargin={0mm,15mm},vmargin={25mm,15mm},footskip=7mm} -\hypersetup{pdfstartview=FitH,bookmarksdepth=subparagraph} +\geometry{includemp, hmargin={0mm,15mm}, vmargin={25mm,15mm}, footskip=7mm} +\hypersetup{pdfstartview=FitH, bookmarksdepth=subparagraph} \setcounter{secnumdepth}{4} \setcounter{tocdepth}{2} \newcommand*\email{\nolinkurl} -\setmainfont{TeX Gyre Pagella} -\setsansfont{TeX Gyre Heros} -\setmonofont[ - HyphenChar = None , - UprightFont=* Light, BoldFont=* Bold, - SlantedFont=* Light Oblique]{CMU Typewriter Text} +\setmainfont{texgyrepagella}[ + Extension = .otf, + UprightFont = *-regular, + BoldFont = *-bold, + ItalicFont = *-italic, + BoldItalicFont = *-bolditalic] +\setsansfont{texgyreheros}[ + Extension = .otf, + UprightFont = *-regular, + BoldFont = *-bold, + ItalicFont = *-italic, + BoldItalicFont = *-bolditalic] +\setmonofont{cmun}[ + Extension = .otf, + UprightFont = *btl, + BoldFont = *tb, + ItalicFont = *bto, + BoldItalicFont = *tx, + HyphenChar = None] \setmathfont{texgyrepagella-math.otf} \captionsetup{strut=off, labelsep=quad, labelfont+=bf} %% <--- http://tex.stackexchange.com/a/40896 @@ -129,7 +125,7 @@ %% 设置间距为 \marginparsep,与 l3doc 一致 \setlist[optdesc]{% font=\mdseries\small\ttfamily,align=right,listparindent=\parindent, - labelsep=\marginparsep,labelindent=-\marginparsep,leftmargin=*} + labelsep=\marginparsep,labelindent=-\marginparsep,leftmargin=0pt} %% 重新定义 threeparttable 包的 tablenotes 环境 \renewlist{tablenotes}{description}{1} \setlist[tablenotes]{% @@ -286,7 +282,7 @@ \exp_args:Nx \href { http \c_colon_str //www.ctan.org/pkg/ - \IfNoValueTF {#1} { \str_fold_case:n {#2} } {#1} + \IfNoValueTF {#1} { \str_lowercase:n {#2} } {#1} } { \pkg {#2} } } @@ -599,10 +595,15 @@ #1 \g__codedoc_module_name_tl } } -\cs_new_protected:Npn \__ctxdoc_replace_at_at_aux:Nn #1#2 +\cs_new_protected:Npx \__ctxdoc_replace_at_at_aux:Nn #1#2 { - \tl_replace_all:Nnn #1 { _ @ @ } { _ _ #2 } - \tl_replace_all:Nnn #1 { @ @ } { _ _ #2 } + \tl_replace_all:Nnn #1 { \token_to_str:N @ } { @ } + \tl_replace_all:Nnn #1 { \token_to_str:N _ } { _ } + \tl_replace_all:Nnn #1 { @ @ @ @ } { \token_to_str:N a a } + \tl_replace_all:Nnn #1 { _ _ @ @ } { _ _ #2 } + \tl_replace_all:Nnn #1 { _ @ @ } { _ _ #2 } + \tl_replace_all:Nnn #1 { @ @ } { _ _ #2 } + \tl_replace_all:Nnn #1 { \token_to_str:N a a } { @ @ } } \cs_new_protected:Npn \__ctxdoc_output_line:n #1 { @@ -861,6 +862,6 @@ \EnableCrossrefs \CodelineIndex \RecordChanges -%% %% -%% End of file `ctxdoc.cls'. +%% +%% End of file ctxdoc.cls. diff --git a/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseGBK.dict b/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseGBK.dict index cf849838e94..053bc8e942c 100644 --- a/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseGBK.dict +++ b/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseGBK.dict @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `dict,theorem,GBK') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,12 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesDictionary{translator-theorem-dictionary}{ChineseGBK}% - [2019/05/29 v2.4.16 Chinese translation for theorem name (CTEX)] + [2020/05/02 v2.5.1 Chinese translation for theorem name (CTEX)] \providetranslation{Comments}{} \providetranslation{comments}{} \providetranslation{Comment}{} diff --git a/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseUTF8.dict b/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseUTF8.dict index 09659c2f52e..8ae4d9a629d 100644 --- a/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseUTF8.dict +++ b/Master/texmf-dist/tex/latex/ctex/dictionary/translator-theorem-dictionary-ChineseUTF8.dict @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `dict,theorem,UTF8') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,12 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesDictionary{translator-theorem-dictionary}{ChineseUTF8}% - [2019/05/29 v2.4.16 Chinese translation for theorem name (CTEX)] + [2020/05/02 v2.5.1 Chinese translation for theorem name (CTEX)] \providetranslation{Comments}{评论} \providetranslation{comments}{评论} \providetranslation{Comment}{评论} diff --git a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-aptex.def b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-aptex.def index 8cd15c75bb6..24584de60d4 100644 --- a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-aptex.def +++ b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-aptex.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `aptex') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,57 +20,42 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Asian pTeX adapter (CTEX)} \ProvidesExplFile{ctex-engine-aptex.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\cs_new_protected_nopar:Npn \ctex_set_zhmap:n #1 - { - \AtBeginDvi {#1} - \ctex_at_end_package:nn { atbegshi } - { \AtBeginShipoutFirst {#1} } - } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\cs_new_protected:Npn \ctex_set_zhmap:n + { \tl_gput_right:Nx \g__ctex_zhmap_tl } +\cs_new_protected:Npn \ctex_use_zhmap: + { \tl_use:N \g__ctex_zhmap_tl } +\cs_new_protected:Npn \ctex_add_dvi_zhmap: + { \AtBeginDvi { \ctex_use_zhmap: } } +\ctex_after_end_preamble:n { \ctex_add_dvi_zhmap: } +\ctex_at_end_package:nn { atbegshi } + { + \AtBeginShipoutFirst { \ctex_use_zhmap: } + \cs_gset_eq:NN \ctex_add_dvi_zhmap: \prg_do_nothing: + } +\tl_new:N \g__ctex_zhmap_tl \@onlypreamble \ctex_set_zhmap:n -\tl_set:Nn \CJKrmdefault { zhrm } -\tl_set:Nn \CJKsfdefault { zhsf } -\tl_set:Nn \CJKttdefault { zhtt } -\tl_set:Nn \CJKfamilydefault { \CJKrmdefault } +\tl_if_exist:NF \CJKfamilydefault + { \tl_const:Nn \CJKfamilydefault { \CJKrmdefault } } +\tl_if_exist:NF \CJKrmdefault { \tl_const:Nn \CJKrmdefault { zhrm } } +\tl_if_exist:NF \CJKsfdefault { \tl_const:Nn \CJKsfdefault { zhsf } } +\tl_if_exist:NF \CJKttdefault { \tl_const:Nn \CJKttdefault { zhtt } } \tl_set:Nn \kanjifamilydefault { \CJKfamilydefault } -\RenewDocumentCommand \rmfamily { } - { - \not@math@alphabet \rmfamily \mathrm - \romanfamily \rmdefault - \kanjifamily \CJKrmdefault - \selectfont - } -\RenewDocumentCommand \sffamily { } - { - \not@math@alphabet \sffamily \mathsf - \romanfamily \sfdefault - \kanjifamily \CJKsfdefault - \selectfont - } -\RenewDocumentCommand \ttfamily { } - { - \not@math@alphabet \ttfamily \mathtt - \romanfamily \ttdefault - \kanjifamily \CJKttdefault - \selectfont - } +\g@addto@macro \@rmfamilyhook { \kanjifamily { \CJKrmdefault } } +\g@addto@macro \@sffamilyhook { \kanjifamily { \CJKsfdefault } } +\g@addto@macro \@ttfamilyhook { \kanjifamily { \CJKttdefault } } \NewDocumentCommand \CJKfamily { m } - { - \kanjifamily {#1} - \selectfont - } -\DeclareErrorKanjiFont{JY2}{zhrm}{m}{n}{10} -\DeclareKanjiSubstitution{JY2}{zhrm}{m}{n} -\DeclareKanjiSubstitution{JT2}{zhrm}{m}{n} + { \kanjifamily {#1} \selectfont } +\DeclareErrorKanjiFont {JY2}{zhrm}{m}{n}{10} +\DeclareKanjiSubstitution {JY2}{zhrm}{m}{n} +\DeclareKanjiSubstitution {JT2}{zhrm}{m}{n} \DeclareSymbolFont{mincho}{JY2}{zhrm}{m}{n} \SetSymbolFont{mincho}{bold}{JY2}{zhrm}{bx}{n} \jfam \symmincho @@ -87,43 +72,59 @@ { \eminnershape \else \itshape } } \cs_set_nopar:Npn \eminnershape { \upshape } -\cs_new_protected_nopar:Npn \ctex_set_upfamily:nnn #1 #2 #3 +\cs_new_protected:Npn \ctex_set_upfamily:nnn #1#2#3 { \DeclareKanjiFamily{JY2}{#1}{} \DeclareKanjiFamily{JT2}{#1}{} \DeclareFontShape{JY2}{#1}{m}{n}{<->~ #2-h}{} \DeclareFontShape{JT2}{#1}{m}{n}{<->~ #2-v}{} - \tl_if_empty:nF { #3 } + \tl_if_empty:nF {#3} { + \DeclareFontShape{JY2}{#1}{b}{n}{<->~ #3-h}{} + \DeclareFontShape{JT2}{#1}{b}{n}{<->~ #3-v}{} \DeclareFontShape{JY2}{#1}{bx}{n}{<->~ #3-h}{} \DeclareFontShape{JT2}{#1}{bx}{n}{<->~ #3-v}{} } } -\@onlypreamble \ctex_set_upfamily:nnn -\cs_new_protected_nopar:Npn \ctex_set_upmap:nnn #1 #2 #3 +\cs_new_protected:Npn \ctex_set_upmap:nnn #1#2#3 { \ctex_set_zhmap:n { - \special{ pdf:mapline~ #1-h~ UniGB-UTF16-H~ #2 } - \special{ pdf:mapline~ #1-v~ UniGB-UTF16-V~ #2 } - \tl_if_empty:nF { #3 } + \special { pdf:mapline~#1-h~UniGB-UTF16-H~#2 } + \special { pdf:mapline~#1-v~UniGB-UTF16-V~#2 } + \tl_if_empty:nF {#3} { - \special{ pdf:mapline~ #1b-h~ UniGB-UTF16-H~ #3 } - \special{ pdf:mapline~ #1b-v~ UniGB-UTF16-V~ #3 } + \special { pdf:mapline~#1b-h~UniGB-UTF16-H~#3 } + \special { pdf:mapline~#1b-v~UniGB-UTF16-V~#3 } } } } -\@onlypreamble \ctex_set_upmap:nnn -\cs_new_protected_nopar:Npn \ctex_set_upfonts:nnnnnn #1 #2 #3 #4 #5 #6 +\cs_new_protected:Npn \ctex_set_upmap_unicode:nnn #1#2#3 + { + \ctex_set_zhmap:n + { + \special { pdf:mapline~#1-h~unicode~#2 } + \special { pdf:mapline~#1-v~unicode~#2 } + \tl_if_empty:nF {#3} + { + \special { pdf:mapline~#1b-h~unicode~#3 } + \special { pdf:mapline~#1b-v~unicode~#3 } + } + } + } +\cs_new_protected:Npn \ctex_set_upfonts:nnnnnn #1#2#3#4#5#6 { - \ctex_set_upmap:nnn { upserif } { #1 } { #2 } - \ctex_set_upmap:nnn { upserifit } { #3 } {} - \ctex_set_upmap:nnn { upsans } { #4 } { #5 } - \ctex_set_upmap:nnn { upmono } { #6 } {} + \ctex_set_upmap:nnn { upserif } {#1} {#2} + \ctex_set_upmap:nnn { upserifit } {#3} {} + \ctex_set_upmap:nnn { upsans } {#4} {#5} + \ctex_set_upmap:nnn { upmono } {#6} {} } +\@onlypreamble \ctex_set_upfamily:nnn +\@onlypreamble \ctex_set_upmap:nnn +\@onlypreamble \ctex_set_upmap_unicode:nnn \@onlypreamble \ctex_set_upfonts:nnnnnn \RequirePackage { pxeverysel } -\cs_new_protected_nopar:Npn \ctex_update_default_family: +\cs_new_protected:Npn \ctex_update_default_family: { \tl_if_eq:NNT \CJKfamilydefault \l__ctex_family_default_init_tl { @@ -150,34 +151,13 @@ { \exp_not:o { \CJKfamilydefault } } } \tl_gset_eq:NN \CJKfamilydefault \l__ctex_family_default_init_tl -\cs_new_protected_nopar:Npn \ctex_detected_platform: - { - \tl_gset:Nx \g__ctex_fontset_tl - { - \str_case:onF { \ngostype } - { - { Win32 } { windows } - { Win64 } { windows } - { Darwin } { mac } - } - { fandol } - } - } \ctex_hypersetup:n { driverfallback = dvipdfmx } \ctex_at_end_package:nn { hyperref } - { \AtBeginShipoutFirst { \special { pdf:tounicode~ UTF8-UTF16 } } } -\msg_new:nnn { ctex } { fntef-not-available } - { Functions~ of~ `CJKfntef'~ is~ not~ available~ in~ ApLaTeX. } -\msg_warning:nn { ctex } { fntef-not-available } -\clist_map_inline:nn - { underdot , underline , underdblline , underwave , sout , xout } - { \cs_new_eq:cN { CTEX#1 } \use:n } -\cs_new_eq:NN \CTEXfilltwosides \use_none:n -\cs_new_eq:NN \endCTEXfilltwosides \prg_do_nothing: -\cs_new_protected_nopar:Npn \ctex_update_ccwd: + { \AtBeginShipoutFirst { \special { pdf:tounicode~UTF8-UTF16 } } } +\cs_new_protected:Npn \ctex_update_ccwd: { \skip_set:Nn \ccwd { 1zw + \tex_kanjiskip:D } } \dim_new:N \ccwd -\cs_new_protected_nopar:Npn \ctex_update_ccglue: +\cs_new_protected:Npn \ctex_update_ccglue: { \skip_set_eq:NN \tex_kanjiskip:D \l__ctex_ccglue_skip } \skip_new:N \l__ctex_ccglue_skip \prg_new_conditional:Npnn \ctex_if_ccglue_touched: { TF } @@ -185,11 +165,11 @@ \skip_if_eq:nnTF { \l__ctex_ccglue_skip } { \tex_kanjiskip:D } { \prg_return_false: } { \prg_return_true: } } -\cs_new_protected_nopar:Npn \ctex_update_em_unit: +\cs_new_protected:Npn \ctex_update_em_unit: { \dim_set:Nn \ccwd { 1zw } } \cs_new_protected:Npn \ctex_add_to_selectfont:n #1 { - \cs_set_protected_nopar:Npx \CTEX@selectfont@hook + \cs_set_protected:Npx \CTEX@selectfont@hook { \exp_not:o { \CTEX@selectfont@hook #1 } } } \cs_new_eq:NN \CTEX@selectfont@hook \prg_do_nothing: @@ -199,10 +179,20 @@ { \tl_set:Nn \l__ctex_tmp_tl {#1} \cs_new_eq:NN \CTEX@selectfont@save #1 - \cs_new_protected_nopar:Npn \__ctex_restore_selectfont: + \cs_new_protected:Npn \__ctex_restore_selectfont: { + \cs_if_free:NF \scr@new@selectfont + { + \cs_if_free:NF \par@update + { + \tl_put_right:Nn \@EverySelectfont@Init + { \tl_put_right:Nn #1 { \par@update } } + } + \cs_set_eq:NN \scr@new@selectfont #1 + \cs_set_eq:NN \CTEX@selectfont@save \scr@selectfont + } \tl_put_left:Nn \@EverySelectfont@Init - { \let #1 \CTEX@selectfont@save } + { \cs_set_eq:NN #1 \CTEX@selectfont@save } \cs_undefine:N \__ctex_restore_selectfont: } } @@ -216,7 +206,7 @@ { \ctex_patch_failure:N \selectfont } \fi: \EverySelectfont { \CTEX@selectfont@hook } -\cs_new_protected_nopar:Npn \ctex_update_xkanjiskip: +\cs_new_protected:Npn \ctex_update_xkanjiskip: { \skip_if_eq:nnT { \tex_xkanjiskip:D } { \l__ctex_xkanjiskip_skip } @@ -232,21 +222,20 @@ \skip_set:Nn \l__ctex_xkanjiskip_skip { \tex_xkanjiskip:D } \ctex_add_to_selectfont:n { \ctex_update_xkanjiskip: } -\keys_define:nn { ctex } +\ctex_define:n { space .code:n = { \msg_warning:nn { ctex } { invalid-option } } } -\keys_define:nn { ctex } +\ctex_define:n { punct .code:n = { - \tl_set:Nx \l__ctex_punct_tl { #1 } + \tl_set:Nx \l__ctex_punct_tl {#1} \msg_warning:nn { ctex } { invalid-option } } , punct .default:n = { quanjiao } , } -\tl_set:Nn \l__ctex_encoding_tl { UTF8 } %% %% %% End of file `ctex-engine-aptex.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def index 351bb810745..6ccee7c96a2 100644 --- a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def +++ b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-luatex.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `luatex') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,16 +20,14 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {LuaLaTeX adapter (CTEX)} \ProvidesExplFile{ctex-engine-luatex.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \msg_new:nnn { ctex } { luatexja-loaded } { Package~`luatexja'~can~not~be~loaded~before~`ctex'.\\ @@ -39,28 +37,29 @@ { \msg_critical:nnx { ctex } { luatexja-loaded } { \g_file_curr_name_str } } { \tl_const:cn { ver@ltj-latex.\@pkgextension } { 9999/99/99 } } \RequirePackage { luatexja } -\@ifpackagelater { luatexja } { 2015/09/21 } { } +\@ifpackagelater { luatexja } { 2020/04/12 } { } { \msg_error:nnn { ctex } { package-too-old } { luatexja } } \RequirePackage { fontspec } -\@ifpackagelater { fontspec } { 2014/05/25 } { } +\@ifpackagelater { fontspec } { 2020/02/21 } { } { \msg_error:nnn { ctex } { package-too-old } { fontspec } } \ExplSyntaxOff \ltjdefcharrange{1}{"80-"36F, "1E00-"1EFF} \ltjdefcharrange{2}{"370-"4FF, "1F00-"1FFF} \ltjdefcharrange{3}{% - "2000-"206F, "2070-"243F, "2460-"24FF, "2500-"27BF, "2900-"29FF, - "2B00-"2BFF} + "2000-"243F, "2460-"24FF, "2500-"27BF, "2900-"29FF, "2B00-"2BFF} \ltjdefcharrange{4}{% "500-"10FF, "1200-"1DFF, "2440-"245F, "27C0-"28FF, "2A00-"2AFF, - "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A82F, "A840-"ABFF, "FB00-"FE0F, - "FE20-"FE2F, "FE70-"FEFF, "10000-"1FFFF, "E000-"F8FF} % non-Japanese + "2C00-"2E7F, "4DC0-"4DFF, "A4D0-"A95F, "A980-"ABFF, "E000-"F8FF, + "FB00-"FE0F, "FE20-"FE2F, "FE70-"FEFF, "10000-"1AFFF, "1B170-"1F0FF, + "1F300-"1FFFF, "2000-"206F} \ltjdefcharrange{5}{"D800-"DFFF, "E0000-"E00FF, "E01F0-"10FFFF} \ltjdefcharrange{6}{% "2E80-"2EFF, "3000-"30FF, "3190-"319F, "31F0-"4DBF, - "4E00-"9FFF, "F900-"FAFF, "FE10-"FE6F, "20000-"2FFFF, "E0100-"E01EF} + "4E00-"9FFF, "F900-"FAFF, "FE10-"FE1F, "FE30-"FE6F, "FF00-"FFEF, + "1B000-"1B16F, "1F100-"1F2FF, "20000-"3FFFF, "E0100-"E01EF} \ltjdefcharrange{7}{% - "1100-"11FF, "2F00-"2FFF, "3100-"31EF, "A000-"A4CF, - "A830-"A83F, "AC00-"D7FF} + "1100-"11FF, "2F00-"2FFF, "3100-"318F, "31A0-"31EF, "A000-"A4CF, + "A960-"A97F, "AC00-"D7FF} \ltjdefcharrange{8}{"A7, "A8, "B0, "B1, "B4, "B6, "D7, "F7} \ltjdefcharrange{9}{% "2018, "2019, "201C, "201D, "2013, "2014, "2025, "2026, "2027, "2E3A} @@ -78,42 +77,112 @@ } \ExplSyntaxOn \RequirePackage { xunicode-addon } -\AtBeginUTFCommand +\AtBeginUTFCommand { \CTEX@beginallalchar } +\AtEndUTFCommand { \CTEX@endallalchar } +\cs_new_protected:Npn \CTEX@beginallalchar { \group_begin: - \lua_now:e { tex.globaldefs = 0 } - \ltj@allalchar - } -\AtEndUTFCommand { \group_end: } -\cs_set_protected:Npn \fontspec_visible_space: - { - \tex_iffontchar:D \tex_font:D "2423 \exp_stop_f: - \ltjalchar "2423 \exp_stop_f: - \else: - \fontspec_visible_space_fallback: - \fi: + \ctex_ltj_zero_globaldefs: + \ltj@allalchar } +\cs_new_protected:Npn \CTEX@endallalchar + { \group_end: } \ctex_at_end_package:nn { listings } + { \RequirePackage { lltjp-listings } } +\group_begin: +\char_set_catcode_space:n { 32 } +\lua_now:e { - \use:x - { - \exp_not:N \RequirePackage { lltjp-listings } - \tl_set:Nn \exp_not:N \lstlistingname - { \exp_not:o { \lstlistingname } } - \tl_set:Nn \exp_not:N \lstlistlistingname - { \exp_not:o { \lstlistlistingname } } - } + local func = lua.get_functions_table() + local ltjfont = luatexja.jfont + local getattribute = tex.getattribute + local set_lua = token.set_lua + local scan_int, scan_arg = token.scan_int, token.scan_argument + local new_luafunction = luatexbase.new_luafunction + local id = new_luafunction("ctex") + func[id] = ltjfont.add_kyenc_list + set_lua("ctex_ltj_add_kyenc:n", id, "global", "protected") + local id = new_luafunction("ctex") + func[id] = ltjfont.is_kenc + set_lua("ctex_ltj_is_kenc:n", id, "global") + local id = new_luafunction("ctex") + func[id] = function () + local s = scan_arg() + local is_braced, is_quoted + if s:sub(1,1) == '{' and s:sub(-1)=='}' then + is_braced = true; s = s:sub(2,-2) + end + if s:sub(1,1) == '"' and s:sub(-1) == '"' then + is_quoted = true; s = s:sub(2,-2) + end + s = s .. ltjfont.print_aftl_address() + if is_braced then s = '{'..s..'}' + elseif is_quoted then s = '"'..s..'"' + end + tex.sprint(-2, s) + end + set_lua("ctex_ltj_patch_external_font:n", id, "global") + local id = new_luafunction("ctex") + func[id] = function () + font.current(getattribute("ltj@curjfnt")) + end + set_lua("ctex_ltj_use_jfont:", id, "global", "protected") + local id = new_luafunction("ctex") + func[id] = function () + local b = tonumber(scan_arg()) + local e = tonumber(scan_arg()) + local alt = scan_arg() + local base = scan_arg() + ltjfont.set_alt_font_latex(b, e, alt, base) + end + set_lua("ctex_ltj_set_alt_font:nnnn", id, "global", "protected") + local id = new_luafunction("ctex") + func[id] = function () + local base = scan_arg() + ltjfont.clear_alt_font_latex(base) + end + set_lua("ctex_ltj_clear_alt_font:n", id, "global", "protected") + local id = new_luafunction("ctex") + func[id] = function () + local base = scan_arg() + local size = scan_arg() + ltjfont.output_alt_font_cmd("y", base) + ltjfont.pickup_alt_font_a(size) + end + set_lua("ctex_ltj_pickup_alt_font:nn", id, "global", "protected") + local id = new_luafunction("ctex") + func[id] = function () + local num = scan_int() + local base = scan_arg() + ltjfont.pickup_alt_font_b(num, base) + end + set_lua("__ctex_ltj_pickup_alt_font:Nn", id, "global", "protected") + local id = new_luafunction("ctex") + func[id] = \LuaTeXjaversion > 20200412.0 + and ltjfont.does_alt_set + or function () + local base = scan_arg() + ltjfont.does_alt_set(base) + end + set_lua("__ctex_ltj_if_alt_set:nT", id, "global") + local id = new_luafunction("ctex") + func[id] = function () + tex.set("globaldefs", 0) + end + set_lua("ctex_ltj_zero_globaldefs:", id, "global", "protected") } -\cs_new_protected_nopar:Npn \ctex_ltj_select_font: +\group_end: +\cs_new_protected:Npn \ctex_ltj_select_font: { - \cs_if_exist_use:cF { \l__ctex_ltj_current_font_tl } + \group_begin: \exp_args:NNc \group_end: + \cs_if_exist_use:NF { \l__ctex_ltj_current_font_tl } { \tl_if_empty:NF \CJK@family { \__ctex_ltj_select_font_aux: } } } \tl_new:N \CJK@family \tl_new:N \l__ctex_ltj_current_font_tl \tl_set:Nn \l__ctex_ltj_current_font_tl { \CJK@encoding / \CJK@family / \f@series / \f@shape / \f@size } -\cs_new_protected_nopar:Npn \__ctex_ltj_select_font_aux: +\cs_new_protected:Npn \__ctex_ltj_select_font_aux: { \group_begin: \tl_set_eq:NN \f@encoding \CJK@encoding @@ -126,14 +195,18 @@ \cs_if_exist:cF { \l__ctex_ltj_current_font_tl } { \__ctex_ltj_select_font_aux: } } -\cs_new_protected_nopar:Npn \__ctex_ltj_push_fontname:n #1 +\cs_new_protected:Npn \__ctex_ltj_push_fontname:n #1 { - \cs_gset_eq:NN \__ctex_ltj_save_fontname:w \font@name + \seq_gpush:No \g__ctex_ltj_fontname_seq { \font@name } \cs_gset_nopar:Npx \font@name {#1} } -\cs_new_protected_nopar:Npn \__ctex_ltj_pop_fontname: - { \cs_gset_eq:NN \font@name \__ctex_ltj_save_fontname:w } -\cs_new_protected_nopar:Npn \ctex_ltj_pickup_font: +\cs_new_protected:Npn \__ctex_ltj_pop_fontname: + { + \seq_gpop:NNT \g__ctex_ltj_fontname_seq \l__ctex_ltj_tmp_tl + { \cs_gset_eq:NN \font@name \l__ctex_ltj_tmp_tl } + } +\seq_new:N \g__ctex_ltj_fontname_seq +\cs_new_protected:Npn \ctex_ltj_pickup_font: { \exp_after:wN \cs_if_exist:NF \font@name { @@ -155,7 +228,7 @@ } \exp_after:wN \globaljfont \font@name \external@font \scan_stop: \font@name - \lua_now:e { font.current(tex.getattribute('ltj@curjfnt')) } + \ctex_ltj_use_jfont: \use:c { \f@encoding + \f@family } \use:c { \curr@fontshape } } @@ -181,53 +254,46 @@ } \prg_new_conditional:Npnn \ctex_ltj_if_alternate_shape_exist:n #1 { T , F , TF } { - \lua_now:e { luatexja.jfont.does_alt_set ('\lua_escape:e {#1}') } - \prg_return_true: \else: \prg_return_false: \fi: + \__ctex_ltj_if_alt_set:nT {#1} { \prg_return_true: \use_none:n } + \prg_return_false: } -\cs_new_nopar:Npn \__ctex_ltj_patch_external_font:w #1 ~ at - { #1 \lua_now:e { luatexja.jfont.print_aftl_address() } ~ at } -\cs_new_protected_nopar:Npn \ctex_ltj_select_alternate_font: +\cs_new:Npn \__ctex_ltj_patch_external_font:w #1 ~ at + { \ctex_ltj_patch_external_font:n {#1} ~ at } +\cs_new_protected:Npn \ctex_ltj_select_alternate_font: { \ctex_ltj_if_alternate_shape_exist:nT { \l__ctex_ltj_current_shape_tl } { - \lua_now:e - { - luatexja.jfont.output_alt_font_cmd - ('y', '\lua_escape:e { \l__ctex_ltj_current_shape_tl }') - } - \lua_now:e { luatexja.jfont.pickup_alt_font_a ('\f@size') } + \ctex_ltj_pickup_alt_font:nn + { \l__ctex_ltj_current_shape_tl } { \f@size } } } \tl_new:N \l__ctex_ltj_current_shape_tl \tl_set:Nn \l__ctex_ltj_current_shape_tl { \CJK@encoding / \CJK@family / \f@series / \f@shape } -\cs_new_protected_nopar:Npn \ltj@pickup@altfont@auxy #1 +\cs_new_protected:Npn \ltj@pickup@altfont@auxy #1 { \cs_if_exist:cF { #1/\f@size } { \group_begin: - \use:x { \exp_not:N \split@name #1 / \f@size } \@nil + \use:e { \exp_not:N \split@name #1 / \f@size } \@nil \__ctex_ltj_push_fontname:n { \use:c { \curr@fontshape / \f@size } } \ctex_ltj_pickup_font: \group_end: \__ctex_ltj_pop_fontname: } } -\cs_new_protected_nopar:Npn \ltj@pickup@altfont@copy #1#2 +\cs_new_protected:Npn \ltj@pickup@altfont@copy #1#2 { \ltj@@getjfontnumber #1 - \lua_now:e - { - luatexja.jfont.pickup_alt_font_b - ( \int_use:N \ltj@tempcntc, '\lua_escape:e {#2}' ) - } + \__ctex_ltj_pickup_alt_font:Nn \ltj@tempcntc {#2} } \cs_new:Npn \ctex_ltj_if_jfont:nTF #1 { - \lua_now:e - { luatexja.jfont.is_kenc( string.match('\lua_escape:e {#1}', '[^/]+') ) } + \ctex_ltj_is_kenc:n { \__ctex_ltj_ltj_if_jfont:w #1 / \q_stop } \ifin@ \exp_after:wN \use_i:nn \else: \exp_after:wN \use_ii:nn \fi: } +\cs_new:Npn \__ctex_ltj_ltj_if_jfont:w #1 / #2 \q_stop + {#1} \cs_new:Npn \ctex_ltj_if_jfont_math:NTF #1 { \exp_after:wN \__ctex_ltj_if_jfont_math:w \token_to_str:N #1 \q_stop } \group_begin: @@ -235,16 +301,16 @@ \cs_new:Npn \__ctex_ltj_if_jfont_math:w #1 M #2#3 \q_stop { \ctex_ltj_if_jfont:nTF {#3} } \group_end: -\cs_new_protected_nopar:Npn \ctex_ltj_get_and_define_fonts:nN #1#2 +\cs_new_protected:Npn \ctex_ltj_get_and_define_fonts:nN #1#2 { - \ctex_ltj_if_jfont:nTF { \token_to_str:N #2 } + \exp_args:No \ctex_ltj_if_jfont:nTF { \token_to_str:N #2 } { \ctex_ltj_get_and_define_fonts_ja:nN } { \ctex_ltj_get_and_define_fonts_al:nN } {#1} #2 } \cs_new_eq:NN \ctex_ltj_get_and_define_fonts_al:nN \getanddefine@fonts \cs_set_eq:NN \getanddefine@fonts \ctex_ltj_get_and_define_fonts:nN -\cs_new_protected_nopar:Npn \ctex_ltj_get_and_define_fonts_ja:nN #1#2 +\cs_new_protected:Npn \ctex_ltj_get_and_define_fonts_ja:nN #1#2 { \tl_gset:Nx \font@name { \use:c { \token_to_str:N #2 / \tf@size } } \ctex_ltj_pickup_font: \tl_set_eq:NN \textfont@name \font@name @@ -260,7 +326,7 @@ \ltj@@set@stackfont #1 , \font@name \c_colon_str { MJSS } } } -\cs_new_protected_nopar:Npn \ctex_ltj_use_math_group:Nn #1#2 +\cs_new_protected:Npn \ctex_ltj_use_math_group:Nn #1#2 { \mode_if_math:T { @@ -292,14 +358,14 @@ } { \cs_set_eq:NN \use@mathgroup \ctex_ltj_use_math_group:Nn - \cs_set_protected_nopar:Npn \ctex_ltj_math_group_hook: + \cs_set_protected:Npn \ctex_ltj_math_group_hook: { \__um_switchto_literal: } \ctex_ltj_set_math_letter:NN \__um_sym:nnn \__um_input_math_symbol_table: } } -\cs_new_protected_nopar:Npn \ctex_mono_jfm:n #1 +\cs_new_protected:Npn \ctex_mono_jfm:n #1 { \str_if_eq:nnTF {#1} { plain } { \tl_set:Nn \l__ctex_ltj_jfm_tl { mono } } @@ -310,24 +376,22 @@ \ctex_mono_jfm:o { \l__ctex_punct_tl } \tl_const:Nn \CJK@encoding { LTJY3 } \DeclareFontEncoding { \CJK@encoding } { } { } -\use:x +\use:e { \exp_not:N \DeclareFontSubstitution - { \CJK@encoding } { song } { \mddefault } { \updefault } + { \CJK@encoding } { song } { \mddefault } { \shapedefault } } -\lua_now:e { luatexja.jfont.add_kyenc_list('\CJK@encoding') } -\cs_new_protected_nopar:Npn \__ctex_ltj_change_encoding: - { \tl_set_eq:NN \g_fontspec_encoding_tl \CJK@encoding } +\ctex_ltj_add_kyenc:n { \CJK@encoding } \DeclareFontFamily { \CJK@encoding } { song } { } -\DeclareFontShape { \CJK@encoding } { song } { \mddefault } { \updefault } +\DeclareFontShape { \CJK@encoding } { song } { \mddefault } { \shapedefault } { <-> psft:SimSun:cid=Adobe-GB1-5;jfm=\l__ctex_ltj_jfm_tl } { } -\DeclareFontShape { \CJK@encoding } { song } { \bfdefault } { \updefault } +\DeclareFontShape { \CJK@encoding } { song } { \bfdefault } { \shapedefault } { <-> psft:SimHei:cid=Adobe-GB1-5;jfm=\l__ctex_ltj_jfm_tl } { } \tl_const:Nn \c__ctex_ltj_math_tl { CJKmath } \DeclareSymbolFont { \c__ctex_ltj_math_tl } - { \CJK@encoding } { song } { \mddefault } { \updefault } + { \CJK@encoding } { song } { \mddefault } { \shapedefault } \SetSymbolFont { \c__ctex_ltj_math_tl } { bold } - { \CJK@encoding } { song } { \bfdefault } { \updefault } + { \CJK@encoding } { song } { \bfdefault } { \shapedefault } \int_const:Nn \c__ctex_ltj_math_fam_int { \use:c { sym \c__ctex_ltj_math_tl } } \jfam \c__ctex_ltj_math_fam_int \newfontfeature { CID } { cid = #1 } @@ -343,7 +407,7 @@ { \group_begin: \clist_clear:N \l__ctex_ltj_char_range_clist - \seq_clear:N \l__ctex_ltj_alternate_seq + \prop_clear:N \l__ctex_ltj_alternate_prop \tl_set:Nn \l__ctex_ltj_base_CJKfamily_tl {#1} \keys_set_known:nnN { ctex_ltj / fontspec } {#2} \l__ctex_ltj_tmp_tl \clist_set:No \l__ctex_ltj_font_options_clist { \l__ctex_ltj_tmp_tl } @@ -360,15 +424,16 @@ } \tl_new:N \l__ctex_ltj_base_CJKfamily_tl \clist_new:N \l__ctex_ltj_font_options_clist -\cs_new_protected_nopar:Npn \__ctex_ltj_use_global_options:N #1 +\cs_new_protected:Npn \__ctex_ltj_use_global_options:N #1 { \clist_concat:NNN #1 \g__ctex_ltj_default_features_clist #1 - \clist_put_left:Nx #1 { JFM = \l__ctex_ltj_jfm_tl } + \clist_put_left:Nx #1 + { NFSSEncoding = \CJK@encoding , JFM = \l__ctex_ltj_jfm_tl } } \prop_new:N \g__ctex_ltj_family_name_prop \prop_new:N \g__ctex_ltj_family_font_name_prop \prop_new:N \g__ctex_ltj_family_font_options_prop -\cs_new_protected_nopar:Npn \__ctex_ltj_check_family:n #1 +\cs_new_protected:Npn \__ctex_ltj_check_family:n #1 { \prop_gpop:NnNT \g__ctex_ltj_family_font_name_prop {#1} \l__ctex_ltj_tmp_tl { @@ -387,28 +452,24 @@ \tl_new:N \l__ctex_ltj_tmp_tl \msg_new:nnn { ctex } { redefine-family } { Redefining~CJKfamily~`\__ctex_ltj_msg_family_map:n {#1}'~(#2). } -\cs_new_protected_nopar:Npn \__ctex_ltj_gset_family_cs:nn #1#2 +\cs_new_protected:Npn \__ctex_ltj_gset_family_cs:nn #1#2 { - \cs_gset_protected_nopar:cpx { \__ctex_ltj_family_csname:n {#1} } + \cs_gset_protected:cpx { \__ctex_ltj_family_csname:n {#1} } { \group_begin: - \__ctex_ltj_change_encoding: \exp_not:n { \cs_set_eq:NN \CJKfamily \use_none:n } - \exp_not:n { \cs_set_eq:NN \CTEX@fontfamily \use_none:n } - \exp_not:n { \fontspec_set_family:Nnn \g__ctex_ltj_fontspec_family_tl } + \exp_not:n { \fontspec_gset_family:Nnn \g__ctex_ltj_fontspec_family_tl } { \exp_not:o { \l__ctex_ltj_font_options_clist } } {#2} \prop_gput:Nno \exp_not:N \g__ctex_ltj_family_name_prop {#1} { \exp_not:N \g__ctex_ltj_fontspec_family_tl } - \tl_gset_eq:NN \exp_not:N \g__ctex_ltj_fontspec_family_tl - \exp_not:N \g__ctex_ltj_fontspec_family_tl \__ctex_ltj_set_alternate_family:n {#1} \group_end: } } \tl_new:N \l__ctex_ltj_base_family_tl \tl_new:N \g__ctex_ltj_fontspec_family_tl -\cs_new_nopar:Npn \__ctex_ltj_family_csname:n #1 { ctex_ltj/family/#1 } -\cs_new_protected_nopar:Npn \__ctex_ltj_set_alternate_family:n #1 +\cs_new:Npn \__ctex_ltj_family_csname:n #1 { ctex_ltj/family/#1 } +\cs_new_protected:Npn \__ctex_ltj_set_alternate_family:n #1 { \tl_set:Nn \l__ctex_ltj_base_CJKfamily_tl {#1} \tl_set_eq:NN \l__ctex_ltj_base_family_tl \g__ctex_ltj_fontspec_family_tl @@ -418,7 +479,7 @@ \cs_new:Npn \__ctex_ltj_alternate_cs:n #1 { ctex_ltj/alternate_family/#1 } \NewDocumentCommand \CJKfamily { m } { \ctex_ltj_switch_family:x {#1} \tex_ignorespaces:D } -\cs_new_protected_nopar:Npn \ctex_ltj_switch_family:n #1 +\cs_new_protected:Npn \ctex_ltj_switch_family:n #1 { \ctex_ltj_family_if_exist:nNTF {#1} \CJK@family { @@ -443,7 +504,7 @@ } } \prg_generate_conditional_variant:Nnn \ctex_ltj_family_if_exist:nN { x } { T , F , TF } -\cs_new_protected_nopar:Npn \__ctex_ltj_family_unknown_warning:n #1 +\cs_new_protected:Npn \__ctex_ltj_family_unknown_warning:n #1 { \prop_if_empty:NF \g__ctex_ltj_family_font_name_prop { @@ -460,7 +521,7 @@ Unknown~CJK~family~`\__ctex_ltj_msg_family_map:n {#1}'~is~being~ignored.\\ Try~to~use~`\__ctex_ltj_msg_def_family_map:n {#1}'~to~define~it. } -\cs_new_nopar:Npn \__ctex_ltj_msg_def_family_map:n #1 +\cs_new:Npn \__ctex_ltj_msg_def_family_map:n #1 { \str_case_e:nnF {#1} { @@ -471,7 +532,7 @@ { \token_to_str:N \setCJKfamilyfont \{ #1 \} } [...]\{...\} } -\cs_new_nopar:Npn \__ctex_ltj_msg_family_map:n #1 +\cs_new:Npn \__ctex_ltj_msg_family_map:n #1 { \str_case_e:nnF {#1} { @@ -481,21 +542,21 @@ } {#1} } -\cs_new_protected_nopar:Npn \ctex_ltj_fontspec:nn #1#2 +\cs_new_protected:Npn \ctex_ltj_fontspec:nn #1#2 { \prop_get:NnNTF \g__ctex_ltj_fontspec_prop { CJKfontspec/#1/#2/id } \l_ctex_ltj_family_tl { \ctex_ltj_switch_family:x { \l_ctex_ltj_family_tl } } { \int_gincr:N \g__ctex_ltj_family_int - \__ctex_ltj_fontspec:xnn + \__ctex_ltj_fontspec:enn { CJKfontspec ( \int_use:N \g__ctex_ltj_family_int ) } {#1} {#2} } } -\cs_new_protected_nopar:Npn \ctex_ltj_fontspec:xx #1#2 - { \use:x { \ctex_ltj_fontspec:nn {#1} {#2} } } -\cs_new_protected_nopar:Npn \__ctex_ltj_fontspec:nnn #1#2#3 +\cs_new_protected:Npn \ctex_ltj_fontspec:ee #1#2 + { \use:e { \ctex_ltj_fontspec:nn {#1} {#2} } } +\cs_new_protected:Npn \__ctex_ltj_fontspec:nnn #1#2#3 { \bool_if:NT \l__ctex_ltj_add_alternate_bool { @@ -515,11 +576,11 @@ \ctex_ltj_set_family:nnn {#1} {#2} {#3} \ctex_ltj_switch_family:n {#1} } -\cs_generate_variant:Nn \__ctex_ltj_fontspec:nnn { x } +\cs_generate_variant:Nn \__ctex_ltj_fontspec:nnn { e } \prop_new:N \g__ctex_ltj_fontspec_prop -\cs_new_protected_nopar:Npn \ctex_ltj_add_font_features:n #1 +\cs_new_protected:Npn \ctex_ltj_add_font_features:n #1 { \ctex_ltj_add_font_features:xn { \l_ctex_ltj_family_tl } {#1} } -\cs_new_protected_nopar:Npn \ctex_ltj_add_font_features:nn #1#2 +\cs_new_protected:Npn \ctex_ltj_add_font_features:nn #1#2 { \prop_get:NnNTF \g__ctex_ltj_family_font_name_prop {#1} \l__ctex_ltj_tmp_tl @@ -528,7 +589,7 @@ {#1} \l__ctex_ltj_font_options_clist \clist_put_right:Nn \l__ctex_ltj_font_options_clist {#2} \bool_set_true:N \l__ctex_ltj_add_alternate_bool - \ctex_ltj_fontspec:xx + \ctex_ltj_fontspec:ee { \exp_not:o { \l__ctex_ltj_font_options_clist } } { \exp_not:o { \l__ctex_ltj_tmp_tl } } } @@ -544,16 +605,16 @@ } \cs_new_protected:Npn \__ctex_ltj_pass_args:nnnn #1#2#3#4 { - \IfNoValueTF {#2} + \tl_if_novalue:nTF {#2} { \__ctex_ltj_post_arg:w {#1} {#3} {#4} } { - \use:x { #1 {#2} {#3} } + \use:e { #1 {#2} {#3} } #4 } } \NewDocumentCommand \__ctex_ltj_post_arg:w { m m m O { } } { - \use:x { #1 {#4} {#2} } + \use:e { #1 {#4} {#2} } #3 } \NewDocumentCommand \setCJKfamilyfont { m o m } @@ -565,8 +626,8 @@ \NewDocumentCommand \newCJKfontfamily { o m o m } { \tl_set:Nx \l__ctex_ltj_tmp_tl - { \IfNoValueTF {#1} { \cs_to_str:N #2 } {#1} } - \cs_new_protected_nopar:Npx #2 + { \tl_if_novalue:nTF {#1} { \cs_to_str:N #2 } {#1} } + \cs_new_protected:Npx #2 { \ctex_ltj_switch_family:n { \l__ctex_ltj_tmp_tl } } \__ctex_ltj_pass_args:nnnn { \ctex_ltj_set_family:nnn { \l__ctex_ltj_tmp_tl } } {#3} {#4} @@ -623,29 +684,12 @@ \tl_if_exist:NF \CJKrmdefault { \tl_const:Nn \CJKrmdefault { rm } } \tl_if_exist:NF \CJKsfdefault { \tl_const:Nn \CJKsfdefault { sf } } \tl_if_exist:NF \CJKttdefault { \tl_const:Nn \CJKttdefault { tt } } -\RenewDocumentCommand \fontfamily { m } - { - \tl_set:Nx \f@family {#1} - \CTEX@fontfamily {#1} - } -\cs_new_protected_nopar:Npn \CTEX@fontfamily #1 - { - \str_if_eq:nnTF {#1} { \familydefault } - { \CJKfamily { \CJKfamilydefault } } - { \__ctex_ltj_update_family_aux: } - } -\cs_new_protected_nopar:Npn \__ctex_ltj_update_family_aux: - { - \str_case_e:nn { \f@family } - { - { \rmdefault } { \CJKfamily { \CJKrmdefault } } - { \sfdefault } { \CJKfamily { \CJKsfdefault } } - { \ttdefault } { \CJKfamily { \CJKttdefault } } - { \familydefault } { \CJKfamily { \CJKfamilydefault } } - } - } +\g@addto@macro \@rmfamilyhook { \CJKfamily { \CJKrmdefault } } +\g@addto@macro \@sffamilyhook { \CJKfamily { \CJKsfdefault } } +\g@addto@macro \@ttfamilyhook { \CJKfamily { \CJKttdefault } } +\g@addto@macro \@defaultfamilyhook { \CJKfamily { \CJKfamilydefault } } \ctex_at_end_preamble:n { \ctex_update_default_family: } -\cs_new_protected_nopar:Npn \ctex_ltj_ensure_default_family: +\cs_new_protected:Npn \ctex_ltj_ensure_default_family: { \prop_if_empty:NF \g__ctex_ltj_family_font_name_prop { @@ -670,7 +714,7 @@ \ctex_ltj_update_mathfont: } } -\cs_new_protected_nopar:Npn \ctex_ltj_update_mathfont: +\cs_new_protected:Npn \ctex_ltj_update_mathfont: { \ctex_ltj_family_if_exist:xNTF { \c__ctex_ltj_math_tl } \l__ctex_ltj_tmp_tl { \ctex_ltj_update_mathfont:n { \l__ctex_ltj_tmp_tl } } @@ -679,91 +723,93 @@ { \ctex_ltj_update_mathfont:n { \l__ctex_ltj_tmp_tl } } } } -\cs_new_protected_nopar:Npn \ctex_ltj_update_mathfont:n #1 +\cs_new_protected:Npn \ctex_ltj_update_mathfont:n #1 { \tl_const:Nx \c__ctex_ltj_math_family_tl {#1} \DeclareSymbolFont { \c__ctex_ltj_math_tl } { \CJK@encoding } - { \c__ctex_ltj_math_family_tl } { \mddefault } { \updefault } + { \c__ctex_ltj_math_family_tl } { \mddefault } { \shapedefault } \cs_if_free:cTF - { \CJK@encoding/\c__ctex_ltj_math_family_tl/\bfdefault/\updefault } + { \CJK@encoding/\c__ctex_ltj_math_family_tl/\bfdefault/\shapedefault } { \SetSymbolFont { \c__ctex_ltj_math_tl } { bold } { \CJK@encoding } - { \c__ctex_ltj_math_family_tl } { \mddefault } { \updefault } + { \c__ctex_ltj_math_family_tl } { \mddefault } { \shapedefault } } { \SetSymbolFont { \c__ctex_ltj_math_tl } { bold } { \CJK@encoding } - { \c__ctex_ltj_math_family_tl } { \bfdefault } { \updefault } + { \c__ctex_ltj_math_family_tl } { \bfdefault } { \shapedefault } } } \keys_define:nn { ctex_ltj / fontspec } { - AlternateFont .code:n = \ctex_ltj_set_alternate_seq:n {#1} , + AlternateFont .code:n = \ctex_ltj_set_alternate_prop:n {#1} , AlternateFont .value_required:n = true , CharRange .clist_set:N = \l__ctex_ltj_char_range_clist , CharRange .value_required:n = true } -\group_begin: - \char_set_catcode_other:N \| - \cs_set:Npn \__ctex_ltj_tmp:w #1 - { - \cs_new_protected:Npn \ctex_ltj_set_alternate_seq:n ##1 - { - \clist_if_empty:NT \l__ctex_ltj_char_range_clist - { - \tl_set:Nn \l__ctex_ltj_tmp_tl { ##1 } - \tl_replace_all:Nnn \l__ctex_ltj_tmp_tl {#1} { || } - \seq_set_split:NnV \l__ctex_ltj_tmp_seq { || } \l__ctex_ltj_tmp_tl - \seq_set_filter:NNn \l__ctex_ltj_tmp_seq \l__ctex_ltj_tmp_seq - { ! \tl_if_blank_p:n { ####1 } } - \seq_concat:NNN \l__ctex_ltj_alternate_seq - \l__ctex_ltj_alternate_seq \l__ctex_ltj_tmp_seq - } - } - } - \char_set_catcode_active:N \| - \__ctex_ltj_tmp:w { || } -\group_end: -\seq_new:N \l__ctex_ltj_tmp_seq -\seq_new:N \l__ctex_ltj_alternate_seq -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:nnF #1#2#3 +\cs_new_protected:Npn \ctex_ltj_set_alternate_prop:n #1 + { \clist_map_function:nN {#1} \__ctex_ltj_push_alternate_prop:n } +\cs_new_protected:Npn \__ctex_ltj_push_alternate_prop:n #1 + { + \clist_set:Nx \l__ctex_ltj_tmp_clist { \tl_head:n {#1} } + \tl_remove_all:Nn \l__ctex_ltj_tmp_clist { ~ } + \exp_args:No \__ctex_ltj_push_alternate_prop:nn + { \l__ctex_ltj_tmp_clist } {#1} + } +\cs_new_protected:Npn \__ctex_ltj_push_alternate_prop:nn #1 + { + \prop_remove:Nn \l__ctex_ltj_alternate_prop {#1} + \prop_put:Nnn \l__ctex_ltj_alternate_prop {#1} + } +\clist_new:N \l__ctex_ltj_tmp_clist +\prop_new:N \l__ctex_ltj_alternate_prop +\cs_new_protected:Npn \ctex_ltj_set_alternate_family:nnF { \clist_if_empty:NTF \l__ctex_ltj_char_range_clist - { - \__ctex_ltj_check_family:n {#1} - \seq_if_empty:NF \l__ctex_ltj_alternate_seq - { \ctex_ltj_save_alternate_seq:cn { \__ctex_ltj_alternate_cs:n {#1} } {#2} } - #3 - } - { \ctex_ltj_set_alternate_family:nn {#1} {#2} } + { \__ctex_ltj_set_family_aux:nnn } + { \__ctex_ltj_set_alternate_family_aux:nnn } } -\cs_new_protected_nopar:Npn \ctex_ltj_save_alternate_seq:Nn #1#2 +\cs_new_protected:Npn \__ctex_ltj_set_family_aux:nnn #1#2#3 { - \seq_map_inline:Nn \l__ctex_ltj_alternate_seq - { \ctex_ltj_save_alternate_seq:Nnnwnw #1 {#2} ##1 { } \q_stop } + \__ctex_ltj_check_family:n {#1} + \prop_if_empty:NF \l__ctex_ltj_alternate_prop + { \ctex_ltj_save_alternate_seq:cn { \__ctex_ltj_alternate_cs:n {#1} } {#2} } + #3 } -\cs_generate_variant:Nn \ctex_ltj_save_alternate_seq:Nn { c } -\NewDocumentCommand \ctex_ltj_save_alternate_seq:Nnnwnw - { m m m +O{ } m u{ \q_stop } } +\cs_new_protected:Npn \__ctex_ltj_set_alternate_family_aux:nnn #1#2#3 + { \ctex_ltj_set_alternate_family:nn {#1} {#2} } +\cs_new_protected:Npn \ctex_ltj_save_alternate_seq:Nn #1#2 + { + \prop_map_inline:Nn \l__ctex_ltj_alternate_prop + { \__ctex_ltj_save_alternate_auxi:w ##2 { } \q_mark #1 {#2} } + } +\cs_new_protected:Npn \__ctex_ltj_save_alternate_auxi:w #1#2# { - \clist_set:Nn \l__ctex_ltj_char_range_clist {#3} - \clist_set:Nn \l__ctex_ltj_alternate_options_clist {#4} + \tl_if_blank:nTF {#2} + { \__ctex_ltj_save_alternate_auxii:w {#1} } + { \__ctex_ltj_save_alternate_auxii:w {#1} {#2} } + } +\cs_new_protected:Npn \__ctex_ltj_save_alternate_auxii:w #1#2#3 #4 \q_mark #5#6 + { + \clist_set:Nn \l__ctex_ltj_char_range_clist {#1} + \clist_set:Nn \l__ctex_ltj_alternate_options_clist {#3} \__ctex_ltj_use_global_options:N \l__ctex_ltj_alternate_options_clist - \tl_if_blank:nTF {#5} - { \tl_set:Nn \l__ctex_ltj_tmp_tl {#2} } + \tl_if_blank:nTF {#2} + { \tl_set:Nn \l__ctex_ltj_tmp_tl {#6} } { - \tl_set:Nn \l__ctex_ltj_tmp_tl {#5} - \tl_replace_all:Nnn \l__ctex_ltj_tmp_tl { * } {#2} + \tl_set:Nx \l__ctex_ltj_tmp_tl { \tl_trim_spaces:n {#2} } + \tl_replace_all:Nnn \l__ctex_ltj_tmp_tl { * } {#6} } - \use:x + \use:e { - \ctex_ltj_save_alternate_family:Nnnn \exp_not:N #1 + \ctex_ltj_save_alternate_family:Nnnn \exp_not:N #5 { \exp_not:o { \l__ctex_ltj_char_range_clist } } { \exp_not:o { \l__ctex_ltj_alternate_options_clist } } { \exp_not:o { \l__ctex_ltj_tmp_tl } } } } \clist_new:N \l__ctex_ltj_alternate_options_clist -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:nn #1#2 +\cs_generate_variant:Nn \ctex_ltj_save_alternate_seq:Nn { c } +\cs_new_protected:Npn \ctex_ltj_set_alternate_family:nn #1#2 { \__ctex_ltj_update_family_uid:N \l__ctex_ltj_font_options_clist \__ctex_ltj_use_global_options:N \l__ctex_ltj_font_options_clist @@ -772,23 +818,22 @@ { \l__ctex_ltj_char_range_clist } { \l__ctex_ltj_font_options_clist } {#2} {#1} } -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:Nnnnn #1#2#3#4#5 +\cs_new_protected:Npn \ctex_ltj_set_alternate_family:Nnnnn #1#2#3#4#5 { \prop_get:NnNT \g__ctex_ltj_family_name_prop {#5} \l__ctex_ltj_base_family_tl { \ctex_ltj_set_alternate_family:nnn {#2} {#3} {#4} } \ctex_ltj_save_alternate_family:Nnnn #1 {#2} {#3} {#4} } \cs_generate_variant:Nn \ctex_ltj_set_alternate_family:Nnnnn { coo } -\cs_new_protected_nopar:Npn \ctex_ltj_save_alternate_family:Nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_ltj_save_alternate_family:Nnnn #1#2#3#4 { \cs_if_exist:NF #1 { \cs_set_eq:NN #1 \prg_do_nothing: } - \cs_gset_protected_nopar:Npx #1 + \cs_gset_protected:Npx #1 { \exp_not:o { #1 \ctex_ltj_set_alternate_family:nnn {#2} {#3} {#4} } } } -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_family:nnn #1#2#3 +\cs_new_protected:Npn \ctex_ltj_set_alternate_family:nnn #1#2#3 { \group_begin: - \__ctex_ltj_change_encoding: \cs_set_eq:NN \CJKfamily \use_none:n \ctex_ltj_swap_cs:NN \DeclareFontShape@ \ctex_ltj_declare_alternate_shape:nnnnnn @@ -805,7 +850,7 @@ \cs_undefine:N \__ctex_ltj_tmp:w } \keys_define:nn { fontspec } { LTJFONTUID .code:n = } -\cs_new_protected_nopar:Npn \__ctex_ltj_update_family_uid:N #1 +\cs_new_protected:Npn \__ctex_ltj_update_family_uid:N #1 { \int_gincr:N \g__ctex_ltj_family_int \clist_put_right:Nx #1 { LTJFONTUID = \int_use:N \g__ctex_ltj_family_int } @@ -815,10 +860,9 @@ { \ctex_ltj_declare_alternate_shape:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6} \ctex_ltj_set_alternate_shape:Nnnnnnn \l__ctex_ltj_char_range_clist - { \l__ctex_ltj_base_family_tl } {#3} {#4} - { \l_fontspec_family_tl } {#3} {#4} + { \l__ctex_ltj_base_family_tl } {#3} {#4} {#2} {#3} {#4} } -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:Nnnnnnn #1#2#3#4#5#6#7 +\cs_new_protected:Npn \ctex_ltj_set_alternate_shape:Nnnnnnn #1#2#3#4#5#6#7 { \clist_map_inline:Nn #1 { @@ -829,73 +873,67 @@ } { \ctex_ltj_set_alternate_shape:nnn { #2/#3/#4 } { #5/#6/#7 } { ##1 } } } - \__ctex_ltj_save_alternate_shape:cnn + \__ctex_ltj_save_alternate_shape:cn { \__ctex_ltj_alternate_cs:n { clear / \l__ctex_ltj_base_CJKfamily_tl } } - { luatexja.jfont.clear_alt_font_latex } - { '\lua_escape:e { \CJK@encoding/#2/#3/#4 }' } + { \ctex_ltj_clear_alt_font:n { \CJK@encoding/#2/#3/#4 } } } \NewDocumentCommand \ctex_ltj_set_alternate_shape:nnn { m m > { \SplitArgument { 1 } { -> } } m } { \ctex_ltj_set_alternate_shape:nnnn {#1} {#2} #3 } -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:nnnn #1#2#3#4 +\cs_new_protected:Npn \ctex_ltj_set_alternate_shape:nnnn #1#2#3#4 { - \ctex_ltj_set_alternate_shape:n + \ctex_ltj_set_alternate_shape:e { - \IfNoValueTF {#4} - { \int_eval:n {#3} , \int_eval:n {#3} , } - { - \int_eval:n { \tl_if_blank:nTF {#3} { "80 } {#3} } , - \int_eval:n { \tl_if_blank:nTF {#4} { "10FFFF } {#4} } , - } - '\lua_escape:e { \CJK@encoding/#2 }' , - '\lua_escape:e { \CJK@encoding/#1 }' + \__ctex_ltj_range_normalization:nn {#3} {#4} + { \CJK@encoding / \exp_not:n {#2} } + { \CJK@encoding / \exp_not:n {#1} } } } -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:n #1 +\cs_new_protected:Npn \ctex_ltj_set_alternate_shape:n #1 { - \lua_now:e { luatexja.jfont.set_alt_font_latex ( #1 ) } - \__ctex_ltj_save_alternate_shape:cnn + \ctex_ltj_set_alt_font:nnnn #1 + \__ctex_ltj_save_alternate_shape:cn { \__ctex_ltj_alternate_cs:n { reset / \l__ctex_ltj_base_CJKfamily_tl } } - { luatexja.jfont.set_alt_font_latex } {#1} + { \ctex_ltj_set_alt_font:nnnn #1 } } -\cs_new_protected_nopar:Npn \ctex_ltj_set_alternate_shape:nnN #1#2#3 +\cs_generate_variant:Nn \ctex_ltj_set_alternate_shape:n { e } +\cs_new_protected:Npn \ctex_ltj_set_alternate_shape:nnN #1#2#3 { \tl_map_inline:Nn #3 { \ctex_ltj_set_alternate_shape:n { - ##1 , - '\lua_escape:e { \CJK@encoding/#2 }' , - '\lua_escape:e { \CJK@encoding/#1 }' + ##1 + { \CJK@encoding/#2 } + { \CJK@encoding/#1 } } } } -\cs_new_protected_nopar:Npn \__ctex_ltj_save_alternate_shape:Nnn #1#2#3 +\cs_new_protected:Npn \__ctex_ltj_save_alternate_shape:Nn #1#2 { \group_begin: - \cs_if_exist:NF #1 { \cs_set_eq:NN #1 \prg_do_nothing: } - \cs_set_eq:NN \l__ctex_ltj_base_family_tl \scan_stop: - \cs_set_eq:NN \lua_escape:e \scan_stop: - \cs_gset_protected_nopar:Npx #1 - { \exp_not:o {#1} \exp_not:N \lua_now:e { #2 ( #3 ) } } + \cs_if_exist:NF #1 { \cs_set_eq:NN #1 \prg_do_nothing: } + \cs_set_eq:NN \l__ctex_ltj_base_family_tl \scan_stop: + \cs_gset_protected:Npx #1 { \exp_not:o {#1} #2 } \group_end: } -\cs_generate_variant:Nn \__ctex_ltj_save_alternate_shape:Nnn { c } -\keys_define:nn { ctex } +\cs_generate_variant:Nn \__ctex_ltj_save_alternate_shape:Nn { c } +\ctex_define:n { clearalternatefont .code:n = - { \clist_map_function:xN {#1} \ctex_ltj_clear_alternate_font:n } , + { \clist_map_function:eN {#1} \ctex_ltj_clear_alternate_font:n } , resetalternatefont .code:n = - { \clist_map_function:xN {#1} \ctex_ltj_reset_alternate_font:n } , + { \clist_map_function:eN {#1} \ctex_ltj_reset_alternate_font:n } , clearalternatefont .default:n = \l_ctex_ltj_family_tl , resetalternatefont .default:n = \l_ctex_ltj_family_tl } -\cs_new_protected_nopar:Npn \ctex_ltj_clear_alternate_font:n #1 +\cs_new_protected:Npn \ctex_ltj_clear_alternate_font:n #1 { \group_begin: \ctex_ltj_family_if_exist:xNTF {#1} \l__ctex_ltj_base_family_tl { - \cs_if_exist_use:cT { \__ctex_ltj_alternate_cs:n { clear / #1 } } + \cs_if_exist_use:cT + { \__ctex_ltj_alternate_cs:n { clear / #1 } } { \prop_gput:Nno \g__ctex_ltj_reset_alternate_prop {#1} { \l__ctex_ltj_base_family_tl } @@ -906,7 +944,7 @@ { \__ctex_ltj_family_unknown_warning:n {#1} } \group_end: } -\cs_new_protected_nopar:Npn \ctex_ltj_reset_alternate_font:n #1 +\cs_new_protected:Npn \ctex_ltj_reset_alternate_font:n #1 { \group_begin: \prop_gpop:NnNT \g__ctex_ltj_reset_alternate_prop {#1} \CJK@family @@ -918,18 +956,18 @@ \group_end: } \prop_new:N \g__ctex_ltj_reset_alternate_prop -\cs_generate_variant:Nn \clist_map_function:nN { x } -\keys_define:nn { ctex } +\cs_generate_variant:Nn \clist_map_function:nN { e } +\ctex_define:n { - declarecharrange .code:n = \ctex_ltj_declare_char_range:x {#1} , + declarecharrange .code:n = \ctex_ltj_declare_char_range:e {#1} , declarecharrange .value_required:n = true } -\cs_new_protected_nopar:Npn \ctex_ltj_declare_char_range:n #1 +\cs_new_protected:Npn \ctex_ltj_declare_char_range:n #1 { \clist_map_inline:nn {#1} { \__ctex_ltj_declare_char_range:nn ##1 } } -\cs_generate_variant:Nn \ctex_ltj_declare_char_range:n { x } -\cs_new_protected_nopar:Npn \__ctex_ltj_declare_char_range:nn #1#2 - { \use:x { \ctex_ltj_declare_char_range:nn { \tl_trim_spaces:n {#1} } } {#2} } -\cs_new_protected_nopar:Npn \ctex_ltj_declare_char_range:nn #1#2 +\cs_generate_variant:Nn \ctex_ltj_declare_char_range:n { e } +\cs_new_protected:Npn \__ctex_ltj_declare_char_range:nn #1 + { \exp_args:Ne \ctex_ltj_declare_char_range:nn { \tl_trim_spaces:n {#1} } } +\cs_new_protected:Npn \ctex_ltj_declare_char_range:nn #1#2 { \tl_clear:N \l__ctex_ltj_char_range_tl \clist_map_function:nN {#2} \ctex_ltj_save_char_range:n @@ -942,19 +980,26 @@ \NewDocumentCommand \ctex_ltj_save_char_range:n { > { \SplitArgument { 1 } { -> } } m } { \ctex_ltj_save_char_range:nn #1 } -\cs_new_protected_nopar:Npn \ctex_ltj_save_char_range:nn #1#2 +\cs_new_protected:Npn \ctex_ltj_save_char_range:nn #1#2 { \tl_put_right:Nx \l__ctex_ltj_char_range_tl - { { - \IfNoValueTF {#2} - { \int_eval:n {#1} , \int_eval:n {#1} } - { - \int_eval:n { \tl_if_blank:nTF {#1} { "80 } {#1} } , - \int_eval:n { \tl_if_blank:nTF {#2} { "10FFFF } {#2} } - } - } } + { { \__ctex_ltj_range_normalization:nn {#1} {#2} } } + } +\cs_new:Npn \__ctex_ltj_range_normalization:nn #1#2 + { + \tl_if_novalue:nTF {#2} + { + { \int_eval:n {#1} } + { \int_eval:n {#1} } + } + { + { \int_eval:n { \tl_if_blank:nTF {#1} { \c__ctex_ltj_range_min_int } {#1} } } + { \int_eval:n { \tl_if_blank:nTF {#2} { \c__ctex_ltj_range_max_int } {#2} } } + } } -\cs_new_protected_nopar:Npn \ctex_ltj_def_char_range_key:n #1 +\int_const:Nn \c__ctex_ltj_range_min_int { "80 } +\int_const:Nn \c__ctex_ltj_range_max_int { \c_max_char_int } +\cs_new_protected:Npn \ctex_ltj_def_char_range_key:n #1 { \keys_if_exist:nnF { ctex_ltj / fontspec } {#1} { @@ -965,28 +1010,8 @@ \cs_new_protected:Npn \ctex_ltj_char_range_key:nn #1#2 { \tl_if_blank:nTF {#2} - { \tl_set:Nn \l__ctex_ltj_char_range_clist {#1} } - { - \clist_if_empty:NT \l__ctex_ltj_char_range_clist - { - \tl_set:Nn \l__ctex_ltj_tmp_tl { {#1} } - \__ctex_ltj_char_range_parse_feature:w #2 \q_stop - } - } - } -\NewDocumentCommand \__ctex_ltj_char_range_parse_feature:w - { +o o u { \q_stop } } - { - \exp_args:NNf \tl_put_right:Nn \l__ctex_ltj_tmp_tl - { - \IfNoValueTF {#1} { {#3} } - { - \IfNoValueTF {#2} - { \tl_if_blank:nTF {#3} { { [#1] } } { [ {#1} ] {#3} } } - { [ {#1} ] { [#2] } } - } - } - \seq_put_right:No \l__ctex_ltj_alternate_seq { \l__ctex_ltj_tmp_tl } + { \clist_set:Nn \l__ctex_ltj_char_range_clist {#1} } + { \__ctex_ltj_push_alternate_prop:nn {#1} { {#1} #2 } } } \AtBeginDocument { @@ -996,14 +1021,14 @@ { } { \ctex_patch_failure:N \verbatim@font } } -\cs_new_protected_nopar:Npn \CTEX@verbatim@font@hook +\cs_new_protected:Npn \CTEX@verbatim@font@hook { \ltjsetparameter { autospacing = false , autoxspacing = false } } \cs_set_eq:NN \@@italiccorr \/ -\cs_new_protected_nopar:Npn \ctex_ltj_set_kanjiskip:N +\cs_new_protected:Npn \ctex_ltj_set_kanjiskip:N { \ltj@setpar@global \ltjsetkanjiskip } -\cs_new_protected_nopar:Npn \ctex_ltj_set_xkanjiskip:N +\cs_new_protected:Npn \ctex_ltj_set_xkanjiskip:N { \ltj@setpar@global \ltjsetxkanjiskip } -\cs_new_protected_nopar:Npn \ctex_update_default_family: +\cs_new_protected:Npn \ctex_update_default_family: { \tl_if_eq:NNT \CJKfamilydefault \l__ctex_family_default_init_tl { @@ -1031,35 +1056,11 @@ { \exp_not:o { \CJKfamilydefault } } } \tl_gset_eq:NN \CJKfamilydefault \l__ctex_family_default_init_tl -\cs_new_protected_nopar:Npn \ctex_detected_platform: - { - \tl_gset:Nx \g__ctex_fontset_tl - { - \lua_now:e - { - if ~ os.name == 'windows' then ~ - tex.sprint ( 'windows' ) - elseif ~ os.name == 'macosx' then ~ - tex.sprint ( 'mac' ) - else ~ - tex.sprint ( 'fandol' ) - end - } - } - } \ctex_hypersetup:n { pdfencoding = unicode } -\msg_new:nnn { ctex } { fntef-not-available } - { Functions~ of~ `CJKfntef'~ is~ not~ available~ in~ LuaLaTeX. } -\msg_warning:nn { ctex } { fntef-not-available } -\clist_map_inline:nn - { underdot , underline , underdblline , underwave , sout , xout } - { \cs_new_eq:cN { CTEX#1 } \use:n } -\cs_new_eq:NN \CTEXfilltwosides \use_none:n -\cs_new_eq:NN \endCTEXfilltwosides \prg_do_nothing: -\cs_new_protected_nopar:Npn \ctex_update_ccwd: +\cs_new_protected:Npn \ctex_update_ccwd: { \skip_set:Nn \ccwd { \ltjgetparameter { kanjiskip } + \zw } } \dim_new:N \ccwd -\cs_new_protected_nopar:Npn \ctex_update_ccglue: +\cs_new_protected:Npn \ctex_update_ccglue: { \ctex_ltj_set_kanjiskip:N \l__ctex_ccglue_skip } \skip_new:N \l__ctex_ccglue_skip \prg_new_conditional:Npnn \ctex_if_ccglue_touched: { TF } @@ -1067,11 +1068,11 @@ \skip_if_eq:nnTF { \l__ctex_ccglue_skip } { \ltjgetparameter { kanjiskip } } { \prg_return_false: } { \prg_return_true: } } -\cs_new_protected_nopar:Npn \ctex_update_em_unit: +\cs_new_protected:Npn \ctex_update_em_unit: { \dim_set:Nn \ccwd { \zw } } \cs_new_protected:Npn \ctex_add_to_selectfont:n #1 { - \cs_set_protected_nopar:Npx \CTEX@selectfont@hook + \cs_set_protected:Npx \CTEX@selectfont@hook { \exp_not:o { \CTEX@selectfont@hook #1 } } } \cs_new_eq:NN \CTEX@selectfont@hook \prg_do_nothing: @@ -1081,10 +1082,15 @@ { \tl_set:Nn \l__ctex_tmp_tl {#1} \cs_new_eq:NN \CTEX@selectfont@save #1 - \cs_new_protected_nopar:Npn \__ctex_restore_selectfont: + \cs_new_protected:Npn \__ctex_restore_selectfont: { + \cs_if_free:NF \scr@new@selectfont + { + \cs_set_eq:NN \scr@new@selectfont #1 + \cs_set_eq:NN \CTEX@selectfont@save \scr@selectfont + } \tl_put_left:Nn \@EverySelectfont@Init - { \let #1 \CTEX@selectfont@save } + { \cs_set_eq:NN #1 \CTEX@selectfont@save } \cs_undefine:N \__ctex_restore_selectfont: } } @@ -1105,7 +1111,7 @@ } \tl_set:Nn \CJK@family { song } \selectfont \tl_clear:N \CJK@family -\cs_new_protected_nopar:Npn \ctex_update_xkanjiskip: +\cs_new_protected:Npn \ctex_update_xkanjiskip: { \skip_if_eq:nnT { \ltjgetparameter { xkanjiskip } } { \l__ctex_xkanjiskip_skip } @@ -1124,44 +1130,42 @@ \dim_new:N \cht \dim_new:N \cdp \dim_new:N \cwd -\newluafunction \g__ctex_kanjisize_func \group_begin: \char_set_catcode_space:n { 32 } \lua_now:e { local nulltable = { } - local t = lua.get_functions_table() local fmt = luatexja.jfont.font_metric_table local getattribute = tex.getattribute local setdimen = tex.setdimen - t[\int_use:N \g__ctex_kanjisize_func] = function () - local ft = fmt[getattribute('ltj@curjfnt')] or nulltable + local func = lua.get_functions_table() + local id = luatexbase.new_luafunction("ctex") + func[id] = function () + local ft = fmt[getattribute("ltj@curjfnt")] or nulltable local ft = ft and ft.char_type or nulltable local fk = ft and ft[0] or nulltable - setdimen('cht', fk.height or 0) - setdimen('cdp', fk.depth or 0) - setdimen('cwd', fk.width or ft.zw or 0) + setdimen("cht", fk.height or 0) + setdimen("cdp", fk.depth or 0) + setdimen("cwd", fk.width or ft.zw or 0) end + token.set_lua("ctex_update_kanjisize:", id, "global", "protected") } \group_end: -\cs_new_protected_nopar:Npn \ctex_update_kanjisize: - { \tex_luafunction:D \g__ctex_kanjisize_func } \ctex_add_to_selectfont:n { \ctex_update_kanjisize: } -\keys_define:nn { ctex } +\ctex_define:n { space .code:n = { \msg_warning:nn { ctex } { invalid-option } } } -\keys_define:nn { ctex } +\ctex_define:n { punct .code:n = { - \tl_set:Nx \l__ctex_punct_tl { #1 } + \tl_set:Nx \l__ctex_punct_tl {#1} \ctex_mono_jfm:o { \l__ctex_punct_tl } } , punct .default:n = { quanjiao } , } -\tl_set:Nn \l__ctex_encoding_tl { UTF8 } %% %% %% End of file `ctex-engine-luatex.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def index 04b47108953..e447c91fff9 100644 --- a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def +++ b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-pdftex.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `pdftex') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,26 +20,31 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {(pdf)LaTeX adapter (CTEX)} \ProvidesExplFile{ctex-engine-pdftex.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\cs_new_protected_nopar:Npn \ctex_set_zhmap:n #1 + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\cs_new_protected:Npn \ctex_set_zhmap:n + { \tl_gput_right:Nx \g__ctex_zhmap_tl } +\cs_new_protected:Npn \ctex_use_zhmap: + { \tl_use:N \g__ctex_zhmap_tl } +\cs_new_protected:Npn \ctex_add_dvi_zhmap: + { \AtBeginDvi { \ctex_use_zhmap: } } +\ctex_after_end_preamble:n { \ctex_add_dvi_zhmap: } +\ctex_at_end_package:nn { atbegshi } { - \AtBeginDvi {#1} - \ctex_at_end_package:nn { atbegshi } - { \AtBeginShipoutFirst {#1} } + \AtBeginShipoutFirst { \ctex_use_zhmap: } + \cs_gset_eq:NN \ctex_add_dvi_zhmap: \prg_do_nothing: } +\tl_new:N \g__ctex_zhmap_tl \@onlypreamble \ctex_set_zhmap:n \seq_const_from_clist:Nn \c__ctex_cmap_encoding_seq { C19 , C10 , C00 , C09 , C40 , C60 } -\cs_new_protected_nopar:Npn \ctex_family_cmap:nn #1#2 +\cs_new_protected:Npn \ctex_family_cmap:nn #1#2 { \cs_if_free:cF { #1 + #2 } { @@ -49,22 +54,22 @@ } \cs_generate_variant:Nn \ctex_family_cmap:nn { x } \cs_new_eq:NN \CTEX@Family@CMap \ctex_family_cmap:xn -\cs_new_protected_nopar:Npn \ctex_add_cmap:n #1 +\cs_new_protected:Npn \ctex_add_cmap:n #1 { \cs_if_free:NF \CJK@plane { \ctex_add_cmap:cn { __ctex_add_cmap_ #1 \CJK@plane : } {#1} } } -\cs_new_protected_nopar:Npn \ctex_add_cmap:Nn #1#2 +\cs_new_protected:Npn \ctex_add_cmap:Nn #1#2 { \cs_if_exist:NF #1 { \__ctex_save_cmap:Nn #1 {#2} } #1 } \cs_generate_variant:Nn \ctex_add_cmap:Nn { c } -\cs_new_protected_nopar:Npn \__ctex_save_cmap:Nn #1#2 +\cs_new_protected:Npn \__ctex_save_cmap:Nn #1#2 { - \tl_set:Nx \l__ctex_tmp_tl { \str_lower_case:n {#2} \CJK@plane } + \tl_set:Nx \l__ctex_tmp_tl { \str_lowercase:n {#2} \CJK@plane } \tex_immediate:D \tex_pdfobj:D stream ~ file { \l__ctex_tmp_tl .cmap } - \cs_new_protected_nopar:Npx #1 + \cs_new_protected:Npx #1 { \exp_not:N \tex_pdffontattr:D \exp_not:N \tex_font:D { /ToUnicode ~ \int_use:N \tex_pdflastobj:D \c_space_tl 0 ~ R } @@ -85,14 +90,14 @@ } { \group_end: } \if_bool:N \g__ctex_zhmCJK_bool - \PassOptionsToPackage { encoding = \l__ctex_encoding_tl } { zhmCJK } + \PassOptionsToPackage { encoding = \g__ctex_encoding_tl } { zhmCJK } \RequirePackage { zhmCJK } \else: - \str_if_eq:onTF { \l__ctex_encoding_tl } { GBK } + \str_if_eq:onTF { \g__ctex_encoding_tl } { GBK } { \RequirePackage { CJK } } { \RequirePackage { CJKutf8 } } \RequirePackage { CJKpunct , CJKspace } - \cs_new_protected_nopar:Npn \ctex_load_zhmap:nnnn #1#2#3#4 + \cs_new_protected:Npn \ctex_load_zhmap:nnnn #1#2#3#4 { \tl_set:Nn \CJKrmdefault {#1} \tl_set:Nn \CJKsfdefault {#2} @@ -100,7 +105,7 @@ \ctex_set_zhmap:n { \ctex_zhmap_input:n {#4} } } \@onlypreamble \ctex_load_zhmap:nnnn - \cs_new_protected_nopar:Npn \ctex_zhmap_input:n #1 + \cs_new_protected:Npn \ctex_zhmap_input:n #1 { \ctex_file_wrapper:nnn { @@ -118,24 +123,12 @@ \tl_if_exist:NF \CJKrmdefault { \tl_new:N \CJKrmdefault } \tl_if_exist:NF \CJKsfdefault { \tl_new:N \CJKsfdefault } \tl_if_exist:NF \CJKttdefault { \tl_new:N \CJKttdefault } - \ctex_preto_cmd:NnnTF \rmfamily { \ExplSyntaxOff } - { \CJKfamily { \CJKrmdefault } } - { } - { \ctex_patch_failure:N \rmfamily } - \ctex_preto_cmd:NnnTF \sffamily { \ExplSyntaxOff } - { \CJKfamily { \CJKsfdefault } } - { } - { \ctex_patch_failure:N \sffamily } - \ctex_preto_cmd:NnnTF \ttfamily { \ExplSyntaxOff } - { \CJKfamily { \CJKttdefault } } - { } - { \ctex_patch_failure:N \ttfamily } - \ctex_preto_cmd:NnnTF \normalfont { \ExplSyntaxOff } - { \CJKfamily { \CJKfamilydefault } } - { \cs_set_eq:NN \reset@font \normalfont } - { \ctex_patch_failure:N \normalfont } + \g@addto@macro \@rmfamilyhook { \CJKfamily { \CJKrmdefault } } + \g@addto@macro \@sffamilyhook { \CJKfamily { \CJKsfdefault } } + \g@addto@macro \@ttfamilyhook { \CJKfamily { \CJKttdefault } } + \g@addto@macro \@defaultfamilyhook { \CJKfamily { \CJKfamilydefault } } \fi: -\cs_new_protected_nopar:Npn \ctex_CJK_input:n #1 +\cs_new_protected:Npn \ctex_CJK_input:n #1 { \ctex_file_wrapper:nnn { @@ -152,7 +145,7 @@ } \cs_set_eq:NN \CJK@input \ctex_CJK_input:n \if_cs_exist:N \CJK@surr - \cs_new_protected_nopar:Npn \ctex_plane_to_utfxvibe:Nn #1#2 + \cs_new_protected:Npn \ctex_plane_to_utfxvibe:Nn #1#2 { \tl_set:Nx \l__ctex_tmp_tl {#2} \int_set:Nn \l__ctex_tmp_int @@ -179,7 +172,7 @@ } \ctex_at_end_preamble:n { \ctex_update_default_family: } \reverse_if:N \if_bool:N \g__ctex_zhmCJK_bool - \str_if_eq:onF { \l__ctex_encoding_tl } { UTF8 } + \str_if_eq:onF { \g__ctex_encoding_tl } { UTF8 } { \CJK@makeActive \CJK@loadBinding { standard } @@ -187,21 +180,21 @@ \exp_args:Nx \ctex_at_end_preamble:n { \exp_not:N \CJK@envStart - { } { \l__ctex_encoding_tl } { \exp_not:N \CJKfamilydefault } + { } { \g__ctex_encoding_tl } { \exp_not:N \CJKfamilydefault } \exp_not:N \CJKtilde } \fi: \cs_new_eq:NN \ctex_auto_ignorespaces: \CJK@@ignorespaces -\cs_new_protected_nopar:Npn \ctex_ignorespaces_case:N #1 +\cs_new_protected:Npn \ctex_ignorespaces_case:N #1 { - \cs_set_protected_nopar:Npn \ctex_set_ignorespaces: + \cs_set_protected:Npn \ctex_set_ignorespaces: { \cs_set_eq:NN \CJK@ignorespaces #1 } \ctex_set_ignorespaces: } -\cs_new_protected_nopar:Npn \ctex_set_ignorespaces: +\cs_new_protected:Npn \ctex_set_ignorespaces: { \cs_set_eq:NN \CJK@ignorespaces \ctex_auto_ignorespaces: } \ctex_gadd_hook:Nn \CJKhook { \ctex_set_ignorespaces: } -\cs_new_protected_nopar:Npn \ctex_punct_set:n #1 +\cs_new_protected:Npn \ctex_punct_set:n #1 { \clist_map_inline:Nn \c__ctex_punct_family_clist { @@ -218,12 +211,12 @@ zhsong , zhhei , zhfs , zhkai , zhli , zhyou , zhsongb , zhheil , zhheib , zhyoub , zhyahei , zhyaheib } -\cs_new_protected_nopar:Npn \ctex_punct_map_family:nn #1#2 +\cs_new_protected:Npn \ctex_punct_map_family:nn #1#2 { \cs_if_free:cF { CJKpunct@ #2 @spaces } { \cs_set_eq:cc { CJKpunct@ #1 @spaces } { CJKpunct@ #2 @spaces } } } -\cs_new_protected_nopar:Npn \ctex_punct_map_bfseries:nn #1#2 +\cs_new_protected:Npn \ctex_punct_map_bfseries:nn #1#2 { \clist_map_inline:nn {#1} { @@ -231,7 +224,7 @@ \ctex_punct_map_series:nnn { ##1 } { bx } {#2} } } -\cs_new_protected_nopar:Npn \ctex_punct_map_series:nnn #1#2#3 +\cs_new_protected:Npn \ctex_punct_map_series:nnn #1#2#3 { \CJKpunctmapfamily { C19 } {#1} {#2} { m } {#3} \CJKpunctmapfamily { C19 } {#1} {#2} { it } {#3} @@ -240,7 +233,7 @@ \CJKpunctmapfamily { C70 } {#1} {#2} { it } {#3} \CJKpunctmapfamily { C70 } {#1} {#2} { sl } {#3} } -\cs_new_protected_nopar:Npn \ctex_punct_map_itshape:nn #1#2 +\cs_new_protected:Npn \ctex_punct_map_itshape:nn #1#2 { \CJKpunctmapfamily { C19 } {#1} { m } { it } {#2} \CJKpunctmapfamily { C19 } {#1} { b } { it } {#2} @@ -249,11 +242,11 @@ \CJKpunctmapfamily { C70 } {#1} { b } { it } {#2} \CJKpunctmapfamily { C70 } {#1} { bx } { it } {#2} } -\cs_new_protected_nopar:Npn \ctex_punct_space:nn #1#2 +\cs_new_protected:Npn \ctex_punct_space:nn #1#2 { \tl_const:cn { c__ctex_ #1 _punct_spaces_tl } {#2} } \cs_new_eq:NN \ctexspadef \ctex_punct_space:nn \ctex_file_input:n { ctexspa.def } -\cs_new_protected_nopar:Npn \ctex_update_default_family: +\cs_new_protected:Npn \ctex_update_default_family: { \tl_if_eq:NNT \CJKfamilydefault \l__ctex_family_default_init_tl { @@ -280,31 +273,8 @@ { \exp_not:o { \CJKfamilydefault } } } \tl_gset_eq:NN \CJKfamilydefault \l__ctex_family_default_init_tl -\cs_new_protected_nopar:Npn \ctex_detected_platform: - { - \file_if_exist:nTF { /dev/null } - { - \file_if_exist:nTF { nul: } - { - \file_if_exist:nTF { \c__ctex_upper_case_file_str } - { \ctex_if_macosx:TF { mac } { windows } } - { \ctex_if_macosx:TF { mac } { fandol } } - } - { \ctex_if_macosx:TF { mac } { fandol } } - } - { \tl_gset:Nn \g__ctex_fontset_tl { windows } } - } -\str_const:Nx \c__ctex_upper_case_file_str - { \exp_args:No \str_upper_case:n { \g_file_curr_name_str } } -\cs_new_protected_nopar:Npn \ctex_if_macosx:TF #1#2 - { - \file_if_exist:nTF { \c__ctex_macosx_file_str } - { \tl_gset:Nn \g__ctex_fontset_tl {#1} } - { \tl_gset:Nn \g__ctex_fontset_tl {#2} } - } -\str_const:Nn \c__ctex_macosx_file_str { /Library/Fonts/Songti.ttc } \ctex_hypersetup:n { driverfallback = dvipdfmx } -\str_if_eq:onTF { \l__ctex_encoding_tl } { GBK } +\str_if_eq:onTF { \g__ctex_encoding_tl } { GBK } { \ctex_hypersetup:n { CJKbookmarks = true } \sys_if_output_pdf:TF @@ -322,49 +292,24 @@ } } { \ctex_hypersetup:n { pdfencoding = unicode } } -\RequirePackage { CJKfntef } -\normalem -\cs_new_protected_nopar:Npn \__ctex_clear_fntef_color:n #1 - { \tl_clear:c { CJK#1color } } -\clist_map_inline:nn - { underdot , underline , underdblline , underwave , sout , xout } +\ctex_at_end_package:nn { CJKfntef } { - \__ctex_clear_fntef_color:n {#1} - \cs_new_protected_nopar:cpx { CTEX#1 } - { - \msg_warning:nnnn { ctex } { deprecated-command } { \exp_not:c { CTEX#1 } } - { You~ can~ use~ the~ command~ with~ prefix~ \exp_not:N \CJK~ instead. } - \exp_not:c { CJK#1 } - } - } -\cs_new_protected_nopar:Npn { \CTEXfilltwosides } - { - \msg_warning:nnnn { ctex } { deprecated-environment } { CTEXfilltwosides } - { You~ can~ use~ `CJKfilltwosides'~ environment~ instead. } - \CJKfilltwosides - } -\cs_new_protected_nopar:Npn { \endCTEXfilltwosides } { \endCJKfilltwosides } -\clist_map_inline:nn - { - underdotbasesep , underdotsep , underlinebasesep , - underlinesep , underdbllinesep , underdbllinebasesep , - underwavebasesep , underwavesep , southeight , - underdotcolor , underwavecolor , underlinecolor , - underdbllinecolor , soutcolor , xoutcolor + \normalem + \cs_new_protected:Npn \__ctex_clear_fntef_color:n #1 + { \tl_clear:c { CJK#1color } } + \clist_map_inline:nn + { underdot , underline , underdblline , underwave , sout , xout } + { \__ctex_clear_fntef_color:n {#1} } } - { - \cs_new_eq:cc { CTEX#1 } { CJK#1 } - \cs_set_nopar:cpx { CJK#1 } { \exp_not:c { CTEX#1 } } - } -\cs_new_protected_nopar:Npn \ctex_update_ccwd: +\cs_new_protected:Npn \ctex_update_ccwd: { \hbox_set:Nn \l__ctex_tmp_box { \CJKglue } \dim_set:Nn \ccwd { \box_wd:N \l__ctex_tmp_box + \f@size \p@ } } \dim_new:N \ccwd -\cs_new_protected_nopar:Npn \ctex_update_ccglue: +\cs_new_protected:Npn \ctex_update_ccglue: { - \cs_set_protected_nopar:Npn \CJKglue + \cs_set_protected:Npn \CJKglue { \skip_horizontal:N \l__ctex_ccglue_skip } } \skip_new:N \l__ctex_ccglue_skip @@ -374,11 +319,11 @@ \prg_return_false: \else: \prg_return_true: \fi: } \ctex_at_end:n { \cs_new_eq:NN \__ctex_ccglue: \CJKglue } -\cs_new_protected_nopar:Npn \ctex_update_em_unit: +\cs_new_protected:Npn \ctex_update_em_unit: { \dim_set:Nn \ccwd { \f@size \p@ } } \cs_new_protected:Npn \ctex_add_to_selectfont:n #1 { - \cs_set_protected_nopar:Npx \CTEX@selectfont@hook + \cs_set_protected:Npx \CTEX@selectfont@hook { \exp_not:o { \CTEX@selectfont@hook #1 } } } \cs_new_eq:NN \CTEX@selectfont@hook \prg_do_nothing: @@ -388,10 +333,17 @@ { \tl_set:Nn \l__ctex_tmp_tl {#1} \cs_new_eq:NN \CTEX@selectfont@save #1 - \cs_new_protected_nopar:Npn \__ctex_restore_selectfont: + \cs_new_protected:Npn \__ctex_restore_selectfont: { + \cs_if_free:NF \scr@new@selectfont + { + \cs_if_free:NF \par@update + { \tl_put_right:Nn #1 { \par@update } } + \cs_set_eq:NN \scr@selectfont \CTEX@selectfont@save + \cs_set_eq:NN \scr@new@selectfont #1 + } \tl_put_left:Nn \@EverySelectfont@Init - { \let #1 \CTEX@selectfont@save } + { \cs_set_eq:NN #1 \CTEX@selectfont@save } \cs_undefine:N \__ctex_restore_selectfont: } } @@ -405,7 +357,7 @@ { \ctex_patch_failure:N \selectfont } \fi: \EverySelectfont { \cs_if_exist:NF \CJK@plane { \CTEX@selectfont@hook } } -\keys_define:nn { ctex } +\ctex_define:n { space .choice: , space / true .code:n = @@ -417,11 +369,11 @@ space .default:n = { true } , space .initial:n = { auto } } -\keys_define:nn { ctex } +\ctex_define:n { punct .code:n = { - \tl_set:Nx \l__ctex_punct_tl { #1 } + \tl_set:Nx \l__ctex_punct_tl {#1} \punctstyle { \l__ctex_punct_tl } } , punct .default:n = { quanjiao } , diff --git a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def index 0ef4edfae63..7f24ee2da25 100644 --- a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def +++ b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-uptex.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `uptex') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,57 +20,42 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {upTeX adapter (CTEX)} \ProvidesExplFile{ctex-engine-uptex.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\cs_new_protected_nopar:Npn \ctex_set_zhmap:n #1 - { - \AtBeginDvi {#1} - \ctex_at_end_package:nn { atbegshi } - { \AtBeginShipoutFirst {#1} } - } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\cs_new_protected:Npn \ctex_set_zhmap:n + { \tl_gput_right:Nx \g__ctex_zhmap_tl } +\cs_new_protected:Npn \ctex_use_zhmap: + { \tl_use:N \g__ctex_zhmap_tl } +\cs_new_protected:Npn \ctex_add_dvi_zhmap: + { \AtBeginDvi { \ctex_use_zhmap: } } +\ctex_after_end_preamble:n { \ctex_add_dvi_zhmap: } +\ctex_at_end_package:nn { atbegshi } + { + \AtBeginShipoutFirst { \ctex_use_zhmap: } + \cs_gset_eq:NN \ctex_add_dvi_zhmap: \prg_do_nothing: + } +\tl_new:N \g__ctex_zhmap_tl \@onlypreamble \ctex_set_zhmap:n -\tl_set:Nn \CJKrmdefault { zhrm } -\tl_set:Nn \CJKsfdefault { zhsf } -\tl_set:Nn \CJKttdefault { zhtt } -\tl_set:Nn \CJKfamilydefault { \CJKrmdefault } +\tl_if_exist:NF \CJKfamilydefault + { \tl_const:Nn \CJKfamilydefault { \CJKrmdefault } } +\tl_if_exist:NF \CJKrmdefault { \tl_const:Nn \CJKrmdefault { zhrm } } +\tl_if_exist:NF \CJKsfdefault { \tl_const:Nn \CJKsfdefault { zhsf } } +\tl_if_exist:NF \CJKttdefault { \tl_const:Nn \CJKttdefault { zhtt } } \tl_set:Nn \kanjifamilydefault { \CJKfamilydefault } -\RenewDocumentCommand \rmfamily { } - { - \not@math@alphabet \rmfamily \mathrm - \romanfamily \rmdefault - \kanjifamily \CJKrmdefault - \selectfont - } -\RenewDocumentCommand \sffamily { } - { - \not@math@alphabet \sffamily \mathsf - \romanfamily \sfdefault - \kanjifamily \CJKsfdefault - \selectfont - } -\RenewDocumentCommand \ttfamily { } - { - \not@math@alphabet \ttfamily \mathtt - \romanfamily \ttdefault - \kanjifamily \CJKttdefault - \selectfont - } +\g@addto@macro \@rmfamilyhook { \kanjifamily { \CJKrmdefault } } +\g@addto@macro \@sffamilyhook { \kanjifamily { \CJKsfdefault } } +\g@addto@macro \@ttfamilyhook { \kanjifamily { \CJKttdefault } } \NewDocumentCommand \CJKfamily { m } - { - \kanjifamily {#1} - \selectfont - } -\DeclareErrorKanjiFont{JY2}{zhrm}{m}{n}{10} -\DeclareKanjiSubstitution{JY2}{zhrm}{m}{n} -\DeclareKanjiSubstitution{JT2}{zhrm}{m}{n} + { \kanjifamily {#1} \selectfont } +\DeclareErrorKanjiFont {JY2}{zhrm}{m}{n}{10} +\DeclareKanjiSubstitution {JY2}{zhrm}{m}{n} +\DeclareKanjiSubstitution {JT2}{zhrm}{m}{n} \DeclareSymbolFont{mincho}{JY2}{zhrm}{m}{n} \SetSymbolFont{mincho}{bold}{JY2}{zhrm}{bx}{n} \jfam \symmincho @@ -87,43 +72,59 @@ { \eminnershape \else \itshape } } \cs_set_nopar:Npn \eminnershape { \upshape } -\cs_new_protected_nopar:Npn \ctex_set_upfamily:nnn #1 #2 #3 +\cs_new_protected:Npn \ctex_set_upfamily:nnn #1#2#3 { \DeclareKanjiFamily{JY2}{#1}{} \DeclareKanjiFamily{JT2}{#1}{} \DeclareFontShape{JY2}{#1}{m}{n}{<->~ #2-h}{} \DeclareFontShape{JT2}{#1}{m}{n}{<->~ #2-v}{} - \tl_if_empty:nF { #3 } + \tl_if_empty:nF {#3} { + \DeclareFontShape{JY2}{#1}{b}{n}{<->~ #3-h}{} + \DeclareFontShape{JT2}{#1}{b}{n}{<->~ #3-v}{} \DeclareFontShape{JY2}{#1}{bx}{n}{<->~ #3-h}{} \DeclareFontShape{JT2}{#1}{bx}{n}{<->~ #3-v}{} } } -\@onlypreamble \ctex_set_upfamily:nnn -\cs_new_protected_nopar:Npn \ctex_set_upmap:nnn #1 #2 #3 +\cs_new_protected:Npn \ctex_set_upmap:nnn #1#2#3 { \ctex_set_zhmap:n { - \special{ pdf:mapline~ #1-h~ UniGB-UTF16-H~ #2 } - \special{ pdf:mapline~ #1-v~ UniGB-UTF16-V~ #2 } - \tl_if_empty:nF { #3 } + \special { pdf:mapline~#1-h~UniGB-UTF16-H~#2 } + \special { pdf:mapline~#1-v~UniGB-UTF16-V~#2 } + \tl_if_empty:nF {#3} { - \special{ pdf:mapline~ #1b-h~ UniGB-UTF16-H~ #3 } - \special{ pdf:mapline~ #1b-v~ UniGB-UTF16-V~ #3 } + \special { pdf:mapline~#1b-h~UniGB-UTF16-H~#3 } + \special { pdf:mapline~#1b-v~UniGB-UTF16-V~#3 } } } } -\@onlypreamble \ctex_set_upmap:nnn -\cs_new_protected_nopar:Npn \ctex_set_upfonts:nnnnnn #1 #2 #3 #4 #5 #6 +\cs_new_protected:Npn \ctex_set_upmap_unicode:nnn #1#2#3 + { + \ctex_set_zhmap:n + { + \special { pdf:mapline~#1-h~unicode~#2 } + \special { pdf:mapline~#1-v~unicode~#2 } + \tl_if_empty:nF {#3} + { + \special { pdf:mapline~#1b-h~unicode~#3 } + \special { pdf:mapline~#1b-v~unicode~#3 } + } + } + } +\cs_new_protected:Npn \ctex_set_upfonts:nnnnnn #1#2#3#4#5#6 { - \ctex_set_upmap:nnn { upserif } { #1 } { #2 } - \ctex_set_upmap:nnn { upserifit } { #3 } {} - \ctex_set_upmap:nnn { upsans } { #4 } { #5 } - \ctex_set_upmap:nnn { upmono } { #6 } {} + \ctex_set_upmap:nnn { upserif } {#1} {#2} + \ctex_set_upmap:nnn { upserifit } {#3} {} + \ctex_set_upmap:nnn { upsans } {#4} {#5} + \ctex_set_upmap:nnn { upmono } {#6} {} } +\@onlypreamble \ctex_set_upfamily:nnn +\@onlypreamble \ctex_set_upmap:nnn +\@onlypreamble \ctex_set_upmap_unicode:nnn \@onlypreamble \ctex_set_upfonts:nnnnnn \RequirePackage { pxeverysel } -\cs_new_protected_nopar:Npn \ctex_update_default_family: +\cs_new_protected:Npn \ctex_update_default_family: { \tl_if_eq:NNT \CJKfamilydefault \l__ctex_family_default_init_tl { @@ -150,44 +151,13 @@ { \exp_not:o { \CJKfamilydefault } } } \tl_gset_eq:NN \CJKfamilydefault \l__ctex_family_default_init_tl -\cs_new_protected_nopar:Npn \ctex_detected_platform: - { - \file_if_exist:nTF { /dev/null } - { - \file_if_exist:nTF { nul: } - { - \file_if_exist:nTF { \c__ctex_upper_case_file_str } - { \ctex_if_macosx:TF { mac } { windows } } - { \ctex_if_macosx:TF { mac } { fandol } } - } - { \ctex_if_macosx:TF { mac } { fandol } } - } - { \tl_gset:Nn \g__ctex_fontset_tl { windows } } - } -\str_const:Nx \c__ctex_upper_case_file_str - { \exp_args:No \str_upper_case:n { \g_file_curr_name_str } } -\cs_new_protected_nopar:Npn \ctex_if_macosx:TF #1#2 - { - \file_if_exist:nTF { \c__ctex_macosx_file_str } - { \tl_gset:Nn \g__ctex_fontset_tl {#1} } - { \tl_gset:Nn \g__ctex_fontset_tl {#2} } - } -\str_const:Nn \c__ctex_macosx_file_str { /Library/Fonts/Songti.ttc } \ctex_hypersetup:n { driverfallback = dvipdfmx } \ctex_at_end_package:nn { hyperref } - { \AtBeginShipoutFirst { \special { pdf:tounicode~ UTF8-UTF16 } } } -\msg_new:nnn { ctex } { fntef-not-available } - { Functions~ of~ `CJKfntef'~ is~ not~ available~ in~ upLaTeX. } -\msg_warning:nn { ctex } { fntef-not-available } -\clist_map_inline:nn - { underdot , underline , underdblline , underwave , sout , xout } - { \cs_new_eq:cN { CTEX#1 } \use:n } -\cs_new_eq:NN \CTEXfilltwosides \use_none:n -\cs_new_eq:NN \endCTEXfilltwosides \prg_do_nothing: -\cs_new_protected_nopar:Npn \ctex_update_ccwd: + { \AtBeginShipoutFirst { \special { pdf:tounicode~UTF8-UTF16 } } } +\cs_new_protected:Npn \ctex_update_ccwd: { \skip_set:Nn \ccwd { 1zw + \tex_kanjiskip:D } } \dim_new:N \ccwd -\cs_new_protected_nopar:Npn \ctex_update_ccglue: +\cs_new_protected:Npn \ctex_update_ccglue: { \skip_set_eq:NN \tex_kanjiskip:D \l__ctex_ccglue_skip } \skip_new:N \l__ctex_ccglue_skip \prg_new_conditional:Npnn \ctex_if_ccglue_touched: { TF } @@ -195,11 +165,11 @@ \skip_if_eq:nnTF { \l__ctex_ccglue_skip } { \tex_kanjiskip:D } { \prg_return_false: } { \prg_return_true: } } -\cs_new_protected_nopar:Npn \ctex_update_em_unit: +\cs_new_protected:Npn \ctex_update_em_unit: { \dim_set:Nn \ccwd { 1zw } } \cs_new_protected:Npn \ctex_add_to_selectfont:n #1 { - \cs_set_protected_nopar:Npx \CTEX@selectfont@hook + \cs_set_protected:Npx \CTEX@selectfont@hook { \exp_not:o { \CTEX@selectfont@hook #1 } } } \cs_new_eq:NN \CTEX@selectfont@hook \prg_do_nothing: @@ -209,10 +179,20 @@ { \tl_set:Nn \l__ctex_tmp_tl {#1} \cs_new_eq:NN \CTEX@selectfont@save #1 - \cs_new_protected_nopar:Npn \__ctex_restore_selectfont: + \cs_new_protected:Npn \__ctex_restore_selectfont: { + \cs_if_free:NF \scr@new@selectfont + { + \cs_if_free:NF \par@update + { + \tl_put_right:Nn \@EverySelectfont@Init + { \tl_put_right:Nn #1 { \par@update } } + } + \cs_set_eq:NN \scr@new@selectfont #1 + \cs_set_eq:NN \CTEX@selectfont@save \scr@selectfont + } \tl_put_left:Nn \@EverySelectfont@Init - { \let #1 \CTEX@selectfont@save } + { \cs_set_eq:NN #1 \CTEX@selectfont@save } \cs_undefine:N \__ctex_restore_selectfont: } } @@ -226,7 +206,7 @@ { \ctex_patch_failure:N \selectfont } \fi: \EverySelectfont { \CTEX@selectfont@hook } -\cs_new_protected_nopar:Npn \ctex_update_xkanjiskip: +\cs_new_protected:Npn \ctex_update_xkanjiskip: { \skip_if_eq:nnT { \tex_xkanjiskip:D } { \l__ctex_xkanjiskip_skip } @@ -242,21 +222,20 @@ \skip_set:Nn \l__ctex_xkanjiskip_skip { \tex_xkanjiskip:D } \ctex_add_to_selectfont:n { \ctex_update_xkanjiskip: } -\keys_define:nn { ctex } +\ctex_define:n { space .code:n = { \msg_warning:nn { ctex } { invalid-option } } } -\keys_define:nn { ctex } +\ctex_define:n { punct .code:n = { - \tl_set:Nx \l__ctex_punct_tl { #1 } + \tl_set:Nx \l__ctex_punct_tl {#1} \msg_warning:nn { ctex } { invalid-option } } , punct .default:n = { quanjiao } , } -\tl_set:Nn \l__ctex_encoding_tl { UTF8 } %% %% %% End of file `ctex-engine-uptex.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def index 3b3752a9bca..26435410903 100644 --- a/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def +++ b/Master/texmf-dist/tex/latex/ctex/engine/ctex-engine-xetex.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `xetex') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,16 +20,14 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {XeLaTeX adapter (CTEX)} \ProvidesExplFile{ctex-engine-xetex.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \RequirePackage { xeCJK } \exp_args:Nx \xeCJKsetup { @@ -38,67 +36,31 @@ } \@ifpackagelater { fontspec } { 2014/05/25 } { } { \msg_error:nnn { ctex } { package-too-old } { fontspec } } -\cs_new_protected_nopar:Npn \ctex_detected_platform: +\ctex_hypersetup:n { pdfencoding = unicode } +\ctex_at_end_package:nn { xeCJKfntef } { - \file_if_exist:nTF { /dev/null } + \@ifpackagelater { xeCJKfntef } { 2014/11/04 } { - \file_if_exist:nTF { nul: } - { - \file_if_exist:nTF { \c__ctex_upper_case_file_str } - { \ctex_if_macosx:TF { mac } { windows } } - { \ctex_if_macosx:TF { mac } { fandol } } - } - { \ctex_if_macosx:TF { mac } { fandol } } + \cs_new_protected:Npn \__ctex_clear_fntef_color:n #1 + { \xeCJKsetup { #1 / format = { } } } } - { \tl_gset:Nn \g__ctex_fontset_tl { windows } } - } -\str_const:Nx \c__ctex_upper_case_file_str - { \exp_args:No \str_upper_case:n { \g_file_curr_name_str } } -\cs_new_protected_nopar:Npn \ctex_if_macosx:TF #1#2 - { - \file_if_exist:nTF { \c__ctex_macosx_file_str } - { \tl_gset:Nn \g__ctex_fontset_tl {#1} } - { \tl_gset:Nn \g__ctex_fontset_tl {#2} } - } -\str_const:Nn \c__ctex_macosx_file_str { /Library/Fonts/Songti.ttc } -\ctex_hypersetup:n { pdfencoding = unicode } -\RequirePackage { xeCJKfntef } -\@ifpackagelater { xeCJKfntef } { 2014/11/04 } - { - \cs_new_protected_nopar:Npn \__ctex_clear_fntef_color:n #1 - { \xeCJKsetup { #1 / format = { } } } - } - { - \cs_new_protected_nopar:Npn \__ctex_clear_fntef_color:n #1 - { \tl_clear:c { CJK#1color } } - } -\clist_map_inline:nn - { underdot , underline , underdblline , underwave , sout , xout } - { - \__ctex_clear_fntef_color:n {#1} - \cs_new_protected_nopar:cpx { CTEX#1 } { - \msg_warning:nnnn { ctex } { deprecated-command } { \exp_not:c { CTEX#1 } } - { You~ can~ use~ the~ command~ with~ prefix~ \exp_not:N \CJK~ instead. } - \exp_not:c { CJK#1 } + \cs_new_protected:Npn \__ctex_clear_fntef_color:n #1 + { \tl_clear:c { CJK#1color } } } + \clist_map_inline:nn + { underdot , underline , underdblline , underwave , sout , xout } + { \__ctex_clear_fntef_color:n {#1} } } -\cs_new_protected_nopar:Npn { \CTEXfilltwosides } - { - \msg_warning:nnnn { ctex } { deprecated-environment } { CTEXfilltwosides } - { You~ can~ use~ `CJKfilltwosides'~ environment~ instead. } - \CJKfilltwosides - } -\cs_new_protected_nopar:Npn { \endCTEXfilltwosides } { \endCJKfilltwosides } -\cs_new_protected_nopar:Npn \ctex_update_ccwd: +\cs_new_protected:Npn \ctex_update_ccwd: { \hbox_set:Nn \l__ctex_tmp_box { \CJKglue } \dim_set:Nn \ccwd { \box_wd:N \l__ctex_tmp_box + \f@size \p@ } } \dim_new:N \ccwd -\cs_new_protected_nopar:Npn \ctex_update_ccglue: +\cs_new_protected:Npn \ctex_update_ccglue: { - \cs_set_protected_nopar:Npn \CJKglue + \cs_set_protected:Npn \CJKglue { \skip_horizontal:N \l__ctex_ccglue_skip } } \skip_new:N \l__ctex_ccglue_skip @@ -108,11 +70,11 @@ \prg_return_false: \else: \prg_return_true: \fi: } \ctex_at_end:n { \cs_new_eq:NN \__ctex_ccglue: \CJKglue } -\cs_new_protected_nopar:Npn \ctex_update_em_unit: +\cs_new_protected:Npn \ctex_update_em_unit: { \dim_set:Nn \ccwd { \f@size \p@ } } \cs_new_protected:Npn \ctex_add_to_selectfont:n #1 { - \cs_set_protected_nopar:Npx \CTEX@selectfont@hook + \cs_set_protected:Npx \CTEX@selectfont@hook { \exp_not:o { \CTEX@selectfont@hook #1 } } } \cs_new_eq:NN \CTEX@selectfont@hook \prg_do_nothing: @@ -122,10 +84,15 @@ { \tl_set:Nn \l__ctex_tmp_tl {#1} \cs_new_eq:NN \CTEX@selectfont@save #1 - \cs_new_protected_nopar:Npn \__ctex_restore_selectfont: + \cs_new_protected:Npn \__ctex_restore_selectfont: { + \cs_if_free:NF \scr@new@selectfont + { + \cs_set_eq:NN \scr@new@selectfont #1 + \cs_set_eq:NN \CTEX@selectfont@save \scr@selectfont + } \tl_put_left:Nn \@EverySelectfont@Init - { \let #1 \CTEX@selectfont@save } + { \cs_set_eq:NN #1 \CTEX@selectfont@save } \cs_undefine:N \__ctex_restore_selectfont: } } @@ -139,7 +106,7 @@ { \ctex_patch_failure:N \selectfont } \fi: \EverySelectfont { \CTEX@selectfont@hook } -\keys_define:nn { ctex } +\ctex_define:n { space .choice: , space / true .code:n = @@ -151,16 +118,15 @@ space .default:n = { true } , space .initial:n = { auto } } -\keys_define:nn { ctex } +\ctex_define:n { punct .code:n = { - \tl_set:Nx \l__ctex_punct_tl { #1 } + \tl_set:Nx \l__ctex_punct_tl {#1} \xeCJKsetup { PunctStyle = \l__ctex_punct_tl } } , punct .default:n = { quanjiao } , } -\tl_set:Nn \l__ctex_encoding_tl { UTF8 } %% %% %% End of file `ctex-engine-xetex.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/fd/c19rm.fd b/Master/texmf-dist/tex/latex/ctex/fd/c19rm.fd index f61163a9e2a..0ca6dc60295 100644 --- a/Master/texmf-dist/tex/latex/ctex/fd/c19rm.fd +++ b/Master/texmf-dist/tex/latex/ctex/fd/c19rm.fd @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fd,rm,c19') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,12 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesFile{c19rm.fd}% - [2019/05/29 v2.4.16 Chinese font definition (CTEX)] + [2020/05/02 v2.5.1 Chinese font definition (CTEX)] %% %% Chinese characters %% diff --git a/Master/texmf-dist/tex/latex/ctex/fd/c19sf.fd b/Master/texmf-dist/tex/latex/ctex/fd/c19sf.fd index 69ed84c3cf2..f83711edfb0 100644 --- a/Master/texmf-dist/tex/latex/ctex/fd/c19sf.fd +++ b/Master/texmf-dist/tex/latex/ctex/fd/c19sf.fd @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fd,sf,c19') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,12 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesFile{c19sf.fd}% - [2019/05/29 v2.4.16 Chinese font definition (CTEX)] + [2020/05/02 v2.5.1 Chinese font definition (CTEX)] %% %% Chinese characters %% diff --git a/Master/texmf-dist/tex/latex/ctex/fd/c19tt.fd b/Master/texmf-dist/tex/latex/ctex/fd/c19tt.fd index 7fa18f73d53..8c506eadec4 100644 --- a/Master/texmf-dist/tex/latex/ctex/fd/c19tt.fd +++ b/Master/texmf-dist/tex/latex/ctex/fd/c19tt.fd @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fd,tt,c19') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,12 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesFile{c19tt.fd}% - [2019/05/29 v2.4.16 Chinese font definition (CTEX)] + [2020/05/02 v2.5.1 Chinese font definition (CTEX)] %% %% Chinese characters %% diff --git a/Master/texmf-dist/tex/latex/ctex/fd/c70rm.fd b/Master/texmf-dist/tex/latex/ctex/fd/c70rm.fd index d6b677a68e1..66664982e7f 100644 --- a/Master/texmf-dist/tex/latex/ctex/fd/c70rm.fd +++ b/Master/texmf-dist/tex/latex/ctex/fd/c70rm.fd @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fd,rm,c70') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,12 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesFile{c70rm.fd}% - [2019/05/29 v2.4.16 Chinese font definition (CTEX)] + [2020/05/02 v2.5.1 Chinese font definition (CTEX)] %% %% Chinese characters %% diff --git a/Master/texmf-dist/tex/latex/ctex/fd/c70sf.fd b/Master/texmf-dist/tex/latex/ctex/fd/c70sf.fd index 5ef3fa5e676..6b989c6ff8f 100644 --- a/Master/texmf-dist/tex/latex/ctex/fd/c70sf.fd +++ b/Master/texmf-dist/tex/latex/ctex/fd/c70sf.fd @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fd,sf,c70') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,12 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesFile{c70sf.fd}% - [2019/05/29 v2.4.16 Chinese font definition (CTEX)] + [2020/05/02 v2.5.1 Chinese font definition (CTEX)] %% %% Chinese characters %% diff --git a/Master/texmf-dist/tex/latex/ctex/fd/c70tt.fd b/Master/texmf-dist/tex/latex/ctex/fd/c70tt.fd index a2096c243fa..fc43c692198 100644 --- a/Master/texmf-dist/tex/latex/ctex/fd/c70tt.fd +++ b/Master/texmf-dist/tex/latex/ctex/fd/c70tt.fd @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fd,tt,c70') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,12 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesFile{c70tt.fd}% - [2019/05/29 v2.4.16 Chinese font definition (CTEX)] + [2020/05/02 v2.5.1 Chinese font definition (CTEX)] %% %% Chinese characters %% diff --git a/Master/texmf-dist/tex/latex/ctex/fd/jt2zhrm.fd b/Master/texmf-dist/tex/latex/ctex/fd/jt2zhrm.fd index b4f3d7264d0..0b9838bc423 100644 --- a/Master/texmf-dist/tex/latex/ctex/fd/jt2zhrm.fd +++ b/Master/texmf-dist/tex/latex/ctex/fd/jt2zhrm.fd @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fd,rm,jt2') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,17 +20,16 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. +%% This work has the LPPL maintenance status "maintained". %% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesFile{jt2zhrm.fd}% - [2019/05/29 v2.4.16 Chinese font definition (CTEX)] + [2020/05/02 v2.5.1 Chinese font definition (CTEX)] \DeclareKanjiFamily{JT2}{zhrm}{} \DeclareFontShape{JT2}{zhrm}{m}{n}{<-> upzhserif-v}{} \DeclareFontShape{JT2}{zhrm}{m}{it}{<-> upzhserifit-v}{} +\DeclareFontShape{JT2}{zhrm}{b}{n}{<-> upzhserifb-v}{} \DeclareFontShape{JT2}{zhrm}{bx}{n}{<-> upzhserifb-v}{} %% %% diff --git a/Master/texmf-dist/tex/latex/ctex/fd/jt2zhsf.fd b/Master/texmf-dist/tex/latex/ctex/fd/jt2zhsf.fd index 97e474ccf6b..7ea78b75124 100644 --- a/Master/texmf-dist/tex/latex/ctex/fd/jt2zhsf.fd +++ b/Master/texmf-dist/tex/latex/ctex/fd/jt2zhsf.fd @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fd,sf,jt2') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,16 +20,15 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesFile{jt2zhsf.fd}% - [2019/05/29 v2.4.16 Chinese font definition (CTEX)] + [2020/05/02 v2.5.1 Chinese font definition (CTEX)] \DeclareKanjiFamily{JT2}{zhsf}{} \DeclareFontShape{JT2}{zhsf}{m}{n}{<-> upzhsans-v}{} +\DeclareFontShape{JT2}{zhsf}{b}{n}{<-> upzhsansb-v}{} \DeclareFontShape{JT2}{zhsf}{bx}{n}{<-> upzhsansb-v}{} %% %% diff --git a/Master/texmf-dist/tex/latex/ctex/fd/jt2zhtt.fd b/Master/texmf-dist/tex/latex/ctex/fd/jt2zhtt.fd index 44be7f39f27..b2fe15a09b4 100644 --- a/Master/texmf-dist/tex/latex/ctex/fd/jt2zhtt.fd +++ b/Master/texmf-dist/tex/latex/ctex/fd/jt2zhtt.fd @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fd,tt,jt2') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,12 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesFile{jt2zhtt.fd}% - [2019/05/29 v2.4.16 Chinese font definition (CTEX)] + [2020/05/02 v2.5.1 Chinese font definition (CTEX)] \DeclareKanjiFamily{JT2}{zhtt}{} \DeclareFontShape{JT2}{zhtt}{m}{n}{<-> upzhmono-v}{} %% diff --git a/Master/texmf-dist/tex/latex/ctex/fd/jy2zhrm.fd b/Master/texmf-dist/tex/latex/ctex/fd/jy2zhrm.fd index ecf164789af..1433d7b52d0 100644 --- a/Master/texmf-dist/tex/latex/ctex/fd/jy2zhrm.fd +++ b/Master/texmf-dist/tex/latex/ctex/fd/jy2zhrm.fd @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fd,rm,jy2') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,17 +20,16 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 2005/12/01 or later. %% -%% This work has the LPPL maintenance status `maintained'. +%% This work has the LPPL maintenance status "maintained". %% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesFile{jy2zhrm.fd}% - [2019/05/29 v2.4.16 Chinese font definition (CTEX)] + [2020/05/02 v2.5.1 Chinese font definition (CTEX)] \DeclareKanjiFamily{JY2}{zhrm}{} \DeclareFontShape{JY2}{zhrm}{m}{n}{<-> upzhserif-h}{} \DeclareFontShape{JY2}{zhrm}{m}{it}{<-> upzhserifit-h}{} +\DeclareFontShape{JY2}{zhrm}{b}{n}{<-> upzhserifb-h}{} \DeclareFontShape{JY2}{zhrm}{bx}{n}{<-> upzhserifb-h}{} %% %% diff --git a/Master/texmf-dist/tex/latex/ctex/fd/jy2zhsf.fd b/Master/texmf-dist/tex/latex/ctex/fd/jy2zhsf.fd index 9c3461c4f55..1a3c2389bef 100644 --- a/Master/texmf-dist/tex/latex/ctex/fd/jy2zhsf.fd +++ b/Master/texmf-dist/tex/latex/ctex/fd/jy2zhsf.fd @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fd,sf,jy2') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,16 +20,15 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesFile{jy2zhsf.fd}% - [2019/05/29 v2.4.16 Chinese font definition (CTEX)] + [2020/05/02 v2.5.1 Chinese font definition (CTEX)] \DeclareKanjiFamily{JY2}{zhsf}{} \DeclareFontShape{JY2}{zhsf}{m}{n}{<-> upzhsans-h}{} +\DeclareFontShape{JY2}{zhsf}{b}{n}{<-> upzhsansb-h}{} \DeclareFontShape{JY2}{zhsf}{bx}{n}{<-> upzhsansb-h}{} %% %% diff --git a/Master/texmf-dist/tex/latex/ctex/fd/jy2zhtt.fd b/Master/texmf-dist/tex/latex/ctex/fd/jy2zhtt.fd index dd75814554c..df2ba694b86 100644 --- a/Master/texmf-dist/tex/latex/ctex/fd/jy2zhtt.fd +++ b/Master/texmf-dist/tex/latex/ctex/fd/jy2zhtt.fd @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fd,tt,jy2') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,14 +20,12 @@ %% 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, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% \ProvidesFile{jy2zhtt.fd}% - [2019/05/29 v2.4.16 Chinese font definition (CTEX)] + [2020/05/02 v2.5.1 Chinese font definition (CTEX)] \DeclareKanjiFamily{JY2}{zhtt}{} \DeclareFontShape{JY2}{zhtt}{m}{n}{<-> upzhmono-h}{} %% diff --git a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-adobe.def b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-adobe.def index 4c981401a65..675a1ce373c 100644 --- a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-adobe.def +++ b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-adobe.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fontset,adobe') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,86 +20,80 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Adobe fonts definition (CTEX)} \ProvidesExplFile{ctex-fontset-adobe.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\sys_if_engine_pdftex:TF + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_fontset_case:nnnn + { \ctex_fontset_error:n { adobe } } { - \sys_if_output_pdf:TF - { \ctex_fontset_error:n { adobe } } + \ctex_zhmap_case:nnn { - \ctex_zhmap_case:nnn - { - \setCJKmainfont - [ - cmap = UniGB-UTF16-H , - BoldFont = AdobeHeitiStd-Regular.otf , - ItalicFont = AdobeKaitiStd-Regular.otf - ] { AdobeSongStd-Light.otf } - \setCJKsansfont [ cmap = UniGB-UTF16-H ] { AdobeHeitiStd-Regular.otf } - \setCJKmonofont [ cmap = UniGB-UTF16-H ] { AdobeFangsongStd-Regular.otf } - \setCJKfamilyfont { zhsong } - [ cmap = UniGB-UTF16-H ] { AdobeSongStd-Light.otf } - \setCJKfamilyfont { zhhei } - [ cmap = UniGB-UTF16-H ] { AdobeHeitiStd-Regular.otf } - \setCJKfamilyfont { zhkai } - [ cmap = UniGB-UTF16-H ] { AdobeKaitiStd-Regular.otf } - \setCJKfamilyfont { zhfs } - [ cmap = UniGB-UTF16-H ] { AdobeFangsongStd-Regular.otf } - \ctex_punct_set:n { adobe } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } - \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - } - { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhadobefonts } - \ctex_punct_set:n { adobe } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - } - { \ctex_fontset_error:n { adobe } } + \setCJKmainfont { AdobeSongStd-Light.otf } + [ + cmap = UniGB-UTF16-H, + BoldFont = AdobeHeitiStd-Regular.otf, + ItalicFont = AdobeKaitiStd-Regular.otf + ] + \setCJKsansfont { AdobeHeitiStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKmonofont { AdobeFangsongStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhsong } { AdobeSongStd-Light.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhhei } { AdobeHeitiStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhkai } { AdobeKaitiStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhfs } { AdobeFangsongStd-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \ctex_punct_set:n { adobe } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } - } - { - \sys_if_engine_uptex:TF { - \ctex_set_upfonts:nnnnnn - {AdobeSongStd-Light.otf} {AdobeHeitiStd-Regular.otf} {AdobeKaitiStd-Regular.otf} - {AdobeHeitiStd-Regular.otf} {AdobeHeitiStd-Regular.otf} - {AdobeFangsongStd-Regular.otf} - \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} - \ctex_set_upfamily:nnn { zhhei } { upzhsans } {} - \ctex_set_upfamily:nnn { zhfs } { upzhmono} {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} - } - { - \setCJKmainfont - [ - BoldFont = AdobeHeitiStd-Regular , - ItalicFont = AdobeKaitiStd-Regular - ] { AdobeSongStd-Light } - \setCJKsansfont { AdobeHeitiStd-Regular} - \setCJKmonofont { AdobeFangsongStd-Regular} - \setCJKfamilyfont { zhsong } { AdobeSongStd-Light } - \setCJKfamilyfont { zhhei } { AdobeHeitiStd-Regular } - \setCJKfamilyfont { zhfs } { AdobeFangsongStd-Regular } - \setCJKfamilyfont { zhkai } { AdobeKaitiStd-Regular } + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhadobefonts } + \ctex_punct_set:n { adobe } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } + { \ctex_fontset_error:n { adobe } } + } + { + \ctex_set_upfonts:nnnnnn + { AdobeSongStd-Light.otf } + { AdobeHeitiStd-Regular.otf } + { AdobeKaitiStd-Regular.otf } + { AdobeHeitiStd-Regular.otf } + { AdobeHeitiStd-Regular.otf } + { AdobeFangsongStd-Regular.otf } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} + \ctex_set_upfamily:nnn { zhhei } { upzhsans } {} + \ctex_set_upfamily:nnn { zhfs } { upzhmono } {} + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + } + { + \setCJKmainfont { AdobeSongStd-Light } + [ BoldFont = AdobeHeitiStd-Regular, ItalicFont = AdobeKaitiStd-Regular ] + \setCJKsansfont { AdobeHeitiStd-Regular } + \setCJKmonofont { AdobeFangsongStd-Regular } + \setCJKfamilyfont { zhsong } { AdobeSongStd-Light } + \setCJKfamilyfont { zhhei } { AdobeHeitiStd-Regular } + \setCJKfamilyfont { zhfs } { AdobeFangsongStd-Regular } + \setCJKfamilyfont { zhkai } { AdobeKaitiStd-Regular } } -\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } -\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } -\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } -\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } +\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } +\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } +\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } +\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } %% %% %% End of file `ctex-fontset-adobe.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-fandol.def b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-fandol.def index 03853321971..2ff57b29633 100644 --- a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-fandol.def +++ b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-fandol.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fontset,fandol') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,101 +20,91 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Fandol fonts definition (CTEX)} \ProvidesExplFile{ctex-fontset-fandol.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\sys_if_engine_pdftex:TF - { - \sys_if_output_pdf:TF - { \ctex_fontset_error:n { fandol } } - { - \ctex_zhmap_case:nnn - { - \setCJKmainfont - [ - cmap = UniGB-UTF16-H , - BoldFont = FandolSong-Bold.otf , - ItalicFont = FandolKai-Regular.otf - ] { FandolSong-Regular.otf } - \setCJKsansfont - [ - cmap = UniGB-UTF16-H , - BoldFont = FandolHei-Bold.otf - ] { FandolHei-Regular.otf } - \setCJKmonofont [ cmap = UniGB-UTF16-H ] { FandolFang-Regular.otf } - \setCJKfamilyfont { zhsong } - [ - cmap = UniGB-UTF16-H , - BoldFont = FandolSong-Bold.otf - ] { FandolSong-Regular.otf } - \setCJKfamilyfont { zhhei } - [ - cmap = UniGB-UTF16-H , - BoldFont = FandolHei-Bold.otf - ] { FandolHei-Regular.otf } - \setCJKfamilyfont { zhfs } - [ cmap = UniGB-UTF16-H ] { FandolFang-Regular.otf } - \setCJKfamilyfont { zhkai } - [ cmap = UniGB-UTF16-H ] { FandolKai-Regular.otf } - \ctex_punct_set:n { fandol } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } - \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault , zhsong } { zhsongb } - \ctex_punct_map_bfseries:nn { \CJKsfdefault , zhhei } { zhheib } - } - { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfandolfonts } - \ctex_punct_set:n { fandol } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - } - { \ctex_fontset_error:n { fandol } } - } - } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_fontset_case:nnnn + { \ctex_fontset_error:n { fandol } } { - \sys_if_engine_uptex:TF - { - \ctex_set_upfonts:nnnnnn - {FandolSong-Regular.otf} {FandolSong-Bold.otf} {FandolKai-Regular.otf} - {FandolHei-Regular.otf} {FandolHei-Bold.otf} - {FandolFang-Regular.otf} - \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } - \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } - \ctex_set_upfamily:nnn { zhfs } { upzhmono} {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} - } + \ctex_zhmap_case:nnn { - \setCJKmainfont + \setCJKmainfont { FandolSong-Regular.otf } [ - Extension = .otf , - BoldFont = FandolSong-Bold , ItalicFont = FandolKai-Regular + cmap = UniGB-UTF16-H, + BoldFont = FandolSong-Bold.otf, + ItalicFont = FandolKai-Regular.otf ] - { FandolSong-Regular } - \setCJKsansfont - [ Extension = .otf , BoldFont = FandolHei-Bold ] { FandolHei-Regular } - \setCJKmonofont [ Extension = .otf ] { FandolFang-Regular } - \setCJKfamilyfont { zhsong } - [ Extension = .otf , BoldFont = FandolSong-Bold ] { FandolSong-Regular } - \setCJKfamilyfont { zhhei } - [ Extension = .otf , BoldFont = FandolHei-Bold ] { FandolHei-Regular } - \setCJKfamilyfont { zhfs } [ Extension = .otf ] { FandolFang-Regular } - \setCJKfamilyfont { zhkai } [ Extension = .otf ] { FandolKai-Regular } + \setCJKsansfont { FandolHei-Regular.otf } + [ cmap = UniGB-UTF16-H, BoldFont = FandolHei-Bold.otf ] + \setCJKmonofont { FandolFang-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhsong } { FandolSong-Regular.otf } + [ cmap = UniGB-UTF16-H, BoldFont = FandolSong-Bold.otf ] + \setCJKfamilyfont { zhhei } { FandolHei-Regular.otf } + [ cmap = UniGB-UTF16-H, BoldFont = FandolHei-Bold.otf ] + \setCJKfamilyfont { zhfs } { FandolFang-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \setCJKfamilyfont { zhkai } { FandolKai-Regular.otf } + [ cmap = UniGB-UTF16-H ] + \ctex_punct_set:n { fandol } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } + \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb } + \ctex_punct_map_bfseries:nn { \CJKsfdefault, zhhei } { zhheib } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } + { + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfandolfonts } + \ctex_punct_set:n { fandol } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + } + { \ctex_fontset_error:n { fandol } } + } + { + \ctex_set_upfonts:nnnnnn + { FandolSong-Regular.otf } + { FandolSong-Bold.otf } + { FandolKai-Regular.otf } + { FandolHei-Regular.otf } + { FandolHei-Bold.otf } + { FandolFang-Regular.otf } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } + \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhfs } { upzhmono } {} + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + } + { + \setCJKmainfont { FandolSong-Regular } + [ + Extension = .otf, + BoldFont = FandolSong-Bold, + ItalicFont = FandolKai-Regular + ] + \setCJKsansfont { FandolHei-Regular } + [ Extension = .otf, BoldFont = FandolHei-Bold ] + \setCJKmonofont { FandolFang-Regular } + [ Extension = .otf ] + \setCJKfamilyfont { zhsong } { FandolSong-Regular } + [ Extension = .otf, BoldFont = FandolSong-Bold ] + \setCJKfamilyfont { zhhei } { FandolHei-Regular } + [ Extension = .otf, BoldFont = FandolHei-Bold ] + \setCJKfamilyfont { zhfs } { FandolFang-Regular } + [ Extension = .otf ] + \setCJKfamilyfont { zhkai } { FandolKai-Regular } + [ Extension = .otf ] } -\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } -\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } -\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } -\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } +\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } +\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } +\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } +\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } %% %% %% End of file `ctex-fontset-fandol.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-founder.def b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-founder.def index 034ba79de24..c9b117e17f8 100644 --- a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-founder.def +++ b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-founder.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fontset,founder') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,83 +20,83 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Founder fonts definition (CTEX)} \ProvidesExplFile{ctex-fontset-founder.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\sys_if_engine_pdftex:TF + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_fontset_case:nnn { \ctex_zhmap_case:nnn { - \setCJKmainfont - [ BoldFont = FZXBSK.TTF , ItalicFont = FZKTK.TTF ] { FZSSK.TTF } - \setCJKsansfont [ BoldFont = FZHTK.TTF ] { FZXH1K.TTF } + \setCJKmainfont { FZSSK.TTF } + [ BoldFont = FZXBSK.TTF, ItalicFont = FZKTK.TTF ] + \setCJKsansfont { FZXH1K.TTF } [ BoldFont = FZHTK.TTF ] \setCJKmonofont { FZFSK.TTF } - \setCJKfamilyfont { zhsong } [ BoldFont = FZXBSK.TTF ] { FZSSK.TTF } - \setCJKfamilyfont { zhhei } { FZHTK.TTF } - \setCJKfamilyfont { zhkai } { FZKTK.TTF } - \setCJKfamilyfont { zhfs } { FZFSK.TTF } - \setCJKfamilyfont { zhli } { FZLSK.TTF } - \setCJKfamilyfont { zhyou } [ BoldFont = FZY3K.TTF ] { FZY1K.TTF } + \setCJKfamilyfont { zhsong } { FZSSK.TTF } [ BoldFont = FZXBSK.TTF ] + \setCJKfamilyfont { zhhei } { FZHTK.TTF } + \setCJKfamilyfont { zhkai } { FZKTK.TTF } + \setCJKfamilyfont { zhfs } { FZFSK.TTF } + \setCJKfamilyfont { zhli } { FZLSK.TTF } + \setCJKfamilyfont { zhyou } { FZY1K.TTF } [ BoldFont = FZY3K.TTF ] \ctex_punct_set:n { founder } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhheil } - \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault , zhsong } { zhsongb } - \ctex_punct_map_bfseries:nn { \CJKsfdefault } { zhhei } - \ctex_punct_map_bfseries:nn { zhyou } { zhyoub } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhheil } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb } + \ctex_punct_map_bfseries:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_bfseries:nn { zhyou } { zhyoub } } { \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhfounderfonts } \ctex_punct_set:n { founder } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } { \ctex_fontset_error:n { founder } } } { - \sys_if_engine_uptex:TF - { - \ctex_set_upfonts:nnnnnn - { FZSSK.TTF } { FZXBSK.TTF } { FZKTK.TTF } - { FZXH1K.TTF } { FZHTK.TTF } - { FZFSK.TTF } - \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } - \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } - \ctex_set_upfamily:nnn { zhfs } { upzhmono} {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} - \ctex_set_upfamily:nnn { zhli } { upschrm } {} - \ctex_set_upmap:nnn { upstsl } { FZLSK.TTF } {} - \ctex_set_upfamily:nnn { zhyou } { upschgt } {} - \ctex_set_upmap:nnn { upstht } { FZY1K.TTF } {} - } - { - \setCJKmainfont - [ BoldFont = FZXiaoBiaoSong-B05 , ItalicFont = FZKai-Z03 ] { FZShuSong-Z01 } - \setCJKsansfont [ BoldFont = FZHei-B01 ] { FZXiHeiI-Z08 } - \setCJKmonofont { FZFangSong-Z02 } - \setCJKfamilyfont { zhsong } [ BoldFont = FZXiaoBiaoSong-B05 ] { FZShuSong-Z01 } - \setCJKfamilyfont { zhhei } { FZHei-B01 } - \setCJKfamilyfont { zhkai } { FZKai-Z03 } - \setCJKfamilyfont { zhfs } { FZFangSong-Z02 } - \setCJKfamilyfont { zhli } { FZLiShu-S01 } - \setCJKfamilyfont { zhyou } [ BoldFont = FZZhunYuan-M02 ] { FZXiYuan-M01 } - } + \ctex_set_upfonts:nnnnnn + { FZSSK.TTF } + { FZXBSK.TTF } + { FZKTK.TTF } + { FZXH1K.TTF } + { FZHTK.TTF } + { FZFSK.TTF } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } + \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhfs } { upzhmono } {} + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + \ctex_set_upfamily:nnn { zhli } { upschrm } {} + \ctex_set_upfamily:nnn { zhyou } { upschgt } {} + \ctex_set_upmap:nnn { upstsl } { FZLSK.TTF } {} + \ctex_set_upmap:nnn { upstht } { FZY1K.TTF } {} + } + { + \setCJKmainfont { FZShuSong-Z01 } + [ BoldFont = FZXiaoBiaoSong-B05, ItalicFont = FZKai-Z03 ] + \setCJKsansfont { FZXiHeiI-Z08 } [ BoldFont = FZHei-B01 ] + \setCJKmonofont { FZFangSong-Z02 } + \setCJKfamilyfont { zhsong } { FZShuSong-Z01 } + [ BoldFont = FZXiaoBiaoSong-B05 ] + \setCJKfamilyfont { zhhei } { FZHei-B01 } + \setCJKfamilyfont { zhkai } { FZKai-Z03 } + \setCJKfamilyfont { zhfs } { FZFangSong-Z02 } + \setCJKfamilyfont { zhli } { FZLiShu-S01 } + \setCJKfamilyfont { zhyou } { FZXiYuan-M01 } + [ BoldFont = FZZhunYuan-M02 ] } -\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } -\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } -\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } -\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } -\NewDocumentCommand \lishu { } { \CJKfamily { zhli } } -\NewDocumentCommand \youyuan { } { \CJKfamily { zhyou } } +\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } +\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } +\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } +\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } +\NewDocumentCommand \lishu { } { \CJKfamily { zhli } } +\NewDocumentCommand \youyuan { } { \CJKfamily { zhyou } } %% %% %% End of file `ctex-fontset-founder.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-mac.def b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-mac.def index a3c6b43a561..16357dbe17e 100644 --- a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-mac.def +++ b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-mac.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fontset,mac') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,16 +20,14 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ - {Mac OS X fonts definition (CTEX)} +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ + {macOS fonts definition (CTEX)} \ProvidesExplFile{ctex-fontset-mac.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} \file_if_exist:nTF { /System/Library/Fonts/PingFang.ttc } { \ctex_file_input:n { ctex-fontset-macnew.def } } { \ctex_file_input:n { ctex-fontset-macold.def } } diff --git a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macnew.def b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macnew.def index ff07af939d4..9dc1dfa9c9a 100644 --- a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macnew.def +++ b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macnew.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fontset,macnew') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,48 +20,99 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ - {Mac OS X fonts definition for El Capitan or later version (CTEX)} +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ + {macOS fonts definition for El Capitan or later version (CTEX)} \ProvidesExplFile{ctex-fontset-macnew.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\sys_if_engine_pdftex:TF + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_fontset_case:nnnn { \ctex_fontset_error:n { mac } } { - \sys_if_engine_uptex:TF - { \ctex_fontset_error:n { mac } } + \ctex_zhmap_case:nnn { - \setCJKmainfont - [ - UprightFont = *~Light , - BoldFont = *~Bold , - ItalicFont = Kaiti~SC , - BoldItalicFont = Kaiti~SC~Bold - ] { Songti~SC } - \setCJKsansfont { PingFang~SC } - \setCJKmonofont { STFangsong } - \setCJKfamilyfont { zhsong } + \setCJKmainfont { :3:Songti.ttc } [ - UprightFont = *~Light , - BoldFont = *~Bold , - ] { Songti~SC } - \setCJKfamilyfont { zhhei } { Heiti~SC } - \setCJKfamilyfont { zhpf } { PingFang~SC } - \setCJKfamilyfont { zhfs } { STFangsong } -\setCJKfamilyfont { zhkai } { Kaiti~SC } + BoldFont = :1:Songti.ttc, + ItalicFont = :0:Kaiti.ttc, + BoldItalicFont = :3:Kaiti.ttc, + ] + \setCJKsansfont { :2:PingFang.ttc } [ BoldFont = :8:PingFang.ttc ] + \setCJKmonofont { STFANGSO.ttf } + \setCJKfamilyfont { zhsong } { :3:Songti.ttc } [ BoldFont = :1:Songti.ttc ] + \setCJKfamilyfont { zhhei } { :2:PingFang.ttc } [ BoldFont = :8:PingFang.ttc ] + \setCJKfamilyfont { zhkai } { :0:Kaiti.ttc } [ BoldFont = :3:Kaiti.ttc ] + \setCJKfamilyfont { zhfs } { STFANGSO.ttf } + \setCJKfamilyfont { zhli } { :0:Baoli.ttc } + \setCJKfamilyfont { zhyou } { :4:Yuanti.ttc } [ BoldFont = :0:Yuanti.ttc ] + \ctex_punct_set:n { mac } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhheil } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb } + \ctex_punct_map_bfseries:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_bfseries:nn { zhyou } { zhyoub } + } + { + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhmacfonts } + \ctex_punct_set:n { mac } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } + { \ctex_fontset_error:n { macnew } } + } + { + \ctex_set_upmap:nnn { upserif } { :3:Songti.ttc } { :1:Songti.ttc } + \ctex_set_upmap:nnn { upserifit } { :0:Kaiti.ttc } { } + \ctex_set_upmap:nnn { upstsl } { :0:Baoli.ttc } { } + \ctex_set_upmap:nnn { upstht } { :4:Yuanti.ttc } { } + \ctex_set_upmap_unicode:nnn { upsans } { :2:PingFang.ttc } { :8:PingFang.ttc } + \ctex_set_upmap_unicode:nnn { upmono } { STFANGSO.ttf } { } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } + \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhfs } { upzhmono } { } + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } { } + \ctex_set_upfamily:nnn { zhli } { upschrm } { } + \ctex_set_upfamily:nnn { zhyou } { upschgt } { } + } + { + \setCJKmainfont { Songti~SC~Light } + [ + BoldFont = Songti~SC~Bold, + ItalicFont = Kaiti~SC, + BoldItalicFont = Kaiti~SC~Bold + ] + \setCJKsansfont { PingFang~SC } + \setCJKmonofont { STFangsong } + \setCJKfamilyfont { zhsong } { Songti~SC~Light } [ BoldFont = Songti~SC~Bold ] + \setCJKfamilyfont { zhhei } { Heiti~SC~Light } [ BoldFont = Heiti~SC~Medium ] + \setCJKfamilyfont { zhpf } { PingFang~SC } + \setCJKfamilyfont { zhfs } { STFangsong } + \setCJKfamilyfont { zhkai } { Kaiti~SC } [ BoldFont = Kaiti~SC~Bold ] + \setCJKfamilyfont { zhli } { Baoli~SC } + \setCJKfamilyfont { zhyou } { Yuanti~SC~Light } [ BoldFont = Yuanti~SC~Regular ] + } +\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } +\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } +\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } +\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } +\NewDocumentCommand \lishu { } { \CJKfamily { zhli } } +\NewDocumentCommand \youyuan { } { \CJKfamily { zhyou } } +\bool_lazy_or:nnTF + { \sys_if_engine_pdftex_p: } + { \sys_if_engine_uptex_p: } + { + \cs_new_eq:NN \yahei \heiti + \cs_new_eq:NN \pingfang \heiti + } + { + \NewDocumentCommand \yahei { } { \CJKfamily { zhpf } } + \NewDocumentCommand \pingfang { } { \CJKfamily { zhpf } } } -\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } -\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } -\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } -\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } -\NewDocumentCommand \yahei { } { \CJKfamily { zhpf } } -\NewDocumentCommand \pingfang { } { \CJKfamily { zhpf } } %% %% %% End of file `ctex-fontset-macnew.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macold.def b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macold.def index 8047567fb8a..509c23e34f4 100644 --- a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macold.def +++ b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-macold.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fontset,macold') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,35 +20,32 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ - {Mac OS X fonts definition for Yosemite or earlier version (CTEX)} +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ + {macOS fonts definition for Yosemite or earlier version (CTEX)} \ProvidesExplFile{ctex-fontset-macold.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\sys_if_engine_pdftex:TF + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_fontset_case:nnnn { \ctex_fontset_error:n { mac } } + { \ctex_fontset_error:n { macold } } + { \ctex_fontset_error:n { macold } } { - \sys_if_engine_uptex:TF - { \ctex_fontset_error:n { mac } } - { - \setCJKmainfont [ BoldFont = STHeiti , ItalicFont = STKaiti ] { STSong } - \setCJKsansfont [ BoldFont = STHeiti ] { STXihei } - \setCJKmonofont { STFangsong } - \setCJKfamilyfont { zhsong } { STSong } - \setCJKfamilyfont { zhhei } { STHeiti } - \setCJKfamilyfont { zhfs } { STFangsong } -\setCJKfamilyfont { zhkai } { STKaiti } - } + \setCJKmainfont { STSong } + [ BoldFont = STHeiti, ItalicFont = STKaiti ] + \setCJKsansfont { STXihei } [ BoldFont = STHeiti ] + \setCJKmonofont { STFangsong } + \setCJKfamilyfont { zhsong } { STSong } + \setCJKfamilyfont { zhhei } { STHeiti } + \setCJKfamilyfont { zhfs } { STFangsong } + \setCJKfamilyfont { zhkai } { STKaiti } } -\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } -\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } -\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } -\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } +\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } +\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } +\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } +\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } %% %% %% End of file `ctex-fontset-macold.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-ubuntu.def b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-ubuntu.def index 4c7862412b7..0493c6ee8e0 100644 --- a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-ubuntu.def +++ b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-ubuntu.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fontset,ubuntu') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,67 +20,69 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Ubuntu fonts definition (CTEX)} \ProvidesExplFile{ctex-fontset-ubuntu.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\sys_if_engine_pdftex:TF + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_fontset_case:nnnn + { \ctex_fontset_error:n { ubuntu } } { \ctex_zhmap_case:nnn { - \setCJKmainfont - [ BoldFont = wqy-zenhei.ttc , ItalicFont = ukai.ttc ] { uming.ttc } - \setCJKsansfont { wqy-zenhei.ttc } - \setCJKmonofont { uming.ttc } - \setCJKfamilyfont { zhsong } { uming.ttc } - \setCJKfamilyfont { zhhei } { wqy-zenhei.ttc } - \setCJKfamilyfont { zhkai } { ukai.ttc } - \ctex_punct_set:n { ubuntu } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } - \ctex_punct_map_family:nn { \CJKttdefault } { zhsong } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \setCJKmainfont { :2:NotoSerifCJK-Regular.ttc } + [ BoldFont = :2:NotoSerifCJK-Bold.ttc, ItalicFont = gkai00mp.ttf ] + \setCJKsansfont { :2:NotoSansCJK-Regular.ttc } + [ BoldFont = :2:NotoSansCJK-Bold.ttc ] + \setCJKmonofont { :2:NotoSerifCJK-Regular.ttc } + [ BoldFont = :2:NotoSerifCJK-Bold.ttc ] + \setCJKfamilyfont { zhsong } { :2:NotoSerifCJK-Regular.ttc } + [ BoldFont = :2:NotoSerifCJK-Bold.ttc ] + \setCJKfamilyfont { zhhei } { :2:NotoSansCJK-Regular.ttc } + [ BoldFont = :2:NotoSansCJK-Bold.ttc ] + \setCJKfamilyfont { zhkai } { gkai00mp.ttf } + \ctex_punct_set:n { fandol } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } + \ctex_punct_map_bfseries:nn { \CJKrmdefault, zhsong } { zhsongb } + \ctex_punct_map_bfseries:nn { \CJKsfdefault, zhhei } { zhheib } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } { \ctex_load_zhmap:nnnn { rm } { zhhei } { zhsong } { zhubuntufonts } \ctex_punct_set:n { ubuntu } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } } { \ctex_fontset_error:n { ubuntu } } } { - \sys_if_engine_uptex:TF - { - \ctex_set_upfonts:nnnnnn - { uming.ttc } { wqy-zenhei.ttc } { ukai.ttc } - { wqy-zenhei.ttc } { wqy-zenhei.ttc } - { uming.ttc } - \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} - \ctex_set_upfamily:nnn { zhhei } { upzhsans } {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} - } - { - \setCJKmainfont - [ BoldFont = WenQuanYi~Zen~Hei , ItalicFont = AR~PL~UKai~CN ] { AR~PL~UMing~CN } - \setCJKsansfont { WenQuanYi~Zen~Hei } - \setCJKmonofont { AR~PL~UMing~CN } - \setCJKfamilyfont { zhsong } { AR~PL~UMing~CN } - \setCJKfamilyfont { zhhei } { WenQuanYi~Zen~Hei } - \setCJKfamilyfont { zhkai } { AR~PL~UKai~CN } - } + \ctex_set_upmap_unicode:nnn { upserif } + { :2:NotoSerifCJK-Regular.ttc } { :2:NotoSerifCJK-Bold.ttc } + \ctex_set_upmap_unicode:nnn { upsans } + { :2:NotoSansCJK-Regular.ttc } { :2:NotoSansCJK-Bold.ttc } + \ctex_set_upmap_unicode:nnn { upmono } + { :2:NotoSerifCJK-Regular.ttc } { } + \ctex_set_upmap:nnn { upserifit } { gkai00mp.ttf } { } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } { upzhserifb } + \ctex_set_upfamily:nnn { zhhei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } { } + } + { + \setCJKmainfont { Noto~Serif~CJK~SC } [ ItalicFont = AR~PL~KaitiM~GB ] + \setCJKsansfont { Noto~Sans~CJK~SC } + \setCJKmonofont { Noto~Serif~CJK~SC } + \setCJKfamilyfont { zhsong } { Noto~Serif~CJK~SC } + \setCJKfamilyfont { zhhei } { Noto~Sans~CJK~SC } + \setCJKfamilyfont { zhkai } { AR~PL~KaitiM~GB } } -\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } -\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } -\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } +\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } +\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } +\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } %% %% %% End of file `ctex-fontset-ubuntu.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windows.def b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windows.def index 84c015cd8f7..daeb2dc02e1 100644 --- a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windows.def +++ b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windows.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `fontset,windows') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,19 +20,96 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Windows fonts definition (CTEX)} \ProvidesExplFile{ctex-fontset-windows.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\file_if_exist:nTF { C:/bootfont.bin } - { \ctex_file_input:n { ctex-fontset-windowsold.def } } - { \ctex_file_input:n { ctex-fontset-windowsnew.def } } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\file_if_exist:nTF { \c_dollar_str WINDIR/Fonts/msyh.ttc } + { \tl_const:Nn \c__ctex_msyh_suffix_tl { ttc } } + { + \file_if_exist:nTF { msyh.ttc } + { \tl_const:Nn \c__ctex_msyh_suffix_tl { ttc } } + { \tl_const:Nn \c__ctex_msyh_suffix_tl { ttf } } + } +\ctex_fontset_case:nnn + { + \ctex_zhmap_case:nnn + { + \ctex_punct_set:n { windows } + \setCJKmainfont { simsun.ttc } + [ BoldFont = simhei.ttf, ItalicFont = simkai.ttf ] + \setCJKsansfont { msyh.\c__ctex_msyh_suffix_tl } + [ BoldFont = msyhbd.\c__ctex_msyh_suffix_tl ] + \setCJKmonofont { simfang.ttf } + \setCJKfamilyfont { zhsong } { simsun.ttc } + \setCJKfamilyfont { zhhei } { simhei.ttf } + \setCJKfamilyfont { zhfs } { simfang.ttf } + \setCJKfamilyfont { zhkai } { simkai.ttf } + \setCJKfamilyfont { zhyahei } { msyh.\c__ctex_msyh_suffix_tl } + [ BoldFont = msyhbd.\c__ctex_msyh_suffix_tl ] + \setCJKfamilyfont { zhli } { simli.ttf } + \setCJKfamilyfont { zhyou } { simyou.ttf } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + \ctex_punct_map_family:nn { \CJKsfdefault } { zhyahei } + \ctex_punct_map_bfseries:nn { \CJKsfdefault, zhyahei } { zhyaheib } + \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } + } + { + \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhwindowsfonts } + \ctex_punct_set:n { windows } + \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } + \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } + \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } + } + { + \tl_set:Nn \CJKrmdefault { rm } + \tl_set:Nn \CJKsfdefault { sf } + \tl_set:Nn \CJKttdefault { tt } + } + } + { + \ctex_set_upfonts:nnnnnn + { simsun.ttc } + { simhei.ttf } + { simkai.ttf } + { msyh.\c__ctex_msyh_suffix_tl } + { msyhbd.\c__ctex_msyh_suffix_tl } + { simfang.ttf } + \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} + \ctex_set_upfamily:nnn { zhhei } { upzhserifb } {} + \ctex_set_upfamily:nnn { zhfs } { upzhmono } {} + \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} + \ctex_set_upfamily:nnn { zhyahei } { upzhsans } { upzhsansb } + \ctex_set_upfamily:nnn { zhli } { upschrm } {} + \ctex_set_upfamily:nnn { zhyou } { upschgt } {} + \ctex_set_upmap:nnn { upstsl } { simli.ttf } {} + \ctex_set_upmap:nnn { upstht } { simyou.ttf } {} + } + { + \setCJKmainfont { SimSun } [ BoldFont = SimHei , ItalicFont = KaiTi ] + \setCJKsansfont { Microsoft~YaHei } [ BoldFont = *~Bold ] + \setCJKmonofont { FangSong } + \setCJKfamilyfont { zhsong } { SimSun } + \setCJKfamilyfont { zhhei } { SimHei } + \setCJKfamilyfont { zhfs } { FangSong } + \setCJKfamilyfont { zhkai } { KaiTi } + \setCJKfamilyfont { zhyahei } { Microsoft~YaHei } [ BoldFont = *~Bold ] + \setCJKfamilyfont { zhli } { LiSu } + \setCJKfamilyfont { zhyou } { YouYuan } + } +\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } +\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } +\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } +\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } +\NewDocumentCommand \lishu { } { \CJKfamily { zhli } } +\NewDocumentCommand \youyuan { } { \CJKfamily { zhyou } } +\NewDocumentCommand \yahei { } { \CJKfamily { zhyahei } } %% %% %% End of file `ctex-fontset-windows.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsnew.def b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsnew.def deleted file mode 100644 index 55957b1283d..00000000000 --- a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsnew.def +++ /dev/null @@ -1,120 +0,0 @@ -%% -%% This is file `ctex-fontset-windowsnew.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% ctex.dtx (with options: `fontset,windowsnew') -%% -%% Copyright (C) 2003--2019 -%% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. This version of this license is in -%% http://www.latex-project.org/lppl/lppl-1-3c.txt -%% and the latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of -%% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ - {Windows fonts definition for Vista or later version (CTEX)} -\ProvidesExplFile{ctex-fontset-windowsnew.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\tl_new:N \l__ctex_msyh_suffix_tl -\tl_set:Nn \l__ctex_msyh_suffix_tl { .ttc } -\file_if_exist:nF { C:/Windows/Fonts/msyh.ttc } - { - \file_if_exist:nF { msyh.ttc } - { \tl_set:Nn \l__ctex_msyh_suffix_tl { .ttf } } - } -\sys_if_engine_pdftex:TF - { - \ctex_zhmap_case:nnn - { - \ctex_punct_set:n { windows } - \setCJKmainfont - [ BoldFont = simhei.ttf , ItalicFont = simkai.ttf ] { simsun.ttc } - \setCJKsansfont - [ BoldFont = msyhbd\l__ctex_msyh_suffix_tl ] { msyh\l__ctex_msyh_suffix_tl } - \setCJKfamilyfont { zhyahei } - [ BoldFont = msyhbd\l__ctex_msyh_suffix_tl ] { msyh\l__ctex_msyh_suffix_tl } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhyahei } - \ctex_punct_map_bfseries:nn { \CJKsfdefault , zhyahei } { zhyaheib } - \setCJKmonofont { simfang.ttf } - \setCJKfamilyfont { zhkai } { simkai.ttf } - \setCJKfamilyfont { zhfs } { simfang.ttf } - \setCJKfamilyfont { zhsong } { simsun.ttc } - \setCJKfamilyfont { zhhei } { simhei.ttf } - \setCJKfamilyfont { zhli } { simli.ttf } - \setCJKfamilyfont { zhyou } { simyou.ttf } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - } - { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhwindowsfonts } - \ctex_punct_set:n { windows } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - } - { - \tl_set:Nn \CJKrmdefault { rm } - \tl_set:Nn \CJKsfdefault { sf } - \tl_set:Nn \CJKttdefault { tt } - } - } - { - \sys_if_engine_uptex:TF - { - \ctex_set_upfonts:nnnnnn - {simsun.ttc} {simhei.ttf} {simkai.ttf} - {msyh\l__ctex_msyh_suffix_tl} {msyhbd\l__ctex_msyh_suffix_tl} - {simfang.ttf} - \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} - \ctex_set_upfamily:nnn { zhhei } { upzhserifb } {} - \ctex_set_upfamily:nnn { zhfs } { upzhmono} {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} - \ctex_set_upfamily:nnn { zhyahei } { upzhsans } { upzhsansb } - \ctex_set_upfamily:nnn { zhli } { upschrm } {} - \ctex_set_upmap:nnn { upstsl } { simli.ttf } {} - \ctex_set_upfamily:nnn { zhyou } { upschgt } {} - \ctex_set_upmap:nnn { upstht } { simyou.ttf } {} - } - { - \setCJKmainfont - [ BoldFont = SimHei , ItalicFont = KaiTi ] { SimSun } - \setCJKsansfont - [ BoldFont = { *~Bold } ] { Microsoft~YaHei } - \setCJKmonofont { FangSong } - \setCJKfamilyfont { zhkai } { KaiTi } - \setCJKfamilyfont { zhfs } { FangSong } - \setCJKfamilyfont { zhsong } { SimSun } - \setCJKfamilyfont { zhhei } { SimHei } - \setCJKfamilyfont { zhli } { LiSu } - \setCJKfamilyfont { zhyou } { YouYuan } - \setCJKfamilyfont { zhyahei } - [ BoldFont = { *~Bold } ] { Microsoft~YaHei } - } - } -\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } -\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } -\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } -\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } -\NewDocumentCommand \lishu { } { \CJKfamily { zhli } } -\NewDocumentCommand \youyuan { } { \CJKfamily { zhyou } } -\NewDocumentCommand \yahei { } { \CJKfamily { zhyahei } } -%% -%% -%% End of file `ctex-fontset-windowsnew.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsold.def b/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsold.def deleted file mode 100644 index 8c6ed74b725..00000000000 --- a/Master/texmf-dist/tex/latex/ctex/fontset/ctex-fontset-windowsold.def +++ /dev/null @@ -1,104 +0,0 @@ -%% -%% This is file `ctex-fontset-windowsold.def', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% ctex.dtx (with options: `fontset,windowsold') -%% -%% Copyright (C) 2003--2019 -%% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later -%% version. This version of this license is in -%% http://www.latex-project.org/lppl/lppl-1-3c.txt -%% and the latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of -%% LaTeX version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are Leo Liu, Qing Lee and Liam Huang. -%% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ - {Windows fonts definition for XP or earlier version (CTEX)} -\ProvidesExplFile{ctex-fontset-windowsold.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\sys_if_engine_pdftex:TF - { - \ctex_zhmap_case:nnn - { - \ctex_punct_set:n { windows } - \setCJKmainfont - [ BoldFont = simhei.ttf , ItalicFont = simkai.ttf ] { simsun.ttc } - \setCJKsansfont { simhei.ttf } - \ctex_punct_map_family:nn { \CJKsfdefault } { zhhei } - \setCJKmonofont { simfang.ttf } - \setCJKfamilyfont { zhkai } { simkai.ttf } - \setCJKfamilyfont { zhfs } { simfang.ttf } - \setCJKfamilyfont { zhsong } { simsun.ttc } - \setCJKfamilyfont { zhhei } { simhei.ttf } - \setCJKfamilyfont { zhli } { simli.ttf } - \setCJKfamilyfont { zhyou } { simyou.ttf } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_family:nn { \CJKttdefault } { zhfs } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - } - { - \ctex_load_zhmap:nnnn { rm } { zhhei } { zhfs } { zhwindowsfonts } - \ctex_punct_set:n { windows } - \ctex_punct_map_family:nn { \CJKrmdefault } { zhsong } - \ctex_punct_map_bfseries:nn { \CJKrmdefault } { zhhei } - \ctex_punct_map_itshape:nn { \CJKrmdefault } { zhkai } - } - { - \tl_set:Nn \CJKrmdefault { rm } - \tl_set:Nn \CJKsfdefault { sf } - \tl_set:Nn \CJKttdefault { tt } - } - } - { - \sys_if_engine_uptex:TF - { - \ctex_set_upfonts:nnnnnn - {simsun.ttc} {simhei.ttf} {simkai.ttf} - {simhei.ttf} {simhei.ttf} - {simfang.ttf} - \ctex_set_upfamily:nnn { zhsong } { upzhserif } {} - \ctex_set_upfamily:nnn { zhhei } { upzhserifb } {} - \ctex_set_upfamily:nnn { zhfs } { upzhmono} {} - \ctex_set_upfamily:nnn { zhkai } { upzhserifit } {} - \ctex_set_upfamily:nnn { zhli } { upschrm } {} - \ctex_set_upmap:nnn { upstsl } { simli.ttf } {} - \ctex_set_upfamily:nnn { zhyou } { upschgt } {} - \ctex_set_upmap:nnn { upstht } { simyou.ttf } {} - } - { - \setCJKmainfont - [ BoldFont = SimHei , ItalicFont = KaiTi_GB2312 ] { SimSun } - \setCJKsansfont { SimHei } - \setCJKmonofont { FangSong_GB2312 } - \setCJKfamilyfont { zhkai } { KaiTi_GB2312 } - \setCJKfamilyfont { zhfs } { FangSong_GB2312 } - \setCJKfamilyfont { zhsong } { SimSun } - \setCJKfamilyfont { zhhei } { SimHei } - \setCJKfamilyfont { zhli } { LiSu } - \setCJKfamilyfont { zhyou } { YouYuan } - } - } -\NewDocumentCommand \songti { } { \CJKfamily { zhsong } } -\NewDocumentCommand \heiti { } { \CJKfamily { zhhei } } -\NewDocumentCommand \fangsong { } { \CJKfamily { zhfs } } -\NewDocumentCommand \kaishu { } { \CJKfamily { zhkai } } -\NewDocumentCommand \lishu { } { \CJKfamily { zhli } } -\NewDocumentCommand \youyuan { } { \CJKfamily { zhyou } } -%% -%% -%% End of file `ctex-fontset-windowsold.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-article.def b/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-article.def new file mode 100644 index 00000000000..ea14835dcfa --- /dev/null +++ b/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-article.def @@ -0,0 +1,700 @@ +%% +%% This is file `ctex-heading-article.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ctex.dtx (with options: `heading,article') +%% +%% Copyright (C) 2003--2020 +%% CTEX.ORG and any individual authors listed in the documentation. +%% --------------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% --------------------------------------------------------------------- +%% +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ + {Heading modification for article (CTEX)} +\ProvidesExplFile{ctex-article.def} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\seq_const_from_clist:Nn \c__ctex_section_headings_seq + { section , subsection , subsubsection , paragraph , subparagraph } +\seq_new:N \c__ctex_headings_seq +\seq_gset_eq:NN \c__ctex_headings_seq \c__ctex_section_headings_seq +\seq_gput_left:Nn \c__ctex_headings_seq { part } +\cs_new_protected:Npn \__ctex_initial_heading:n #1 + { + \tl_new:c { CTEX@pre#1 } + \tl_new:c { CTEX@post#1 } + \tl_const:cx { CTEXthe#1 } + { + \exp_not:c { CTEX@pre#1 } + \exp_not:c { CTEX@the#1 } + \exp_not:c { CTEX@post#1 } + } + \tl_const:cx { CTEX@#1name } + { + \group_begin: + \exp_not:c { CTEX@#1@nameformat } + { + \exp_not:c { CTEX@pre#1 } + \exp_not:N \tl_if_empty:NTF + \exp_not:c { CTEX@#1@numberformat } + { \exp_not:c { CTEX@the#1 } } + { + \group_begin: + \exp_not:c { CTEX@#1@numberformat } + \exp_not:c { CTEX@the#1 } + \group_end: + } + \exp_not:c { CTEX@post#1 } + } + \group_end: + } + } +\cs_new_protected:Npn \__ctex_def_heading_keys:n #1 + { + \tl_put_right:Nx \l__ctex_tmp_tl + { + #1 .meta:nn = { ctex / #1 } { ####1 } , + #1 / name .code:n = + { \ctex_assign_heading_name:nn {#1} { ####1 } } , + #1 / number .tl_set:N = \exp_not:c { CTEX@the#1 } , + #1 / beforeskip .tl_set:N = \exp_not:c { CTEX@#1@beforeskip } , + #1 / afterskip .tl_set:N = \exp_not:c { CTEX@#1@afterskip} , + #1 / indent .tl_set:N = \exp_not:c { CTEX@#1@indent } , + #1 / numbering .bool_set:N = \exp_not:c { CTEX@#1@numbering } , + #1 / numbering .initial:n = true , + #1 / beforeskip .initial:n = \c_zero_skip , + #1 / afterskip .initial:n = \c_zero_skip , + #1 / indent .initial:n = \c_zero_dim , + #1 / beforeskip .value_required:n = true , + #1 / afterskip .value_required:n = true , + #1 / indent .value_required:n = true , + #1 / afterindent .bool_set:N = \exp_not:c { CTEX@#1@afterindent } , + #1 / fixskip .bool_set:N = \exp_not:c { CTEX@#1@fixskip } , + #1 / hang .bool_set:N = \exp_not:c { CTEX@#1@hang } , + #1 / hang .initial:n = true , + #1 / runin .bool_set:N = \exp_not:c { CTEX@#1@runin } , + #1 / tocline .cs_set:Np = \exp_not:c { CTEX@#1@tocline} + \exp_not:n { ##1##2 } , + \__ctex_plus_key_aux:nn {#1} { break } , + \__ctex_plus_key_aux:nn {#1} { format } , + \__ctex_plus_key_aux:nn {#1} { nameformat } , + \__ctex_plus_key_aux:nn {#1} { numberformat } , + \__ctex_plus_key_aux:nn {#1} { titleformat } , + \__ctex_plus_key_aux:nn {#1} { aftername } , + \__ctex_plus_key_aux:nn {#1} { aftertitle } , + } + } +\cs_new:Npn \__ctex_plus_key_aux:nn #1#2 + { + #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , + #1 / #2 + .code:n = + { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } , + #1 / #2 ~ + .code:n = + { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } + } +\NewDocumentCommand \ctex_assign_heading_name:nn + { m > { \SplitArgument { 1 } { , } } +m } + { \__ctex_assign_heading_name:nnn {#1} #2 } +\cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3 + { + \tl_set:cn { CTEX@pre#1 } {#2} + \tl_if_novalue:nTF {#3} + { \tl_clear:c { CTEX@post#1 } } + { \tl_set:cn { CTEX@post#1 } {#3} } + } +\group_begin: +\tl_clear:N \l__ctex_tmp_tl +\seq_map_inline:Nn \c__ctex_headings_seq + { + \__ctex_initial_heading:n {#1} + \__ctex_def_heading_keys:n {#1} + } +\exp_args:NNo \group_end: \ctex_define:n { \l__ctex_tmp_tl } +\cs_new_protected:Npn \CTEX@heading@format@initial + { + \normalfont + \tl_clear:N \l__ctex_autoindent_tl + \int_set:Nn \tex_interlinepenalty:D { 10 000 } + \tex_noindent:D + } +\cs_new_protected:Npn \ctex_indent_box:n #1 + { + \dim_set:Nn \tex_parindent:D {#1} + \__ctex_insert_indent: + } +\cs_new_protected:Npn \__ctex_insert_indent: + { + \dim_compare:nNnF \tex_parindent:D = \c_zero_dim + { \tex_indent:D } + } +\cs_new_eq:NN \CTEX@indentbox \ctex_indent_box:n +\cs_new_protected:Npn \CTEX@fixheadingskip + { + \par + \dim_set:Nn \tex_prevdepth:D { -1000pt } + \skip_sub:Nn \l__ctex_heading_skip { \tex_parskip:D } + } +\skip_new:N \l__ctex_heading_skip +\cs_new_protected:Npn \CTEX@setheadingskip + { \skip_set:Nn \l__ctex_heading_skip } +\cs_new_eq:NN \CTEX@headingskip \l__ctex_heading_skip +\ProvideDocumentCommand \partmark { m } + { \markboth { } { } } +\cs_new_eq:NN \CTEXifname \use_ii:nn +\cs_new_protected:Npn \CTEX@ifnametrue + { \cs_set_eq:NN \CTEXifname \use_i:nn } +\cs_new_protected:Npn \CTEX@ifnamefalse + { \cs_set_eq:NN \CTEXifname \use_ii:nn } +\cs_new_protected:Npn \CTEX@addtocline #1#2 + { \addcontentsline { toc } {#1} { \use:c { CTEX@#1@tocline } {#1} {#2} } } +\renewcommand\part{% + \if@noskipsec \leavevmode \fi + \par + \CTEX@part@break + \CTEX@setheadingskip \CTEX@part@beforeskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \addvspace \CTEX@headingskip + \ifodd \CTEX@part@afterindent + \@afterindenttrue + \else + \@afterindentfalse + \fi + \secdef\@part\@spart} +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >\m@ne + \ifodd \CTEX@part@numbering + \CTEX@ifnametrue + \refstepcounter{part}% + \else + \CTEX@ifnamefalse + \CTEX@makeanchor{part*}% + \fi + \else + \CTEX@ifnamefalse + \CTEX@makeanchor{part*}% + \fi + \CTEX@gettitle{#1}% + \CTEX@addtocline{part}{#1}% + \partmark{#1}% + \begingroup + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}% + {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% + \CTEX@part@titleformat{#2}% + \CTEX@part@aftertitle}\par + \endgroup + \nobreak + \CTEX@setheadingskip \CTEX@part@afterskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \@afterheading} +\def\@spart#1{% + \CTEX@ifnamefalse + \CTEX@makeanchor@spart{part*}% + \CTEX@gettitle{#1}% + \begingroup + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}{}% + \CTEX@part@titleformat{#1}% + \CTEX@part@aftertitle}\par + \endgroup + \nobreak + \CTEX@setheadingskip \CTEX@part@afterskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \@afterheading} +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec \leavevmode \fi + \par + \CTEX@update@sectionformat@n{#1}% + \ifodd \CTEX@afterindent + \@afterindenttrue + \else + \@afterindentfalse + \fi + \if@nobreak + \everypar{}% + \else + \csname CTEX@#1@break\endcsname + \CTEX@setheadingskip{#4}% + \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi + \addvspace \CTEX@headingskip + \fi + \@ifstar + {\CTEX@makeanchor@ssect{#1*}\@ssect{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} +\def\@seccntformat#1{% + \csname CTEX@#1name\endcsname + \csname CTEX@#1@aftername\endcsname} +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \CTEX@ifnamefalse + \CTEX@makeanchor@sect{#1*}% + \let\@svsec\@empty + \else + \ifodd \csname CTEX@#1@numbering\endcsname + \CTEX@ifnametrue + \refstepcounter{#1}% + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \else + \CTEX@ifnamefalse + \CTEX@makeanchor{#1*}% + \let\@svsec\@empty + \fi + \fi + \CTEX@gettitle{#7}% + \unless \ifodd \CTEX@runin + \begingroup + \CTEX@heading@format@initial + #6{% + \CTEX@sectionhang{#3}{\@svsec}% + \csname CTEX@#1@titleformat\endcsname{#8}% + \csname CTEX@#1@aftertitle\endcsname}\par + \endgroup + \csname #1mark\endcsname{#7}% + \CTEX@addtocline{#1}{#7}% + \else + \def\@svsechd{% + #6{% + {\CTEX@indentbox{#3}}\@svsec + \csname CTEX@#1@titleformat\endcsname{#8}% + \csname CTEX@#1@aftertitle\endcsname}% + \csname #1mark\endcsname{#7}% + \CTEX@addtocline{#1}{#7}}% + \fi + \@xsect{#5}} +\def\@ssect#1#2#3#4#5{% + \CTEX@ifnamefalse + \CTEX@gettitle{#5}% + \unless \ifodd \CTEX@runin + \begingroup + \CTEX@heading@format@initial + #4{% + \CTEX@sectionhang{#1}{}% + \CTEX@titleformat@n{#5}% + \CTEX@aftertitle}\par + \endgroup + \else + \def\@svsechd{#4{{\CTEX@indentbox{#1}}% + \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% + \fi + \@xsect{#3}} +\def\@xsect#1{% + \unless \ifodd \CTEX@runin + \par \nobreak + \CTEX@setheadingskip{#1}% + \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\@M + \begingroup \@svsechd \endgroup + \unskip + \CTEX@heading@glue{#1}% + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} +\cs_new_protected:Npn \CTEX@headinghang #1 + { + \ctex_heading_hang:cnn + { CTEX@#1@hang } + { \use:c { CTEX@#1@indent } } + } +\cs_new_protected:Npn \CTEX@sectionhang + { \ctex_heading_hang:Nnn \CTEX@hang } +\cs_new_protected:Npn \ctex_heading_hang:Nnn #1#2#3 + { + \dim_set:Nn \tex_parindent:D {#2} + \bool_if:NTF #1 + { \ctex_hang_from:n } + { \use:n } + { \__ctex_insert_indent: #3 } + } +\cs_new_protected:Npn \ctex_hang_from:n #1 + { + \tex_noindent:D + \hbox_set:Nn \l__ctex_tmp_box {#1} + \tex_hangindent:D = \box_wd:N \l__ctex_tmp_box + \box_use_drop:N \l__ctex_tmp_box + } +\cs_generate_variant:Nn \ctex_heading_hang:Nnn { c } +\cs_new_protected:Npn \ctex_heading_glue:n #1 + { + \group_begin: + \skip_set:Nn \l__ctex_heading_skip {#1} + \dim_compare:nNnF \l__ctex_heading_skip = \c_zero_dim + { \skip_horizontal:N \l__ctex_heading_skip } + \group_end: + } +\cs_new_eq:NN \CTEX@heading@glue \ctex_heading_glue:n +\cs_new_protected:Npn \CTEX@update@sectionformat@n #1 + { + \cs_set_eq:Nc \CTEX@titleformat@n { CTEX@#1@titleformat } + \cs_set_eq:Nc \CTEX@aftertitle { CTEX@#1@aftertitle } + \cs_set_eq:Nc \CTEX@afterindent { CTEX@#1@afterindent } + \cs_set_eq:Nc \CTEX@fixskip { CTEX@#1@fixskip } + \cs_set_eq:Nc \CTEX@hang { CTEX@#1@hang } + \cs_set_eq:Nc \CTEX@runin { CTEX@#1@runin } + } +\cs_new_eq:NN \CTEX@titleformat@n \use:n +\cs_new_eq:NN \CTEX@aftertitle \prg_do_nothing: +\cs_new_eq:NN \CTEX@afterindent \c_true_bool +\cs_new_eq:NN \CTEX@fixskip \c_false_bool +\cs_new_eq:NN \CTEX@hang \c_true_bool +\cs_new_eq:NN \CTEX@runin \c_false_bool +\cs_new:Npn \CTEX@part@tocline #1#2 + { + \CTEXifname + { \CTEXthepart \hspace { 1em } } + { } + #2 + } +\cs_new:Npn \CTEXnumberline #1 + { + \CTEXifname + { \protect \numberline { \use:c { CTEXthe #1 } } } + { } + } +\int_zero:N \l__ctex_tmp_int +\seq_map_inline:Nn \c__ctex_section_headings_seq + { + \int_incr:N \l__ctex_tmp_int + \cs_gset_protected:cpx {#1} + { + \exp_not:N \@startsection {#1} + { \int_use:N \l__ctex_tmp_int } + { \exp_not:c { CTEX@#1@indent } } + { \exp_not:c { CTEX@#1@beforeskip } } + { \exp_not:c { CTEX@#1@afterskip } } + { \exp_not:N \normalfont \exp_not:c { CTEX@#1@format } } + } + \cs_new:cpn { CTEX@#1@tocline } ##1##2 + { \CTEXnumberline { ##1 } ##2 } + } +\ctex_define:n + { + appendix .meta:nn = { ctex / appendix } {#1} , + appendix / name .code:n = + { \ctex_assign_heading_name:nn { appendix } {#1} } , + appendix / number .tl_set:N = \CTEX@appendix@number , + appendix / numbering .bool_set:N = \CTEX@appendix@numbering , + appendix / numbering .initial:n = true + } +\tl_new:N \CTEX@preappendix +\tl_new:N \CTEX@postappendix +\cs_new_eq:NN \CTEX@save@appendix \appendix +\cs_gset_protected:Npn \appendix + { + \CTEX@save@appendix + \gdef \CTEX@presection { \CTEX@preappendix } + \gdef \CTEX@thesection { \CTEX@appendix@number } + \gdef \CTEX@postsection { \CTEX@postappendix } + \gdef \CTEX@section@numbering { \CTEX@appendix@numbering } + } +\cs_new_protected:Npn \CTEX@makeanchor #1 + { } +\seq_const_from_clist:Nn \c__ctex_headings_cs_seq + { part , spart , sect , ssect } +\seq_map_inline:Nn \c__ctex_headings_cs_seq + { + \cs_new_eq:cc { CTEX@ #1 } { @ #1 } + \cs_new_eq:cN { CTEX@makeanchor@ #1 } \CTEX@makeanchor + } +\cs_new_protected:Npn \CTEX@hyperheadinghook + { + \group_begin: + \ifHy@implicit + \cs_set_eq:NN \H@old@chapter \Hy@org@chapter + \seq_map_inline:Nn \c__ctex_headings_cs_seq + { + \cs_if_eq:ccT { H@old@ ##1 } { CTEX@ ##1 } + { + \cs_gset_eq:cc { @ ##1 } { CTEX@ ##1 } + \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor + } + } + \else: + \seq_map_inline:Nn \c__ctex_headings_cs_seq + { \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor } + \fi: + \group_end: + } +\ctex_at_end_package:nn { hyperref } + { + \cs_gset_protected:Npn \CTEX@makeanchor #1 + { + \Hy@MakeCurrentHrefAuto {#1} + \Hy@raisedlink + { + \hyper@anchorstart { \@currentHref } + \hyper@anchorend + } + } + \CTEX@hyperheadinghook + } +\cs_new_protected:Npn \CTEX@gettitle #1 + { } +\ctex_at_end_package:nn { nameref } + { + \cs_gset_protected:Npn \CTEX@gettitle { \NR@gettitle } + \seq_map_inline:Nn \c__ctex_headings_cs_seq + { + \cs_if_eq:ccT { NR@ #1 } { CTEX@ #1 } + { \cs_gset_eq:cc { @ #1 } { CTEX@ #1 } } + } + } +\cs_new_protected:Npn \ctex_titlesec_hook: + { + \@ifpackagewith { titlesec } { explicit } + { + \cs_set_eq:NN \__ctex_titlesec_format:Nn + \__ctex_titlesec_format_explicit:Nn + } + { } + \clist_map_inline:nn + { indentafter , noindentafter , indentfirst , nonindentfirst } + { + \@ifpackagewith { titlesec } { ##1 } + { + \clist_map_break:n + { \cs_set_eq:NN \__ctex_titlesec_hook:n \__ctex_titlesec_format:n } + } + { } + } + \seq_map_function:NN \c__ctex_section_headings_seq \__ctex_titlesec_hook:n + } +\cs_new_protected:Npn \__ctex_titlesec_hook:n #1 + { + \__ctex_titlesec_format:n {#1} + \exp_args:Nc \__ctex_titlesec_spacing:Nn { ttls@#1 } {#1} + } +\cs_new_protected:Npn \__ctex_titlesec_format:n #1 + { + \cs_if_free:cF { ttlf@#1 } + { \exp_args:Nc \__ctex_titlesec_format:Nn { ttlf@#1 } {#1} } + } +\cs_new_protected:Npn \__ctex_titlesec_format:Nn #1#2 + { + \tl_set:Nx #1 + { + \bool_if:cTF { CTEX@#2@runin } + { \exp_not:N \ttlh@runin } + { \exp_not:N \ttlh@hang } + \tl_tail:N #1 + } + } +\cs_new_protected:Npn \__ctex_titlesec_format_explicit:Nn #1#2 + { + \cs_set_nopar:Npx #1 ##1 + { + \bool_if:cTF { CTEX@#2@runin } + { \exp_not:N \ttlh@runin } + { \exp_not:N \ttlh@hang } + \exp_args:No \tl_tail:n { #1 { } } + } + } +\cs_new_protected:Npn \__ctex_titlesec_spacing:Nn #1#2 + { \tl_set:Nx #1 { \exp_after:wN \__ctex_titlesec_spacing:nnnnnn #1 {#2} } } +\cs_new:Npn \__ctex_titlesec_spacing:nnnnnn #1#2#3#4#5#6 + { + \exp_not:n { {#1} {#2} {#3} {#4} } + { \bool_if:cTF { CTEX@#6@afterindent } { \@ne } { \z@ } } + } +\@ifpackageloaded { titlesec } + { } + { + \ctex_at_end_package:nn { titlesec } + { + \@ifpackagewith { titlesec } { loadonly } + { } + { \ctex_titlesec_hook: } + } + } +\ctex_at_end_package:nn { titlesec } + { + \cs_if_free:NF \ttl@tocpart + { + \cs_set_protected:Npn \ttl@tocpart + { \tl_set:Nn \ttl@a { \CTEXthepart \hspace { 1em } } } + } + \seq_map_inline:Nn \c__ctex_headings_seq + { + \cs_if_exist:cF { ttl@toc #1 } + { + \cs_new_protected:cpx { ttl@toc #1 } + { + \tl_set:Nn \exp_not:N \ttl@a + { + \exp_not:N \protect + \exp_not:N \numberline { \exp_not:c { CTEXthe #1 } } + } + } + } + } + } +\group_begin: +\char_set_catcode_other:N \# +\cs_new_protected:Npn \ctex_titleps_hook: + { + \ctex_patch_cmd:Nnn \ttl@settopmark + { \protect \@namedef { the#1 } { \@nameuse { the#1 } } } + { + \protect \@namedef { the#1 } { \@nameuse { the#1 } } + \CTEX@titlepslabel@set {#1} + } + \ctex_patch_cmd:Nnn \ttl@setsubmark + { \protect \@namedef { the#1 } { } } + { + \protect \@namedef { the#1 } { } + \CTEX@titlepslabel@clear {#1} + } + \ctex_patch_cmd:Nnn \ttl@setsubmark + { \protect \@namedef { the#2 } { \@nameuse { the#2 } } } + { + \protect \@namedef { the#2 } { \@nameuse { the#2 } } + \CTEX@titlepslabel@set {#2} + } + } +\group_end: +\cs_new:Npn \CTEX@titlepslabel@set #1 + { + \cs_if_free:cF { CTEXthe#1 } + { \protect \@namedef { CTEXthe#1 } { \@nameuse { CTEXthe#1 } } } + } +\cs_new:Npn \CTEX@titlepslabel@clear #1 + { + \cs_if_free:cF { CTEXthe#1 } + { \protect \@namedef { CTEXthe#1 } { } } + } +\ctex_at_end_package:nn { titlesec } + { \cs_if_free:NF \ttl@settopmark { \ctex_titleps_hook: } } +\ctex_at_end_package:nn { titleps } { \ctex_titleps_hook: } +\ctex_at_end_package:nn { titleps } + { + \cs_set_protected:Npn \ttl@setifthe #1 + { + \exp_args:Nco \cs_set:Npn { ifthe #1 } + { + \CTEXifname + { \protect \@firstoftwo } + { \protect \@secondoftwo } + } + } + \seq_map_function:NN \c__ctex_headings_seq \ttl@setifthe + } +\cs_new_protected:Npn \CTEX@toc@width@n #1 + { + \hbox_set:Nn \l__ctex_tmp_box {#1} + \dim_set:Nn \@tempdima + { + \dim_max:nn { \@tempdima } + { \box_wd:N \l__ctex_tmp_box + \f@size \p@ / 2 } + } + } +\group_begin: +\char_set_catcode_other:N \# +\use:n + { + \group_end: + \ctex_preto_cmd:NnnTF \numberline { \ExplSyntaxOff } + { \CTEX@toc@width@n {#1} } + { } + { \ctex_patch_failure:N \numberline } + \cs_new_protected:Npn \__ctex_patch_toc_width:n \c_parameter_token 1 + { + \@ifpackageloaded { \c_parameter_token 1 } + { } + { + \ctex_at_end_package:nn { \c_parameter_token 1 } + { + \ctex_preto_cmd:NnnTF \numberline + { \char_set_catcode_letter:n { 64 } } + { \CTEX@toc@width@n {#1} } + { } + { \ctex_patch_failure:N \numberline } + } + } + } + } +\__ctex_patch_toc_width:n { tocloft } +\__ctex_patch_toc_width:n { titletoc } +\if@twoside + \ctex_patch_cmd:Nnn \ps@headings + { \ifnum \c@secnumdepth > \z@ \thesection \quad \fi } + { \CTEXifname { \CTEXthesection \quad } { } } + \ctex_patch_cmd:Nnn \ps@headings + { \ifnum \c@secnumdepth > \@ne \thesubsection \quad \fi } + { \CTEXifname { \CTEXthesubsection \quad } { } } +\else: + \ctex_patch_cmd:Nnn \ps@headings + { \ifnum \c@secnumdepth > \m@ne \thesection \quad \fi } + { \CTEXifname { \CTEXthesection \quad } { } } +\fi: +\ctex_at_end_package:nn { fancyhdr } + { + \ctex_patch_cmd:Nnn \ps@fancy + { \ifnum \c@secnumdepth > \z@ \thesection \hskip 1em \relax \fi } + { \CTEXifname { \CTEXthesection \quad } { } } + \ctex_patch_cmd:Nnn \ps@fancy + { \ifnum \c@secnumdepth > \@ne \thesubsection \hskip 1em \relax \fi } + { \CTEXifname { \CTEXthesubsection \quad } { } } + } +\cs_new_protected:Npn \CTEX@setcurrentlabel@n #1 + { + \protected@edef \@currentlabel + { + \cs_if_exist:cTF { CTEX@the#1 } + { \exp_args:cc { p@#1 } { CTEX@the#1 } } + { \exp_not:o { \@currentlabel } } + } + } +\cs_new_protected:Npn \ctex_varioref_hook: + { + \seq_map_inline:Nn \c__ctex_headings_seq + { \ctex_fix_varioref_label:n { ##1 } } + } +\cs_new_protected:Npn \ctex_fix_varioref_label:n #1 + { + \tl_if_empty:cT { p@#1 } + { \exp_args:Nnx \labelformat {#1} { \exp_not:c { CTEX@the#1 } } } + } +\cs_if_exist:NTF \labelformat + { \ctex_varioref_hook: } + { + \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter + \RenewDocumentCommand \refstepcounter { m } + { + \CTEX@save@refstepcounter {#1} + \CTEX@setcurrentlabel@n {#1} + } + \ctex_at_end_package:nn { varioref } { \ctex_varioref_hook: } + } +\ctex_scheme_input:o { \l__ctex_scheme_tl } +%% +%% +%% End of file `ctex-heading-article.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-beamer.def b/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-beamer.def new file mode 100644 index 00000000000..438a97a00c2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-beamer.def @@ -0,0 +1,214 @@ +%% +%% This is file `ctex-heading-beamer.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ctex.dtx (with options: `heading,beamer') +%% +%% Copyright (C) 2003--2020 +%% CTEX.ORG and any individual authors listed in the documentation. +%% --------------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% --------------------------------------------------------------------- +%% +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ + {Heading modification for beamer (CTEX)} +\ProvidesExplFile{ctex-beamer.def} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\seq_const_from_clist:Nn \c__ctex_headings_seq + { part , section , subsection } +\cs_new_protected:Npn \__ctex_initial_heading:n #1 + { + \tl_new:c { CTEX@pre#1 } + \tl_new:c { CTEX@post#1 } + \tl_const:cx { CTEXthe#1 } + { + \exp_not:c { CTEX@pre#1 } + \exp_not:c { CTEX@the#1 } + \exp_not:c { CTEX@post#1 } + } + \tl_const:cx { CTEX@#1name } + { + \group_begin: + \exp_not:c { CTEX@#1@nameformat } + { + \exp_not:c { CTEX@pre#1 } + \exp_not:N \tl_if_empty:NTF + \exp_not:c { CTEX@#1@numberformat } + { \exp_not:c { CTEX@the#1 } } + { + \group_begin: + \exp_not:c { CTEX@#1@numberformat } + \exp_not:c { CTEX@the#1 } + \group_end: + } + \exp_not:c { CTEX@post#1 } + } + \group_end: + } + } +\cs_new_protected:Npn \__ctex_def_heading_keys:n #1 + { + \tl_put_right:Nx \l__ctex_tmp_tl + { + #1 .meta:nn = { ctex / #1 } { ####1 } , + #1 / name .code:n = + { \ctex_assign_heading_name:nn {#1} { ####1 } } , + #1 / number .tl_set:N = \exp_not:c { CTEX@the#1 } , + #1 / beforeskip .tl_set:N = \exp_not:c { CTEX@#1@beforeskip } , + #1 / afterskip .tl_set:N = \exp_not:c { CTEX@#1@afterskip} , + #1 / indent .tl_set:N = \exp_not:c { CTEX@#1@indent } , + #1 / numbering .bool_set:N = \exp_not:c { CTEX@#1@numbering } , + #1 / numbering .initial:n = true , + #1 / beforeskip .initial:n = \c_zero_skip , + #1 / afterskip .initial:n = \c_zero_skip , + #1 / indent .initial:n = \c_zero_dim , + #1 / beforeskip .value_required:n = true , + #1 / afterskip .value_required:n = true , + #1 / indent .value_required:n = true , + \__ctex_plus_key_aux:nn {#1} { format } , + \__ctex_plus_key_aux:nn {#1} { nameformat } , + \__ctex_plus_key_aux:nn {#1} { numberformat } , + \__ctex_plus_key_aux:nn {#1} { titleformat } , + \__ctex_plus_key_aux:nn {#1} { aftername } , + \__ctex_plus_key_aux:nn {#1} { aftertitle } , + } + } +\cs_new:Npn \__ctex_plus_key_aux:nn #1#2 + { + #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , + #1 / #2 + .code:n = + { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } , + #1 / #2 ~ + .code:n = + { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } + } +\NewDocumentCommand \ctex_assign_heading_name:nn + { m > { \SplitArgument { 1 } { , } } +m } + { \__ctex_assign_heading_name:nnn {#1} #2 } +\cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3 + { + \tl_set:cn { CTEX@pre#1 } {#2} + \tl_if_novalue:nTF {#3} + { \tl_clear:c { CTEX@post#1 } } + { \tl_set:cn { CTEX@post#1 } {#3} } + } +\group_begin: +\tl_clear:N \l__ctex_tmp_tl +\seq_map_inline:Nn \c__ctex_headings_seq + { + \__ctex_initial_heading:n {#1} + \__ctex_def_heading_keys:n {#1} + } +\exp_args:NNo \group_end: \ctex_define:n { \l__ctex_tmp_tl } +\cs_new_protected:Npn \CTEX@heading@format@initial + { + \normalfont + \tl_clear:N \l__ctex_autoindent_tl + \int_set:Nn \tex_interlinepenalty:D { 10 000 } + \tex_noindent:D + } +\cs_new_protected:Npn \ctex_indent_box:n #1 + { + \dim_set:Nn \tex_parindent:D {#1} + \__ctex_insert_indent: + } +\cs_new_protected:Npn \__ctex_insert_indent: + { + \dim_compare:nNnF \tex_parindent:D = \c_zero_dim + { \tex_indent:D } + } +\cs_new_eq:NN \CTEX@indentbox \ctex_indent_box:n +\ExplSyntaxOff +\defbeamertemplate*{part page}{CTEX}[1][]{% + \begingroup + \par \addvspace{\glueexpr\CTEX@part@beforeskip\relax}% + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@indentbox{\CTEX@part@indent}% + \ifodd \CTEX@part@numbering + \CTEX@partname \CTEX@part@aftername + \fi + \begin{beamercolorbox}[sep=16pt,center,#1]{part title} + \CTEX@part@titleformat \insertpart \CTEX@part@aftertitle + \end{beamercolorbox}}% + \par \addvspace{\glueexpr\CTEX@part@afterskip\relax}% + \endgroup} +\defbeamertemplate*{section page}{CTEX}[1][]{% + \begingroup + \par \addvspace{\glueexpr\CTEX@section@beforeskip\relax}% + \CTEX@heading@format@initial + \CTEX@section@format{% + \CTEX@indentbox{\CTEX@section@indent}% + \ifodd \CTEX@section@numbering + \CTEX@sectionname \CTEX@section@aftername + \fi + \begin{beamercolorbox}[sep=12pt,center,#1]{part title} + \CTEX@section@titleformat \insertsection \CTEX@section@aftertitle + \end{beamercolorbox}}% + \par \addvspace{\glueexpr\CTEX@section@afterskip\relax}% + \endgroup} +\defbeamertemplate*{subsection page}{CTEX}[1][]{% + \begingroup + \par \addvspace{\glueexpr\CTEX@subsection@beforeskip\relax}% + \CTEX@heading@format@initial + \CTEX@subsection@format{% + \CTEX@indentbox{\CTEX@subsection@indent}% + \ifodd \CTEX@subsection@numbering + \CTEX@subsectionname \CTEX@subsection@aftername + \fi + \begin{beamercolorbox}[sep=8pt,center,#1]{part title} + \CTEX@subsection@titleformat \insertsubsection \CTEX@subsection@aftertitle + \end{beamercolorbox}}% + \par \addvspace{\glueexpr\CTEX@subsection@afterskip\relax}% + \endgroup} +\defbeamertemplatealias{part page}{default}{CTEX} +\defbeamertemplatealias{section page}{default}{CTEX} +\defbeamertemplatealias{subsection page}{default}{CTEX} +\ExplSyntaxOn +\cs_new_protected:Npn \CTEX@setcurrentlabel@n #1 + { + \protected@edef \@currentlabel + { + \cs_if_exist:cTF { CTEX@the#1 } + { \exp_args:cc { p@#1 } { CTEX@the#1 } } + { \exp_not:o { \@currentlabel } } + } + } +\cs_new_protected:Npn \ctex_varioref_hook: + { + \seq_map_inline:Nn \c__ctex_headings_seq + { \ctex_fix_varioref_label:n { ##1 } } + } +\cs_new_protected:Npn \ctex_fix_varioref_label:n #1 + { + \tl_if_empty:cT { p@#1 } + { \exp_args:Nnx \labelformat {#1} { \exp_not:c { CTEX@the#1 } } } + } +\cs_if_exist:NTF \labelformat + { \ctex_varioref_hook: } + { + \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter + \RenewDocumentCommand \refstepcounter { m } + { + \CTEX@save@refstepcounter {#1} + \CTEX@setcurrentlabel@n {#1} + } + \ctex_at_end_package:nn { varioref } { \ctex_varioref_hook: } + } +\ctex_scheme_input:o { \l__ctex_scheme_tl } +%% +%% +%% End of file `ctex-heading-beamer.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-book.def b/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-book.def new file mode 100644 index 00000000000..df344f2c679 --- /dev/null +++ b/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-book.def @@ -0,0 +1,827 @@ +%% +%% This is file `ctex-heading-book.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ctex.dtx (with options: `heading,book') +%% +%% Copyright (C) 2003--2020 +%% CTEX.ORG and any individual authors listed in the documentation. +%% --------------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% --------------------------------------------------------------------- +%% +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ + {Heading modification for book (CTEX)} +\ProvidesExplFile{ctex-book.def} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\seq_const_from_clist:Nn \c__ctex_section_headings_seq + { section , subsection , subsubsection , paragraph , subparagraph } +\seq_new:N \c__ctex_headings_seq +\seq_gset_eq:NN \c__ctex_headings_seq \c__ctex_section_headings_seq +\seq_gput_left:Nn \c__ctex_headings_seq { chapter } +\seq_gput_left:Nn \c__ctex_headings_seq { part } +\cs_new_protected:Npn \__ctex_initial_heading:n #1 + { + \tl_new:c { CTEX@pre#1 } + \tl_new:c { CTEX@post#1 } + \tl_const:cx { CTEXthe#1 } + { + \exp_not:c { CTEX@pre#1 } + \exp_not:c { CTEX@the#1 } + \exp_not:c { CTEX@post#1 } + } + \tl_const:cx { CTEX@#1name } + { + \group_begin: + \exp_not:c { CTEX@#1@nameformat } + { + \exp_not:c { CTEX@pre#1 } + \exp_not:N \tl_if_empty:NTF + \exp_not:c { CTEX@#1@numberformat } + { \exp_not:c { CTEX@the#1 } } + { + \group_begin: + \exp_not:c { CTEX@#1@numberformat } + \exp_not:c { CTEX@the#1 } + \group_end: + } + \exp_not:c { CTEX@post#1 } + } + \group_end: + } + } +\cs_new_protected:Npn \__ctex_def_heading_keys:n #1 + { + \tl_put_right:Nx \l__ctex_tmp_tl + { + #1 .meta:nn = { ctex / #1 } { ####1 } , + #1 / name .code:n = + { \ctex_assign_heading_name:nn {#1} { ####1 } } , + #1 / number .tl_set:N = \exp_not:c { CTEX@the#1 } , + #1 / beforeskip .tl_set:N = \exp_not:c { CTEX@#1@beforeskip } , + #1 / afterskip .tl_set:N = \exp_not:c { CTEX@#1@afterskip} , + #1 / indent .tl_set:N = \exp_not:c { CTEX@#1@indent } , + #1 / numbering .bool_set:N = \exp_not:c { CTEX@#1@numbering } , + #1 / numbering .initial:n = true , + #1 / beforeskip .initial:n = \c_zero_skip , + #1 / afterskip .initial:n = \c_zero_skip , + #1 / indent .initial:n = \c_zero_dim , + #1 / beforeskip .value_required:n = true , + #1 / afterskip .value_required:n = true , + #1 / indent .value_required:n = true , + #1 / afterindent .bool_set:N = \exp_not:c { CTEX@#1@afterindent } , + #1 / fixskip .bool_set:N = \exp_not:c { CTEX@#1@fixskip } , + #1 / hang .bool_set:N = \exp_not:c { CTEX@#1@hang } , + #1 / hang .initial:n = true , + #1 / runin .bool_set:N = \exp_not:c { CTEX@#1@runin } , + #1 / tocline .cs_set:Np = \exp_not:c { CTEX@#1@tocline} + \exp_not:n { ##1##2 } , + \__ctex_plus_key_aux:nn {#1} { break } , + \__ctex_plus_key_aux:nn {#1} { format } , + \__ctex_plus_key_aux:nn {#1} { nameformat } , + \__ctex_plus_key_aux:nn {#1} { numberformat } , + \__ctex_plus_key_aux:nn {#1} { titleformat } , + \__ctex_plus_key_aux:nn {#1} { aftername } , + \__ctex_plus_key_aux:nn {#1} { aftertitle } , + } + } +\cs_new:Npn \__ctex_plus_key_aux:nn #1#2 + { + #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , + #1 / #2 + .code:n = + { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } , + #1 / #2 ~ + .code:n = + { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } + } +\NewDocumentCommand \ctex_assign_heading_name:nn + { m > { \SplitArgument { 1 } { , } } +m } + { \__ctex_assign_heading_name:nnn {#1} #2 } +\cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3 + { + \tl_set:cn { CTEX@pre#1 } {#2} + \tl_if_novalue:nTF {#3} + { \tl_clear:c { CTEX@post#1 } } + { \tl_set:cn { CTEX@post#1 } {#3} } + } +\group_begin: +\tl_set:Nn \l__ctex_tmp_tl + { + part / pagestyle .tl_set:N = \CTEX@part@pagestyle , + chapter / pagestyle .tl_set:N = \CTEX@chapter@pagestyle , + chapter / lofskip .tl_set:N = \CTEX@chapter@lofskip , + chapter / lotskip .tl_set:N = \CTEX@chapter@lotskip , + chapter / lofskip .initial:n = \c_zero_skip , + chapter / lotskip .initial:n = \c_zero_skip , + chapter / lofskip .value_required:n = true , + chapter / lotskip .value_required:n = true , + } +\seq_map_inline:Nn \c__ctex_headings_seq + { + \__ctex_initial_heading:n {#1} + \__ctex_def_heading_keys:n {#1} + } +\exp_args:NNo \group_end: \ctex_define:n { \l__ctex_tmp_tl } +\cs_new_protected:Npn \CTEX@heading@format@initial + { + \normalfont + \tl_clear:N \l__ctex_autoindent_tl + \int_set:Nn \tex_interlinepenalty:D { 10 000 } + \tex_noindent:D + } +\cs_new_protected:Npn \ctex_indent_box:n #1 + { + \dim_set:Nn \tex_parindent:D {#1} + \__ctex_insert_indent: + } +\cs_new_protected:Npn \__ctex_insert_indent: + { + \dim_compare:nNnF \tex_parindent:D = \c_zero_dim + { \tex_indent:D } + } +\cs_new_eq:NN \CTEX@indentbox \ctex_indent_box:n +\cs_new_protected:Npn \CTEX@fixtopskip + { + \CTEX@fixheadingskip + \dim_compare:nNnF \tex_pagegoal:D < \c_max_dim + { \skip_sub:Nn \l__ctex_heading_skip { \tex_topskip:D } } + } +\cs_new_protected:Npn \CTEX@fixheadingskip + { + \par + \dim_set:Nn \tex_prevdepth:D { -1000pt } + \skip_sub:Nn \l__ctex_heading_skip { \tex_parskip:D } + } +\skip_new:N \l__ctex_heading_skip +\cs_new_protected:Npn \CTEX@setheadingskip + { \skip_set:Nn \l__ctex_heading_skip } +\cs_new_eq:NN \CTEX@headingskip \l__ctex_heading_skip +\ProvideDocumentCommand \partmark { m } + { \markboth { } { } } +\cs_new_eq:NN \CTEXifname \use_ii:nn +\cs_new_protected:Npn \CTEX@ifnametrue + { \cs_set_eq:NN \CTEXifname \use_i:nn } +\cs_new_protected:Npn \CTEX@ifnamefalse + { \cs_set_eq:NN \CTEXifname \use_ii:nn } +\cs_new_protected:Npn \CTEX@addloflotskip #1 + { + \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1@lofskip } } + \skip_if_eq:nnF { \l__ctex_heading_skip } { \c_zero_skip } + { + \addtocontents { lof } + { \protect \addvspace { \skip_use:N \l__ctex_heading_skip } } + } + \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1@lotskip } } + \skip_if_eq:nnF { \l__ctex_heading_skip } { \c_zero_skip } + { + \addtocontents { lot } + { \protect \addvspace { \skip_use:N \l__ctex_heading_skip } } + } + } +\cs_new_protected:Npn \CTEX@addtocline #1#2 + { \addcontentsline { toc } {#1} { \use:c { CTEX@#1@tocline } {#1} {#2} } } +\renewcommand\part{% + \CTEX@part@break + \thispagestyle{\CTEX@part@pagestyle}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \CTEX@setheadingskip \CTEX@part@beforeskip + \ifodd \CTEX@part@fixskip \CTEX@fixtopskip \fi + \vspace*{\CTEX@headingskip}% + \secdef\@part\@spart} +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \ifodd \CTEX@part@numbering + \CTEX@ifnametrue + \refstepcounter{part}% + \else + \CTEX@ifnamefalse + \CTEX@makeanchor{part*}% + \fi + \else + \CTEX@ifnamefalse + \CTEX@makeanchor{part*}% + \fi + \CTEX@gettitle{#1}% + \CTEX@addtocline{part}{#1}% + \partmark{#1}% + \begingroup + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}% + {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% + \CTEX@part@titleformat{#2}% + \CTEX@part@aftertitle}\par + \endgroup + \@endpart} +\def\@spart#1{% + \CTEX@ifnamefalse + \CTEX@makeanchor@spart{part*}% + \CTEX@gettitle{#1}% + \begingroup + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}{}% + \CTEX@part@titleformat{#1}% + \CTEX@part@aftertitle}\par + \endgroup + \@endpart} +\def\@endpart{% + \CTEX@setheadingskip \CTEX@part@afterskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \newpage + \if@twoside + \if@openright + \null + \thispagestyle{empty}% + \newpage + \fi + \fi + \if@tempswa + \twocolumn + \fi} +\renewcommand\chapter{% + \CTEX@chapter@break + \thispagestyle{\CTEX@chapter@pagestyle}% + \global\@topnum\z@ + \ifodd \CTEX@chapter@afterindent + \@afterindenttrue + \else + \@afterindentfalse + \fi + \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{% + \ifnum \c@secnumdepth >\m@ne + \if@mainmatter + \ifodd \CTEX@chapter@numbering + \CTEX@ifnametrue + \refstepcounter{chapter}% + \typeout{\CTEXthechapter}% + \else + \CTEX@ifnamefalse + \CTEX@makeanchor{\Hy@chapapp*}% + \fi + \else + \CTEX@ifnamefalse + \CTEX@makeanchor@chapter{\Hy@chapapp*}% + \fi + \else + \CTEX@ifnamefalse + \CTEX@makeanchor@chapter{\Hy@chapapp*}% + \fi + \CTEX@gettitle{#1}% + \CTEX@addtocline{chapter}{#1}% + \chaptermark{#1}% + \CTEX@addloflotskip{chapter}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +\def\@schapter#1{% + \CTEX@ifnamefalse + \CTEX@makeanchor@schapter{\Hy@chapapp*}% + \CTEX@gettitle{#1}% + \if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} +\def\@makechapterhead#1{% + \CTEX@setheadingskip \CTEX@chapter@beforeskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi + \vspace*{\CTEX@headingskip}% + \begingroup + \CTEX@heading@format@initial + \CTEX@chapter@format{% + \CTEX@headinghang{chapter}% + {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}% + \CTEX@chapter@titleformat{#1}% + \CTEX@chapter@aftertitle}\par + \endgroup + \nobreak + \CTEX@setheadingskip \CTEX@chapter@afterskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip} +\def\@makeschapterhead#1{% + \CTEX@setheadingskip \CTEX@chapter@beforeskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi + \vspace*{\CTEX@headingskip}% + \begingroup + \CTEX@heading@format@initial + \CTEX@chapter@format{% + \CTEX@headinghang{chapter}{}% + \CTEX@chapter@titleformat{#1}% + \CTEX@chapter@aftertitle}\par + \endgroup + \nobreak + \CTEX@setheadingskip \CTEX@chapter@afterskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip} +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec \leavevmode \fi + \par + \CTEX@update@sectionformat@n{#1}% + \ifodd \CTEX@afterindent + \@afterindenttrue + \else + \@afterindentfalse + \fi + \if@nobreak + \everypar{}% + \else + \csname CTEX@#1@break\endcsname + \CTEX@setheadingskip{#4}% + \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi + \addvspace \CTEX@headingskip + \fi + \@ifstar + {\CTEX@makeanchor@ssect{#1*}\@ssect{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} +\def\@seccntformat#1{% + \csname CTEX@#1name\endcsname + \csname CTEX@#1@aftername\endcsname} +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \CTEX@ifnamefalse + \CTEX@makeanchor@sect{#1*}% + \let\@svsec\@empty + \else + \ifodd \csname CTEX@#1@numbering\endcsname + \CTEX@ifnametrue + \refstepcounter{#1}% + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \else + \CTEX@ifnamefalse + \CTEX@makeanchor{#1*}% + \let\@svsec\@empty + \fi + \fi + \CTEX@gettitle{#7}% + \unless \ifodd \CTEX@runin + \begingroup + \CTEX@heading@format@initial + #6{% + \CTEX@sectionhang{#3}{\@svsec}% + \csname CTEX@#1@titleformat\endcsname{#8}% + \csname CTEX@#1@aftertitle\endcsname}\par + \endgroup + \csname #1mark\endcsname{#7}% + \CTEX@addtocline{#1}{#7}% + \else + \def\@svsechd{% + #6{% + {\CTEX@indentbox{#3}}\@svsec + \csname CTEX@#1@titleformat\endcsname{#8}% + \csname CTEX@#1@aftertitle\endcsname}% + \csname #1mark\endcsname{#7}% + \CTEX@addtocline{#1}{#7}}% + \fi + \@xsect{#5}} +\def\@ssect#1#2#3#4#5{% + \CTEX@ifnamefalse + \CTEX@gettitle{#5}% + \unless \ifodd \CTEX@runin + \begingroup + \CTEX@heading@format@initial + #4{% + \CTEX@sectionhang{#1}{}% + \CTEX@titleformat@n{#5}% + \CTEX@aftertitle}\par + \endgroup + \else + \def\@svsechd{#4{{\CTEX@indentbox{#1}}% + \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% + \fi + \@xsect{#3}} +\def\@xsect#1{% + \unless \ifodd \CTEX@runin + \par \nobreak + \CTEX@setheadingskip{#1}% + \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\@M + \begingroup \@svsechd \endgroup + \unskip + \CTEX@heading@glue{#1}% + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} +\cs_new_protected:Npn \CTEX@headinghang #1 + { + \ctex_heading_hang:cnn + { CTEX@#1@hang } + { \use:c { CTEX@#1@indent } } + } +\cs_new_protected:Npn \CTEX@sectionhang + { \ctex_heading_hang:Nnn \CTEX@hang } +\cs_new_protected:Npn \ctex_heading_hang:Nnn #1#2#3 + { + \dim_set:Nn \tex_parindent:D {#2} + \bool_if:NTF #1 + { \ctex_hang_from:n } + { \use:n } + { \__ctex_insert_indent: #3 } + } +\cs_new_protected:Npn \ctex_hang_from:n #1 + { + \tex_noindent:D + \hbox_set:Nn \l__ctex_tmp_box {#1} + \tex_hangindent:D = \box_wd:N \l__ctex_tmp_box + \box_use_drop:N \l__ctex_tmp_box + } +\cs_generate_variant:Nn \ctex_heading_hang:Nnn { c } +\cs_new_protected:Npn \ctex_heading_glue:n #1 + { + \group_begin: + \skip_set:Nn \l__ctex_heading_skip {#1} + \dim_compare:nNnF \l__ctex_heading_skip = \c_zero_dim + { \skip_horizontal:N \l__ctex_heading_skip } + \group_end: + } +\cs_new_eq:NN \CTEX@heading@glue \ctex_heading_glue:n +\cs_new_protected:Npn \CTEX@update@sectionformat@n #1 + { + \cs_set_eq:Nc \CTEX@titleformat@n { CTEX@#1@titleformat } + \cs_set_eq:Nc \CTEX@aftertitle { CTEX@#1@aftertitle } + \cs_set_eq:Nc \CTEX@afterindent { CTEX@#1@afterindent } + \cs_set_eq:Nc \CTEX@fixskip { CTEX@#1@fixskip } + \cs_set_eq:Nc \CTEX@hang { CTEX@#1@hang } + \cs_set_eq:Nc \CTEX@runin { CTEX@#1@runin } + } +\cs_new_eq:NN \CTEX@titleformat@n \use:n +\cs_new_eq:NN \CTEX@aftertitle \prg_do_nothing: +\cs_new_eq:NN \CTEX@afterindent \c_true_bool +\cs_new_eq:NN \CTEX@fixskip \c_false_bool +\cs_new_eq:NN \CTEX@hang \c_true_bool +\cs_new_eq:NN \CTEX@runin \c_false_bool +\cs_new:Npn \CTEX@part@tocline #1#2 + { + \CTEXifname + { \CTEXthepart \hspace { 1em } } + { } + #2 + } +\cs_new:Npn \CTEX@chapter@tocline #1#2 + { + \CTEXifname + { \protect \numberline { \CTEXthechapter \hspace { .3em } } } + { } + #2 + } +\cs_new:Npn \CTEXnumberline #1 + { + \CTEXifname + { \protect \numberline { \use:c { CTEXthe #1 } } } + { } + } +\int_zero:N \l__ctex_tmp_int +\seq_map_inline:Nn \c__ctex_section_headings_seq + { + \int_incr:N \l__ctex_tmp_int + \cs_gset_protected:cpx {#1} + { + \exp_not:N \@startsection {#1} + { \int_use:N \l__ctex_tmp_int } + { \exp_not:c { CTEX@#1@indent } } + { \exp_not:c { CTEX@#1@beforeskip } } + { \exp_not:c { CTEX@#1@afterskip } } + { \exp_not:N \normalfont \exp_not:c { CTEX@#1@format } } + } + \cs_new:cpn { CTEX@#1@tocline } ##1##2 + { \CTEXnumberline { ##1 } ##2 } + } +\ctex_define:n + { + appendix .meta:nn = { ctex / appendix } {#1} , + appendix / name .code:n = + { \ctex_assign_heading_name:nn { appendix } {#1} } , + appendix / number .tl_set:N = \CTEX@appendix@number , + appendix / numbering .bool_set:N = \CTEX@appendix@numbering , + appendix / numbering .initial:n = true + } +\tl_new:N \CTEX@preappendix +\tl_new:N \CTEX@postappendix +\cs_new_eq:NN \CTEX@save@appendix \appendix +\cs_gset_protected:Npn \appendix + { + \CTEX@save@appendix + \gdef \CTEX@prechapter { \CTEX@preappendix } + \gdef \CTEX@thechapter { \CTEX@appendix@number } + \gdef \CTEX@postchapter { \CTEX@postappendix } + \gdef \CTEX@chapter@numbering { \CTEX@appendix@numbering } + } +\cs_new_protected:Npn \CTEX@makeanchor #1 + { } +\seq_const_from_clist:Nn \c__ctex_headings_cs_seq + { part , spart , chapter , schapter , sect , ssect } +\seq_map_inline:Nn \c__ctex_headings_cs_seq + { + \cs_new_eq:cc { CTEX@ #1 } { @ #1 } + \cs_new_eq:cN { CTEX@makeanchor@ #1 } \CTEX@makeanchor + } +\cs_new_protected:Npn \CTEX@hyperheadinghook + { + \group_begin: + \ifHy@implicit + \cs_set_eq:NN \H@old@chapter \Hy@org@chapter + \seq_map_inline:Nn \c__ctex_headings_cs_seq + { + \cs_if_eq:ccT { H@old@ ##1 } { CTEX@ ##1 } + { + \cs_gset_eq:cc { @ ##1 } { CTEX@ ##1 } + \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor + } + } + \else: + \seq_map_inline:Nn \c__ctex_headings_cs_seq + { \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor } + \fi: + \group_end: + } +\ctex_at_end_package:nn { hyperref } + { + \cs_gset_protected:Npn \CTEX@makeanchor #1 + { + \Hy@MakeCurrentHrefAuto {#1} + \Hy@raisedlink + { + \hyper@anchorstart { \@currentHref } + \hyper@anchorend + } + } + \CTEX@hyperheadinghook + } +\cs_new_protected:Npn \CTEX@gettitle #1 + { } +\ctex_at_end_package:nn { nameref } + { + \cs_gset_protected:Npn \CTEX@gettitle { \NR@gettitle } + \seq_map_inline:Nn \c__ctex_headings_cs_seq + { + \cs_if_eq:ccT { NR@ #1 } { CTEX@ #1 } + { \cs_gset_eq:cc { @ #1 } { CTEX@ #1 } } + } + } +\cs_new_protected:Npn \ctex_titlesec_hook: + { + \@ifpackagewith { titlesec } { explicit } + { + \cs_set_eq:NN \__ctex_titlesec_format:Nn + \__ctex_titlesec_format_explicit:Nn + } + { } + \clist_map_inline:nn + { indentafter , noindentafter , indentfirst , nonindentfirst } + { + \@ifpackagewith { titlesec } { ##1 } + { + \clist_map_break:n + { \cs_set_eq:NN \__ctex_titlesec_hook:n \__ctex_titlesec_format:n } + } + { } + } + \seq_map_function:NN \c__ctex_section_headings_seq \__ctex_titlesec_hook:n + } +\cs_new_protected:Npn \__ctex_titlesec_hook:n #1 + { + \__ctex_titlesec_format:n {#1} + \exp_args:Nc \__ctex_titlesec_spacing:Nn { ttls@#1 } {#1} + } +\cs_new_protected:Npn \__ctex_titlesec_format:n #1 + { + \cs_if_free:cF { ttlf@#1 } + { \exp_args:Nc \__ctex_titlesec_format:Nn { ttlf@#1 } {#1} } + } +\cs_new_protected:Npn \__ctex_titlesec_format:Nn #1#2 + { + \tl_set:Nx #1 + { + \bool_if:cTF { CTEX@#2@runin } + { \exp_not:N \ttlh@runin } + { \exp_not:N \ttlh@hang } + \tl_tail:N #1 + } + } +\cs_new_protected:Npn \__ctex_titlesec_format_explicit:Nn #1#2 + { + \cs_set_nopar:Npx #1 ##1 + { + \bool_if:cTF { CTEX@#2@runin } + { \exp_not:N \ttlh@runin } + { \exp_not:N \ttlh@hang } + \exp_args:No \tl_tail:n { #1 { } } + } + } +\cs_new_protected:Npn \__ctex_titlesec_spacing:Nn #1#2 + { \tl_set:Nx #1 { \exp_after:wN \__ctex_titlesec_spacing:nnnnnn #1 {#2} } } +\cs_new:Npn \__ctex_titlesec_spacing:nnnnnn #1#2#3#4#5#6 + { + \exp_not:n { {#1} {#2} {#3} {#4} } + { \bool_if:cTF { CTEX@#6@afterindent } { \@ne } { \z@ } } + } +\@ifpackageloaded { titlesec } + { } + { + \ctex_at_end_package:nn { titlesec } + { + \@ifpackagewith { titlesec } { loadonly } + { } + { \ctex_titlesec_hook: } + } + } +\ctex_at_end_package:nn { titlesec } + { + \tl_set:Nn \ttl@chapterout { \typeout { \CTEXthechapter } } + \cs_if_free:NF \ttl@tocpart + { + \cs_set_protected:Npn \ttl@tocpart + { \tl_set:Nn \ttl@a { \CTEXthepart \hspace { 1em } } } + } + \seq_map_inline:Nn \c__ctex_headings_seq + { + \cs_if_exist:cF { ttl@toc #1 } + { + \cs_new_protected:cpx { ttl@toc #1 } + { + \tl_set:Nn \exp_not:N \ttl@a + { + \exp_not:N \protect + \exp_not:N \numberline { \exp_not:c { CTEXthe #1 } } + } + } + } + } + } +\group_begin: +\char_set_catcode_other:N \# +\cs_new_protected:Npn \ctex_titleps_hook: + { + \ctex_patch_cmd:Nnn \ttl@settopmark + { \protect \@namedef { the#1 } { \@nameuse { the#1 } } } + { + \protect \@namedef { the#1 } { \@nameuse { the#1 } } + \CTEX@titlepslabel@set {#1} + } + \ctex_patch_cmd:Nnn \ttl@setsubmark + { \protect \@namedef { the#1 } { } } + { + \protect \@namedef { the#1 } { } + \CTEX@titlepslabel@clear {#1} + } + \ctex_patch_cmd:Nnn \ttl@setsubmark + { \protect \@namedef { the#2 } { \@nameuse { the#2 } } } + { + \protect \@namedef { the#2 } { \@nameuse { the#2 } } + \CTEX@titlepslabel@set {#2} + } + } +\group_end: +\cs_new:Npn \CTEX@titlepslabel@set #1 + { + \cs_if_free:cF { CTEXthe#1 } + { \protect \@namedef { CTEXthe#1 } { \@nameuse { CTEXthe#1 } } } + } +\cs_new:Npn \CTEX@titlepslabel@clear #1 + { + \cs_if_free:cF { CTEXthe#1 } + { \protect \@namedef { CTEXthe#1 } { } } + } +\ctex_at_end_package:nn { titlesec } + { \cs_if_free:NF \ttl@settopmark { \ctex_titleps_hook: } } +\ctex_at_end_package:nn { titleps } { \ctex_titleps_hook: } +\ctex_at_end_package:nn { titleps } + { + \cs_set_protected:Npn \ttl@setifthe #1 + { + \exp_args:Nco \cs_set:Npn { ifthe #1 } + { + \CTEXifname + { \protect \@firstoftwo } + { \protect \@secondoftwo } + } + } + \seq_map_function:NN \c__ctex_headings_seq \ttl@setifthe + } +\cs_new_protected:Npn \CTEX@toc@width@n #1 + { + \hbox_set:Nn \l__ctex_tmp_box {#1} + \dim_set:Nn \@tempdima + { + \dim_max:nn { \@tempdima } + { \box_wd:N \l__ctex_tmp_box + \f@size \p@ / 2 } + } + } +\group_begin: +\char_set_catcode_other:N \# +\use:n + { + \group_end: + \ctex_preto_cmd:NnnTF \numberline { \ExplSyntaxOff } + { \CTEX@toc@width@n {#1} } + { } + { \ctex_patch_failure:N \numberline } + \cs_new_protected:Npn \__ctex_patch_toc_width:n \c_parameter_token 1 + { + \@ifpackageloaded { \c_parameter_token 1 } + { } + { + \ctex_at_end_package:nn { \c_parameter_token 1 } + { + \ctex_preto_cmd:NnnTF \numberline + { \char_set_catcode_letter:n { 64 } } + { \CTEX@toc@width@n {#1} } + { } + { \ctex_patch_failure:N \numberline } + } + } + } + } +\__ctex_patch_toc_width:n { tocloft } +\__ctex_patch_toc_width:n { titletoc } +\ctex_patch_cmd:Nnn \ps@headings + { + \ifnum \c@secnumdepth > \m@ne \if@mainmatter + \@chapapp \ \thechapter . ~ \ % + \fi \fi + } + { \CTEXifname { \CTEXthechapter \quad } { } } +\if@twoside + \ctex_patch_cmd:Nnn \ps@headings + { \ifnum \c@secnumdepth > \z@ \thesection . ~ \ \fi } + { \CTEXifname { \CTEXthesection \quad } { } } +\fi: +\ctex_at_end_package:nn { fancyhdr } + { + \ctex_patch_cmd:Nnn \ps@fancy + { \ifnum \c@secnumdepth > \m@ne \@chapapp \ \thechapter . ~ \ \fi } + { \CTEXifname { \CTEXthechapter \quad } { } } + \ctex_patch_cmd:Nnn \ps@fancy + { \ifnum \c@secnumdepth > \z@ \thesection . ~ \ \fi } + { \CTEXifname { \CTEXthesection \quad } { } } + } +\cs_new_protected:Npn \CTEX@setcurrentlabel@n #1 + { + \protected@edef \@currentlabel + { + \cs_if_exist:cTF { CTEX@the#1 } + { \exp_args:cc { p@#1 } { CTEX@the#1 } } + { \exp_not:o { \@currentlabel } } + } + } +\cs_new_protected:Npn \ctex_varioref_hook: + { + \seq_map_inline:Nn \c__ctex_headings_seq + { \ctex_fix_varioref_label:n { ##1 } } + } +\cs_new_protected:Npn \ctex_fix_varioref_label:n #1 + { + \tl_if_empty:cT { p@#1 } + { \exp_args:Nnx \labelformat {#1} { \exp_not:c { CTEX@the#1 } } } + } +\cs_if_exist:NTF \labelformat + { \ctex_varioref_hook: } + { + \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter + \RenewDocumentCommand \refstepcounter { m } + { + \CTEX@save@refstepcounter {#1} + \CTEX@setcurrentlabel@n {#1} + } + \ctex_at_end_package:nn { varioref } { \ctex_varioref_hook: } + } +\ctex_scheme_input:o { \l__ctex_scheme_tl } +%% +%% +%% End of file `ctex-heading-book.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-report.def b/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-report.def new file mode 100644 index 00000000000..751de60273c --- /dev/null +++ b/Master/texmf-dist/tex/latex/ctex/heading/ctex-heading-report.def @@ -0,0 +1,822 @@ +%% +%% This is file `ctex-heading-report.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% ctex.dtx (with options: `heading,report') +%% +%% Copyright (C) 2003--2020 +%% CTEX.ORG and any individual authors listed in the documentation. +%% --------------------------------------------------------------------- +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of +%% LaTeX version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% --------------------------------------------------------------------- +%% +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ + {Heading modification for report (CTEX)} +\ProvidesExplFile{ctex-report.def} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\seq_const_from_clist:Nn \c__ctex_section_headings_seq + { section , subsection , subsubsection , paragraph , subparagraph } +\seq_new:N \c__ctex_headings_seq +\seq_gset_eq:NN \c__ctex_headings_seq \c__ctex_section_headings_seq +\seq_gput_left:Nn \c__ctex_headings_seq { chapter } +\seq_gput_left:Nn \c__ctex_headings_seq { part } +\cs_new_protected:Npn \__ctex_initial_heading:n #1 + { + \tl_new:c { CTEX@pre#1 } + \tl_new:c { CTEX@post#1 } + \tl_const:cx { CTEXthe#1 } + { + \exp_not:c { CTEX@pre#1 } + \exp_not:c { CTEX@the#1 } + \exp_not:c { CTEX@post#1 } + } + \tl_const:cx { CTEX@#1name } + { + \group_begin: + \exp_not:c { CTEX@#1@nameformat } + { + \exp_not:c { CTEX@pre#1 } + \exp_not:N \tl_if_empty:NTF + \exp_not:c { CTEX@#1@numberformat } + { \exp_not:c { CTEX@the#1 } } + { + \group_begin: + \exp_not:c { CTEX@#1@numberformat } + \exp_not:c { CTEX@the#1 } + \group_end: + } + \exp_not:c { CTEX@post#1 } + } + \group_end: + } + } +\cs_new_protected:Npn \__ctex_def_heading_keys:n #1 + { + \tl_put_right:Nx \l__ctex_tmp_tl + { + #1 .meta:nn = { ctex / #1 } { ####1 } , + #1 / name .code:n = + { \ctex_assign_heading_name:nn {#1} { ####1 } } , + #1 / number .tl_set:N = \exp_not:c { CTEX@the#1 } , + #1 / beforeskip .tl_set:N = \exp_not:c { CTEX@#1@beforeskip } , + #1 / afterskip .tl_set:N = \exp_not:c { CTEX@#1@afterskip} , + #1 / indent .tl_set:N = \exp_not:c { CTEX@#1@indent } , + #1 / numbering .bool_set:N = \exp_not:c { CTEX@#1@numbering } , + #1 / numbering .initial:n = true , + #1 / beforeskip .initial:n = \c_zero_skip , + #1 / afterskip .initial:n = \c_zero_skip , + #1 / indent .initial:n = \c_zero_dim , + #1 / beforeskip .value_required:n = true , + #1 / afterskip .value_required:n = true , + #1 / indent .value_required:n = true , + #1 / afterindent .bool_set:N = \exp_not:c { CTEX@#1@afterindent } , + #1 / fixskip .bool_set:N = \exp_not:c { CTEX@#1@fixskip } , + #1 / hang .bool_set:N = \exp_not:c { CTEX@#1@hang } , + #1 / hang .initial:n = true , + #1 / runin .bool_set:N = \exp_not:c { CTEX@#1@runin } , + #1 / tocline .cs_set:Np = \exp_not:c { CTEX@#1@tocline} + \exp_not:n { ##1##2 } , + \__ctex_plus_key_aux:nn {#1} { break } , + \__ctex_plus_key_aux:nn {#1} { format } , + \__ctex_plus_key_aux:nn {#1} { nameformat } , + \__ctex_plus_key_aux:nn {#1} { numberformat } , + \__ctex_plus_key_aux:nn {#1} { titleformat } , + \__ctex_plus_key_aux:nn {#1} { aftername } , + \__ctex_plus_key_aux:nn {#1} { aftertitle } , + } + } +\cs_new:Npn \__ctex_plus_key_aux:nn #1#2 + { + #1 / #2 .tl_set:N = \exp_not:c { CTEX@#1@#2 } , + #1 / #2 + .code:n = + { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } , + #1 / #2 ~ + .code:n = + { \tl_put_right:Nn \exp_not:c { CTEX@#1@#2 } { ####1 } } + } +\NewDocumentCommand \ctex_assign_heading_name:nn + { m > { \SplitArgument { 1 } { , } } +m } + { \__ctex_assign_heading_name:nnn {#1} #2 } +\cs_new_protected:Npn \__ctex_assign_heading_name:nnn #1#2#3 + { + \tl_set:cn { CTEX@pre#1 } {#2} + \tl_if_novalue:nTF {#3} + { \tl_clear:c { CTEX@post#1 } } + { \tl_set:cn { CTEX@post#1 } {#3} } + } +\group_begin: +\tl_set:Nn \l__ctex_tmp_tl + { + part / pagestyle .tl_set:N = \CTEX@part@pagestyle , + chapter / pagestyle .tl_set:N = \CTEX@chapter@pagestyle , + chapter / lofskip .tl_set:N = \CTEX@chapter@lofskip , + chapter / lotskip .tl_set:N = \CTEX@chapter@lotskip , + chapter / lofskip .initial:n = \c_zero_skip , + chapter / lotskip .initial:n = \c_zero_skip , + chapter / lofskip .value_required:n = true , + chapter / lotskip .value_required:n = true , + } +\seq_map_inline:Nn \c__ctex_headings_seq + { + \__ctex_initial_heading:n {#1} + \__ctex_def_heading_keys:n {#1} + } +\exp_args:NNo \group_end: \ctex_define:n { \l__ctex_tmp_tl } +\cs_new_protected:Npn \CTEX@heading@format@initial + { + \normalfont + \tl_clear:N \l__ctex_autoindent_tl + \int_set:Nn \tex_interlinepenalty:D { 10 000 } + \tex_noindent:D + } +\cs_new_protected:Npn \ctex_indent_box:n #1 + { + \dim_set:Nn \tex_parindent:D {#1} + \__ctex_insert_indent: + } +\cs_new_protected:Npn \__ctex_insert_indent: + { + \dim_compare:nNnF \tex_parindent:D = \c_zero_dim + { \tex_indent:D } + } +\cs_new_eq:NN \CTEX@indentbox \ctex_indent_box:n +\cs_new_protected:Npn \CTEX@fixtopskip + { + \CTEX@fixheadingskip + \dim_compare:nNnF \tex_pagegoal:D < \c_max_dim + { \skip_sub:Nn \l__ctex_heading_skip { \tex_topskip:D } } + } +\cs_new_protected:Npn \CTEX@fixheadingskip + { + \par + \dim_set:Nn \tex_prevdepth:D { -1000pt } + \skip_sub:Nn \l__ctex_heading_skip { \tex_parskip:D } + } +\skip_new:N \l__ctex_heading_skip +\cs_new_protected:Npn \CTEX@setheadingskip + { \skip_set:Nn \l__ctex_heading_skip } +\cs_new_eq:NN \CTEX@headingskip \l__ctex_heading_skip +\ProvideDocumentCommand \partmark { m } + { \markboth { } { } } +\cs_new_eq:NN \CTEXifname \use_ii:nn +\cs_new_protected:Npn \CTEX@ifnametrue + { \cs_set_eq:NN \CTEXifname \use_i:nn } +\cs_new_protected:Npn \CTEX@ifnamefalse + { \cs_set_eq:NN \CTEXifname \use_ii:nn } +\cs_new_protected:Npn \CTEX@addloflotskip #1 + { + \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1@lofskip } } + \skip_if_eq:nnF { \l__ctex_heading_skip } { \c_zero_skip } + { + \addtocontents { lof } + { \protect \addvspace { \skip_use:N \l__ctex_heading_skip } } + } + \skip_set:Nn \l__ctex_heading_skip { \use:c { CTEX@#1@lotskip } } + \skip_if_eq:nnF { \l__ctex_heading_skip } { \c_zero_skip } + { + \addtocontents { lot } + { \protect \addvspace { \skip_use:N \l__ctex_heading_skip } } + } + } +\cs_new_protected:Npn \CTEX@addtocline #1#2 + { \addcontentsline { toc } {#1} { \use:c { CTEX@#1@tocline } {#1} {#2} } } +\renewcommand\part{% + \CTEX@part@break + \thispagestyle{\CTEX@part@pagestyle}% + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \CTEX@setheadingskip \CTEX@part@beforeskip + \ifodd \CTEX@part@fixskip \CTEX@fixtopskip \fi + \vspace*{\CTEX@headingskip}% + \secdef\@part\@spart} +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \ifodd \CTEX@part@numbering + \CTEX@ifnametrue + \refstepcounter{part}% + \else + \CTEX@ifnamefalse + \CTEX@makeanchor{part*}% + \fi + \else + \CTEX@ifnamefalse + \CTEX@makeanchor{part*}% + \fi + \CTEX@gettitle{#1}% + \CTEX@addtocline{part}{#1}% + \partmark{#1}% + \begingroup + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}% + {\CTEXifname{\CTEX@partname\CTEX@part@aftername}{}}% + \CTEX@part@titleformat{#2}% + \CTEX@part@aftertitle}\par + \endgroup + \@endpart} +\def\@spart#1{% + \CTEX@ifnamefalse + \CTEX@makeanchor@spart{part*}% + \CTEX@gettitle{#1}% + \begingroup + \CTEX@heading@format@initial + \CTEX@part@format{% + \CTEX@headinghang{part}{}% + \CTEX@part@titleformat{#1}% + \CTEX@part@aftertitle}\par + \endgroup + \@endpart} +\def\@endpart{% + \CTEX@setheadingskip \CTEX@part@afterskip + \ifodd \CTEX@part@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \newpage + \if@twoside + \if@openright + \null + \thispagestyle{empty}% + \newpage + \fi + \fi + \if@tempswa + \twocolumn + \fi} +\renewcommand\chapter{% + \CTEX@chapter@break + \thispagestyle{\CTEX@chapter@pagestyle}% + \global\@topnum\z@ + \ifodd \CTEX@chapter@afterindent + \@afterindenttrue + \else + \@afterindentfalse + \fi + \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{% + \ifnum \c@secnumdepth >\m@ne + \ifodd \CTEX@chapter@numbering + \CTEX@ifnametrue + \refstepcounter{chapter}% + \typeout{\CTEXthechapter}% + \else + \CTEX@ifnamefalse + \CTEX@makeanchor{\Hy@chapapp*}% + \fi + \else + \CTEX@ifnamefalse + \CTEX@makeanchor@chapter{\Hy@chapapp*}% + \fi + \CTEX@gettitle{#1}% + \CTEX@addtocline{chapter}{#1}% + \chaptermark{#1}% + \CTEX@addloflotskip{chapter}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +\def\@schapter#1{% + \CTEX@ifnamefalse + \CTEX@makeanchor@schapter{\Hy@chapapp*}% + \CTEX@gettitle{#1}% + \if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}% + \@afterheading + \fi} +\def\@makechapterhead#1{% + \CTEX@setheadingskip \CTEX@chapter@beforeskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi + \vspace*{\CTEX@headingskip}% + \begingroup + \CTEX@heading@format@initial + \CTEX@chapter@format{% + \CTEX@headinghang{chapter}% + {\CTEXifname{\CTEX@chaptername\CTEX@chapter@aftername}{}}% + \CTEX@chapter@titleformat{#1}% + \CTEX@chapter@aftertitle}\par + \endgroup + \nobreak + \CTEX@setheadingskip \CTEX@chapter@afterskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip} +\def\@makeschapterhead#1{% + \CTEX@setheadingskip \CTEX@chapter@beforeskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixtopskip \fi + \vspace*{\CTEX@headingskip}% + \begingroup + \CTEX@heading@format@initial + \CTEX@chapter@format{% + \CTEX@headinghang{chapter}{}% + \CTEX@chapter@titleformat{#1}% + \CTEX@chapter@aftertitle}\par + \endgroup + \nobreak + \CTEX@setheadingskip \CTEX@chapter@afterskip + \ifodd \CTEX@chapter@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip} +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec \leavevmode \fi + \par + \CTEX@update@sectionformat@n{#1}% + \ifodd \CTEX@afterindent + \@afterindenttrue + \else + \@afterindentfalse + \fi + \if@nobreak + \everypar{}% + \else + \csname CTEX@#1@break\endcsname + \CTEX@setheadingskip{#4}% + \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi + \addvspace \CTEX@headingskip + \fi + \@ifstar + {\CTEX@makeanchor@ssect{#1*}\@ssect{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} +\def\@seccntformat#1{% + \csname CTEX@#1name\endcsname + \csname CTEX@#1@aftername\endcsname} +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \CTEX@ifnamefalse + \CTEX@makeanchor@sect{#1*}% + \let\@svsec\@empty + \else + \ifodd \csname CTEX@#1@numbering\endcsname + \CTEX@ifnametrue + \refstepcounter{#1}% + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \else + \CTEX@ifnamefalse + \CTEX@makeanchor{#1*}% + \let\@svsec\@empty + \fi + \fi + \CTEX@gettitle{#7}% + \unless \ifodd \CTEX@runin + \begingroup + \CTEX@heading@format@initial + #6{% + \CTEX@sectionhang{#3}{\@svsec}% + \csname CTEX@#1@titleformat\endcsname{#8}% + \csname CTEX@#1@aftertitle\endcsname}\par + \endgroup + \csname #1mark\endcsname{#7}% + \CTEX@addtocline{#1}{#7}% + \else + \def\@svsechd{% + #6{% + {\CTEX@indentbox{#3}}\@svsec + \csname CTEX@#1@titleformat\endcsname{#8}% + \csname CTEX@#1@aftertitle\endcsname}% + \csname #1mark\endcsname{#7}% + \CTEX@addtocline{#1}{#7}}% + \fi + \@xsect{#5}} +\def\@ssect#1#2#3#4#5{% + \CTEX@ifnamefalse + \CTEX@gettitle{#5}% + \unless \ifodd \CTEX@runin + \begingroup + \CTEX@heading@format@initial + #4{% + \CTEX@sectionhang{#1}{}% + \CTEX@titleformat@n{#5}% + \CTEX@aftertitle}\par + \endgroup + \else + \def\@svsechd{#4{{\CTEX@indentbox{#1}}% + \CTEX@titleformat@n{#5}\CTEX@aftertitle}}% + \fi + \@xsect{#3}} +\def\@xsect#1{% + \unless \ifodd \CTEX@runin + \par \nobreak + \CTEX@setheadingskip{#1}% + \ifodd \CTEX@fixskip \CTEX@fixheadingskip \fi + \vskip \CTEX@headingskip + \@afterheading + \else + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\@M + \begingroup \@svsechd \endgroup + \unskip + \CTEX@heading@glue{#1}% + \else + \clubpenalty \@clubpenalty + \everypar{}% + \fi}% + \fi + \ignorespaces} +\cs_new_protected:Npn \CTEX@headinghang #1 + { + \ctex_heading_hang:cnn + { CTEX@#1@hang } + { \use:c { CTEX@#1@indent } } + } +\cs_new_protected:Npn \CTEX@sectionhang + { \ctex_heading_hang:Nnn \CTEX@hang } +\cs_new_protected:Npn \ctex_heading_hang:Nnn #1#2#3 + { + \dim_set:Nn \tex_parindent:D {#2} + \bool_if:NTF #1 + { \ctex_hang_from:n } + { \use:n } + { \__ctex_insert_indent: #3 } + } +\cs_new_protected:Npn \ctex_hang_from:n #1 + { + \tex_noindent:D + \hbox_set:Nn \l__ctex_tmp_box {#1} + \tex_hangindent:D = \box_wd:N \l__ctex_tmp_box + \box_use_drop:N \l__ctex_tmp_box + } +\cs_generate_variant:Nn \ctex_heading_hang:Nnn { c } +\cs_new_protected:Npn \ctex_heading_glue:n #1 + { + \group_begin: + \skip_set:Nn \l__ctex_heading_skip {#1} + \dim_compare:nNnF \l__ctex_heading_skip = \c_zero_dim + { \skip_horizontal:N \l__ctex_heading_skip } + \group_end: + } +\cs_new_eq:NN \CTEX@heading@glue \ctex_heading_glue:n +\cs_new_protected:Npn \CTEX@update@sectionformat@n #1 + { + \cs_set_eq:Nc \CTEX@titleformat@n { CTEX@#1@titleformat } + \cs_set_eq:Nc \CTEX@aftertitle { CTEX@#1@aftertitle } + \cs_set_eq:Nc \CTEX@afterindent { CTEX@#1@afterindent } + \cs_set_eq:Nc \CTEX@fixskip { CTEX@#1@fixskip } + \cs_set_eq:Nc \CTEX@hang { CTEX@#1@hang } + \cs_set_eq:Nc \CTEX@runin { CTEX@#1@runin } + } +\cs_new_eq:NN \CTEX@titleformat@n \use:n +\cs_new_eq:NN \CTEX@aftertitle \prg_do_nothing: +\cs_new_eq:NN \CTEX@afterindent \c_true_bool +\cs_new_eq:NN \CTEX@fixskip \c_false_bool +\cs_new_eq:NN \CTEX@hang \c_true_bool +\cs_new_eq:NN \CTEX@runin \c_false_bool +\cs_new:Npn \CTEX@part@tocline #1#2 + { + \CTEXifname + { \CTEXthepart \hspace { 1em } } + { } + #2 + } +\cs_new:Npn \CTEX@chapter@tocline #1#2 + { + \CTEXifname + { \protect \numberline { \CTEXthechapter \hspace { .3em } } } + { } + #2 + } +\cs_new:Npn \CTEXnumberline #1 + { + \CTEXifname + { \protect \numberline { \use:c { CTEXthe #1 } } } + { } + } +\int_zero:N \l__ctex_tmp_int +\seq_map_inline:Nn \c__ctex_section_headings_seq + { + \int_incr:N \l__ctex_tmp_int + \cs_gset_protected:cpx {#1} + { + \exp_not:N \@startsection {#1} + { \int_use:N \l__ctex_tmp_int } + { \exp_not:c { CTEX@#1@indent } } + { \exp_not:c { CTEX@#1@beforeskip } } + { \exp_not:c { CTEX@#1@afterskip } } + { \exp_not:N \normalfont \exp_not:c { CTEX@#1@format } } + } + \cs_new:cpn { CTEX@#1@tocline } ##1##2 + { \CTEXnumberline { ##1 } ##2 } + } +\ctex_define:n + { + appendix .meta:nn = { ctex / appendix } {#1} , + appendix / name .code:n = + { \ctex_assign_heading_name:nn { appendix } {#1} } , + appendix / number .tl_set:N = \CTEX@appendix@number , + appendix / numbering .bool_set:N = \CTEX@appendix@numbering , + appendix / numbering .initial:n = true + } +\tl_new:N \CTEX@preappendix +\tl_new:N \CTEX@postappendix +\cs_new_eq:NN \CTEX@save@appendix \appendix +\cs_gset_protected:Npn \appendix + { + \CTEX@save@appendix + \gdef \CTEX@prechapter { \CTEX@preappendix } + \gdef \CTEX@thechapter { \CTEX@appendix@number } + \gdef \CTEX@postchapter { \CTEX@postappendix } + \gdef \CTEX@chapter@numbering { \CTEX@appendix@numbering } + } +\cs_new_protected:Npn \CTEX@makeanchor #1 + { } +\seq_const_from_clist:Nn \c__ctex_headings_cs_seq + { part , spart , chapter , schapter , sect , ssect } +\seq_map_inline:Nn \c__ctex_headings_cs_seq + { + \cs_new_eq:cc { CTEX@ #1 } { @ #1 } + \cs_new_eq:cN { CTEX@makeanchor@ #1 } \CTEX@makeanchor + } +\cs_new_protected:Npn \CTEX@hyperheadinghook + { + \group_begin: + \ifHy@implicit + \cs_set_eq:NN \H@old@chapter \Hy@org@chapter + \seq_map_inline:Nn \c__ctex_headings_cs_seq + { + \cs_if_eq:ccT { H@old@ ##1 } { CTEX@ ##1 } + { + \cs_gset_eq:cc { @ ##1 } { CTEX@ ##1 } + \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor + } + } + \else: + \seq_map_inline:Nn \c__ctex_headings_cs_seq + { \cs_gset_eq:cN { CTEX@makeanchor@ ##1 } \CTEX@makeanchor } + \fi: + \group_end: + } +\ctex_at_end_package:nn { hyperref } + { + \cs_gset_protected:Npn \CTEX@makeanchor #1 + { + \Hy@MakeCurrentHrefAuto {#1} + \Hy@raisedlink + { + \hyper@anchorstart { \@currentHref } + \hyper@anchorend + } + } + \CTEX@hyperheadinghook + } +\cs_new_protected:Npn \CTEX@gettitle #1 + { } +\ctex_at_end_package:nn { nameref } + { + \cs_gset_protected:Npn \CTEX@gettitle { \NR@gettitle } + \seq_map_inline:Nn \c__ctex_headings_cs_seq + { + \cs_if_eq:ccT { NR@ #1 } { CTEX@ #1 } + { \cs_gset_eq:cc { @ #1 } { CTEX@ #1 } } + } + } +\cs_new_protected:Npn \ctex_titlesec_hook: + { + \@ifpackagewith { titlesec } { explicit } + { + \cs_set_eq:NN \__ctex_titlesec_format:Nn + \__ctex_titlesec_format_explicit:Nn + } + { } + \clist_map_inline:nn + { indentafter , noindentafter , indentfirst , nonindentfirst } + { + \@ifpackagewith { titlesec } { ##1 } + { + \clist_map_break:n + { \cs_set_eq:NN \__ctex_titlesec_hook:n \__ctex_titlesec_format:n } + } + { } + } + \seq_map_function:NN \c__ctex_section_headings_seq \__ctex_titlesec_hook:n + } +\cs_new_protected:Npn \__ctex_titlesec_hook:n #1 + { + \__ctex_titlesec_format:n {#1} + \exp_args:Nc \__ctex_titlesec_spacing:Nn { ttls@#1 } {#1} + } +\cs_new_protected:Npn \__ctex_titlesec_format:n #1 + { + \cs_if_free:cF { ttlf@#1 } + { \exp_args:Nc \__ctex_titlesec_format:Nn { ttlf@#1 } {#1} } + } +\cs_new_protected:Npn \__ctex_titlesec_format:Nn #1#2 + { + \tl_set:Nx #1 + { + \bool_if:cTF { CTEX@#2@runin } + { \exp_not:N \ttlh@runin } + { \exp_not:N \ttlh@hang } + \tl_tail:N #1 + } + } +\cs_new_protected:Npn \__ctex_titlesec_format_explicit:Nn #1#2 + { + \cs_set_nopar:Npx #1 ##1 + { + \bool_if:cTF { CTEX@#2@runin } + { \exp_not:N \ttlh@runin } + { \exp_not:N \ttlh@hang } + \exp_args:No \tl_tail:n { #1 { } } + } + } +\cs_new_protected:Npn \__ctex_titlesec_spacing:Nn #1#2 + { \tl_set:Nx #1 { \exp_after:wN \__ctex_titlesec_spacing:nnnnnn #1 {#2} } } +\cs_new:Npn \__ctex_titlesec_spacing:nnnnnn #1#2#3#4#5#6 + { + \exp_not:n { {#1} {#2} {#3} {#4} } + { \bool_if:cTF { CTEX@#6@afterindent } { \@ne } { \z@ } } + } +\@ifpackageloaded { titlesec } + { } + { + \ctex_at_end_package:nn { titlesec } + { + \@ifpackagewith { titlesec } { loadonly } + { } + { \ctex_titlesec_hook: } + } + } +\ctex_at_end_package:nn { titlesec } + { + \tl_set:Nn \ttl@chapterout { \typeout { \CTEXthechapter } } + \cs_if_free:NF \ttl@tocpart + { + \cs_set_protected:Npn \ttl@tocpart + { \tl_set:Nn \ttl@a { \CTEXthepart \hspace { 1em } } } + } + \seq_map_inline:Nn \c__ctex_headings_seq + { + \cs_if_exist:cF { ttl@toc #1 } + { + \cs_new_protected:cpx { ttl@toc #1 } + { + \tl_set:Nn \exp_not:N \ttl@a + { + \exp_not:N \protect + \exp_not:N \numberline { \exp_not:c { CTEXthe #1 } } + } + } + } + } + } +\group_begin: +\char_set_catcode_other:N \# +\cs_new_protected:Npn \ctex_titleps_hook: + { + \ctex_patch_cmd:Nnn \ttl@settopmark + { \protect \@namedef { the#1 } { \@nameuse { the#1 } } } + { + \protect \@namedef { the#1 } { \@nameuse { the#1 } } + \CTEX@titlepslabel@set {#1} + } + \ctex_patch_cmd:Nnn \ttl@setsubmark + { \protect \@namedef { the#1 } { } } + { + \protect \@namedef { the#1 } { } + \CTEX@titlepslabel@clear {#1} + } + \ctex_patch_cmd:Nnn \ttl@setsubmark + { \protect \@namedef { the#2 } { \@nameuse { the#2 } } } + { + \protect \@namedef { the#2 } { \@nameuse { the#2 } } + \CTEX@titlepslabel@set {#2} + } + } +\group_end: +\cs_new:Npn \CTEX@titlepslabel@set #1 + { + \cs_if_free:cF { CTEXthe#1 } + { \protect \@namedef { CTEXthe#1 } { \@nameuse { CTEXthe#1 } } } + } +\cs_new:Npn \CTEX@titlepslabel@clear #1 + { + \cs_if_free:cF { CTEXthe#1 } + { \protect \@namedef { CTEXthe#1 } { } } + } +\ctex_at_end_package:nn { titlesec } + { \cs_if_free:NF \ttl@settopmark { \ctex_titleps_hook: } } +\ctex_at_end_package:nn { titleps } { \ctex_titleps_hook: } +\ctex_at_end_package:nn { titleps } + { + \cs_set_protected:Npn \ttl@setifthe #1 + { + \exp_args:Nco \cs_set:Npn { ifthe #1 } + { + \CTEXifname + { \protect \@firstoftwo } + { \protect \@secondoftwo } + } + } + \seq_map_function:NN \c__ctex_headings_seq \ttl@setifthe + } +\cs_new_protected:Npn \CTEX@toc@width@n #1 + { + \hbox_set:Nn \l__ctex_tmp_box {#1} + \dim_set:Nn \@tempdima + { + \dim_max:nn { \@tempdima } + { \box_wd:N \l__ctex_tmp_box + \f@size \p@ / 2 } + } + } +\group_begin: +\char_set_catcode_other:N \# +\use:n + { + \group_end: + \ctex_preto_cmd:NnnTF \numberline { \ExplSyntaxOff } + { \CTEX@toc@width@n {#1} } + { } + { \ctex_patch_failure:N \numberline } + \cs_new_protected:Npn \__ctex_patch_toc_width:n \c_parameter_token 1 + { + \@ifpackageloaded { \c_parameter_token 1 } + { } + { + \ctex_at_end_package:nn { \c_parameter_token 1 } + { + \ctex_preto_cmd:NnnTF \numberline + { \char_set_catcode_letter:n { 64 } } + { \CTEX@toc@width@n {#1} } + { } + { \ctex_patch_failure:N \numberline } + } + } + } + } +\__ctex_patch_toc_width:n { tocloft } +\__ctex_patch_toc_width:n { titletoc } +\ctex_patch_cmd:Nnn \ps@headings + { + \ifnum \c@secnumdepth > \m@ne + \@chapapp \ \thechapter . ~ \ % + \fi + } + { \CTEXifname { \CTEXthechapter \quad } { } } +\if@twoside + \ctex_patch_cmd:Nnn \ps@headings + { \ifnum \c@secnumdepth > \z@ \thesection . ~ \ \fi } + { \CTEXifname { \CTEXthesection \quad } { } } +\fi: +\ctex_at_end_package:nn { fancyhdr } + { + \ctex_patch_cmd:Nnn \ps@fancy + { \ifnum \c@secnumdepth > \m@ne \@chapapp \ \thechapter . ~ \ \fi } + { \CTEXifname { \CTEXthechapter \quad } { } } + \ctex_patch_cmd:Nnn \ps@fancy + { \ifnum \c@secnumdepth > \z@ \thesection . ~ \ \fi } + { \CTEXifname { \CTEXthesection \quad } { } } + } +\cs_new_protected:Npn \CTEX@setcurrentlabel@n #1 + { + \protected@edef \@currentlabel + { + \cs_if_exist:cTF { CTEX@the#1 } + { \exp_args:cc { p@#1 } { CTEX@the#1 } } + { \exp_not:o { \@currentlabel } } + } + } +\cs_new_protected:Npn \ctex_varioref_hook: + { + \seq_map_inline:Nn \c__ctex_headings_seq + { \ctex_fix_varioref_label:n { ##1 } } + } +\cs_new_protected:Npn \ctex_fix_varioref_label:n #1 + { + \tl_if_empty:cT { p@#1 } + { \exp_args:Nnx \labelformat {#1} { \exp_not:c { CTEX@the#1 } } } + } +\cs_if_exist:NTF \labelformat + { \ctex_varioref_hook: } + { + \cs_new_eq:NN \CTEX@save@refstepcounter \refstepcounter + \RenewDocumentCommand \refstepcounter { m } + { + \CTEX@save@refstepcounter {#1} + \CTEX@setcurrentlabel@n {#1} + } + \ctex_at_end_package:nn { varioref } { \ctex_varioref_hook: } + } +\ctex_scheme_input:o { \l__ctex_scheme_tl } +%% +%% +%% End of file `ctex-heading-report.def'. diff --git a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-article.def b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-article.def index 209f8079d4b..144c3d6f476 100644 --- a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-article.def +++ b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-article.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `scheme,article,chinese') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,17 +20,15 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Chinese scheme for article (CTEX)} \ProvidesExplFile{ctex-scheme-chinese-article.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\keys_set:nn { ctex / part } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_set:nn { part } { aftertitle = \par , hang = false , @@ -41,7 +39,7 @@ aftername = \quad , afterindent = true } -\keys_set:nn { ctex / section } +\ctex_set:nn { section } { number = \thesection , aftername = \quad , @@ -53,7 +51,7 @@ format = \Large \bfseries \centering , afterindent = true } -\keys_set:nn { ctex / subsection } +\ctex_set:nn { subsection } { number = \thesubsection , format = \large \bfseries , @@ -65,7 +63,7 @@ break = \addpenalty \@secpenalty , afterindent = true } -\keys_set:nn { ctex / subsubsection } +\ctex_set:nn { subsubsection } { number = \thesubsubsection , format = \normalsize \bfseries , @@ -77,7 +75,7 @@ break = \addpenalty \@secpenalty , afterindent = true } -\keys_set:nn { ctex / paragraph } +\ctex_set:nn { paragraph } { number = \theparagraph , format = \normalsize \bfseries , @@ -86,7 +84,7 @@ break = \addpenalty \@secpenalty , afterindent = true } -\keys_set:nn { ctex / subparagraph } +\ctex_set:nn { subparagraph } { number = \thesubparagraph , format = \normalsize \bfseries , @@ -97,7 +95,7 @@ } \int_compare:nNnTF \g__ctex_section_depth_int > 2 { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { aftertitle = \@@par , afterskip = 1ex \@plus .2ex , @@ -105,7 +103,7 @@ } } { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { afterskip = 1em , runin = true @@ -113,7 +111,7 @@ } \int_compare:nNnTF \g__ctex_section_depth_int > 3 { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { aftertitle = \@@par , afterskip = 1ex \@plus .2ex , @@ -121,27 +119,27 @@ } } { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { afterskip = 1em , runin = true } } \int_compare:nNnTF \g__ctex_section_depth_int > 2 - { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } } - { \keys_set:nn { ctex / subparagraph } { indent = \parindent } } -\keys_set:nn { ctex / appendix } + { \ctex_set:nn { subparagraph } { indent = \c_zero_dim } } + { \ctex_set:nn { subparagraph } { indent = \parindent } } +\ctex_set:nn { appendix } { number = \@Alph \c@section } \pagestyle { headings } -\keys_set:nn { ctex } { today = small } +\ctex_set:n { today = small } \ctex_if_autoindent_touched:F - { \keys_set:nn { ctex } { autoindent = true } } -\str_if_eq:onTF { \l__ctex_encoding_tl } { GBK } + { \ctex_set:n { autoindent = true } } +\str_if_eq:onTF { \g__ctex_encoding_tl } { GBK } { \ctex_file_input:n { ctex-name-gbk.cfg } } { \ctex_file_input:n { ctex-name-utf8.cfg } } \int_compare:nNnF \g__ctex_font_size_int > { -1 } { \int_gset:Nn \g__ctex_font_size_int { 0 } } -\fp_compare:nNnT { \l__ctex_line_spread_fp } ? { \c_zero_fp } +\fp_if_nan:nT { \l__ctex_line_spread_fp } { \fp_set:Nn \l__ctex_line_spread_fp { 1.3 } } \ctex_patch_cmd:Nnn \verse { -1.5em } { -2 \ccwd } \ctex_patch_cmd:Nnn \verse { 1.5em } { 2 \ccwd } diff --git a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-beamer.def b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-beamer.def index 9a0b8cdbe16..c290f86a614 100644 --- a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-beamer.def +++ b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-beamer.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `scheme,beamer,chinese') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,17 +20,15 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Chinese scheme for beamer (CTEX)} \ProvidesExplFile{ctex-scheme-chinese-beamer.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\keys_set:nn { ctex / part } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_set:nn { part } { aftertitle = \par , number = \chinese { part } , @@ -40,7 +38,7 @@ aftername = \vskip 1em \par , titleformat = \usebeamerfont { part ~ title } } -\keys_set:nn { ctex / section } +\ctex_set:nn { section } { format = \centering , number = \insertsectionnumber , @@ -50,7 +48,7 @@ titleformat = \usebeamerfont { section ~ title } , aftertitle = \par } -\keys_set:nn { ctex / subsection } +\ctex_set:nn { subsection } { number = \arabic { section } . \arabic { subsection } , format = \centering , @@ -60,10 +58,10 @@ titleformat = \usebeamerfont { subsection ~ title } , aftertitle = \par } -\keys_set:nn { ctex } { today = small } +\ctex_set:n { today = small } \ctex_if_autoindent_touched:F - { \keys_set:nn { ctex } { autoindent = true } } -\str_if_eq:onTF { \l__ctex_encoding_tl } { GBK } + { \ctex_set:n { autoindent = true } } +\str_if_eq:onTF { \g__ctex_encoding_tl } { GBK } { \uselanguage { ChineseGBK } \languagealias { chinese } { ChineseGBK } diff --git a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-book.def b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-book.def index 22b0d7cc354..c35e5602359 100644 --- a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-book.def +++ b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-book.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `scheme,book,chinese') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,17 +20,15 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Chinese scheme for book (CTEX)} \ProvidesExplFile{ctex-scheme-chinese-book.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\keys_set:nn { ctex / part } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_set:nn { part } { aftertitle = \par , hang = false , @@ -42,7 +40,7 @@ break = \if@openright \cleardoublepage \else \clearpage \fi , format = \huge \bfseries \centering } -\keys_set:nn { ctex / chapter } +\ctex_set:nn { chapter } { pagestyle = plain , aftertitle = \par , @@ -57,7 +55,7 @@ aftername = \quad , afterindent = true } -\keys_set:nn { ctex / section } +\ctex_set:nn { section } { number = \thesection , aftername = \quad , @@ -69,7 +67,7 @@ format = \Large \bfseries \centering , afterindent = true } -\keys_set:nn { ctex / subsection } +\ctex_set:nn { subsection } { number = \thesubsection , format = \large \bfseries , @@ -81,7 +79,7 @@ break = \addpenalty \@secpenalty , afterindent = true } -\keys_set:nn { ctex / subsubsection } +\ctex_set:nn { subsubsection } { number = \thesubsubsection , format = \normalsize \bfseries , @@ -93,7 +91,7 @@ break = \addpenalty \@secpenalty , afterindent = true } -\keys_set:nn { ctex / paragraph } +\ctex_set:nn { paragraph } { number = \theparagraph , format = \normalsize \bfseries , @@ -102,7 +100,7 @@ break = \addpenalty \@secpenalty , afterindent = true } -\keys_set:nn { ctex / subparagraph } +\ctex_set:nn { subparagraph } { number = \thesubparagraph , format = \normalsize \bfseries , @@ -113,7 +111,7 @@ } \int_compare:nNnTF \g__ctex_section_depth_int > 2 { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { aftertitle = \@@par , afterskip = 1ex \@plus .2ex , @@ -121,7 +119,7 @@ } } { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { afterskip = 1em , runin = true @@ -129,7 +127,7 @@ } \int_compare:nNnTF \g__ctex_section_depth_int > 3 { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { aftertitle = \@@par , afterskip = 1ex \@plus .2ex , @@ -137,30 +135,30 @@ } } { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { afterskip = 1em , runin = true } } \int_compare:nNnTF \g__ctex_section_depth_int > 2 - { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } } - { \keys_set:nn { ctex / subparagraph } { indent = \parindent } } -\keys_set:nn { ctex / appendix } + { \ctex_set:nn { subparagraph } { indent = \c_zero_dim } } + { \ctex_set:nn { subparagraph } { indent = \parindent } } +\ctex_set:nn { appendix } { name = \appendixname \space , number = \@Alph \c@chapter } \pagestyle { headings } -\keys_set:nn { ctex } { today = small } +\ctex_set:n { today = small } \ctex_if_autoindent_touched:F - { \keys_set:nn { ctex } { autoindent = true } } -\str_if_eq:onTF { \l__ctex_encoding_tl } { GBK } + { \ctex_set:n { autoindent = true } } +\str_if_eq:onTF { \g__ctex_encoding_tl } { GBK } { \ctex_file_input:n { ctex-name-gbk.cfg } } { \ctex_file_input:n { ctex-name-utf8.cfg } } \int_compare:nNnF \g__ctex_font_size_int > { -1 } { \int_gset:Nn \g__ctex_font_size_int { 0 } } -\fp_compare:nNnT { \l__ctex_line_spread_fp } ? { \c_zero_fp } +\fp_if_nan:nT { \l__ctex_line_spread_fp } { \fp_set:Nn \l__ctex_line_spread_fp { 1.3 } } \ctex_patch_cmd:Nnn \verse { -1.5em } { -2 \ccwd } \ctex_patch_cmd:Nnn \verse { 1.5em } { 2 \ccwd } diff --git a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-report.def b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-report.def index 8fa5249d020..59e4dcc76ae 100644 --- a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-report.def +++ b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese-report.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `scheme,report,chinese') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,17 +20,15 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Chinese scheme for report (CTEX)} \ProvidesExplFile{ctex-scheme-chinese-report.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\keys_set:nn { ctex / part } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_set:nn { part } { aftertitle = \par , hang = false , @@ -42,7 +40,7 @@ break = \if@openright \cleardoublepage \else \clearpage \fi , format = \huge \bfseries \centering } -\keys_set:nn { ctex / chapter } +\ctex_set:nn { chapter } { pagestyle = plain , aftertitle = \par , @@ -57,7 +55,7 @@ aftername = \quad , afterindent = true } -\keys_set:nn { ctex / section } +\ctex_set:nn { section } { number = \thesection , aftername = \quad , @@ -69,7 +67,7 @@ format = \Large \bfseries \centering , afterindent = true } -\keys_set:nn { ctex / subsection } +\ctex_set:nn { subsection } { number = \thesubsection , format = \large \bfseries , @@ -81,7 +79,7 @@ break = \addpenalty \@secpenalty , afterindent = true } -\keys_set:nn { ctex / subsubsection } +\ctex_set:nn { subsubsection } { number = \thesubsubsection , format = \normalsize \bfseries , @@ -93,7 +91,7 @@ break = \addpenalty \@secpenalty , afterindent = true } -\keys_set:nn { ctex / paragraph } +\ctex_set:nn { paragraph } { number = \theparagraph , format = \normalsize \bfseries , @@ -102,7 +100,7 @@ break = \addpenalty \@secpenalty , afterindent = true } -\keys_set:nn { ctex / subparagraph } +\ctex_set:nn { subparagraph } { number = \thesubparagraph , format = \normalsize \bfseries , @@ -113,7 +111,7 @@ } \int_compare:nNnTF \g__ctex_section_depth_int > 2 { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { aftertitle = \@@par , afterskip = 1ex \@plus .2ex , @@ -121,7 +119,7 @@ } } { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { afterskip = 1em , runin = true @@ -129,7 +127,7 @@ } \int_compare:nNnTF \g__ctex_section_depth_int > 3 { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { aftertitle = \@@par , afterskip = 1ex \@plus .2ex , @@ -137,30 +135,30 @@ } } { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { afterskip = 1em , runin = true } } \int_compare:nNnTF \g__ctex_section_depth_int > 2 - { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } } - { \keys_set:nn { ctex / subparagraph } { indent = \parindent } } -\keys_set:nn { ctex / appendix } + { \ctex_set:nn { subparagraph } { indent = \c_zero_dim } } + { \ctex_set:nn { subparagraph } { indent = \parindent } } +\ctex_set:nn { appendix } { name = \appendixname \space , number = \@Alph \c@chapter } \pagestyle { headings } -\keys_set:nn { ctex } { today = small } +\ctex_set:n { today = small } \ctex_if_autoindent_touched:F - { \keys_set:nn { ctex } { autoindent = true } } -\str_if_eq:onTF { \l__ctex_encoding_tl } { GBK } + { \ctex_set:n { autoindent = true } } +\str_if_eq:onTF { \g__ctex_encoding_tl } { GBK } { \ctex_file_input:n { ctex-name-gbk.cfg } } { \ctex_file_input:n { ctex-name-utf8.cfg } } \int_compare:nNnF \g__ctex_font_size_int > { -1 } { \int_gset:Nn \g__ctex_font_size_int { 0 } } -\fp_compare:nNnT { \l__ctex_line_spread_fp } ? { \c_zero_fp } +\fp_if_nan:nT { \l__ctex_line_spread_fp } { \fp_set:Nn \l__ctex_line_spread_fp { 1.3 } } \ctex_patch_cmd:Nnn \verse { -1.5em } { -2 \ccwd } \ctex_patch_cmd:Nnn \verse { 1.5em } { 2 \ccwd } diff --git a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese.def b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese.def index 8bf9e5551f6..bcdabc1787c 100644 --- a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese.def +++ b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-chinese.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `scheme,generic,chinese') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,23 +20,21 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Chinese scheme for generic (CTEX)} \ProvidesExplFile{ctex-scheme-chinese.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\keys_set:nn { ctex } { today = small } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_set:n { today = small } \ctex_if_autoindent_touched:F - { \keys_set:nn { ctex } { autoindent = true } } + { \ctex_set:n { autoindent = true } } \tl_set:Nn \l__ctex_tmp_tl { beamer } \tl_if_eq:NNTF \c__ctex_std_class_tl \l__ctex_tmp_tl { - \str_if_eq:onTF { \l__ctex_encoding_tl } { GBK } + \str_if_eq:onTF { \g__ctex_encoding_tl } { GBK } { \uselanguage { ChineseGBK } \languagealias { chinese } { ChineseGBK } @@ -50,12 +48,12 @@ \clist_put_left:Nn \trans@languagepath { chinese } } { - \str_if_eq:onTF { \l__ctex_encoding_tl } { GBK } + \str_if_eq:onTF { \g__ctex_encoding_tl } { GBK } { \ctex_file_input:n { ctex-name-gbk.cfg } } { \ctex_file_input:n { ctex-name-utf8.cfg } } \int_compare:nNnF \g__ctex_font_size_int > { -1 } { \int_gset:Nn \g__ctex_font_size_int { 0 } } - \fp_compare:nNnT { \l__ctex_line_spread_fp } ? { \c_zero_fp } + \fp_if_nan:nT { \l__ctex_line_spread_fp } { \fp_set:Nn \l__ctex_line_spread_fp { 1.3 } } \tl_if_exist:NT \c__ctex_std_class_tl { \RequirePackage { indentfirst } } diff --git a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-article.def b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-article.def index 7d24f3b7fe9..803fd2a5fee 100644 --- a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-article.def +++ b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-article.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `scheme,article,plain') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,17 +20,15 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Plain scheme for article (CTEX)} \ProvidesExplFile{ctex-scheme-plain-article.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\keys_set:nn { ctex / part } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_set:nn { part } { aftertitle = \par , hang = false , @@ -44,7 +42,7 @@ titleformat = \huge \bfseries , afterindent = false } -\keys_set:nn { ctex / section } +\ctex_set:nn { section } { number = \thesection , aftername = \quad , @@ -56,7 +54,7 @@ format = \Large \bfseries , afterindent = false } -\keys_set:nn { ctex / subsection } +\ctex_set:nn { subsection } { number = \thesubsection , format = \large \bfseries , @@ -68,7 +66,7 @@ break = \addpenalty \@secpenalty , afterindent = false } -\keys_set:nn { ctex / subsubsection } +\ctex_set:nn { subsubsection } { number = \thesubsubsection , format = \normalsize \bfseries , @@ -80,7 +78,7 @@ break = \addpenalty \@secpenalty , afterindent = false } -\keys_set:nn { ctex / paragraph } +\ctex_set:nn { paragraph } { number = \theparagraph , format = \normalsize \bfseries , @@ -89,7 +87,7 @@ break = \addpenalty \@secpenalty , afterindent = false } -\keys_set:nn { ctex / subparagraph } +\ctex_set:nn { subparagraph } { number = \thesubparagraph , format = \normalsize \bfseries , @@ -100,7 +98,7 @@ } \int_compare:nNnTF \g__ctex_section_depth_int > 2 { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { aftertitle = \@@par , afterskip = 1ex \@plus .2ex , @@ -108,7 +106,7 @@ } } { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { afterskip = 1em , runin = true @@ -116,7 +114,7 @@ } \int_compare:nNnTF \g__ctex_section_depth_int > 3 { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { aftertitle = \@@par , afterskip = 1ex \@plus .2ex , @@ -124,16 +122,16 @@ } } { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { afterskip = 1em , runin = true } } \int_compare:nNnTF \g__ctex_section_depth_int > 2 - { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } } - { \keys_set:nn { ctex / subparagraph } { indent = \parindent } } -\keys_set:nn { ctex / appendix } + { \ctex_set:nn { subparagraph } { indent = \c_zero_dim } } + { \ctex_set:nn { subparagraph } { indent = \parindent } } +\ctex_set:nn { appendix } { number = \@Alph \c@section } %% %% diff --git a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-beamer.def b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-beamer.def index 92f67b60812..c103ca8b61c 100644 --- a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-beamer.def +++ b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-beamer.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `scheme,beamer,plain') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,17 +20,15 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Plain scheme for beamer (CTEX)} \ProvidesExplFile{ctex-scheme-plain-beamer.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\keys_set:nn { ctex / part } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_set:nn { part } { aftertitle = \par , name = \partname \space , @@ -41,7 +39,7 @@ aftername = \vskip 1em \par , titleformat = \usebeamerfont { part ~ title } } -\keys_set:nn { ctex / section } +\ctex_set:nn { section } { name = \sectionname \space , format = \centering , @@ -52,7 +50,7 @@ titleformat = \usebeamerfont { section ~ title } , aftertitle = \par } -\keys_set:nn { ctex / subsection } +\ctex_set:nn { subsection } { name = \subsectionname \space , number = \insertsubsectionnumber , diff --git a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-book.def b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-book.def index 25ad8806276..7c0f0f6bd89 100644 --- a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-book.def +++ b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-book.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `scheme,book,plain') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,17 +20,15 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Plain scheme for book (CTEX)} \ProvidesExplFile{ctex-scheme-plain-book.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\keys_set:nn { ctex / part } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_set:nn { part } { aftertitle = \par , hang = false , @@ -45,7 +43,7 @@ nameformat = \huge \bfseries , titleformat = \Huge \bfseries } -\keys_set:nn { ctex / chapter } +\ctex_set:nn { chapter } { pagestyle = plain , aftertitle = \par , @@ -64,7 +62,7 @@ afterindent = false , tocline = \CTEXnumberline {#1} #2 } -\keys_set:nn { ctex / section } +\ctex_set:nn { section } { number = \thesection , aftername = \quad , @@ -76,7 +74,7 @@ format = \Large \bfseries , afterindent = false } -\keys_set:nn { ctex / subsection } +\ctex_set:nn { subsection } { number = \thesubsection , format = \large \bfseries , @@ -88,7 +86,7 @@ break = \addpenalty \@secpenalty , afterindent = false } -\keys_set:nn { ctex / subsubsection } +\ctex_set:nn { subsubsection } { number = \thesubsubsection , format = \normalsize \bfseries , @@ -100,7 +98,7 @@ break = \addpenalty \@secpenalty , afterindent = false } -\keys_set:nn { ctex / paragraph } +\ctex_set:nn { paragraph } { number = \theparagraph , format = \normalsize \bfseries , @@ -109,7 +107,7 @@ break = \addpenalty \@secpenalty , afterindent = false } -\keys_set:nn { ctex / subparagraph } +\ctex_set:nn { subparagraph } { number = \thesubparagraph , format = \normalsize \bfseries , @@ -120,7 +118,7 @@ } \int_compare:nNnTF \g__ctex_section_depth_int > 2 { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { aftertitle = \@@par , afterskip = 1ex \@plus .2ex , @@ -128,7 +126,7 @@ } } { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { afterskip = 1em , runin = true @@ -136,7 +134,7 @@ } \int_compare:nNnTF \g__ctex_section_depth_int > 3 { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { aftertitle = \@@par , afterskip = 1ex \@plus .2ex , @@ -144,16 +142,16 @@ } } { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { afterskip = 1em , runin = true } } \int_compare:nNnTF \g__ctex_section_depth_int > 2 - { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } } - { \keys_set:nn { ctex / subparagraph } { indent = \parindent } } -\keys_set:nn { ctex / appendix } + { \ctex_set:nn { subparagraph } { indent = \c_zero_dim } } + { \ctex_set:nn { subparagraph } { indent = \parindent } } +\ctex_set:nn { appendix } { name = \appendixname \space , number = \@Alph \c@chapter diff --git a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-report.def b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-report.def index 347d75b590e..e353a1281b8 100644 --- a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-report.def +++ b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain-report.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `scheme,report,plain') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,17 +20,15 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Plain scheme for report (CTEX)} \ProvidesExplFile{ctex-scheme-plain-report.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} -\keys_set:nn { ctex / part } + {\ExplFileDate}{2.5.1}{\ExplFileDescription} +\ctex_set:nn { part } { aftertitle = \par , hang = false , @@ -45,7 +43,7 @@ nameformat = \huge \bfseries , titleformat = \Huge \bfseries } -\keys_set:nn { ctex / chapter } +\ctex_set:nn { chapter } { pagestyle = plain , aftertitle = \par , @@ -64,7 +62,7 @@ afterindent = false , tocline = \CTEXnumberline {#1} #2 } -\keys_set:nn { ctex / section } +\ctex_set:nn { section } { number = \thesection , aftername = \quad , @@ -76,7 +74,7 @@ format = \Large \bfseries , afterindent = false } -\keys_set:nn { ctex / subsection } +\ctex_set:nn { subsection } { number = \thesubsection , format = \large \bfseries , @@ -88,7 +86,7 @@ break = \addpenalty \@secpenalty , afterindent = false } -\keys_set:nn { ctex / subsubsection } +\ctex_set:nn { subsubsection } { number = \thesubsubsection , format = \normalsize \bfseries , @@ -100,7 +98,7 @@ break = \addpenalty \@secpenalty , afterindent = false } -\keys_set:nn { ctex / paragraph } +\ctex_set:nn { paragraph } { number = \theparagraph , format = \normalsize \bfseries , @@ -109,7 +107,7 @@ break = \addpenalty \@secpenalty , afterindent = false } -\keys_set:nn { ctex / subparagraph } +\ctex_set:nn { subparagraph } { number = \thesubparagraph , format = \normalsize \bfseries , @@ -120,7 +118,7 @@ } \int_compare:nNnTF \g__ctex_section_depth_int > 2 { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { aftertitle = \@@par , afterskip = 1ex \@plus .2ex , @@ -128,7 +126,7 @@ } } { - \keys_set:nn { ctex / paragraph } + \ctex_set:nn { paragraph } { afterskip = 1em , runin = true @@ -136,7 +134,7 @@ } \int_compare:nNnTF \g__ctex_section_depth_int > 3 { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { aftertitle = \@@par , afterskip = 1ex \@plus .2ex , @@ -144,16 +142,16 @@ } } { - \keys_set:nn { ctex / subparagraph } + \ctex_set:nn { subparagraph } { afterskip = 1em , runin = true } } \int_compare:nNnTF \g__ctex_section_depth_int > 2 - { \keys_set:nn { ctex / subparagraph } { indent = \c_zero_dim } } - { \keys_set:nn { ctex / subparagraph } { indent = \parindent } } -\keys_set:nn { ctex / appendix } + { \ctex_set:nn { subparagraph } { indent = \c_zero_dim } } + { \ctex_set:nn { subparagraph } { indent = \parindent } } +\ctex_set:nn { appendix } { name = \appendixname \space , number = \@Alph \c@chapter diff --git a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain.def b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain.def index f2ac6d86d0a..be3e922893f 100644 --- a/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain.def +++ b/Master/texmf-dist/tex/latex/ctex/scheme/ctex-scheme-plain.def @@ -6,9 +6,9 @@ %% %% ctex.dtx (with options: `scheme,generic,plain') %% -%% Copyright (C) 2003--2019 +%% Copyright (C) 2003--2020 %% CTEX.ORG and any individual authors listed in the documentation. -%% ------------------------------------------------------------------------------ +%% --------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,16 +20,14 @@ %% 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, Qing Lee and Liam Huang. +%% --------------------------------------------------------------------- %% -%% ------------------------------------------------------------------------------ -%% -\GetIdInfo$Id: ctex.dtx 735dfe2 2019-05-29 21:42:29 +0800 Qing Lee $ +\GetIdInfo$Id: ctex.dtx 320df30 2020-05-02 06:45:05 +0800 Qing Lee $ {Plain scheme for generic (CTEX)} \ProvidesExplFile{ctex-scheme-plain.def} - {\ExplFileDate}{2.4.16}{\ExplFileDescription} + {\ExplFileDate}{2.5.1}{\ExplFileDescription} %% %% %% End of file `ctex-scheme-plain.def'. diff --git a/Master/texmf-dist/tex/luatex/ctex/ctex-zhconv-index.lua b/Master/texmf-dist/tex/luatex/ctex/ctex-zhconv-index.lua new file mode 100644 index 00000000000..295a5588db7 --- /dev/null +++ b/Master/texmf-dist/tex/luatex/ctex/ctex-zhconv-index.lua @@ -0,0 +1,42778 @@ +-- +-- File ctex-zhconv-index.lua +-- +-- Copyright (C) 2020 by Qing Lee +-------------------------------------------------------------------------- +-- +-- This work may be distributed and/or modified under the +-- conditions of the LaTeX Project Public License, either +-- version 1.3c of this license or (at your option) any later +-- version. This version of this license is in +-- http://www.latex-project.org/lppl/lppl-1-3c.txt +-- and the latest version of this license is in +-- http://www.latex-project.org/lppl.txt +-- and version 1.3 or later is part of all distributions of +-- LaTeX version 2005/12/01 or later. +-- +-- This work has the LPPL maintenance status "maintained". +-- +-- The Current Maintainer of this work is Qing Lee. +-- +-- This work consists of the files ctex-zhconv.lua, ctex-zhconv-make.lua +-- and the derived file ctex-zhconv-index.lua. +-- +-------------------------------------------------------------------------- +-- +-- Do not edit this file! +-- Generated from the WHATWG Encoding Standard: +-- +-- https://encoding.spec.whatwg.org/index-big5.txt (Date: 2018-01-06) +-- https://encoding.spec.whatwg.org/index-gb18030.txt (Date: 2018-01-06) +-- https://encoding.spec.whatwg.org/index-gb18030-ranges.txt (Date: 2018-01-06) +-- +-- +return { + ["big5"] = { + [942] = 0x43F0 , + [943] = 0x4C32 , + [944] = 0x4603 , + [945] = 0x45A6 , + [946] = 0x4578 , + [947] = 0x27267 , + [948] = 0x4D77 , + [949] = 0x45B3 , + [950] = 0x27CB1 , + [951] = 0x4CE2 , + [952] = 0x27CC5 , + [953] = 0x3B95 , + [954] = 0x4736 , + [955] = 0x4744 , + [956] = 0x4C47 , + [957] = 0x4C40 , + [958] = 0x242BF , + [959] = 0x23617 , + [960] = 0x27352 , + [961] = 0x26E8B , + [962] = 0x270D2 , + [963] = 0x4C57 , + [964] = 0x2A351 , + [965] = 0x474F , + [966] = 0x45DA , + [967] = 0x4C85 , + [968] = 0x27C6C , + [969] = 0x4D07 , + [970] = 0x4AA4 , + [971] = 0x46A1 , + [972] = 0x26B23 , + [973] = 0x7225 , + [974] = 0x25A54 , + [975] = 0x21A63 , + [976] = 0x23E06 , + [977] = 0x23F61 , + [978] = 0x664D , + [979] = 0x56FB , + [981] = 0x7D95 , + [982] = 0x591D , + [983] = 0x28BB9 , + [984] = 0x3DF4 , + [985] = 0x9734 , + [986] = 0x27BEF , + [987] = 0x5BDB , + [988] = 0x21D5E , + [989] = 0x5AA4 , + [990] = 0x3625 , + [991] = 0x29EB0 , + [992] = 0x5AD1 , + [993] = 0x5BB7 , + [994] = 0x5CFC , + [995] = 0x676E , + [996] = 0x8593 , + [997] = 0x29945 , + [998] = 0x7461 , + [999] = 0x749D , + [1000] = 0x3875 , + [1001] = 0x21D53 , + [1002] = 0x2369E , + [1003] = 0x26021 , + [1004] = 0x3EEC , + [1005] = 0x258DE , + [1006] = 0x3AF5 , + [1007] = 0x7AFC , + [1008] = 0x9F97 , + [1009] = 0x24161 , + [1010] = 0x2890D , + [1011] = 0x231EA , + [1012] = 0x20A8A , + [1013] = 0x2325E , + [1014] = 0x430A , + [1015] = 0x8484 , + [1016] = 0x9F96 , + [1017] = 0x942F , + [1018] = 0x4930 , + [1019] = 0x8613 , + [1020] = 0x5896 , + [1021] = 0x974A , + [1022] = 0x9218 , + [1023] = 0x79D0 , + [1024] = 0x7A32 , + [1025] = 0x6660 , + [1026] = 0x6A29 , + [1027] = 0x889D , + [1028] = 0x744C , + [1029] = 0x7BC5 , + [1030] = 0x6782 , + [1031] = 0x7A2C , + [1032] = 0x524F , + [1033] = 0x9046 , + [1034] = 0x34E6 , + [1035] = 0x73C4 , + [1036] = 0x25DB9 , + [1037] = 0x74C6 , + [1038] = 0x9FC7 , + [1039] = 0x57B3 , + [1040] = 0x492F , + [1041] = 0x544C , + [1042] = 0x4131 , + [1043] = 0x2368E , + [1044] = 0x5818 , + [1045] = 0x7A72 , + [1046] = 0x27B65 , + [1047] = 0x8B8F , + [1048] = 0x46AE , + [1049] = 0x26E88 , + [1050] = 0x4181 , + [1051] = 0x25D99 , + [1052] = 0x7BAE , + [1053] = 0x224BC , + [1054] = 0x9FC8 , + [1055] = 0x224C1 , + [1056] = 0x224C9 , + [1057] = 0x224CC , + [1058] = 0x9FC9 , + [1059] = 0x8504 , + [1060] = 0x235BB , + [1061] = 0x40B4 , + [1062] = 0x9FCA , + [1063] = 0x44E1 , + [1064] = 0x2ADFF , + [1065] = 0x62C1 , + [1066] = 0x706E , + [1067] = 0x9FCB , + [1099] = 0x31C0 , + [1100] = 0x31C1 , + [1101] = 0x31C2 , + [1102] = 0x31C3 , + [1103] = 0x31C4 , + [1104] = 0x2010C , + [1105] = 0x31C5 , + [1106] = 0x200D1 , + [1107] = 0x200CD , + [1108] = 0x31C6 , + [1109] = 0x31C7 , + [1110] = 0x200CB , + [1111] = 0x21FE8 , + [1112] = 0x31C8 , + [1113] = 0x200CA , + [1114] = 0x31C9 , + [1115] = 0x31CA , + [1116] = 0x31CB , + [1117] = 0x31CC , + [1118] = 0x2010E , + [1119] = 0x31CD , + [1120] = 0x31CE , + [1121] = 0x0100 , + [1122] = 0x00C1 , + [1123] = 0x01CD , + [1124] = 0x00C0 , + [1125] = 0x0112 , + [1126] = 0x00C9 , + [1127] = 0x011A , + [1128] = 0x00C8 , + [1129] = 0x014C , + [1130] = 0x00D3 , + [1131] = 0x01D1 , + [1132] = 0x00D2 , + [1134] = 0x1EBE , + [1136] = 0x1EC0 , + [1137] = 0x00CA , + [1138] = 0x0101 , + [1139] = 0x00E1 , + [1140] = 0x01CE , + [1141] = 0x00E0 , + [1142] = 0x0251 , + [1143] = 0x0113 , + [1144] = 0x00E9 , + [1145] = 0x011B , + [1146] = 0x00E8 , + [1147] = 0x012B , + [1148] = 0x00ED , + [1149] = 0x01D0 , + [1150] = 0x00EC , + [1151] = 0x014D , + [1152] = 0x00F3 , + [1153] = 0x01D2 , + [1154] = 0x00F2 , + [1155] = 0x016B , + [1156] = 0x00FA , + [1157] = 0x01D4 , + [1158] = 0x00F9 , + [1159] = 0x01D6 , + [1160] = 0x01D8 , + [1161] = 0x01DA , + [1162] = 0x01DC , + [1163] = 0x00FC , + [1165] = 0x1EBF , + [1167] = 0x1EC1 , + [1168] = 0x00EA , + [1169] = 0x0261 , + [1170] = 0x23DA , + [1171] = 0x23DB , + [1256] = 0x2A3A9 , + [1257] = 0x21145 , + [1259] = 0x650A , + [1262] = 0x4E3D , + [1263] = 0x6EDD , + [1264] = 0x9D4E , + [1265] = 0x91DF , + [1268] = 0x27735 , + [1269] = 0x6491 , + [1270] = 0x4F1A , + [1271] = 0x4F28 , + [1272] = 0x4FA8 , + [1273] = 0x5156 , + [1274] = 0x5174 , + [1275] = 0x519C , + [1276] = 0x51E4 , + [1277] = 0x52A1 , + [1278] = 0x52A8 , + [1279] = 0x533B , + [1280] = 0x534E , + [1281] = 0x53D1 , + [1282] = 0x53D8 , + [1283] = 0x56E2 , + [1284] = 0x58F0 , + [1285] = 0x5904 , + [1286] = 0x5907 , + [1287] = 0x5932 , + [1288] = 0x5934 , + [1289] = 0x5B66 , + [1290] = 0x5B9E , + [1291] = 0x5B9F , + [1292] = 0x5C9A , + [1293] = 0x5E86 , + [1294] = 0x603B , + [1295] = 0x6589 , + [1296] = 0x67FE , + [1297] = 0x6804 , + [1298] = 0x6865 , + [1299] = 0x6D4E , + [1300] = 0x70BC , + [1301] = 0x7535 , + [1302] = 0x7EA4 , + [1303] = 0x7EAC , + [1304] = 0x7EBA , + [1305] = 0x7EC7 , + [1306] = 0x7ECF , + [1307] = 0x7EDF , + [1308] = 0x7F06 , + [1309] = 0x7F37 , + [1310] = 0x827A , + [1311] = 0x82CF , + [1312] = 0x836F , + [1313] = 0x89C6 , + [1314] = 0x8BBE , + [1315] = 0x8BE2 , + [1316] = 0x8F66 , + [1317] = 0x8F67 , + [1318] = 0x8F6E , + [1319] = 0x7411 , + [1320] = 0x7CFC , + [1321] = 0x7DCD , + [1322] = 0x6946 , + [1323] = 0x7AC9 , + [1324] = 0x5227 , + [1329] = 0x918C , + [1330] = 0x78B8 , + [1331] = 0x915E , + [1332] = 0x80BC , + [1334] = 0x8D0B , + [1335] = 0x80F6 , + [1336] = 0x209E7 , + [1339] = 0x809F , + [1340] = 0x9EC7 , + [1341] = 0x4CCD , + [1342] = 0x9DC9 , + [1343] = 0x9E0C , + [1344] = 0x4C3E , + [1345] = 0x29DF6 , + [1346] = 0x2700E , + [1347] = 0x9E0A , + [1348] = 0x2A133 , + [1349] = 0x35C1 , + [1351] = 0x6E9A , + [1352] = 0x823E , + [1353] = 0x7519 , + [1355] = 0x4911 , + [1356] = 0x9A6C , + [1357] = 0x9A8F , + [1358] = 0x9F99 , + [1359] = 0x7987 , + [1360] = 0x2846C , + [1361] = 0x21DCA , + [1362] = 0x205D0 , + [1363] = 0x22AE6 , + [1364] = 0x4E24 , + [1365] = 0x4E81 , + [1366] = 0x4E80 , + [1367] = 0x4E87 , + [1368] = 0x4EBF , + [1369] = 0x4EEB , + [1370] = 0x4F37 , + [1371] = 0x344C , + [1372] = 0x4FBD , + [1373] = 0x3E48 , + [1374] = 0x5003 , + [1375] = 0x5088 , + [1376] = 0x347D , + [1377] = 0x3493 , + [1378] = 0x34A5 , + [1379] = 0x5186 , + [1380] = 0x5905 , + [1381] = 0x51DB , + [1382] = 0x51FC , + [1383] = 0x5205 , + [1384] = 0x4E89 , + [1385] = 0x5279 , + [1386] = 0x5290 , + [1387] = 0x5327 , + [1388] = 0x35C7 , + [1389] = 0x53A9 , + [1390] = 0x3551 , + [1391] = 0x53B0 , + [1392] = 0x3553 , + [1393] = 0x53C2 , + [1394] = 0x5423 , + [1395] = 0x356D , + [1396] = 0x3572 , + [1397] = 0x3681 , + [1398] = 0x5493 , + [1399] = 0x54A3 , + [1400] = 0x54B4 , + [1401] = 0x54B9 , + [1402] = 0x54D0 , + [1403] = 0x54EF , + [1404] = 0x5518 , + [1405] = 0x5523 , + [1406] = 0x5528 , + [1407] = 0x3598 , + [1408] = 0x553F , + [1409] = 0x35A5 , + [1410] = 0x35BF , + [1411] = 0x55D7 , + [1412] = 0x35C5 , + [1413] = 0x27D84 , + [1414] = 0x5525 , + [1416] = 0x20C42 , + [1417] = 0x20D15 , + [1418] = 0x2512B , + [1419] = 0x5590 , + [1420] = 0x22CC6 , + [1421] = 0x39EC , + [1422] = 0x20341 , + [1423] = 0x8E46 , + [1424] = 0x24DB8 , + [1425] = 0x294E5 , + [1426] = 0x4053 , + [1427] = 0x280BE , + [1428] = 0x777A , + [1429] = 0x22C38 , + [1430] = 0x3A34 , + [1431] = 0x47D5 , + [1432] = 0x2815D , + [1433] = 0x269F2 , + [1434] = 0x24DEA , + [1435] = 0x64DD , + [1436] = 0x20D7C , + [1437] = 0x20FB4 , + [1438] = 0x20CD5 , + [1439] = 0x210F4 , + [1440] = 0x648D , + [1441] = 0x8E7E , + [1442] = 0x20E96 , + [1443] = 0x20C0B , + [1444] = 0x20F64 , + [1445] = 0x22CA9 , + [1446] = 0x28256 , + [1447] = 0x244D3 , + [1449] = 0x20D46 , + [1450] = 0x29A4D , + [1451] = 0x280E9 , + [1452] = 0x47F4 , + [1453] = 0x24EA7 , + [1454] = 0x22CC2 , + [1455] = 0x9AB2 , + [1456] = 0x3A67 , + [1457] = 0x295F4 , + [1458] = 0x3FED , + [1459] = 0x3506 , + [1460] = 0x252C7 , + [1461] = 0x297D4 , + [1462] = 0x278C8 , + [1463] = 0x22D44 , + [1464] = 0x9D6E , + [1465] = 0x9815 , + [1467] = 0x43D9 , + [1468] = 0x260A5 , + [1469] = 0x64B4 , + [1470] = 0x54E3 , + [1471] = 0x22D4C , + [1472] = 0x22BCA , + [1473] = 0x21077 , + [1474] = 0x39FB , + [1475] = 0x2106F , + [1476] = 0x266DA , + [1477] = 0x26716 , + [1478] = 0x279A0 , + [1479] = 0x64EA , + [1480] = 0x25052 , + [1481] = 0x20C43 , + [1482] = 0x8E68 , + [1483] = 0x221A1 , + [1484] = 0x28B4C , + [1485] = 0x20731 , + [1487] = 0x480B , + [1488] = 0x201A9 , + [1489] = 0x3FFA , + [1490] = 0x5873 , + [1491] = 0x22D8D , + [1493] = 0x245C8 , + [1494] = 0x204FC , + [1495] = 0x26097 , + [1496] = 0x20F4C , + [1497] = 0x20D96 , + [1498] = 0x5579 , + [1499] = 0x40BB , + [1500] = 0x43BA , + [1502] = 0x4AB4 , + [1503] = 0x22A66 , + [1504] = 0x2109D , + [1505] = 0x81AA , + [1506] = 0x98F5 , + [1507] = 0x20D9C , + [1508] = 0x6379 , + [1509] = 0x39FE , + [1510] = 0x22775 , + [1511] = 0x8DC0 , + [1512] = 0x56A1 , + [1513] = 0x647C , + [1514] = 0x3E43 , + [1516] = 0x2A601 , + [1517] = 0x20E09 , + [1518] = 0x22ACF , + [1519] = 0x22CC9 , + [1521] = 0x210C8 , + [1522] = 0x239C2 , + [1523] = 0x3992 , + [1524] = 0x3A06 , + [1525] = 0x2829B , + [1526] = 0x3578 , + [1527] = 0x25E49 , + [1528] = 0x220C7 , + [1529] = 0x5652 , + [1530] = 0x20F31 , + [1531] = 0x22CB2 , + [1532] = 0x29720 , + [1533] = 0x34BC , + [1534] = 0x6C3D , + [1535] = 0x24E3B , + [1538] = 0x27574 , + [1539] = 0x22E8B , + [1540] = 0x22208 , + [1541] = 0x2A65B , + [1542] = 0x28CCD , + [1543] = 0x20E7A , + [1544] = 0x20C34 , + [1545] = 0x2681C , + [1546] = 0x7F93 , + [1547] = 0x210CF , + [1548] = 0x22803 , + [1549] = 0x22939 , + [1550] = 0x35FB , + [1551] = 0x251E3 , + [1552] = 0x20E8C , + [1553] = 0x20F8D , + [1554] = 0x20EAA , + [1555] = 0x3F93 , + [1556] = 0x20F30 , + [1557] = 0x20D47 , + [1558] = 0x2114F , + [1559] = 0x20E4C , + [1561] = 0x20EAB , + [1562] = 0x20BA9 , + [1563] = 0x20D48 , + [1564] = 0x210C0 , + [1565] = 0x2113D , + [1566] = 0x3FF9 , + [1567] = 0x22696 , + [1568] = 0x6432 , + [1569] = 0x20FAD , + [1570] = 0x233F4 , + [1571] = 0x27639 , + [1572] = 0x22BCE , + [1573] = 0x20D7E , + [1574] = 0x20D7F , + [1575] = 0x22C51 , + [1576] = 0x22C55 , + [1577] = 0x3A18 , + [1578] = 0x20E98 , + [1579] = 0x210C7 , + [1580] = 0x20F2E , + [1581] = 0x2A632 , + [1582] = 0x26B50 , + [1583] = 0x28CD2 , + [1584] = 0x28D99 , + [1585] = 0x28CCA , + [1586] = 0x95AA , + [1587] = 0x54CC , + [1588] = 0x82C4 , + [1589] = 0x55B9 , + [1591] = 0x29EC3 , + [1592] = 0x9C26 , + [1593] = 0x9AB6 , + [1594] = 0x2775E , + [1595] = 0x22DEE , + [1596] = 0x7140 , + [1597] = 0x816D , + [1598] = 0x80EC , + [1599] = 0x5C1C , + [1600] = 0x26572 , + [1601] = 0x8134 , + [1602] = 0x3797 , + [1603] = 0x535F , + [1604] = 0x280BD , + [1605] = 0x91B6 , + [1606] = 0x20EFA , + [1607] = 0x20E0F , + [1608] = 0x20E77 , + [1609] = 0x20EFB , + [1610] = 0x35DD , + [1611] = 0x24DEB , + [1612] = 0x3609 , + [1613] = 0x20CD6 , + [1614] = 0x56AF , + [1615] = 0x227B5 , + [1616] = 0x210C9 , + [1617] = 0x20E10 , + [1618] = 0x20E78 , + [1619] = 0x21078 , + [1620] = 0x21148 , + [1621] = 0x28207 , + [1622] = 0x21455 , + [1623] = 0x20E79 , + [1624] = 0x24E50 , + [1625] = 0x22DA4 , + [1626] = 0x5A54 , + [1627] = 0x2101D , + [1628] = 0x2101E , + [1629] = 0x210F5 , + [1630] = 0x210F6 , + [1631] = 0x579C , + [1632] = 0x20E11 , + [1633] = 0x27694 , + [1634] = 0x282CD , + [1635] = 0x20FB5 , + [1636] = 0x20E7B , + [1637] = 0x2517E , + [1638] = 0x3703 , + [1639] = 0x20FB6 , + [1640] = 0x21180 , + [1641] = 0x252D8 , + [1642] = 0x2A2BD , + [1643] = 0x249DA , + [1644] = 0x2183A , + [1645] = 0x24177 , + [1646] = 0x2827C , + [1647] = 0x5899 , + [1648] = 0x5268 , + [1649] = 0x361A , + [1650] = 0x2573D , + [1651] = 0x7BB2 , + [1652] = 0x5B68 , + [1653] = 0x4800 , + [1654] = 0x4B2C , + [1655] = 0x9F27 , + [1656] = 0x49E7 , + [1657] = 0x9C1F , + [1658] = 0x9B8D , + [1659] = 0x25B74 , + [1660] = 0x2313D , + [1661] = 0x55FB , + [1662] = 0x35F2 , + [1663] = 0x5689 , + [1664] = 0x4E28 , + [1665] = 0x5902 , + [1666] = 0x21BC1 , + [1667] = 0x2F878 , + [1668] = 0x9751 , + [1669] = 0x20086 , + [1670] = 0x4E5B , + [1671] = 0x4EBB , + [1672] = 0x353E , + [1673] = 0x5C23 , + [1674] = 0x5F51 , + [1675] = 0x5FC4 , + [1676] = 0x38FA , + [1677] = 0x624C , + [1678] = 0x6535 , + [1679] = 0x6B7A , + [1680] = 0x6C35 , + [1681] = 0x6C3A , + [1682] = 0x706C , + [1683] = 0x722B , + [1684] = 0x4E2C , + [1685] = 0x72AD , + [1686] = 0x248E9 , + [1687] = 0x7F52 , + [1688] = 0x793B , + [1689] = 0x7CF9 , + [1690] = 0x7F53 , + [1691] = 0x2626A , + [1692] = 0x34C1 , + [1694] = 0x2634B , + [1695] = 0x8002 , + [1696] = 0x8080 , + [1697] = 0x26612 , + [1698] = 0x26951 , + [1699] = 0x535D , + [1700] = 0x8864 , + [1701] = 0x89C1 , + [1702] = 0x278B2 , + [1703] = 0x8BA0 , + [1704] = 0x8D1D , + [1705] = 0x9485 , + [1706] = 0x9578 , + [1707] = 0x957F , + [1708] = 0x95E8 , + [1709] = 0x28E0F , + [1710] = 0x97E6 , + [1711] = 0x9875 , + [1712] = 0x98CE , + [1713] = 0x98DE , + [1714] = 0x9963 , + [1715] = 0x29810 , + [1716] = 0x9C7C , + [1717] = 0x9E1F , + [1718] = 0x9EC4 , + [1719] = 0x6B6F , + [1720] = 0xF907 , + [1721] = 0x4E37 , + [1722] = 0x20087 , + [1723] = 0x961D , + [1724] = 0x6237 , + [1725] = 0x94A2 , + [1727] = 0x503B , + [1728] = 0x6DFE , + [1729] = 0x29C73 , + [1730] = 0x9FA6 , + [1731] = 0x3DC9 , + [1732] = 0x888F , + [1733] = 0x2414E , + [1734] = 0x7077 , + [1735] = 0x5CF5 , + [1736] = 0x4B20 , + [1737] = 0x251CD , + [1738] = 0x3559 , + [1739] = 0x25D30 , + [1740] = 0x6122 , + [1741] = 0x28A32 , + [1742] = 0x8FA7 , + [1743] = 0x91F6 , + [1744] = 0x7191 , + [1745] = 0x6719 , + [1746] = 0x73BA , + [1747] = 0x23281 , + [1748] = 0x2A107 , + [1749] = 0x3C8B , + [1750] = 0x21980 , + [1751] = 0x4B10 , + [1752] = 0x78E4 , + [1753] = 0x7402 , + [1754] = 0x51AE , + [1755] = 0x2870F , + [1756] = 0x4009 , + [1757] = 0x6A63 , + [1758] = 0x2A2BA , + [1759] = 0x4223 , + [1760] = 0x860F , + [1761] = 0x20A6F , + [1762] = 0x7A2A , + [1763] = 0x29947 , + [1764] = 0x28AEA , + [1765] = 0x9755 , + [1766] = 0x704D , + [1767] = 0x5324 , + [1768] = 0x2207E , + [1769] = 0x93F4 , + [1770] = 0x76D9 , + [1771] = 0x289E3 , + [1772] = 0x9FA7 , + [1773] = 0x77DD , + [1774] = 0x4EA3 , + [1775] = 0x4FF0 , + [1776] = 0x50BC , + [1777] = 0x4E2F , + [1778] = 0x4F17 , + [1779] = 0x9FA8 , + [1780] = 0x5434 , + [1781] = 0x7D8B , + [1782] = 0x5892 , + [1783] = 0x58D0 , + [1784] = 0x21DB6 , + [1785] = 0x5E92 , + [1786] = 0x5E99 , + [1787] = 0x5FC2 , + [1788] = 0x22712 , + [1789] = 0x658B , + [1790] = 0x233F9 , + [1791] = 0x6919 , + [1792] = 0x6A43 , + [1793] = 0x23C63 , + [1794] = 0x6CFF , + [1796] = 0x7200 , + [1797] = 0x24505 , + [1798] = 0x738C , + [1799] = 0x3EDB , + [1800] = 0x24A13 , + [1801] = 0x5B15 , + [1802] = 0x74B9 , + [1803] = 0x8B83 , + [1804] = 0x25CA4 , + [1805] = 0x25695 , + [1806] = 0x7A93 , + [1807] = 0x7BEC , + [1808] = 0x7CC3 , + [1809] = 0x7E6C , + [1810] = 0x82F8 , + [1811] = 0x8597 , + [1812] = 0x9FA9 , + [1813] = 0x8890 , + [1814] = 0x9FAA , + [1815] = 0x8EB9 , + [1816] = 0x9FAB , + [1817] = 0x8FCF , + [1818] = 0x855F , + [1819] = 0x99E0 , + [1820] = 0x9221 , + [1821] = 0x9FAC , + [1822] = 0x28DB9 , + [1823] = 0x2143F , + [1824] = 0x4071 , + [1825] = 0x42A2 , + [1826] = 0x5A1A , + [1830] = 0x9868 , + [1831] = 0x676B , + [1832] = 0x4276 , + [1833] = 0x573D , + [1835] = 0x85D6 , + [1836] = 0x2497B , + [1837] = 0x82BF , + [1838] = 0x2710D , + [1839] = 0x4C81 , + [1840] = 0x26D74 , + [1841] = 0x5D7B , + [1842] = 0x26B15 , + [1843] = 0x26FBE , + [1844] = 0x9FAD , + [1845] = 0x9FAE , + [1846] = 0x5B96 , + [1847] = 0x9FAF , + [1848] = 0x66E7 , + [1849] = 0x7E5B , + [1850] = 0x6E57 , + [1851] = 0x79CA , + [1852] = 0x3D88 , + [1853] = 0x44C3 , + [1854] = 0x23256 , + [1855] = 0x22796 , + [1856] = 0x439A , + [1857] = 0x4536 , + [1859] = 0x5CD5 , + [1860] = 0x23B1A , + [1861] = 0x8AF9 , + [1862] = 0x5C78 , + [1863] = 0x3D12 , + [1864] = 0x23551 , + [1865] = 0x5D78 , + [1866] = 0x9FB2 , + [1867] = 0x7157 , + [1868] = 0x4558 , + [1869] = 0x240EC , + [1870] = 0x21E23 , + [1871] = 0x4C77 , + [1872] = 0x3978 , + [1873] = 0x344A , + [1874] = 0x201A4 , + [1875] = 0x26C41 , + [1876] = 0x8ACC , + [1877] = 0x4FB4 , + [1878] = 0x20239 , + [1879] = 0x59BF , + [1880] = 0x816C , + [1881] = 0x9856 , + [1882] = 0x298FA , + [1883] = 0x5F3B , + [1884] = 0x20B9F , + [1886] = 0x221C1 , + [1887] = 0x2896D , + [1888] = 0x4102 , + [1889] = 0x46BB , + [1890] = 0x29079 , + [1891] = 0x3F07 , + [1892] = 0x9FB3 , + [1893] = 0x2A1B5 , + [1894] = 0x40F8 , + [1895] = 0x37D6 , + [1896] = 0x46F7 , + [1897] = 0x26C46 , + [1898] = 0x417C , + [1899] = 0x286B2 , + [1900] = 0x273FF , + [1901] = 0x456D , + [1902] = 0x38D4 , + [1903] = 0x2549A , + [1904] = 0x4561 , + [1905] = 0x451B , + [1906] = 0x4D89 , + [1907] = 0x4C7B , + [1908] = 0x4D76 , + [1909] = 0x45EA , + [1910] = 0x3FC8 , + [1911] = 0x24B0F , + [1912] = 0x3661 , + [1913] = 0x44DE , + [1914] = 0x44BD , + [1915] = 0x41ED , + [1916] = 0x5D3E , + [1917] = 0x5D48 , + [1918] = 0x5D56 , + [1919] = 0x3DFC , + [1920] = 0x380F , + [1921] = 0x5DA4 , + [1922] = 0x5DB9 , + [1923] = 0x3820 , + [1924] = 0x3838 , + [1925] = 0x5E42 , + [1926] = 0x5EBD , + [1927] = 0x5F25 , + [1928] = 0x5F83 , + [1929] = 0x3908 , + [1930] = 0x3914 , + [1931] = 0x393F , + [1932] = 0x394D , + [1933] = 0x60D7 , + [1934] = 0x613D , + [1935] = 0x5CE5 , + [1936] = 0x3989 , + [1937] = 0x61B7 , + [1938] = 0x61B9 , + [1939] = 0x61CF , + [1940] = 0x39B8 , + [1941] = 0x622C , + [1942] = 0x6290 , + [1943] = 0x62E5 , + [1944] = 0x6318 , + [1945] = 0x39F8 , + [1946] = 0x56B1 , + [1947] = 0x3A03 , + [1948] = 0x63E2 , + [1949] = 0x63FB , + [1950] = 0x6407 , + [1951] = 0x645A , + [1952] = 0x3A4B , + [1953] = 0x64C0 , + [1954] = 0x5D15 , + [1955] = 0x5621 , + [1956] = 0x9F9F , + [1957] = 0x3A97 , + [1958] = 0x6586 , + [1959] = 0x3ABD , + [1960] = 0x65FF , + [1961] = 0x6653 , + [1962] = 0x3AF2 , + [1963] = 0x6692 , + [1964] = 0x3B22 , + [1965] = 0x6716 , + [1966] = 0x3B42 , + [1967] = 0x67A4 , + [1968] = 0x6800 , + [1969] = 0x3B58 , + [1970] = 0x684A , + [1971] = 0x6884 , + [1972] = 0x3B72 , + [1973] = 0x3B71 , + [1974] = 0x3B7B , + [1975] = 0x6909 , + [1976] = 0x6943 , + [1977] = 0x725C , + [1978] = 0x6964 , + [1979] = 0x699F , + [1980] = 0x6985 , + [1981] = 0x3BBC , + [1982] = 0x69D6 , + [1983] = 0x3BDD , + [1984] = 0x6A65 , + [1985] = 0x6A74 , + [1986] = 0x6A71 , + [1987] = 0x6A82 , + [1988] = 0x3BEC , + [1989] = 0x6A99 , + [1990] = 0x3BF2 , + [1991] = 0x6AAB , + [1992] = 0x6AB5 , + [1993] = 0x6AD4 , + [1994] = 0x6AF6 , + [1995] = 0x6B81 , + [1996] = 0x6BC1 , + [1997] = 0x6BEA , + [1998] = 0x6C75 , + [1999] = 0x6CAA , + [2000] = 0x3CCB , + [2001] = 0x6D02 , + [2002] = 0x6D06 , + [2003] = 0x6D26 , + [2004] = 0x6D81 , + [2005] = 0x3CEF , + [2006] = 0x6DA4 , + [2007] = 0x6DB1 , + [2008] = 0x6E15 , + [2009] = 0x6E18 , + [2010] = 0x6E29 , + [2011] = 0x6E86 , + [2012] = 0x289C0 , + [2013] = 0x6EBB , + [2014] = 0x6EE2 , + [2015] = 0x6EDA , + [2016] = 0x9F7F , + [2017] = 0x6EE8 , + [2018] = 0x6EE9 , + [2019] = 0x6F24 , + [2020] = 0x6F34 , + [2021] = 0x3D46 , + [2022] = 0x23F41 , + [2023] = 0x6F81 , + [2024] = 0x6FBE , + [2025] = 0x3D6A , + [2026] = 0x3D75 , + [2027] = 0x71B7 , + [2028] = 0x5C99 , + [2029] = 0x3D8A , + [2030] = 0x702C , + [2031] = 0x3D91 , + [2032] = 0x7050 , + [2033] = 0x7054 , + [2034] = 0x706F , + [2035] = 0x707F , + [2036] = 0x7089 , + [2037] = 0x20325 , + [2038] = 0x43C1 , + [2039] = 0x35F1 , + [2040] = 0x20ED8 , + [2041] = 0x23ED7 , + [2042] = 0x57BE , + [2043] = 0x26ED3 , + [2044] = 0x713E , + [2045] = 0x257E0 , + [2046] = 0x364E , + [2047] = 0x69A2 , + [2048] = 0x28BE9 , + [2049] = 0x5B74 , + [2050] = 0x7A49 , + [2051] = 0x258E1 , + [2052] = 0x294D9 , + [2053] = 0x7A65 , + [2054] = 0x7A7D , + [2055] = 0x259AC , + [2056] = 0x7ABB , + [2057] = 0x7AB0 , + [2058] = 0x7AC2 , + [2059] = 0x7AC3 , + [2060] = 0x71D1 , + [2061] = 0x2648D , + [2062] = 0x41CA , + [2063] = 0x7ADA , + [2064] = 0x7ADD , + [2065] = 0x7AEA , + [2066] = 0x41EF , + [2067] = 0x54B2 , + [2068] = 0x25C01 , + [2069] = 0x7B0B , + [2070] = 0x7B55 , + [2071] = 0x7B29 , + [2072] = 0x2530E , + [2073] = 0x25CFE , + [2074] = 0x7BA2 , + [2075] = 0x7B6F , + [2076] = 0x839C , + [2077] = 0x25BB4 , + [2078] = 0x26C7F , + [2079] = 0x7BD0 , + [2080] = 0x8421 , + [2081] = 0x7B92 , + [2082] = 0x7BB8 , + [2083] = 0x25D20 , + [2084] = 0x3DAD , + [2085] = 0x25C65 , + [2086] = 0x8492 , + [2087] = 0x7BFA , + [2088] = 0x7C06 , + [2089] = 0x7C35 , + [2090] = 0x25CC1 , + [2091] = 0x7C44 , + [2092] = 0x7C83 , + [2093] = 0x24882 , + [2094] = 0x7CA6 , + [2095] = 0x667D , + [2096] = 0x24578 , + [2097] = 0x7CC9 , + [2098] = 0x7CC7 , + [2099] = 0x7CE6 , + [2100] = 0x7C74 , + [2101] = 0x7CF3 , + [2102] = 0x7CF5 , + [2103] = 0x7CCE , + [2104] = 0x7E67 , + [2105] = 0x451D , + [2106] = 0x26E44 , + [2107] = 0x7D5D , + [2108] = 0x26ED6 , + [2109] = 0x748D , + [2110] = 0x7D89 , + [2111] = 0x7DAB , + [2112] = 0x7135 , + [2113] = 0x7DB3 , + [2114] = 0x7DD2 , + [2115] = 0x24057 , + [2116] = 0x26029 , + [2117] = 0x7DE4 , + [2118] = 0x3D13 , + [2119] = 0x7DF5 , + [2120] = 0x217F9 , + [2121] = 0x7DE5 , + [2122] = 0x2836D , + [2123] = 0x7E1D , + [2124] = 0x26121 , + [2125] = 0x2615A , + [2126] = 0x7E6E , + [2127] = 0x7E92 , + [2128] = 0x432B , + [2129] = 0x946C , + [2130] = 0x7E27 , + [2131] = 0x7F40 , + [2132] = 0x7F41 , + [2133] = 0x7F47 , + [2134] = 0x7936 , + [2135] = 0x262D0 , + [2136] = 0x99E1 , + [2137] = 0x7F97 , + [2138] = 0x26351 , + [2139] = 0x7FA3 , + [2140] = 0x21661 , + [2141] = 0x20068 , + [2142] = 0x455C , + [2143] = 0x23766 , + [2144] = 0x4503 , + [2145] = 0x2833A , + [2146] = 0x7FFA , + [2147] = 0x26489 , + [2148] = 0x8005 , + [2149] = 0x8008 , + [2150] = 0x801D , + [2151] = 0x8028 , + [2152] = 0x802F , + [2153] = 0x2A087 , + [2154] = 0x26CC3 , + [2155] = 0x803B , + [2156] = 0x803C , + [2157] = 0x8061 , + [2158] = 0x22714 , + [2159] = 0x4989 , + [2160] = 0x26626 , + [2161] = 0x23DE3 , + [2162] = 0x266E8 , + [2163] = 0x6725 , + [2164] = 0x80A7 , + [2165] = 0x28A48 , + [2166] = 0x8107 , + [2167] = 0x811A , + [2168] = 0x58B0 , + [2169] = 0x226F6 , + [2170] = 0x6C7F , + [2171] = 0x26498 , + [2172] = 0x24FB8 , + [2173] = 0x64E7 , + [2174] = 0x2148A , + [2175] = 0x8218 , + [2176] = 0x2185E , + [2177] = 0x6A53 , + [2178] = 0x24A65 , + [2179] = 0x24A95 , + [2180] = 0x447A , + [2181] = 0x8229 , + [2182] = 0x20B0D , + [2183] = 0x26A52 , + [2184] = 0x23D7E , + [2185] = 0x4FF9 , + [2186] = 0x214FD , + [2187] = 0x84E2 , + [2188] = 0x8362 , + [2189] = 0x26B0A , + [2190] = 0x249A7 , + [2191] = 0x23530 , + [2192] = 0x21773 , + [2193] = 0x23DF8 , + [2194] = 0x82AA , + [2195] = 0x691B , + [2196] = 0x2F994 , + [2197] = 0x41DB , + [2198] = 0x854B , + [2199] = 0x82D0 , + [2200] = 0x831A , + [2201] = 0x20E16 , + [2202] = 0x217B4 , + [2203] = 0x36C1 , + [2204] = 0x2317D , + [2205] = 0x2355A , + [2206] = 0x827B , + [2207] = 0x82E2 , + [2208] = 0x8318 , + [2209] = 0x23E8B , + [2210] = 0x26DA3 , + [2211] = 0x26B05 , + [2212] = 0x26B97 , + [2213] = 0x235CE , + [2214] = 0x3DBF , + [2215] = 0x831D , + [2216] = 0x55EC , + [2217] = 0x8385 , + [2218] = 0x450B , + [2219] = 0x26DA5 , + [2220] = 0x83AC , + [2221] = 0x83C1 , + [2222] = 0x83D3 , + [2223] = 0x347E , + [2224] = 0x26ED4 , + [2225] = 0x6A57 , + [2226] = 0x855A , + [2227] = 0x3496 , + [2228] = 0x26E42 , + [2229] = 0x22EEF , + [2230] = 0x8458 , + [2231] = 0x25BE4 , + [2232] = 0x8471 , + [2233] = 0x3DD3 , + [2234] = 0x44E4 , + [2235] = 0x6AA7 , + [2236] = 0x844A , + [2237] = 0x23CB5 , + [2238] = 0x7958 , + [2239] = 0x84A8 , + [2240] = 0x26B96 , + [2241] = 0x26E77 , + [2242] = 0x26E43 , + [2243] = 0x84DE , + [2244] = 0x840F , + [2245] = 0x8391 , + [2246] = 0x44A0 , + [2247] = 0x8493 , + [2248] = 0x84E4 , + [2249] = 0x25C91 , + [2250] = 0x4240 , + [2251] = 0x25CC0 , + [2252] = 0x4543 , + [2253] = 0x8534 , + [2254] = 0x5AF2 , + [2255] = 0x26E99 , + [2256] = 0x4527 , + [2257] = 0x8573 , + [2258] = 0x4516 , + [2259] = 0x67BF , + [2260] = 0x8616 , + [2261] = 0x28625 , + [2262] = 0x2863B , + [2263] = 0x85C1 , + [2264] = 0x27088 , + [2265] = 0x8602 , + [2266] = 0x21582 , + [2267] = 0x270CD , + [2268] = 0x2F9B2 , + [2269] = 0x456A , + [2270] = 0x8628 , + [2271] = 0x3648 , + [2272] = 0x218A2 , + [2273] = 0x53F7 , + [2274] = 0x2739A , + [2275] = 0x867E , + [2276] = 0x8771 , + [2277] = 0x2A0F8 , + [2278] = 0x87EE , + [2279] = 0x22C27 , + [2280] = 0x87B1 , + [2281] = 0x87DA , + [2282] = 0x880F , + [2283] = 0x5661 , + [2284] = 0x866C , + [2285] = 0x6856 , + [2286] = 0x460F , + [2287] = 0x8845 , + [2288] = 0x8846 , + [2289] = 0x275E0 , + [2290] = 0x23DB9 , + [2291] = 0x275E4 , + [2292] = 0x885E , + [2293] = 0x889C , + [2294] = 0x465B , + [2295] = 0x88B4 , + [2296] = 0x88B5 , + [2297] = 0x63C1 , + [2298] = 0x88C5 , + [2299] = 0x7777 , + [2300] = 0x2770F , + [2301] = 0x8987 , + [2302] = 0x898A , + [2303] = 0x89A6 , + [2304] = 0x89A9 , + [2305] = 0x89A7 , + [2306] = 0x89BC , + [2307] = 0x28A25 , + [2308] = 0x89E7 , + [2309] = 0x27924 , + [2310] = 0x27ABD , + [2311] = 0x8A9C , + [2312] = 0x7793 , + [2313] = 0x91FE , + [2314] = 0x8A90 , + [2315] = 0x27A59 , + [2316] = 0x7AE9 , + [2317] = 0x27B3A , + [2318] = 0x23F8F , + [2319] = 0x4713 , + [2320] = 0x27B38 , + [2321] = 0x717C , + [2322] = 0x8B0C , + [2323] = 0x8B1F , + [2324] = 0x25430 , + [2325] = 0x25565 , + [2326] = 0x8B3F , + [2327] = 0x8B4C , + [2328] = 0x8B4D , + [2329] = 0x8AA9 , + [2330] = 0x24A7A , + [2331] = 0x8B90 , + [2332] = 0x8B9B , + [2333] = 0x8AAF , + [2334] = 0x216DF , + [2335] = 0x4615 , + [2336] = 0x884F , + [2337] = 0x8C9B , + [2338] = 0x27D54 , + [2339] = 0x27D8F , + [2340] = 0x2F9D4 , + [2341] = 0x3725 , + [2342] = 0x27D53 , + [2343] = 0x8CD6 , + [2344] = 0x27D98 , + [2345] = 0x27DBD , + [2346] = 0x8D12 , + [2347] = 0x8D03 , + [2348] = 0x21910 , + [2349] = 0x8CDB , + [2350] = 0x705C , + [2351] = 0x8D11 , + [2352] = 0x24CC9 , + [2353] = 0x3ED0 , + [2354] = 0x8D77 , + [2355] = 0x8DA9 , + [2356] = 0x28002 , + [2357] = 0x21014 , + [2358] = 0x2498A , + [2359] = 0x3B7C , + [2360] = 0x281BC , + [2361] = 0x2710C , + [2362] = 0x7AE7 , + [2363] = 0x8EAD , + [2364] = 0x8EB6 , + [2365] = 0x8EC3 , + [2366] = 0x92D4 , + [2367] = 0x8F19 , + [2368] = 0x8F2D , + [2369] = 0x28365 , + [2370] = 0x28412 , + [2371] = 0x8FA5 , + [2372] = 0x9303 , + [2373] = 0x2A29F , + [2374] = 0x20A50 , + [2375] = 0x8FB3 , + [2376] = 0x492A , + [2377] = 0x289DE , + [2378] = 0x2853D , + [2379] = 0x23DBB , + [2380] = 0x5EF8 , + [2381] = 0x23262 , + [2382] = 0x8FF9 , + [2383] = 0x2A014 , + [2384] = 0x286BC , + [2385] = 0x28501 , + [2386] = 0x22325 , + [2387] = 0x3980 , + [2388] = 0x26ED7 , + [2389] = 0x9037 , + [2390] = 0x2853C , + [2391] = 0x27ABE , + [2392] = 0x9061 , + [2393] = 0x2856C , + [2394] = 0x2860B , + [2395] = 0x90A8 , + [2396] = 0x28713 , + [2397] = 0x90C4 , + [2398] = 0x286E6 , + [2399] = 0x90AE , + [2400] = 0x90FD , + [2401] = 0x9167 , + [2402] = 0x3AF0 , + [2403] = 0x91A9 , + [2404] = 0x91C4 , + [2405] = 0x7CAC , + [2406] = 0x28933 , + [2407] = 0x21E89 , + [2408] = 0x920E , + [2409] = 0x6C9F , + [2410] = 0x9241 , + [2411] = 0x9262 , + [2412] = 0x255B9 , + [2413] = 0x92B9 , + [2414] = 0x28AC6 , + [2415] = 0x23C9B , + [2416] = 0x28B0C , + [2417] = 0x255DB , + [2418] = 0x20D31 , + [2419] = 0x932C , + [2420] = 0x936B , + [2421] = 0x28AE1 , + [2422] = 0x28BEB , + [2423] = 0x708F , + [2424] = 0x5AC3 , + [2425] = 0x28AE2 , + [2426] = 0x28AE5 , + [2427] = 0x4965 , + [2428] = 0x9244 , + [2429] = 0x28BEC , + [2430] = 0x28C39 , + [2431] = 0x28BFF , + [2432] = 0x9373 , + [2433] = 0x945B , + [2434] = 0x8EBC , + [2435] = 0x9585 , + [2436] = 0x95A6 , + [2437] = 0x9426 , + [2438] = 0x95A0 , + [2439] = 0x6FF6 , + [2440] = 0x42B9 , + [2441] = 0x2267A , + [2442] = 0x286D8 , + [2443] = 0x2127C , + [2444] = 0x23E2E , + [2445] = 0x49DF , + [2446] = 0x6C1C , + [2447] = 0x967B , + [2448] = 0x9696 , + [2449] = 0x416C , + [2450] = 0x96A3 , + [2451] = 0x26ED5 , + [2452] = 0x61DA , + [2453] = 0x96B6 , + [2454] = 0x78F5 , + [2455] = 0x28AE0 , + [2456] = 0x96BD , + [2457] = 0x53CC , + [2458] = 0x49A1 , + [2459] = 0x26CB8 , + [2460] = 0x20274 , + [2461] = 0x26410 , + [2462] = 0x290AF , + [2463] = 0x290E5 , + [2464] = 0x24AD1 , + [2465] = 0x21915 , + [2466] = 0x2330A , + [2467] = 0x9731 , + [2468] = 0x8642 , + [2469] = 0x9736 , + [2470] = 0x4A0F , + [2471] = 0x453D , + [2472] = 0x4585 , + [2473] = 0x24AE9 , + [2474] = 0x7075 , + [2475] = 0x5B41 , + [2476] = 0x971B , + [2477] = 0x975C , + [2478] = 0x291D5 , + [2479] = 0x9757 , + [2480] = 0x5B4A , + [2481] = 0x291EB , + [2482] = 0x975F , + [2483] = 0x9425 , + [2484] = 0x50D0 , + [2485] = 0x230B7 , + [2486] = 0x230BC , + [2487] = 0x9789 , + [2488] = 0x979F , + [2489] = 0x97B1 , + [2490] = 0x97BE , + [2491] = 0x97C0 , + [2492] = 0x97D2 , + [2493] = 0x97E0 , + [2494] = 0x2546C , + [2495] = 0x97EE , + [2496] = 0x741C , + [2497] = 0x29433 , + [2498] = 0x97FF , + [2499] = 0x97F5 , + [2500] = 0x2941D , + [2501] = 0x2797A , + [2502] = 0x4AD1 , + [2503] = 0x9834 , + [2504] = 0x9833 , + [2505] = 0x984B , + [2506] = 0x9866 , + [2507] = 0x3B0E , + [2508] = 0x27175 , + [2509] = 0x3D51 , + [2510] = 0x20630 , + [2511] = 0x2415C , + [2512] = 0x25706 , + [2513] = 0x98CA , + [2514] = 0x98B7 , + [2515] = 0x98C8 , + [2516] = 0x98C7 , + [2517] = 0x4AFF , + [2518] = 0x26D27 , + [2519] = 0x216D3 , + [2520] = 0x55B0 , + [2521] = 0x98E1 , + [2522] = 0x98E6 , + [2523] = 0x98EC , + [2524] = 0x9378 , + [2525] = 0x9939 , + [2526] = 0x24A29 , + [2527] = 0x4B72 , + [2528] = 0x29857 , + [2529] = 0x29905 , + [2530] = 0x99F5 , + [2531] = 0x9A0C , + [2532] = 0x9A3B , + [2533] = 0x9A10 , + [2534] = 0x9A58 , + [2535] = 0x25725 , + [2536] = 0x36C4 , + [2537] = 0x290B1 , + [2538] = 0x29BD5 , + [2539] = 0x9AE0 , + [2540] = 0x9AE2 , + [2541] = 0x29B05 , + [2542] = 0x9AF4 , + [2543] = 0x4C0E , + [2544] = 0x9B14 , + [2545] = 0x9B2D , + [2546] = 0x28600 , + [2547] = 0x5034 , + [2548] = 0x9B34 , + [2549] = 0x269A8 , + [2550] = 0x38C3 , + [2551] = 0x2307D , + [2552] = 0x9B50 , + [2553] = 0x9B40 , + [2554] = 0x29D3E , + [2555] = 0x5A45 , + [2556] = 0x21863 , + [2557] = 0x9B8E , + [2558] = 0x2424B , + [2559] = 0x9C02 , + [2560] = 0x9BFF , + [2561] = 0x9C0C , + [2562] = 0x29E68 , + [2563] = 0x9DD4 , + [2564] = 0x29FB7 , + [2565] = 0x2A192 , + [2566] = 0x2A1AB , + [2567] = 0x2A0E1 , + [2568] = 0x2A123 , + [2569] = 0x2A1DF , + [2570] = 0x9D7E , + [2571] = 0x9D83 , + [2572] = 0x2A134 , + [2573] = 0x9E0E , + [2574] = 0x6888 , + [2575] = 0x9DC4 , + [2576] = 0x2215B , + [2577] = 0x2A193 , + [2578] = 0x2A220 , + [2579] = 0x2193B , + [2580] = 0x2A233 , + [2581] = 0x9D39 , + [2582] = 0x2A0B9 , + [2583] = 0x2A2B4 , + [2584] = 0x9E90 , + [2585] = 0x9E95 , + [2586] = 0x9E9E , + [2587] = 0x9EA2 , + [2588] = 0x4D34 , + [2589] = 0x9EAA , + [2590] = 0x9EAF , + [2591] = 0x24364 , + [2592] = 0x9EC1 , + [2593] = 0x3B60 , + [2594] = 0x39E5 , + [2595] = 0x3D1D , + [2596] = 0x4F32 , + [2597] = 0x37BE , + [2598] = 0x28C2B , + [2599] = 0x9F02 , + [2600] = 0x9F08 , + [2601] = 0x4B96 , + [2602] = 0x9424 , + [2603] = 0x26DA2 , + [2604] = 0x9F17 , + [2605] = 0x9F16 , + [2606] = 0x9F39 , + [2607] = 0x569F , + [2608] = 0x568A , + [2609] = 0x9F45 , + [2610] = 0x99B8 , + [2611] = 0x2908B , + [2612] = 0x97F2 , + [2613] = 0x847F , + [2614] = 0x9F62 , + [2615] = 0x9F69 , + [2616] = 0x7ADC , + [2617] = 0x9F8E , + [2618] = 0x7216 , + [2619] = 0x4BBE , + [2620] = 0x24975 , + [2621] = 0x249BB , + [2622] = 0x7177 , + [2623] = 0x249F8 , + [2624] = 0x24348 , + [2625] = 0x24A51 , + [2626] = 0x739E , + [2627] = 0x28BDA , + [2628] = 0x218FA , + [2629] = 0x799F , + [2630] = 0x2897E , + [2631] = 0x28E36 , + [2632] = 0x9369 , + [2633] = 0x93F3 , + [2634] = 0x28A44 , + [2635] = 0x92EC , + [2636] = 0x9381 , + [2637] = 0x93CB , + [2638] = 0x2896C , + [2639] = 0x244B9 , + [2640] = 0x7217 , + [2641] = 0x3EEB , + [2642] = 0x7772 , + [2643] = 0x7A43 , + [2644] = 0x70D0 , + [2645] = 0x24473 , + [2646] = 0x243F8 , + [2647] = 0x717E , + [2648] = 0x217EF , + [2649] = 0x70A3 , + [2650] = 0x218BE , + [2651] = 0x23599 , + [2652] = 0x3EC7 , + [2653] = 0x21885 , + [2654] = 0x2542F , + [2655] = 0x217F8 , + [2656] = 0x3722 , + [2657] = 0x216FB , + [2658] = 0x21839 , + [2659] = 0x36E1 , + [2660] = 0x21774 , + [2661] = 0x218D1 , + [2662] = 0x25F4B , + [2663] = 0x3723 , + [2664] = 0x216C0 , + [2665] = 0x575B , + [2666] = 0x24A25 , + [2667] = 0x213FE , + [2668] = 0x212A8 , + [2669] = 0x213C6 , + [2670] = 0x214B6 , + [2671] = 0x8503 , + [2672] = 0x236A6 , + [2673] = 0x8503 , + [2674] = 0x8455 , + [2675] = 0x24994 , + [2676] = 0x27165 , + [2677] = 0x23E31 , + [2678] = 0x2555C , + [2679] = 0x23EFB , + [2680] = 0x27052 , + [2681] = 0x44F4 , + [2682] = 0x236EE , + [2683] = 0x2999D , + [2684] = 0x26F26 , + [2685] = 0x67F9 , + [2686] = 0x3733 , + [2687] = 0x3C15 , + [2688] = 0x3DE7 , + [2689] = 0x586C , + [2690] = 0x21922 , + [2691] = 0x6810 , + [2692] = 0x4057 , + [2693] = 0x2373F , + [2694] = 0x240E1 , + [2695] = 0x2408B , + [2696] = 0x2410F , + [2697] = 0x26C21 , + [2698] = 0x54CB , + [2699] = 0x569E , + [2700] = 0x266B1 , + [2701] = 0x5692 , + [2702] = 0x20FDF , + [2703] = 0x20BA8 , + [2704] = 0x20E0D , + [2705] = 0x93C6 , + [2706] = 0x28B13 , + [2707] = 0x939C , + [2708] = 0x4EF8 , + [2709] = 0x512B , + [2710] = 0x3819 , + [2711] = 0x24436 , + [2712] = 0x4EBC , + [2713] = 0x20465 , + [2714] = 0x2037F , + [2715] = 0x4F4B , + [2716] = 0x4F8A , + [2717] = 0x25651 , + [2718] = 0x5A68 , + [2719] = 0x201AB , + [2720] = 0x203CB , + [2721] = 0x3999 , + [2722] = 0x2030A , + [2723] = 0x20414 , + [2724] = 0x3435 , + [2725] = 0x4F29 , + [2726] = 0x202C0 , + [2727] = 0x28EB3 , + [2728] = 0x20275 , + [2729] = 0x8ADA , + [2730] = 0x2020C , + [2731] = 0x4E98 , + [2732] = 0x50CD , + [2733] = 0x510D , + [2734] = 0x4FA2 , + [2735] = 0x4F03 , + [2736] = 0x24A0E , + [2737] = 0x23E8A , + [2738] = 0x4F42 , + [2739] = 0x502E , + [2740] = 0x506C , + [2741] = 0x5081 , + [2742] = 0x4FCC , + [2743] = 0x4FE5 , + [2744] = 0x5058 , + [2745] = 0x50FC , + [2746] = 0x5159 , + [2747] = 0x515B , + [2748] = 0x515D , + [2749] = 0x515E , + [2750] = 0x6E76 , + [2751] = 0x23595 , + [2752] = 0x23E39 , + [2753] = 0x23EBF , + [2754] = 0x6D72 , + [2755] = 0x21884 , + [2756] = 0x23E89 , + [2757] = 0x51A8 , + [2758] = 0x51C3 , + [2759] = 0x205E0 , + [2760] = 0x44DD , + [2761] = 0x204A3 , + [2762] = 0x20492 , + [2763] = 0x20491 , + [2764] = 0x8D7A , + [2765] = 0x28A9C , + [2766] = 0x2070E , + [2767] = 0x5259 , + [2768] = 0x52A4 , + [2769] = 0x20873 , + [2770] = 0x52E1 , + [2771] = 0x936E , + [2772] = 0x467A , + [2773] = 0x718C , + [2774] = 0x2438C , + [2775] = 0x20C20 , + [2776] = 0x249AC , + [2777] = 0x210E4 , + [2778] = 0x69D1 , + [2779] = 0x20E1D , + [2780] = 0x7479 , + [2781] = 0x3EDE , + [2782] = 0x7499 , + [2783] = 0x7414 , + [2784] = 0x7456 , + [2785] = 0x7398 , + [2786] = 0x4B8E , + [2787] = 0x24ABC , + [2788] = 0x2408D , + [2789] = 0x53D0 , + [2790] = 0x3584 , + [2791] = 0x720F , + [2792] = 0x240C9 , + [2793] = 0x55B4 , + [2794] = 0x20345 , + [2795] = 0x54CD , + [2796] = 0x20BC6 , + [2797] = 0x571D , + [2798] = 0x925D , + [2799] = 0x96F4 , + [2800] = 0x9366 , + [2801] = 0x57DD , + [2802] = 0x578D , + [2803] = 0x577F , + [2804] = 0x363E , + [2805] = 0x58CB , + [2806] = 0x5A99 , + [2807] = 0x28A46 , + [2808] = 0x216FA , + [2809] = 0x2176F , + [2810] = 0x21710 , + [2811] = 0x5A2C , + [2812] = 0x59B8 , + [2813] = 0x928F , + [2814] = 0x5A7E , + [2815] = 0x5ACF , + [2816] = 0x5A12 , + [2817] = 0x25946 , + [2818] = 0x219F3 , + [2819] = 0x21861 , + [2820] = 0x24295 , + [2821] = 0x36F5 , + [2822] = 0x6D05 , + [2823] = 0x7443 , + [2824] = 0x5A21 , + [2825] = 0x25E83 , + [2826] = 0x5A81 , + [2827] = 0x28BD7 , + [2828] = 0x20413 , + [2829] = 0x93E0 , + [2830] = 0x748C , + [2831] = 0x21303 , + [2832] = 0x7105 , + [2833] = 0x4972 , + [2834] = 0x9408 , + [2835] = 0x289FB , + [2836] = 0x93BD , + [2837] = 0x37A0 , + [2838] = 0x5C1E , + [2839] = 0x5C9E , + [2840] = 0x5E5E , + [2841] = 0x5E48 , + [2842] = 0x21996 , + [2843] = 0x2197C , + [2844] = 0x23AEE , + [2845] = 0x5ECD , + [2846] = 0x5B4F , + [2847] = 0x21903 , + [2848] = 0x21904 , + [2849] = 0x3701 , + [2850] = 0x218A0 , + [2851] = 0x36DD , + [2852] = 0x216FE , + [2853] = 0x36D3 , + [2854] = 0x812A , + [2855] = 0x28A47 , + [2856] = 0x21DBA , + [2857] = 0x23472 , + [2858] = 0x289A8 , + [2859] = 0x5F0C , + [2860] = 0x5F0E , + [2861] = 0x21927 , + [2862] = 0x217AB , + [2863] = 0x5A6B , + [2864] = 0x2173B , + [2865] = 0x5B44 , + [2866] = 0x8614 , + [2867] = 0x275FD , + [2868] = 0x8860 , + [2869] = 0x607E , + [2870] = 0x22860 , + [2871] = 0x2262B , + [2872] = 0x5FDB , + [2873] = 0x3EB8 , + [2874] = 0x225AF , + [2875] = 0x225BE , + [2876] = 0x29088 , + [2877] = 0x26F73 , + [2878] = 0x61C0 , + [2879] = 0x2003E , + [2880] = 0x20046 , + [2881] = 0x2261B , + [2882] = 0x6199 , + [2883] = 0x6198 , + [2884] = 0x6075 , + [2885] = 0x22C9B , + [2886] = 0x22D07 , + [2887] = 0x246D4 , + [2888] = 0x2914D , + [2889] = 0x6471 , + [2890] = 0x24665 , + [2891] = 0x22B6A , + [2892] = 0x3A29 , + [2893] = 0x22B22 , + [2894] = 0x23450 , + [2895] = 0x298EA , + [2896] = 0x22E78 , + [2897] = 0x6337 , + [2898] = 0x2A45B , + [2899] = 0x64B6 , + [2900] = 0x6331 , + [2901] = 0x63D1 , + [2902] = 0x249E3 , + [2903] = 0x22D67 , + [2904] = 0x62A4 , + [2905] = 0x22CA1 , + [2906] = 0x643B , + [2907] = 0x656B , + [2908] = 0x6972 , + [2909] = 0x3BF4 , + [2910] = 0x2308E , + [2911] = 0x232AD , + [2912] = 0x24989 , + [2913] = 0x232AB , + [2914] = 0x550D , + [2915] = 0x232E0 , + [2916] = 0x218D9 , + [2917] = 0x2943F , + [2918] = 0x66CE , + [2919] = 0x23289 , + [2920] = 0x231B3 , + [2921] = 0x3AE0 , + [2922] = 0x4190 , + [2923] = 0x25584 , + [2924] = 0x28B22 , + [2925] = 0x2558F , + [2926] = 0x216FC , + [2927] = 0x2555B , + [2928] = 0x25425 , + [2929] = 0x78EE , + [2930] = 0x23103 , + [2931] = 0x2182A , + [2932] = 0x23234 , + [2933] = 0x3464 , + [2934] = 0x2320F , + [2935] = 0x23182 , + [2936] = 0x242C9 , + [2937] = 0x668E , + [2938] = 0x26D24 , + [2939] = 0x666B , + [2940] = 0x4B93 , + [2941] = 0x6630 , + [2942] = 0x27870 , + [2943] = 0x21DEB , + [2944] = 0x6663 , + [2945] = 0x232D2 , + [2946] = 0x232E1 , + [2947] = 0x661E , + [2948] = 0x25872 , + [2949] = 0x38D1 , + [2950] = 0x2383A , + [2951] = 0x237BC , + [2952] = 0x3B99 , + [2953] = 0x237A2 , + [2954] = 0x233FE , + [2955] = 0x74D0 , + [2956] = 0x3B96 , + [2957] = 0x678F , + [2958] = 0x2462A , + [2959] = 0x68B6 , + [2960] = 0x681E , + [2961] = 0x3BC4 , + [2962] = 0x6ABE , + [2963] = 0x3863 , + [2964] = 0x237D5 , + [2965] = 0x24487 , + [2966] = 0x6A33 , + [2967] = 0x6A52 , + [2968] = 0x6AC9 , + [2969] = 0x6B05 , + [2970] = 0x21912 , + [2971] = 0x6511 , + [2972] = 0x6898 , + [2973] = 0x6A4C , + [2974] = 0x3BD7 , + [2975] = 0x6A7A , + [2976] = 0x6B57 , + [2977] = 0x23FC0 , + [2978] = 0x23C9A , + [2979] = 0x93A0 , + [2980] = 0x92F2 , + [2981] = 0x28BEA , + [2982] = 0x28ACB , + [2983] = 0x9289 , + [2984] = 0x2801E , + [2985] = 0x289DC , + [2986] = 0x9467 , + [2987] = 0x6DA5 , + [2988] = 0x6F0B , + [2989] = 0x249EC , + [2990] = 0x6D67 , + [2991] = 0x23F7F , + [2992] = 0x3D8F , + [2993] = 0x6E04 , + [2994] = 0x2403C , + [2995] = 0x5A3D , + [2996] = 0x6E0A , + [2997] = 0x5847 , + [2998] = 0x6D24 , + [2999] = 0x7842 , + [3000] = 0x713B , + [3001] = 0x2431A , + [3002] = 0x24276 , + [3003] = 0x70F1 , + [3004] = 0x7250 , + [3005] = 0x7287 , + [3006] = 0x7294 , + [3007] = 0x2478F , + [3008] = 0x24725 , + [3009] = 0x5179 , + [3010] = 0x24AA4 , + [3011] = 0x205EB , + [3012] = 0x747A , + [3013] = 0x23EF8 , + [3014] = 0x2365F , + [3015] = 0x24A4A , + [3016] = 0x24917 , + [3017] = 0x25FE1 , + [3018] = 0x3F06 , + [3019] = 0x3EB1 , + [3020] = 0x24ADF , + [3021] = 0x28C23 , + [3022] = 0x23F35 , + [3023] = 0x60A7 , + [3024] = 0x3EF3 , + [3025] = 0x74CC , + [3026] = 0x743C , + [3027] = 0x9387 , + [3028] = 0x7437 , + [3029] = 0x449F , + [3030] = 0x26DEA , + [3031] = 0x4551 , + [3032] = 0x7583 , + [3033] = 0x3F63 , + [3034] = 0x24CD9 , + [3035] = 0x24D06 , + [3036] = 0x3F58 , + [3037] = 0x7555 , + [3038] = 0x7673 , + [3039] = 0x2A5C6 , + [3040] = 0x3B19 , + [3041] = 0x7468 , + [3042] = 0x28ACC , + [3043] = 0x249AB , + [3044] = 0x2498E , + [3045] = 0x3AFB , + [3046] = 0x3DCD , + [3047] = 0x24A4E , + [3048] = 0x3EFF , + [3049] = 0x249C5 , + [3050] = 0x248F3 , + [3051] = 0x91FA , + [3052] = 0x5732 , + [3053] = 0x9342 , + [3054] = 0x28AE3 , + [3055] = 0x21864 , + [3056] = 0x50DF , + [3057] = 0x25221 , + [3058] = 0x251E7 , + [3059] = 0x7778 , + [3060] = 0x23232 , + [3061] = 0x770E , + [3062] = 0x770F , + [3063] = 0x777B , + [3064] = 0x24697 , + [3065] = 0x23781 , + [3066] = 0x3A5E , + [3067] = 0x248F0 , + [3068] = 0x7438 , + [3069] = 0x749B , + [3070] = 0x3EBF , + [3071] = 0x24ABA , + [3072] = 0x24AC7 , + [3073] = 0x40C8 , + [3074] = 0x24A96 , + [3075] = 0x261AE , + [3076] = 0x9307 , + [3077] = 0x25581 , + [3078] = 0x781E , + [3079] = 0x788D , + [3080] = 0x7888 , + [3081] = 0x78D2 , + [3082] = 0x73D0 , + [3083] = 0x7959 , + [3084] = 0x27741 , + [3085] = 0x256E3 , + [3086] = 0x410E , + [3087] = 0x799B , + [3088] = 0x8496 , + [3089] = 0x79A5 , + [3090] = 0x6A2D , + [3091] = 0x23EFA , + [3092] = 0x7A3A , + [3093] = 0x79F4 , + [3094] = 0x416E , + [3095] = 0x216E6 , + [3096] = 0x4132 , + [3097] = 0x9235 , + [3098] = 0x79F1 , + [3099] = 0x20D4C , + [3100] = 0x2498C , + [3101] = 0x20299 , + [3102] = 0x23DBA , + [3103] = 0x2176E , + [3104] = 0x3597 , + [3105] = 0x556B , + [3106] = 0x3570 , + [3107] = 0x36AA , + [3108] = 0x201D4 , + [3109] = 0x20C0D , + [3110] = 0x7AE2 , + [3111] = 0x5A59 , + [3112] = 0x226F5 , + [3113] = 0x25AAF , + [3114] = 0x25A9C , + [3115] = 0x5A0D , + [3116] = 0x2025B , + [3117] = 0x78F0 , + [3118] = 0x5A2A , + [3119] = 0x25BC6 , + [3120] = 0x7AFE , + [3121] = 0x41F9 , + [3122] = 0x7C5D , + [3123] = 0x7C6D , + [3124] = 0x4211 , + [3125] = 0x25BB3 , + [3126] = 0x25EBC , + [3127] = 0x25EA6 , + [3128] = 0x7CCD , + [3129] = 0x249F9 , + [3130] = 0x217B0 , + [3131] = 0x7C8E , + [3132] = 0x7C7C , + [3133] = 0x7CAE , + [3134] = 0x6AB2 , + [3135] = 0x7DDC , + [3136] = 0x7E07 , + [3137] = 0x7DD3 , + [3138] = 0x7F4E , + [3139] = 0x26261 , + [3140] = 0x2615C , + [3141] = 0x27B48 , + [3142] = 0x7D97 , + [3143] = 0x25E82 , + [3144] = 0x426A , + [3145] = 0x26B75 , + [3146] = 0x20916 , + [3147] = 0x67D6 , + [3148] = 0x2004E , + [3149] = 0x235CF , + [3150] = 0x57C4 , + [3151] = 0x26412 , + [3152] = 0x263F8 , + [3153] = 0x24962 , + [3154] = 0x7FDD , + [3155] = 0x7B27 , + [3156] = 0x2082C , + [3157] = 0x25AE9 , + [3158] = 0x25D43 , + [3159] = 0x7B0C , + [3160] = 0x25E0E , + [3161] = 0x99E6 , + [3162] = 0x8645 , + [3163] = 0x9A63 , + [3164] = 0x6A1C , + [3165] = 0x2343F , + [3166] = 0x39E2 , + [3167] = 0x249F7 , + [3168] = 0x265AD , + [3169] = 0x9A1F , + [3170] = 0x265A0 , + [3171] = 0x8480 , + [3172] = 0x27127 , + [3173] = 0x26CD1 , + [3174] = 0x44EA , + [3175] = 0x8137 , + [3176] = 0x4402 , + [3177] = 0x80C6 , + [3178] = 0x8109 , + [3179] = 0x8142 , + [3180] = 0x267B4 , + [3181] = 0x98C3 , + [3182] = 0x26A42 , + [3183] = 0x8262 , + [3184] = 0x8265 , + [3185] = 0x26A51 , + [3186] = 0x8453 , + [3187] = 0x26DA7 , + [3188] = 0x8610 , + [3189] = 0x2721B , + [3190] = 0x5A86 , + [3191] = 0x417F , + [3192] = 0x21840 , + [3193] = 0x5B2B , + [3194] = 0x218A1 , + [3195] = 0x5AE4 , + [3196] = 0x218D8 , + [3197] = 0x86A0 , + [3198] = 0x2F9BC , + [3199] = 0x23D8F , + [3200] = 0x882D , + [3201] = 0x27422 , + [3202] = 0x5A02 , + [3203] = 0x886E , + [3204] = 0x4F45 , + [3205] = 0x8887 , + [3206] = 0x88BF , + [3207] = 0x88E6 , + [3208] = 0x8965 , + [3209] = 0x894D , + [3210] = 0x25683 , + [3211] = 0x8954 , + [3212] = 0x27785 , + [3213] = 0x27784 , + [3214] = 0x28BF5 , + [3215] = 0x28BD9 , + [3216] = 0x28B9C , + [3217] = 0x289F9 , + [3218] = 0x3EAD , + [3219] = 0x84A3 , + [3220] = 0x46F5 , + [3221] = 0x46CF , + [3222] = 0x37F2 , + [3223] = 0x8A3D , + [3224] = 0x8A1C , + [3225] = 0x29448 , + [3226] = 0x5F4D , + [3227] = 0x922B , + [3228] = 0x24284 , + [3229] = 0x65D4 , + [3230] = 0x7129 , + [3231] = 0x70C4 , + [3232] = 0x21845 , + [3233] = 0x9D6D , + [3234] = 0x8C9F , + [3235] = 0x8CE9 , + [3236] = 0x27DDC , + [3237] = 0x599A , + [3238] = 0x77C3 , + [3239] = 0x59F0 , + [3240] = 0x436E , + [3241] = 0x36D4 , + [3242] = 0x8E2A , + [3243] = 0x8EA7 , + [3244] = 0x24C09 , + [3245] = 0x8F30 , + [3246] = 0x8F4A , + [3247] = 0x42F4 , + [3248] = 0x6C58 , + [3249] = 0x6FBB , + [3250] = 0x22321 , + [3251] = 0x489B , + [3252] = 0x6F79 , + [3253] = 0x6E8B , + [3254] = 0x217DA , + [3255] = 0x9BE9 , + [3256] = 0x36B5 , + [3257] = 0x2492F , + [3258] = 0x90BB , + [3259] = 0x9097 , + [3260] = 0x5571 , + [3261] = 0x4906 , + [3262] = 0x91BB , + [3263] = 0x9404 , + [3264] = 0x28A4B , + [3265] = 0x4062 , + [3266] = 0x28AFC , + [3267] = 0x9427 , + [3268] = 0x28C1D , + [3269] = 0x28C3B , + [3270] = 0x84E5 , + [3271] = 0x8A2B , + [3272] = 0x9599 , + [3273] = 0x95A7 , + [3274] = 0x9597 , + [3275] = 0x9596 , + [3276] = 0x28D34 , + [3277] = 0x7445 , + [3278] = 0x3EC2 , + [3279] = 0x248FF , + [3280] = 0x24A42 , + [3281] = 0x243EA , + [3282] = 0x3EE7 , + [3283] = 0x23225 , + [3284] = 0x968F , + [3285] = 0x28EE7 , + [3286] = 0x28E66 , + [3287] = 0x28E65 , + [3288] = 0x3ECC , + [3289] = 0x249ED , + [3290] = 0x24A78 , + [3291] = 0x23FEE , + [3292] = 0x7412 , + [3293] = 0x746B , + [3294] = 0x3EFC , + [3295] = 0x9741 , + [3296] = 0x290B0 , + [3297] = 0x6847 , + [3298] = 0x4A1D , + [3299] = 0x29093 , + [3300] = 0x257DF , + [3301] = 0x975D , + [3302] = 0x9368 , + [3303] = 0x28989 , + [3304] = 0x28C26 , + [3305] = 0x28B2F , + [3306] = 0x263BE , + [3307] = 0x92BA , + [3308] = 0x5B11 , + [3309] = 0x8B69 , + [3310] = 0x493C , + [3311] = 0x73F9 , + [3312] = 0x2421B , + [3313] = 0x979B , + [3314] = 0x9771 , + [3315] = 0x9938 , + [3316] = 0x20F26 , + [3317] = 0x5DC1 , + [3318] = 0x28BC5 , + [3319] = 0x24AB2 , + [3320] = 0x981F , + [3321] = 0x294DA , + [3322] = 0x92F6 , + [3323] = 0x295D7 , + [3324] = 0x91E5 , + [3325] = 0x44C0 , + [3326] = 0x28B50 , + [3327] = 0x24A67 , + [3328] = 0x28B64 , + [3329] = 0x98DC , + [3330] = 0x28A45 , + [3331] = 0x3F00 , + [3332] = 0x922A , + [3333] = 0x4925 , + [3334] = 0x8414 , + [3335] = 0x993B , + [3336] = 0x994D , + [3337] = 0x27B06 , + [3338] = 0x3DFD , + [3339] = 0x999B , + [3340] = 0x4B6F , + [3341] = 0x99AA , + [3342] = 0x9A5C , + [3343] = 0x28B65 , + [3344] = 0x258C8 , + [3345] = 0x6A8F , + [3346] = 0x9A21 , + [3347] = 0x5AFE , + [3348] = 0x9A2F , + [3349] = 0x298F1 , + [3350] = 0x4B90 , + [3351] = 0x29948 , + [3352] = 0x99BC , + [3353] = 0x4BBD , + [3354] = 0x4B97 , + [3355] = 0x937D , + [3356] = 0x5872 , + [3357] = 0x21302 , + [3358] = 0x5822 , + [3359] = 0x249B8 , + [3360] = 0x214E8 , + [3361] = 0x7844 , + [3362] = 0x2271F , + [3363] = 0x23DB8 , + [3364] = 0x68C5 , + [3365] = 0x3D7D , + [3366] = 0x9458 , + [3367] = 0x3927 , + [3368] = 0x6150 , + [3369] = 0x22781 , + [3370] = 0x2296B , + [3371] = 0x6107 , + [3372] = 0x9C4F , + [3373] = 0x9C53 , + [3374] = 0x9C7B , + [3375] = 0x9C35 , + [3376] = 0x9C10 , + [3377] = 0x9B7F , + [3378] = 0x9BCF , + [3379] = 0x29E2D , + [3380] = 0x9B9F , + [3381] = 0x2A1F5 , + [3382] = 0x2A0FE , + [3383] = 0x9D21 , + [3384] = 0x4CAE , + [3385] = 0x24104 , + [3386] = 0x9E18 , + [3387] = 0x4CB0 , + [3388] = 0x9D0C , + [3389] = 0x2A1B4 , + [3390] = 0x2A0ED , + [3391] = 0x2A0F3 , + [3392] = 0x2992F , + [3393] = 0x9DA5 , + [3394] = 0x84BD , + [3395] = 0x26E12 , + [3396] = 0x26FDF , + [3397] = 0x26B82 , + [3398] = 0x85FC , + [3399] = 0x4533 , + [3400] = 0x26DA4 , + [3401] = 0x26E84 , + [3402] = 0x26DF0 , + [3403] = 0x8420 , + [3404] = 0x85EE , + [3405] = 0x26E00 , + [3406] = 0x237D7 , + [3407] = 0x26064 , + [3408] = 0x79E2 , + [3409] = 0x2359C , + [3410] = 0x23640 , + [3411] = 0x492D , + [3412] = 0x249DE , + [3413] = 0x3D62 , + [3414] = 0x93DB , + [3415] = 0x92BE , + [3416] = 0x9348 , + [3417] = 0x202BF , + [3418] = 0x78B9 , + [3419] = 0x9277 , + [3420] = 0x944D , + [3421] = 0x4FE4 , + [3422] = 0x3440 , + [3423] = 0x9064 , + [3424] = 0x2555D , + [3425] = 0x783D , + [3426] = 0x7854 , + [3427] = 0x78B6 , + [3428] = 0x784B , + [3429] = 0x21757 , + [3430] = 0x231C9 , + [3431] = 0x24941 , + [3432] = 0x369A , + [3433] = 0x4F72 , + [3434] = 0x6FDA , + [3435] = 0x6FD9 , + [3436] = 0x701E , + [3437] = 0x701E , + [3438] = 0x5414 , + [3439] = 0x241B5 , + [3440] = 0x57BB , + [3441] = 0x58F3 , + [3442] = 0x578A , + [3443] = 0x9D16 , + [3444] = 0x57D7 , + [3445] = 0x7134 , + [3446] = 0x34AF , + [3447] = 0x241AC , + [3448] = 0x71EB , + [3449] = 0x26C40 , + [3450] = 0x24F97 , + [3451] = 0x5B28 , + [3452] = 0x217B5 , + [3453] = 0x28A49 , + [3454] = 0x610C , + [3455] = 0x5ACE , + [3456] = 0x5A0B , + [3457] = 0x42BC , + [3458] = 0x24488 , + [3459] = 0x372C , + [3460] = 0x4B7B , + [3461] = 0x289FC , + [3462] = 0x93BB , + [3463] = 0x93B8 , + [3464] = 0x218D6 , + [3465] = 0x20F1D , + [3466] = 0x8472 , + [3467] = 0x26CC0 , + [3468] = 0x21413 , + [3469] = 0x242FA , + [3470] = 0x22C26 , + [3471] = 0x243C1 , + [3472] = 0x5994 , + [3473] = 0x23DB7 , + [3474] = 0x26741 , + [3475] = 0x7DA8 , + [3476] = 0x2615B , + [3477] = 0x260A4 , + [3478] = 0x249B9 , + [3479] = 0x2498B , + [3480] = 0x289FA , + [3481] = 0x92E5 , + [3482] = 0x73E2 , + [3483] = 0x3EE9 , + [3484] = 0x74B4 , + [3485] = 0x28B63 , + [3486] = 0x2189F , + [3487] = 0x3EE1 , + [3488] = 0x24AB3 , + [3489] = 0x6AD8 , + [3490] = 0x73F3 , + [3491] = 0x73FB , + [3492] = 0x3ED6 , + [3493] = 0x24A3E , + [3494] = 0x24A94 , + [3495] = 0x217D9 , + [3496] = 0x24A66 , + [3497] = 0x203A7 , + [3498] = 0x21424 , + [3499] = 0x249E5 , + [3500] = 0x7448 , + [3501] = 0x24916 , + [3502] = 0x70A5 , + [3503] = 0x24976 , + [3504] = 0x9284 , + [3505] = 0x73E6 , + [3506] = 0x935F , + [3507] = 0x204FE , + [3508] = 0x9331 , + [3509] = 0x28ACE , + [3510] = 0x28A16 , + [3511] = 0x9386 , + [3512] = 0x28BE7 , + [3513] = 0x255D5 , + [3514] = 0x4935 , + [3515] = 0x28A82 , + [3516] = 0x716B , + [3517] = 0x24943 , + [3518] = 0x20CFF , + [3519] = 0x56A4 , + [3520] = 0x2061A , + [3521] = 0x20BEB , + [3522] = 0x20CB8 , + [3523] = 0x5502 , + [3524] = 0x79C4 , + [3525] = 0x217FA , + [3526] = 0x7DFE , + [3527] = 0x216C2 , + [3528] = 0x24A50 , + [3529] = 0x21852 , + [3530] = 0x452E , + [3531] = 0x9401 , + [3532] = 0x370A , + [3533] = 0x28AC0 , + [3534] = 0x249AD , + [3535] = 0x59B0 , + [3536] = 0x218BF , + [3537] = 0x21883 , + [3538] = 0x27484 , + [3539] = 0x5AA1 , + [3540] = 0x36E2 , + [3541] = 0x23D5B , + [3542] = 0x36B0 , + [3543] = 0x925F , + [3544] = 0x5A79 , + [3545] = 0x28A81 , + [3546] = 0x21862 , + [3547] = 0x9374 , + [3548] = 0x3CCD , + [3549] = 0x20AB4 , + [3550] = 0x4A96 , + [3551] = 0x398A , + [3552] = 0x50F4 , + [3553] = 0x3D69 , + [3554] = 0x3D4C , + [3555] = 0x2139C , + [3556] = 0x7175 , + [3557] = 0x42FB , + [3558] = 0x28218 , + [3559] = 0x6E0F , + [3560] = 0x290E4 , + [3561] = 0x44EB , + [3562] = 0x6D57 , + [3563] = 0x27E4F , + [3564] = 0x7067 , + [3565] = 0x6CAF , + [3566] = 0x3CD6 , + [3567] = 0x23FED , + [3568] = 0x23E2D , + [3569] = 0x6E02 , + [3570] = 0x6F0C , + [3571] = 0x3D6F , + [3572] = 0x203F5 , + [3573] = 0x7551 , + [3574] = 0x36BC , + [3575] = 0x34C8 , + [3576] = 0x4680 , + [3577] = 0x3EDA , + [3578] = 0x4871 , + [3579] = 0x59C4 , + [3580] = 0x926E , + [3581] = 0x493E , + [3582] = 0x8F41 , + [3583] = 0x28C1C , + [3584] = 0x26BC0 , + [3585] = 0x5812 , + [3586] = 0x57C8 , + [3587] = 0x36D6 , + [3588] = 0x21452 , + [3589] = 0x70FE , + [3590] = 0x24362 , + [3591] = 0x24A71 , + [3592] = 0x22FE3 , + [3593] = 0x212B0 , + [3594] = 0x223BD , + [3595] = 0x68B9 , + [3596] = 0x6967 , + [3597] = 0x21398 , + [3598] = 0x234E5 , + [3599] = 0x27BF4 , + [3600] = 0x236DF , + [3601] = 0x28A83 , + [3602] = 0x237D6 , + [3603] = 0x233FA , + [3604] = 0x24C9F , + [3605] = 0x6A1A , + [3606] = 0x236AD , + [3607] = 0x26CB7 , + [3608] = 0x843E , + [3609] = 0x44DF , + [3610] = 0x44CE , + [3611] = 0x26D26 , + [3612] = 0x26D51 , + [3613] = 0x26C82 , + [3614] = 0x26FDE , + [3615] = 0x6F17 , + [3616] = 0x27109 , + [3617] = 0x833D , + [3618] = 0x2173A , + [3619] = 0x83ED , + [3620] = 0x26C80 , + [3621] = 0x27053 , + [3622] = 0x217DB , + [3623] = 0x5989 , + [3624] = 0x5A82 , + [3625] = 0x217B3 , + [3626] = 0x5A61 , + [3627] = 0x5A71 , + [3628] = 0x21905 , + [3629] = 0x241FC , + [3630] = 0x372D , + [3631] = 0x59EF , + [3632] = 0x2173C , + [3633] = 0x36C7 , + [3634] = 0x718E , + [3635] = 0x9390 , + [3636] = 0x669A , + [3637] = 0x242A5 , + [3638] = 0x5A6E , + [3639] = 0x5A2B , + [3640] = 0x24293 , + [3641] = 0x6A2B , + [3642] = 0x23EF9 , + [3643] = 0x27736 , + [3644] = 0x2445B , + [3645] = 0x242CA , + [3646] = 0x711D , + [3647] = 0x24259 , + [3648] = 0x289E1 , + [3649] = 0x4FB0 , + [3650] = 0x26D28 , + [3651] = 0x5CC2 , + [3652] = 0x244CE , + [3653] = 0x27E4D , + [3654] = 0x243BD , + [3655] = 0x6A0C , + [3656] = 0x24256 , + [3657] = 0x21304 , + [3658] = 0x70A6 , + [3659] = 0x7133 , + [3660] = 0x243E9 , + [3661] = 0x3DA5 , + [3662] = 0x6CDF , + [3663] = 0x2F825 , + [3664] = 0x24A4F , + [3665] = 0x7E65 , + [3666] = 0x59EB , + [3667] = 0x5D2F , + [3668] = 0x3DF3 , + [3669] = 0x5F5C , + [3670] = 0x24A5D , + [3671] = 0x217DF , + [3672] = 0x7DA4 , + [3673] = 0x8426 , + [3674] = 0x5485 , + [3675] = 0x23AFA , + [3676] = 0x23300 , + [3677] = 0x20214 , + [3678] = 0x577E , + [3679] = 0x208D5 , + [3680] = 0x20619 , + [3681] = 0x3FE5 , + [3682] = 0x21F9E , + [3683] = 0x2A2B6 , + [3684] = 0x7003 , + [3685] = 0x2915B , + [3686] = 0x5D70 , + [3687] = 0x738F , + [3688] = 0x7CD3 , + [3689] = 0x28A59 , + [3690] = 0x29420 , + [3691] = 0x4FC8 , + [3692] = 0x7FE7 , + [3693] = 0x72CD , + [3694] = 0x7310 , + [3695] = 0x27AF4 , + [3696] = 0x7338 , + [3697] = 0x7339 , + [3698] = 0x256F6 , + [3699] = 0x7341 , + [3700] = 0x7348 , + [3701] = 0x3EA9 , + [3702] = 0x27B18 , + [3703] = 0x906C , + [3704] = 0x71F5 , + [3705] = 0x248F2 , + [3706] = 0x73E1 , + [3707] = 0x81F6 , + [3708] = 0x3ECA , + [3709] = 0x770C , + [3710] = 0x3ED1 , + [3711] = 0x6CA2 , + [3712] = 0x56FD , + [3713] = 0x7419 , + [3714] = 0x741E , + [3715] = 0x741F , + [3716] = 0x3EE2 , + [3717] = 0x3EF0 , + [3718] = 0x3EF4 , + [3719] = 0x3EFA , + [3720] = 0x74D3 , + [3721] = 0x3F0E , + [3722] = 0x3F53 , + [3723] = 0x7542 , + [3724] = 0x756D , + [3725] = 0x7572 , + [3726] = 0x758D , + [3727] = 0x3F7C , + [3728] = 0x75C8 , + [3729] = 0x75DC , + [3730] = 0x3FC0 , + [3731] = 0x764D , + [3732] = 0x3FD7 , + [3733] = 0x7674 , + [3734] = 0x3FDC , + [3735] = 0x767A , + [3736] = 0x24F5C , + [3737] = 0x7188 , + [3738] = 0x5623 , + [3739] = 0x8980 , + [3740] = 0x5869 , + [3741] = 0x401D , + [3742] = 0x7743 , + [3743] = 0x4039 , + [3744] = 0x6761 , + [3745] = 0x4045 , + [3746] = 0x35DB , + [3747] = 0x7798 , + [3748] = 0x406A , + [3749] = 0x406F , + [3750] = 0x5C5E , + [3751] = 0x77BE , + [3752] = 0x77CB , + [3753] = 0x58F2 , + [3754] = 0x7818 , + [3755] = 0x70B9 , + [3756] = 0x781C , + [3757] = 0x40A8 , + [3758] = 0x7839 , + [3759] = 0x7847 , + [3760] = 0x7851 , + [3761] = 0x7866 , + [3762] = 0x8448 , + [3763] = 0x25535 , + [3764] = 0x7933 , + [3765] = 0x6803 , + [3766] = 0x7932 , + [3767] = 0x4103 , + [3768] = 0x4109 , + [3769] = 0x7991 , + [3770] = 0x7999 , + [3771] = 0x8FBB , + [3772] = 0x7A06 , + [3773] = 0x8FBC , + [3774] = 0x4167 , + [3775] = 0x7A91 , + [3776] = 0x41B2 , + [3777] = 0x7ABC , + [3778] = 0x8279 , + [3779] = 0x41C4 , + [3780] = 0x7ACF , + [3781] = 0x7ADB , + [3782] = 0x41CF , + [3783] = 0x4E21 , + [3784] = 0x7B62 , + [3785] = 0x7B6C , + [3786] = 0x7B7B , + [3787] = 0x7C12 , + [3788] = 0x7C1B , + [3789] = 0x4260 , + [3790] = 0x427A , + [3791] = 0x7C7B , + [3792] = 0x7C9C , + [3793] = 0x428C , + [3794] = 0x7CB8 , + [3795] = 0x4294 , + [3796] = 0x7CED , + [3797] = 0x8F93 , + [3798] = 0x70C0 , + [3799] = 0x20CCF , + [3800] = 0x7DCF , + [3801] = 0x7DD4 , + [3802] = 0x7DD0 , + [3803] = 0x7DFD , + [3804] = 0x7FAE , + [3805] = 0x7FB4 , + [3806] = 0x729F , + [3807] = 0x4397 , + [3808] = 0x8020 , + [3809] = 0x8025 , + [3810] = 0x7B39 , + [3811] = 0x802E , + [3812] = 0x8031 , + [3813] = 0x8054 , + [3814] = 0x3DCC , + [3815] = 0x57B4 , + [3816] = 0x70A0 , + [3817] = 0x80B7 , + [3818] = 0x80E9 , + [3819] = 0x43ED , + [3820] = 0x810C , + [3821] = 0x732A , + [3822] = 0x810E , + [3823] = 0x8112 , + [3824] = 0x7560 , + [3825] = 0x8114 , + [3826] = 0x4401 , + [3827] = 0x3B39 , + [3828] = 0x8156 , + [3829] = 0x8159 , + [3830] = 0x815A , + [3831] = 0x4413 , + [3832] = 0x583A , + [3833] = 0x817C , + [3834] = 0x8184 , + [3835] = 0x4425 , + [3836] = 0x8193 , + [3837] = 0x442D , + [3838] = 0x81A5 , + [3839] = 0x57EF , + [3840] = 0x81C1 , + [3841] = 0x81E4 , + [3842] = 0x8254 , + [3843] = 0x448F , + [3844] = 0x82A6 , + [3845] = 0x8276 , + [3846] = 0x82CA , + [3847] = 0x82D8 , + [3848] = 0x82FF , + [3849] = 0x44B0 , + [3850] = 0x8357 , + [3851] = 0x9669 , + [3852] = 0x698A , + [3853] = 0x8405 , + [3854] = 0x70F5 , + [3855] = 0x8464 , + [3856] = 0x60E3 , + [3857] = 0x8488 , + [3858] = 0x4504 , + [3859] = 0x84BE , + [3860] = 0x84E1 , + [3861] = 0x84F8 , + [3862] = 0x8510 , + [3863] = 0x8538 , + [3864] = 0x8552 , + [3865] = 0x453B , + [3866] = 0x856F , + [3867] = 0x8570 , + [3868] = 0x85E0 , + [3869] = 0x4577 , + [3870] = 0x8672 , + [3871] = 0x8692 , + [3872] = 0x86B2 , + [3873] = 0x86EF , + [3874] = 0x9645 , + [3875] = 0x878B , + [3876] = 0x4606 , + [3877] = 0x4617 , + [3878] = 0x88AE , + [3879] = 0x88FF , + [3880] = 0x8924 , + [3881] = 0x8947 , + [3882] = 0x8991 , + [3883] = 0x27967 , + [3884] = 0x8A29 , + [3885] = 0x8A38 , + [3886] = 0x8A94 , + [3887] = 0x8AB4 , + [3888] = 0x8C51 , + [3889] = 0x8CD4 , + [3890] = 0x8CF2 , + [3891] = 0x8D1C , + [3892] = 0x4798 , + [3893] = 0x585F , + [3894] = 0x8DC3 , + [3895] = 0x47ED , + [3896] = 0x4EEE , + [3897] = 0x8E3A , + [3898] = 0x55D8 , + [3899] = 0x5754 , + [3900] = 0x8E71 , + [3901] = 0x55F5 , + [3902] = 0x8EB0 , + [3903] = 0x4837 , + [3904] = 0x8ECE , + [3905] = 0x8EE2 , + [3906] = 0x8EE4 , + [3907] = 0x8EED , + [3908] = 0x8EF2 , + [3909] = 0x8FB7 , + [3910] = 0x8FC1 , + [3911] = 0x8FCA , + [3912] = 0x8FCC , + [3913] = 0x9033 , + [3914] = 0x99C4 , + [3915] = 0x48AD , + [3916] = 0x98E0 , + [3917] = 0x9213 , + [3918] = 0x491E , + [3919] = 0x9228 , + [3920] = 0x9258 , + [3921] = 0x926B , + [3922] = 0x92B1 , + [3923] = 0x92AE , + [3924] = 0x92BF , + [3925] = 0x92E3 , + [3926] = 0x92EB , + [3927] = 0x92F3 , + [3928] = 0x92F4 , + [3929] = 0x92FD , + [3930] = 0x9343 , + [3931] = 0x9384 , + [3932] = 0x93AD , + [3933] = 0x4945 , + [3934] = 0x4951 , + [3935] = 0x9EBF , + [3936] = 0x9417 , + [3937] = 0x5301 , + [3938] = 0x941D , + [3939] = 0x942D , + [3940] = 0x943E , + [3941] = 0x496A , + [3942] = 0x9454 , + [3943] = 0x9479 , + [3944] = 0x952D , + [3945] = 0x95A2 , + [3946] = 0x49A7 , + [3947] = 0x95F4 , + [3948] = 0x9633 , + [3949] = 0x49E5 , + [3950] = 0x67A0 , + [3951] = 0x4A24 , + [3952] = 0x9740 , + [3953] = 0x4A35 , + [3954] = 0x97B2 , + [3955] = 0x97C2 , + [3956] = 0x5654 , + [3957] = 0x4AE4 , + [3958] = 0x60E8 , + [3959] = 0x98B9 , + [3960] = 0x4B19 , + [3961] = 0x98F1 , + [3962] = 0x5844 , + [3963] = 0x990E , + [3964] = 0x9919 , + [3965] = 0x51B4 , + [3966] = 0x991C , + [3967] = 0x9937 , + [3968] = 0x9942 , + [3969] = 0x995D , + [3970] = 0x9962 , + [3971] = 0x4B70 , + [3972] = 0x99C5 , + [3973] = 0x4B9D , + [3974] = 0x9A3C , + [3975] = 0x9B0F , + [3976] = 0x7A83 , + [3977] = 0x9B69 , + [3978] = 0x9B81 , + [3979] = 0x9BDD , + [3980] = 0x9BF1 , + [3981] = 0x9BF4 , + [3982] = 0x4C6D , + [3983] = 0x9C20 , + [3984] = 0x376F , + [3985] = 0x21BC2 , + [3986] = 0x9D49 , + [3987] = 0x9C3A , + [3988] = 0x9EFE , + [3989] = 0x5650 , + [3990] = 0x9D93 , + [3991] = 0x9DBD , + [3992] = 0x9DC0 , + [3993] = 0x9DFC , + [3994] = 0x94F6 , + [3995] = 0x8FB6 , + [3996] = 0x9E7B , + [3997] = 0x9EAC , + [3998] = 0x9EB1 , + [3999] = 0x9EBD , + [4000] = 0x9EC6 , + [4001] = 0x94DC , + [4002] = 0x9EE2 , + [4003] = 0x9EF1 , + [4004] = 0x9EF8 , + [4005] = 0x7AC8 , + [4006] = 0x9F44 , + [4007] = 0x20094 , + [4008] = 0x202B7 , + [4009] = 0x203A0 , + [4010] = 0x691A , + [4011] = 0x94C3 , + [4012] = 0x59AC , + [4013] = 0x204D7 , + [4014] = 0x5840 , + [4015] = 0x94C1 , + [4016] = 0x37B9 , + [4017] = 0x205D5 , + [4018] = 0x20615 , + [4019] = 0x20676 , + [4020] = 0x216BA , + [4021] = 0x5757 , + [4022] = 0x7173 , + [4023] = 0x20AC2 , + [4024] = 0x20ACD , + [4025] = 0x20BBF , + [4026] = 0x546A , + [4027] = 0x2F83B , + [4028] = 0x20BCB , + [4029] = 0x549E , + [4030] = 0x20BFB , + [4031] = 0x20C3B , + [4032] = 0x20C53 , + [4033] = 0x20C65 , + [4034] = 0x20C7C , + [4035] = 0x60E7 , + [4036] = 0x20C8D , + [4037] = 0x567A , + [4038] = 0x20CB5 , + [4039] = 0x20CDD , + [4040] = 0x20CED , + [4041] = 0x20D6F , + [4042] = 0x20DB2 , + [4043] = 0x20DC8 , + [4044] = 0x6955 , + [4045] = 0x9C2F , + [4046] = 0x87A5 , + [4047] = 0x20E04 , + [4048] = 0x20E0E , + [4049] = 0x20ED7 , + [4050] = 0x20F90 , + [4051] = 0x20F2D , + [4052] = 0x20E73 , + [4053] = 0x5C20 , + [4054] = 0x20FBC , + [4055] = 0x5E0B , + [4056] = 0x2105C , + [4057] = 0x2104F , + [4058] = 0x21076 , + [4059] = 0x671E , + [4060] = 0x2107B , + [4061] = 0x21088 , + [4062] = 0x21096 , + [4063] = 0x3647 , + [4064] = 0x210BF , + [4065] = 0x210D3 , + [4066] = 0x2112F , + [4067] = 0x2113B , + [4068] = 0x5364 , + [4069] = 0x84AD , + [4070] = 0x212E3 , + [4071] = 0x21375 , + [4072] = 0x21336 , + [4073] = 0x8B81 , + [4074] = 0x21577 , + [4075] = 0x21619 , + [4076] = 0x217C3 , + [4077] = 0x217C7 , + [4078] = 0x4E78 , + [4079] = 0x70BB , + [4080] = 0x2182D , + [4081] = 0x2196A , + [4082] = 0x21A2D , + [4083] = 0x21A45 , + [4084] = 0x21C2A , + [4085] = 0x21C70 , + [4086] = 0x21CAC , + [4087] = 0x21EC8 , + [4088] = 0x62C3 , + [4089] = 0x21ED5 , + [4090] = 0x21F15 , + [4091] = 0x7198 , + [4092] = 0x6855 , + [4093] = 0x22045 , + [4094] = 0x69E9 , + [4095] = 0x36C8 , + [4096] = 0x2227C , + [4097] = 0x223D7 , + [4098] = 0x223FA , + [4099] = 0x2272A , + [4100] = 0x22871 , + [4101] = 0x2294F , + [4102] = 0x82FD , + [4103] = 0x22967 , + [4104] = 0x22993 , + [4105] = 0x22AD5 , + [4106] = 0x89A5 , + [4107] = 0x22AE8 , + [4108] = 0x8FA0 , + [4109] = 0x22B0E , + [4110] = 0x97B8 , + [4111] = 0x22B3F , + [4112] = 0x9847 , + [4113] = 0x9ABD , + [4114] = 0x22C4C , + [4116] = 0x22C88 , + [4117] = 0x22CB7 , + [4118] = 0x25BE8 , + [4119] = 0x22D08 , + [4120] = 0x22D12 , + [4121] = 0x22DB7 , + [4122] = 0x22D95 , + [4123] = 0x22E42 , + [4124] = 0x22F74 , + [4125] = 0x22FCC , + [4126] = 0x23033 , + [4127] = 0x23066 , + [4128] = 0x2331F , + [4129] = 0x233DE , + [4130] = 0x5FB1 , + [4131] = 0x6648 , + [4132] = 0x66BF , + [4133] = 0x27A79 , + [4134] = 0x23567 , + [4135] = 0x235F3 , + [4136] = 0x7201 , + [4137] = 0x249BA , + [4138] = 0x77D7 , + [4139] = 0x2361A , + [4140] = 0x23716 , + [4141] = 0x7E87 , + [4142] = 0x20346 , + [4143] = 0x58B5 , + [4144] = 0x670E , + [4145] = 0x6918 , + [4146] = 0x23AA7 , + [4147] = 0x27657 , + [4148] = 0x25FE2 , + [4149] = 0x23E11 , + [4150] = 0x23EB9 , + [4151] = 0x275FE , + [4152] = 0x2209A , + [4153] = 0x48D0 , + [4154] = 0x4AB8 , + [4155] = 0x24119 , + [4156] = 0x28A9A , + [4157] = 0x242EE , + [4158] = 0x2430D , + [4159] = 0x2403B , + [4160] = 0x24334 , + [4161] = 0x24396 , + [4162] = 0x24A45 , + [4163] = 0x205CA , + [4164] = 0x51D2 , + [4165] = 0x20611 , + [4166] = 0x599F , + [4167] = 0x21EA8 , + [4168] = 0x3BBE , + [4169] = 0x23CFF , + [4170] = 0x24404 , + [4171] = 0x244D6 , + [4172] = 0x5788 , + [4173] = 0x24674 , + [4174] = 0x399B , + [4175] = 0x2472F , + [4176] = 0x285E8 , + [4177] = 0x299C9 , + [4178] = 0x3762 , + [4179] = 0x221C3 , + [4180] = 0x8B5E , + [4181] = 0x28B4E , + [4182] = 0x99D6 , + [4183] = 0x24812 , + [4184] = 0x248FB , + [4185] = 0x24A15 , + [4186] = 0x7209 , + [4187] = 0x24AC0 , + [4188] = 0x20C78 , + [4189] = 0x5965 , + [4190] = 0x24EA5 , + [4191] = 0x24F86 , + [4192] = 0x20779 , + [4193] = 0x8EDA , + [4194] = 0x2502C , + [4195] = 0x528F , + [4196] = 0x573F , + [4197] = 0x7171 , + [4198] = 0x25299 , + [4199] = 0x25419 , + [4200] = 0x23F4A , + [4201] = 0x24AA7 , + [4202] = 0x55BC , + [4203] = 0x25446 , + [4204] = 0x2546E , + [4205] = 0x26B52 , + [4206] = 0x91D4 , + [4207] = 0x3473 , + [4208] = 0x2553F , + [4209] = 0x27632 , + [4210] = 0x2555E , + [4211] = 0x4718 , + [4212] = 0x25562 , + [4213] = 0x25566 , + [4214] = 0x257C7 , + [4215] = 0x2493F , + [4216] = 0x2585D , + [4217] = 0x5066 , + [4218] = 0x34FB , + [4219] = 0x233CC , + [4220] = 0x60DE , + [4221] = 0x25903 , + [4222] = 0x477C , + [4223] = 0x28948 , + [4224] = 0x25AAE , + [4225] = 0x25B89 , + [4226] = 0x25C06 , + [4227] = 0x21D90 , + [4228] = 0x57A1 , + [4229] = 0x7151 , + [4230] = 0x6FB6 , + [4231] = 0x26102 , + [4232] = 0x27C12 , + [4233] = 0x9056 , + [4234] = 0x261B2 , + [4235] = 0x24F9A , + [4236] = 0x8B62 , + [4237] = 0x26402 , + [4238] = 0x2644A , + [4239] = 0x5D5B , + [4240] = 0x26BF7 , + [4241] = 0x8F36 , + [4242] = 0x26484 , + [4243] = 0x2191C , + [4244] = 0x8AEA , + [4245] = 0x249F6 , + [4246] = 0x26488 , + [4247] = 0x23FEF , + [4248] = 0x26512 , + [4249] = 0x4BC0 , + [4250] = 0x265BF , + [4251] = 0x266B5 , + [4252] = 0x2271B , + [4253] = 0x9465 , + [4254] = 0x257E1 , + [4255] = 0x6195 , + [4256] = 0x5A27 , + [4257] = 0x2F8CD , + [4258] = 0x4FBB , + [4259] = 0x56B9 , + [4260] = 0x24521 , + [4261] = 0x266FC , + [4262] = 0x4E6A , + [4263] = 0x24934 , + [4264] = 0x9656 , + [4265] = 0x6D8F , + [4266] = 0x26CBD , + [4267] = 0x3618 , + [4268] = 0x8977 , + [4269] = 0x26799 , + [4270] = 0x2686E , + [4271] = 0x26411 , + [4272] = 0x2685E , + [4273] = 0x71DF , + [4274] = 0x268C7 , + [4275] = 0x7B42 , + [4276] = 0x290C0 , + [4277] = 0x20A11 , + [4278] = 0x26926 , + [4279] = 0x9104 , + [4280] = 0x26939 , + [4281] = 0x7A45 , + [4282] = 0x9DF0 , + [4283] = 0x269FA , + [4284] = 0x9A26 , + [4285] = 0x26A2D , + [4286] = 0x365F , + [4287] = 0x26469 , + [4288] = 0x20021 , + [4289] = 0x7983 , + [4290] = 0x26A34 , + [4291] = 0x26B5B , + [4292] = 0x5D2C , + [4293] = 0x23519 , + [4294] = 0x83CF , + [4295] = 0x26B9D , + [4296] = 0x46D0 , + [4297] = 0x26CA4 , + [4298] = 0x753B , + [4299] = 0x8865 , + [4300] = 0x26DAE , + [4301] = 0x58B6 , + [4302] = 0x371C , + [4303] = 0x2258D , + [4304] = 0x2704B , + [4305] = 0x271CD , + [4306] = 0x3C54 , + [4307] = 0x27280 , + [4308] = 0x27285 , + [4309] = 0x9281 , + [4310] = 0x2217A , + [4311] = 0x2728B , + [4312] = 0x9330 , + [4313] = 0x272E6 , + [4314] = 0x249D0 , + [4315] = 0x6C39 , + [4316] = 0x949F , + [4317] = 0x27450 , + [4318] = 0x20EF8 , + [4319] = 0x8827 , + [4320] = 0x88F5 , + [4321] = 0x22926 , + [4322] = 0x28473 , + [4323] = 0x217B1 , + [4324] = 0x6EB8 , + [4325] = 0x24A2A , + [4326] = 0x21820 , + [4327] = 0x39A4 , + [4328] = 0x36B9 , + [4329] = 0x5C10 , + [4330] = 0x79E3 , + [4331] = 0x453F , + [4332] = 0x66B6 , + [4333] = 0x29CAD , + [4334] = 0x298A4 , + [4335] = 0x8943 , + [4336] = 0x277CC , + [4337] = 0x27858 , + [4338] = 0x56D6 , + [4339] = 0x40DF , + [4340] = 0x2160A , + [4341] = 0x39A1 , + [4342] = 0x2372F , + [4343] = 0x280E8 , + [4344] = 0x213C5 , + [4345] = 0x71AD , + [4346] = 0x8366 , + [4347] = 0x279DD , + [4348] = 0x291A8 , + [4349] = 0x5A67 , + [4350] = 0x4CB7 , + [4351] = 0x270AF , + [4352] = 0x289AB , + [4353] = 0x279FD , + [4354] = 0x27A0A , + [4355] = 0x27B0B , + [4356] = 0x27D66 , + [4357] = 0x2417A , + [4358] = 0x7B43 , + [4359] = 0x797E , + [4360] = 0x28009 , + [4361] = 0x6FB5 , + [4362] = 0x2A2DF , + [4363] = 0x6A03 , + [4364] = 0x28318 , + [4365] = 0x53A2 , + [4366] = 0x26E07 , + [4367] = 0x93BF , + [4368] = 0x6836 , + [4369] = 0x975D , + [4370] = 0x2816F , + [4371] = 0x28023 , + [4372] = 0x269B5 , + [4373] = 0x213ED , + [4374] = 0x2322F , + [4375] = 0x28048 , + [4376] = 0x5D85 , + [4377] = 0x28C30 , + [4378] = 0x28083 , + [4379] = 0x5715 , + [4380] = 0x9823 , + [4381] = 0x28949 , + [4382] = 0x5DAB , + [4383] = 0x24988 , + [4384] = 0x65BE , + [4385] = 0x69D5 , + [4386] = 0x53D2 , + [4387] = 0x24AA5 , + [4388] = 0x23F81 , + [4389] = 0x3C11 , + [4390] = 0x6736 , + [4391] = 0x28090 , + [4392] = 0x280F4 , + [4393] = 0x2812E , + [4394] = 0x21FA1 , + [4395] = 0x2814F , + [4396] = 0x28189 , + [4397] = 0x281AF , + [4398] = 0x2821A , + [4399] = 0x28306 , + [4400] = 0x2832F , + [4401] = 0x2838A , + [4402] = 0x35CA , + [4403] = 0x28468 , + [4404] = 0x286AA , + [4405] = 0x48FA , + [4406] = 0x63E6 , + [4407] = 0x28956 , + [4408] = 0x7808 , + [4409] = 0x9255 , + [4410] = 0x289B8 , + [4411] = 0x43F2 , + [4412] = 0x289E7 , + [4413] = 0x43DF , + [4414] = 0x289E8 , + [4415] = 0x28B46 , + [4416] = 0x28BD4 , + [4417] = 0x59F8 , + [4418] = 0x28C09 , + [4419] = 0x8F0B , + [4420] = 0x28FC5 , + [4421] = 0x290EC , + [4422] = 0x7B51 , + [4423] = 0x29110 , + [4424] = 0x2913C , + [4425] = 0x3DF7 , + [4426] = 0x2915E , + [4427] = 0x24ACA , + [4428] = 0x8FD0 , + [4429] = 0x728F , + [4430] = 0x568B , + [4431] = 0x294E7 , + [4432] = 0x295E9 , + [4433] = 0x295B0 , + [4434] = 0x295B8 , + [4435] = 0x29732 , + [4436] = 0x298D1 , + [4437] = 0x29949 , + [4438] = 0x2996A , + [4439] = 0x299C3 , + [4440] = 0x29A28 , + [4441] = 0x29B0E , + [4442] = 0x29D5A , + [4443] = 0x29D9B , + [4444] = 0x7E9F , + [4445] = 0x29EF8 , + [4446] = 0x29F23 , + [4447] = 0x4CA4 , + [4448] = 0x9547 , + [4449] = 0x2A293 , + [4450] = 0x71A2 , + [4451] = 0x2A2FF , + [4452] = 0x4D91 , + [4453] = 0x9012 , + [4454] = 0x2A5CB , + [4455] = 0x4D9C , + [4456] = 0x20C9C , + [4457] = 0x8FBE , + [4458] = 0x55C1 , + [4459] = 0x8FBA , + [4460] = 0x224B0 , + [4461] = 0x8FB9 , + [4462] = 0x24A93 , + [4463] = 0x4509 , + [4464] = 0x7E7F , + [4465] = 0x6F56 , + [4466] = 0x6AB1 , + [4467] = 0x4EEA , + [4468] = 0x34E4 , + [4469] = 0x28B2C , + [4470] = 0x2789D , + [4471] = 0x373A , + [4472] = 0x8E80 , + [4473] = 0x217F5 , + [4474] = 0x28024 , + [4475] = 0x28B6C , + [4476] = 0x28B99 , + [4477] = 0x27A3E , + [4478] = 0x266AF , + [4479] = 0x3DEB , + [4480] = 0x27655 , + [4481] = 0x23CB7 , + [4482] = 0x25635 , + [4483] = 0x25956 , + [4484] = 0x4E9A , + [4485] = 0x25E81 , + [4486] = 0x26258 , + [4487] = 0x56BF , + [4488] = 0x20E6D , + [4489] = 0x8E0E , + [4490] = 0x5B6D , + [4491] = 0x23E88 , + [4492] = 0x24C9E , + [4493] = 0x63DE , + [4494] = 0x62D0 , + [4495] = 0x217F6 , + [4496] = 0x2187B , + [4497] = 0x6530 , + [4498] = 0x562D , + [4499] = 0x25C4A , + [4500] = 0x541A , + [4501] = 0x25311 , + [4502] = 0x3DC6 , + [4503] = 0x29D98 , + [4504] = 0x4C7D , + [4505] = 0x5622 , + [4506] = 0x561E , + [4507] = 0x7F49 , + [4508] = 0x25ED8 , + [4509] = 0x5975 , + [4510] = 0x23D40 , + [4511] = 0x8770 , + [4512] = 0x4E1C , + [4513] = 0x20FEA , + [4514] = 0x20D49 , + [4515] = 0x236BA , + [4516] = 0x8117 , + [4517] = 0x9D5E , + [4518] = 0x8D18 , + [4519] = 0x763B , + [4520] = 0x9C45 , + [4521] = 0x764E , + [4522] = 0x77B9 , + [4523] = 0x9345 , + [4524] = 0x5432 , + [4525] = 0x8148 , + [4526] = 0x82F7 , + [4527] = 0x5625 , + [4528] = 0x8132 , + [4529] = 0x8418 , + [4530] = 0x80BD , + [4531] = 0x55EA , + [4532] = 0x7962 , + [4533] = 0x5643 , + [4534] = 0x5416 , + [4535] = 0x20E9D , + [4536] = 0x35CE , + [4537] = 0x5605 , + [4538] = 0x55F1 , + [4539] = 0x66F1 , + [4540] = 0x282E2 , + [4541] = 0x362D , + [4542] = 0x7534 , + [4543] = 0x55F0 , + [4544] = 0x55BA , + [4545] = 0x5497 , + [4546] = 0x5572 , + [4547] = 0x20C41 , + [4548] = 0x20C96 , + [4549] = 0x5ED0 , + [4550] = 0x25148 , + [4551] = 0x20E76 , + [4552] = 0x22C62 , + [4553] = 0x20EA2 , + [4554] = 0x9EAB , + [4555] = 0x7D5A , + [4556] = 0x55DE , + [4557] = 0x21075 , + [4558] = 0x629D , + [4559] = 0x976D , + [4560] = 0x5494 , + [4561] = 0x8CCD , + [4562] = 0x71F6 , + [4563] = 0x9176 , + [4564] = 0x63FC , + [4565] = 0x63B9 , + [4566] = 0x63FE , + [4567] = 0x5569 , + [4568] = 0x22B43 , + [4569] = 0x9C72 , + [4570] = 0x22EB3 , + [4571] = 0x519A , + [4572] = 0x34DF , + [4573] = 0x20DA7 , + [4574] = 0x51A7 , + [4575] = 0x544D , + [4576] = 0x551E , + [4577] = 0x5513 , + [4578] = 0x7666 , + [4579] = 0x8E2D , + [4580] = 0x2688A , + [4581] = 0x75B1 , + [4582] = 0x80B6 , + [4583] = 0x8804 , + [4584] = 0x8786 , + [4585] = 0x88C7 , + [4586] = 0x81B6 , + [4587] = 0x841C , + [4588] = 0x210C1 , + [4589] = 0x44EC , + [4590] = 0x7304 , + [4591] = 0x24706 , + [4592] = 0x5B90 , + [4593] = 0x830B , + [4594] = 0x26893 , + [4595] = 0x567B , + [4596] = 0x226F4 , + [4597] = 0x27D2F , + [4598] = 0x241A3 , + [4599] = 0x27D73 , + [4600] = 0x26ED0 , + [4601] = 0x272B6 , + [4602] = 0x9170 , + [4603] = 0x211D9 , + [4604] = 0x9208 , + [4605] = 0x23CFC , + [4606] = 0x2A6A9 , + [4607] = 0x20EAC , + [4608] = 0x20EF9 , + [4609] = 0x7266 , + [4610] = 0x21CA2 , + [4611] = 0x474E , + [4612] = 0x24FC2 , + [4613] = 0x27FF9 , + [4614] = 0x20FEB , + [4615] = 0x40FA , + [4616] = 0x9C5D , + [4617] = 0x651F , + [4618] = 0x22DA0 , + [4619] = 0x48F3 , + [4620] = 0x247E0 , + [4621] = 0x29D7C , + [4622] = 0x20FEC , + [4623] = 0x20E0A , + [4624] = 0x6062 , + [4625] = 0x275A3 , + [4626] = 0x20FED , + [4628] = 0x26048 , + [4629] = 0x21187 , + [4630] = 0x71A3 , + [4631] = 0x7E8E , + [4632] = 0x9D50 , + [4633] = 0x4E1A , + [4634] = 0x4E04 , + [4635] = 0x3577 , + [4636] = 0x5B0D , + [4637] = 0x6CB2 , + [4638] = 0x5367 , + [4639] = 0x36AC , + [4640] = 0x39DC , + [4641] = 0x537D , + [4642] = 0x36A5 , + [4643] = 0x24618 , + [4644] = 0x589A , + [4645] = 0x24B6E , + [4646] = 0x822D , + [4647] = 0x544B , + [4648] = 0x57AA , + [4649] = 0x25A95 , + [4650] = 0x20979 , + [4652] = 0x3A52 , + [4653] = 0x22465 , + [4654] = 0x7374 , + [4655] = 0x29EAC , + [4656] = 0x4D09 , + [4657] = 0x9BED , + [4658] = 0x23CFE , + [4659] = 0x29F30 , + [4660] = 0x4C5B , + [4661] = 0x24FA9 , + [4662] = 0x2959E , + [4663] = 0x29FDE , + [4664] = 0x845C , + [4665] = 0x23DB6 , + [4666] = 0x272B2 , + [4667] = 0x267B3 , + [4668] = 0x23720 , + [4669] = 0x632E , + [4670] = 0x7D25 , + [4671] = 0x23EF7 , + [4672] = 0x23E2C , + [4673] = 0x3A2A , + [4674] = 0x9008 , + [4675] = 0x52CC , + [4676] = 0x3E74 , + [4677] = 0x367A , + [4678] = 0x45E9 , + [4679] = 0x2048E , + [4680] = 0x7640 , + [4681] = 0x5AF0 , + [4682] = 0x20EB6 , + [4683] = 0x787A , + [4684] = 0x27F2E , + [4685] = 0x58A7 , + [4686] = 0x40BF , + [4687] = 0x567C , + [4688] = 0x9B8B , + [4689] = 0x5D74 , + [4690] = 0x7654 , + [4691] = 0x2A434 , + [4692] = 0x9E85 , + [4693] = 0x4CE1 , + [4694] = 0x75F9 , + [4695] = 0x37FB , + [4696] = 0x6119 , + [4697] = 0x230DA , + [4698] = 0x243F2 , + [4700] = 0x565D , + [4701] = 0x212A9 , + [4702] = 0x57A7 , + [4703] = 0x24963 , + [4704] = 0x29E06 , + [4705] = 0x5234 , + [4706] = 0x270AE , + [4707] = 0x35AD , + [4708] = 0x6C4A , + [4709] = 0x9D7C , + [4710] = 0x7C56 , + [4711] = 0x9B39 , + [4712] = 0x57DE , + [4713] = 0x2176C , + [4714] = 0x5C53 , + [4715] = 0x64D3 , + [4716] = 0x294D0 , + [4717] = 0x26335 , + [4718] = 0x27164 , + [4719] = 0x86AD , + [4720] = 0x20D28 , + [4721] = 0x26D22 , + [4722] = 0x24AE2 , + [4723] = 0x20D71 , + [4725] = 0x51FE , + [4726] = 0x21F0F , + [4727] = 0x5D8E , + [4728] = 0x9703 , + [4729] = 0x21DD1 , + [4730] = 0x9E81 , + [4731] = 0x904C , + [4732] = 0x7B1F , + [4733] = 0x9B02 , + [4734] = 0x5CD1 , + [4735] = 0x7BA3 , + [4736] = 0x6268 , + [4737] = 0x6335 , + [4738] = 0x9AFF , + [4739] = 0x7BCF , + [4740] = 0x9B2A , + [4741] = 0x7C7E , + [4742] = 0x9B2E , + [4743] = 0x7C42 , + [4744] = 0x7C86 , + [4745] = 0x9C15 , + [4746] = 0x7BFC , + [4747] = 0x9B09 , + [4748] = 0x9F17 , + [4749] = 0x9C1B , + [4750] = 0x2493E , + [4751] = 0x9F5A , + [4752] = 0x5573 , + [4753] = 0x5BC3 , + [4754] = 0x4FFD , + [4755] = 0x9E98 , + [4756] = 0x4FF2 , + [4757] = 0x5260 , + [4758] = 0x3E06 , + [4759] = 0x52D1 , + [4760] = 0x5767 , + [4761] = 0x5056 , + [4762] = 0x59B7 , + [4763] = 0x5E12 , + [4764] = 0x97C8 , + [4765] = 0x9DAB , + [4766] = 0x8F5C , + [4767] = 0x5469 , + [4768] = 0x97B4 , + [4769] = 0x9940 , + [4770] = 0x97BA , + [4771] = 0x532C , + [4772] = 0x6130 , + [4773] = 0x692C , + [4774] = 0x53DA , + [4775] = 0x9C0A , + [4776] = 0x9D02 , + [4777] = 0x4C3B , + [4778] = 0x9641 , + [4779] = 0x6980 , + [4780] = 0x50A6 , + [4781] = 0x7546 , + [4782] = 0x2176D , + [4783] = 0x99DA , + [4784] = 0x5273 , + [4786] = 0x9159 , + [4787] = 0x9681 , + [4788] = 0x915C , + [4790] = 0x9151 , + [4791] = 0x28E97 , + [4792] = 0x637F , + [4793] = 0x26D23 , + [4794] = 0x6ACA , + [4795] = 0x5611 , + [4796] = 0x918E , + [4797] = 0x757A , + [4798] = 0x6285 , + [4799] = 0x203FC , + [4800] = 0x734F , + [4801] = 0x7C70 , + [4802] = 0x25C21 , + [4803] = 0x23CFD , + [4805] = 0x24919 , + [4806] = 0x76D6 , + [4807] = 0x9B9D , + [4808] = 0x4E2A , + [4809] = 0x20CD4 , + [4810] = 0x83BE , + [4811] = 0x8842 , + [4813] = 0x5C4A , + [4814] = 0x69C0 , + [4815] = 0x50ED , + [4816] = 0x577A , + [4817] = 0x521F , + [4818] = 0x5DF5 , + [4819] = 0x4ECE , + [4820] = 0x6C31 , + [4821] = 0x201F2 , + [4822] = 0x4F39 , + [4823] = 0x549C , + [4824] = 0x54DA , + [4825] = 0x529A , + [4826] = 0x8D82 , + [4827] = 0x35FE , + [4828] = 0x5F0C , + [4829] = 0x35F3 , + [4831] = 0x6B52 , + [4832] = 0x917C , + [4833] = 0x9FA5 , + [4834] = 0x9B97 , + [4835] = 0x982E , + [4836] = 0x98B4 , + [4837] = 0x9ABA , + [4838] = 0x9EA8 , + [4839] = 0x9E84 , + [4840] = 0x717A , + [4841] = 0x7B14 , + [4843] = 0x6BFA , + [4844] = 0x8818 , + [4845] = 0x7F78 , + [4847] = 0x5620 , + [4848] = 0x2A64A , + [4849] = 0x8E77 , + [4850] = 0x9F53 , + [4852] = 0x8DD4 , + [4853] = 0x8E4F , + [4854] = 0x9E1C , + [4855] = 0x8E01 , + [4856] = 0x6282 , + [4857] = 0x2837D , + [4858] = 0x8E28 , + [4859] = 0x8E75 , + [4860] = 0x7AD3 , + [4861] = 0x24A77 , + [4862] = 0x7A3E , + [4863] = 0x78D8 , + [4864] = 0x6CEA , + [4865] = 0x8A67 , + [4866] = 0x7607 , + [4867] = 0x28A5A , + [4868] = 0x9F26 , + [4869] = 0x6CCE , + [4870] = 0x87D6 , + [4871] = 0x75C3 , + [4872] = 0x2A2B2 , + [4873] = 0x7853 , + [4874] = 0x2F840 , + [4875] = 0x8D0C , + [4876] = 0x72E2 , + [4877] = 0x7371 , + [4878] = 0x8B2D , + [4879] = 0x7302 , + [4880] = 0x74F1 , + [4881] = 0x8CEB , + [4882] = 0x24ABB , + [4883] = 0x862F , + [4884] = 0x5FBA , + [4885] = 0x88A0 , + [4886] = 0x44B7 , + [4888] = 0x2183B , + [4889] = 0x26E05 , + [4891] = 0x8A7E , + [4892] = 0x2251B , + [4894] = 0x60FD , + [4895] = 0x7667 , + [4896] = 0x9AD7 , + [4897] = 0x9D44 , + [4898] = 0x936E , + [4899] = 0x9B8F , + [4900] = 0x87F5 , + [4902] = 0x880F , + [4903] = 0x8CF7 , + [4904] = 0x732C , + [4905] = 0x9721 , + [4906] = 0x9BB0 , + [4907] = 0x35D6 , + [4908] = 0x72B2 , + [4909] = 0x4C07 , + [4910] = 0x7C51 , + [4911] = 0x994A , + [4912] = 0x26159 , + [4913] = 0x6159 , + [4914] = 0x4C04 , + [4915] = 0x9E96 , + [4916] = 0x617D , + [4918] = 0x575F , + [4919] = 0x616F , + [4920] = 0x62A6 , + [4921] = 0x6239 , + [4922] = 0x62CE , + [4923] = 0x3A5C , + [4924] = 0x61E2 , + [4925] = 0x53AA , + [4926] = 0x233F5 , + [4927] = 0x6364 , + [4928] = 0x6802 , + [4929] = 0x35D2 , + [4930] = 0x5D57 , + [4931] = 0x28BC2 , + [4932] = 0x8FDA , + [4933] = 0x28E39 , + [4935] = 0x50D9 , + [4936] = 0x21D46 , + [4937] = 0x7906 , + [4938] = 0x5332 , + [4939] = 0x9638 , + [4940] = 0x20F3B , + [4941] = 0x4065 , + [4943] = 0x77FE , + [4945] = 0x7CC2 , + [4946] = 0x25F1A , + [4947] = 0x7CDA , + [4948] = 0x7A2D , + [4949] = 0x8066 , + [4950] = 0x8063 , + [4951] = 0x7D4D , + [4952] = 0x7505 , + [4953] = 0x74F2 , + [4954] = 0x8994 , + [4955] = 0x821A , + [4956] = 0x670C , + [4957] = 0x8062 , + [4958] = 0x27486 , + [4959] = 0x805B , + [4960] = 0x74F0 , + [4961] = 0x8103 , + [4962] = 0x7724 , + [4963] = 0x8989 , + [4964] = 0x267CC , + [4965] = 0x7553 , + [4966] = 0x26ED1 , + [4967] = 0x87A9 , + [4968] = 0x87CE , + [4969] = 0x81C8 , + [4970] = 0x878C , + [4971] = 0x8A49 , + [4972] = 0x8CAD , + [4973] = 0x8B43 , + [4974] = 0x772B , + [4975] = 0x74F8 , + [4976] = 0x84DA , + [4977] = 0x3635 , + [4978] = 0x69B2 , + [4979] = 0x8DA6 , + [4981] = 0x89A9 , + [4982] = 0x7468 , + [4983] = 0x6DB9 , + [4984] = 0x87C1 , + [4985] = 0x24011 , + [4986] = 0x74E7 , + [4987] = 0x3DDB , + [4988] = 0x7176 , + [4989] = 0x60A4 , + [4990] = 0x619C , + [4991] = 0x3CD1 , + [4992] = 0x7162 , + [4993] = 0x6077 , + [4995] = 0x7F71 , + [4996] = 0x28B2D , + [4997] = 0x7250 , + [4998] = 0x60E9 , + [4999] = 0x4B7E , + [5000] = 0x5220 , + [5001] = 0x3C18 , + [5002] = 0x23CC7 , + [5003] = 0x25ED7 , + [5004] = 0x27656 , + [5005] = 0x25531 , + [5006] = 0x21944 , + [5007] = 0x212FE , + [5008] = 0x29903 , + [5009] = 0x26DDC , + [5010] = 0x270AD , + [5011] = 0x5CC1 , + [5012] = 0x261AD , + [5013] = 0x28A0F , + [5014] = 0x23677 , + [5015] = 0x200EE , + [5016] = 0x26846 , + [5017] = 0x24F0E , + [5018] = 0x4562 , + [5019] = 0x5B1F , + [5020] = 0x2634C , + [5021] = 0x9F50 , + [5022] = 0x9EA6 , + [5023] = 0x2626B , + [5024] = 0x3000 , + [5025] = 0xFF0C , + [5026] = 0x3001 , + [5027] = 0x3002 , + [5028] = 0xFF0E , + [5029] = 0x2027 , + [5030] = 0xFF1B , + [5031] = 0xFF1A , + [5032] = 0xFF1F , + [5033] = 0xFF01 , + [5034] = 0xFE30 , + [5035] = 0x2026 , + [5036] = 0x2025 , + [5037] = 0xFE50 , + [5038] = 0xFE51 , + [5039] = 0xFE52 , + [5040] = 0x00B7 , + [5041] = 0xFE54 , + [5042] = 0xFE55 , + [5043] = 0xFE56 , + [5044] = 0xFE57 , + [5045] = 0xFF5C , + [5046] = 0x2013 , + [5047] = 0xFE31 , + [5048] = 0x2014 , + [5049] = 0xFE33 , + [5050] = 0x2574 , + [5051] = 0xFE34 , + [5052] = 0xFE4F , + [5053] = 0xFF08 , + [5054] = 0xFF09 , + [5055] = 0xFE35 , + [5056] = 0xFE36 , + [5057] = 0xFF5B , + [5058] = 0xFF5D , + [5059] = 0xFE37 , + [5060] = 0xFE38 , + [5061] = 0x3014 , + [5062] = 0x3015 , + [5063] = 0xFE39 , + [5064] = 0xFE3A , + [5065] = 0x3010 , + [5066] = 0x3011 , + [5067] = 0xFE3B , + [5068] = 0xFE3C , + [5069] = 0x300A , + [5070] = 0x300B , + [5071] = 0xFE3D , + [5072] = 0xFE3E , + [5073] = 0x3008 , + [5074] = 0x3009 , + [5075] = 0xFE3F , + [5076] = 0xFE40 , + [5077] = 0x300C , + [5078] = 0x300D , + [5079] = 0xFE41 , + [5080] = 0xFE42 , + [5081] = 0x300E , + [5082] = 0x300F , + [5083] = 0xFE43 , + [5084] = 0xFE44 , + [5085] = 0xFE59 , + [5086] = 0xFE5A , + [5087] = 0xFE5B , + [5088] = 0xFE5C , + [5089] = 0xFE5D , + [5090] = 0xFE5E , + [5091] = 0x2018 , + [5092] = 0x2019 , + [5093] = 0x201C , + [5094] = 0x201D , + [5095] = 0x301D , + [5096] = 0x301E , + [5097] = 0x2035 , + [5098] = 0x2032 , + [5099] = 0xFF03 , + [5100] = 0xFF06 , + [5101] = 0xFF0A , + [5102] = 0x203B , + [5103] = 0x00A7 , + [5104] = 0x3003 , + [5105] = 0x25CB , + [5106] = 0x25CF , + [5107] = 0x25B3 , + [5108] = 0x25B2 , + [5109] = 0x25CE , + [5110] = 0x2606 , + [5111] = 0x2605 , + [5112] = 0x25C7 , + [5113] = 0x25C6 , + [5114] = 0x25A1 , + [5115] = 0x25A0 , + [5116] = 0x25BD , + [5117] = 0x25BC , + [5118] = 0x32A3 , + [5119] = 0x2105 , + [5120] = 0x00AF , + [5121] = 0xFFE3 , + [5122] = 0xFF3F , + [5123] = 0x02CD , + [5124] = 0xFE49 , + [5125] = 0xFE4A , + [5126] = 0xFE4D , + [5127] = 0xFE4E , + [5128] = 0xFE4B , + [5129] = 0xFE4C , + [5130] = 0xFE5F , + [5131] = 0xFE60 , + [5132] = 0xFE61 , + [5133] = 0xFF0B , + [5134] = 0xFF0D , + [5135] = 0x00D7 , + [5136] = 0x00F7 , + [5137] = 0x00B1 , + [5138] = 0x221A , + [5139] = 0xFF1C , + [5140] = 0xFF1E , + [5141] = 0xFF1D , + [5142] = 0x2266 , + [5143] = 0x2267 , + [5144] = 0x2260 , + [5145] = 0x221E , + [5146] = 0x2252 , + [5147] = 0x2261 , + [5148] = 0xFE62 , + [5149] = 0xFE63 , + [5150] = 0xFE64 , + [5151] = 0xFE65 , + [5152] = 0xFE66 , + [5153] = 0xFF5E , + [5154] = 0x2229 , + [5155] = 0x222A , + [5156] = 0x22A5 , + [5157] = 0x2220 , + [5158] = 0x221F , + [5159] = 0x22BF , + [5160] = 0x33D2 , + [5161] = 0x33D1 , + [5162] = 0x222B , + [5163] = 0x222E , + [5164] = 0x2235 , + [5165] = 0x2234 , + [5166] = 0x2640 , + [5167] = 0x2642 , + [5168] = 0x2295 , + [5169] = 0x2299 , + [5170] = 0x2191 , + [5171] = 0x2193 , + [5172] = 0x2190 , + [5173] = 0x2192 , + [5174] = 0x2196 , + [5175] = 0x2197 , + [5176] = 0x2199 , + [5177] = 0x2198 , + [5178] = 0x2225 , + [5179] = 0x2223 , + [5180] = 0xFF0F , + [5181] = 0xFF3C , + [5182] = 0x2215 , + [5183] = 0xFE68 , + [5184] = 0xFF04 , + [5185] = 0xFFE5 , + [5186] = 0x3012 , + [5187] = 0xFFE0 , + [5188] = 0xFFE1 , + [5189] = 0xFF05 , + [5190] = 0xFF20 , + [5191] = 0x2103 , + [5192] = 0x2109 , + [5193] = 0xFE69 , + [5194] = 0xFE6A , + [5195] = 0xFE6B , + [5196] = 0x33D5 , + [5197] = 0x339C , + [5198] = 0x339D , + [5199] = 0x339E , + [5200] = 0x33CE , + [5201] = 0x33A1 , + [5202] = 0x338E , + [5203] = 0x338F , + [5204] = 0x33C4 , + [5205] = 0x00B0 , + [5206] = 0x5159 , + [5207] = 0x515B , + [5208] = 0x515E , + [5209] = 0x515D , + [5210] = 0x5161 , + [5211] = 0x5163 , + [5212] = 0x55E7 , + [5213] = 0x74E9 , + [5214] = 0x7CCE , + [5215] = 0x2581 , + [5216] = 0x2582 , + [5217] = 0x2583 , + [5218] = 0x2584 , + [5219] = 0x2585 , + [5220] = 0x2586 , + [5221] = 0x2587 , + [5222] = 0x2588 , + [5223] = 0x258F , + [5224] = 0x258E , + [5225] = 0x258D , + [5226] = 0x258C , + [5227] = 0x258B , + [5228] = 0x258A , + [5229] = 0x2589 , + [5230] = 0x253C , + [5231] = 0x2534 , + [5232] = 0x252C , + [5233] = 0x2524 , + [5234] = 0x251C , + [5235] = 0x2594 , + [5236] = 0x2500 , + [5237] = 0x2502 , + [5238] = 0x2595 , + [5239] = 0x250C , + [5240] = 0x2510 , + [5241] = 0x2514 , + [5242] = 0x2518 , + [5243] = 0x256D , + [5244] = 0x256E , + [5245] = 0x2570 , + [5246] = 0x256F , + [5247] = 0x2550 , + [5248] = 0x255E , + [5249] = 0x256A , + [5250] = 0x2561 , + [5251] = 0x25E2 , + [5252] = 0x25E3 , + [5253] = 0x25E5 , + [5254] = 0x25E4 , + [5255] = 0x2571 , + [5256] = 0x2572 , + [5257] = 0x2573 , + [5258] = 0xFF10 , + [5259] = 0xFF11 , + [5260] = 0xFF12 , + [5261] = 0xFF13 , + [5262] = 0xFF14 , + [5263] = 0xFF15 , + [5264] = 0xFF16 , + [5265] = 0xFF17 , + [5266] = 0xFF18 , + [5267] = 0xFF19 , + [5268] = 0x2160 , + [5269] = 0x2161 , + [5270] = 0x2162 , + [5271] = 0x2163 , + [5272] = 0x2164 , + [5273] = 0x2165 , + [5274] = 0x2166 , + [5275] = 0x2167 , + [5276] = 0x2168 , + [5277] = 0x2169 , + [5278] = 0x3021 , + [5279] = 0x3022 , + [5280] = 0x3023 , + [5281] = 0x3024 , + [5282] = 0x3025 , + [5283] = 0x3026 , + [5284] = 0x3027 , + [5285] = 0x3028 , + [5286] = 0x3029 , + [5287] = 0x5341 , + [5288] = 0x5344 , + [5289] = 0x5345 , + [5290] = 0xFF21 , + [5291] = 0xFF22 , + [5292] = 0xFF23 , + [5293] = 0xFF24 , + [5294] = 0xFF25 , + [5295] = 0xFF26 , + [5296] = 0xFF27 , + [5297] = 0xFF28 , + [5298] = 0xFF29 , + [5299] = 0xFF2A , + [5300] = 0xFF2B , + [5301] = 0xFF2C , + [5302] = 0xFF2D , + [5303] = 0xFF2E , + [5304] = 0xFF2F , + [5305] = 0xFF30 , + [5306] = 0xFF31 , + [5307] = 0xFF32 , + [5308] = 0xFF33 , + [5309] = 0xFF34 , + [5310] = 0xFF35 , + [5311] = 0xFF36 , + [5312] = 0xFF37 , + [5313] = 0xFF38 , + [5314] = 0xFF39 , + [5315] = 0xFF3A , + [5316] = 0xFF41 , + [5317] = 0xFF42 , + [5318] = 0xFF43 , + [5319] = 0xFF44 , + [5320] = 0xFF45 , + [5321] = 0xFF46 , + [5322] = 0xFF47 , + [5323] = 0xFF48 , + [5324] = 0xFF49 , + [5325] = 0xFF4A , + [5326] = 0xFF4B , + [5327] = 0xFF4C , + [5328] = 0xFF4D , + [5329] = 0xFF4E , + [5330] = 0xFF4F , + [5331] = 0xFF50 , + [5332] = 0xFF51 , + [5333] = 0xFF52 , + [5334] = 0xFF53 , + [5335] = 0xFF54 , + [5336] = 0xFF55 , + [5337] = 0xFF56 , + [5338] = 0xFF57 , + [5339] = 0xFF58 , + [5340] = 0xFF59 , + [5341] = 0xFF5A , + [5342] = 0x0391 , + [5343] = 0x0392 , + [5344] = 0x0393 , + [5345] = 0x0394 , + [5346] = 0x0395 , + [5347] = 0x0396 , + [5348] = 0x0397 , + [5349] = 0x0398 , + [5350] = 0x0399 , + [5351] = 0x039A , + [5352] = 0x039B , + [5353] = 0x039C , + [5354] = 0x039D , + [5355] = 0x039E , + [5356] = 0x039F , + [5357] = 0x03A0 , + [5358] = 0x03A1 , + [5359] = 0x03A3 , + [5360] = 0x03A4 , + [5361] = 0x03A5 , + [5362] = 0x03A6 , + [5363] = 0x03A7 , + [5364] = 0x03A8 , + [5365] = 0x03A9 , + [5366] = 0x03B1 , + [5367] = 0x03B2 , + [5368] = 0x03B3 , + [5369] = 0x03B4 , + [5370] = 0x03B5 , + [5371] = 0x03B6 , + [5372] = 0x03B7 , + [5373] = 0x03B8 , + [5374] = 0x03B9 , + [5375] = 0x03BA , + [5376] = 0x03BB , + [5377] = 0x03BC , + [5378] = 0x03BD , + [5379] = 0x03BE , + [5380] = 0x03BF , + [5381] = 0x03C0 , + [5382] = 0x03C1 , + [5383] = 0x03C3 , + [5384] = 0x03C4 , + [5385] = 0x03C5 , + [5386] = 0x03C6 , + [5387] = 0x03C7 , + [5388] = 0x03C8 , + [5389] = 0x03C9 , + [5390] = 0x3105 , + [5391] = 0x3106 , + [5392] = 0x3107 , + [5393] = 0x3108 , + [5394] = 0x3109 , + [5395] = 0x310A , + [5396] = 0x310B , + [5397] = 0x310C , + [5398] = 0x310D , + [5399] = 0x310E , + [5400] = 0x310F , + [5401] = 0x3110 , + [5402] = 0x3111 , + [5403] = 0x3112 , + [5404] = 0x3113 , + [5405] = 0x3114 , + [5406] = 0x3115 , + [5407] = 0x3116 , + [5408] = 0x3117 , + [5409] = 0x3118 , + [5410] = 0x3119 , + [5411] = 0x311A , + [5412] = 0x311B , + [5413] = 0x311C , + [5414] = 0x311D , + [5415] = 0x311E , + [5416] = 0x311F , + [5417] = 0x3120 , + [5418] = 0x3121 , + [5419] = 0x3122 , + [5420] = 0x3123 , + [5421] = 0x3124 , + [5422] = 0x3125 , + [5423] = 0x3126 , + [5424] = 0x3127 , + [5425] = 0x3128 , + [5426] = 0x3129 , + [5427] = 0x02D9 , + [5428] = 0x02C9 , + [5429] = 0x02CA , + [5430] = 0x02C7 , + [5431] = 0x02CB , + [5432] = 0x2400 , + [5433] = 0x2401 , + [5434] = 0x2402 , + [5435] = 0x2403 , + [5436] = 0x2404 , + [5437] = 0x2405 , + [5438] = 0x2406 , + [5439] = 0x2407 , + [5440] = 0x2408 , + [5441] = 0x2409 , + [5442] = 0x240A , + [5443] = 0x240B , + [5444] = 0x240C , + [5445] = 0x240D , + [5446] = 0x240E , + [5447] = 0x240F , + [5448] = 0x2410 , + [5449] = 0x2411 , + [5450] = 0x2412 , + [5451] = 0x2413 , + [5452] = 0x2414 , + [5453] = 0x2415 , + [5454] = 0x2416 , + [5455] = 0x2417 , + [5456] = 0x2418 , + [5457] = 0x2419 , + [5458] = 0x241A , + [5459] = 0x241B , + [5460] = 0x241C , + [5461] = 0x241D , + [5462] = 0x241E , + [5463] = 0x241F , + [5464] = 0x2421 , + [5465] = 0x20AC , + [5495] = 0x4E00 , + [5496] = 0x4E59 , + [5497] = 0x4E01 , + [5498] = 0x4E03 , + [5499] = 0x4E43 , + [5500] = 0x4E5D , + [5501] = 0x4E86 , + [5502] = 0x4E8C , + [5503] = 0x4EBA , + [5504] = 0x513F , + [5505] = 0x5165 , + [5506] = 0x516B , + [5507] = 0x51E0 , + [5508] = 0x5200 , + [5509] = 0x5201 , + [5510] = 0x529B , + [5511] = 0x5315 , + [5512] = 0x5341 , + [5513] = 0x535C , + [5514] = 0x53C8 , + [5515] = 0x4E09 , + [5516] = 0x4E0B , + [5517] = 0x4E08 , + [5518] = 0x4E0A , + [5519] = 0x4E2B , + [5520] = 0x4E38 , + [5521] = 0x51E1 , + [5522] = 0x4E45 , + [5523] = 0x4E48 , + [5524] = 0x4E5F , + [5525] = 0x4E5E , + [5526] = 0x4E8E , + [5527] = 0x4EA1 , + [5528] = 0x5140 , + [5529] = 0x5203 , + [5530] = 0x52FA , + [5531] = 0x5343 , + [5532] = 0x53C9 , + [5533] = 0x53E3 , + [5534] = 0x571F , + [5535] = 0x58EB , + [5536] = 0x5915 , + [5537] = 0x5927 , + [5538] = 0x5973 , + [5539] = 0x5B50 , + [5540] = 0x5B51 , + [5541] = 0x5B53 , + [5542] = 0x5BF8 , + [5543] = 0x5C0F , + [5544] = 0x5C22 , + [5545] = 0x5C38 , + [5546] = 0x5C71 , + [5547] = 0x5DDD , + [5548] = 0x5DE5 , + [5549] = 0x5DF1 , + [5550] = 0x5DF2 , + [5551] = 0x5DF3 , + [5552] = 0x5DFE , + [5553] = 0x5E72 , + [5554] = 0x5EFE , + [5555] = 0x5F0B , + [5556] = 0x5F13 , + [5557] = 0x624D , + [5558] = 0x4E11 , + [5559] = 0x4E10 , + [5560] = 0x4E0D , + [5561] = 0x4E2D , + [5562] = 0x4E30 , + [5563] = 0x4E39 , + [5564] = 0x4E4B , + [5565] = 0x5C39 , + [5566] = 0x4E88 , + [5567] = 0x4E91 , + [5568] = 0x4E95 , + [5569] = 0x4E92 , + [5570] = 0x4E94 , + [5571] = 0x4EA2 , + [5572] = 0x4EC1 , + [5573] = 0x4EC0 , + [5574] = 0x4EC3 , + [5575] = 0x4EC6 , + [5576] = 0x4EC7 , + [5577] = 0x4ECD , + [5578] = 0x4ECA , + [5579] = 0x4ECB , + [5580] = 0x4EC4 , + [5581] = 0x5143 , + [5582] = 0x5141 , + [5583] = 0x5167 , + [5584] = 0x516D , + [5585] = 0x516E , + [5586] = 0x516C , + [5587] = 0x5197 , + [5588] = 0x51F6 , + [5589] = 0x5206 , + [5590] = 0x5207 , + [5591] = 0x5208 , + [5592] = 0x52FB , + [5593] = 0x52FE , + [5594] = 0x52FF , + [5595] = 0x5316 , + [5596] = 0x5339 , + [5597] = 0x5348 , + [5598] = 0x5347 , + [5599] = 0x5345 , + [5600] = 0x535E , + [5601] = 0x5384 , + [5602] = 0x53CB , + [5603] = 0x53CA , + [5604] = 0x53CD , + [5605] = 0x58EC , + [5606] = 0x5929 , + [5607] = 0x592B , + [5608] = 0x592A , + [5609] = 0x592D , + [5610] = 0x5B54 , + [5611] = 0x5C11 , + [5612] = 0x5C24 , + [5613] = 0x5C3A , + [5614] = 0x5C6F , + [5615] = 0x5DF4 , + [5616] = 0x5E7B , + [5617] = 0x5EFF , + [5618] = 0x5F14 , + [5619] = 0x5F15 , + [5620] = 0x5FC3 , + [5621] = 0x6208 , + [5622] = 0x6236 , + [5623] = 0x624B , + [5624] = 0x624E , + [5625] = 0x652F , + [5626] = 0x6587 , + [5627] = 0x6597 , + [5628] = 0x65A4 , + [5629] = 0x65B9 , + [5630] = 0x65E5 , + [5631] = 0x66F0 , + [5632] = 0x6708 , + [5633] = 0x6728 , + [5634] = 0x6B20 , + [5635] = 0x6B62 , + [5636] = 0x6B79 , + [5637] = 0x6BCB , + [5638] = 0x6BD4 , + [5639] = 0x6BDB , + [5640] = 0x6C0F , + [5641] = 0x6C34 , + [5642] = 0x706B , + [5643] = 0x722A , + [5644] = 0x7236 , + [5645] = 0x723B , + [5646] = 0x7247 , + [5647] = 0x7259 , + [5648] = 0x725B , + [5649] = 0x72AC , + [5650] = 0x738B , + [5651] = 0x4E19 , + [5652] = 0x4E16 , + [5653] = 0x4E15 , + [5654] = 0x4E14 , + [5655] = 0x4E18 , + [5656] = 0x4E3B , + [5657] = 0x4E4D , + [5658] = 0x4E4F , + [5659] = 0x4E4E , + [5660] = 0x4EE5 , + [5661] = 0x4ED8 , + [5662] = 0x4ED4 , + [5663] = 0x4ED5 , + [5664] = 0x4ED6 , + [5665] = 0x4ED7 , + [5666] = 0x4EE3 , + [5667] = 0x4EE4 , + [5668] = 0x4ED9 , + [5669] = 0x4EDE , + [5670] = 0x5145 , + [5671] = 0x5144 , + [5672] = 0x5189 , + [5673] = 0x518A , + [5674] = 0x51AC , + [5675] = 0x51F9 , + [5676] = 0x51FA , + [5677] = 0x51F8 , + [5678] = 0x520A , + [5679] = 0x52A0 , + [5680] = 0x529F , + [5681] = 0x5305 , + [5682] = 0x5306 , + [5683] = 0x5317 , + [5684] = 0x531D , + [5685] = 0x4EDF , + [5686] = 0x534A , + [5687] = 0x5349 , + [5688] = 0x5361 , + [5689] = 0x5360 , + [5690] = 0x536F , + [5691] = 0x536E , + [5692] = 0x53BB , + [5693] = 0x53EF , + [5694] = 0x53E4 , + [5695] = 0x53F3 , + [5696] = 0x53EC , + [5697] = 0x53EE , + [5698] = 0x53E9 , + [5699] = 0x53E8 , + [5700] = 0x53FC , + [5701] = 0x53F8 , + [5702] = 0x53F5 , + [5703] = 0x53EB , + [5704] = 0x53E6 , + [5705] = 0x53EA , + [5706] = 0x53F2 , + [5707] = 0x53F1 , + [5708] = 0x53F0 , + [5709] = 0x53E5 , + [5710] = 0x53ED , + [5711] = 0x53FB , + [5712] = 0x56DB , + [5713] = 0x56DA , + [5714] = 0x5916 , + [5715] = 0x592E , + [5716] = 0x5931 , + [5717] = 0x5974 , + [5718] = 0x5976 , + [5719] = 0x5B55 , + [5720] = 0x5B83 , + [5721] = 0x5C3C , + [5722] = 0x5DE8 , + [5723] = 0x5DE7 , + [5724] = 0x5DE6 , + [5725] = 0x5E02 , + [5726] = 0x5E03 , + [5727] = 0x5E73 , + [5728] = 0x5E7C , + [5729] = 0x5F01 , + [5730] = 0x5F18 , + [5731] = 0x5F17 , + [5732] = 0x5FC5 , + [5733] = 0x620A , + [5734] = 0x6253 , + [5735] = 0x6254 , + [5736] = 0x6252 , + [5737] = 0x6251 , + [5738] = 0x65A5 , + [5739] = 0x65E6 , + [5740] = 0x672E , + [5741] = 0x672C , + [5742] = 0x672A , + [5743] = 0x672B , + [5744] = 0x672D , + [5745] = 0x6B63 , + [5746] = 0x6BCD , + [5747] = 0x6C11 , + [5748] = 0x6C10 , + [5749] = 0x6C38 , + [5750] = 0x6C41 , + [5751] = 0x6C40 , + [5752] = 0x6C3E , + [5753] = 0x72AF , + [5754] = 0x7384 , + [5755] = 0x7389 , + [5756] = 0x74DC , + [5757] = 0x74E6 , + [5758] = 0x7518 , + [5759] = 0x751F , + [5760] = 0x7528 , + [5761] = 0x7529 , + [5762] = 0x7530 , + [5763] = 0x7531 , + [5764] = 0x7532 , + [5765] = 0x7533 , + [5766] = 0x758B , + [5767] = 0x767D , + [5768] = 0x76AE , + [5769] = 0x76BF , + [5770] = 0x76EE , + [5771] = 0x77DB , + [5772] = 0x77E2 , + [5773] = 0x77F3 , + [5774] = 0x793A , + [5775] = 0x79BE , + [5776] = 0x7A74 , + [5777] = 0x7ACB , + [5778] = 0x4E1E , + [5779] = 0x4E1F , + [5780] = 0x4E52 , + [5781] = 0x4E53 , + [5782] = 0x4E69 , + [5783] = 0x4E99 , + [5784] = 0x4EA4 , + [5785] = 0x4EA6 , + [5786] = 0x4EA5 , + [5787] = 0x4EFF , + [5788] = 0x4F09 , + [5789] = 0x4F19 , + [5790] = 0x4F0A , + [5791] = 0x4F15 , + [5792] = 0x4F0D , + [5793] = 0x4F10 , + [5794] = 0x4F11 , + [5795] = 0x4F0F , + [5796] = 0x4EF2 , + [5797] = 0x4EF6 , + [5798] = 0x4EFB , + [5799] = 0x4EF0 , + [5800] = 0x4EF3 , + [5801] = 0x4EFD , + [5802] = 0x4F01 , + [5803] = 0x4F0B , + [5804] = 0x5149 , + [5805] = 0x5147 , + [5806] = 0x5146 , + [5807] = 0x5148 , + [5808] = 0x5168 , + [5809] = 0x5171 , + [5810] = 0x518D , + [5811] = 0x51B0 , + [5812] = 0x5217 , + [5813] = 0x5211 , + [5814] = 0x5212 , + [5815] = 0x520E , + [5816] = 0x5216 , + [5817] = 0x52A3 , + [5818] = 0x5308 , + [5819] = 0x5321 , + [5820] = 0x5320 , + [5821] = 0x5370 , + [5822] = 0x5371 , + [5823] = 0x5409 , + [5824] = 0x540F , + [5825] = 0x540C , + [5826] = 0x540A , + [5827] = 0x5410 , + [5828] = 0x5401 , + [5829] = 0x540B , + [5830] = 0x5404 , + [5831] = 0x5411 , + [5832] = 0x540D , + [5833] = 0x5408 , + [5834] = 0x5403 , + [5835] = 0x540E , + [5836] = 0x5406 , + [5837] = 0x5412 , + [5838] = 0x56E0 , + [5839] = 0x56DE , + [5840] = 0x56DD , + [5841] = 0x5733 , + [5842] = 0x5730 , + [5843] = 0x5728 , + [5844] = 0x572D , + [5845] = 0x572C , + [5846] = 0x572F , + [5847] = 0x5729 , + [5848] = 0x5919 , + [5849] = 0x591A , + [5850] = 0x5937 , + [5851] = 0x5938 , + [5852] = 0x5984 , + [5853] = 0x5978 , + [5854] = 0x5983 , + [5855] = 0x597D , + [5856] = 0x5979 , + [5857] = 0x5982 , + [5858] = 0x5981 , + [5859] = 0x5B57 , + [5860] = 0x5B58 , + [5861] = 0x5B87 , + [5862] = 0x5B88 , + [5863] = 0x5B85 , + [5864] = 0x5B89 , + [5865] = 0x5BFA , + [5866] = 0x5C16 , + [5867] = 0x5C79 , + [5868] = 0x5DDE , + [5869] = 0x5E06 , + [5870] = 0x5E76 , + [5871] = 0x5E74 , + [5872] = 0x5F0F , + [5873] = 0x5F1B , + [5874] = 0x5FD9 , + [5875] = 0x5FD6 , + [5876] = 0x620E , + [5877] = 0x620C , + [5878] = 0x620D , + [5879] = 0x6210 , + [5880] = 0x6263 , + [5881] = 0x625B , + [5882] = 0x6258 , + [5883] = 0x6536 , + [5884] = 0x65E9 , + [5885] = 0x65E8 , + [5886] = 0x65EC , + [5887] = 0x65ED , + [5888] = 0x66F2 , + [5889] = 0x66F3 , + [5890] = 0x6709 , + [5891] = 0x673D , + [5892] = 0x6734 , + [5893] = 0x6731 , + [5894] = 0x6735 , + [5895] = 0x6B21 , + [5896] = 0x6B64 , + [5897] = 0x6B7B , + [5898] = 0x6C16 , + [5899] = 0x6C5D , + [5900] = 0x6C57 , + [5901] = 0x6C59 , + [5902] = 0x6C5F , + [5903] = 0x6C60 , + [5904] = 0x6C50 , + [5905] = 0x6C55 , + [5906] = 0x6C61 , + [5907] = 0x6C5B , + [5908] = 0x6C4D , + [5909] = 0x6C4E , + [5910] = 0x7070 , + [5911] = 0x725F , + [5912] = 0x725D , + [5913] = 0x767E , + [5914] = 0x7AF9 , + [5915] = 0x7C73 , + [5916] = 0x7CF8 , + [5917] = 0x7F36 , + [5918] = 0x7F8A , + [5919] = 0x7FBD , + [5920] = 0x8001 , + [5921] = 0x8003 , + [5922] = 0x800C , + [5923] = 0x8012 , + [5924] = 0x8033 , + [5925] = 0x807F , + [5926] = 0x8089 , + [5927] = 0x808B , + [5928] = 0x808C , + [5929] = 0x81E3 , + [5930] = 0x81EA , + [5931] = 0x81F3 , + [5932] = 0x81FC , + [5933] = 0x820C , + [5934] = 0x821B , + [5935] = 0x821F , + [5936] = 0x826E , + [5937] = 0x8272 , + [5938] = 0x827E , + [5939] = 0x866B , + [5940] = 0x8840 , + [5941] = 0x884C , + [5942] = 0x8863 , + [5943] = 0x897F , + [5944] = 0x9621 , + [5945] = 0x4E32 , + [5946] = 0x4EA8 , + [5947] = 0x4F4D , + [5948] = 0x4F4F , + [5949] = 0x4F47 , + [5950] = 0x4F57 , + [5951] = 0x4F5E , + [5952] = 0x4F34 , + [5953] = 0x4F5B , + [5954] = 0x4F55 , + [5955] = 0x4F30 , + [5956] = 0x4F50 , + [5957] = 0x4F51 , + [5958] = 0x4F3D , + [5959] = 0x4F3A , + [5960] = 0x4F38 , + [5961] = 0x4F43 , + [5962] = 0x4F54 , + [5963] = 0x4F3C , + [5964] = 0x4F46 , + [5965] = 0x4F63 , + [5966] = 0x4F5C , + [5967] = 0x4F60 , + [5968] = 0x4F2F , + [5969] = 0x4F4E , + [5970] = 0x4F36 , + [5971] = 0x4F59 , + [5972] = 0x4F5D , + [5973] = 0x4F48 , + [5974] = 0x4F5A , + [5975] = 0x514C , + [5976] = 0x514B , + [5977] = 0x514D , + [5978] = 0x5175 , + [5979] = 0x51B6 , + [5980] = 0x51B7 , + [5981] = 0x5225 , + [5982] = 0x5224 , + [5983] = 0x5229 , + [5984] = 0x522A , + [5985] = 0x5228 , + [5986] = 0x52AB , + [5987] = 0x52A9 , + [5988] = 0x52AA , + [5989] = 0x52AC , + [5990] = 0x5323 , + [5991] = 0x5373 , + [5992] = 0x5375 , + [5993] = 0x541D , + [5994] = 0x542D , + [5995] = 0x541E , + [5996] = 0x543E , + [5997] = 0x5426 , + [5998] = 0x544E , + [5999] = 0x5427 , + [6000] = 0x5446 , + [6001] = 0x5443 , + [6002] = 0x5433 , + [6003] = 0x5448 , + [6004] = 0x5442 , + [6005] = 0x541B , + [6006] = 0x5429 , + [6007] = 0x544A , + [6008] = 0x5439 , + [6009] = 0x543B , + [6010] = 0x5438 , + [6011] = 0x542E , + [6012] = 0x5435 , + [6013] = 0x5436 , + [6014] = 0x5420 , + [6015] = 0x543C , + [6016] = 0x5440 , + [6017] = 0x5431 , + [6018] = 0x542B , + [6019] = 0x541F , + [6020] = 0x542C , + [6021] = 0x56EA , + [6022] = 0x56F0 , + [6023] = 0x56E4 , + [6024] = 0x56EB , + [6025] = 0x574A , + [6026] = 0x5751 , + [6027] = 0x5740 , + [6028] = 0x574D , + [6029] = 0x5747 , + [6030] = 0x574E , + [6031] = 0x573E , + [6032] = 0x5750 , + [6033] = 0x574F , + [6034] = 0x573B , + [6035] = 0x58EF , + [6036] = 0x593E , + [6037] = 0x599D , + [6038] = 0x5992 , + [6039] = 0x59A8 , + [6040] = 0x599E , + [6041] = 0x59A3 , + [6042] = 0x5999 , + [6043] = 0x5996 , + [6044] = 0x598D , + [6045] = 0x59A4 , + [6046] = 0x5993 , + [6047] = 0x598A , + [6048] = 0x59A5 , + [6049] = 0x5B5D , + [6050] = 0x5B5C , + [6051] = 0x5B5A , + [6052] = 0x5B5B , + [6053] = 0x5B8C , + [6054] = 0x5B8B , + [6055] = 0x5B8F , + [6056] = 0x5C2C , + [6057] = 0x5C40 , + [6058] = 0x5C41 , + [6059] = 0x5C3F , + [6060] = 0x5C3E , + [6061] = 0x5C90 , + [6062] = 0x5C91 , + [6063] = 0x5C94 , + [6064] = 0x5C8C , + [6065] = 0x5DEB , + [6066] = 0x5E0C , + [6067] = 0x5E8F , + [6068] = 0x5E87 , + [6069] = 0x5E8A , + [6070] = 0x5EF7 , + [6071] = 0x5F04 , + [6072] = 0x5F1F , + [6073] = 0x5F64 , + [6074] = 0x5F62 , + [6075] = 0x5F77 , + [6076] = 0x5F79 , + [6077] = 0x5FD8 , + [6078] = 0x5FCC , + [6079] = 0x5FD7 , + [6080] = 0x5FCD , + [6081] = 0x5FF1 , + [6082] = 0x5FEB , + [6083] = 0x5FF8 , + [6084] = 0x5FEA , + [6085] = 0x6212 , + [6086] = 0x6211 , + [6087] = 0x6284 , + [6088] = 0x6297 , + [6089] = 0x6296 , + [6090] = 0x6280 , + [6091] = 0x6276 , + [6092] = 0x6289 , + [6093] = 0x626D , + [6094] = 0x628A , + [6095] = 0x627C , + [6096] = 0x627E , + [6097] = 0x6279 , + [6098] = 0x6273 , + [6099] = 0x6292 , + [6100] = 0x626F , + [6101] = 0x6298 , + [6102] = 0x626E , + [6103] = 0x6295 , + [6104] = 0x6293 , + [6105] = 0x6291 , + [6106] = 0x6286 , + [6107] = 0x6539 , + [6108] = 0x653B , + [6109] = 0x6538 , + [6110] = 0x65F1 , + [6111] = 0x66F4 , + [6112] = 0x675F , + [6113] = 0x674E , + [6114] = 0x674F , + [6115] = 0x6750 , + [6116] = 0x6751 , + [6117] = 0x675C , + [6118] = 0x6756 , + [6119] = 0x675E , + [6120] = 0x6749 , + [6121] = 0x6746 , + [6122] = 0x6760 , + [6123] = 0x6753 , + [6124] = 0x6757 , + [6125] = 0x6B65 , + [6126] = 0x6BCF , + [6127] = 0x6C42 , + [6128] = 0x6C5E , + [6129] = 0x6C99 , + [6130] = 0x6C81 , + [6131] = 0x6C88 , + [6132] = 0x6C89 , + [6133] = 0x6C85 , + [6134] = 0x6C9B , + [6135] = 0x6C6A , + [6136] = 0x6C7A , + [6137] = 0x6C90 , + [6138] = 0x6C70 , + [6139] = 0x6C8C , + [6140] = 0x6C68 , + [6141] = 0x6C96 , + [6142] = 0x6C92 , + [6143] = 0x6C7D , + [6144] = 0x6C83 , + [6145] = 0x6C72 , + [6146] = 0x6C7E , + [6147] = 0x6C74 , + [6148] = 0x6C86 , + [6149] = 0x6C76 , + [6150] = 0x6C8D , + [6151] = 0x6C94 , + [6152] = 0x6C98 , + [6153] = 0x6C82 , + [6154] = 0x7076 , + [6155] = 0x707C , + [6156] = 0x707D , + [6157] = 0x7078 , + [6158] = 0x7262 , + [6159] = 0x7261 , + [6160] = 0x7260 , + [6161] = 0x72C4 , + [6162] = 0x72C2 , + [6163] = 0x7396 , + [6164] = 0x752C , + [6165] = 0x752B , + [6166] = 0x7537 , + [6167] = 0x7538 , + [6168] = 0x7682 , + [6169] = 0x76EF , + [6170] = 0x77E3 , + [6171] = 0x79C1 , + [6172] = 0x79C0 , + [6173] = 0x79BF , + [6174] = 0x7A76 , + [6175] = 0x7CFB , + [6176] = 0x7F55 , + [6177] = 0x8096 , + [6178] = 0x8093 , + [6179] = 0x809D , + [6180] = 0x8098 , + [6181] = 0x809B , + [6182] = 0x809A , + [6183] = 0x80B2 , + [6184] = 0x826F , + [6185] = 0x8292 , + [6186] = 0x828B , + [6187] = 0x828D , + [6188] = 0x898B , + [6189] = 0x89D2 , + [6190] = 0x8A00 , + [6191] = 0x8C37 , + [6192] = 0x8C46 , + [6193] = 0x8C55 , + [6194] = 0x8C9D , + [6195] = 0x8D64 , + [6196] = 0x8D70 , + [6197] = 0x8DB3 , + [6198] = 0x8EAB , + [6199] = 0x8ECA , + [6200] = 0x8F9B , + [6201] = 0x8FB0 , + [6202] = 0x8FC2 , + [6203] = 0x8FC6 , + [6204] = 0x8FC5 , + [6205] = 0x8FC4 , + [6206] = 0x5DE1 , + [6207] = 0x9091 , + [6208] = 0x90A2 , + [6209] = 0x90AA , + [6210] = 0x90A6 , + [6211] = 0x90A3 , + [6212] = 0x9149 , + [6213] = 0x91C6 , + [6214] = 0x91CC , + [6215] = 0x9632 , + [6216] = 0x962E , + [6217] = 0x9631 , + [6218] = 0x962A , + [6219] = 0x962C , + [6220] = 0x4E26 , + [6221] = 0x4E56 , + [6222] = 0x4E73 , + [6223] = 0x4E8B , + [6224] = 0x4E9B , + [6225] = 0x4E9E , + [6226] = 0x4EAB , + [6227] = 0x4EAC , + [6228] = 0x4F6F , + [6229] = 0x4F9D , + [6230] = 0x4F8D , + [6231] = 0x4F73 , + [6232] = 0x4F7F , + [6233] = 0x4F6C , + [6234] = 0x4F9B , + [6235] = 0x4F8B , + [6236] = 0x4F86 , + [6237] = 0x4F83 , + [6238] = 0x4F70 , + [6239] = 0x4F75 , + [6240] = 0x4F88 , + [6241] = 0x4F69 , + [6242] = 0x4F7B , + [6243] = 0x4F96 , + [6244] = 0x4F7E , + [6245] = 0x4F8F , + [6246] = 0x4F91 , + [6247] = 0x4F7A , + [6248] = 0x5154 , + [6249] = 0x5152 , + [6250] = 0x5155 , + [6251] = 0x5169 , + [6252] = 0x5177 , + [6253] = 0x5176 , + [6254] = 0x5178 , + [6255] = 0x51BD , + [6256] = 0x51FD , + [6257] = 0x523B , + [6258] = 0x5238 , + [6259] = 0x5237 , + [6260] = 0x523A , + [6261] = 0x5230 , + [6262] = 0x522E , + [6263] = 0x5236 , + [6264] = 0x5241 , + [6265] = 0x52BE , + [6266] = 0x52BB , + [6267] = 0x5352 , + [6268] = 0x5354 , + [6269] = 0x5353 , + [6270] = 0x5351 , + [6271] = 0x5366 , + [6272] = 0x5377 , + [6273] = 0x5378 , + [6274] = 0x5379 , + [6275] = 0x53D6 , + [6276] = 0x53D4 , + [6277] = 0x53D7 , + [6278] = 0x5473 , + [6279] = 0x5475 , + [6280] = 0x5496 , + [6281] = 0x5478 , + [6282] = 0x5495 , + [6283] = 0x5480 , + [6284] = 0x547B , + [6285] = 0x5477 , + [6286] = 0x5484 , + [6287] = 0x5492 , + [6288] = 0x5486 , + [6289] = 0x547C , + [6290] = 0x5490 , + [6291] = 0x5471 , + [6292] = 0x5476 , + [6293] = 0x548C , + [6294] = 0x549A , + [6295] = 0x5462 , + [6296] = 0x5468 , + [6297] = 0x548B , + [6298] = 0x547D , + [6299] = 0x548E , + [6300] = 0x56FA , + [6301] = 0x5783 , + [6302] = 0x5777 , + [6303] = 0x576A , + [6304] = 0x5769 , + [6305] = 0x5761 , + [6306] = 0x5766 , + [6307] = 0x5764 , + [6308] = 0x577C , + [6309] = 0x591C , + [6310] = 0x5949 , + [6311] = 0x5947 , + [6312] = 0x5948 , + [6313] = 0x5944 , + [6314] = 0x5954 , + [6315] = 0x59BE , + [6316] = 0x59BB , + [6317] = 0x59D4 , + [6318] = 0x59B9 , + [6319] = 0x59AE , + [6320] = 0x59D1 , + [6321] = 0x59C6 , + [6322] = 0x59D0 , + [6323] = 0x59CD , + [6324] = 0x59CB , + [6325] = 0x59D3 , + [6326] = 0x59CA , + [6327] = 0x59AF , + [6328] = 0x59B3 , + [6329] = 0x59D2 , + [6330] = 0x59C5 , + [6331] = 0x5B5F , + [6332] = 0x5B64 , + [6333] = 0x5B63 , + [6334] = 0x5B97 , + [6335] = 0x5B9A , + [6336] = 0x5B98 , + [6337] = 0x5B9C , + [6338] = 0x5B99 , + [6339] = 0x5B9B , + [6340] = 0x5C1A , + [6341] = 0x5C48 , + [6342] = 0x5C45 , + [6343] = 0x5C46 , + [6344] = 0x5CB7 , + [6345] = 0x5CA1 , + [6346] = 0x5CB8 , + [6347] = 0x5CA9 , + [6348] = 0x5CAB , + [6349] = 0x5CB1 , + [6350] = 0x5CB3 , + [6351] = 0x5E18 , + [6352] = 0x5E1A , + [6353] = 0x5E16 , + [6354] = 0x5E15 , + [6355] = 0x5E1B , + [6356] = 0x5E11 , + [6357] = 0x5E78 , + [6358] = 0x5E9A , + [6359] = 0x5E97 , + [6360] = 0x5E9C , + [6361] = 0x5E95 , + [6362] = 0x5E96 , + [6363] = 0x5EF6 , + [6364] = 0x5F26 , + [6365] = 0x5F27 , + [6366] = 0x5F29 , + [6367] = 0x5F80 , + [6368] = 0x5F81 , + [6369] = 0x5F7F , + [6370] = 0x5F7C , + [6371] = 0x5FDD , + [6372] = 0x5FE0 , + [6373] = 0x5FFD , + [6374] = 0x5FF5 , + [6375] = 0x5FFF , + [6376] = 0x600F , + [6377] = 0x6014 , + [6378] = 0x602F , + [6379] = 0x6035 , + [6380] = 0x6016 , + [6381] = 0x602A , + [6382] = 0x6015 , + [6383] = 0x6021 , + [6384] = 0x6027 , + [6385] = 0x6029 , + [6386] = 0x602B , + [6387] = 0x601B , + [6388] = 0x6216 , + [6389] = 0x6215 , + [6390] = 0x623F , + [6391] = 0x623E , + [6392] = 0x6240 , + [6393] = 0x627F , + [6394] = 0x62C9 , + [6395] = 0x62CC , + [6396] = 0x62C4 , + [6397] = 0x62BF , + [6398] = 0x62C2 , + [6399] = 0x62B9 , + [6400] = 0x62D2 , + [6401] = 0x62DB , + [6402] = 0x62AB , + [6403] = 0x62D3 , + [6404] = 0x62D4 , + [6405] = 0x62CB , + [6406] = 0x62C8 , + [6407] = 0x62A8 , + [6408] = 0x62BD , + [6409] = 0x62BC , + [6410] = 0x62D0 , + [6411] = 0x62D9 , + [6412] = 0x62C7 , + [6413] = 0x62CD , + [6414] = 0x62B5 , + [6415] = 0x62DA , + [6416] = 0x62B1 , + [6417] = 0x62D8 , + [6418] = 0x62D6 , + [6419] = 0x62D7 , + [6420] = 0x62C6 , + [6421] = 0x62AC , + [6422] = 0x62CE , + [6423] = 0x653E , + [6424] = 0x65A7 , + [6425] = 0x65BC , + [6426] = 0x65FA , + [6427] = 0x6614 , + [6428] = 0x6613 , + [6429] = 0x660C , + [6430] = 0x6606 , + [6431] = 0x6602 , + [6432] = 0x660E , + [6433] = 0x6600 , + [6434] = 0x660F , + [6435] = 0x6615 , + [6436] = 0x660A , + [6437] = 0x6607 , + [6438] = 0x670D , + [6439] = 0x670B , + [6440] = 0x676D , + [6441] = 0x678B , + [6442] = 0x6795 , + [6443] = 0x6771 , + [6444] = 0x679C , + [6445] = 0x6773 , + [6446] = 0x6777 , + [6447] = 0x6787 , + [6448] = 0x679D , + [6449] = 0x6797 , + [6450] = 0x676F , + [6451] = 0x6770 , + [6452] = 0x677F , + [6453] = 0x6789 , + [6454] = 0x677E , + [6455] = 0x6790 , + [6456] = 0x6775 , + [6457] = 0x679A , + [6458] = 0x6793 , + [6459] = 0x677C , + [6460] = 0x676A , + [6461] = 0x6772 , + [6462] = 0x6B23 , + [6463] = 0x6B66 , + [6464] = 0x6B67 , + [6465] = 0x6B7F , + [6466] = 0x6C13 , + [6467] = 0x6C1B , + [6468] = 0x6CE3 , + [6469] = 0x6CE8 , + [6470] = 0x6CF3 , + [6471] = 0x6CB1 , + [6472] = 0x6CCC , + [6473] = 0x6CE5 , + [6474] = 0x6CB3 , + [6475] = 0x6CBD , + [6476] = 0x6CBE , + [6477] = 0x6CBC , + [6478] = 0x6CE2 , + [6479] = 0x6CAB , + [6480] = 0x6CD5 , + [6481] = 0x6CD3 , + [6482] = 0x6CB8 , + [6483] = 0x6CC4 , + [6484] = 0x6CB9 , + [6485] = 0x6CC1 , + [6486] = 0x6CAE , + [6487] = 0x6CD7 , + [6488] = 0x6CC5 , + [6489] = 0x6CF1 , + [6490] = 0x6CBF , + [6491] = 0x6CBB , + [6492] = 0x6CE1 , + [6493] = 0x6CDB , + [6494] = 0x6CCA , + [6495] = 0x6CAC , + [6496] = 0x6CEF , + [6497] = 0x6CDC , + [6498] = 0x6CD6 , + [6499] = 0x6CE0 , + [6500] = 0x7095 , + [6501] = 0x708E , + [6502] = 0x7092 , + [6503] = 0x708A , + [6504] = 0x7099 , + [6505] = 0x722C , + [6506] = 0x722D , + [6507] = 0x7238 , + [6508] = 0x7248 , + [6509] = 0x7267 , + [6510] = 0x7269 , + [6511] = 0x72C0 , + [6512] = 0x72CE , + [6513] = 0x72D9 , + [6514] = 0x72D7 , + [6515] = 0x72D0 , + [6516] = 0x73A9 , + [6517] = 0x73A8 , + [6518] = 0x739F , + [6519] = 0x73AB , + [6520] = 0x73A5 , + [6521] = 0x753D , + [6522] = 0x759D , + [6523] = 0x7599 , + [6524] = 0x759A , + [6525] = 0x7684 , + [6526] = 0x76C2 , + [6527] = 0x76F2 , + [6528] = 0x76F4 , + [6529] = 0x77E5 , + [6530] = 0x77FD , + [6531] = 0x793E , + [6532] = 0x7940 , + [6533] = 0x7941 , + [6534] = 0x79C9 , + [6535] = 0x79C8 , + [6536] = 0x7A7A , + [6537] = 0x7A79 , + [6538] = 0x7AFA , + [6539] = 0x7CFE , + [6540] = 0x7F54 , + [6541] = 0x7F8C , + [6542] = 0x7F8B , + [6543] = 0x8005 , + [6544] = 0x80BA , + [6545] = 0x80A5 , + [6546] = 0x80A2 , + [6547] = 0x80B1 , + [6548] = 0x80A1 , + [6549] = 0x80AB , + [6550] = 0x80A9 , + [6551] = 0x80B4 , + [6552] = 0x80AA , + [6553] = 0x80AF , + [6554] = 0x81E5 , + [6555] = 0x81FE , + [6556] = 0x820D , + [6557] = 0x82B3 , + [6558] = 0x829D , + [6559] = 0x8299 , + [6560] = 0x82AD , + [6561] = 0x82BD , + [6562] = 0x829F , + [6563] = 0x82B9 , + [6564] = 0x82B1 , + [6565] = 0x82AC , + [6566] = 0x82A5 , + [6567] = 0x82AF , + [6568] = 0x82B8 , + [6569] = 0x82A3 , + [6570] = 0x82B0 , + [6571] = 0x82BE , + [6572] = 0x82B7 , + [6573] = 0x864E , + [6574] = 0x8671 , + [6575] = 0x521D , + [6576] = 0x8868 , + [6577] = 0x8ECB , + [6578] = 0x8FCE , + [6579] = 0x8FD4 , + [6580] = 0x8FD1 , + [6581] = 0x90B5 , + [6582] = 0x90B8 , + [6583] = 0x90B1 , + [6584] = 0x90B6 , + [6585] = 0x91C7 , + [6586] = 0x91D1 , + [6587] = 0x9577 , + [6588] = 0x9580 , + [6589] = 0x961C , + [6590] = 0x9640 , + [6591] = 0x963F , + [6592] = 0x963B , + [6593] = 0x9644 , + [6594] = 0x9642 , + [6595] = 0x96B9 , + [6596] = 0x96E8 , + [6597] = 0x9752 , + [6598] = 0x975E , + [6599] = 0x4E9F , + [6600] = 0x4EAD , + [6601] = 0x4EAE , + [6602] = 0x4FE1 , + [6603] = 0x4FB5 , + [6604] = 0x4FAF , + [6605] = 0x4FBF , + [6606] = 0x4FE0 , + [6607] = 0x4FD1 , + [6608] = 0x4FCF , + [6609] = 0x4FDD , + [6610] = 0x4FC3 , + [6611] = 0x4FB6 , + [6612] = 0x4FD8 , + [6613] = 0x4FDF , + [6614] = 0x4FCA , + [6615] = 0x4FD7 , + [6616] = 0x4FAE , + [6617] = 0x4FD0 , + [6618] = 0x4FC4 , + [6619] = 0x4FC2 , + [6620] = 0x4FDA , + [6621] = 0x4FCE , + [6622] = 0x4FDE , + [6623] = 0x4FB7 , + [6624] = 0x5157 , + [6625] = 0x5192 , + [6626] = 0x5191 , + [6627] = 0x51A0 , + [6628] = 0x524E , + [6629] = 0x5243 , + [6630] = 0x524A , + [6631] = 0x524D , + [6632] = 0x524C , + [6633] = 0x524B , + [6634] = 0x5247 , + [6635] = 0x52C7 , + [6636] = 0x52C9 , + [6637] = 0x52C3 , + [6638] = 0x52C1 , + [6639] = 0x530D , + [6640] = 0x5357 , + [6641] = 0x537B , + [6642] = 0x539A , + [6643] = 0x53DB , + [6644] = 0x54AC , + [6645] = 0x54C0 , + [6646] = 0x54A8 , + [6647] = 0x54CE , + [6648] = 0x54C9 , + [6649] = 0x54B8 , + [6650] = 0x54A6 , + [6651] = 0x54B3 , + [6652] = 0x54C7 , + [6653] = 0x54C2 , + [6654] = 0x54BD , + [6655] = 0x54AA , + [6656] = 0x54C1 , + [6657] = 0x54C4 , + [6658] = 0x54C8 , + [6659] = 0x54AF , + [6660] = 0x54AB , + [6661] = 0x54B1 , + [6662] = 0x54BB , + [6663] = 0x54A9 , + [6664] = 0x54A7 , + [6665] = 0x54BF , + [6666] = 0x56FF , + [6667] = 0x5782 , + [6668] = 0x578B , + [6669] = 0x57A0 , + [6670] = 0x57A3 , + [6671] = 0x57A2 , + [6672] = 0x57CE , + [6673] = 0x57AE , + [6674] = 0x5793 , + [6675] = 0x5955 , + [6676] = 0x5951 , + [6677] = 0x594F , + [6678] = 0x594E , + [6679] = 0x5950 , + [6680] = 0x59DC , + [6681] = 0x59D8 , + [6682] = 0x59FF , + [6683] = 0x59E3 , + [6684] = 0x59E8 , + [6685] = 0x5A03 , + [6686] = 0x59E5 , + [6687] = 0x59EA , + [6688] = 0x59DA , + [6689] = 0x59E6 , + [6690] = 0x5A01 , + [6691] = 0x59FB , + [6692] = 0x5B69 , + [6693] = 0x5BA3 , + [6694] = 0x5BA6 , + [6695] = 0x5BA4 , + [6696] = 0x5BA2 , + [6697] = 0x5BA5 , + [6698] = 0x5C01 , + [6699] = 0x5C4E , + [6700] = 0x5C4F , + [6701] = 0x5C4D , + [6702] = 0x5C4B , + [6703] = 0x5CD9 , + [6704] = 0x5CD2 , + [6705] = 0x5DF7 , + [6706] = 0x5E1D , + [6707] = 0x5E25 , + [6708] = 0x5E1F , + [6709] = 0x5E7D , + [6710] = 0x5EA0 , + [6711] = 0x5EA6 , + [6712] = 0x5EFA , + [6713] = 0x5F08 , + [6714] = 0x5F2D , + [6715] = 0x5F65 , + [6716] = 0x5F88 , + [6717] = 0x5F85 , + [6718] = 0x5F8A , + [6719] = 0x5F8B , + [6720] = 0x5F87 , + [6721] = 0x5F8C , + [6722] = 0x5F89 , + [6723] = 0x6012 , + [6724] = 0x601D , + [6725] = 0x6020 , + [6726] = 0x6025 , + [6727] = 0x600E , + [6728] = 0x6028 , + [6729] = 0x604D , + [6730] = 0x6070 , + [6731] = 0x6068 , + [6732] = 0x6062 , + [6733] = 0x6046 , + [6734] = 0x6043 , + [6735] = 0x606C , + [6736] = 0x606B , + [6737] = 0x606A , + [6738] = 0x6064 , + [6739] = 0x6241 , + [6740] = 0x62DC , + [6741] = 0x6316 , + [6742] = 0x6309 , + [6743] = 0x62FC , + [6744] = 0x62ED , + [6745] = 0x6301 , + [6746] = 0x62EE , + [6747] = 0x62FD , + [6748] = 0x6307 , + [6749] = 0x62F1 , + [6750] = 0x62F7 , + [6751] = 0x62EF , + [6752] = 0x62EC , + [6753] = 0x62FE , + [6754] = 0x62F4 , + [6755] = 0x6311 , + [6756] = 0x6302 , + [6757] = 0x653F , + [6758] = 0x6545 , + [6759] = 0x65AB , + [6760] = 0x65BD , + [6761] = 0x65E2 , + [6762] = 0x6625 , + [6763] = 0x662D , + [6764] = 0x6620 , + [6765] = 0x6627 , + [6766] = 0x662F , + [6767] = 0x661F , + [6768] = 0x6628 , + [6769] = 0x6631 , + [6770] = 0x6624 , + [6771] = 0x66F7 , + [6772] = 0x67FF , + [6773] = 0x67D3 , + [6774] = 0x67F1 , + [6775] = 0x67D4 , + [6776] = 0x67D0 , + [6777] = 0x67EC , + [6778] = 0x67B6 , + [6779] = 0x67AF , + [6780] = 0x67F5 , + [6781] = 0x67E9 , + [6782] = 0x67EF , + [6783] = 0x67C4 , + [6784] = 0x67D1 , + [6785] = 0x67B4 , + [6786] = 0x67DA , + [6787] = 0x67E5 , + [6788] = 0x67B8 , + [6789] = 0x67CF , + [6790] = 0x67DE , + [6791] = 0x67F3 , + [6792] = 0x67B0 , + [6793] = 0x67D9 , + [6794] = 0x67E2 , + [6795] = 0x67DD , + [6796] = 0x67D2 , + [6797] = 0x6B6A , + [6798] = 0x6B83 , + [6799] = 0x6B86 , + [6800] = 0x6BB5 , + [6801] = 0x6BD2 , + [6802] = 0x6BD7 , + [6803] = 0x6C1F , + [6804] = 0x6CC9 , + [6805] = 0x6D0B , + [6806] = 0x6D32 , + [6807] = 0x6D2A , + [6808] = 0x6D41 , + [6809] = 0x6D25 , + [6810] = 0x6D0C , + [6811] = 0x6D31 , + [6812] = 0x6D1E , + [6813] = 0x6D17 , + [6814] = 0x6D3B , + [6815] = 0x6D3D , + [6816] = 0x6D3E , + [6817] = 0x6D36 , + [6818] = 0x6D1B , + [6819] = 0x6CF5 , + [6820] = 0x6D39 , + [6821] = 0x6D27 , + [6822] = 0x6D38 , + [6823] = 0x6D29 , + [6824] = 0x6D2E , + [6825] = 0x6D35 , + [6826] = 0x6D0E , + [6827] = 0x6D2B , + [6828] = 0x70AB , + [6829] = 0x70BA , + [6830] = 0x70B3 , + [6831] = 0x70AC , + [6832] = 0x70AF , + [6833] = 0x70AD , + [6834] = 0x70B8 , + [6835] = 0x70AE , + [6836] = 0x70A4 , + [6837] = 0x7230 , + [6838] = 0x7272 , + [6839] = 0x726F , + [6840] = 0x7274 , + [6841] = 0x72E9 , + [6842] = 0x72E0 , + [6843] = 0x72E1 , + [6844] = 0x73B7 , + [6845] = 0x73CA , + [6846] = 0x73BB , + [6847] = 0x73B2 , + [6848] = 0x73CD , + [6849] = 0x73C0 , + [6850] = 0x73B3 , + [6851] = 0x751A , + [6852] = 0x752D , + [6853] = 0x754F , + [6854] = 0x754C , + [6855] = 0x754E , + [6856] = 0x754B , + [6857] = 0x75AB , + [6858] = 0x75A4 , + [6859] = 0x75A5 , + [6860] = 0x75A2 , + [6861] = 0x75A3 , + [6862] = 0x7678 , + [6863] = 0x7686 , + [6864] = 0x7687 , + [6865] = 0x7688 , + [6866] = 0x76C8 , + [6867] = 0x76C6 , + [6868] = 0x76C3 , + [6869] = 0x76C5 , + [6870] = 0x7701 , + [6871] = 0x76F9 , + [6872] = 0x76F8 , + [6873] = 0x7709 , + [6874] = 0x770B , + [6875] = 0x76FE , + [6876] = 0x76FC , + [6877] = 0x7707 , + [6878] = 0x77DC , + [6879] = 0x7802 , + [6880] = 0x7814 , + [6881] = 0x780C , + [6882] = 0x780D , + [6883] = 0x7946 , + [6884] = 0x7949 , + [6885] = 0x7948 , + [6886] = 0x7947 , + [6887] = 0x79B9 , + [6888] = 0x79BA , + [6889] = 0x79D1 , + [6890] = 0x79D2 , + [6891] = 0x79CB , + [6892] = 0x7A7F , + [6893] = 0x7A81 , + [6894] = 0x7AFF , + [6895] = 0x7AFD , + [6896] = 0x7C7D , + [6897] = 0x7D02 , + [6898] = 0x7D05 , + [6899] = 0x7D00 , + [6900] = 0x7D09 , + [6901] = 0x7D07 , + [6902] = 0x7D04 , + [6903] = 0x7D06 , + [6904] = 0x7F38 , + [6905] = 0x7F8E , + [6906] = 0x7FBF , + [6907] = 0x8004 , + [6908] = 0x8010 , + [6909] = 0x800D , + [6910] = 0x8011 , + [6911] = 0x8036 , + [6912] = 0x80D6 , + [6913] = 0x80E5 , + [6914] = 0x80DA , + [6915] = 0x80C3 , + [6916] = 0x80C4 , + [6917] = 0x80CC , + [6918] = 0x80E1 , + [6919] = 0x80DB , + [6920] = 0x80CE , + [6921] = 0x80DE , + [6922] = 0x80E4 , + [6923] = 0x80DD , + [6924] = 0x81F4 , + [6925] = 0x8222 , + [6926] = 0x82E7 , + [6927] = 0x8303 , + [6928] = 0x8305 , + [6929] = 0x82E3 , + [6930] = 0x82DB , + [6931] = 0x82E6 , + [6932] = 0x8304 , + [6933] = 0x82E5 , + [6934] = 0x8302 , + [6935] = 0x8309 , + [6936] = 0x82D2 , + [6937] = 0x82D7 , + [6938] = 0x82F1 , + [6939] = 0x8301 , + [6940] = 0x82DC , + [6941] = 0x82D4 , + [6942] = 0x82D1 , + [6943] = 0x82DE , + [6944] = 0x82D3 , + [6945] = 0x82DF , + [6946] = 0x82EF , + [6947] = 0x8306 , + [6948] = 0x8650 , + [6949] = 0x8679 , + [6950] = 0x867B , + [6951] = 0x867A , + [6952] = 0x884D , + [6953] = 0x886B , + [6954] = 0x8981 , + [6955] = 0x89D4 , + [6956] = 0x8A08 , + [6957] = 0x8A02 , + [6958] = 0x8A03 , + [6959] = 0x8C9E , + [6960] = 0x8CA0 , + [6961] = 0x8D74 , + [6962] = 0x8D73 , + [6963] = 0x8DB4 , + [6964] = 0x8ECD , + [6965] = 0x8ECC , + [6966] = 0x8FF0 , + [6967] = 0x8FE6 , + [6968] = 0x8FE2 , + [6969] = 0x8FEA , + [6970] = 0x8FE5 , + [6971] = 0x8FED , + [6972] = 0x8FEB , + [6973] = 0x8FE4 , + [6974] = 0x8FE8 , + [6975] = 0x90CA , + [6976] = 0x90CE , + [6977] = 0x90C1 , + [6978] = 0x90C3 , + [6979] = 0x914B , + [6980] = 0x914A , + [6981] = 0x91CD , + [6982] = 0x9582 , + [6983] = 0x9650 , + [6984] = 0x964B , + [6985] = 0x964C , + [6986] = 0x964D , + [6987] = 0x9762 , + [6988] = 0x9769 , + [6989] = 0x97CB , + [6990] = 0x97ED , + [6991] = 0x97F3 , + [6992] = 0x9801 , + [6993] = 0x98A8 , + [6994] = 0x98DB , + [6995] = 0x98DF , + [6996] = 0x9996 , + [6997] = 0x9999 , + [6998] = 0x4E58 , + [6999] = 0x4EB3 , + [7000] = 0x500C , + [7001] = 0x500D , + [7002] = 0x5023 , + [7003] = 0x4FEF , + [7004] = 0x5026 , + [7005] = 0x5025 , + [7006] = 0x4FF8 , + [7007] = 0x5029 , + [7008] = 0x5016 , + [7009] = 0x5006 , + [7010] = 0x503C , + [7011] = 0x501F , + [7012] = 0x501A , + [7013] = 0x5012 , + [7014] = 0x5011 , + [7015] = 0x4FFA , + [7016] = 0x5000 , + [7017] = 0x5014 , + [7018] = 0x5028 , + [7019] = 0x4FF1 , + [7020] = 0x5021 , + [7021] = 0x500B , + [7022] = 0x5019 , + [7023] = 0x5018 , + [7024] = 0x4FF3 , + [7025] = 0x4FEE , + [7026] = 0x502D , + [7027] = 0x502A , + [7028] = 0x4FFE , + [7029] = 0x502B , + [7030] = 0x5009 , + [7031] = 0x517C , + [7032] = 0x51A4 , + [7033] = 0x51A5 , + [7034] = 0x51A2 , + [7035] = 0x51CD , + [7036] = 0x51CC , + [7037] = 0x51C6 , + [7038] = 0x51CB , + [7039] = 0x5256 , + [7040] = 0x525C , + [7041] = 0x5254 , + [7042] = 0x525B , + [7043] = 0x525D , + [7044] = 0x532A , + [7045] = 0x537F , + [7046] = 0x539F , + [7047] = 0x539D , + [7048] = 0x53DF , + [7049] = 0x54E8 , + [7050] = 0x5510 , + [7051] = 0x5501 , + [7052] = 0x5537 , + [7053] = 0x54FC , + [7054] = 0x54E5 , + [7055] = 0x54F2 , + [7056] = 0x5506 , + [7057] = 0x54FA , + [7058] = 0x5514 , + [7059] = 0x54E9 , + [7060] = 0x54ED , + [7061] = 0x54E1 , + [7062] = 0x5509 , + [7063] = 0x54EE , + [7064] = 0x54EA , + [7065] = 0x54E6 , + [7066] = 0x5527 , + [7067] = 0x5507 , + [7068] = 0x54FD , + [7069] = 0x550F , + [7070] = 0x5703 , + [7071] = 0x5704 , + [7072] = 0x57C2 , + [7073] = 0x57D4 , + [7074] = 0x57CB , + [7075] = 0x57C3 , + [7076] = 0x5809 , + [7077] = 0x590F , + [7078] = 0x5957 , + [7079] = 0x5958 , + [7080] = 0x595A , + [7081] = 0x5A11 , + [7082] = 0x5A18 , + [7083] = 0x5A1C , + [7084] = 0x5A1F , + [7085] = 0x5A1B , + [7086] = 0x5A13 , + [7087] = 0x59EC , + [7088] = 0x5A20 , + [7089] = 0x5A23 , + [7090] = 0x5A29 , + [7091] = 0x5A25 , + [7092] = 0x5A0C , + [7093] = 0x5A09 , + [7094] = 0x5B6B , + [7095] = 0x5C58 , + [7096] = 0x5BB0 , + [7097] = 0x5BB3 , + [7098] = 0x5BB6 , + [7099] = 0x5BB4 , + [7100] = 0x5BAE , + [7101] = 0x5BB5 , + [7102] = 0x5BB9 , + [7103] = 0x5BB8 , + [7104] = 0x5C04 , + [7105] = 0x5C51 , + [7106] = 0x5C55 , + [7107] = 0x5C50 , + [7108] = 0x5CED , + [7109] = 0x5CFD , + [7110] = 0x5CFB , + [7111] = 0x5CEA , + [7112] = 0x5CE8 , + [7113] = 0x5CF0 , + [7114] = 0x5CF6 , + [7115] = 0x5D01 , + [7116] = 0x5CF4 , + [7117] = 0x5DEE , + [7118] = 0x5E2D , + [7119] = 0x5E2B , + [7120] = 0x5EAB , + [7121] = 0x5EAD , + [7122] = 0x5EA7 , + [7123] = 0x5F31 , + [7124] = 0x5F92 , + [7125] = 0x5F91 , + [7126] = 0x5F90 , + [7127] = 0x6059 , + [7128] = 0x6063 , + [7129] = 0x6065 , + [7130] = 0x6050 , + [7131] = 0x6055 , + [7132] = 0x606D , + [7133] = 0x6069 , + [7134] = 0x606F , + [7135] = 0x6084 , + [7136] = 0x609F , + [7137] = 0x609A , + [7138] = 0x608D , + [7139] = 0x6094 , + [7140] = 0x608C , + [7141] = 0x6085 , + [7142] = 0x6096 , + [7143] = 0x6247 , + [7144] = 0x62F3 , + [7145] = 0x6308 , + [7146] = 0x62FF , + [7147] = 0x634E , + [7148] = 0x633E , + [7149] = 0x632F , + [7150] = 0x6355 , + [7151] = 0x6342 , + [7152] = 0x6346 , + [7153] = 0x634F , + [7154] = 0x6349 , + [7155] = 0x633A , + [7156] = 0x6350 , + [7157] = 0x633D , + [7158] = 0x632A , + [7159] = 0x632B , + [7160] = 0x6328 , + [7161] = 0x634D , + [7162] = 0x634C , + [7163] = 0x6548 , + [7164] = 0x6549 , + [7165] = 0x6599 , + [7166] = 0x65C1 , + [7167] = 0x65C5 , + [7168] = 0x6642 , + [7169] = 0x6649 , + [7170] = 0x664F , + [7171] = 0x6643 , + [7172] = 0x6652 , + [7173] = 0x664C , + [7174] = 0x6645 , + [7175] = 0x6641 , + [7176] = 0x66F8 , + [7177] = 0x6714 , + [7178] = 0x6715 , + [7179] = 0x6717 , + [7180] = 0x6821 , + [7181] = 0x6838 , + [7182] = 0x6848 , + [7183] = 0x6846 , + [7184] = 0x6853 , + [7185] = 0x6839 , + [7186] = 0x6842 , + [7187] = 0x6854 , + [7188] = 0x6829 , + [7189] = 0x68B3 , + [7190] = 0x6817 , + [7191] = 0x684C , + [7192] = 0x6851 , + [7193] = 0x683D , + [7194] = 0x67F4 , + [7195] = 0x6850 , + [7196] = 0x6840 , + [7197] = 0x683C , + [7198] = 0x6843 , + [7199] = 0x682A , + [7200] = 0x6845 , + [7201] = 0x6813 , + [7202] = 0x6818 , + [7203] = 0x6841 , + [7204] = 0x6B8A , + [7205] = 0x6B89 , + [7206] = 0x6BB7 , + [7207] = 0x6C23 , + [7208] = 0x6C27 , + [7209] = 0x6C28 , + [7210] = 0x6C26 , + [7211] = 0x6C24 , + [7212] = 0x6CF0 , + [7213] = 0x6D6A , + [7214] = 0x6D95 , + [7215] = 0x6D88 , + [7216] = 0x6D87 , + [7217] = 0x6D66 , + [7218] = 0x6D78 , + [7219] = 0x6D77 , + [7220] = 0x6D59 , + [7221] = 0x6D93 , + [7222] = 0x6D6C , + [7223] = 0x6D89 , + [7224] = 0x6D6E , + [7225] = 0x6D5A , + [7226] = 0x6D74 , + [7227] = 0x6D69 , + [7228] = 0x6D8C , + [7229] = 0x6D8A , + [7230] = 0x6D79 , + [7231] = 0x6D85 , + [7232] = 0x6D65 , + [7233] = 0x6D94 , + [7234] = 0x70CA , + [7235] = 0x70D8 , + [7236] = 0x70E4 , + [7237] = 0x70D9 , + [7238] = 0x70C8 , + [7239] = 0x70CF , + [7240] = 0x7239 , + [7241] = 0x7279 , + [7242] = 0x72FC , + [7243] = 0x72F9 , + [7244] = 0x72FD , + [7245] = 0x72F8 , + [7246] = 0x72F7 , + [7247] = 0x7386 , + [7248] = 0x73ED , + [7249] = 0x7409 , + [7250] = 0x73EE , + [7251] = 0x73E0 , + [7252] = 0x73EA , + [7253] = 0x73DE , + [7254] = 0x7554 , + [7255] = 0x755D , + [7256] = 0x755C , + [7257] = 0x755A , + [7258] = 0x7559 , + [7259] = 0x75BE , + [7260] = 0x75C5 , + [7261] = 0x75C7 , + [7262] = 0x75B2 , + [7263] = 0x75B3 , + [7264] = 0x75BD , + [7265] = 0x75BC , + [7266] = 0x75B9 , + [7267] = 0x75C2 , + [7268] = 0x75B8 , + [7269] = 0x768B , + [7270] = 0x76B0 , + [7271] = 0x76CA , + [7272] = 0x76CD , + [7273] = 0x76CE , + [7274] = 0x7729 , + [7275] = 0x771F , + [7276] = 0x7720 , + [7277] = 0x7728 , + [7278] = 0x77E9 , + [7279] = 0x7830 , + [7280] = 0x7827 , + [7281] = 0x7838 , + [7282] = 0x781D , + [7283] = 0x7834 , + [7284] = 0x7837 , + [7285] = 0x7825 , + [7286] = 0x782D , + [7287] = 0x7820 , + [7288] = 0x781F , + [7289] = 0x7832 , + [7290] = 0x7955 , + [7291] = 0x7950 , + [7292] = 0x7960 , + [7293] = 0x795F , + [7294] = 0x7956 , + [7295] = 0x795E , + [7296] = 0x795D , + [7297] = 0x7957 , + [7298] = 0x795A , + [7299] = 0x79E4 , + [7300] = 0x79E3 , + [7301] = 0x79E7 , + [7302] = 0x79DF , + [7303] = 0x79E6 , + [7304] = 0x79E9 , + [7305] = 0x79D8 , + [7306] = 0x7A84 , + [7307] = 0x7A88 , + [7308] = 0x7AD9 , + [7309] = 0x7B06 , + [7310] = 0x7B11 , + [7311] = 0x7C89 , + [7312] = 0x7D21 , + [7313] = 0x7D17 , + [7314] = 0x7D0B , + [7315] = 0x7D0A , + [7316] = 0x7D20 , + [7317] = 0x7D22 , + [7318] = 0x7D14 , + [7319] = 0x7D10 , + [7320] = 0x7D15 , + [7321] = 0x7D1A , + [7322] = 0x7D1C , + [7323] = 0x7D0D , + [7324] = 0x7D19 , + [7325] = 0x7D1B , + [7326] = 0x7F3A , + [7327] = 0x7F5F , + [7328] = 0x7F94 , + [7329] = 0x7FC5 , + [7330] = 0x7FC1 , + [7331] = 0x8006 , + [7332] = 0x8018 , + [7333] = 0x8015 , + [7334] = 0x8019 , + [7335] = 0x8017 , + [7336] = 0x803D , + [7337] = 0x803F , + [7338] = 0x80F1 , + [7339] = 0x8102 , + [7340] = 0x80F0 , + [7341] = 0x8105 , + [7342] = 0x80ED , + [7343] = 0x80F4 , + [7344] = 0x8106 , + [7345] = 0x80F8 , + [7346] = 0x80F3 , + [7347] = 0x8108 , + [7348] = 0x80FD , + [7349] = 0x810A , + [7350] = 0x80FC , + [7351] = 0x80EF , + [7352] = 0x81ED , + [7353] = 0x81EC , + [7354] = 0x8200 , + [7355] = 0x8210 , + [7356] = 0x822A , + [7357] = 0x822B , + [7358] = 0x8228 , + [7359] = 0x822C , + [7360] = 0x82BB , + [7361] = 0x832B , + [7362] = 0x8352 , + [7363] = 0x8354 , + [7364] = 0x834A , + [7365] = 0x8338 , + [7366] = 0x8350 , + [7367] = 0x8349 , + [7368] = 0x8335 , + [7369] = 0x8334 , + [7370] = 0x834F , + [7371] = 0x8332 , + [7372] = 0x8339 , + [7373] = 0x8336 , + [7374] = 0x8317 , + [7375] = 0x8340 , + [7376] = 0x8331 , + [7377] = 0x8328 , + [7378] = 0x8343 , + [7379] = 0x8654 , + [7380] = 0x868A , + [7381] = 0x86AA , + [7382] = 0x8693 , + [7383] = 0x86A4 , + [7384] = 0x86A9 , + [7385] = 0x868C , + [7386] = 0x86A3 , + [7387] = 0x869C , + [7388] = 0x8870 , + [7389] = 0x8877 , + [7390] = 0x8881 , + [7391] = 0x8882 , + [7392] = 0x887D , + [7393] = 0x8879 , + [7394] = 0x8A18 , + [7395] = 0x8A10 , + [7396] = 0x8A0E , + [7397] = 0x8A0C , + [7398] = 0x8A15 , + [7399] = 0x8A0A , + [7400] = 0x8A17 , + [7401] = 0x8A13 , + [7402] = 0x8A16 , + [7403] = 0x8A0F , + [7404] = 0x8A11 , + [7405] = 0x8C48 , + [7406] = 0x8C7A , + [7407] = 0x8C79 , + [7408] = 0x8CA1 , + [7409] = 0x8CA2 , + [7410] = 0x8D77 , + [7411] = 0x8EAC , + [7412] = 0x8ED2 , + [7413] = 0x8ED4 , + [7414] = 0x8ECF , + [7415] = 0x8FB1 , + [7416] = 0x9001 , + [7417] = 0x9006 , + [7418] = 0x8FF7 , + [7419] = 0x9000 , + [7420] = 0x8FFA , + [7421] = 0x8FF4 , + [7422] = 0x9003 , + [7423] = 0x8FFD , + [7424] = 0x9005 , + [7425] = 0x8FF8 , + [7426] = 0x9095 , + [7427] = 0x90E1 , + [7428] = 0x90DD , + [7429] = 0x90E2 , + [7430] = 0x9152 , + [7431] = 0x914D , + [7432] = 0x914C , + [7433] = 0x91D8 , + [7434] = 0x91DD , + [7435] = 0x91D7 , + [7436] = 0x91DC , + [7437] = 0x91D9 , + [7438] = 0x9583 , + [7439] = 0x9662 , + [7440] = 0x9663 , + [7441] = 0x9661 , + [7442] = 0x965B , + [7443] = 0x965D , + [7444] = 0x9664 , + [7445] = 0x9658 , + [7446] = 0x965E , + [7447] = 0x96BB , + [7448] = 0x98E2 , + [7449] = 0x99AC , + [7450] = 0x9AA8 , + [7451] = 0x9AD8 , + [7452] = 0x9B25 , + [7453] = 0x9B32 , + [7454] = 0x9B3C , + [7455] = 0x4E7E , + [7456] = 0x507A , + [7457] = 0x507D , + [7458] = 0x505C , + [7459] = 0x5047 , + [7460] = 0x5043 , + [7461] = 0x504C , + [7462] = 0x505A , + [7463] = 0x5049 , + [7464] = 0x5065 , + [7465] = 0x5076 , + [7466] = 0x504E , + [7467] = 0x5055 , + [7468] = 0x5075 , + [7469] = 0x5074 , + [7470] = 0x5077 , + [7471] = 0x504F , + [7472] = 0x500F , + [7473] = 0x506F , + [7474] = 0x506D , + [7475] = 0x515C , + [7476] = 0x5195 , + [7477] = 0x51F0 , + [7478] = 0x526A , + [7479] = 0x526F , + [7480] = 0x52D2 , + [7481] = 0x52D9 , + [7482] = 0x52D8 , + [7483] = 0x52D5 , + [7484] = 0x5310 , + [7485] = 0x530F , + [7486] = 0x5319 , + [7487] = 0x533F , + [7488] = 0x5340 , + [7489] = 0x533E , + [7490] = 0x53C3 , + [7491] = 0x66FC , + [7492] = 0x5546 , + [7493] = 0x556A , + [7494] = 0x5566 , + [7495] = 0x5544 , + [7496] = 0x555E , + [7497] = 0x5561 , + [7498] = 0x5543 , + [7499] = 0x554A , + [7500] = 0x5531 , + [7501] = 0x5556 , + [7502] = 0x554F , + [7503] = 0x5555 , + [7504] = 0x552F , + [7505] = 0x5564 , + [7506] = 0x5538 , + [7507] = 0x552E , + [7508] = 0x555C , + [7509] = 0x552C , + [7510] = 0x5563 , + [7511] = 0x5533 , + [7512] = 0x5541 , + [7513] = 0x5557 , + [7514] = 0x5708 , + [7515] = 0x570B , + [7516] = 0x5709 , + [7517] = 0x57DF , + [7518] = 0x5805 , + [7519] = 0x580A , + [7520] = 0x5806 , + [7521] = 0x57E0 , + [7522] = 0x57E4 , + [7523] = 0x57FA , + [7524] = 0x5802 , + [7525] = 0x5835 , + [7526] = 0x57F7 , + [7527] = 0x57F9 , + [7528] = 0x5920 , + [7529] = 0x5962 , + [7530] = 0x5A36 , + [7531] = 0x5A41 , + [7532] = 0x5A49 , + [7533] = 0x5A66 , + [7534] = 0x5A6A , + [7535] = 0x5A40 , + [7536] = 0x5A3C , + [7537] = 0x5A62 , + [7538] = 0x5A5A , + [7539] = 0x5A46 , + [7540] = 0x5A4A , + [7541] = 0x5B70 , + [7542] = 0x5BC7 , + [7543] = 0x5BC5 , + [7544] = 0x5BC4 , + [7545] = 0x5BC2 , + [7546] = 0x5BBF , + [7547] = 0x5BC6 , + [7548] = 0x5C09 , + [7549] = 0x5C08 , + [7550] = 0x5C07 , + [7551] = 0x5C60 , + [7552] = 0x5C5C , + [7553] = 0x5C5D , + [7554] = 0x5D07 , + [7555] = 0x5D06 , + [7556] = 0x5D0E , + [7557] = 0x5D1B , + [7558] = 0x5D16 , + [7559] = 0x5D22 , + [7560] = 0x5D11 , + [7561] = 0x5D29 , + [7562] = 0x5D14 , + [7563] = 0x5D19 , + [7564] = 0x5D24 , + [7565] = 0x5D27 , + [7566] = 0x5D17 , + [7567] = 0x5DE2 , + [7568] = 0x5E38 , + [7569] = 0x5E36 , + [7570] = 0x5E33 , + [7571] = 0x5E37 , + [7572] = 0x5EB7 , + [7573] = 0x5EB8 , + [7574] = 0x5EB6 , + [7575] = 0x5EB5 , + [7576] = 0x5EBE , + [7577] = 0x5F35 , + [7578] = 0x5F37 , + [7579] = 0x5F57 , + [7580] = 0x5F6C , + [7581] = 0x5F69 , + [7582] = 0x5F6B , + [7583] = 0x5F97 , + [7584] = 0x5F99 , + [7585] = 0x5F9E , + [7586] = 0x5F98 , + [7587] = 0x5FA1 , + [7588] = 0x5FA0 , + [7589] = 0x5F9C , + [7590] = 0x607F , + [7591] = 0x60A3 , + [7592] = 0x6089 , + [7593] = 0x60A0 , + [7594] = 0x60A8 , + [7595] = 0x60CB , + [7596] = 0x60B4 , + [7597] = 0x60E6 , + [7598] = 0x60BD , + [7599] = 0x60C5 , + [7600] = 0x60BB , + [7601] = 0x60B5 , + [7602] = 0x60DC , + [7603] = 0x60BC , + [7604] = 0x60D8 , + [7605] = 0x60D5 , + [7606] = 0x60C6 , + [7607] = 0x60DF , + [7608] = 0x60B8 , + [7609] = 0x60DA , + [7610] = 0x60C7 , + [7611] = 0x621A , + [7612] = 0x621B , + [7613] = 0x6248 , + [7614] = 0x63A0 , + [7615] = 0x63A7 , + [7616] = 0x6372 , + [7617] = 0x6396 , + [7618] = 0x63A2 , + [7619] = 0x63A5 , + [7620] = 0x6377 , + [7621] = 0x6367 , + [7622] = 0x6398 , + [7623] = 0x63AA , + [7624] = 0x6371 , + [7625] = 0x63A9 , + [7626] = 0x6389 , + [7627] = 0x6383 , + [7628] = 0x639B , + [7629] = 0x636B , + [7630] = 0x63A8 , + [7631] = 0x6384 , + [7632] = 0x6388 , + [7633] = 0x6399 , + [7634] = 0x63A1 , + [7635] = 0x63AC , + [7636] = 0x6392 , + [7637] = 0x638F , + [7638] = 0x6380 , + [7639] = 0x637B , + [7640] = 0x6369 , + [7641] = 0x6368 , + [7642] = 0x637A , + [7643] = 0x655D , + [7644] = 0x6556 , + [7645] = 0x6551 , + [7646] = 0x6559 , + [7647] = 0x6557 , + [7648] = 0x555F , + [7649] = 0x654F , + [7650] = 0x6558 , + [7651] = 0x6555 , + [7652] = 0x6554 , + [7653] = 0x659C , + [7654] = 0x659B , + [7655] = 0x65AC , + [7656] = 0x65CF , + [7657] = 0x65CB , + [7658] = 0x65CC , + [7659] = 0x65CE , + [7660] = 0x665D , + [7661] = 0x665A , + [7662] = 0x6664 , + [7663] = 0x6668 , + [7664] = 0x6666 , + [7665] = 0x665E , + [7666] = 0x66F9 , + [7667] = 0x52D7 , + [7668] = 0x671B , + [7669] = 0x6881 , + [7670] = 0x68AF , + [7671] = 0x68A2 , + [7672] = 0x6893 , + [7673] = 0x68B5 , + [7674] = 0x687F , + [7675] = 0x6876 , + [7676] = 0x68B1 , + [7677] = 0x68A7 , + [7678] = 0x6897 , + [7679] = 0x68B0 , + [7680] = 0x6883 , + [7681] = 0x68C4 , + [7682] = 0x68AD , + [7683] = 0x6886 , + [7684] = 0x6885 , + [7685] = 0x6894 , + [7686] = 0x689D , + [7687] = 0x68A8 , + [7688] = 0x689F , + [7689] = 0x68A1 , + [7690] = 0x6882 , + [7691] = 0x6B32 , + [7692] = 0x6BBA , + [7693] = 0x6BEB , + [7694] = 0x6BEC , + [7695] = 0x6C2B , + [7696] = 0x6D8E , + [7697] = 0x6DBC , + [7698] = 0x6DF3 , + [7699] = 0x6DD9 , + [7700] = 0x6DB2 , + [7701] = 0x6DE1 , + [7702] = 0x6DCC , + [7703] = 0x6DE4 , + [7704] = 0x6DFB , + [7705] = 0x6DFA , + [7706] = 0x6E05 , + [7707] = 0x6DC7 , + [7708] = 0x6DCB , + [7709] = 0x6DAF , + [7710] = 0x6DD1 , + [7711] = 0x6DAE , + [7712] = 0x6DDE , + [7713] = 0x6DF9 , + [7714] = 0x6DB8 , + [7715] = 0x6DF7 , + [7716] = 0x6DF5 , + [7717] = 0x6DC5 , + [7718] = 0x6DD2 , + [7719] = 0x6E1A , + [7720] = 0x6DB5 , + [7721] = 0x6DDA , + [7722] = 0x6DEB , + [7723] = 0x6DD8 , + [7724] = 0x6DEA , + [7725] = 0x6DF1 , + [7726] = 0x6DEE , + [7727] = 0x6DE8 , + [7728] = 0x6DC6 , + [7729] = 0x6DC4 , + [7730] = 0x6DAA , + [7731] = 0x6DEC , + [7732] = 0x6DBF , + [7733] = 0x6DE6 , + [7734] = 0x70F9 , + [7735] = 0x7109 , + [7736] = 0x710A , + [7737] = 0x70FD , + [7738] = 0x70EF , + [7739] = 0x723D , + [7740] = 0x727D , + [7741] = 0x7281 , + [7742] = 0x731C , + [7743] = 0x731B , + [7744] = 0x7316 , + [7745] = 0x7313 , + [7746] = 0x7319 , + [7747] = 0x7387 , + [7748] = 0x7405 , + [7749] = 0x740A , + [7750] = 0x7403 , + [7751] = 0x7406 , + [7752] = 0x73FE , + [7753] = 0x740D , + [7754] = 0x74E0 , + [7755] = 0x74F6 , + [7756] = 0x74F7 , + [7757] = 0x751C , + [7758] = 0x7522 , + [7759] = 0x7565 , + [7760] = 0x7566 , + [7761] = 0x7562 , + [7762] = 0x7570 , + [7763] = 0x758F , + [7764] = 0x75D4 , + [7765] = 0x75D5 , + [7766] = 0x75B5 , + [7767] = 0x75CA , + [7768] = 0x75CD , + [7769] = 0x768E , + [7770] = 0x76D4 , + [7771] = 0x76D2 , + [7772] = 0x76DB , + [7773] = 0x7737 , + [7774] = 0x773E , + [7775] = 0x773C , + [7776] = 0x7736 , + [7777] = 0x7738 , + [7778] = 0x773A , + [7779] = 0x786B , + [7780] = 0x7843 , + [7781] = 0x784E , + [7782] = 0x7965 , + [7783] = 0x7968 , + [7784] = 0x796D , + [7785] = 0x79FB , + [7786] = 0x7A92 , + [7787] = 0x7A95 , + [7788] = 0x7B20 , + [7789] = 0x7B28 , + [7790] = 0x7B1B , + [7791] = 0x7B2C , + [7792] = 0x7B26 , + [7793] = 0x7B19 , + [7794] = 0x7B1E , + [7795] = 0x7B2E , + [7796] = 0x7C92 , + [7797] = 0x7C97 , + [7798] = 0x7C95 , + [7799] = 0x7D46 , + [7800] = 0x7D43 , + [7801] = 0x7D71 , + [7802] = 0x7D2E , + [7803] = 0x7D39 , + [7804] = 0x7D3C , + [7805] = 0x7D40 , + [7806] = 0x7D30 , + [7807] = 0x7D33 , + [7808] = 0x7D44 , + [7809] = 0x7D2F , + [7810] = 0x7D42 , + [7811] = 0x7D32 , + [7812] = 0x7D31 , + [7813] = 0x7F3D , + [7814] = 0x7F9E , + [7815] = 0x7F9A , + [7816] = 0x7FCC , + [7817] = 0x7FCE , + [7818] = 0x7FD2 , + [7819] = 0x801C , + [7820] = 0x804A , + [7821] = 0x8046 , + [7822] = 0x812F , + [7823] = 0x8116 , + [7824] = 0x8123 , + [7825] = 0x812B , + [7826] = 0x8129 , + [7827] = 0x8130 , + [7828] = 0x8124 , + [7829] = 0x8202 , + [7830] = 0x8235 , + [7831] = 0x8237 , + [7832] = 0x8236 , + [7833] = 0x8239 , + [7834] = 0x838E , + [7835] = 0x839E , + [7836] = 0x8398 , + [7837] = 0x8378 , + [7838] = 0x83A2 , + [7839] = 0x8396 , + [7840] = 0x83BD , + [7841] = 0x83AB , + [7842] = 0x8392 , + [7843] = 0x838A , + [7844] = 0x8393 , + [7845] = 0x8389 , + [7846] = 0x83A0 , + [7847] = 0x8377 , + [7848] = 0x837B , + [7849] = 0x837C , + [7850] = 0x8386 , + [7851] = 0x83A7 , + [7852] = 0x8655 , + [7853] = 0x5F6A , + [7854] = 0x86C7 , + [7855] = 0x86C0 , + [7856] = 0x86B6 , + [7857] = 0x86C4 , + [7858] = 0x86B5 , + [7859] = 0x86C6 , + [7860] = 0x86CB , + [7861] = 0x86B1 , + [7862] = 0x86AF , + [7863] = 0x86C9 , + [7864] = 0x8853 , + [7865] = 0x889E , + [7866] = 0x8888 , + [7867] = 0x88AB , + [7868] = 0x8892 , + [7869] = 0x8896 , + [7870] = 0x888D , + [7871] = 0x888B , + [7872] = 0x8993 , + [7873] = 0x898F , + [7874] = 0x8A2A , + [7875] = 0x8A1D , + [7876] = 0x8A23 , + [7877] = 0x8A25 , + [7878] = 0x8A31 , + [7879] = 0x8A2D , + [7880] = 0x8A1F , + [7881] = 0x8A1B , + [7882] = 0x8A22 , + [7883] = 0x8C49 , + [7884] = 0x8C5A , + [7885] = 0x8CA9 , + [7886] = 0x8CAC , + [7887] = 0x8CAB , + [7888] = 0x8CA8 , + [7889] = 0x8CAA , + [7890] = 0x8CA7 , + [7891] = 0x8D67 , + [7892] = 0x8D66 , + [7893] = 0x8DBE , + [7894] = 0x8DBA , + [7895] = 0x8EDB , + [7896] = 0x8EDF , + [7897] = 0x9019 , + [7898] = 0x900D , + [7899] = 0x901A , + [7900] = 0x9017 , + [7901] = 0x9023 , + [7902] = 0x901F , + [7903] = 0x901D , + [7904] = 0x9010 , + [7905] = 0x9015 , + [7906] = 0x901E , + [7907] = 0x9020 , + [7908] = 0x900F , + [7909] = 0x9022 , + [7910] = 0x9016 , + [7911] = 0x901B , + [7912] = 0x9014 , + [7913] = 0x90E8 , + [7914] = 0x90ED , + [7915] = 0x90FD , + [7916] = 0x9157 , + [7917] = 0x91CE , + [7918] = 0x91F5 , + [7919] = 0x91E6 , + [7920] = 0x91E3 , + [7921] = 0x91E7 , + [7922] = 0x91ED , + [7923] = 0x91E9 , + [7924] = 0x9589 , + [7925] = 0x966A , + [7926] = 0x9675 , + [7927] = 0x9673 , + [7928] = 0x9678 , + [7929] = 0x9670 , + [7930] = 0x9674 , + [7931] = 0x9676 , + [7932] = 0x9677 , + [7933] = 0x966C , + [7934] = 0x96C0 , + [7935] = 0x96EA , + [7936] = 0x96E9 , + [7937] = 0x7AE0 , + [7938] = 0x7ADF , + [7939] = 0x9802 , + [7940] = 0x9803 , + [7941] = 0x9B5A , + [7942] = 0x9CE5 , + [7943] = 0x9E75 , + [7944] = 0x9E7F , + [7945] = 0x9EA5 , + [7946] = 0x9EBB , + [7947] = 0x50A2 , + [7948] = 0x508D , + [7949] = 0x5085 , + [7950] = 0x5099 , + [7951] = 0x5091 , + [7952] = 0x5080 , + [7953] = 0x5096 , + [7954] = 0x5098 , + [7955] = 0x509A , + [7956] = 0x6700 , + [7957] = 0x51F1 , + [7958] = 0x5272 , + [7959] = 0x5274 , + [7960] = 0x5275 , + [7961] = 0x5269 , + [7962] = 0x52DE , + [7963] = 0x52DD , + [7964] = 0x52DB , + [7965] = 0x535A , + [7966] = 0x53A5 , + [7967] = 0x557B , + [7968] = 0x5580 , + [7969] = 0x55A7 , + [7970] = 0x557C , + [7971] = 0x558A , + [7972] = 0x559D , + [7973] = 0x5598 , + [7974] = 0x5582 , + [7975] = 0x559C , + [7976] = 0x55AA , + [7977] = 0x5594 , + [7978] = 0x5587 , + [7979] = 0x558B , + [7980] = 0x5583 , + [7981] = 0x55B3 , + [7982] = 0x55AE , + [7983] = 0x559F , + [7984] = 0x553E , + [7985] = 0x55B2 , + [7986] = 0x559A , + [7987] = 0x55BB , + [7988] = 0x55AC , + [7989] = 0x55B1 , + [7990] = 0x557E , + [7991] = 0x5589 , + [7992] = 0x55AB , + [7993] = 0x5599 , + [7994] = 0x570D , + [7995] = 0x582F , + [7996] = 0x582A , + [7997] = 0x5834 , + [7998] = 0x5824 , + [7999] = 0x5830 , + [8000] = 0x5831 , + [8001] = 0x5821 , + [8002] = 0x581D , + [8003] = 0x5820 , + [8004] = 0x58F9 , + [8005] = 0x58FA , + [8006] = 0x5960 , + [8007] = 0x5A77 , + [8008] = 0x5A9A , + [8009] = 0x5A7F , + [8010] = 0x5A92 , + [8011] = 0x5A9B , + [8012] = 0x5AA7 , + [8013] = 0x5B73 , + [8014] = 0x5B71 , + [8015] = 0x5BD2 , + [8016] = 0x5BCC , + [8017] = 0x5BD3 , + [8018] = 0x5BD0 , + [8019] = 0x5C0A , + [8020] = 0x5C0B , + [8021] = 0x5C31 , + [8022] = 0x5D4C , + [8023] = 0x5D50 , + [8024] = 0x5D34 , + [8025] = 0x5D47 , + [8026] = 0x5DFD , + [8027] = 0x5E45 , + [8028] = 0x5E3D , + [8029] = 0x5E40 , + [8030] = 0x5E43 , + [8031] = 0x5E7E , + [8032] = 0x5ECA , + [8033] = 0x5EC1 , + [8034] = 0x5EC2 , + [8035] = 0x5EC4 , + [8036] = 0x5F3C , + [8037] = 0x5F6D , + [8038] = 0x5FA9 , + [8039] = 0x5FAA , + [8040] = 0x5FA8 , + [8041] = 0x60D1 , + [8042] = 0x60E1 , + [8043] = 0x60B2 , + [8044] = 0x60B6 , + [8045] = 0x60E0 , + [8046] = 0x611C , + [8047] = 0x6123 , + [8048] = 0x60FA , + [8049] = 0x6115 , + [8050] = 0x60F0 , + [8051] = 0x60FB , + [8052] = 0x60F4 , + [8053] = 0x6168 , + [8054] = 0x60F1 , + [8055] = 0x610E , + [8056] = 0x60F6 , + [8057] = 0x6109 , + [8058] = 0x6100 , + [8059] = 0x6112 , + [8060] = 0x621F , + [8061] = 0x6249 , + [8062] = 0x63A3 , + [8063] = 0x638C , + [8064] = 0x63CF , + [8065] = 0x63C0 , + [8066] = 0x63E9 , + [8067] = 0x63C9 , + [8068] = 0x63C6 , + [8069] = 0x63CD , + [8070] = 0x63D2 , + [8071] = 0x63E3 , + [8072] = 0x63D0 , + [8073] = 0x63E1 , + [8074] = 0x63D6 , + [8075] = 0x63ED , + [8076] = 0x63EE , + [8077] = 0x6376 , + [8078] = 0x63F4 , + [8079] = 0x63EA , + [8080] = 0x63DB , + [8081] = 0x6452 , + [8082] = 0x63DA , + [8083] = 0x63F9 , + [8084] = 0x655E , + [8085] = 0x6566 , + [8086] = 0x6562 , + [8087] = 0x6563 , + [8088] = 0x6591 , + [8089] = 0x6590 , + [8090] = 0x65AF , + [8091] = 0x666E , + [8092] = 0x6670 , + [8093] = 0x6674 , + [8094] = 0x6676 , + [8095] = 0x666F , + [8096] = 0x6691 , + [8097] = 0x667A , + [8098] = 0x667E , + [8099] = 0x6677 , + [8100] = 0x66FE , + [8101] = 0x66FF , + [8102] = 0x671F , + [8103] = 0x671D , + [8104] = 0x68FA , + [8105] = 0x68D5 , + [8106] = 0x68E0 , + [8107] = 0x68D8 , + [8108] = 0x68D7 , + [8109] = 0x6905 , + [8110] = 0x68DF , + [8111] = 0x68F5 , + [8112] = 0x68EE , + [8113] = 0x68E7 , + [8114] = 0x68F9 , + [8115] = 0x68D2 , + [8116] = 0x68F2 , + [8117] = 0x68E3 , + [8118] = 0x68CB , + [8119] = 0x68CD , + [8120] = 0x690D , + [8121] = 0x6912 , + [8122] = 0x690E , + [8123] = 0x68C9 , + [8124] = 0x68DA , + [8125] = 0x696E , + [8126] = 0x68FB , + [8127] = 0x6B3E , + [8128] = 0x6B3A , + [8129] = 0x6B3D , + [8130] = 0x6B98 , + [8131] = 0x6B96 , + [8132] = 0x6BBC , + [8133] = 0x6BEF , + [8134] = 0x6C2E , + [8135] = 0x6C2F , + [8136] = 0x6C2C , + [8137] = 0x6E2F , + [8138] = 0x6E38 , + [8139] = 0x6E54 , + [8140] = 0x6E21 , + [8141] = 0x6E32 , + [8142] = 0x6E67 , + [8143] = 0x6E4A , + [8144] = 0x6E20 , + [8145] = 0x6E25 , + [8146] = 0x6E23 , + [8147] = 0x6E1B , + [8148] = 0x6E5B , + [8149] = 0x6E58 , + [8150] = 0x6E24 , + [8151] = 0x6E56 , + [8152] = 0x6E6E , + [8153] = 0x6E2D , + [8154] = 0x6E26 , + [8155] = 0x6E6F , + [8156] = 0x6E34 , + [8157] = 0x6E4D , + [8158] = 0x6E3A , + [8159] = 0x6E2C , + [8160] = 0x6E43 , + [8161] = 0x6E1D , + [8162] = 0x6E3E , + [8163] = 0x6ECB , + [8164] = 0x6E89 , + [8165] = 0x6E19 , + [8166] = 0x6E4E , + [8167] = 0x6E63 , + [8168] = 0x6E44 , + [8169] = 0x6E72 , + [8170] = 0x6E69 , + [8171] = 0x6E5F , + [8172] = 0x7119 , + [8173] = 0x711A , + [8174] = 0x7126 , + [8175] = 0x7130 , + [8176] = 0x7121 , + [8177] = 0x7136 , + [8178] = 0x716E , + [8179] = 0x711C , + [8180] = 0x724C , + [8181] = 0x7284 , + [8182] = 0x7280 , + [8183] = 0x7336 , + [8184] = 0x7325 , + [8185] = 0x7334 , + [8186] = 0x7329 , + [8187] = 0x743A , + [8188] = 0x742A , + [8189] = 0x7433 , + [8190] = 0x7422 , + [8191] = 0x7425 , + [8192] = 0x7435 , + [8193] = 0x7436 , + [8194] = 0x7434 , + [8195] = 0x742F , + [8196] = 0x741B , + [8197] = 0x7426 , + [8198] = 0x7428 , + [8199] = 0x7525 , + [8200] = 0x7526 , + [8201] = 0x756B , + [8202] = 0x756A , + [8203] = 0x75E2 , + [8204] = 0x75DB , + [8205] = 0x75E3 , + [8206] = 0x75D9 , + [8207] = 0x75D8 , + [8208] = 0x75DE , + [8209] = 0x75E0 , + [8210] = 0x767B , + [8211] = 0x767C , + [8212] = 0x7696 , + [8213] = 0x7693 , + [8214] = 0x76B4 , + [8215] = 0x76DC , + [8216] = 0x774F , + [8217] = 0x77ED , + [8218] = 0x785D , + [8219] = 0x786C , + [8220] = 0x786F , + [8221] = 0x7A0D , + [8222] = 0x7A08 , + [8223] = 0x7A0B , + [8224] = 0x7A05 , + [8225] = 0x7A00 , + [8226] = 0x7A98 , + [8227] = 0x7A97 , + [8228] = 0x7A96 , + [8229] = 0x7AE5 , + [8230] = 0x7AE3 , + [8231] = 0x7B49 , + [8232] = 0x7B56 , + [8233] = 0x7B46 , + [8234] = 0x7B50 , + [8235] = 0x7B52 , + [8236] = 0x7B54 , + [8237] = 0x7B4D , + [8238] = 0x7B4B , + [8239] = 0x7B4F , + [8240] = 0x7B51 , + [8241] = 0x7C9F , + [8242] = 0x7CA5 , + [8243] = 0x7D5E , + [8244] = 0x7D50 , + [8245] = 0x7D68 , + [8246] = 0x7D55 , + [8247] = 0x7D2B , + [8248] = 0x7D6E , + [8249] = 0x7D72 , + [8250] = 0x7D61 , + [8251] = 0x7D66 , + [8252] = 0x7D62 , + [8253] = 0x7D70 , + [8254] = 0x7D73 , + [8255] = 0x5584 , + [8256] = 0x7FD4 , + [8257] = 0x7FD5 , + [8258] = 0x800B , + [8259] = 0x8052 , + [8260] = 0x8085 , + [8261] = 0x8155 , + [8262] = 0x8154 , + [8263] = 0x814B , + [8264] = 0x8151 , + [8265] = 0x814E , + [8266] = 0x8139 , + [8267] = 0x8146 , + [8268] = 0x813E , + [8269] = 0x814C , + [8270] = 0x8153 , + [8271] = 0x8174 , + [8272] = 0x8212 , + [8273] = 0x821C , + [8274] = 0x83E9 , + [8275] = 0x8403 , + [8276] = 0x83F8 , + [8277] = 0x840D , + [8278] = 0x83E0 , + [8279] = 0x83C5 , + [8280] = 0x840B , + [8281] = 0x83C1 , + [8282] = 0x83EF , + [8283] = 0x83F1 , + [8284] = 0x83F4 , + [8285] = 0x8457 , + [8286] = 0x840A , + [8287] = 0x83F0 , + [8288] = 0x840C , + [8289] = 0x83CC , + [8290] = 0x83FD , + [8291] = 0x83F2 , + [8292] = 0x83CA , + [8293] = 0x8438 , + [8294] = 0x840E , + [8295] = 0x8404 , + [8296] = 0x83DC , + [8297] = 0x8407 , + [8298] = 0x83D4 , + [8299] = 0x83DF , + [8300] = 0x865B , + [8301] = 0x86DF , + [8302] = 0x86D9 , + [8303] = 0x86ED , + [8304] = 0x86D4 , + [8305] = 0x86DB , + [8306] = 0x86E4 , + [8307] = 0x86D0 , + [8308] = 0x86DE , + [8309] = 0x8857 , + [8310] = 0x88C1 , + [8311] = 0x88C2 , + [8312] = 0x88B1 , + [8313] = 0x8983 , + [8314] = 0x8996 , + [8315] = 0x8A3B , + [8316] = 0x8A60 , + [8317] = 0x8A55 , + [8318] = 0x8A5E , + [8319] = 0x8A3C , + [8320] = 0x8A41 , + [8321] = 0x8A54 , + [8322] = 0x8A5B , + [8323] = 0x8A50 , + [8324] = 0x8A46 , + [8325] = 0x8A34 , + [8326] = 0x8A3A , + [8327] = 0x8A36 , + [8328] = 0x8A56 , + [8329] = 0x8C61 , + [8330] = 0x8C82 , + [8331] = 0x8CAF , + [8332] = 0x8CBC , + [8333] = 0x8CB3 , + [8334] = 0x8CBD , + [8335] = 0x8CC1 , + [8336] = 0x8CBB , + [8337] = 0x8CC0 , + [8338] = 0x8CB4 , + [8339] = 0x8CB7 , + [8340] = 0x8CB6 , + [8341] = 0x8CBF , + [8342] = 0x8CB8 , + [8343] = 0x8D8A , + [8344] = 0x8D85 , + [8345] = 0x8D81 , + [8346] = 0x8DCE , + [8347] = 0x8DDD , + [8348] = 0x8DCB , + [8349] = 0x8DDA , + [8350] = 0x8DD1 , + [8351] = 0x8DCC , + [8352] = 0x8DDB , + [8353] = 0x8DC6 , + [8354] = 0x8EFB , + [8355] = 0x8EF8 , + [8356] = 0x8EFC , + [8357] = 0x8F9C , + [8358] = 0x902E , + [8359] = 0x9035 , + [8360] = 0x9031 , + [8361] = 0x9038 , + [8362] = 0x9032 , + [8363] = 0x9036 , + [8364] = 0x9102 , + [8365] = 0x90F5 , + [8366] = 0x9109 , + [8367] = 0x90FE , + [8368] = 0x9163 , + [8369] = 0x9165 , + [8370] = 0x91CF , + [8371] = 0x9214 , + [8372] = 0x9215 , + [8373] = 0x9223 , + [8374] = 0x9209 , + [8375] = 0x921E , + [8376] = 0x920D , + [8377] = 0x9210 , + [8378] = 0x9207 , + [8379] = 0x9211 , + [8380] = 0x9594 , + [8381] = 0x958F , + [8382] = 0x958B , + [8383] = 0x9591 , + [8384] = 0x9593 , + [8385] = 0x9592 , + [8386] = 0x958E , + [8387] = 0x968A , + [8388] = 0x968E , + [8389] = 0x968B , + [8390] = 0x967D , + [8391] = 0x9685 , + [8392] = 0x9686 , + [8393] = 0x968D , + [8394] = 0x9672 , + [8395] = 0x9684 , + [8396] = 0x96C1 , + [8397] = 0x96C5 , + [8398] = 0x96C4 , + [8399] = 0x96C6 , + [8400] = 0x96C7 , + [8401] = 0x96EF , + [8402] = 0x96F2 , + [8403] = 0x97CC , + [8404] = 0x9805 , + [8405] = 0x9806 , + [8406] = 0x9808 , + [8407] = 0x98E7 , + [8408] = 0x98EA , + [8409] = 0x98EF , + [8410] = 0x98E9 , + [8411] = 0x98F2 , + [8412] = 0x98ED , + [8413] = 0x99AE , + [8414] = 0x99AD , + [8415] = 0x9EC3 , + [8416] = 0x9ECD , + [8417] = 0x9ED1 , + [8418] = 0x4E82 , + [8419] = 0x50AD , + [8420] = 0x50B5 , + [8421] = 0x50B2 , + [8422] = 0x50B3 , + [8423] = 0x50C5 , + [8424] = 0x50BE , + [8425] = 0x50AC , + [8426] = 0x50B7 , + [8427] = 0x50BB , + [8428] = 0x50AF , + [8429] = 0x50C7 , + [8430] = 0x527F , + [8431] = 0x5277 , + [8432] = 0x527D , + [8433] = 0x52DF , + [8434] = 0x52E6 , + [8435] = 0x52E4 , + [8436] = 0x52E2 , + [8437] = 0x52E3 , + [8438] = 0x532F , + [8439] = 0x55DF , + [8440] = 0x55E8 , + [8441] = 0x55D3 , + [8442] = 0x55E6 , + [8443] = 0x55CE , + [8444] = 0x55DC , + [8445] = 0x55C7 , + [8446] = 0x55D1 , + [8447] = 0x55E3 , + [8448] = 0x55E4 , + [8449] = 0x55EF , + [8450] = 0x55DA , + [8451] = 0x55E1 , + [8452] = 0x55C5 , + [8453] = 0x55C6 , + [8454] = 0x55E5 , + [8455] = 0x55C9 , + [8456] = 0x5712 , + [8457] = 0x5713 , + [8458] = 0x585E , + [8459] = 0x5851 , + [8460] = 0x5858 , + [8461] = 0x5857 , + [8462] = 0x585A , + [8463] = 0x5854 , + [8464] = 0x586B , + [8465] = 0x584C , + [8466] = 0x586D , + [8467] = 0x584A , + [8468] = 0x5862 , + [8469] = 0x5852 , + [8470] = 0x584B , + [8471] = 0x5967 , + [8472] = 0x5AC1 , + [8473] = 0x5AC9 , + [8474] = 0x5ACC , + [8475] = 0x5ABE , + [8476] = 0x5ABD , + [8477] = 0x5ABC , + [8478] = 0x5AB3 , + [8479] = 0x5AC2 , + [8480] = 0x5AB2 , + [8481] = 0x5D69 , + [8482] = 0x5D6F , + [8483] = 0x5E4C , + [8484] = 0x5E79 , + [8485] = 0x5EC9 , + [8486] = 0x5EC8 , + [8487] = 0x5F12 , + [8488] = 0x5F59 , + [8489] = 0x5FAC , + [8490] = 0x5FAE , + [8491] = 0x611A , + [8492] = 0x610F , + [8493] = 0x6148 , + [8494] = 0x611F , + [8495] = 0x60F3 , + [8496] = 0x611B , + [8497] = 0x60F9 , + [8498] = 0x6101 , + [8499] = 0x6108 , + [8500] = 0x614E , + [8501] = 0x614C , + [8502] = 0x6144 , + [8503] = 0x614D , + [8504] = 0x613E , + [8505] = 0x6134 , + [8506] = 0x6127 , + [8507] = 0x610D , + [8508] = 0x6106 , + [8509] = 0x6137 , + [8510] = 0x6221 , + [8511] = 0x6222 , + [8512] = 0x6413 , + [8513] = 0x643E , + [8514] = 0x641E , + [8515] = 0x642A , + [8516] = 0x642D , + [8517] = 0x643D , + [8518] = 0x642C , + [8519] = 0x640F , + [8520] = 0x641C , + [8521] = 0x6414 , + [8522] = 0x640D , + [8523] = 0x6436 , + [8524] = 0x6416 , + [8525] = 0x6417 , + [8526] = 0x6406 , + [8527] = 0x656C , + [8528] = 0x659F , + [8529] = 0x65B0 , + [8530] = 0x6697 , + [8531] = 0x6689 , + [8532] = 0x6687 , + [8533] = 0x6688 , + [8534] = 0x6696 , + [8535] = 0x6684 , + [8536] = 0x6698 , + [8537] = 0x668D , + [8538] = 0x6703 , + [8539] = 0x6994 , + [8540] = 0x696D , + [8541] = 0x695A , + [8542] = 0x6977 , + [8543] = 0x6960 , + [8544] = 0x6954 , + [8545] = 0x6975 , + [8546] = 0x6930 , + [8547] = 0x6982 , + [8548] = 0x694A , + [8549] = 0x6968 , + [8550] = 0x696B , + [8551] = 0x695E , + [8552] = 0x6953 , + [8553] = 0x6979 , + [8554] = 0x6986 , + [8555] = 0x695D , + [8556] = 0x6963 , + [8557] = 0x695B , + [8558] = 0x6B47 , + [8559] = 0x6B72 , + [8560] = 0x6BC0 , + [8561] = 0x6BBF , + [8562] = 0x6BD3 , + [8563] = 0x6BFD , + [8564] = 0x6EA2 , + [8565] = 0x6EAF , + [8566] = 0x6ED3 , + [8567] = 0x6EB6 , + [8568] = 0x6EC2 , + [8569] = 0x6E90 , + [8570] = 0x6E9D , + [8571] = 0x6EC7 , + [8572] = 0x6EC5 , + [8573] = 0x6EA5 , + [8574] = 0x6E98 , + [8575] = 0x6EBC , + [8576] = 0x6EBA , + [8577] = 0x6EAB , + [8578] = 0x6ED1 , + [8579] = 0x6E96 , + [8580] = 0x6E9C , + [8581] = 0x6EC4 , + [8582] = 0x6ED4 , + [8583] = 0x6EAA , + [8584] = 0x6EA7 , + [8585] = 0x6EB4 , + [8586] = 0x714E , + [8587] = 0x7159 , + [8588] = 0x7169 , + [8589] = 0x7164 , + [8590] = 0x7149 , + [8591] = 0x7167 , + [8592] = 0x715C , + [8593] = 0x716C , + [8594] = 0x7166 , + [8595] = 0x714C , + [8596] = 0x7165 , + [8597] = 0x715E , + [8598] = 0x7146 , + [8599] = 0x7168 , + [8600] = 0x7156 , + [8601] = 0x723A , + [8602] = 0x7252 , + [8603] = 0x7337 , + [8604] = 0x7345 , + [8605] = 0x733F , + [8606] = 0x733E , + [8607] = 0x746F , + [8608] = 0x745A , + [8609] = 0x7455 , + [8610] = 0x745F , + [8611] = 0x745E , + [8612] = 0x7441 , + [8613] = 0x743F , + [8614] = 0x7459 , + [8615] = 0x745B , + [8616] = 0x745C , + [8617] = 0x7576 , + [8618] = 0x7578 , + [8619] = 0x7600 , + [8620] = 0x75F0 , + [8621] = 0x7601 , + [8622] = 0x75F2 , + [8623] = 0x75F1 , + [8624] = 0x75FA , + [8625] = 0x75FF , + [8626] = 0x75F4 , + [8627] = 0x75F3 , + [8628] = 0x76DE , + [8629] = 0x76DF , + [8630] = 0x775B , + [8631] = 0x776B , + [8632] = 0x7766 , + [8633] = 0x775E , + [8634] = 0x7763 , + [8635] = 0x7779 , + [8636] = 0x776A , + [8637] = 0x776C , + [8638] = 0x775C , + [8639] = 0x7765 , + [8640] = 0x7768 , + [8641] = 0x7762 , + [8642] = 0x77EE , + [8643] = 0x788E , + [8644] = 0x78B0 , + [8645] = 0x7897 , + [8646] = 0x7898 , + [8647] = 0x788C , + [8648] = 0x7889 , + [8649] = 0x787C , + [8650] = 0x7891 , + [8651] = 0x7893 , + [8652] = 0x787F , + [8653] = 0x797A , + [8654] = 0x797F , + [8655] = 0x7981 , + [8656] = 0x842C , + [8657] = 0x79BD , + [8658] = 0x7A1C , + [8659] = 0x7A1A , + [8660] = 0x7A20 , + [8661] = 0x7A14 , + [8662] = 0x7A1F , + [8663] = 0x7A1E , + [8664] = 0x7A9F , + [8665] = 0x7AA0 , + [8666] = 0x7B77 , + [8667] = 0x7BC0 , + [8668] = 0x7B60 , + [8669] = 0x7B6E , + [8670] = 0x7B67 , + [8671] = 0x7CB1 , + [8672] = 0x7CB3 , + [8673] = 0x7CB5 , + [8674] = 0x7D93 , + [8675] = 0x7D79 , + [8676] = 0x7D91 , + [8677] = 0x7D81 , + [8678] = 0x7D8F , + [8679] = 0x7D5B , + [8680] = 0x7F6E , + [8681] = 0x7F69 , + [8682] = 0x7F6A , + [8683] = 0x7F72 , + [8684] = 0x7FA9 , + [8685] = 0x7FA8 , + [8686] = 0x7FA4 , + [8687] = 0x8056 , + [8688] = 0x8058 , + [8689] = 0x8086 , + [8690] = 0x8084 , + [8691] = 0x8171 , + [8692] = 0x8170 , + [8693] = 0x8178 , + [8694] = 0x8165 , + [8695] = 0x816E , + [8696] = 0x8173 , + [8697] = 0x816B , + [8698] = 0x8179 , + [8699] = 0x817A , + [8700] = 0x8166 , + [8701] = 0x8205 , + [8702] = 0x8247 , + [8703] = 0x8482 , + [8704] = 0x8477 , + [8705] = 0x843D , + [8706] = 0x8431 , + [8707] = 0x8475 , + [8708] = 0x8466 , + [8709] = 0x846B , + [8710] = 0x8449 , + [8711] = 0x846C , + [8712] = 0x845B , + [8713] = 0x843C , + [8714] = 0x8435 , + [8715] = 0x8461 , + [8716] = 0x8463 , + [8717] = 0x8469 , + [8718] = 0x846D , + [8719] = 0x8446 , + [8720] = 0x865E , + [8721] = 0x865C , + [8722] = 0x865F , + [8723] = 0x86F9 , + [8724] = 0x8713 , + [8725] = 0x8708 , + [8726] = 0x8707 , + [8727] = 0x8700 , + [8728] = 0x86FE , + [8729] = 0x86FB , + [8730] = 0x8702 , + [8731] = 0x8703 , + [8732] = 0x8706 , + [8733] = 0x870A , + [8734] = 0x8859 , + [8735] = 0x88DF , + [8736] = 0x88D4 , + [8737] = 0x88D9 , + [8738] = 0x88DC , + [8739] = 0x88D8 , + [8740] = 0x88DD , + [8741] = 0x88E1 , + [8742] = 0x88CA , + [8743] = 0x88D5 , + [8744] = 0x88D2 , + [8745] = 0x899C , + [8746] = 0x89E3 , + [8747] = 0x8A6B , + [8748] = 0x8A72 , + [8749] = 0x8A73 , + [8750] = 0x8A66 , + [8751] = 0x8A69 , + [8752] = 0x8A70 , + [8753] = 0x8A87 , + [8754] = 0x8A7C , + [8755] = 0x8A63 , + [8756] = 0x8AA0 , + [8757] = 0x8A71 , + [8758] = 0x8A85 , + [8759] = 0x8A6D , + [8760] = 0x8A62 , + [8761] = 0x8A6E , + [8762] = 0x8A6C , + [8763] = 0x8A79 , + [8764] = 0x8A7B , + [8765] = 0x8A3E , + [8766] = 0x8A68 , + [8767] = 0x8C62 , + [8768] = 0x8C8A , + [8769] = 0x8C89 , + [8770] = 0x8CCA , + [8771] = 0x8CC7 , + [8772] = 0x8CC8 , + [8773] = 0x8CC4 , + [8774] = 0x8CB2 , + [8775] = 0x8CC3 , + [8776] = 0x8CC2 , + [8777] = 0x8CC5 , + [8778] = 0x8DE1 , + [8779] = 0x8DDF , + [8780] = 0x8DE8 , + [8781] = 0x8DEF , + [8782] = 0x8DF3 , + [8783] = 0x8DFA , + [8784] = 0x8DEA , + [8785] = 0x8DE4 , + [8786] = 0x8DE6 , + [8787] = 0x8EB2 , + [8788] = 0x8F03 , + [8789] = 0x8F09 , + [8790] = 0x8EFE , + [8791] = 0x8F0A , + [8792] = 0x8F9F , + [8793] = 0x8FB2 , + [8794] = 0x904B , + [8795] = 0x904A , + [8796] = 0x9053 , + [8797] = 0x9042 , + [8798] = 0x9054 , + [8799] = 0x903C , + [8800] = 0x9055 , + [8801] = 0x9050 , + [8802] = 0x9047 , + [8803] = 0x904F , + [8804] = 0x904E , + [8805] = 0x904D , + [8806] = 0x9051 , + [8807] = 0x903E , + [8808] = 0x9041 , + [8809] = 0x9112 , + [8810] = 0x9117 , + [8811] = 0x916C , + [8812] = 0x916A , + [8813] = 0x9169 , + [8814] = 0x91C9 , + [8815] = 0x9237 , + [8816] = 0x9257 , + [8817] = 0x9238 , + [8818] = 0x923D , + [8819] = 0x9240 , + [8820] = 0x923E , + [8821] = 0x925B , + [8822] = 0x924B , + [8823] = 0x9264 , + [8824] = 0x9251 , + [8825] = 0x9234 , + [8826] = 0x9249 , + [8827] = 0x924D , + [8828] = 0x9245 , + [8829] = 0x9239 , + [8830] = 0x923F , + [8831] = 0x925A , + [8832] = 0x9598 , + [8833] = 0x9698 , + [8834] = 0x9694 , + [8835] = 0x9695 , + [8836] = 0x96CD , + [8837] = 0x96CB , + [8838] = 0x96C9 , + [8839] = 0x96CA , + [8840] = 0x96F7 , + [8841] = 0x96FB , + [8842] = 0x96F9 , + [8843] = 0x96F6 , + [8844] = 0x9756 , + [8845] = 0x9774 , + [8846] = 0x9776 , + [8847] = 0x9810 , + [8848] = 0x9811 , + [8849] = 0x9813 , + [8850] = 0x980A , + [8851] = 0x9812 , + [8852] = 0x980C , + [8853] = 0x98FC , + [8854] = 0x98F4 , + [8855] = 0x98FD , + [8856] = 0x98FE , + [8857] = 0x99B3 , + [8858] = 0x99B1 , + [8859] = 0x99B4 , + [8860] = 0x9AE1 , + [8861] = 0x9CE9 , + [8862] = 0x9E82 , + [8863] = 0x9F0E , + [8864] = 0x9F13 , + [8865] = 0x9F20 , + [8866] = 0x50E7 , + [8867] = 0x50EE , + [8868] = 0x50E5 , + [8869] = 0x50D6 , + [8870] = 0x50ED , + [8871] = 0x50DA , + [8872] = 0x50D5 , + [8873] = 0x50CF , + [8874] = 0x50D1 , + [8875] = 0x50F1 , + [8876] = 0x50CE , + [8877] = 0x50E9 , + [8878] = 0x5162 , + [8879] = 0x51F3 , + [8880] = 0x5283 , + [8881] = 0x5282 , + [8882] = 0x5331 , + [8883] = 0x53AD , + [8884] = 0x55FE , + [8885] = 0x5600 , + [8886] = 0x561B , + [8887] = 0x5617 , + [8888] = 0x55FD , + [8889] = 0x5614 , + [8890] = 0x5606 , + [8891] = 0x5609 , + [8892] = 0x560D , + [8893] = 0x560E , + [8894] = 0x55F7 , + [8895] = 0x5616 , + [8896] = 0x561F , + [8897] = 0x5608 , + [8898] = 0x5610 , + [8899] = 0x55F6 , + [8900] = 0x5718 , + [8901] = 0x5716 , + [8902] = 0x5875 , + [8903] = 0x587E , + [8904] = 0x5883 , + [8905] = 0x5893 , + [8906] = 0x588A , + [8907] = 0x5879 , + [8908] = 0x5885 , + [8909] = 0x587D , + [8910] = 0x58FD , + [8911] = 0x5925 , + [8912] = 0x5922 , + [8913] = 0x5924 , + [8914] = 0x596A , + [8915] = 0x5969 , + [8916] = 0x5AE1 , + [8917] = 0x5AE6 , + [8918] = 0x5AE9 , + [8919] = 0x5AD7 , + [8920] = 0x5AD6 , + [8921] = 0x5AD8 , + [8922] = 0x5AE3 , + [8923] = 0x5B75 , + [8924] = 0x5BDE , + [8925] = 0x5BE7 , + [8926] = 0x5BE1 , + [8927] = 0x5BE5 , + [8928] = 0x5BE6 , + [8929] = 0x5BE8 , + [8930] = 0x5BE2 , + [8931] = 0x5BE4 , + [8932] = 0x5BDF , + [8933] = 0x5C0D , + [8934] = 0x5C62 , + [8935] = 0x5D84 , + [8936] = 0x5D87 , + [8937] = 0x5E5B , + [8938] = 0x5E63 , + [8939] = 0x5E55 , + [8940] = 0x5E57 , + [8941] = 0x5E54 , + [8942] = 0x5ED3 , + [8943] = 0x5ED6 , + [8944] = 0x5F0A , + [8945] = 0x5F46 , + [8946] = 0x5F70 , + [8947] = 0x5FB9 , + [8948] = 0x6147 , + [8949] = 0x613F , + [8950] = 0x614B , + [8951] = 0x6177 , + [8952] = 0x6162 , + [8953] = 0x6163 , + [8954] = 0x615F , + [8955] = 0x615A , + [8956] = 0x6158 , + [8957] = 0x6175 , + [8958] = 0x622A , + [8959] = 0x6487 , + [8960] = 0x6458 , + [8961] = 0x6454 , + [8962] = 0x64A4 , + [8963] = 0x6478 , + [8964] = 0x645F , + [8965] = 0x647A , + [8966] = 0x6451 , + [8967] = 0x6467 , + [8968] = 0x6434 , + [8969] = 0x646D , + [8970] = 0x647B , + [8971] = 0x6572 , + [8972] = 0x65A1 , + [8973] = 0x65D7 , + [8974] = 0x65D6 , + [8975] = 0x66A2 , + [8976] = 0x66A8 , + [8977] = 0x669D , + [8978] = 0x699C , + [8979] = 0x69A8 , + [8980] = 0x6995 , + [8981] = 0x69C1 , + [8982] = 0x69AE , + [8983] = 0x69D3 , + [8984] = 0x69CB , + [8985] = 0x699B , + [8986] = 0x69B7 , + [8987] = 0x69BB , + [8988] = 0x69AB , + [8989] = 0x69B4 , + [8990] = 0x69D0 , + [8991] = 0x69CD , + [8992] = 0x69AD , + [8993] = 0x69CC , + [8994] = 0x69A6 , + [8995] = 0x69C3 , + [8996] = 0x69A3 , + [8997] = 0x6B49 , + [8998] = 0x6B4C , + [8999] = 0x6C33 , + [9000] = 0x6F33 , + [9001] = 0x6F14 , + [9002] = 0x6EFE , + [9003] = 0x6F13 , + [9004] = 0x6EF4 , + [9005] = 0x6F29 , + [9006] = 0x6F3E , + [9007] = 0x6F20 , + [9008] = 0x6F2C , + [9009] = 0x6F0F , + [9010] = 0x6F02 , + [9011] = 0x6F22 , + [9012] = 0x6EFF , + [9013] = 0x6EEF , + [9014] = 0x6F06 , + [9015] = 0x6F31 , + [9016] = 0x6F38 , + [9017] = 0x6F32 , + [9018] = 0x6F23 , + [9019] = 0x6F15 , + [9020] = 0x6F2B , + [9021] = 0x6F2F , + [9022] = 0x6F88 , + [9023] = 0x6F2A , + [9024] = 0x6EEC , + [9025] = 0x6F01 , + [9026] = 0x6EF2 , + [9027] = 0x6ECC , + [9028] = 0x6EF7 , + [9029] = 0x7194 , + [9030] = 0x7199 , + [9031] = 0x717D , + [9032] = 0x718A , + [9033] = 0x7184 , + [9034] = 0x7192 , + [9035] = 0x723E , + [9036] = 0x7292 , + [9037] = 0x7296 , + [9038] = 0x7344 , + [9039] = 0x7350 , + [9040] = 0x7464 , + [9041] = 0x7463 , + [9042] = 0x746A , + [9043] = 0x7470 , + [9044] = 0x746D , + [9045] = 0x7504 , + [9046] = 0x7591 , + [9047] = 0x7627 , + [9048] = 0x760D , + [9049] = 0x760B , + [9050] = 0x7609 , + [9051] = 0x7613 , + [9052] = 0x76E1 , + [9053] = 0x76E3 , + [9054] = 0x7784 , + [9055] = 0x777D , + [9056] = 0x777F , + [9057] = 0x7761 , + [9058] = 0x78C1 , + [9059] = 0x789F , + [9060] = 0x78A7 , + [9061] = 0x78B3 , + [9062] = 0x78A9 , + [9063] = 0x78A3 , + [9064] = 0x798E , + [9065] = 0x798F , + [9066] = 0x798D , + [9067] = 0x7A2E , + [9068] = 0x7A31 , + [9069] = 0x7AAA , + [9070] = 0x7AA9 , + [9071] = 0x7AED , + [9072] = 0x7AEF , + [9073] = 0x7BA1 , + [9074] = 0x7B95 , + [9075] = 0x7B8B , + [9076] = 0x7B75 , + [9077] = 0x7B97 , + [9078] = 0x7B9D , + [9079] = 0x7B94 , + [9080] = 0x7B8F , + [9081] = 0x7BB8 , + [9082] = 0x7B87 , + [9083] = 0x7B84 , + [9084] = 0x7CB9 , + [9085] = 0x7CBD , + [9086] = 0x7CBE , + [9087] = 0x7DBB , + [9088] = 0x7DB0 , + [9089] = 0x7D9C , + [9090] = 0x7DBD , + [9091] = 0x7DBE , + [9092] = 0x7DA0 , + [9093] = 0x7DCA , + [9094] = 0x7DB4 , + [9095] = 0x7DB2 , + [9096] = 0x7DB1 , + [9097] = 0x7DBA , + [9098] = 0x7DA2 , + [9099] = 0x7DBF , + [9100] = 0x7DB5 , + [9101] = 0x7DB8 , + [9102] = 0x7DAD , + [9103] = 0x7DD2 , + [9104] = 0x7DC7 , + [9105] = 0x7DAC , + [9106] = 0x7F70 , + [9107] = 0x7FE0 , + [9108] = 0x7FE1 , + [9109] = 0x7FDF , + [9110] = 0x805E , + [9111] = 0x805A , + [9112] = 0x8087 , + [9113] = 0x8150 , + [9114] = 0x8180 , + [9115] = 0x818F , + [9116] = 0x8188 , + [9117] = 0x818A , + [9118] = 0x817F , + [9119] = 0x8182 , + [9120] = 0x81E7 , + [9121] = 0x81FA , + [9122] = 0x8207 , + [9123] = 0x8214 , + [9124] = 0x821E , + [9125] = 0x824B , + [9126] = 0x84C9 , + [9127] = 0x84BF , + [9128] = 0x84C6 , + [9129] = 0x84C4 , + [9130] = 0x8499 , + [9131] = 0x849E , + [9132] = 0x84B2 , + [9133] = 0x849C , + [9134] = 0x84CB , + [9135] = 0x84B8 , + [9136] = 0x84C0 , + [9137] = 0x84D3 , + [9138] = 0x8490 , + [9139] = 0x84BC , + [9140] = 0x84D1 , + [9141] = 0x84CA , + [9142] = 0x873F , + [9143] = 0x871C , + [9144] = 0x873B , + [9145] = 0x8722 , + [9146] = 0x8725 , + [9147] = 0x8734 , + [9148] = 0x8718 , + [9149] = 0x8755 , + [9150] = 0x8737 , + [9151] = 0x8729 , + [9152] = 0x88F3 , + [9153] = 0x8902 , + [9154] = 0x88F4 , + [9155] = 0x88F9 , + [9156] = 0x88F8 , + [9157] = 0x88FD , + [9158] = 0x88E8 , + [9159] = 0x891A , + [9160] = 0x88EF , + [9161] = 0x8AA6 , + [9162] = 0x8A8C , + [9163] = 0x8A9E , + [9164] = 0x8AA3 , + [9165] = 0x8A8D , + [9166] = 0x8AA1 , + [9167] = 0x8A93 , + [9168] = 0x8AA4 , + [9169] = 0x8AAA , + [9170] = 0x8AA5 , + [9171] = 0x8AA8 , + [9172] = 0x8A98 , + [9173] = 0x8A91 , + [9174] = 0x8A9A , + [9175] = 0x8AA7 , + [9176] = 0x8C6A , + [9177] = 0x8C8D , + [9178] = 0x8C8C , + [9179] = 0x8CD3 , + [9180] = 0x8CD1 , + [9181] = 0x8CD2 , + [9182] = 0x8D6B , + [9183] = 0x8D99 , + [9184] = 0x8D95 , + [9185] = 0x8DFC , + [9186] = 0x8F14 , + [9187] = 0x8F12 , + [9188] = 0x8F15 , + [9189] = 0x8F13 , + [9190] = 0x8FA3 , + [9191] = 0x9060 , + [9192] = 0x9058 , + [9193] = 0x905C , + [9194] = 0x9063 , + [9195] = 0x9059 , + [9196] = 0x905E , + [9197] = 0x9062 , + [9198] = 0x905D , + [9199] = 0x905B , + [9200] = 0x9119 , + [9201] = 0x9118 , + [9202] = 0x911E , + [9203] = 0x9175 , + [9204] = 0x9178 , + [9205] = 0x9177 , + [9206] = 0x9174 , + [9207] = 0x9278 , + [9208] = 0x9280 , + [9209] = 0x9285 , + [9210] = 0x9298 , + [9211] = 0x9296 , + [9212] = 0x927B , + [9213] = 0x9293 , + [9214] = 0x929C , + [9215] = 0x92A8 , + [9216] = 0x927C , + [9217] = 0x9291 , + [9218] = 0x95A1 , + [9219] = 0x95A8 , + [9220] = 0x95A9 , + [9221] = 0x95A3 , + [9222] = 0x95A5 , + [9223] = 0x95A4 , + [9224] = 0x9699 , + [9225] = 0x969C , + [9226] = 0x969B , + [9227] = 0x96CC , + [9228] = 0x96D2 , + [9229] = 0x9700 , + [9230] = 0x977C , + [9231] = 0x9785 , + [9232] = 0x97F6 , + [9233] = 0x9817 , + [9234] = 0x9818 , + [9235] = 0x98AF , + [9236] = 0x98B1 , + [9237] = 0x9903 , + [9238] = 0x9905 , + [9239] = 0x990C , + [9240] = 0x9909 , + [9241] = 0x99C1 , + [9242] = 0x9AAF , + [9243] = 0x9AB0 , + [9244] = 0x9AE6 , + [9245] = 0x9B41 , + [9246] = 0x9B42 , + [9247] = 0x9CF4 , + [9248] = 0x9CF6 , + [9249] = 0x9CF3 , + [9250] = 0x9EBC , + [9251] = 0x9F3B , + [9252] = 0x9F4A , + [9253] = 0x5104 , + [9254] = 0x5100 , + [9255] = 0x50FB , + [9256] = 0x50F5 , + [9257] = 0x50F9 , + [9258] = 0x5102 , + [9259] = 0x5108 , + [9260] = 0x5109 , + [9261] = 0x5105 , + [9262] = 0x51DC , + [9263] = 0x5287 , + [9264] = 0x5288 , + [9265] = 0x5289 , + [9266] = 0x528D , + [9267] = 0x528A , + [9268] = 0x52F0 , + [9269] = 0x53B2 , + [9270] = 0x562E , + [9271] = 0x563B , + [9272] = 0x5639 , + [9273] = 0x5632 , + [9274] = 0x563F , + [9275] = 0x5634 , + [9276] = 0x5629 , + [9277] = 0x5653 , + [9278] = 0x564E , + [9279] = 0x5657 , + [9280] = 0x5674 , + [9281] = 0x5636 , + [9282] = 0x562F , + [9283] = 0x5630 , + [9284] = 0x5880 , + [9285] = 0x589F , + [9286] = 0x589E , + [9287] = 0x58B3 , + [9288] = 0x589C , + [9289] = 0x58AE , + [9290] = 0x58A9 , + [9291] = 0x58A6 , + [9292] = 0x596D , + [9293] = 0x5B09 , + [9294] = 0x5AFB , + [9295] = 0x5B0B , + [9296] = 0x5AF5 , + [9297] = 0x5B0C , + [9298] = 0x5B08 , + [9299] = 0x5BEE , + [9300] = 0x5BEC , + [9301] = 0x5BE9 , + [9302] = 0x5BEB , + [9303] = 0x5C64 , + [9304] = 0x5C65 , + [9305] = 0x5D9D , + [9306] = 0x5D94 , + [9307] = 0x5E62 , + [9308] = 0x5E5F , + [9309] = 0x5E61 , + [9310] = 0x5EE2 , + [9311] = 0x5EDA , + [9312] = 0x5EDF , + [9313] = 0x5EDD , + [9314] = 0x5EE3 , + [9315] = 0x5EE0 , + [9316] = 0x5F48 , + [9317] = 0x5F71 , + [9318] = 0x5FB7 , + [9319] = 0x5FB5 , + [9320] = 0x6176 , + [9321] = 0x6167 , + [9322] = 0x616E , + [9323] = 0x615D , + [9324] = 0x6155 , + [9325] = 0x6182 , + [9326] = 0x617C , + [9327] = 0x6170 , + [9328] = 0x616B , + [9329] = 0x617E , + [9330] = 0x61A7 , + [9331] = 0x6190 , + [9332] = 0x61AB , + [9333] = 0x618E , + [9334] = 0x61AC , + [9335] = 0x619A , + [9336] = 0x61A4 , + [9337] = 0x6194 , + [9338] = 0x61AE , + [9339] = 0x622E , + [9340] = 0x6469 , + [9341] = 0x646F , + [9342] = 0x6479 , + [9343] = 0x649E , + [9344] = 0x64B2 , + [9345] = 0x6488 , + [9346] = 0x6490 , + [9347] = 0x64B0 , + [9348] = 0x64A5 , + [9349] = 0x6493 , + [9350] = 0x6495 , + [9351] = 0x64A9 , + [9352] = 0x6492 , + [9353] = 0x64AE , + [9354] = 0x64AD , + [9355] = 0x64AB , + [9356] = 0x649A , + [9357] = 0x64AC , + [9358] = 0x6499 , + [9359] = 0x64A2 , + [9360] = 0x64B3 , + [9361] = 0x6575 , + [9362] = 0x6577 , + [9363] = 0x6578 , + [9364] = 0x66AE , + [9365] = 0x66AB , + [9366] = 0x66B4 , + [9367] = 0x66B1 , + [9368] = 0x6A23 , + [9369] = 0x6A1F , + [9370] = 0x69E8 , + [9371] = 0x6A01 , + [9372] = 0x6A1E , + [9373] = 0x6A19 , + [9374] = 0x69FD , + [9375] = 0x6A21 , + [9376] = 0x6A13 , + [9377] = 0x6A0A , + [9378] = 0x69F3 , + [9379] = 0x6A02 , + [9380] = 0x6A05 , + [9381] = 0x69ED , + [9382] = 0x6A11 , + [9383] = 0x6B50 , + [9384] = 0x6B4E , + [9385] = 0x6BA4 , + [9386] = 0x6BC5 , + [9387] = 0x6BC6 , + [9388] = 0x6F3F , + [9389] = 0x6F7C , + [9390] = 0x6F84 , + [9391] = 0x6F51 , + [9392] = 0x6F66 , + [9393] = 0x6F54 , + [9394] = 0x6F86 , + [9395] = 0x6F6D , + [9396] = 0x6F5B , + [9397] = 0x6F78 , + [9398] = 0x6F6E , + [9399] = 0x6F8E , + [9400] = 0x6F7A , + [9401] = 0x6F70 , + [9402] = 0x6F64 , + [9403] = 0x6F97 , + [9404] = 0x6F58 , + [9405] = 0x6ED5 , + [9406] = 0x6F6F , + [9407] = 0x6F60 , + [9408] = 0x6F5F , + [9409] = 0x719F , + [9410] = 0x71AC , + [9411] = 0x71B1 , + [9412] = 0x71A8 , + [9413] = 0x7256 , + [9414] = 0x729B , + [9415] = 0x734E , + [9416] = 0x7357 , + [9417] = 0x7469 , + [9418] = 0x748B , + [9419] = 0x7483 , + [9420] = 0x747E , + [9421] = 0x7480 , + [9422] = 0x757F , + [9423] = 0x7620 , + [9424] = 0x7629 , + [9425] = 0x761F , + [9426] = 0x7624 , + [9427] = 0x7626 , + [9428] = 0x7621 , + [9429] = 0x7622 , + [9430] = 0x769A , + [9431] = 0x76BA , + [9432] = 0x76E4 , + [9433] = 0x778E , + [9434] = 0x7787 , + [9435] = 0x778C , + [9436] = 0x7791 , + [9437] = 0x778B , + [9438] = 0x78CB , + [9439] = 0x78C5 , + [9440] = 0x78BA , + [9441] = 0x78CA , + [9442] = 0x78BE , + [9443] = 0x78D5 , + [9444] = 0x78BC , + [9445] = 0x78D0 , + [9446] = 0x7A3F , + [9447] = 0x7A3C , + [9448] = 0x7A40 , + [9449] = 0x7A3D , + [9450] = 0x7A37 , + [9451] = 0x7A3B , + [9452] = 0x7AAF , + [9453] = 0x7AAE , + [9454] = 0x7BAD , + [9455] = 0x7BB1 , + [9456] = 0x7BC4 , + [9457] = 0x7BB4 , + [9458] = 0x7BC6 , + [9459] = 0x7BC7 , + [9460] = 0x7BC1 , + [9461] = 0x7BA0 , + [9462] = 0x7BCC , + [9463] = 0x7CCA , + [9464] = 0x7DE0 , + [9465] = 0x7DF4 , + [9466] = 0x7DEF , + [9467] = 0x7DFB , + [9468] = 0x7DD8 , + [9469] = 0x7DEC , + [9470] = 0x7DDD , + [9471] = 0x7DE8 , + [9472] = 0x7DE3 , + [9473] = 0x7DDA , + [9474] = 0x7DDE , + [9475] = 0x7DE9 , + [9476] = 0x7D9E , + [9477] = 0x7DD9 , + [9478] = 0x7DF2 , + [9479] = 0x7DF9 , + [9480] = 0x7F75 , + [9481] = 0x7F77 , + [9482] = 0x7FAF , + [9483] = 0x7FE9 , + [9484] = 0x8026 , + [9485] = 0x819B , + [9486] = 0x819C , + [9487] = 0x819D , + [9488] = 0x81A0 , + [9489] = 0x819A , + [9490] = 0x8198 , + [9491] = 0x8517 , + [9492] = 0x853D , + [9493] = 0x851A , + [9494] = 0x84EE , + [9495] = 0x852C , + [9496] = 0x852D , + [9497] = 0x8513 , + [9498] = 0x8511 , + [9499] = 0x8523 , + [9500] = 0x8521 , + [9501] = 0x8514 , + [9502] = 0x84EC , + [9503] = 0x8525 , + [9504] = 0x84FF , + [9505] = 0x8506 , + [9506] = 0x8782 , + [9507] = 0x8774 , + [9508] = 0x8776 , + [9509] = 0x8760 , + [9510] = 0x8766 , + [9511] = 0x8778 , + [9512] = 0x8768 , + [9513] = 0x8759 , + [9514] = 0x8757 , + [9515] = 0x874C , + [9516] = 0x8753 , + [9517] = 0x885B , + [9518] = 0x885D , + [9519] = 0x8910 , + [9520] = 0x8907 , + [9521] = 0x8912 , + [9522] = 0x8913 , + [9523] = 0x8915 , + [9524] = 0x890A , + [9525] = 0x8ABC , + [9526] = 0x8AD2 , + [9527] = 0x8AC7 , + [9528] = 0x8AC4 , + [9529] = 0x8A95 , + [9530] = 0x8ACB , + [9531] = 0x8AF8 , + [9532] = 0x8AB2 , + [9533] = 0x8AC9 , + [9534] = 0x8AC2 , + [9535] = 0x8ABF , + [9536] = 0x8AB0 , + [9537] = 0x8AD6 , + [9538] = 0x8ACD , + [9539] = 0x8AB6 , + [9540] = 0x8AB9 , + [9541] = 0x8ADB , + [9542] = 0x8C4C , + [9543] = 0x8C4E , + [9544] = 0x8C6C , + [9545] = 0x8CE0 , + [9546] = 0x8CDE , + [9547] = 0x8CE6 , + [9548] = 0x8CE4 , + [9549] = 0x8CEC , + [9550] = 0x8CED , + [9551] = 0x8CE2 , + [9552] = 0x8CE3 , + [9553] = 0x8CDC , + [9554] = 0x8CEA , + [9555] = 0x8CE1 , + [9556] = 0x8D6D , + [9557] = 0x8D9F , + [9558] = 0x8DA3 , + [9559] = 0x8E2B , + [9560] = 0x8E10 , + [9561] = 0x8E1D , + [9562] = 0x8E22 , + [9563] = 0x8E0F , + [9564] = 0x8E29 , + [9565] = 0x8E1F , + [9566] = 0x8E21 , + [9567] = 0x8E1E , + [9568] = 0x8EBA , + [9569] = 0x8F1D , + [9570] = 0x8F1B , + [9571] = 0x8F1F , + [9572] = 0x8F29 , + [9573] = 0x8F26 , + [9574] = 0x8F2A , + [9575] = 0x8F1C , + [9576] = 0x8F1E , + [9577] = 0x8F25 , + [9578] = 0x9069 , + [9579] = 0x906E , + [9580] = 0x9068 , + [9581] = 0x906D , + [9582] = 0x9077 , + [9583] = 0x9130 , + [9584] = 0x912D , + [9585] = 0x9127 , + [9586] = 0x9131 , + [9587] = 0x9187 , + [9588] = 0x9189 , + [9589] = 0x918B , + [9590] = 0x9183 , + [9591] = 0x92C5 , + [9592] = 0x92BB , + [9593] = 0x92B7 , + [9594] = 0x92EA , + [9595] = 0x92AC , + [9596] = 0x92E4 , + [9597] = 0x92C1 , + [9598] = 0x92B3 , + [9599] = 0x92BC , + [9600] = 0x92D2 , + [9601] = 0x92C7 , + [9602] = 0x92F0 , + [9603] = 0x92B2 , + [9604] = 0x95AD , + [9605] = 0x95B1 , + [9606] = 0x9704 , + [9607] = 0x9706 , + [9608] = 0x9707 , + [9609] = 0x9709 , + [9610] = 0x9760 , + [9611] = 0x978D , + [9612] = 0x978B , + [9613] = 0x978F , + [9614] = 0x9821 , + [9615] = 0x982B , + [9616] = 0x981C , + [9617] = 0x98B3 , + [9618] = 0x990A , + [9619] = 0x9913 , + [9620] = 0x9912 , + [9621] = 0x9918 , + [9622] = 0x99DD , + [9623] = 0x99D0 , + [9624] = 0x99DF , + [9625] = 0x99DB , + [9626] = 0x99D1 , + [9627] = 0x99D5 , + [9628] = 0x99D2 , + [9629] = 0x99D9 , + [9630] = 0x9AB7 , + [9631] = 0x9AEE , + [9632] = 0x9AEF , + [9633] = 0x9B27 , + [9634] = 0x9B45 , + [9635] = 0x9B44 , + [9636] = 0x9B77 , + [9637] = 0x9B6F , + [9638] = 0x9D06 , + [9639] = 0x9D09 , + [9640] = 0x9D03 , + [9641] = 0x9EA9 , + [9642] = 0x9EBE , + [9643] = 0x9ECE , + [9644] = 0x58A8 , + [9645] = 0x9F52 , + [9646] = 0x5112 , + [9647] = 0x5118 , + [9648] = 0x5114 , + [9649] = 0x5110 , + [9650] = 0x5115 , + [9651] = 0x5180 , + [9652] = 0x51AA , + [9653] = 0x51DD , + [9654] = 0x5291 , + [9655] = 0x5293 , + [9656] = 0x52F3 , + [9657] = 0x5659 , + [9658] = 0x566B , + [9659] = 0x5679 , + [9660] = 0x5669 , + [9661] = 0x5664 , + [9662] = 0x5678 , + [9663] = 0x566A , + [9664] = 0x5668 , + [9665] = 0x5665 , + [9666] = 0x5671 , + [9667] = 0x566F , + [9668] = 0x566C , + [9669] = 0x5662 , + [9670] = 0x5676 , + [9671] = 0x58C1 , + [9672] = 0x58BE , + [9673] = 0x58C7 , + [9674] = 0x58C5 , + [9675] = 0x596E , + [9676] = 0x5B1D , + [9677] = 0x5B34 , + [9678] = 0x5B78 , + [9679] = 0x5BF0 , + [9680] = 0x5C0E , + [9681] = 0x5F4A , + [9682] = 0x61B2 , + [9683] = 0x6191 , + [9684] = 0x61A9 , + [9685] = 0x618A , + [9686] = 0x61CD , + [9687] = 0x61B6 , + [9688] = 0x61BE , + [9689] = 0x61CA , + [9690] = 0x61C8 , + [9691] = 0x6230 , + [9692] = 0x64C5 , + [9693] = 0x64C1 , + [9694] = 0x64CB , + [9695] = 0x64BB , + [9696] = 0x64BC , + [9697] = 0x64DA , + [9698] = 0x64C4 , + [9699] = 0x64C7 , + [9700] = 0x64C2 , + [9701] = 0x64CD , + [9702] = 0x64BF , + [9703] = 0x64D2 , + [9704] = 0x64D4 , + [9705] = 0x64BE , + [9706] = 0x6574 , + [9707] = 0x66C6 , + [9708] = 0x66C9 , + [9709] = 0x66B9 , + [9710] = 0x66C4 , + [9711] = 0x66C7 , + [9712] = 0x66B8 , + [9713] = 0x6A3D , + [9714] = 0x6A38 , + [9715] = 0x6A3A , + [9716] = 0x6A59 , + [9717] = 0x6A6B , + [9718] = 0x6A58 , + [9719] = 0x6A39 , + [9720] = 0x6A44 , + [9721] = 0x6A62 , + [9722] = 0x6A61 , + [9723] = 0x6A4B , + [9724] = 0x6A47 , + [9725] = 0x6A35 , + [9726] = 0x6A5F , + [9727] = 0x6A48 , + [9728] = 0x6B59 , + [9729] = 0x6B77 , + [9730] = 0x6C05 , + [9731] = 0x6FC2 , + [9732] = 0x6FB1 , + [9733] = 0x6FA1 , + [9734] = 0x6FC3 , + [9735] = 0x6FA4 , + [9736] = 0x6FC1 , + [9737] = 0x6FA7 , + [9738] = 0x6FB3 , + [9739] = 0x6FC0 , + [9740] = 0x6FB9 , + [9741] = 0x6FB6 , + [9742] = 0x6FA6 , + [9743] = 0x6FA0 , + [9744] = 0x6FB4 , + [9745] = 0x71BE , + [9746] = 0x71C9 , + [9747] = 0x71D0 , + [9748] = 0x71D2 , + [9749] = 0x71C8 , + [9750] = 0x71D5 , + [9751] = 0x71B9 , + [9752] = 0x71CE , + [9753] = 0x71D9 , + [9754] = 0x71DC , + [9755] = 0x71C3 , + [9756] = 0x71C4 , + [9757] = 0x7368 , + [9758] = 0x749C , + [9759] = 0x74A3 , + [9760] = 0x7498 , + [9761] = 0x749F , + [9762] = 0x749E , + [9763] = 0x74E2 , + [9764] = 0x750C , + [9765] = 0x750D , + [9766] = 0x7634 , + [9767] = 0x7638 , + [9768] = 0x763A , + [9769] = 0x76E7 , + [9770] = 0x76E5 , + [9771] = 0x77A0 , + [9772] = 0x779E , + [9773] = 0x779F , + [9774] = 0x77A5 , + [9775] = 0x78E8 , + [9776] = 0x78DA , + [9777] = 0x78EC , + [9778] = 0x78E7 , + [9779] = 0x79A6 , + [9780] = 0x7A4D , + [9781] = 0x7A4E , + [9782] = 0x7A46 , + [9783] = 0x7A4C , + [9784] = 0x7A4B , + [9785] = 0x7ABA , + [9786] = 0x7BD9 , + [9787] = 0x7C11 , + [9788] = 0x7BC9 , + [9789] = 0x7BE4 , + [9790] = 0x7BDB , + [9791] = 0x7BE1 , + [9792] = 0x7BE9 , + [9793] = 0x7BE6 , + [9794] = 0x7CD5 , + [9795] = 0x7CD6 , + [9796] = 0x7E0A , + [9797] = 0x7E11 , + [9798] = 0x7E08 , + [9799] = 0x7E1B , + [9800] = 0x7E23 , + [9801] = 0x7E1E , + [9802] = 0x7E1D , + [9803] = 0x7E09 , + [9804] = 0x7E10 , + [9805] = 0x7F79 , + [9806] = 0x7FB2 , + [9807] = 0x7FF0 , + [9808] = 0x7FF1 , + [9809] = 0x7FEE , + [9810] = 0x8028 , + [9811] = 0x81B3 , + [9812] = 0x81A9 , + [9813] = 0x81A8 , + [9814] = 0x81FB , + [9815] = 0x8208 , + [9816] = 0x8258 , + [9817] = 0x8259 , + [9818] = 0x854A , + [9819] = 0x8559 , + [9820] = 0x8548 , + [9821] = 0x8568 , + [9822] = 0x8569 , + [9823] = 0x8543 , + [9824] = 0x8549 , + [9825] = 0x856D , + [9826] = 0x856A , + [9827] = 0x855E , + [9828] = 0x8783 , + [9829] = 0x879F , + [9830] = 0x879E , + [9831] = 0x87A2 , + [9832] = 0x878D , + [9833] = 0x8861 , + [9834] = 0x892A , + [9835] = 0x8932 , + [9836] = 0x8925 , + [9837] = 0x892B , + [9838] = 0x8921 , + [9839] = 0x89AA , + [9840] = 0x89A6 , + [9841] = 0x8AE6 , + [9842] = 0x8AFA , + [9843] = 0x8AEB , + [9844] = 0x8AF1 , + [9845] = 0x8B00 , + [9846] = 0x8ADC , + [9847] = 0x8AE7 , + [9848] = 0x8AEE , + [9849] = 0x8AFE , + [9850] = 0x8B01 , + [9851] = 0x8B02 , + [9852] = 0x8AF7 , + [9853] = 0x8AED , + [9854] = 0x8AF3 , + [9855] = 0x8AF6 , + [9856] = 0x8AFC , + [9857] = 0x8C6B , + [9858] = 0x8C6D , + [9859] = 0x8C93 , + [9860] = 0x8CF4 , + [9861] = 0x8E44 , + [9862] = 0x8E31 , + [9863] = 0x8E34 , + [9864] = 0x8E42 , + [9865] = 0x8E39 , + [9866] = 0x8E35 , + [9867] = 0x8F3B , + [9868] = 0x8F2F , + [9869] = 0x8F38 , + [9870] = 0x8F33 , + [9871] = 0x8FA8 , + [9872] = 0x8FA6 , + [9873] = 0x9075 , + [9874] = 0x9074 , + [9875] = 0x9078 , + [9876] = 0x9072 , + [9877] = 0x907C , + [9878] = 0x907A , + [9879] = 0x9134 , + [9880] = 0x9192 , + [9881] = 0x9320 , + [9882] = 0x9336 , + [9883] = 0x92F8 , + [9884] = 0x9333 , + [9885] = 0x932F , + [9886] = 0x9322 , + [9887] = 0x92FC , + [9888] = 0x932B , + [9889] = 0x9304 , + [9890] = 0x931A , + [9891] = 0x9310 , + [9892] = 0x9326 , + [9893] = 0x9321 , + [9894] = 0x9315 , + [9895] = 0x932E , + [9896] = 0x9319 , + [9897] = 0x95BB , + [9898] = 0x96A7 , + [9899] = 0x96A8 , + [9900] = 0x96AA , + [9901] = 0x96D5 , + [9902] = 0x970E , + [9903] = 0x9711 , + [9904] = 0x9716 , + [9905] = 0x970D , + [9906] = 0x9713 , + [9907] = 0x970F , + [9908] = 0x975B , + [9909] = 0x975C , + [9910] = 0x9766 , + [9911] = 0x9798 , + [9912] = 0x9830 , + [9913] = 0x9838 , + [9914] = 0x983B , + [9915] = 0x9837 , + [9916] = 0x982D , + [9917] = 0x9839 , + [9918] = 0x9824 , + [9919] = 0x9910 , + [9920] = 0x9928 , + [9921] = 0x991E , + [9922] = 0x991B , + [9923] = 0x9921 , + [9924] = 0x991A , + [9925] = 0x99ED , + [9926] = 0x99E2 , + [9927] = 0x99F1 , + [9928] = 0x9AB8 , + [9929] = 0x9ABC , + [9930] = 0x9AFB , + [9931] = 0x9AED , + [9932] = 0x9B28 , + [9933] = 0x9B91 , + [9934] = 0x9D15 , + [9935] = 0x9D23 , + [9936] = 0x9D26 , + [9937] = 0x9D28 , + [9938] = 0x9D12 , + [9939] = 0x9D1B , + [9940] = 0x9ED8 , + [9941] = 0x9ED4 , + [9942] = 0x9F8D , + [9943] = 0x9F9C , + [9944] = 0x512A , + [9945] = 0x511F , + [9946] = 0x5121 , + [9947] = 0x5132 , + [9948] = 0x52F5 , + [9949] = 0x568E , + [9950] = 0x5680 , + [9951] = 0x5690 , + [9952] = 0x5685 , + [9953] = 0x5687 , + [9954] = 0x568F , + [9955] = 0x58D5 , + [9956] = 0x58D3 , + [9957] = 0x58D1 , + [9958] = 0x58CE , + [9959] = 0x5B30 , + [9960] = 0x5B2A , + [9961] = 0x5B24 , + [9962] = 0x5B7A , + [9963] = 0x5C37 , + [9964] = 0x5C68 , + [9965] = 0x5DBC , + [9966] = 0x5DBA , + [9967] = 0x5DBD , + [9968] = 0x5DB8 , + [9969] = 0x5E6B , + [9970] = 0x5F4C , + [9971] = 0x5FBD , + [9972] = 0x61C9 , + [9973] = 0x61C2 , + [9974] = 0x61C7 , + [9975] = 0x61E6 , + [9976] = 0x61CB , + [9977] = 0x6232 , + [9978] = 0x6234 , + [9979] = 0x64CE , + [9980] = 0x64CA , + [9981] = 0x64D8 , + [9982] = 0x64E0 , + [9983] = 0x64F0 , + [9984] = 0x64E6 , + [9985] = 0x64EC , + [9986] = 0x64F1 , + [9987] = 0x64E2 , + [9988] = 0x64ED , + [9989] = 0x6582 , + [9990] = 0x6583 , + [9991] = 0x66D9 , + [9992] = 0x66D6 , + [9993] = 0x6A80 , + [9994] = 0x6A94 , + [9995] = 0x6A84 , + [9996] = 0x6AA2 , + [9997] = 0x6A9C , + [9998] = 0x6ADB , + [9999] = 0x6AA3 , + [10000] = 0x6A7E , + [10001] = 0x6A97 , + [10002] = 0x6A90 , + [10003] = 0x6AA0 , + [10004] = 0x6B5C , + [10005] = 0x6BAE , + [10006] = 0x6BDA , + [10007] = 0x6C08 , + [10008] = 0x6FD8 , + [10009] = 0x6FF1 , + [10010] = 0x6FDF , + [10011] = 0x6FE0 , + [10012] = 0x6FDB , + [10013] = 0x6FE4 , + [10014] = 0x6FEB , + [10015] = 0x6FEF , + [10016] = 0x6F80 , + [10017] = 0x6FEC , + [10018] = 0x6FE1 , + [10019] = 0x6FE9 , + [10020] = 0x6FD5 , + [10021] = 0x6FEE , + [10022] = 0x6FF0 , + [10023] = 0x71E7 , + [10024] = 0x71DF , + [10025] = 0x71EE , + [10026] = 0x71E6 , + [10027] = 0x71E5 , + [10028] = 0x71ED , + [10029] = 0x71EC , + [10030] = 0x71F4 , + [10031] = 0x71E0 , + [10032] = 0x7235 , + [10033] = 0x7246 , + [10034] = 0x7370 , + [10035] = 0x7372 , + [10036] = 0x74A9 , + [10037] = 0x74B0 , + [10038] = 0x74A6 , + [10039] = 0x74A8 , + [10040] = 0x7646 , + [10041] = 0x7642 , + [10042] = 0x764C , + [10043] = 0x76EA , + [10044] = 0x77B3 , + [10045] = 0x77AA , + [10046] = 0x77B0 , + [10047] = 0x77AC , + [10048] = 0x77A7 , + [10049] = 0x77AD , + [10050] = 0x77EF , + [10051] = 0x78F7 , + [10052] = 0x78FA , + [10053] = 0x78F4 , + [10054] = 0x78EF , + [10055] = 0x7901 , + [10056] = 0x79A7 , + [10057] = 0x79AA , + [10058] = 0x7A57 , + [10059] = 0x7ABF , + [10060] = 0x7C07 , + [10061] = 0x7C0D , + [10062] = 0x7BFE , + [10063] = 0x7BF7 , + [10064] = 0x7C0C , + [10065] = 0x7BE0 , + [10066] = 0x7CE0 , + [10067] = 0x7CDC , + [10068] = 0x7CDE , + [10069] = 0x7CE2 , + [10070] = 0x7CDF , + [10071] = 0x7CD9 , + [10072] = 0x7CDD , + [10073] = 0x7E2E , + [10074] = 0x7E3E , + [10075] = 0x7E46 , + [10076] = 0x7E37 , + [10077] = 0x7E32 , + [10078] = 0x7E43 , + [10079] = 0x7E2B , + [10080] = 0x7E3D , + [10081] = 0x7E31 , + [10082] = 0x7E45 , + [10083] = 0x7E41 , + [10084] = 0x7E34 , + [10085] = 0x7E39 , + [10086] = 0x7E48 , + [10087] = 0x7E35 , + [10088] = 0x7E3F , + [10089] = 0x7E2F , + [10090] = 0x7F44 , + [10091] = 0x7FF3 , + [10092] = 0x7FFC , + [10093] = 0x8071 , + [10094] = 0x8072 , + [10095] = 0x8070 , + [10096] = 0x806F , + [10097] = 0x8073 , + [10098] = 0x81C6 , + [10099] = 0x81C3 , + [10100] = 0x81BA , + [10101] = 0x81C2 , + [10102] = 0x81C0 , + [10103] = 0x81BF , + [10104] = 0x81BD , + [10105] = 0x81C9 , + [10106] = 0x81BE , + [10107] = 0x81E8 , + [10108] = 0x8209 , + [10109] = 0x8271 , + [10110] = 0x85AA , + [10111] = 0x8584 , + [10112] = 0x857E , + [10113] = 0x859C , + [10114] = 0x8591 , + [10115] = 0x8594 , + [10116] = 0x85AF , + [10117] = 0x859B , + [10118] = 0x8587 , + [10119] = 0x85A8 , + [10120] = 0x858A , + [10121] = 0x8667 , + [10122] = 0x87C0 , + [10123] = 0x87D1 , + [10124] = 0x87B3 , + [10125] = 0x87D2 , + [10126] = 0x87C6 , + [10127] = 0x87AB , + [10128] = 0x87BB , + [10129] = 0x87BA , + [10130] = 0x87C8 , + [10131] = 0x87CB , + [10132] = 0x893B , + [10133] = 0x8936 , + [10134] = 0x8944 , + [10135] = 0x8938 , + [10136] = 0x893D , + [10137] = 0x89AC , + [10138] = 0x8B0E , + [10139] = 0x8B17 , + [10140] = 0x8B19 , + [10141] = 0x8B1B , + [10142] = 0x8B0A , + [10143] = 0x8B20 , + [10144] = 0x8B1D , + [10145] = 0x8B04 , + [10146] = 0x8B10 , + [10147] = 0x8C41 , + [10148] = 0x8C3F , + [10149] = 0x8C73 , + [10150] = 0x8CFA , + [10151] = 0x8CFD , + [10152] = 0x8CFC , + [10153] = 0x8CF8 , + [10154] = 0x8CFB , + [10155] = 0x8DA8 , + [10156] = 0x8E49 , + [10157] = 0x8E4B , + [10158] = 0x8E48 , + [10159] = 0x8E4A , + [10160] = 0x8F44 , + [10161] = 0x8F3E , + [10162] = 0x8F42 , + [10163] = 0x8F45 , + [10164] = 0x8F3F , + [10165] = 0x907F , + [10166] = 0x907D , + [10167] = 0x9084 , + [10168] = 0x9081 , + [10169] = 0x9082 , + [10170] = 0x9080 , + [10171] = 0x9139 , + [10172] = 0x91A3 , + [10173] = 0x919E , + [10174] = 0x919C , + [10175] = 0x934D , + [10176] = 0x9382 , + [10177] = 0x9328 , + [10178] = 0x9375 , + [10179] = 0x934A , + [10180] = 0x9365 , + [10181] = 0x934B , + [10182] = 0x9318 , + [10183] = 0x937E , + [10184] = 0x936C , + [10185] = 0x935B , + [10186] = 0x9370 , + [10187] = 0x935A , + [10188] = 0x9354 , + [10189] = 0x95CA , + [10190] = 0x95CB , + [10191] = 0x95CC , + [10192] = 0x95C8 , + [10193] = 0x95C6 , + [10194] = 0x96B1 , + [10195] = 0x96B8 , + [10196] = 0x96D6 , + [10197] = 0x971C , + [10198] = 0x971E , + [10199] = 0x97A0 , + [10200] = 0x97D3 , + [10201] = 0x9846 , + [10202] = 0x98B6 , + [10203] = 0x9935 , + [10204] = 0x9A01 , + [10205] = 0x99FF , + [10206] = 0x9BAE , + [10207] = 0x9BAB , + [10208] = 0x9BAA , + [10209] = 0x9BAD , + [10210] = 0x9D3B , + [10211] = 0x9D3F , + [10212] = 0x9E8B , + [10213] = 0x9ECF , + [10214] = 0x9EDE , + [10215] = 0x9EDC , + [10216] = 0x9EDD , + [10217] = 0x9EDB , + [10218] = 0x9F3E , + [10219] = 0x9F4B , + [10220] = 0x53E2 , + [10221] = 0x5695 , + [10222] = 0x56AE , + [10223] = 0x58D9 , + [10224] = 0x58D8 , + [10225] = 0x5B38 , + [10226] = 0x5F5D , + [10227] = 0x61E3 , + [10228] = 0x6233 , + [10229] = 0x64F4 , + [10230] = 0x64F2 , + [10231] = 0x64FE , + [10232] = 0x6506 , + [10233] = 0x64FA , + [10234] = 0x64FB , + [10235] = 0x64F7 , + [10236] = 0x65B7 , + [10237] = 0x66DC , + [10238] = 0x6726 , + [10239] = 0x6AB3 , + [10240] = 0x6AAC , + [10241] = 0x6AC3 , + [10242] = 0x6ABB , + [10243] = 0x6AB8 , + [10244] = 0x6AC2 , + [10245] = 0x6AAE , + [10246] = 0x6AAF , + [10247] = 0x6B5F , + [10248] = 0x6B78 , + [10249] = 0x6BAF , + [10250] = 0x7009 , + [10251] = 0x700B , + [10252] = 0x6FFE , + [10253] = 0x7006 , + [10254] = 0x6FFA , + [10255] = 0x7011 , + [10256] = 0x700F , + [10257] = 0x71FB , + [10258] = 0x71FC , + [10259] = 0x71FE , + [10260] = 0x71F8 , + [10261] = 0x7377 , + [10262] = 0x7375 , + [10263] = 0x74A7 , + [10264] = 0x74BF , + [10265] = 0x7515 , + [10266] = 0x7656 , + [10267] = 0x7658 , + [10268] = 0x7652 , + [10269] = 0x77BD , + [10270] = 0x77BF , + [10271] = 0x77BB , + [10272] = 0x77BC , + [10273] = 0x790E , + [10274] = 0x79AE , + [10275] = 0x7A61 , + [10276] = 0x7A62 , + [10277] = 0x7A60 , + [10278] = 0x7AC4 , + [10279] = 0x7AC5 , + [10280] = 0x7C2B , + [10281] = 0x7C27 , + [10282] = 0x7C2A , + [10283] = 0x7C1E , + [10284] = 0x7C23 , + [10285] = 0x7C21 , + [10286] = 0x7CE7 , + [10287] = 0x7E54 , + [10288] = 0x7E55 , + [10289] = 0x7E5E , + [10290] = 0x7E5A , + [10291] = 0x7E61 , + [10292] = 0x7E52 , + [10293] = 0x7E59 , + [10294] = 0x7F48 , + [10295] = 0x7FF9 , + [10296] = 0x7FFB , + [10297] = 0x8077 , + [10298] = 0x8076 , + [10299] = 0x81CD , + [10300] = 0x81CF , + [10301] = 0x820A , + [10302] = 0x85CF , + [10303] = 0x85A9 , + [10304] = 0x85CD , + [10305] = 0x85D0 , + [10306] = 0x85C9 , + [10307] = 0x85B0 , + [10308] = 0x85BA , + [10309] = 0x85B9 , + [10310] = 0x85A6 , + [10311] = 0x87EF , + [10312] = 0x87EC , + [10313] = 0x87F2 , + [10314] = 0x87E0 , + [10315] = 0x8986 , + [10316] = 0x89B2 , + [10317] = 0x89F4 , + [10318] = 0x8B28 , + [10319] = 0x8B39 , + [10320] = 0x8B2C , + [10321] = 0x8B2B , + [10322] = 0x8C50 , + [10323] = 0x8D05 , + [10324] = 0x8E59 , + [10325] = 0x8E63 , + [10326] = 0x8E66 , + [10327] = 0x8E64 , + [10328] = 0x8E5F , + [10329] = 0x8E55 , + [10330] = 0x8EC0 , + [10331] = 0x8F49 , + [10332] = 0x8F4D , + [10333] = 0x9087 , + [10334] = 0x9083 , + [10335] = 0x9088 , + [10336] = 0x91AB , + [10337] = 0x91AC , + [10338] = 0x91D0 , + [10339] = 0x9394 , + [10340] = 0x938A , + [10341] = 0x9396 , + [10342] = 0x93A2 , + [10343] = 0x93B3 , + [10344] = 0x93AE , + [10345] = 0x93AC , + [10346] = 0x93B0 , + [10347] = 0x9398 , + [10348] = 0x939A , + [10349] = 0x9397 , + [10350] = 0x95D4 , + [10351] = 0x95D6 , + [10352] = 0x95D0 , + [10353] = 0x95D5 , + [10354] = 0x96E2 , + [10355] = 0x96DC , + [10356] = 0x96D9 , + [10357] = 0x96DB , + [10358] = 0x96DE , + [10359] = 0x9724 , + [10360] = 0x97A3 , + [10361] = 0x97A6 , + [10362] = 0x97AD , + [10363] = 0x97F9 , + [10364] = 0x984D , + [10365] = 0x984F , + [10366] = 0x984C , + [10367] = 0x984E , + [10368] = 0x9853 , + [10369] = 0x98BA , + [10370] = 0x993E , + [10371] = 0x993F , + [10372] = 0x993D , + [10373] = 0x992E , + [10374] = 0x99A5 , + [10375] = 0x9A0E , + [10376] = 0x9AC1 , + [10377] = 0x9B03 , + [10378] = 0x9B06 , + [10379] = 0x9B4F , + [10380] = 0x9B4E , + [10381] = 0x9B4D , + [10382] = 0x9BCA , + [10383] = 0x9BC9 , + [10384] = 0x9BFD , + [10385] = 0x9BC8 , + [10386] = 0x9BC0 , + [10387] = 0x9D51 , + [10388] = 0x9D5D , + [10389] = 0x9D60 , + [10390] = 0x9EE0 , + [10391] = 0x9F15 , + [10392] = 0x9F2C , + [10393] = 0x5133 , + [10394] = 0x56A5 , + [10395] = 0x58DE , + [10396] = 0x58DF , + [10397] = 0x58E2 , + [10398] = 0x5BF5 , + [10399] = 0x9F90 , + [10400] = 0x5EEC , + [10401] = 0x61F2 , + [10402] = 0x61F7 , + [10403] = 0x61F6 , + [10404] = 0x61F5 , + [10405] = 0x6500 , + [10406] = 0x650F , + [10407] = 0x66E0 , + [10408] = 0x66DD , + [10409] = 0x6AE5 , + [10410] = 0x6ADD , + [10411] = 0x6ADA , + [10412] = 0x6AD3 , + [10413] = 0x701B , + [10414] = 0x701F , + [10415] = 0x7028 , + [10416] = 0x701A , + [10417] = 0x701D , + [10418] = 0x7015 , + [10419] = 0x7018 , + [10420] = 0x7206 , + [10421] = 0x720D , + [10422] = 0x7258 , + [10423] = 0x72A2 , + [10424] = 0x7378 , + [10425] = 0x737A , + [10426] = 0x74BD , + [10427] = 0x74CA , + [10428] = 0x74E3 , + [10429] = 0x7587 , + [10430] = 0x7586 , + [10431] = 0x765F , + [10432] = 0x7661 , + [10433] = 0x77C7 , + [10434] = 0x7919 , + [10435] = 0x79B1 , + [10436] = 0x7A6B , + [10437] = 0x7A69 , + [10438] = 0x7C3E , + [10439] = 0x7C3F , + [10440] = 0x7C38 , + [10441] = 0x7C3D , + [10442] = 0x7C37 , + [10443] = 0x7C40 , + [10444] = 0x7E6B , + [10445] = 0x7E6D , + [10446] = 0x7E79 , + [10447] = 0x7E69 , + [10448] = 0x7E6A , + [10449] = 0x7F85 , + [10450] = 0x7E73 , + [10451] = 0x7FB6 , + [10452] = 0x7FB9 , + [10453] = 0x7FB8 , + [10454] = 0x81D8 , + [10455] = 0x85E9 , + [10456] = 0x85DD , + [10457] = 0x85EA , + [10458] = 0x85D5 , + [10459] = 0x85E4 , + [10460] = 0x85E5 , + [10461] = 0x85F7 , + [10462] = 0x87FB , + [10463] = 0x8805 , + [10464] = 0x880D , + [10465] = 0x87F9 , + [10466] = 0x87FE , + [10467] = 0x8960 , + [10468] = 0x895F , + [10469] = 0x8956 , + [10470] = 0x895E , + [10471] = 0x8B41 , + [10472] = 0x8B5C , + [10473] = 0x8B58 , + [10474] = 0x8B49 , + [10475] = 0x8B5A , + [10476] = 0x8B4E , + [10477] = 0x8B4F , + [10478] = 0x8B46 , + [10479] = 0x8B59 , + [10480] = 0x8D08 , + [10481] = 0x8D0A , + [10482] = 0x8E7C , + [10483] = 0x8E72 , + [10484] = 0x8E87 , + [10485] = 0x8E76 , + [10486] = 0x8E6C , + [10487] = 0x8E7A , + [10488] = 0x8E74 , + [10489] = 0x8F54 , + [10490] = 0x8F4E , + [10491] = 0x8FAD , + [10492] = 0x908A , + [10493] = 0x908B , + [10494] = 0x91B1 , + [10495] = 0x91AE , + [10496] = 0x93E1 , + [10497] = 0x93D1 , + [10498] = 0x93DF , + [10499] = 0x93C3 , + [10500] = 0x93C8 , + [10501] = 0x93DC , + [10502] = 0x93DD , + [10503] = 0x93D6 , + [10504] = 0x93E2 , + [10505] = 0x93CD , + [10506] = 0x93D8 , + [10507] = 0x93E4 , + [10508] = 0x93D7 , + [10509] = 0x93E8 , + [10510] = 0x95DC , + [10511] = 0x96B4 , + [10512] = 0x96E3 , + [10513] = 0x972A , + [10514] = 0x9727 , + [10515] = 0x9761 , + [10516] = 0x97DC , + [10517] = 0x97FB , + [10518] = 0x985E , + [10519] = 0x9858 , + [10520] = 0x985B , + [10521] = 0x98BC , + [10522] = 0x9945 , + [10523] = 0x9949 , + [10524] = 0x9A16 , + [10525] = 0x9A19 , + [10526] = 0x9B0D , + [10527] = 0x9BE8 , + [10528] = 0x9BE7 , + [10529] = 0x9BD6 , + [10530] = 0x9BDB , + [10531] = 0x9D89 , + [10532] = 0x9D61 , + [10533] = 0x9D72 , + [10534] = 0x9D6A , + [10535] = 0x9D6C , + [10536] = 0x9E92 , + [10537] = 0x9E97 , + [10538] = 0x9E93 , + [10539] = 0x9EB4 , + [10540] = 0x52F8 , + [10541] = 0x56A8 , + [10542] = 0x56B7 , + [10543] = 0x56B6 , + [10544] = 0x56B4 , + [10545] = 0x56BC , + [10546] = 0x58E4 , + [10547] = 0x5B40 , + [10548] = 0x5B43 , + [10549] = 0x5B7D , + [10550] = 0x5BF6 , + [10551] = 0x5DC9 , + [10552] = 0x61F8 , + [10553] = 0x61FA , + [10554] = 0x6518 , + [10555] = 0x6514 , + [10556] = 0x6519 , + [10557] = 0x66E6 , + [10558] = 0x6727 , + [10559] = 0x6AEC , + [10560] = 0x703E , + [10561] = 0x7030 , + [10562] = 0x7032 , + [10563] = 0x7210 , + [10564] = 0x737B , + [10565] = 0x74CF , + [10566] = 0x7662 , + [10567] = 0x7665 , + [10568] = 0x7926 , + [10569] = 0x792A , + [10570] = 0x792C , + [10571] = 0x792B , + [10572] = 0x7AC7 , + [10573] = 0x7AF6 , + [10574] = 0x7C4C , + [10575] = 0x7C43 , + [10576] = 0x7C4D , + [10577] = 0x7CEF , + [10578] = 0x7CF0 , + [10579] = 0x8FAE , + [10580] = 0x7E7D , + [10581] = 0x7E7C , + [10582] = 0x7E82 , + [10583] = 0x7F4C , + [10584] = 0x8000 , + [10585] = 0x81DA , + [10586] = 0x8266 , + [10587] = 0x85FB , + [10588] = 0x85F9 , + [10589] = 0x8611 , + [10590] = 0x85FA , + [10591] = 0x8606 , + [10592] = 0x860B , + [10593] = 0x8607 , + [10594] = 0x860A , + [10595] = 0x8814 , + [10596] = 0x8815 , + [10597] = 0x8964 , + [10598] = 0x89BA , + [10599] = 0x89F8 , + [10600] = 0x8B70 , + [10601] = 0x8B6C , + [10602] = 0x8B66 , + [10603] = 0x8B6F , + [10604] = 0x8B5F , + [10605] = 0x8B6B , + [10606] = 0x8D0F , + [10607] = 0x8D0D , + [10608] = 0x8E89 , + [10609] = 0x8E81 , + [10610] = 0x8E85 , + [10611] = 0x8E82 , + [10612] = 0x91B4 , + [10613] = 0x91CB , + [10614] = 0x9418 , + [10615] = 0x9403 , + [10616] = 0x93FD , + [10617] = 0x95E1 , + [10618] = 0x9730 , + [10619] = 0x98C4 , + [10620] = 0x9952 , + [10621] = 0x9951 , + [10622] = 0x99A8 , + [10623] = 0x9A2B , + [10624] = 0x9A30 , + [10625] = 0x9A37 , + [10626] = 0x9A35 , + [10627] = 0x9C13 , + [10628] = 0x9C0D , + [10629] = 0x9E79 , + [10630] = 0x9EB5 , + [10631] = 0x9EE8 , + [10632] = 0x9F2F , + [10633] = 0x9F5F , + [10634] = 0x9F63 , + [10635] = 0x9F61 , + [10636] = 0x5137 , + [10637] = 0x5138 , + [10638] = 0x56C1 , + [10639] = 0x56C0 , + [10640] = 0x56C2 , + [10641] = 0x5914 , + [10642] = 0x5C6C , + [10643] = 0x5DCD , + [10644] = 0x61FC , + [10645] = 0x61FE , + [10646] = 0x651D , + [10647] = 0x651C , + [10648] = 0x6595 , + [10649] = 0x66E9 , + [10650] = 0x6AFB , + [10651] = 0x6B04 , + [10652] = 0x6AFA , + [10653] = 0x6BB2 , + [10654] = 0x704C , + [10655] = 0x721B , + [10656] = 0x72A7 , + [10657] = 0x74D6 , + [10658] = 0x74D4 , + [10659] = 0x7669 , + [10660] = 0x77D3 , + [10661] = 0x7C50 , + [10662] = 0x7E8F , + [10663] = 0x7E8C , + [10664] = 0x7FBC , + [10665] = 0x8617 , + [10666] = 0x862D , + [10667] = 0x861A , + [10668] = 0x8823 , + [10669] = 0x8822 , + [10670] = 0x8821 , + [10671] = 0x881F , + [10672] = 0x896A , + [10673] = 0x896C , + [10674] = 0x89BD , + [10675] = 0x8B74 , + [10676] = 0x8B77 , + [10677] = 0x8B7D , + [10678] = 0x8D13 , + [10679] = 0x8E8A , + [10680] = 0x8E8D , + [10681] = 0x8E8B , + [10682] = 0x8F5F , + [10683] = 0x8FAF , + [10684] = 0x91BA , + [10685] = 0x942E , + [10686] = 0x9433 , + [10687] = 0x9435 , + [10688] = 0x943A , + [10689] = 0x9438 , + [10690] = 0x9432 , + [10691] = 0x942B , + [10692] = 0x95E2 , + [10693] = 0x9738 , + [10694] = 0x9739 , + [10695] = 0x9732 , + [10696] = 0x97FF , + [10697] = 0x9867 , + [10698] = 0x9865 , + [10699] = 0x9957 , + [10700] = 0x9A45 , + [10701] = 0x9A43 , + [10702] = 0x9A40 , + [10703] = 0x9A3E , + [10704] = 0x9ACF , + [10705] = 0x9B54 , + [10706] = 0x9B51 , + [10707] = 0x9C2D , + [10708] = 0x9C25 , + [10709] = 0x9DAF , + [10710] = 0x9DB4 , + [10711] = 0x9DC2 , + [10712] = 0x9DB8 , + [10713] = 0x9E9D , + [10714] = 0x9EEF , + [10715] = 0x9F19 , + [10716] = 0x9F5C , + [10717] = 0x9F66 , + [10718] = 0x9F67 , + [10719] = 0x513C , + [10720] = 0x513B , + [10721] = 0x56C8 , + [10722] = 0x56CA , + [10723] = 0x56C9 , + [10724] = 0x5B7F , + [10725] = 0x5DD4 , + [10726] = 0x5DD2 , + [10727] = 0x5F4E , + [10728] = 0x61FF , + [10729] = 0x6524 , + [10730] = 0x6B0A , + [10731] = 0x6B61 , + [10732] = 0x7051 , + [10733] = 0x7058 , + [10734] = 0x7380 , + [10735] = 0x74E4 , + [10736] = 0x758A , + [10737] = 0x766E , + [10738] = 0x766C , + [10739] = 0x79B3 , + [10740] = 0x7C60 , + [10741] = 0x7C5F , + [10742] = 0x807E , + [10743] = 0x807D , + [10744] = 0x81DF , + [10745] = 0x8972 , + [10746] = 0x896F , + [10747] = 0x89FC , + [10748] = 0x8B80 , + [10749] = 0x8D16 , + [10750] = 0x8D17 , + [10751] = 0x8E91 , + [10752] = 0x8E93 , + [10753] = 0x8F61 , + [10754] = 0x9148 , + [10755] = 0x9444 , + [10756] = 0x9451 , + [10757] = 0x9452 , + [10758] = 0x973D , + [10759] = 0x973E , + [10760] = 0x97C3 , + [10761] = 0x97C1 , + [10762] = 0x986B , + [10763] = 0x9955 , + [10764] = 0x9A55 , + [10765] = 0x9A4D , + [10766] = 0x9AD2 , + [10767] = 0x9B1A , + [10768] = 0x9C49 , + [10769] = 0x9C31 , + [10770] = 0x9C3E , + [10771] = 0x9C3B , + [10772] = 0x9DD3 , + [10773] = 0x9DD7 , + [10774] = 0x9F34 , + [10775] = 0x9F6C , + [10776] = 0x9F6A , + [10777] = 0x9F94 , + [10778] = 0x56CC , + [10779] = 0x5DD6 , + [10780] = 0x6200 , + [10781] = 0x6523 , + [10782] = 0x652B , + [10783] = 0x652A , + [10784] = 0x66EC , + [10785] = 0x6B10 , + [10786] = 0x74DA , + [10787] = 0x7ACA , + [10788] = 0x7C64 , + [10789] = 0x7C63 , + [10790] = 0x7C65 , + [10791] = 0x7E93 , + [10792] = 0x7E96 , + [10793] = 0x7E94 , + [10794] = 0x81E2 , + [10795] = 0x8638 , + [10796] = 0x863F , + [10797] = 0x8831 , + [10798] = 0x8B8A , + [10799] = 0x9090 , + [10800] = 0x908F , + [10801] = 0x9463 , + [10802] = 0x9460 , + [10803] = 0x9464 , + [10804] = 0x9768 , + [10805] = 0x986F , + [10806] = 0x995C , + [10807] = 0x9A5A , + [10808] = 0x9A5B , + [10809] = 0x9A57 , + [10810] = 0x9AD3 , + [10811] = 0x9AD4 , + [10812] = 0x9AD1 , + [10813] = 0x9C54 , + [10814] = 0x9C57 , + [10815] = 0x9C56 , + [10816] = 0x9DE5 , + [10817] = 0x9E9F , + [10818] = 0x9EF4 , + [10819] = 0x56D1 , + [10820] = 0x58E9 , + [10821] = 0x652C , + [10822] = 0x705E , + [10823] = 0x7671 , + [10824] = 0x7672 , + [10825] = 0x77D7 , + [10826] = 0x7F50 , + [10827] = 0x7F88 , + [10828] = 0x8836 , + [10829] = 0x8839 , + [10830] = 0x8862 , + [10831] = 0x8B93 , + [10832] = 0x8B92 , + [10833] = 0x8B96 , + [10834] = 0x8277 , + [10835] = 0x8D1B , + [10836] = 0x91C0 , + [10837] = 0x946A , + [10838] = 0x9742 , + [10839] = 0x9748 , + [10840] = 0x9744 , + [10841] = 0x97C6 , + [10842] = 0x9870 , + [10843] = 0x9A5F , + [10844] = 0x9B22 , + [10845] = 0x9B58 , + [10846] = 0x9C5F , + [10847] = 0x9DF9 , + [10848] = 0x9DFA , + [10849] = 0x9E7C , + [10850] = 0x9E7D , + [10851] = 0x9F07 , + [10852] = 0x9F77 , + [10853] = 0x9F72 , + [10854] = 0x5EF3 , + [10855] = 0x6B16 , + [10856] = 0x7063 , + [10857] = 0x7C6C , + [10858] = 0x7C6E , + [10859] = 0x883B , + [10860] = 0x89C0 , + [10861] = 0x8EA1 , + [10862] = 0x91C1 , + [10863] = 0x9472 , + [10864] = 0x9470 , + [10865] = 0x9871 , + [10866] = 0x995E , + [10867] = 0x9AD6 , + [10868] = 0x9B23 , + [10869] = 0x9ECC , + [10870] = 0x7064 , + [10871] = 0x77DA , + [10872] = 0x8B9A , + [10873] = 0x9477 , + [10874] = 0x97C9 , + [10875] = 0x9A62 , + [10876] = 0x9A65 , + [10877] = 0x7E9C , + [10878] = 0x8B9C , + [10879] = 0x8EAA , + [10880] = 0x91C5 , + [10881] = 0x947D , + [10882] = 0x947E , + [10883] = 0x947C , + [10884] = 0x9C77 , + [10885] = 0x9C78 , + [10886] = 0x9EF7 , + [10887] = 0x8C54 , + [10888] = 0x947F , + [10889] = 0x9E1A , + [10890] = 0x7228 , + [10891] = 0x9A6A , + [10892] = 0x9B31 , + [10893] = 0x9E1B , + [10894] = 0x9E1E , + [10895] = 0x7C72 , + [10896] = 0x2460 , + [10897] = 0x2461 , + [10898] = 0x2462 , + [10899] = 0x2463 , + [10900] = 0x2464 , + [10901] = 0x2465 , + [10902] = 0x2466 , + [10903] = 0x2467 , + [10904] = 0x2468 , + [10905] = 0x2469 , + [10906] = 0x2474 , + [10907] = 0x2475 , + [10908] = 0x2476 , + [10909] = 0x2477 , + [10910] = 0x2478 , + [10911] = 0x2479 , + [10912] = 0x247A , + [10913] = 0x247B , + [10914] = 0x247C , + [10915] = 0x247D , + [10916] = 0x2170 , + [10917] = 0x2171 , + [10918] = 0x2172 , + [10919] = 0x2173 , + [10920] = 0x2174 , + [10921] = 0x2175 , + [10922] = 0x2176 , + [10923] = 0x2177 , + [10924] = 0x2178 , + [10925] = 0x2179 , + [10926] = 0x4E36 , + [10927] = 0x4E3F , + [10928] = 0x4E85 , + [10929] = 0x4EA0 , + [10930] = 0x5182 , + [10931] = 0x5196 , + [10932] = 0x51AB , + [10933] = 0x52F9 , + [10934] = 0x5338 , + [10935] = 0x5369 , + [10936] = 0x53B6 , + [10937] = 0x590A , + [10938] = 0x5B80 , + [10939] = 0x5DDB , + [10940] = 0x2F33 , + [10941] = 0x5E7F , + [10942] = 0x5EF4 , + [10943] = 0x5F50 , + [10944] = 0x5F61 , + [10945] = 0x6534 , + [10946] = 0x65E0 , + [10947] = 0x7592 , + [10948] = 0x7676 , + [10949] = 0x8FB5 , + [10950] = 0x96B6 , + [10951] = 0x00A8 , + [10952] = 0x02C6 , + [10953] = 0x30FD , + [10954] = 0x30FE , + [10955] = 0x309D , + [10956] = 0x309E , + [10957] = 0x3003 , + [10958] = 0x4EDD , + [10959] = 0x3005 , + [10960] = 0x3006 , + [10961] = 0x3007 , + [10962] = 0x30FC , + [10963] = 0xFF3B , + [10964] = 0xFF3D , + [10965] = 0x273D , + [10966] = 0x3041 , + [10967] = 0x3042 , + [10968] = 0x3043 , + [10969] = 0x3044 , + [10970] = 0x3045 , + [10971] = 0x3046 , + [10972] = 0x3047 , + [10973] = 0x3048 , + [10974] = 0x3049 , + [10975] = 0x304A , + [10976] = 0x304B , + [10977] = 0x304C , + [10978] = 0x304D , + [10979] = 0x304E , + [10980] = 0x304F , + [10981] = 0x3050 , + [10982] = 0x3051 , + [10983] = 0x3052 , + [10984] = 0x3053 , + [10985] = 0x3054 , + [10986] = 0x3055 , + [10987] = 0x3056 , + [10988] = 0x3057 , + [10989] = 0x3058 , + [10990] = 0x3059 , + [10991] = 0x305A , + [10992] = 0x305B , + [10993] = 0x305C , + [10994] = 0x305D , + [10995] = 0x305E , + [10996] = 0x305F , + [10997] = 0x3060 , + [10998] = 0x3061 , + [10999] = 0x3062 , + [11000] = 0x3063 , + [11001] = 0x3064 , + [11002] = 0x3065 , + [11003] = 0x3066 , + [11004] = 0x3067 , + [11005] = 0x3068 , + [11006] = 0x3069 , + [11007] = 0x306A , + [11008] = 0x306B , + [11009] = 0x306C , + [11010] = 0x306D , + [11011] = 0x306E , + [11012] = 0x306F , + [11013] = 0x3070 , + [11014] = 0x3071 , + [11015] = 0x3072 , + [11016] = 0x3073 , + [11017] = 0x3074 , + [11018] = 0x3075 , + [11019] = 0x3076 , + [11020] = 0x3077 , + [11021] = 0x3078 , + [11022] = 0x3079 , + [11023] = 0x307A , + [11024] = 0x307B , + [11025] = 0x307C , + [11026] = 0x307D , + [11027] = 0x307E , + [11028] = 0x307F , + [11029] = 0x3080 , + [11030] = 0x3081 , + [11031] = 0x3082 , + [11032] = 0x3083 , + [11033] = 0x3084 , + [11034] = 0x3085 , + [11035] = 0x3086 , + [11036] = 0x3087 , + [11037] = 0x3088 , + [11038] = 0x3089 , + [11039] = 0x308A , + [11040] = 0x308B , + [11041] = 0x308C , + [11042] = 0x308D , + [11043] = 0x308E , + [11044] = 0x308F , + [11045] = 0x3090 , + [11046] = 0x3091 , + [11047] = 0x3092 , + [11048] = 0x3093 , + [11049] = 0x30A1 , + [11050] = 0x30A2 , + [11051] = 0x30A3 , + [11052] = 0x30A4 , + [11053] = 0x30A5 , + [11054] = 0x30A6 , + [11055] = 0x30A7 , + [11056] = 0x30A8 , + [11057] = 0x30A9 , + [11058] = 0x30AA , + [11059] = 0x30AB , + [11060] = 0x30AC , + [11061] = 0x30AD , + [11062] = 0x30AE , + [11063] = 0x30AF , + [11064] = 0x30B0 , + [11065] = 0x30B1 , + [11066] = 0x30B2 , + [11067] = 0x30B3 , + [11068] = 0x30B4 , + [11069] = 0x30B5 , + [11070] = 0x30B6 , + [11071] = 0x30B7 , + [11072] = 0x30B8 , + [11073] = 0x30B9 , + [11074] = 0x30BA , + [11075] = 0x30BB , + [11076] = 0x30BC , + [11077] = 0x30BD , + [11078] = 0x30BE , + [11079] = 0x30BF , + [11080] = 0x30C0 , + [11081] = 0x30C1 , + [11082] = 0x30C2 , + [11083] = 0x30C3 , + [11084] = 0x30C4 , + [11085] = 0x30C5 , + [11086] = 0x30C6 , + [11087] = 0x30C7 , + [11088] = 0x30C8 , + [11089] = 0x30C9 , + [11090] = 0x30CA , + [11091] = 0x30CB , + [11092] = 0x30CC , + [11093] = 0x30CD , + [11094] = 0x30CE , + [11095] = 0x30CF , + [11096] = 0x30D0 , + [11097] = 0x30D1 , + [11098] = 0x30D2 , + [11099] = 0x30D3 , + [11100] = 0x30D4 , + [11101] = 0x30D5 , + [11102] = 0x30D6 , + [11103] = 0x30D7 , + [11104] = 0x30D8 , + [11105] = 0x30D9 , + [11106] = 0x30DA , + [11107] = 0x30DB , + [11108] = 0x30DC , + [11109] = 0x30DD , + [11110] = 0x30DE , + [11111] = 0x30DF , + [11112] = 0x30E0 , + [11113] = 0x30E1 , + [11114] = 0x30E2 , + [11115] = 0x30E3 , + [11116] = 0x30E4 , + [11117] = 0x30E5 , + [11118] = 0x30E6 , + [11119] = 0x30E7 , + [11120] = 0x30E8 , + [11121] = 0x30E9 , + [11122] = 0x30EA , + [11123] = 0x30EB , + [11124] = 0x30EC , + [11125] = 0x30ED , + [11126] = 0x30EE , + [11127] = 0x30EF , + [11128] = 0x30F0 , + [11129] = 0x30F1 , + [11130] = 0x30F2 , + [11131] = 0x30F3 , + [11132] = 0x30F4 , + [11133] = 0x30F5 , + [11134] = 0x30F6 , + [11135] = 0x0410 , + [11136] = 0x0411 , + [11137] = 0x0412 , + [11138] = 0x0413 , + [11139] = 0x0414 , + [11140] = 0x0415 , + [11141] = 0x0401 , + [11142] = 0x0416 , + [11143] = 0x0417 , + [11144] = 0x0418 , + [11145] = 0x0419 , + [11146] = 0x041A , + [11147] = 0x041B , + [11148] = 0x041C , + [11149] = 0x041D , + [11150] = 0x041E , + [11151] = 0x041F , + [11152] = 0x0420 , + [11153] = 0x0421 , + [11154] = 0x0422 , + [11155] = 0x0423 , + [11156] = 0x0424 , + [11157] = 0x0425 , + [11158] = 0x0426 , + [11159] = 0x0427 , + [11160] = 0x0428 , + [11161] = 0x0429 , + [11162] = 0x042A , + [11163] = 0x042B , + [11164] = 0x042C , + [11165] = 0x042D , + [11166] = 0x042E , + [11167] = 0x042F , + [11168] = 0x0430 , + [11169] = 0x0431 , + [11170] = 0x0432 , + [11171] = 0x0433 , + [11172] = 0x0434 , + [11173] = 0x0435 , + [11174] = 0x0451 , + [11175] = 0x0436 , + [11176] = 0x0437 , + [11177] = 0x0438 , + [11178] = 0x0439 , + [11179] = 0x043A , + [11180] = 0x043B , + [11181] = 0x043C , + [11182] = 0x043D , + [11183] = 0x043E , + [11184] = 0x043F , + [11185] = 0x0440 , + [11186] = 0x0441 , + [11187] = 0x0442 , + [11188] = 0x0443 , + [11189] = 0x0444 , + [11190] = 0x0445 , + [11191] = 0x0446 , + [11192] = 0x0447 , + [11193] = 0x0448 , + [11194] = 0x0449 , + [11195] = 0x044A , + [11196] = 0x044B , + [11197] = 0x044C , + [11198] = 0x044D , + [11199] = 0x044E , + [11200] = 0x044F , + [11201] = 0x21E7 , + [11202] = 0x21B8 , + [11203] = 0x21B9 , + [11204] = 0x31CF , + [11205] = 0x200CC , + [11206] = 0x4E5A , + [11207] = 0x2008A , + [11208] = 0x5202 , + [11209] = 0x4491 , + [11210] = 0x9FB0 , + [11211] = 0x5188 , + [11212] = 0x9FB1 , + [11213] = 0x27607 , + [11254] = 0xFFE2 , + [11255] = 0xFFE4 , + [11256] = 0xFF07 , + [11257] = 0xFF02 , + [11258] = 0x3231 , + [11259] = 0x2116 , + [11260] = 0x2121 , + [11261] = 0x309B , + [11262] = 0x309C , + [11263] = 0x2E80 , + [11264] = 0x2E84 , + [11265] = 0x2E86 , + [11266] = 0x2E87 , + [11267] = 0x2E88 , + [11268] = 0x2E8A , + [11269] = 0x2E8C , + [11270] = 0x2E8D , + [11271] = 0x2E95 , + [11272] = 0x2E9C , + [11273] = 0x2E9D , + [11274] = 0x2EA5 , + [11275] = 0x2EA7 , + [11276] = 0x2EAA , + [11277] = 0x2EAC , + [11278] = 0x2EAE , + [11279] = 0x2EB6 , + [11280] = 0x2EBC , + [11281] = 0x2EBE , + [11282] = 0x2EC6 , + [11283] = 0x2ECA , + [11284] = 0x2ECC , + [11285] = 0x2ECD , + [11286] = 0x2ECF , + [11287] = 0x2ED6 , + [11288] = 0x2ED7 , + [11289] = 0x2EDE , + [11290] = 0x2EE3 , + [11294] = 0x0283 , + [11295] = 0x0250 , + [11296] = 0x025B , + [11297] = 0x0254 , + [11298] = 0x0275 , + [11299] = 0x0153 , + [11300] = 0x00F8 , + [11301] = 0x014B , + [11302] = 0x028A , + [11303] = 0x026A , + [11304] = 0x4E42 , + [11305] = 0x4E5C , + [11306] = 0x51F5 , + [11307] = 0x531A , + [11308] = 0x5382 , + [11309] = 0x4E07 , + [11310] = 0x4E0C , + [11311] = 0x4E47 , + [11312] = 0x4E8D , + [11313] = 0x56D7 , + [11314] = 0xFA0C , + [11315] = 0x5C6E , + [11316] = 0x5F73 , + [11317] = 0x4E0F , + [11318] = 0x5187 , + [11319] = 0x4E0E , + [11320] = 0x4E2E , + [11321] = 0x4E93 , + [11322] = 0x4EC2 , + [11323] = 0x4EC9 , + [11324] = 0x4EC8 , + [11325] = 0x5198 , + [11326] = 0x52FC , + [11327] = 0x536C , + [11328] = 0x53B9 , + [11329] = 0x5720 , + [11330] = 0x5903 , + [11331] = 0x592C , + [11332] = 0x5C10 , + [11333] = 0x5DFF , + [11334] = 0x65E1 , + [11335] = 0x6BB3 , + [11336] = 0x6BCC , + [11337] = 0x6C14 , + [11338] = 0x723F , + [11339] = 0x4E31 , + [11340] = 0x4E3C , + [11341] = 0x4EE8 , + [11342] = 0x4EDC , + [11343] = 0x4EE9 , + [11344] = 0x4EE1 , + [11345] = 0x4EDD , + [11346] = 0x4EDA , + [11347] = 0x520C , + [11348] = 0x531C , + [11349] = 0x534C , + [11350] = 0x5722 , + [11351] = 0x5723 , + [11352] = 0x5917 , + [11353] = 0x592F , + [11354] = 0x5B81 , + [11355] = 0x5B84 , + [11356] = 0x5C12 , + [11357] = 0x5C3B , + [11358] = 0x5C74 , + [11359] = 0x5C73 , + [11360] = 0x5E04 , + [11361] = 0x5E80 , + [11362] = 0x5E82 , + [11363] = 0x5FC9 , + [11364] = 0x6209 , + [11365] = 0x6250 , + [11366] = 0x6C15 , + [11367] = 0x6C36 , + [11368] = 0x6C43 , + [11369] = 0x6C3F , + [11370] = 0x6C3B , + [11371] = 0x72AE , + [11372] = 0x72B0 , + [11373] = 0x738A , + [11374] = 0x79B8 , + [11375] = 0x808A , + [11376] = 0x961E , + [11377] = 0x4F0E , + [11378] = 0x4F18 , + [11379] = 0x4F2C , + [11380] = 0x4EF5 , + [11381] = 0x4F14 , + [11382] = 0x4EF1 , + [11383] = 0x4F00 , + [11384] = 0x4EF7 , + [11385] = 0x4F08 , + [11386] = 0x4F1D , + [11387] = 0x4F02 , + [11388] = 0x4F05 , + [11389] = 0x4F22 , + [11390] = 0x4F13 , + [11391] = 0x4F04 , + [11392] = 0x4EF4 , + [11393] = 0x4F12 , + [11394] = 0x51B1 , + [11395] = 0x5213 , + [11396] = 0x5209 , + [11397] = 0x5210 , + [11398] = 0x52A6 , + [11399] = 0x5322 , + [11400] = 0x531F , + [11401] = 0x534D , + [11402] = 0x538A , + [11403] = 0x5407 , + [11404] = 0x56E1 , + [11405] = 0x56DF , + [11406] = 0x572E , + [11407] = 0x572A , + [11408] = 0x5734 , + [11409] = 0x593C , + [11410] = 0x5980 , + [11411] = 0x597C , + [11412] = 0x5985 , + [11413] = 0x597B , + [11414] = 0x597E , + [11415] = 0x5977 , + [11416] = 0x597F , + [11417] = 0x5B56 , + [11418] = 0x5C15 , + [11419] = 0x5C25 , + [11420] = 0x5C7C , + [11421] = 0x5C7A , + [11422] = 0x5C7B , + [11423] = 0x5C7E , + [11424] = 0x5DDF , + [11425] = 0x5E75 , + [11426] = 0x5E84 , + [11427] = 0x5F02 , + [11428] = 0x5F1A , + [11429] = 0x5F74 , + [11430] = 0x5FD5 , + [11431] = 0x5FD4 , + [11432] = 0x5FCF , + [11433] = 0x625C , + [11434] = 0x625E , + [11435] = 0x6264 , + [11436] = 0x6261 , + [11437] = 0x6266 , + [11438] = 0x6262 , + [11439] = 0x6259 , + [11440] = 0x6260 , + [11441] = 0x625A , + [11442] = 0x6265 , + [11443] = 0x65EF , + [11444] = 0x65EE , + [11445] = 0x673E , + [11446] = 0x6739 , + [11447] = 0x6738 , + [11448] = 0x673B , + [11449] = 0x673A , + [11450] = 0x673F , + [11451] = 0x673C , + [11452] = 0x6733 , + [11453] = 0x6C18 , + [11454] = 0x6C46 , + [11455] = 0x6C52 , + [11456] = 0x6C5C , + [11457] = 0x6C4F , + [11458] = 0x6C4A , + [11459] = 0x6C54 , + [11460] = 0x6C4B , + [11461] = 0x6C4C , + [11462] = 0x7071 , + [11463] = 0x725E , + [11464] = 0x72B4 , + [11465] = 0x72B5 , + [11466] = 0x738E , + [11467] = 0x752A , + [11468] = 0x767F , + [11469] = 0x7A75 , + [11470] = 0x7F51 , + [11471] = 0x8278 , + [11472] = 0x827C , + [11473] = 0x8280 , + [11474] = 0x827D , + [11475] = 0x827F , + [11476] = 0x864D , + [11477] = 0x897E , + [11478] = 0x9099 , + [11479] = 0x9097 , + [11480] = 0x9098 , + [11481] = 0x909B , + [11482] = 0x9094 , + [11483] = 0x9622 , + [11484] = 0x9624 , + [11485] = 0x9620 , + [11486] = 0x9623 , + [11487] = 0x4F56 , + [11488] = 0x4F3B , + [11489] = 0x4F62 , + [11490] = 0x4F49 , + [11491] = 0x4F53 , + [11492] = 0x4F64 , + [11493] = 0x4F3E , + [11494] = 0x4F67 , + [11495] = 0x4F52 , + [11496] = 0x4F5F , + [11497] = 0x4F41 , + [11498] = 0x4F58 , + [11499] = 0x4F2D , + [11500] = 0x4F33 , + [11501] = 0x4F3F , + [11502] = 0x4F61 , + [11503] = 0x518F , + [11504] = 0x51B9 , + [11505] = 0x521C , + [11506] = 0x521E , + [11507] = 0x5221 , + [11508] = 0x52AD , + [11509] = 0x52AE , + [11510] = 0x5309 , + [11511] = 0x5363 , + [11512] = 0x5372 , + [11513] = 0x538E , + [11514] = 0x538F , + [11515] = 0x5430 , + [11516] = 0x5437 , + [11517] = 0x542A , + [11518] = 0x5454 , + [11519] = 0x5445 , + [11520] = 0x5419 , + [11521] = 0x541C , + [11522] = 0x5425 , + [11523] = 0x5418 , + [11524] = 0x543D , + [11525] = 0x544F , + [11526] = 0x5441 , + [11527] = 0x5428 , + [11528] = 0x5424 , + [11529] = 0x5447 , + [11530] = 0x56EE , + [11531] = 0x56E7 , + [11532] = 0x56E5 , + [11533] = 0x5741 , + [11534] = 0x5745 , + [11535] = 0x574C , + [11536] = 0x5749 , + [11537] = 0x574B , + [11538] = 0x5752 , + [11539] = 0x5906 , + [11540] = 0x5940 , + [11541] = 0x59A6 , + [11542] = 0x5998 , + [11543] = 0x59A0 , + [11544] = 0x5997 , + [11545] = 0x598E , + [11546] = 0x59A2 , + [11547] = 0x5990 , + [11548] = 0x598F , + [11549] = 0x59A7 , + [11550] = 0x59A1 , + [11551] = 0x5B8E , + [11552] = 0x5B92 , + [11553] = 0x5C28 , + [11554] = 0x5C2A , + [11555] = 0x5C8D , + [11556] = 0x5C8F , + [11557] = 0x5C88 , + [11558] = 0x5C8B , + [11559] = 0x5C89 , + [11560] = 0x5C92 , + [11561] = 0x5C8A , + [11562] = 0x5C86 , + [11563] = 0x5C93 , + [11564] = 0x5C95 , + [11565] = 0x5DE0 , + [11566] = 0x5E0A , + [11567] = 0x5E0E , + [11568] = 0x5E8B , + [11569] = 0x5E89 , + [11570] = 0x5E8C , + [11571] = 0x5E88 , + [11572] = 0x5E8D , + [11573] = 0x5F05 , + [11574] = 0x5F1D , + [11575] = 0x5F78 , + [11576] = 0x5F76 , + [11577] = 0x5FD2 , + [11578] = 0x5FD1 , + [11579] = 0x5FD0 , + [11580] = 0x5FED , + [11581] = 0x5FE8 , + [11582] = 0x5FEE , + [11583] = 0x5FF3 , + [11584] = 0x5FE1 , + [11585] = 0x5FE4 , + [11586] = 0x5FE3 , + [11587] = 0x5FFA , + [11588] = 0x5FEF , + [11589] = 0x5FF7 , + [11590] = 0x5FFB , + [11591] = 0x6000 , + [11592] = 0x5FF4 , + [11593] = 0x623A , + [11594] = 0x6283 , + [11595] = 0x628C , + [11596] = 0x628E , + [11597] = 0x628F , + [11598] = 0x6294 , + [11599] = 0x6287 , + [11600] = 0x6271 , + [11601] = 0x627B , + [11602] = 0x627A , + [11603] = 0x6270 , + [11604] = 0x6281 , + [11605] = 0x6288 , + [11606] = 0x6277 , + [11607] = 0x627D , + [11608] = 0x6272 , + [11609] = 0x6274 , + [11610] = 0x6537 , + [11611] = 0x65F0 , + [11612] = 0x65F4 , + [11613] = 0x65F3 , + [11614] = 0x65F2 , + [11615] = 0x65F5 , + [11616] = 0x6745 , + [11617] = 0x6747 , + [11618] = 0x6759 , + [11619] = 0x6755 , + [11620] = 0x674C , + [11621] = 0x6748 , + [11622] = 0x675D , + [11623] = 0x674D , + [11624] = 0x675A , + [11625] = 0x674B , + [11626] = 0x6BD0 , + [11627] = 0x6C19 , + [11628] = 0x6C1A , + [11629] = 0x6C78 , + [11630] = 0x6C67 , + [11631] = 0x6C6B , + [11632] = 0x6C84 , + [11633] = 0x6C8B , + [11634] = 0x6C8F , + [11635] = 0x6C71 , + [11636] = 0x6C6F , + [11637] = 0x6C69 , + [11638] = 0x6C9A , + [11639] = 0x6C6D , + [11640] = 0x6C87 , + [11641] = 0x6C95 , + [11642] = 0x6C9C , + [11643] = 0x6C66 , + [11644] = 0x6C73 , + [11645] = 0x6C65 , + [11646] = 0x6C7B , + [11647] = 0x6C8E , + [11648] = 0x7074 , + [11649] = 0x707A , + [11650] = 0x7263 , + [11651] = 0x72BF , + [11652] = 0x72BD , + [11653] = 0x72C3 , + [11654] = 0x72C6 , + [11655] = 0x72C1 , + [11656] = 0x72BA , + [11657] = 0x72C5 , + [11658] = 0x7395 , + [11659] = 0x7397 , + [11660] = 0x7393 , + [11661] = 0x7394 , + [11662] = 0x7392 , + [11663] = 0x753A , + [11664] = 0x7539 , + [11665] = 0x7594 , + [11666] = 0x7595 , + [11667] = 0x7681 , + [11668] = 0x793D , + [11669] = 0x8034 , + [11670] = 0x8095 , + [11671] = 0x8099 , + [11672] = 0x8090 , + [11673] = 0x8092 , + [11674] = 0x809C , + [11675] = 0x8290 , + [11676] = 0x828F , + [11677] = 0x8285 , + [11678] = 0x828E , + [11679] = 0x8291 , + [11680] = 0x8293 , + [11681] = 0x828A , + [11682] = 0x8283 , + [11683] = 0x8284 , + [11684] = 0x8C78 , + [11685] = 0x8FC9 , + [11686] = 0x8FBF , + [11687] = 0x909F , + [11688] = 0x90A1 , + [11689] = 0x90A5 , + [11690] = 0x909E , + [11691] = 0x90A7 , + [11692] = 0x90A0 , + [11693] = 0x9630 , + [11694] = 0x9628 , + [11695] = 0x962F , + [11696] = 0x962D , + [11697] = 0x4E33 , + [11698] = 0x4F98 , + [11699] = 0x4F7C , + [11700] = 0x4F85 , + [11701] = 0x4F7D , + [11702] = 0x4F80 , + [11703] = 0x4F87 , + [11704] = 0x4F76 , + [11705] = 0x4F74 , + [11706] = 0x4F89 , + [11707] = 0x4F84 , + [11708] = 0x4F77 , + [11709] = 0x4F4C , + [11710] = 0x4F97 , + [11711] = 0x4F6A , + [11712] = 0x4F9A , + [11713] = 0x4F79 , + [11714] = 0x4F81 , + [11715] = 0x4F78 , + [11716] = 0x4F90 , + [11717] = 0x4F9C , + [11718] = 0x4F94 , + [11719] = 0x4F9E , + [11720] = 0x4F92 , + [11721] = 0x4F82 , + [11722] = 0x4F95 , + [11723] = 0x4F6B , + [11724] = 0x4F6E , + [11725] = 0x519E , + [11726] = 0x51BC , + [11727] = 0x51BE , + [11728] = 0x5235 , + [11729] = 0x5232 , + [11730] = 0x5233 , + [11731] = 0x5246 , + [11732] = 0x5231 , + [11733] = 0x52BC , + [11734] = 0x530A , + [11735] = 0x530B , + [11736] = 0x533C , + [11737] = 0x5392 , + [11738] = 0x5394 , + [11739] = 0x5487 , + [11740] = 0x547F , + [11741] = 0x5481 , + [11742] = 0x5491 , + [11743] = 0x5482 , + [11744] = 0x5488 , + [11745] = 0x546B , + [11746] = 0x547A , + [11747] = 0x547E , + [11748] = 0x5465 , + [11749] = 0x546C , + [11750] = 0x5474 , + [11751] = 0x5466 , + [11752] = 0x548D , + [11753] = 0x546F , + [11754] = 0x5461 , + [11755] = 0x5460 , + [11756] = 0x5498 , + [11757] = 0x5463 , + [11758] = 0x5467 , + [11759] = 0x5464 , + [11760] = 0x56F7 , + [11761] = 0x56F9 , + [11762] = 0x576F , + [11763] = 0x5772 , + [11764] = 0x576D , + [11765] = 0x576B , + [11766] = 0x5771 , + [11767] = 0x5770 , + [11768] = 0x5776 , + [11769] = 0x5780 , + [11770] = 0x5775 , + [11771] = 0x577B , + [11772] = 0x5773 , + [11773] = 0x5774 , + [11774] = 0x5762 , + [11775] = 0x5768 , + [11776] = 0x577D , + [11777] = 0x590C , + [11778] = 0x5945 , + [11779] = 0x59B5 , + [11780] = 0x59BA , + [11781] = 0x59CF , + [11782] = 0x59CE , + [11783] = 0x59B2 , + [11784] = 0x59CC , + [11785] = 0x59C1 , + [11786] = 0x59B6 , + [11787] = 0x59BC , + [11788] = 0x59C3 , + [11789] = 0x59D6 , + [11790] = 0x59B1 , + [11791] = 0x59BD , + [11792] = 0x59C0 , + [11793] = 0x59C8 , + [11794] = 0x59B4 , + [11795] = 0x59C7 , + [11796] = 0x5B62 , + [11797] = 0x5B65 , + [11798] = 0x5B93 , + [11799] = 0x5B95 , + [11800] = 0x5C44 , + [11801] = 0x5C47 , + [11802] = 0x5CAE , + [11803] = 0x5CA4 , + [11804] = 0x5CA0 , + [11805] = 0x5CB5 , + [11806] = 0x5CAF , + [11807] = 0x5CA8 , + [11808] = 0x5CAC , + [11809] = 0x5C9F , + [11810] = 0x5CA3 , + [11811] = 0x5CAD , + [11812] = 0x5CA2 , + [11813] = 0x5CAA , + [11814] = 0x5CA7 , + [11815] = 0x5C9D , + [11816] = 0x5CA5 , + [11817] = 0x5CB6 , + [11818] = 0x5CB0 , + [11819] = 0x5CA6 , + [11820] = 0x5E17 , + [11821] = 0x5E14 , + [11822] = 0x5E19 , + [11823] = 0x5F28 , + [11824] = 0x5F22 , + [11825] = 0x5F23 , + [11826] = 0x5F24 , + [11827] = 0x5F54 , + [11828] = 0x5F82 , + [11829] = 0x5F7E , + [11830] = 0x5F7D , + [11831] = 0x5FDE , + [11832] = 0x5FE5 , + [11833] = 0x602D , + [11834] = 0x6026 , + [11835] = 0x6019 , + [11836] = 0x6032 , + [11837] = 0x600B , + [11838] = 0x6034 , + [11839] = 0x600A , + [11840] = 0x6017 , + [11841] = 0x6033 , + [11842] = 0x601A , + [11843] = 0x601E , + [11844] = 0x602C , + [11845] = 0x6022 , + [11846] = 0x600D , + [11847] = 0x6010 , + [11848] = 0x602E , + [11849] = 0x6013 , + [11850] = 0x6011 , + [11851] = 0x600C , + [11852] = 0x6009 , + [11853] = 0x601C , + [11854] = 0x6214 , + [11855] = 0x623D , + [11856] = 0x62AD , + [11857] = 0x62B4 , + [11858] = 0x62D1 , + [11859] = 0x62BE , + [11860] = 0x62AA , + [11861] = 0x62B6 , + [11862] = 0x62CA , + [11863] = 0x62AE , + [11864] = 0x62B3 , + [11865] = 0x62AF , + [11866] = 0x62BB , + [11867] = 0x62A9 , + [11868] = 0x62B0 , + [11869] = 0x62B8 , + [11870] = 0x653D , + [11871] = 0x65A8 , + [11872] = 0x65BB , + [11873] = 0x6609 , + [11874] = 0x65FC , + [11875] = 0x6604 , + [11876] = 0x6612 , + [11877] = 0x6608 , + [11878] = 0x65FB , + [11879] = 0x6603 , + [11880] = 0x660B , + [11881] = 0x660D , + [11882] = 0x6605 , + [11883] = 0x65FD , + [11884] = 0x6611 , + [11885] = 0x6610 , + [11886] = 0x66F6 , + [11887] = 0x670A , + [11888] = 0x6785 , + [11889] = 0x676C , + [11890] = 0x678E , + [11891] = 0x6792 , + [11892] = 0x6776 , + [11893] = 0x677B , + [11894] = 0x6798 , + [11895] = 0x6786 , + [11896] = 0x6784 , + [11897] = 0x6774 , + [11898] = 0x678D , + [11899] = 0x678C , + [11900] = 0x677A , + [11901] = 0x679F , + [11902] = 0x6791 , + [11903] = 0x6799 , + [11904] = 0x6783 , + [11905] = 0x677D , + [11906] = 0x6781 , + [11907] = 0x6778 , + [11908] = 0x6779 , + [11909] = 0x6794 , + [11910] = 0x6B25 , + [11911] = 0x6B80 , + [11912] = 0x6B7E , + [11913] = 0x6BDE , + [11914] = 0x6C1D , + [11915] = 0x6C93 , + [11916] = 0x6CEC , + [11917] = 0x6CEB , + [11918] = 0x6CEE , + [11919] = 0x6CD9 , + [11920] = 0x6CB6 , + [11921] = 0x6CD4 , + [11922] = 0x6CAD , + [11923] = 0x6CE7 , + [11924] = 0x6CB7 , + [11925] = 0x6CD0 , + [11926] = 0x6CC2 , + [11927] = 0x6CBA , + [11928] = 0x6CC3 , + [11929] = 0x6CC6 , + [11930] = 0x6CED , + [11931] = 0x6CF2 , + [11932] = 0x6CD2 , + [11933] = 0x6CDD , + [11934] = 0x6CB4 , + [11935] = 0x6C8A , + [11936] = 0x6C9D , + [11937] = 0x6C80 , + [11938] = 0x6CDE , + [11939] = 0x6CC0 , + [11940] = 0x6D30 , + [11941] = 0x6CCD , + [11942] = 0x6CC7 , + [11943] = 0x6CB0 , + [11944] = 0x6CF9 , + [11945] = 0x6CCF , + [11946] = 0x6CE9 , + [11947] = 0x6CD1 , + [11948] = 0x7094 , + [11949] = 0x7098 , + [11950] = 0x7085 , + [11951] = 0x7093 , + [11952] = 0x7086 , + [11953] = 0x7084 , + [11954] = 0x7091 , + [11955] = 0x7096 , + [11956] = 0x7082 , + [11957] = 0x709A , + [11958] = 0x7083 , + [11959] = 0x726A , + [11960] = 0x72D6 , + [11961] = 0x72CB , + [11962] = 0x72D8 , + [11963] = 0x72C9 , + [11964] = 0x72DC , + [11965] = 0x72D2 , + [11966] = 0x72D4 , + [11967] = 0x72DA , + [11968] = 0x72CC , + [11969] = 0x72D1 , + [11970] = 0x73A4 , + [11971] = 0x73A1 , + [11972] = 0x73AD , + [11973] = 0x73A6 , + [11974] = 0x73A2 , + [11975] = 0x73A0 , + [11976] = 0x73AC , + [11977] = 0x739D , + [11978] = 0x74DD , + [11979] = 0x74E8 , + [11980] = 0x753F , + [11981] = 0x7540 , + [11982] = 0x753E , + [11983] = 0x758C , + [11984] = 0x7598 , + [11985] = 0x76AF , + [11986] = 0x76F3 , + [11987] = 0x76F1 , + [11988] = 0x76F0 , + [11989] = 0x76F5 , + [11990] = 0x77F8 , + [11991] = 0x77FC , + [11992] = 0x77F9 , + [11993] = 0x77FB , + [11994] = 0x77FA , + [11995] = 0x77F7 , + [11996] = 0x7942 , + [11997] = 0x793F , + [11998] = 0x79C5 , + [11999] = 0x7A78 , + [12000] = 0x7A7B , + [12001] = 0x7AFB , + [12002] = 0x7C75 , + [12003] = 0x7CFD , + [12004] = 0x8035 , + [12005] = 0x808F , + [12006] = 0x80AE , + [12007] = 0x80A3 , + [12008] = 0x80B8 , + [12009] = 0x80B5 , + [12010] = 0x80AD , + [12011] = 0x8220 , + [12012] = 0x82A0 , + [12013] = 0x82C0 , + [12014] = 0x82AB , + [12015] = 0x829A , + [12016] = 0x8298 , + [12017] = 0x829B , + [12018] = 0x82B5 , + [12019] = 0x82A7 , + [12020] = 0x82AE , + [12021] = 0x82BC , + [12022] = 0x829E , + [12023] = 0x82BA , + [12024] = 0x82B4 , + [12025] = 0x82A8 , + [12026] = 0x82A1 , + [12027] = 0x82A9 , + [12028] = 0x82C2 , + [12029] = 0x82A4 , + [12030] = 0x82C3 , + [12031] = 0x82B6 , + [12032] = 0x82A2 , + [12033] = 0x8670 , + [12034] = 0x866F , + [12035] = 0x866D , + [12036] = 0x866E , + [12037] = 0x8C56 , + [12038] = 0x8FD2 , + [12039] = 0x8FCB , + [12040] = 0x8FD3 , + [12041] = 0x8FCD , + [12042] = 0x8FD6 , + [12043] = 0x8FD5 , + [12044] = 0x8FD7 , + [12045] = 0x90B2 , + [12046] = 0x90B4 , + [12047] = 0x90AF , + [12048] = 0x90B3 , + [12049] = 0x90B0 , + [12050] = 0x9639 , + [12051] = 0x963D , + [12052] = 0x963C , + [12053] = 0x963A , + [12054] = 0x9643 , + [12055] = 0x4FCD , + [12056] = 0x4FC5 , + [12057] = 0x4FD3 , + [12058] = 0x4FB2 , + [12059] = 0x4FC9 , + [12060] = 0x4FCB , + [12061] = 0x4FC1 , + [12062] = 0x4FD4 , + [12063] = 0x4FDC , + [12064] = 0x4FD9 , + [12065] = 0x4FBB , + [12066] = 0x4FB3 , + [12067] = 0x4FDB , + [12068] = 0x4FC7 , + [12069] = 0x4FD6 , + [12070] = 0x4FBA , + [12071] = 0x4FC0 , + [12072] = 0x4FB9 , + [12073] = 0x4FEC , + [12074] = 0x5244 , + [12075] = 0x5249 , + [12076] = 0x52C0 , + [12077] = 0x52C2 , + [12078] = 0x533D , + [12079] = 0x537C , + [12080] = 0x5397 , + [12081] = 0x5396 , + [12082] = 0x5399 , + [12083] = 0x5398 , + [12084] = 0x54BA , + [12085] = 0x54A1 , + [12086] = 0x54AD , + [12087] = 0x54A5 , + [12088] = 0x54CF , + [12089] = 0x54C3 , + [12090] = 0x830D , + [12091] = 0x54B7 , + [12092] = 0x54AE , + [12093] = 0x54D6 , + [12094] = 0x54B6 , + [12095] = 0x54C5 , + [12096] = 0x54C6 , + [12097] = 0x54A0 , + [12098] = 0x5470 , + [12099] = 0x54BC , + [12100] = 0x54A2 , + [12101] = 0x54BE , + [12102] = 0x5472 , + [12103] = 0x54DE , + [12104] = 0x54B0 , + [12105] = 0x57B5 , + [12106] = 0x579E , + [12107] = 0x579F , + [12108] = 0x57A4 , + [12109] = 0x578C , + [12110] = 0x5797 , + [12111] = 0x579D , + [12112] = 0x579B , + [12113] = 0x5794 , + [12114] = 0x5798 , + [12115] = 0x578F , + [12116] = 0x5799 , + [12117] = 0x57A5 , + [12118] = 0x579A , + [12119] = 0x5795 , + [12120] = 0x58F4 , + [12121] = 0x590D , + [12122] = 0x5953 , + [12123] = 0x59E1 , + [12124] = 0x59DE , + [12125] = 0x59EE , + [12126] = 0x5A00 , + [12127] = 0x59F1 , + [12128] = 0x59DD , + [12129] = 0x59FA , + [12130] = 0x59FD , + [12131] = 0x59FC , + [12132] = 0x59F6 , + [12133] = 0x59E4 , + [12134] = 0x59F2 , + [12135] = 0x59F7 , + [12136] = 0x59DB , + [12137] = 0x59E9 , + [12138] = 0x59F3 , + [12139] = 0x59F5 , + [12140] = 0x59E0 , + [12141] = 0x59FE , + [12142] = 0x59F4 , + [12143] = 0x59ED , + [12144] = 0x5BA8 , + [12145] = 0x5C4C , + [12146] = 0x5CD0 , + [12147] = 0x5CD8 , + [12148] = 0x5CCC , + [12149] = 0x5CD7 , + [12150] = 0x5CCB , + [12151] = 0x5CDB , + [12152] = 0x5CDE , + [12153] = 0x5CDA , + [12154] = 0x5CC9 , + [12155] = 0x5CC7 , + [12156] = 0x5CCA , + [12157] = 0x5CD6 , + [12158] = 0x5CD3 , + [12159] = 0x5CD4 , + [12160] = 0x5CCF , + [12161] = 0x5CC8 , + [12162] = 0x5CC6 , + [12163] = 0x5CCE , + [12164] = 0x5CDF , + [12165] = 0x5CF8 , + [12166] = 0x5DF9 , + [12167] = 0x5E21 , + [12168] = 0x5E22 , + [12169] = 0x5E23 , + [12170] = 0x5E20 , + [12171] = 0x5E24 , + [12172] = 0x5EB0 , + [12173] = 0x5EA4 , + [12174] = 0x5EA2 , + [12175] = 0x5E9B , + [12176] = 0x5EA3 , + [12177] = 0x5EA5 , + [12178] = 0x5F07 , + [12179] = 0x5F2E , + [12180] = 0x5F56 , + [12181] = 0x5F86 , + [12182] = 0x6037 , + [12183] = 0x6039 , + [12184] = 0x6054 , + [12185] = 0x6072 , + [12186] = 0x605E , + [12187] = 0x6045 , + [12188] = 0x6053 , + [12189] = 0x6047 , + [12190] = 0x6049 , + [12191] = 0x605B , + [12192] = 0x604C , + [12193] = 0x6040 , + [12194] = 0x6042 , + [12195] = 0x605F , + [12196] = 0x6024 , + [12197] = 0x6044 , + [12198] = 0x6058 , + [12199] = 0x6066 , + [12200] = 0x606E , + [12201] = 0x6242 , + [12202] = 0x6243 , + [12203] = 0x62CF , + [12204] = 0x630D , + [12205] = 0x630B , + [12206] = 0x62F5 , + [12207] = 0x630E , + [12208] = 0x6303 , + [12209] = 0x62EB , + [12210] = 0x62F9 , + [12211] = 0x630F , + [12212] = 0x630C , + [12213] = 0x62F8 , + [12214] = 0x62F6 , + [12215] = 0x6300 , + [12216] = 0x6313 , + [12217] = 0x6314 , + [12218] = 0x62FA , + [12219] = 0x6315 , + [12220] = 0x62FB , + [12221] = 0x62F0 , + [12222] = 0x6541 , + [12223] = 0x6543 , + [12224] = 0x65AA , + [12225] = 0x65BF , + [12226] = 0x6636 , + [12227] = 0x6621 , + [12228] = 0x6632 , + [12229] = 0x6635 , + [12230] = 0x661C , + [12231] = 0x6626 , + [12232] = 0x6622 , + [12233] = 0x6633 , + [12234] = 0x662B , + [12235] = 0x663A , + [12236] = 0x661D , + [12237] = 0x6634 , + [12238] = 0x6639 , + [12239] = 0x662E , + [12240] = 0x670F , + [12241] = 0x6710 , + [12242] = 0x67C1 , + [12243] = 0x67F2 , + [12244] = 0x67C8 , + [12245] = 0x67BA , + [12246] = 0x67DC , + [12247] = 0x67BB , + [12248] = 0x67F8 , + [12249] = 0x67D8 , + [12250] = 0x67C0 , + [12251] = 0x67B7 , + [12252] = 0x67C5 , + [12253] = 0x67EB , + [12254] = 0x67E4 , + [12255] = 0x67DF , + [12256] = 0x67B5 , + [12257] = 0x67CD , + [12258] = 0x67B3 , + [12259] = 0x67F7 , + [12260] = 0x67F6 , + [12261] = 0x67EE , + [12262] = 0x67E3 , + [12263] = 0x67C2 , + [12264] = 0x67B9 , + [12265] = 0x67CE , + [12266] = 0x67E7 , + [12267] = 0x67F0 , + [12268] = 0x67B2 , + [12269] = 0x67FC , + [12270] = 0x67C6 , + [12271] = 0x67ED , + [12272] = 0x67CC , + [12273] = 0x67AE , + [12274] = 0x67E6 , + [12275] = 0x67DB , + [12276] = 0x67FA , + [12277] = 0x67C9 , + [12278] = 0x67CA , + [12279] = 0x67C3 , + [12280] = 0x67EA , + [12281] = 0x67CB , + [12282] = 0x6B28 , + [12283] = 0x6B82 , + [12284] = 0x6B84 , + [12285] = 0x6BB6 , + [12286] = 0x6BD6 , + [12287] = 0x6BD8 , + [12288] = 0x6BE0 , + [12289] = 0x6C20 , + [12290] = 0x6C21 , + [12291] = 0x6D28 , + [12292] = 0x6D34 , + [12293] = 0x6D2D , + [12294] = 0x6D1F , + [12295] = 0x6D3C , + [12296] = 0x6D3F , + [12297] = 0x6D12 , + [12298] = 0x6D0A , + [12299] = 0x6CDA , + [12300] = 0x6D33 , + [12301] = 0x6D04 , + [12302] = 0x6D19 , + [12303] = 0x6D3A , + [12304] = 0x6D1A , + [12305] = 0x6D11 , + [12306] = 0x6D00 , + [12307] = 0x6D1D , + [12308] = 0x6D42 , + [12309] = 0x6D01 , + [12310] = 0x6D18 , + [12311] = 0x6D37 , + [12312] = 0x6D03 , + [12313] = 0x6D0F , + [12314] = 0x6D40 , + [12315] = 0x6D07 , + [12316] = 0x6D20 , + [12317] = 0x6D2C , + [12318] = 0x6D08 , + [12319] = 0x6D22 , + [12320] = 0x6D09 , + [12321] = 0x6D10 , + [12322] = 0x70B7 , + [12323] = 0x709F , + [12324] = 0x70BE , + [12325] = 0x70B1 , + [12326] = 0x70B0 , + [12327] = 0x70A1 , + [12328] = 0x70B4 , + [12329] = 0x70B5 , + [12330] = 0x70A9 , + [12331] = 0x7241 , + [12332] = 0x7249 , + [12333] = 0x724A , + [12334] = 0x726C , + [12335] = 0x7270 , + [12336] = 0x7273 , + [12337] = 0x726E , + [12338] = 0x72CA , + [12339] = 0x72E4 , + [12340] = 0x72E8 , + [12341] = 0x72EB , + [12342] = 0x72DF , + [12343] = 0x72EA , + [12344] = 0x72E6 , + [12345] = 0x72E3 , + [12346] = 0x7385 , + [12347] = 0x73CC , + [12348] = 0x73C2 , + [12349] = 0x73C8 , + [12350] = 0x73C5 , + [12351] = 0x73B9 , + [12352] = 0x73B6 , + [12353] = 0x73B5 , + [12354] = 0x73B4 , + [12355] = 0x73EB , + [12356] = 0x73BF , + [12357] = 0x73C7 , + [12358] = 0x73BE , + [12359] = 0x73C3 , + [12360] = 0x73C6 , + [12361] = 0x73B8 , + [12362] = 0x73CB , + [12363] = 0x74EC , + [12364] = 0x74EE , + [12365] = 0x752E , + [12366] = 0x7547 , + [12367] = 0x7548 , + [12368] = 0x75A7 , + [12369] = 0x75AA , + [12370] = 0x7679 , + [12371] = 0x76C4 , + [12372] = 0x7708 , + [12373] = 0x7703 , + [12374] = 0x7704 , + [12375] = 0x7705 , + [12376] = 0x770A , + [12377] = 0x76F7 , + [12378] = 0x76FB , + [12379] = 0x76FA , + [12380] = 0x77E7 , + [12381] = 0x77E8 , + [12382] = 0x7806 , + [12383] = 0x7811 , + [12384] = 0x7812 , + [12385] = 0x7805 , + [12386] = 0x7810 , + [12387] = 0x780F , + [12388] = 0x780E , + [12389] = 0x7809 , + [12390] = 0x7803 , + [12391] = 0x7813 , + [12392] = 0x794A , + [12393] = 0x794C , + [12394] = 0x794B , + [12395] = 0x7945 , + [12396] = 0x7944 , + [12397] = 0x79D5 , + [12398] = 0x79CD , + [12399] = 0x79CF , + [12400] = 0x79D6 , + [12401] = 0x79CE , + [12402] = 0x7A80 , + [12403] = 0x7A7E , + [12404] = 0x7AD1 , + [12405] = 0x7B00 , + [12406] = 0x7B01 , + [12407] = 0x7C7A , + [12408] = 0x7C78 , + [12409] = 0x7C79 , + [12410] = 0x7C7F , + [12411] = 0x7C80 , + [12412] = 0x7C81 , + [12413] = 0x7D03 , + [12414] = 0x7D08 , + [12415] = 0x7D01 , + [12416] = 0x7F58 , + [12417] = 0x7F91 , + [12418] = 0x7F8D , + [12419] = 0x7FBE , + [12420] = 0x8007 , + [12421] = 0x800E , + [12422] = 0x800F , + [12423] = 0x8014 , + [12424] = 0x8037 , + [12425] = 0x80D8 , + [12426] = 0x80C7 , + [12427] = 0x80E0 , + [12428] = 0x80D1 , + [12429] = 0x80C8 , + [12430] = 0x80C2 , + [12431] = 0x80D0 , + [12432] = 0x80C5 , + [12433] = 0x80E3 , + [12434] = 0x80D9 , + [12435] = 0x80DC , + [12436] = 0x80CA , + [12437] = 0x80D5 , + [12438] = 0x80C9 , + [12439] = 0x80CF , + [12440] = 0x80D7 , + [12441] = 0x80E6 , + [12442] = 0x80CD , + [12443] = 0x81FF , + [12444] = 0x8221 , + [12445] = 0x8294 , + [12446] = 0x82D9 , + [12447] = 0x82FE , + [12448] = 0x82F9 , + [12449] = 0x8307 , + [12450] = 0x82E8 , + [12451] = 0x8300 , + [12452] = 0x82D5 , + [12453] = 0x833A , + [12454] = 0x82EB , + [12455] = 0x82D6 , + [12456] = 0x82F4 , + [12457] = 0x82EC , + [12458] = 0x82E1 , + [12459] = 0x82F2 , + [12460] = 0x82F5 , + [12461] = 0x830C , + [12462] = 0x82FB , + [12463] = 0x82F6 , + [12464] = 0x82F0 , + [12465] = 0x82EA , + [12466] = 0x82E4 , + [12467] = 0x82E0 , + [12468] = 0x82FA , + [12469] = 0x82F3 , + [12470] = 0x82ED , + [12471] = 0x8677 , + [12472] = 0x8674 , + [12473] = 0x867C , + [12474] = 0x8673 , + [12475] = 0x8841 , + [12476] = 0x884E , + [12477] = 0x8867 , + [12478] = 0x886A , + [12479] = 0x8869 , + [12480] = 0x89D3 , + [12481] = 0x8A04 , + [12482] = 0x8A07 , + [12483] = 0x8D72 , + [12484] = 0x8FE3 , + [12485] = 0x8FE1 , + [12486] = 0x8FEE , + [12487] = 0x8FE0 , + [12488] = 0x90F1 , + [12489] = 0x90BD , + [12490] = 0x90BF , + [12491] = 0x90D5 , + [12492] = 0x90C5 , + [12493] = 0x90BE , + [12494] = 0x90C7 , + [12495] = 0x90CB , + [12496] = 0x90C8 , + [12497] = 0x91D4 , + [12498] = 0x91D3 , + [12499] = 0x9654 , + [12500] = 0x964F , + [12501] = 0x9651 , + [12502] = 0x9653 , + [12503] = 0x964A , + [12504] = 0x964E , + [12505] = 0x501E , + [12506] = 0x5005 , + [12507] = 0x5007 , + [12508] = 0x5013 , + [12509] = 0x5022 , + [12510] = 0x5030 , + [12511] = 0x501B , + [12512] = 0x4FF5 , + [12513] = 0x4FF4 , + [12514] = 0x5033 , + [12515] = 0x5037 , + [12516] = 0x502C , + [12517] = 0x4FF6 , + [12518] = 0x4FF7 , + [12519] = 0x5017 , + [12520] = 0x501C , + [12521] = 0x5020 , + [12522] = 0x5027 , + [12523] = 0x5035 , + [12524] = 0x502F , + [12525] = 0x5031 , + [12526] = 0x500E , + [12527] = 0x515A , + [12528] = 0x5194 , + [12529] = 0x5193 , + [12530] = 0x51CA , + [12531] = 0x51C4 , + [12532] = 0x51C5 , + [12533] = 0x51C8 , + [12534] = 0x51CE , + [12535] = 0x5261 , + [12536] = 0x525A , + [12537] = 0x5252 , + [12538] = 0x525E , + [12539] = 0x525F , + [12540] = 0x5255 , + [12541] = 0x5262 , + [12542] = 0x52CD , + [12543] = 0x530E , + [12544] = 0x539E , + [12545] = 0x5526 , + [12546] = 0x54E2 , + [12547] = 0x5517 , + [12548] = 0x5512 , + [12549] = 0x54E7 , + [12550] = 0x54F3 , + [12551] = 0x54E4 , + [12552] = 0x551A , + [12553] = 0x54FF , + [12554] = 0x5504 , + [12555] = 0x5508 , + [12556] = 0x54EB , + [12557] = 0x5511 , + [12558] = 0x5505 , + [12559] = 0x54F1 , + [12560] = 0x550A , + [12561] = 0x54FB , + [12562] = 0x54F7 , + [12563] = 0x54F8 , + [12564] = 0x54E0 , + [12565] = 0x550E , + [12566] = 0x5503 , + [12567] = 0x550B , + [12568] = 0x5701 , + [12569] = 0x5702 , + [12570] = 0x57CC , + [12571] = 0x5832 , + [12572] = 0x57D5 , + [12573] = 0x57D2 , + [12574] = 0x57BA , + [12575] = 0x57C6 , + [12576] = 0x57BD , + [12577] = 0x57BC , + [12578] = 0x57B8 , + [12579] = 0x57B6 , + [12580] = 0x57BF , + [12581] = 0x57C7 , + [12582] = 0x57D0 , + [12583] = 0x57B9 , + [12584] = 0x57C1 , + [12585] = 0x590E , + [12586] = 0x594A , + [12587] = 0x5A19 , + [12588] = 0x5A16 , + [12589] = 0x5A2D , + [12590] = 0x5A2E , + [12591] = 0x5A15 , + [12592] = 0x5A0F , + [12593] = 0x5A17 , + [12594] = 0x5A0A , + [12595] = 0x5A1E , + [12596] = 0x5A33 , + [12597] = 0x5B6C , + [12598] = 0x5BA7 , + [12599] = 0x5BAD , + [12600] = 0x5BAC , + [12601] = 0x5C03 , + [12602] = 0x5C56 , + [12603] = 0x5C54 , + [12604] = 0x5CEC , + [12605] = 0x5CFF , + [12606] = 0x5CEE , + [12607] = 0x5CF1 , + [12608] = 0x5CF7 , + [12609] = 0x5D00 , + [12610] = 0x5CF9 , + [12611] = 0x5E29 , + [12612] = 0x5E28 , + [12613] = 0x5EA8 , + [12614] = 0x5EAE , + [12615] = 0x5EAA , + [12616] = 0x5EAC , + [12617] = 0x5F33 , + [12618] = 0x5F30 , + [12619] = 0x5F67 , + [12620] = 0x605D , + [12621] = 0x605A , + [12622] = 0x6067 , + [12623] = 0x6041 , + [12624] = 0x60A2 , + [12625] = 0x6088 , + [12626] = 0x6080 , + [12627] = 0x6092 , + [12628] = 0x6081 , + [12629] = 0x609D , + [12630] = 0x6083 , + [12631] = 0x6095 , + [12632] = 0x609B , + [12633] = 0x6097 , + [12634] = 0x6087 , + [12635] = 0x609C , + [12636] = 0x608E , + [12637] = 0x6219 , + [12638] = 0x6246 , + [12639] = 0x62F2 , + [12640] = 0x6310 , + [12641] = 0x6356 , + [12642] = 0x632C , + [12643] = 0x6344 , + [12644] = 0x6345 , + [12645] = 0x6336 , + [12646] = 0x6343 , + [12647] = 0x63E4 , + [12648] = 0x6339 , + [12649] = 0x634B , + [12650] = 0x634A , + [12651] = 0x633C , + [12652] = 0x6329 , + [12653] = 0x6341 , + [12654] = 0x6334 , + [12655] = 0x6358 , + [12656] = 0x6354 , + [12657] = 0x6359 , + [12658] = 0x632D , + [12659] = 0x6347 , + [12660] = 0x6333 , + [12661] = 0x635A , + [12662] = 0x6351 , + [12663] = 0x6338 , + [12664] = 0x6357 , + [12665] = 0x6340 , + [12666] = 0x6348 , + [12667] = 0x654A , + [12668] = 0x6546 , + [12669] = 0x65C6 , + [12670] = 0x65C3 , + [12671] = 0x65C4 , + [12672] = 0x65C2 , + [12673] = 0x664A , + [12674] = 0x665F , + [12675] = 0x6647 , + [12676] = 0x6651 , + [12677] = 0x6712 , + [12678] = 0x6713 , + [12679] = 0x681F , + [12680] = 0x681A , + [12681] = 0x6849 , + [12682] = 0x6832 , + [12683] = 0x6833 , + [12684] = 0x683B , + [12685] = 0x684B , + [12686] = 0x684F , + [12687] = 0x6816 , + [12688] = 0x6831 , + [12689] = 0x681C , + [12690] = 0x6835 , + [12691] = 0x682B , + [12692] = 0x682D , + [12693] = 0x682F , + [12694] = 0x684E , + [12695] = 0x6844 , + [12696] = 0x6834 , + [12697] = 0x681D , + [12698] = 0x6812 , + [12699] = 0x6814 , + [12700] = 0x6826 , + [12701] = 0x6828 , + [12702] = 0x682E , + [12703] = 0x684D , + [12704] = 0x683A , + [12705] = 0x6825 , + [12706] = 0x6820 , + [12707] = 0x6B2C , + [12708] = 0x6B2F , + [12709] = 0x6B2D , + [12710] = 0x6B31 , + [12711] = 0x6B34 , + [12712] = 0x6B6D , + [12713] = 0x8082 , + [12714] = 0x6B88 , + [12715] = 0x6BE6 , + [12716] = 0x6BE4 , + [12717] = 0x6BE8 , + [12718] = 0x6BE3 , + [12719] = 0x6BE2 , + [12720] = 0x6BE7 , + [12721] = 0x6C25 , + [12722] = 0x6D7A , + [12723] = 0x6D63 , + [12724] = 0x6D64 , + [12725] = 0x6D76 , + [12726] = 0x6D0D , + [12727] = 0x6D61 , + [12728] = 0x6D92 , + [12729] = 0x6D58 , + [12730] = 0x6D62 , + [12731] = 0x6D6D , + [12732] = 0x6D6F , + [12733] = 0x6D91 , + [12734] = 0x6D8D , + [12735] = 0x6DEF , + [12736] = 0x6D7F , + [12737] = 0x6D86 , + [12738] = 0x6D5E , + [12739] = 0x6D67 , + [12740] = 0x6D60 , + [12741] = 0x6D97 , + [12742] = 0x6D70 , + [12743] = 0x6D7C , + [12744] = 0x6D5F , + [12745] = 0x6D82 , + [12746] = 0x6D98 , + [12747] = 0x6D2F , + [12748] = 0x6D68 , + [12749] = 0x6D8B , + [12750] = 0x6D7E , + [12751] = 0x6D80 , + [12752] = 0x6D84 , + [12753] = 0x6D16 , + [12754] = 0x6D83 , + [12755] = 0x6D7B , + [12756] = 0x6D7D , + [12757] = 0x6D75 , + [12758] = 0x6D90 , + [12759] = 0x70DC , + [12760] = 0x70D3 , + [12761] = 0x70D1 , + [12762] = 0x70DD , + [12763] = 0x70CB , + [12764] = 0x7F39 , + [12765] = 0x70E2 , + [12766] = 0x70D7 , + [12767] = 0x70D2 , + [12768] = 0x70DE , + [12769] = 0x70E0 , + [12770] = 0x70D4 , + [12771] = 0x70CD , + [12772] = 0x70C5 , + [12773] = 0x70C6 , + [12774] = 0x70C7 , + [12775] = 0x70DA , + [12776] = 0x70CE , + [12777] = 0x70E1 , + [12778] = 0x7242 , + [12779] = 0x7278 , + [12780] = 0x7277 , + [12781] = 0x7276 , + [12782] = 0x7300 , + [12783] = 0x72FA , + [12784] = 0x72F4 , + [12785] = 0x72FE , + [12786] = 0x72F6 , + [12787] = 0x72F3 , + [12788] = 0x72FB , + [12789] = 0x7301 , + [12790] = 0x73D3 , + [12791] = 0x73D9 , + [12792] = 0x73E5 , + [12793] = 0x73D6 , + [12794] = 0x73BC , + [12795] = 0x73E7 , + [12796] = 0x73E3 , + [12797] = 0x73E9 , + [12798] = 0x73DC , + [12799] = 0x73D2 , + [12800] = 0x73DB , + [12801] = 0x73D4 , + [12802] = 0x73DD , + [12803] = 0x73DA , + [12804] = 0x73D7 , + [12805] = 0x73D8 , + [12806] = 0x73E8 , + [12807] = 0x74DE , + [12808] = 0x74DF , + [12809] = 0x74F4 , + [12810] = 0x74F5 , + [12811] = 0x7521 , + [12812] = 0x755B , + [12813] = 0x755F , + [12814] = 0x75B0 , + [12815] = 0x75C1 , + [12816] = 0x75BB , + [12817] = 0x75C4 , + [12818] = 0x75C0 , + [12819] = 0x75BF , + [12820] = 0x75B6 , + [12821] = 0x75BA , + [12822] = 0x768A , + [12823] = 0x76C9 , + [12824] = 0x771D , + [12825] = 0x771B , + [12826] = 0x7710 , + [12827] = 0x7713 , + [12828] = 0x7712 , + [12829] = 0x7723 , + [12830] = 0x7711 , + [12831] = 0x7715 , + [12832] = 0x7719 , + [12833] = 0x771A , + [12834] = 0x7722 , + [12835] = 0x7727 , + [12836] = 0x7823 , + [12837] = 0x782C , + [12838] = 0x7822 , + [12839] = 0x7835 , + [12840] = 0x782F , + [12841] = 0x7828 , + [12842] = 0x782E , + [12843] = 0x782B , + [12844] = 0x7821 , + [12845] = 0x7829 , + [12846] = 0x7833 , + [12847] = 0x782A , + [12848] = 0x7831 , + [12849] = 0x7954 , + [12850] = 0x795B , + [12851] = 0x794F , + [12852] = 0x795C , + [12853] = 0x7953 , + [12854] = 0x7952 , + [12855] = 0x7951 , + [12856] = 0x79EB , + [12857] = 0x79EC , + [12858] = 0x79E0 , + [12859] = 0x79EE , + [12860] = 0x79ED , + [12861] = 0x79EA , + [12862] = 0x79DC , + [12863] = 0x79DE , + [12864] = 0x79DD , + [12865] = 0x7A86 , + [12866] = 0x7A89 , + [12867] = 0x7A85 , + [12868] = 0x7A8B , + [12869] = 0x7A8C , + [12870] = 0x7A8A , + [12871] = 0x7A87 , + [12872] = 0x7AD8 , + [12873] = 0x7B10 , + [12874] = 0x7B04 , + [12875] = 0x7B13 , + [12876] = 0x7B05 , + [12877] = 0x7B0F , + [12878] = 0x7B08 , + [12879] = 0x7B0A , + [12880] = 0x7B0E , + [12881] = 0x7B09 , + [12882] = 0x7B12 , + [12883] = 0x7C84 , + [12884] = 0x7C91 , + [12885] = 0x7C8A , + [12886] = 0x7C8C , + [12887] = 0x7C88 , + [12888] = 0x7C8D , + [12889] = 0x7C85 , + [12890] = 0x7D1E , + [12891] = 0x7D1D , + [12892] = 0x7D11 , + [12893] = 0x7D0E , + [12894] = 0x7D18 , + [12895] = 0x7D16 , + [12896] = 0x7D13 , + [12897] = 0x7D1F , + [12898] = 0x7D12 , + [12899] = 0x7D0F , + [12900] = 0x7D0C , + [12901] = 0x7F5C , + [12902] = 0x7F61 , + [12903] = 0x7F5E , + [12904] = 0x7F60 , + [12905] = 0x7F5D , + [12906] = 0x7F5B , + [12907] = 0x7F96 , + [12908] = 0x7F92 , + [12909] = 0x7FC3 , + [12910] = 0x7FC2 , + [12911] = 0x7FC0 , + [12912] = 0x8016 , + [12913] = 0x803E , + [12914] = 0x8039 , + [12915] = 0x80FA , + [12916] = 0x80F2 , + [12917] = 0x80F9 , + [12918] = 0x80F5 , + [12919] = 0x8101 , + [12920] = 0x80FB , + [12921] = 0x8100 , + [12922] = 0x8201 , + [12923] = 0x822F , + [12924] = 0x8225 , + [12925] = 0x8333 , + [12926] = 0x832D , + [12927] = 0x8344 , + [12928] = 0x8319 , + [12929] = 0x8351 , + [12930] = 0x8325 , + [12931] = 0x8356 , + [12932] = 0x833F , + [12933] = 0x8341 , + [12934] = 0x8326 , + [12935] = 0x831C , + [12936] = 0x8322 , + [12937] = 0x8342 , + [12938] = 0x834E , + [12939] = 0x831B , + [12940] = 0x832A , + [12941] = 0x8308 , + [12942] = 0x833C , + [12943] = 0x834D , + [12944] = 0x8316 , + [12945] = 0x8324 , + [12946] = 0x8320 , + [12947] = 0x8337 , + [12948] = 0x832F , + [12949] = 0x8329 , + [12950] = 0x8347 , + [12951] = 0x8345 , + [12952] = 0x834C , + [12953] = 0x8353 , + [12954] = 0x831E , + [12955] = 0x832C , + [12956] = 0x834B , + [12957] = 0x8327 , + [12958] = 0x8348 , + [12959] = 0x8653 , + [12960] = 0x8652 , + [12961] = 0x86A2 , + [12962] = 0x86A8 , + [12963] = 0x8696 , + [12964] = 0x868D , + [12965] = 0x8691 , + [12966] = 0x869E , + [12967] = 0x8687 , + [12968] = 0x8697 , + [12969] = 0x8686 , + [12970] = 0x868B , + [12971] = 0x869A , + [12972] = 0x8685 , + [12973] = 0x86A5 , + [12974] = 0x8699 , + [12975] = 0x86A1 , + [12976] = 0x86A7 , + [12977] = 0x8695 , + [12978] = 0x8698 , + [12979] = 0x868E , + [12980] = 0x869D , + [12981] = 0x8690 , + [12982] = 0x8694 , + [12983] = 0x8843 , + [12984] = 0x8844 , + [12985] = 0x886D , + [12986] = 0x8875 , + [12987] = 0x8876 , + [12988] = 0x8872 , + [12989] = 0x8880 , + [12990] = 0x8871 , + [12991] = 0x887F , + [12992] = 0x886F , + [12993] = 0x8883 , + [12994] = 0x887E , + [12995] = 0x8874 , + [12996] = 0x887C , + [12997] = 0x8A12 , + [12998] = 0x8C47 , + [12999] = 0x8C57 , + [13000] = 0x8C7B , + [13001] = 0x8CA4 , + [13002] = 0x8CA3 , + [13003] = 0x8D76 , + [13004] = 0x8D78 , + [13005] = 0x8DB5 , + [13006] = 0x8DB7 , + [13007] = 0x8DB6 , + [13008] = 0x8ED1 , + [13009] = 0x8ED3 , + [13010] = 0x8FFE , + [13011] = 0x8FF5 , + [13012] = 0x9002 , + [13013] = 0x8FFF , + [13014] = 0x8FFB , + [13015] = 0x9004 , + [13016] = 0x8FFC , + [13017] = 0x8FF6 , + [13018] = 0x90D6 , + [13019] = 0x90E0 , + [13020] = 0x90D9 , + [13021] = 0x90DA , + [13022] = 0x90E3 , + [13023] = 0x90DF , + [13024] = 0x90E5 , + [13025] = 0x90D8 , + [13026] = 0x90DB , + [13027] = 0x90D7 , + [13028] = 0x90DC , + [13029] = 0x90E4 , + [13030] = 0x9150 , + [13031] = 0x914E , + [13032] = 0x914F , + [13033] = 0x91D5 , + [13034] = 0x91E2 , + [13035] = 0x91DA , + [13036] = 0x965C , + [13037] = 0x965F , + [13038] = 0x96BC , + [13039] = 0x98E3 , + [13040] = 0x9ADF , + [13041] = 0x9B2F , + [13042] = 0x4E7F , + [13043] = 0x5070 , + [13044] = 0x506A , + [13045] = 0x5061 , + [13046] = 0x505E , + [13047] = 0x5060 , + [13048] = 0x5053 , + [13049] = 0x504B , + [13050] = 0x505D , + [13051] = 0x5072 , + [13052] = 0x5048 , + [13053] = 0x504D , + [13054] = 0x5041 , + [13055] = 0x505B , + [13056] = 0x504A , + [13057] = 0x5062 , + [13058] = 0x5015 , + [13059] = 0x5045 , + [13060] = 0x505F , + [13061] = 0x5069 , + [13062] = 0x506B , + [13063] = 0x5063 , + [13064] = 0x5064 , + [13065] = 0x5046 , + [13066] = 0x5040 , + [13067] = 0x506E , + [13068] = 0x5073 , + [13069] = 0x5057 , + [13070] = 0x5051 , + [13071] = 0x51D0 , + [13072] = 0x526B , + [13073] = 0x526D , + [13074] = 0x526C , + [13075] = 0x526E , + [13076] = 0x52D6 , + [13077] = 0x52D3 , + [13078] = 0x532D , + [13079] = 0x539C , + [13080] = 0x5575 , + [13081] = 0x5576 , + [13082] = 0x553C , + [13083] = 0x554D , + [13084] = 0x5550 , + [13085] = 0x5534 , + [13086] = 0x552A , + [13087] = 0x5551 , + [13088] = 0x5562 , + [13089] = 0x5536 , + [13090] = 0x5535 , + [13091] = 0x5530 , + [13092] = 0x5552 , + [13093] = 0x5545 , + [13094] = 0x550C , + [13095] = 0x5532 , + [13096] = 0x5565 , + [13097] = 0x554E , + [13098] = 0x5539 , + [13099] = 0x5548 , + [13100] = 0x552D , + [13101] = 0x553B , + [13102] = 0x5540 , + [13103] = 0x554B , + [13104] = 0x570A , + [13105] = 0x5707 , + [13106] = 0x57FB , + [13107] = 0x5814 , + [13108] = 0x57E2 , + [13109] = 0x57F6 , + [13110] = 0x57DC , + [13111] = 0x57F4 , + [13112] = 0x5800 , + [13113] = 0x57ED , + [13114] = 0x57FD , + [13115] = 0x5808 , + [13116] = 0x57F8 , + [13117] = 0x580B , + [13118] = 0x57F3 , + [13119] = 0x57CF , + [13120] = 0x5807 , + [13121] = 0x57EE , + [13122] = 0x57E3 , + [13123] = 0x57F2 , + [13124] = 0x57E5 , + [13125] = 0x57EC , + [13126] = 0x57E1 , + [13127] = 0x580E , + [13128] = 0x57FC , + [13129] = 0x5810 , + [13130] = 0x57E7 , + [13131] = 0x5801 , + [13132] = 0x580C , + [13133] = 0x57F1 , + [13134] = 0x57E9 , + [13135] = 0x57F0 , + [13136] = 0x580D , + [13137] = 0x5804 , + [13138] = 0x595C , + [13139] = 0x5A60 , + [13140] = 0x5A58 , + [13141] = 0x5A55 , + [13142] = 0x5A67 , + [13143] = 0x5A5E , + [13144] = 0x5A38 , + [13145] = 0x5A35 , + [13146] = 0x5A6D , + [13147] = 0x5A50 , + [13148] = 0x5A5F , + [13149] = 0x5A65 , + [13150] = 0x5A6C , + [13151] = 0x5A53 , + [13152] = 0x5A64 , + [13153] = 0x5A57 , + [13154] = 0x5A43 , + [13155] = 0x5A5D , + [13156] = 0x5A52 , + [13157] = 0x5A44 , + [13158] = 0x5A5B , + [13159] = 0x5A48 , + [13160] = 0x5A8E , + [13161] = 0x5A3E , + [13162] = 0x5A4D , + [13163] = 0x5A39 , + [13164] = 0x5A4C , + [13165] = 0x5A70 , + [13166] = 0x5A69 , + [13167] = 0x5A47 , + [13168] = 0x5A51 , + [13169] = 0x5A56 , + [13170] = 0x5A42 , + [13171] = 0x5A5C , + [13172] = 0x5B72 , + [13173] = 0x5B6E , + [13174] = 0x5BC1 , + [13175] = 0x5BC0 , + [13176] = 0x5C59 , + [13177] = 0x5D1E , + [13178] = 0x5D0B , + [13179] = 0x5D1D , + [13180] = 0x5D1A , + [13181] = 0x5D20 , + [13182] = 0x5D0C , + [13183] = 0x5D28 , + [13184] = 0x5D0D , + [13185] = 0x5D26 , + [13186] = 0x5D25 , + [13187] = 0x5D0F , + [13188] = 0x5D30 , + [13189] = 0x5D12 , + [13190] = 0x5D23 , + [13191] = 0x5D1F , + [13192] = 0x5D2E , + [13193] = 0x5E3E , + [13194] = 0x5E34 , + [13195] = 0x5EB1 , + [13196] = 0x5EB4 , + [13197] = 0x5EB9 , + [13198] = 0x5EB2 , + [13199] = 0x5EB3 , + [13200] = 0x5F36 , + [13201] = 0x5F38 , + [13202] = 0x5F9B , + [13203] = 0x5F96 , + [13204] = 0x5F9F , + [13205] = 0x608A , + [13206] = 0x6090 , + [13207] = 0x6086 , + [13208] = 0x60BE , + [13209] = 0x60B0 , + [13210] = 0x60BA , + [13211] = 0x60D3 , + [13212] = 0x60D4 , + [13213] = 0x60CF , + [13214] = 0x60E4 , + [13215] = 0x60D9 , + [13216] = 0x60DD , + [13217] = 0x60C8 , + [13218] = 0x60B1 , + [13219] = 0x60DB , + [13220] = 0x60B7 , + [13221] = 0x60CA , + [13222] = 0x60BF , + [13223] = 0x60C3 , + [13224] = 0x60CD , + [13225] = 0x60C0 , + [13226] = 0x6332 , + [13227] = 0x6365 , + [13228] = 0x638A , + [13229] = 0x6382 , + [13230] = 0x637D , + [13231] = 0x63BD , + [13232] = 0x639E , + [13233] = 0x63AD , + [13234] = 0x639D , + [13235] = 0x6397 , + [13236] = 0x63AB , + [13237] = 0x638E , + [13238] = 0x636F , + [13239] = 0x6387 , + [13240] = 0x6390 , + [13241] = 0x636E , + [13242] = 0x63AF , + [13243] = 0x6375 , + [13244] = 0x639C , + [13245] = 0x636D , + [13246] = 0x63AE , + [13247] = 0x637C , + [13248] = 0x63A4 , + [13249] = 0x633B , + [13250] = 0x639F , + [13251] = 0x6378 , + [13252] = 0x6385 , + [13253] = 0x6381 , + [13254] = 0x6391 , + [13255] = 0x638D , + [13256] = 0x6370 , + [13257] = 0x6553 , + [13258] = 0x65CD , + [13259] = 0x6665 , + [13260] = 0x6661 , + [13261] = 0x665B , + [13262] = 0x6659 , + [13263] = 0x665C , + [13264] = 0x6662 , + [13265] = 0x6718 , + [13266] = 0x6879 , + [13267] = 0x6887 , + [13268] = 0x6890 , + [13269] = 0x689C , + [13270] = 0x686D , + [13271] = 0x686E , + [13272] = 0x68AE , + [13273] = 0x68AB , + [13274] = 0x6956 , + [13275] = 0x686F , + [13276] = 0x68A3 , + [13277] = 0x68AC , + [13278] = 0x68A9 , + [13279] = 0x6875 , + [13280] = 0x6874 , + [13281] = 0x68B2 , + [13282] = 0x688F , + [13283] = 0x6877 , + [13284] = 0x6892 , + [13285] = 0x687C , + [13286] = 0x686B , + [13287] = 0x6872 , + [13288] = 0x68AA , + [13289] = 0x6880 , + [13290] = 0x6871 , + [13291] = 0x687E , + [13292] = 0x689B , + [13293] = 0x6896 , + [13294] = 0x688B , + [13295] = 0x68A0 , + [13296] = 0x6889 , + [13297] = 0x68A4 , + [13298] = 0x6878 , + [13299] = 0x687B , + [13300] = 0x6891 , + [13301] = 0x688C , + [13302] = 0x688A , + [13303] = 0x687D , + [13304] = 0x6B36 , + [13305] = 0x6B33 , + [13306] = 0x6B37 , + [13307] = 0x6B38 , + [13308] = 0x6B91 , + [13309] = 0x6B8F , + [13310] = 0x6B8D , + [13311] = 0x6B8E , + [13312] = 0x6B8C , + [13313] = 0x6C2A , + [13314] = 0x6DC0 , + [13315] = 0x6DAB , + [13316] = 0x6DB4 , + [13317] = 0x6DB3 , + [13318] = 0x6E74 , + [13319] = 0x6DAC , + [13320] = 0x6DE9 , + [13321] = 0x6DE2 , + [13322] = 0x6DB7 , + [13323] = 0x6DF6 , + [13324] = 0x6DD4 , + [13325] = 0x6E00 , + [13326] = 0x6DC8 , + [13327] = 0x6DE0 , + [13328] = 0x6DDF , + [13329] = 0x6DD6 , + [13330] = 0x6DBE , + [13331] = 0x6DE5 , + [13332] = 0x6DDC , + [13333] = 0x6DDD , + [13334] = 0x6DDB , + [13335] = 0x6DF4 , + [13336] = 0x6DCA , + [13337] = 0x6DBD , + [13338] = 0x6DED , + [13339] = 0x6DF0 , + [13340] = 0x6DBA , + [13341] = 0x6DD5 , + [13342] = 0x6DC2 , + [13343] = 0x6DCF , + [13344] = 0x6DC9 , + [13345] = 0x6DD0 , + [13346] = 0x6DF2 , + [13347] = 0x6DD3 , + [13348] = 0x6DFD , + [13349] = 0x6DD7 , + [13350] = 0x6DCD , + [13351] = 0x6DE3 , + [13352] = 0x6DBB , + [13353] = 0x70FA , + [13354] = 0x710D , + [13355] = 0x70F7 , + [13356] = 0x7117 , + [13357] = 0x70F4 , + [13358] = 0x710C , + [13359] = 0x70F0 , + [13360] = 0x7104 , + [13361] = 0x70F3 , + [13362] = 0x7110 , + [13363] = 0x70FC , + [13364] = 0x70FF , + [13365] = 0x7106 , + [13366] = 0x7113 , + [13367] = 0x7100 , + [13368] = 0x70F8 , + [13369] = 0x70F6 , + [13370] = 0x710B , + [13371] = 0x7102 , + [13372] = 0x710E , + [13373] = 0x727E , + [13374] = 0x727B , + [13375] = 0x727C , + [13376] = 0x727F , + [13377] = 0x731D , + [13378] = 0x7317 , + [13379] = 0x7307 , + [13380] = 0x7311 , + [13381] = 0x7318 , + [13382] = 0x730A , + [13383] = 0x7308 , + [13384] = 0x72FF , + [13385] = 0x730F , + [13386] = 0x731E , + [13387] = 0x7388 , + [13388] = 0x73F6 , + [13389] = 0x73F8 , + [13390] = 0x73F5 , + [13391] = 0x7404 , + [13392] = 0x7401 , + [13393] = 0x73FD , + [13394] = 0x7407 , + [13395] = 0x7400 , + [13396] = 0x73FA , + [13397] = 0x73FC , + [13398] = 0x73FF , + [13399] = 0x740C , + [13400] = 0x740B , + [13401] = 0x73F4 , + [13402] = 0x7408 , + [13403] = 0x7564 , + [13404] = 0x7563 , + [13405] = 0x75CE , + [13406] = 0x75D2 , + [13407] = 0x75CF , + [13408] = 0x75CB , + [13409] = 0x75CC , + [13410] = 0x75D1 , + [13411] = 0x75D0 , + [13412] = 0x768F , + [13413] = 0x7689 , + [13414] = 0x76D3 , + [13415] = 0x7739 , + [13416] = 0x772F , + [13417] = 0x772D , + [13418] = 0x7731 , + [13419] = 0x7732 , + [13420] = 0x7734 , + [13421] = 0x7733 , + [13422] = 0x773D , + [13423] = 0x7725 , + [13424] = 0x773B , + [13425] = 0x7735 , + [13426] = 0x7848 , + [13427] = 0x7852 , + [13428] = 0x7849 , + [13429] = 0x784D , + [13430] = 0x784A , + [13431] = 0x784C , + [13432] = 0x7826 , + [13433] = 0x7845 , + [13434] = 0x7850 , + [13435] = 0x7964 , + [13436] = 0x7967 , + [13437] = 0x7969 , + [13438] = 0x796A , + [13439] = 0x7963 , + [13440] = 0x796B , + [13441] = 0x7961 , + [13442] = 0x79BB , + [13443] = 0x79FA , + [13444] = 0x79F8 , + [13445] = 0x79F6 , + [13446] = 0x79F7 , + [13447] = 0x7A8F , + [13448] = 0x7A94 , + [13449] = 0x7A90 , + [13450] = 0x7B35 , + [13451] = 0x7B47 , + [13452] = 0x7B34 , + [13453] = 0x7B25 , + [13454] = 0x7B30 , + [13455] = 0x7B22 , + [13456] = 0x7B24 , + [13457] = 0x7B33 , + [13458] = 0x7B18 , + [13459] = 0x7B2A , + [13460] = 0x7B1D , + [13461] = 0x7B31 , + [13462] = 0x7B2B , + [13463] = 0x7B2D , + [13464] = 0x7B2F , + [13465] = 0x7B32 , + [13466] = 0x7B38 , + [13467] = 0x7B1A , + [13468] = 0x7B23 , + [13469] = 0x7C94 , + [13470] = 0x7C98 , + [13471] = 0x7C96 , + [13472] = 0x7CA3 , + [13473] = 0x7D35 , + [13474] = 0x7D3D , + [13475] = 0x7D38 , + [13476] = 0x7D36 , + [13477] = 0x7D3A , + [13478] = 0x7D45 , + [13479] = 0x7D2C , + [13480] = 0x7D29 , + [13481] = 0x7D41 , + [13482] = 0x7D47 , + [13483] = 0x7D3E , + [13484] = 0x7D3F , + [13485] = 0x7D4A , + [13486] = 0x7D3B , + [13487] = 0x7D28 , + [13488] = 0x7F63 , + [13489] = 0x7F95 , + [13490] = 0x7F9C , + [13491] = 0x7F9D , + [13492] = 0x7F9B , + [13493] = 0x7FCA , + [13494] = 0x7FCB , + [13495] = 0x7FCD , + [13496] = 0x7FD0 , + [13497] = 0x7FD1 , + [13498] = 0x7FC7 , + [13499] = 0x7FCF , + [13500] = 0x7FC9 , + [13501] = 0x801F , + [13502] = 0x801E , + [13503] = 0x801B , + [13504] = 0x8047 , + [13505] = 0x8043 , + [13506] = 0x8048 , + [13507] = 0x8118 , + [13508] = 0x8125 , + [13509] = 0x8119 , + [13510] = 0x811B , + [13511] = 0x812D , + [13512] = 0x811F , + [13513] = 0x812C , + [13514] = 0x811E , + [13515] = 0x8121 , + [13516] = 0x8115 , + [13517] = 0x8127 , + [13518] = 0x811D , + [13519] = 0x8122 , + [13520] = 0x8211 , + [13521] = 0x8238 , + [13522] = 0x8233 , + [13523] = 0x823A , + [13524] = 0x8234 , + [13525] = 0x8232 , + [13526] = 0x8274 , + [13527] = 0x8390 , + [13528] = 0x83A3 , + [13529] = 0x83A8 , + [13530] = 0x838D , + [13531] = 0x837A , + [13532] = 0x8373 , + [13533] = 0x83A4 , + [13534] = 0x8374 , + [13535] = 0x838F , + [13536] = 0x8381 , + [13537] = 0x8395 , + [13538] = 0x8399 , + [13539] = 0x8375 , + [13540] = 0x8394 , + [13541] = 0x83A9 , + [13542] = 0x837D , + [13543] = 0x8383 , + [13544] = 0x838C , + [13545] = 0x839D , + [13546] = 0x839B , + [13547] = 0x83AA , + [13548] = 0x838B , + [13549] = 0x837E , + [13550] = 0x83A5 , + [13551] = 0x83AF , + [13552] = 0x8388 , + [13553] = 0x8397 , + [13554] = 0x83B0 , + [13555] = 0x837F , + [13556] = 0x83A6 , + [13557] = 0x8387 , + [13558] = 0x83AE , + [13559] = 0x8376 , + [13560] = 0x839A , + [13561] = 0x8659 , + [13562] = 0x8656 , + [13563] = 0x86BF , + [13564] = 0x86B7 , + [13565] = 0x86C2 , + [13566] = 0x86C1 , + [13567] = 0x86C5 , + [13568] = 0x86BA , + [13569] = 0x86B0 , + [13570] = 0x86C8 , + [13571] = 0x86B9 , + [13572] = 0x86B3 , + [13573] = 0x86B8 , + [13574] = 0x86CC , + [13575] = 0x86B4 , + [13576] = 0x86BB , + [13577] = 0x86BC , + [13578] = 0x86C3 , + [13579] = 0x86BD , + [13580] = 0x86BE , + [13581] = 0x8852 , + [13582] = 0x8889 , + [13583] = 0x8895 , + [13584] = 0x88A8 , + [13585] = 0x88A2 , + [13586] = 0x88AA , + [13587] = 0x889A , + [13588] = 0x8891 , + [13589] = 0x88A1 , + [13590] = 0x889F , + [13591] = 0x8898 , + [13592] = 0x88A7 , + [13593] = 0x8899 , + [13594] = 0x889B , + [13595] = 0x8897 , + [13596] = 0x88A4 , + [13597] = 0x88AC , + [13598] = 0x888C , + [13599] = 0x8893 , + [13600] = 0x888E , + [13601] = 0x8982 , + [13602] = 0x89D6 , + [13603] = 0x89D9 , + [13604] = 0x89D5 , + [13605] = 0x8A30 , + [13606] = 0x8A27 , + [13607] = 0x8A2C , + [13608] = 0x8A1E , + [13609] = 0x8C39 , + [13610] = 0x8C3B , + [13611] = 0x8C5C , + [13612] = 0x8C5D , + [13613] = 0x8C7D , + [13614] = 0x8CA5 , + [13615] = 0x8D7D , + [13616] = 0x8D7B , + [13617] = 0x8D79 , + [13618] = 0x8DBC , + [13619] = 0x8DC2 , + [13620] = 0x8DB9 , + [13621] = 0x8DBF , + [13622] = 0x8DC1 , + [13623] = 0x8ED8 , + [13624] = 0x8EDE , + [13625] = 0x8EDD , + [13626] = 0x8EDC , + [13627] = 0x8ED7 , + [13628] = 0x8EE0 , + [13629] = 0x8EE1 , + [13630] = 0x9024 , + [13631] = 0x900B , + [13632] = 0x9011 , + [13633] = 0x901C , + [13634] = 0x900C , + [13635] = 0x9021 , + [13636] = 0x90EF , + [13637] = 0x90EA , + [13638] = 0x90F0 , + [13639] = 0x90F4 , + [13640] = 0x90F2 , + [13641] = 0x90F3 , + [13642] = 0x90D4 , + [13643] = 0x90EB , + [13644] = 0x90EC , + [13645] = 0x90E9 , + [13646] = 0x9156 , + [13647] = 0x9158 , + [13648] = 0x915A , + [13649] = 0x9153 , + [13650] = 0x9155 , + [13651] = 0x91EC , + [13652] = 0x91F4 , + [13653] = 0x91F1 , + [13654] = 0x91F3 , + [13655] = 0x91F8 , + [13656] = 0x91E4 , + [13657] = 0x91F9 , + [13658] = 0x91EA , + [13659] = 0x91EB , + [13660] = 0x91F7 , + [13661] = 0x91E8 , + [13662] = 0x91EE , + [13663] = 0x957A , + [13664] = 0x9586 , + [13665] = 0x9588 , + [13666] = 0x967C , + [13667] = 0x966D , + [13668] = 0x966B , + [13669] = 0x9671 , + [13670] = 0x966F , + [13671] = 0x96BF , + [13672] = 0x976A , + [13673] = 0x9804 , + [13674] = 0x98E5 , + [13675] = 0x9997 , + [13676] = 0x509B , + [13677] = 0x5095 , + [13678] = 0x5094 , + [13679] = 0x509E , + [13680] = 0x508B , + [13681] = 0x50A3 , + [13682] = 0x5083 , + [13683] = 0x508C , + [13684] = 0x508E , + [13685] = 0x509D , + [13686] = 0x5068 , + [13687] = 0x509C , + [13688] = 0x5092 , + [13689] = 0x5082 , + [13690] = 0x5087 , + [13691] = 0x515F , + [13692] = 0x51D4 , + [13693] = 0x5312 , + [13694] = 0x5311 , + [13695] = 0x53A4 , + [13696] = 0x53A7 , + [13697] = 0x5591 , + [13698] = 0x55A8 , + [13699] = 0x55A5 , + [13700] = 0x55AD , + [13701] = 0x5577 , + [13702] = 0x5645 , + [13703] = 0x55A2 , + [13704] = 0x5593 , + [13705] = 0x5588 , + [13706] = 0x558F , + [13707] = 0x55B5 , + [13708] = 0x5581 , + [13709] = 0x55A3 , + [13710] = 0x5592 , + [13711] = 0x55A4 , + [13712] = 0x557D , + [13713] = 0x558C , + [13714] = 0x55A6 , + [13715] = 0x557F , + [13716] = 0x5595 , + [13717] = 0x55A1 , + [13718] = 0x558E , + [13719] = 0x570C , + [13720] = 0x5829 , + [13721] = 0x5837 , + [13722] = 0x5819 , + [13723] = 0x581E , + [13724] = 0x5827 , + [13725] = 0x5823 , + [13726] = 0x5828 , + [13727] = 0x57F5 , + [13728] = 0x5848 , + [13729] = 0x5825 , + [13730] = 0x581C , + [13731] = 0x581B , + [13732] = 0x5833 , + [13733] = 0x583F , + [13734] = 0x5836 , + [13735] = 0x582E , + [13736] = 0x5839 , + [13737] = 0x5838 , + [13738] = 0x582D , + [13739] = 0x582C , + [13740] = 0x583B , + [13741] = 0x5961 , + [13742] = 0x5AAF , + [13743] = 0x5A94 , + [13744] = 0x5A9F , + [13745] = 0x5A7A , + [13746] = 0x5AA2 , + [13747] = 0x5A9E , + [13748] = 0x5A78 , + [13749] = 0x5AA6 , + [13750] = 0x5A7C , + [13751] = 0x5AA5 , + [13752] = 0x5AAC , + [13753] = 0x5A95 , + [13754] = 0x5AAE , + [13755] = 0x5A37 , + [13756] = 0x5A84 , + [13757] = 0x5A8A , + [13758] = 0x5A97 , + [13759] = 0x5A83 , + [13760] = 0x5A8B , + [13761] = 0x5AA9 , + [13762] = 0x5A7B , + [13763] = 0x5A7D , + [13764] = 0x5A8C , + [13765] = 0x5A9C , + [13766] = 0x5A8F , + [13767] = 0x5A93 , + [13768] = 0x5A9D , + [13769] = 0x5BEA , + [13770] = 0x5BCD , + [13771] = 0x5BCB , + [13772] = 0x5BD4 , + [13773] = 0x5BD1 , + [13774] = 0x5BCA , + [13775] = 0x5BCE , + [13776] = 0x5C0C , + [13777] = 0x5C30 , + [13778] = 0x5D37 , + [13779] = 0x5D43 , + [13780] = 0x5D6B , + [13781] = 0x5D41 , + [13782] = 0x5D4B , + [13783] = 0x5D3F , + [13784] = 0x5D35 , + [13785] = 0x5D51 , + [13786] = 0x5D4E , + [13787] = 0x5D55 , + [13788] = 0x5D33 , + [13789] = 0x5D3A , + [13790] = 0x5D52 , + [13791] = 0x5D3D , + [13792] = 0x5D31 , + [13793] = 0x5D59 , + [13794] = 0x5D42 , + [13795] = 0x5D39 , + [13796] = 0x5D49 , + [13797] = 0x5D38 , + [13798] = 0x5D3C , + [13799] = 0x5D32 , + [13800] = 0x5D36 , + [13801] = 0x5D40 , + [13802] = 0x5D45 , + [13803] = 0x5E44 , + [13804] = 0x5E41 , + [13805] = 0x5F58 , + [13806] = 0x5FA6 , + [13807] = 0x5FA5 , + [13808] = 0x5FAB , + [13809] = 0x60C9 , + [13810] = 0x60B9 , + [13811] = 0x60CC , + [13812] = 0x60E2 , + [13813] = 0x60CE , + [13814] = 0x60C4 , + [13815] = 0x6114 , + [13816] = 0x60F2 , + [13817] = 0x610A , + [13818] = 0x6116 , + [13819] = 0x6105 , + [13820] = 0x60F5 , + [13821] = 0x6113 , + [13822] = 0x60F8 , + [13823] = 0x60FC , + [13824] = 0x60FE , + [13825] = 0x60C1 , + [13826] = 0x6103 , + [13827] = 0x6118 , + [13828] = 0x611D , + [13829] = 0x6110 , + [13830] = 0x60FF , + [13831] = 0x6104 , + [13832] = 0x610B , + [13833] = 0x624A , + [13834] = 0x6394 , + [13835] = 0x63B1 , + [13836] = 0x63B0 , + [13837] = 0x63CE , + [13838] = 0x63E5 , + [13839] = 0x63E8 , + [13840] = 0x63EF , + [13841] = 0x63C3 , + [13842] = 0x649D , + [13843] = 0x63F3 , + [13844] = 0x63CA , + [13845] = 0x63E0 , + [13846] = 0x63F6 , + [13847] = 0x63D5 , + [13848] = 0x63F2 , + [13849] = 0x63F5 , + [13850] = 0x6461 , + [13851] = 0x63DF , + [13852] = 0x63BE , + [13853] = 0x63DD , + [13854] = 0x63DC , + [13855] = 0x63C4 , + [13856] = 0x63D8 , + [13857] = 0x63D3 , + [13858] = 0x63C2 , + [13859] = 0x63C7 , + [13860] = 0x63CC , + [13861] = 0x63CB , + [13862] = 0x63C8 , + [13863] = 0x63F0 , + [13864] = 0x63D7 , + [13865] = 0x63D9 , + [13866] = 0x6532 , + [13867] = 0x6567 , + [13868] = 0x656A , + [13869] = 0x6564 , + [13870] = 0x655C , + [13871] = 0x6568 , + [13872] = 0x6565 , + [13873] = 0x658C , + [13874] = 0x659D , + [13875] = 0x659E , + [13876] = 0x65AE , + [13877] = 0x65D0 , + [13878] = 0x65D2 , + [13879] = 0x667C , + [13880] = 0x666C , + [13881] = 0x667B , + [13882] = 0x6680 , + [13883] = 0x6671 , + [13884] = 0x6679 , + [13885] = 0x666A , + [13886] = 0x6672 , + [13887] = 0x6701 , + [13888] = 0x690C , + [13889] = 0x68D3 , + [13890] = 0x6904 , + [13891] = 0x68DC , + [13892] = 0x692A , + [13893] = 0x68EC , + [13894] = 0x68EA , + [13895] = 0x68F1 , + [13896] = 0x690F , + [13897] = 0x68D6 , + [13898] = 0x68F7 , + [13899] = 0x68EB , + [13900] = 0x68E4 , + [13901] = 0x68F6 , + [13902] = 0x6913 , + [13903] = 0x6910 , + [13904] = 0x68F3 , + [13905] = 0x68E1 , + [13906] = 0x6907 , + [13907] = 0x68CC , + [13908] = 0x6908 , + [13909] = 0x6970 , + [13910] = 0x68B4 , + [13911] = 0x6911 , + [13912] = 0x68EF , + [13913] = 0x68C6 , + [13914] = 0x6914 , + [13915] = 0x68F8 , + [13916] = 0x68D0 , + [13917] = 0x68FD , + [13918] = 0x68FC , + [13919] = 0x68E8 , + [13920] = 0x690B , + [13921] = 0x690A , + [13922] = 0x6917 , + [13923] = 0x68CE , + [13924] = 0x68C8 , + [13925] = 0x68DD , + [13926] = 0x68DE , + [13927] = 0x68E6 , + [13928] = 0x68F4 , + [13929] = 0x68D1 , + [13930] = 0x6906 , + [13931] = 0x68D4 , + [13932] = 0x68E9 , + [13933] = 0x6915 , + [13934] = 0x6925 , + [13935] = 0x68C7 , + [13936] = 0x6B39 , + [13937] = 0x6B3B , + [13938] = 0x6B3F , + [13939] = 0x6B3C , + [13940] = 0x6B94 , + [13941] = 0x6B97 , + [13942] = 0x6B99 , + [13943] = 0x6B95 , + [13944] = 0x6BBD , + [13945] = 0x6BF0 , + [13946] = 0x6BF2 , + [13947] = 0x6BF3 , + [13948] = 0x6C30 , + [13949] = 0x6DFC , + [13950] = 0x6E46 , + [13951] = 0x6E47 , + [13952] = 0x6E1F , + [13953] = 0x6E49 , + [13954] = 0x6E88 , + [13955] = 0x6E3C , + [13956] = 0x6E3D , + [13957] = 0x6E45 , + [13958] = 0x6E62 , + [13959] = 0x6E2B , + [13960] = 0x6E3F , + [13961] = 0x6E41 , + [13962] = 0x6E5D , + [13963] = 0x6E73 , + [13964] = 0x6E1C , + [13965] = 0x6E33 , + [13966] = 0x6E4B , + [13967] = 0x6E40 , + [13968] = 0x6E51 , + [13969] = 0x6E3B , + [13970] = 0x6E03 , + [13971] = 0x6E2E , + [13972] = 0x6E5E , + [13973] = 0x6E68 , + [13974] = 0x6E5C , + [13975] = 0x6E61 , + [13976] = 0x6E31 , + [13977] = 0x6E28 , + [13978] = 0x6E60 , + [13979] = 0x6E71 , + [13980] = 0x6E6B , + [13981] = 0x6E39 , + [13982] = 0x6E22 , + [13983] = 0x6E30 , + [13984] = 0x6E53 , + [13985] = 0x6E65 , + [13986] = 0x6E27 , + [13987] = 0x6E78 , + [13988] = 0x6E64 , + [13989] = 0x6E77 , + [13990] = 0x6E55 , + [13991] = 0x6E79 , + [13992] = 0x6E52 , + [13993] = 0x6E66 , + [13994] = 0x6E35 , + [13995] = 0x6E36 , + [13996] = 0x6E5A , + [13997] = 0x7120 , + [13998] = 0x711E , + [13999] = 0x712F , + [14000] = 0x70FB , + [14001] = 0x712E , + [14002] = 0x7131 , + [14003] = 0x7123 , + [14004] = 0x7125 , + [14005] = 0x7122 , + [14006] = 0x7132 , + [14007] = 0x711F , + [14008] = 0x7128 , + [14009] = 0x713A , + [14010] = 0x711B , + [14011] = 0x724B , + [14012] = 0x725A , + [14013] = 0x7288 , + [14014] = 0x7289 , + [14015] = 0x7286 , + [14016] = 0x7285 , + [14017] = 0x728B , + [14018] = 0x7312 , + [14019] = 0x730B , + [14020] = 0x7330 , + [14021] = 0x7322 , + [14022] = 0x7331 , + [14023] = 0x7333 , + [14024] = 0x7327 , + [14025] = 0x7332 , + [14026] = 0x732D , + [14027] = 0x7326 , + [14028] = 0x7323 , + [14029] = 0x7335 , + [14030] = 0x730C , + [14031] = 0x742E , + [14032] = 0x742C , + [14033] = 0x7430 , + [14034] = 0x742B , + [14035] = 0x7416 , + [14036] = 0x741A , + [14037] = 0x7421 , + [14038] = 0x742D , + [14039] = 0x7431 , + [14040] = 0x7424 , + [14041] = 0x7423 , + [14042] = 0x741D , + [14043] = 0x7429 , + [14044] = 0x7420 , + [14045] = 0x7432 , + [14046] = 0x74FB , + [14047] = 0x752F , + [14048] = 0x756F , + [14049] = 0x756C , + [14050] = 0x75E7 , + [14051] = 0x75DA , + [14052] = 0x75E1 , + [14053] = 0x75E6 , + [14054] = 0x75DD , + [14055] = 0x75DF , + [14056] = 0x75E4 , + [14057] = 0x75D7 , + [14058] = 0x7695 , + [14059] = 0x7692 , + [14060] = 0x76DA , + [14061] = 0x7746 , + [14062] = 0x7747 , + [14063] = 0x7744 , + [14064] = 0x774D , + [14065] = 0x7745 , + [14066] = 0x774A , + [14067] = 0x774E , + [14068] = 0x774B , + [14069] = 0x774C , + [14070] = 0x77DE , + [14071] = 0x77EC , + [14072] = 0x7860 , + [14073] = 0x7864 , + [14074] = 0x7865 , + [14075] = 0x785C , + [14076] = 0x786D , + [14077] = 0x7871 , + [14078] = 0x786A , + [14079] = 0x786E , + [14080] = 0x7870 , + [14081] = 0x7869 , + [14082] = 0x7868 , + [14083] = 0x785E , + [14084] = 0x7862 , + [14085] = 0x7974 , + [14086] = 0x7973 , + [14087] = 0x7972 , + [14088] = 0x7970 , + [14089] = 0x7A02 , + [14090] = 0x7A0A , + [14091] = 0x7A03 , + [14092] = 0x7A0C , + [14093] = 0x7A04 , + [14094] = 0x7A99 , + [14095] = 0x7AE6 , + [14096] = 0x7AE4 , + [14097] = 0x7B4A , + [14098] = 0x7B3B , + [14099] = 0x7B44 , + [14100] = 0x7B48 , + [14101] = 0x7B4C , + [14102] = 0x7B4E , + [14103] = 0x7B40 , + [14104] = 0x7B58 , + [14105] = 0x7B45 , + [14106] = 0x7CA2 , + [14107] = 0x7C9E , + [14108] = 0x7CA8 , + [14109] = 0x7CA1 , + [14110] = 0x7D58 , + [14111] = 0x7D6F , + [14112] = 0x7D63 , + [14113] = 0x7D53 , + [14114] = 0x7D56 , + [14115] = 0x7D67 , + [14116] = 0x7D6A , + [14117] = 0x7D4F , + [14118] = 0x7D6D , + [14119] = 0x7D5C , + [14120] = 0x7D6B , + [14121] = 0x7D52 , + [14122] = 0x7D54 , + [14123] = 0x7D69 , + [14124] = 0x7D51 , + [14125] = 0x7D5F , + [14126] = 0x7D4E , + [14127] = 0x7F3E , + [14128] = 0x7F3F , + [14129] = 0x7F65 , + [14130] = 0x7F66 , + [14131] = 0x7FA2 , + [14132] = 0x7FA0 , + [14133] = 0x7FA1 , + [14134] = 0x7FD7 , + [14135] = 0x8051 , + [14136] = 0x804F , + [14137] = 0x8050 , + [14138] = 0x80FE , + [14139] = 0x80D4 , + [14140] = 0x8143 , + [14141] = 0x814A , + [14142] = 0x8152 , + [14143] = 0x814F , + [14144] = 0x8147 , + [14145] = 0x813D , + [14146] = 0x814D , + [14147] = 0x813A , + [14148] = 0x81E6 , + [14149] = 0x81EE , + [14150] = 0x81F7 , + [14151] = 0x81F8 , + [14152] = 0x81F9 , + [14153] = 0x8204 , + [14154] = 0x823C , + [14155] = 0x823D , + [14156] = 0x823F , + [14157] = 0x8275 , + [14158] = 0x833B , + [14159] = 0x83CF , + [14160] = 0x83F9 , + [14161] = 0x8423 , + [14162] = 0x83C0 , + [14163] = 0x83E8 , + [14164] = 0x8412 , + [14165] = 0x83E7 , + [14166] = 0x83E4 , + [14167] = 0x83FC , + [14168] = 0x83F6 , + [14169] = 0x8410 , + [14170] = 0x83C6 , + [14171] = 0x83C8 , + [14172] = 0x83EB , + [14173] = 0x83E3 , + [14174] = 0x83BF , + [14175] = 0x8401 , + [14176] = 0x83DD , + [14177] = 0x83E5 , + [14178] = 0x83D8 , + [14179] = 0x83FF , + [14180] = 0x83E1 , + [14181] = 0x83CB , + [14182] = 0x83CE , + [14183] = 0x83D6 , + [14184] = 0x83F5 , + [14185] = 0x83C9 , + [14186] = 0x8409 , + [14187] = 0x840F , + [14188] = 0x83DE , + [14189] = 0x8411 , + [14190] = 0x8406 , + [14191] = 0x83C2 , + [14192] = 0x83F3 , + [14193] = 0x83D5 , + [14194] = 0x83FA , + [14195] = 0x83C7 , + [14196] = 0x83D1 , + [14197] = 0x83EA , + [14198] = 0x8413 , + [14199] = 0x83C3 , + [14200] = 0x83EC , + [14201] = 0x83EE , + [14202] = 0x83C4 , + [14203] = 0x83FB , + [14204] = 0x83D7 , + [14205] = 0x83E2 , + [14206] = 0x841B , + [14207] = 0x83DB , + [14208] = 0x83FE , + [14209] = 0x86D8 , + [14210] = 0x86E2 , + [14211] = 0x86E6 , + [14212] = 0x86D3 , + [14213] = 0x86E3 , + [14214] = 0x86DA , + [14215] = 0x86EA , + [14216] = 0x86DD , + [14217] = 0x86EB , + [14218] = 0x86DC , + [14219] = 0x86EC , + [14220] = 0x86E9 , + [14221] = 0x86D7 , + [14222] = 0x86E8 , + [14223] = 0x86D1 , + [14224] = 0x8848 , + [14225] = 0x8856 , + [14226] = 0x8855 , + [14227] = 0x88BA , + [14228] = 0x88D7 , + [14229] = 0x88B9 , + [14230] = 0x88B8 , + [14231] = 0x88C0 , + [14232] = 0x88BE , + [14233] = 0x88B6 , + [14234] = 0x88BC , + [14235] = 0x88B7 , + [14236] = 0x88BD , + [14237] = 0x88B2 , + [14238] = 0x8901 , + [14239] = 0x88C9 , + [14240] = 0x8995 , + [14241] = 0x8998 , + [14242] = 0x8997 , + [14243] = 0x89DD , + [14244] = 0x89DA , + [14245] = 0x89DB , + [14246] = 0x8A4E , + [14247] = 0x8A4D , + [14248] = 0x8A39 , + [14249] = 0x8A59 , + [14250] = 0x8A40 , + [14251] = 0x8A57 , + [14252] = 0x8A58 , + [14253] = 0x8A44 , + [14254] = 0x8A45 , + [14255] = 0x8A52 , + [14256] = 0x8A48 , + [14257] = 0x8A51 , + [14258] = 0x8A4A , + [14259] = 0x8A4C , + [14260] = 0x8A4F , + [14261] = 0x8C5F , + [14262] = 0x8C81 , + [14263] = 0x8C80 , + [14264] = 0x8CBA , + [14265] = 0x8CBE , + [14266] = 0x8CB0 , + [14267] = 0x8CB9 , + [14268] = 0x8CB5 , + [14269] = 0x8D84 , + [14270] = 0x8D80 , + [14271] = 0x8D89 , + [14272] = 0x8DD8 , + [14273] = 0x8DD3 , + [14274] = 0x8DCD , + [14275] = 0x8DC7 , + [14276] = 0x8DD6 , + [14277] = 0x8DDC , + [14278] = 0x8DCF , + [14279] = 0x8DD5 , + [14280] = 0x8DD9 , + [14281] = 0x8DC8 , + [14282] = 0x8DD7 , + [14283] = 0x8DC5 , + [14284] = 0x8EEF , + [14285] = 0x8EF7 , + [14286] = 0x8EFA , + [14287] = 0x8EF9 , + [14288] = 0x8EE6 , + [14289] = 0x8EEE , + [14290] = 0x8EE5 , + [14291] = 0x8EF5 , + [14292] = 0x8EE7 , + [14293] = 0x8EE8 , + [14294] = 0x8EF6 , + [14295] = 0x8EEB , + [14296] = 0x8EF1 , + [14297] = 0x8EEC , + [14298] = 0x8EF4 , + [14299] = 0x8EE9 , + [14300] = 0x902D , + [14301] = 0x9034 , + [14302] = 0x902F , + [14303] = 0x9106 , + [14304] = 0x912C , + [14305] = 0x9104 , + [14306] = 0x90FF , + [14307] = 0x90FC , + [14308] = 0x9108 , + [14309] = 0x90F9 , + [14310] = 0x90FB , + [14311] = 0x9101 , + [14312] = 0x9100 , + [14313] = 0x9107 , + [14314] = 0x9105 , + [14315] = 0x9103 , + [14316] = 0x9161 , + [14317] = 0x9164 , + [14318] = 0x915F , + [14319] = 0x9162 , + [14320] = 0x9160 , + [14321] = 0x9201 , + [14322] = 0x920A , + [14323] = 0x9225 , + [14324] = 0x9203 , + [14325] = 0x921A , + [14326] = 0x9226 , + [14327] = 0x920F , + [14328] = 0x920C , + [14329] = 0x9200 , + [14330] = 0x9212 , + [14331] = 0x91FF , + [14332] = 0x91FD , + [14333] = 0x9206 , + [14334] = 0x9204 , + [14335] = 0x9227 , + [14336] = 0x9202 , + [14337] = 0x921C , + [14338] = 0x9224 , + [14339] = 0x9219 , + [14340] = 0x9217 , + [14341] = 0x9205 , + [14342] = 0x9216 , + [14343] = 0x957B , + [14344] = 0x958D , + [14345] = 0x958C , + [14346] = 0x9590 , + [14347] = 0x9687 , + [14348] = 0x967E , + [14349] = 0x9688 , + [14350] = 0x9689 , + [14351] = 0x9683 , + [14352] = 0x9680 , + [14353] = 0x96C2 , + [14354] = 0x96C8 , + [14355] = 0x96C3 , + [14356] = 0x96F1 , + [14357] = 0x96F0 , + [14358] = 0x976C , + [14359] = 0x9770 , + [14360] = 0x976E , + [14361] = 0x9807 , + [14362] = 0x98A9 , + [14363] = 0x98EB , + [14364] = 0x9CE6 , + [14365] = 0x9EF9 , + [14366] = 0x4E83 , + [14367] = 0x4E84 , + [14368] = 0x4EB6 , + [14369] = 0x50BD , + [14370] = 0x50BF , + [14371] = 0x50C6 , + [14372] = 0x50AE , + [14373] = 0x50C4 , + [14374] = 0x50CA , + [14375] = 0x50B4 , + [14376] = 0x50C8 , + [14377] = 0x50C2 , + [14378] = 0x50B0 , + [14379] = 0x50C1 , + [14380] = 0x50BA , + [14381] = 0x50B1 , + [14382] = 0x50CB , + [14383] = 0x50C9 , + [14384] = 0x50B6 , + [14385] = 0x50B8 , + [14386] = 0x51D7 , + [14387] = 0x527A , + [14388] = 0x5278 , + [14389] = 0x527B , + [14390] = 0x527C , + [14391] = 0x55C3 , + [14392] = 0x55DB , + [14393] = 0x55CC , + [14394] = 0x55D0 , + [14395] = 0x55CB , + [14396] = 0x55CA , + [14397] = 0x55DD , + [14398] = 0x55C0 , + [14399] = 0x55D4 , + [14400] = 0x55C4 , + [14401] = 0x55E9 , + [14402] = 0x55BF , + [14403] = 0x55D2 , + [14404] = 0x558D , + [14405] = 0x55CF , + [14406] = 0x55D5 , + [14407] = 0x55E2 , + [14408] = 0x55D6 , + [14409] = 0x55C8 , + [14410] = 0x55F2 , + [14411] = 0x55CD , + [14412] = 0x55D9 , + [14413] = 0x55C2 , + [14414] = 0x5714 , + [14415] = 0x5853 , + [14416] = 0x5868 , + [14417] = 0x5864 , + [14418] = 0x584F , + [14419] = 0x584D , + [14420] = 0x5849 , + [14421] = 0x586F , + [14422] = 0x5855 , + [14423] = 0x584E , + [14424] = 0x585D , + [14425] = 0x5859 , + [14426] = 0x5865 , + [14427] = 0x585B , + [14428] = 0x583D , + [14429] = 0x5863 , + [14430] = 0x5871 , + [14431] = 0x58FC , + [14432] = 0x5AC7 , + [14433] = 0x5AC4 , + [14434] = 0x5ACB , + [14435] = 0x5ABA , + [14436] = 0x5AB8 , + [14437] = 0x5AB1 , + [14438] = 0x5AB5 , + [14439] = 0x5AB0 , + [14440] = 0x5ABF , + [14441] = 0x5AC8 , + [14442] = 0x5ABB , + [14443] = 0x5AC6 , + [14444] = 0x5AB7 , + [14445] = 0x5AC0 , + [14446] = 0x5ACA , + [14447] = 0x5AB4 , + [14448] = 0x5AB6 , + [14449] = 0x5ACD , + [14450] = 0x5AB9 , + [14451] = 0x5A90 , + [14452] = 0x5BD6 , + [14453] = 0x5BD8 , + [14454] = 0x5BD9 , + [14455] = 0x5C1F , + [14456] = 0x5C33 , + [14457] = 0x5D71 , + [14458] = 0x5D63 , + [14459] = 0x5D4A , + [14460] = 0x5D65 , + [14461] = 0x5D72 , + [14462] = 0x5D6C , + [14463] = 0x5D5E , + [14464] = 0x5D68 , + [14465] = 0x5D67 , + [14466] = 0x5D62 , + [14467] = 0x5DF0 , + [14468] = 0x5E4F , + [14469] = 0x5E4E , + [14470] = 0x5E4A , + [14471] = 0x5E4D , + [14472] = 0x5E4B , + [14473] = 0x5EC5 , + [14474] = 0x5ECC , + [14475] = 0x5EC6 , + [14476] = 0x5ECB , + [14477] = 0x5EC7 , + [14478] = 0x5F40 , + [14479] = 0x5FAF , + [14480] = 0x5FAD , + [14481] = 0x60F7 , + [14482] = 0x6149 , + [14483] = 0x614A , + [14484] = 0x612B , + [14485] = 0x6145 , + [14486] = 0x6136 , + [14487] = 0x6132 , + [14488] = 0x612E , + [14489] = 0x6146 , + [14490] = 0x612F , + [14491] = 0x614F , + [14492] = 0x6129 , + [14493] = 0x6140 , + [14494] = 0x6220 , + [14495] = 0x9168 , + [14496] = 0x6223 , + [14497] = 0x6225 , + [14498] = 0x6224 , + [14499] = 0x63C5 , + [14500] = 0x63F1 , + [14501] = 0x63EB , + [14502] = 0x6410 , + [14503] = 0x6412 , + [14504] = 0x6409 , + [14505] = 0x6420 , + [14506] = 0x6424 , + [14507] = 0x6433 , + [14508] = 0x6443 , + [14509] = 0x641F , + [14510] = 0x6415 , + [14511] = 0x6418 , + [14512] = 0x6439 , + [14513] = 0x6437 , + [14514] = 0x6422 , + [14515] = 0x6423 , + [14516] = 0x640C , + [14517] = 0x6426 , + [14518] = 0x6430 , + [14519] = 0x6428 , + [14520] = 0x6441 , + [14521] = 0x6435 , + [14522] = 0x642F , + [14523] = 0x640A , + [14524] = 0x641A , + [14525] = 0x6440 , + [14526] = 0x6425 , + [14527] = 0x6427 , + [14528] = 0x640B , + [14529] = 0x63E7 , + [14530] = 0x641B , + [14531] = 0x642E , + [14532] = 0x6421 , + [14533] = 0x640E , + [14534] = 0x656F , + [14535] = 0x6592 , + [14536] = 0x65D3 , + [14537] = 0x6686 , + [14538] = 0x668C , + [14539] = 0x6695 , + [14540] = 0x6690 , + [14541] = 0x668B , + [14542] = 0x668A , + [14543] = 0x6699 , + [14544] = 0x6694 , + [14545] = 0x6678 , + [14546] = 0x6720 , + [14547] = 0x6966 , + [14548] = 0x695F , + [14549] = 0x6938 , + [14550] = 0x694E , + [14551] = 0x6962 , + [14552] = 0x6971 , + [14553] = 0x693F , + [14554] = 0x6945 , + [14555] = 0x696A , + [14556] = 0x6939 , + [14557] = 0x6942 , + [14558] = 0x6957 , + [14559] = 0x6959 , + [14560] = 0x697A , + [14561] = 0x6948 , + [14562] = 0x6949 , + [14563] = 0x6935 , + [14564] = 0x696C , + [14565] = 0x6933 , + [14566] = 0x693D , + [14567] = 0x6965 , + [14568] = 0x68F0 , + [14569] = 0x6978 , + [14570] = 0x6934 , + [14571] = 0x6969 , + [14572] = 0x6940 , + [14573] = 0x696F , + [14574] = 0x6944 , + [14575] = 0x6976 , + [14576] = 0x6958 , + [14577] = 0x6941 , + [14578] = 0x6974 , + [14579] = 0x694C , + [14580] = 0x693B , + [14581] = 0x694B , + [14582] = 0x6937 , + [14583] = 0x695C , + [14584] = 0x694F , + [14585] = 0x6951 , + [14586] = 0x6932 , + [14587] = 0x6952 , + [14588] = 0x692F , + [14589] = 0x697B , + [14590] = 0x693C , + [14591] = 0x6B46 , + [14592] = 0x6B45 , + [14593] = 0x6B43 , + [14594] = 0x6B42 , + [14595] = 0x6B48 , + [14596] = 0x6B41 , + [14597] = 0x6B9B , + [14598] = 0xFA0D , + [14599] = 0x6BFB , + [14600] = 0x6BFC , + [14601] = 0x6BF9 , + [14602] = 0x6BF7 , + [14603] = 0x6BF8 , + [14604] = 0x6E9B , + [14605] = 0x6ED6 , + [14606] = 0x6EC8 , + [14607] = 0x6E8F , + [14608] = 0x6EC0 , + [14609] = 0x6E9F , + [14610] = 0x6E93 , + [14611] = 0x6E94 , + [14612] = 0x6EA0 , + [14613] = 0x6EB1 , + [14614] = 0x6EB9 , + [14615] = 0x6EC6 , + [14616] = 0x6ED2 , + [14617] = 0x6EBD , + [14618] = 0x6EC1 , + [14619] = 0x6E9E , + [14620] = 0x6EC9 , + [14621] = 0x6EB7 , + [14622] = 0x6EB0 , + [14623] = 0x6ECD , + [14624] = 0x6EA6 , + [14625] = 0x6ECF , + [14626] = 0x6EB2 , + [14627] = 0x6EBE , + [14628] = 0x6EC3 , + [14629] = 0x6EDC , + [14630] = 0x6ED8 , + [14631] = 0x6E99 , + [14632] = 0x6E92 , + [14633] = 0x6E8E , + [14634] = 0x6E8D , + [14635] = 0x6EA4 , + [14636] = 0x6EA1 , + [14637] = 0x6EBF , + [14638] = 0x6EB3 , + [14639] = 0x6ED0 , + [14640] = 0x6ECA , + [14641] = 0x6E97 , + [14642] = 0x6EAE , + [14643] = 0x6EA3 , + [14644] = 0x7147 , + [14645] = 0x7154 , + [14646] = 0x7152 , + [14647] = 0x7163 , + [14648] = 0x7160 , + [14649] = 0x7141 , + [14650] = 0x715D , + [14651] = 0x7162 , + [14652] = 0x7172 , + [14653] = 0x7178 , + [14654] = 0x716A , + [14655] = 0x7161 , + [14656] = 0x7142 , + [14657] = 0x7158 , + [14658] = 0x7143 , + [14659] = 0x714B , + [14660] = 0x7170 , + [14661] = 0x715F , + [14662] = 0x7150 , + [14663] = 0x7153 , + [14664] = 0x7144 , + [14665] = 0x714D , + [14666] = 0x715A , + [14667] = 0x724F , + [14668] = 0x728D , + [14669] = 0x728C , + [14670] = 0x7291 , + [14671] = 0x7290 , + [14672] = 0x728E , + [14673] = 0x733C , + [14674] = 0x7342 , + [14675] = 0x733B , + [14676] = 0x733A , + [14677] = 0x7340 , + [14678] = 0x734A , + [14679] = 0x7349 , + [14680] = 0x7444 , + [14681] = 0x744A , + [14682] = 0x744B , + [14683] = 0x7452 , + [14684] = 0x7451 , + [14685] = 0x7457 , + [14686] = 0x7440 , + [14687] = 0x744F , + [14688] = 0x7450 , + [14689] = 0x744E , + [14690] = 0x7442 , + [14691] = 0x7446 , + [14692] = 0x744D , + [14693] = 0x7454 , + [14694] = 0x74E1 , + [14695] = 0x74FF , + [14696] = 0x74FE , + [14697] = 0x74FD , + [14698] = 0x751D , + [14699] = 0x7579 , + [14700] = 0x7577 , + [14701] = 0x6983 , + [14702] = 0x75EF , + [14703] = 0x760F , + [14704] = 0x7603 , + [14705] = 0x75F7 , + [14706] = 0x75FE , + [14707] = 0x75FC , + [14708] = 0x75F9 , + [14709] = 0x75F8 , + [14710] = 0x7610 , + [14711] = 0x75FB , + [14712] = 0x75F6 , + [14713] = 0x75ED , + [14714] = 0x75F5 , + [14715] = 0x75FD , + [14716] = 0x7699 , + [14717] = 0x76B5 , + [14718] = 0x76DD , + [14719] = 0x7755 , + [14720] = 0x775F , + [14721] = 0x7760 , + [14722] = 0x7752 , + [14723] = 0x7756 , + [14724] = 0x775A , + [14725] = 0x7769 , + [14726] = 0x7767 , + [14727] = 0x7754 , + [14728] = 0x7759 , + [14729] = 0x776D , + [14730] = 0x77E0 , + [14731] = 0x7887 , + [14732] = 0x789A , + [14733] = 0x7894 , + [14734] = 0x788F , + [14735] = 0x7884 , + [14736] = 0x7895 , + [14737] = 0x7885 , + [14738] = 0x7886 , + [14739] = 0x78A1 , + [14740] = 0x7883 , + [14741] = 0x7879 , + [14742] = 0x7899 , + [14743] = 0x7880 , + [14744] = 0x7896 , + [14745] = 0x787B , + [14746] = 0x797C , + [14747] = 0x7982 , + [14748] = 0x797D , + [14749] = 0x7979 , + [14750] = 0x7A11 , + [14751] = 0x7A18 , + [14752] = 0x7A19 , + [14753] = 0x7A12 , + [14754] = 0x7A17 , + [14755] = 0x7A15 , + [14756] = 0x7A22 , + [14757] = 0x7A13 , + [14758] = 0x7A1B , + [14759] = 0x7A10 , + [14760] = 0x7AA3 , + [14761] = 0x7AA2 , + [14762] = 0x7A9E , + [14763] = 0x7AEB , + [14764] = 0x7B66 , + [14765] = 0x7B64 , + [14766] = 0x7B6D , + [14767] = 0x7B74 , + [14768] = 0x7B69 , + [14769] = 0x7B72 , + [14770] = 0x7B65 , + [14771] = 0x7B73 , + [14772] = 0x7B71 , + [14773] = 0x7B70 , + [14774] = 0x7B61 , + [14775] = 0x7B78 , + [14776] = 0x7B76 , + [14777] = 0x7B63 , + [14778] = 0x7CB2 , + [14779] = 0x7CB4 , + [14780] = 0x7CAF , + [14781] = 0x7D88 , + [14782] = 0x7D86 , + [14783] = 0x7D80 , + [14784] = 0x7D8D , + [14785] = 0x7D7F , + [14786] = 0x7D85 , + [14787] = 0x7D7A , + [14788] = 0x7D8E , + [14789] = 0x7D7B , + [14790] = 0x7D83 , + [14791] = 0x7D7C , + [14792] = 0x7D8C , + [14793] = 0x7D94 , + [14794] = 0x7D84 , + [14795] = 0x7D7D , + [14796] = 0x7D92 , + [14797] = 0x7F6D , + [14798] = 0x7F6B , + [14799] = 0x7F67 , + [14800] = 0x7F68 , + [14801] = 0x7F6C , + [14802] = 0x7FA6 , + [14803] = 0x7FA5 , + [14804] = 0x7FA7 , + [14805] = 0x7FDB , + [14806] = 0x7FDC , + [14807] = 0x8021 , + [14808] = 0x8164 , + [14809] = 0x8160 , + [14810] = 0x8177 , + [14811] = 0x815C , + [14812] = 0x8169 , + [14813] = 0x815B , + [14814] = 0x8162 , + [14815] = 0x8172 , + [14816] = 0x6721 , + [14817] = 0x815E , + [14818] = 0x8176 , + [14819] = 0x8167 , + [14820] = 0x816F , + [14821] = 0x8144 , + [14822] = 0x8161 , + [14823] = 0x821D , + [14824] = 0x8249 , + [14825] = 0x8244 , + [14826] = 0x8240 , + [14827] = 0x8242 , + [14828] = 0x8245 , + [14829] = 0x84F1 , + [14830] = 0x843F , + [14831] = 0x8456 , + [14832] = 0x8476 , + [14833] = 0x8479 , + [14834] = 0x848F , + [14835] = 0x848D , + [14836] = 0x8465 , + [14837] = 0x8451 , + [14838] = 0x8440 , + [14839] = 0x8486 , + [14840] = 0x8467 , + [14841] = 0x8430 , + [14842] = 0x844D , + [14843] = 0x847D , + [14844] = 0x845A , + [14845] = 0x8459 , + [14846] = 0x8474 , + [14847] = 0x8473 , + [14848] = 0x845D , + [14849] = 0x8507 , + [14850] = 0x845E , + [14851] = 0x8437 , + [14852] = 0x843A , + [14853] = 0x8434 , + [14854] = 0x847A , + [14855] = 0x8443 , + [14856] = 0x8478 , + [14857] = 0x8432 , + [14858] = 0x8445 , + [14859] = 0x8429 , + [14860] = 0x83D9 , + [14861] = 0x844B , + [14862] = 0x842F , + [14863] = 0x8442 , + [14864] = 0x842D , + [14865] = 0x845F , + [14866] = 0x8470 , + [14867] = 0x8439 , + [14868] = 0x844E , + [14869] = 0x844C , + [14870] = 0x8452 , + [14871] = 0x846F , + [14872] = 0x84C5 , + [14873] = 0x848E , + [14874] = 0x843B , + [14875] = 0x8447 , + [14876] = 0x8436 , + [14877] = 0x8433 , + [14878] = 0x8468 , + [14879] = 0x847E , + [14880] = 0x8444 , + [14881] = 0x842B , + [14882] = 0x8460 , + [14883] = 0x8454 , + [14884] = 0x846E , + [14885] = 0x8450 , + [14886] = 0x870B , + [14887] = 0x8704 , + [14888] = 0x86F7 , + [14889] = 0x870C , + [14890] = 0x86FA , + [14891] = 0x86D6 , + [14892] = 0x86F5 , + [14893] = 0x874D , + [14894] = 0x86F8 , + [14895] = 0x870E , + [14896] = 0x8709 , + [14897] = 0x8701 , + [14898] = 0x86F6 , + [14899] = 0x870D , + [14900] = 0x8705 , + [14901] = 0x88D6 , + [14902] = 0x88CB , + [14903] = 0x88CD , + [14904] = 0x88CE , + [14905] = 0x88DE , + [14906] = 0x88DB , + [14907] = 0x88DA , + [14908] = 0x88CC , + [14909] = 0x88D0 , + [14910] = 0x8985 , + [14911] = 0x899B , + [14912] = 0x89DF , + [14913] = 0x89E5 , + [14914] = 0x89E4 , + [14915] = 0x89E1 , + [14916] = 0x89E0 , + [14917] = 0x89E2 , + [14918] = 0x89DC , + [14919] = 0x89E6 , + [14920] = 0x8A76 , + [14921] = 0x8A86 , + [14922] = 0x8A7F , + [14923] = 0x8A61 , + [14924] = 0x8A3F , + [14925] = 0x8A77 , + [14926] = 0x8A82 , + [14927] = 0x8A84 , + [14928] = 0x8A75 , + [14929] = 0x8A83 , + [14930] = 0x8A81 , + [14931] = 0x8A74 , + [14932] = 0x8A7A , + [14933] = 0x8C3C , + [14934] = 0x8C4B , + [14935] = 0x8C4A , + [14936] = 0x8C65 , + [14937] = 0x8C64 , + [14938] = 0x8C66 , + [14939] = 0x8C86 , + [14940] = 0x8C84 , + [14941] = 0x8C85 , + [14942] = 0x8CCC , + [14943] = 0x8D68 , + [14944] = 0x8D69 , + [14945] = 0x8D91 , + [14946] = 0x8D8C , + [14947] = 0x8D8E , + [14948] = 0x8D8F , + [14949] = 0x8D8D , + [14950] = 0x8D93 , + [14951] = 0x8D94 , + [14952] = 0x8D90 , + [14953] = 0x8D92 , + [14954] = 0x8DF0 , + [14955] = 0x8DE0 , + [14956] = 0x8DEC , + [14957] = 0x8DF1 , + [14958] = 0x8DEE , + [14959] = 0x8DD0 , + [14960] = 0x8DE9 , + [14961] = 0x8DE3 , + [14962] = 0x8DE2 , + [14963] = 0x8DE7 , + [14964] = 0x8DF2 , + [14965] = 0x8DEB , + [14966] = 0x8DF4 , + [14967] = 0x8F06 , + [14968] = 0x8EFF , + [14969] = 0x8F01 , + [14970] = 0x8F00 , + [14971] = 0x8F05 , + [14972] = 0x8F07 , + [14973] = 0x8F08 , + [14974] = 0x8F02 , + [14975] = 0x8F0B , + [14976] = 0x9052 , + [14977] = 0x903F , + [14978] = 0x9044 , + [14979] = 0x9049 , + [14980] = 0x903D , + [14981] = 0x9110 , + [14982] = 0x910D , + [14983] = 0x910F , + [14984] = 0x9111 , + [14985] = 0x9116 , + [14986] = 0x9114 , + [14987] = 0x910B , + [14988] = 0x910E , + [14989] = 0x916E , + [14990] = 0x916F , + [14991] = 0x9248 , + [14992] = 0x9252 , + [14993] = 0x9230 , + [14994] = 0x923A , + [14995] = 0x9266 , + [14996] = 0x9233 , + [14997] = 0x9265 , + [14998] = 0x925E , + [14999] = 0x9283 , + [15000] = 0x922E , + [15001] = 0x924A , + [15002] = 0x9246 , + [15003] = 0x926D , + [15004] = 0x926C , + [15005] = 0x924F , + [15006] = 0x9260 , + [15007] = 0x9267 , + [15008] = 0x926F , + [15009] = 0x9236 , + [15010] = 0x9261 , + [15011] = 0x9270 , + [15012] = 0x9231 , + [15013] = 0x9254 , + [15014] = 0x9263 , + [15015] = 0x9250 , + [15016] = 0x9272 , + [15017] = 0x924E , + [15018] = 0x9253 , + [15019] = 0x924C , + [15020] = 0x9256 , + [15021] = 0x9232 , + [15022] = 0x959F , + [15023] = 0x959C , + [15024] = 0x959E , + [15025] = 0x959B , + [15026] = 0x9692 , + [15027] = 0x9693 , + [15028] = 0x9691 , + [15029] = 0x9697 , + [15030] = 0x96CE , + [15031] = 0x96FA , + [15032] = 0x96FD , + [15033] = 0x96F8 , + [15034] = 0x96F5 , + [15035] = 0x9773 , + [15036] = 0x9777 , + [15037] = 0x9778 , + [15038] = 0x9772 , + [15039] = 0x980F , + [15040] = 0x980D , + [15041] = 0x980E , + [15042] = 0x98AC , + [15043] = 0x98F6 , + [15044] = 0x98F9 , + [15045] = 0x99AF , + [15046] = 0x99B2 , + [15047] = 0x99B0 , + [15048] = 0x99B5 , + [15049] = 0x9AAD , + [15050] = 0x9AAB , + [15051] = 0x9B5B , + [15052] = 0x9CEA , + [15053] = 0x9CED , + [15054] = 0x9CE7 , + [15055] = 0x9E80 , + [15056] = 0x9EFD , + [15057] = 0x50E6 , + [15058] = 0x50D4 , + [15059] = 0x50D7 , + [15060] = 0x50E8 , + [15061] = 0x50F3 , + [15062] = 0x50DB , + [15063] = 0x50EA , + [15064] = 0x50DD , + [15065] = 0x50E4 , + [15066] = 0x50D3 , + [15067] = 0x50EC , + [15068] = 0x50F0 , + [15069] = 0x50EF , + [15070] = 0x50E3 , + [15071] = 0x50E0 , + [15072] = 0x51D8 , + [15073] = 0x5280 , + [15074] = 0x5281 , + [15075] = 0x52E9 , + [15076] = 0x52EB , + [15077] = 0x5330 , + [15078] = 0x53AC , + [15079] = 0x5627 , + [15080] = 0x5615 , + [15081] = 0x560C , + [15082] = 0x5612 , + [15083] = 0x55FC , + [15084] = 0x560F , + [15085] = 0x561C , + [15086] = 0x5601 , + [15087] = 0x5613 , + [15088] = 0x5602 , + [15089] = 0x55FA , + [15090] = 0x561D , + [15091] = 0x5604 , + [15092] = 0x55FF , + [15093] = 0x55F9 , + [15094] = 0x5889 , + [15095] = 0x587C , + [15096] = 0x5890 , + [15097] = 0x5898 , + [15098] = 0x5886 , + [15099] = 0x5881 , + [15100] = 0x587F , + [15101] = 0x5874 , + [15102] = 0x588B , + [15103] = 0x587A , + [15104] = 0x5887 , + [15105] = 0x5891 , + [15106] = 0x588E , + [15107] = 0x5876 , + [15108] = 0x5882 , + [15109] = 0x5888 , + [15110] = 0x587B , + [15111] = 0x5894 , + [15112] = 0x588F , + [15113] = 0x58FE , + [15114] = 0x596B , + [15115] = 0x5ADC , + [15116] = 0x5AEE , + [15117] = 0x5AE5 , + [15118] = 0x5AD5 , + [15119] = 0x5AEA , + [15120] = 0x5ADA , + [15121] = 0x5AED , + [15122] = 0x5AEB , + [15123] = 0x5AF3 , + [15124] = 0x5AE2 , + [15125] = 0x5AE0 , + [15126] = 0x5ADB , + [15127] = 0x5AEC , + [15128] = 0x5ADE , + [15129] = 0x5ADD , + [15130] = 0x5AD9 , + [15131] = 0x5AE8 , + [15132] = 0x5ADF , + [15133] = 0x5B77 , + [15134] = 0x5BE0 , + [15135] = 0x5BE3 , + [15136] = 0x5C63 , + [15137] = 0x5D82 , + [15138] = 0x5D80 , + [15139] = 0x5D7D , + [15140] = 0x5D86 , + [15141] = 0x5D7A , + [15142] = 0x5D81 , + [15143] = 0x5D77 , + [15144] = 0x5D8A , + [15145] = 0x5D89 , + [15146] = 0x5D88 , + [15147] = 0x5D7E , + [15148] = 0x5D7C , + [15149] = 0x5D8D , + [15150] = 0x5D79 , + [15151] = 0x5D7F , + [15152] = 0x5E58 , + [15153] = 0x5E59 , + [15154] = 0x5E53 , + [15155] = 0x5ED8 , + [15156] = 0x5ED1 , + [15157] = 0x5ED7 , + [15158] = 0x5ECE , + [15159] = 0x5EDC , + [15160] = 0x5ED5 , + [15161] = 0x5ED9 , + [15162] = 0x5ED2 , + [15163] = 0x5ED4 , + [15164] = 0x5F44 , + [15165] = 0x5F43 , + [15166] = 0x5F6F , + [15167] = 0x5FB6 , + [15168] = 0x612C , + [15169] = 0x6128 , + [15170] = 0x6141 , + [15171] = 0x615E , + [15172] = 0x6171 , + [15173] = 0x6173 , + [15174] = 0x6152 , + [15175] = 0x6153 , + [15176] = 0x6172 , + [15177] = 0x616C , + [15178] = 0x6180 , + [15179] = 0x6174 , + [15180] = 0x6154 , + [15181] = 0x617A , + [15182] = 0x615B , + [15183] = 0x6165 , + [15184] = 0x613B , + [15185] = 0x616A , + [15186] = 0x6161 , + [15187] = 0x6156 , + [15188] = 0x6229 , + [15189] = 0x6227 , + [15190] = 0x622B , + [15191] = 0x642B , + [15192] = 0x644D , + [15193] = 0x645B , + [15194] = 0x645D , + [15195] = 0x6474 , + [15196] = 0x6476 , + [15197] = 0x6472 , + [15198] = 0x6473 , + [15199] = 0x647D , + [15200] = 0x6475 , + [15201] = 0x6466 , + [15202] = 0x64A6 , + [15203] = 0x644E , + [15204] = 0x6482 , + [15205] = 0x645E , + [15206] = 0x645C , + [15207] = 0x644B , + [15208] = 0x6453 , + [15209] = 0x6460 , + [15210] = 0x6450 , + [15211] = 0x647F , + [15212] = 0x643F , + [15213] = 0x646C , + [15214] = 0x646B , + [15215] = 0x6459 , + [15216] = 0x6465 , + [15217] = 0x6477 , + [15218] = 0x6573 , + [15219] = 0x65A0 , + [15220] = 0x66A1 , + [15221] = 0x66A0 , + [15222] = 0x669F , + [15223] = 0x6705 , + [15224] = 0x6704 , + [15225] = 0x6722 , + [15226] = 0x69B1 , + [15227] = 0x69B6 , + [15228] = 0x69C9 , + [15229] = 0x69A0 , + [15230] = 0x69CE , + [15231] = 0x6996 , + [15232] = 0x69B0 , + [15233] = 0x69AC , + [15234] = 0x69BC , + [15235] = 0x6991 , + [15236] = 0x6999 , + [15237] = 0x698E , + [15238] = 0x69A7 , + [15239] = 0x698D , + [15240] = 0x69A9 , + [15241] = 0x69BE , + [15242] = 0x69AF , + [15243] = 0x69BF , + [15244] = 0x69C4 , + [15245] = 0x69BD , + [15246] = 0x69A4 , + [15247] = 0x69D4 , + [15248] = 0x69B9 , + [15249] = 0x69CA , + [15250] = 0x699A , + [15251] = 0x69CF , + [15252] = 0x69B3 , + [15253] = 0x6993 , + [15254] = 0x69AA , + [15255] = 0x69A1 , + [15256] = 0x699E , + [15257] = 0x69D9 , + [15258] = 0x6997 , + [15259] = 0x6990 , + [15260] = 0x69C2 , + [15261] = 0x69B5 , + [15262] = 0x69A5 , + [15263] = 0x69C6 , + [15264] = 0x6B4A , + [15265] = 0x6B4D , + [15266] = 0x6B4B , + [15267] = 0x6B9E , + [15268] = 0x6B9F , + [15269] = 0x6BA0 , + [15270] = 0x6BC3 , + [15271] = 0x6BC4 , + [15272] = 0x6BFE , + [15273] = 0x6ECE , + [15274] = 0x6EF5 , + [15275] = 0x6EF1 , + [15276] = 0x6F03 , + [15277] = 0x6F25 , + [15278] = 0x6EF8 , + [15279] = 0x6F37 , + [15280] = 0x6EFB , + [15281] = 0x6F2E , + [15282] = 0x6F09 , + [15283] = 0x6F4E , + [15284] = 0x6F19 , + [15285] = 0x6F1A , + [15286] = 0x6F27 , + [15287] = 0x6F18 , + [15288] = 0x6F3B , + [15289] = 0x6F12 , + [15290] = 0x6EED , + [15291] = 0x6F0A , + [15292] = 0x6F36 , + [15293] = 0x6F73 , + [15294] = 0x6EF9 , + [15295] = 0x6EEE , + [15296] = 0x6F2D , + [15297] = 0x6F40 , + [15298] = 0x6F30 , + [15299] = 0x6F3C , + [15300] = 0x6F35 , + [15301] = 0x6EEB , + [15302] = 0x6F07 , + [15303] = 0x6F0E , + [15304] = 0x6F43 , + [15305] = 0x6F05 , + [15306] = 0x6EFD , + [15307] = 0x6EF6 , + [15308] = 0x6F39 , + [15309] = 0x6F1C , + [15310] = 0x6EFC , + [15311] = 0x6F3A , + [15312] = 0x6F1F , + [15313] = 0x6F0D , + [15314] = 0x6F1E , + [15315] = 0x6F08 , + [15316] = 0x6F21 , + [15317] = 0x7187 , + [15318] = 0x7190 , + [15319] = 0x7189 , + [15320] = 0x7180 , + [15321] = 0x7185 , + [15322] = 0x7182 , + [15323] = 0x718F , + [15324] = 0x717B , + [15325] = 0x7186 , + [15326] = 0x7181 , + [15327] = 0x7197 , + [15328] = 0x7244 , + [15329] = 0x7253 , + [15330] = 0x7297 , + [15331] = 0x7295 , + [15332] = 0x7293 , + [15333] = 0x7343 , + [15334] = 0x734D , + [15335] = 0x7351 , + [15336] = 0x734C , + [15337] = 0x7462 , + [15338] = 0x7473 , + [15339] = 0x7471 , + [15340] = 0x7475 , + [15341] = 0x7472 , + [15342] = 0x7467 , + [15343] = 0x746E , + [15344] = 0x7500 , + [15345] = 0x7502 , + [15346] = 0x7503 , + [15347] = 0x757D , + [15348] = 0x7590 , + [15349] = 0x7616 , + [15350] = 0x7608 , + [15351] = 0x760C , + [15352] = 0x7615 , + [15353] = 0x7611 , + [15354] = 0x760A , + [15355] = 0x7614 , + [15356] = 0x76B8 , + [15357] = 0x7781 , + [15358] = 0x777C , + [15359] = 0x7785 , + [15360] = 0x7782 , + [15361] = 0x776E , + [15362] = 0x7780 , + [15363] = 0x776F , + [15364] = 0x777E , + [15365] = 0x7783 , + [15366] = 0x78B2 , + [15367] = 0x78AA , + [15368] = 0x78B4 , + [15369] = 0x78AD , + [15370] = 0x78A8 , + [15371] = 0x787E , + [15372] = 0x78AB , + [15373] = 0x789E , + [15374] = 0x78A5 , + [15375] = 0x78A0 , + [15376] = 0x78AC , + [15377] = 0x78A2 , + [15378] = 0x78A4 , + [15379] = 0x7998 , + [15380] = 0x798A , + [15381] = 0x798B , + [15382] = 0x7996 , + [15383] = 0x7995 , + [15384] = 0x7994 , + [15385] = 0x7993 , + [15386] = 0x7997 , + [15387] = 0x7988 , + [15388] = 0x7992 , + [15389] = 0x7990 , + [15390] = 0x7A2B , + [15391] = 0x7A4A , + [15392] = 0x7A30 , + [15393] = 0x7A2F , + [15394] = 0x7A28 , + [15395] = 0x7A26 , + [15396] = 0x7AA8 , + [15397] = 0x7AAB , + [15398] = 0x7AAC , + [15399] = 0x7AEE , + [15400] = 0x7B88 , + [15401] = 0x7B9C , + [15402] = 0x7B8A , + [15403] = 0x7B91 , + [15404] = 0x7B90 , + [15405] = 0x7B96 , + [15406] = 0x7B8D , + [15407] = 0x7B8C , + [15408] = 0x7B9B , + [15409] = 0x7B8E , + [15410] = 0x7B85 , + [15411] = 0x7B98 , + [15412] = 0x5284 , + [15413] = 0x7B99 , + [15414] = 0x7BA4 , + [15415] = 0x7B82 , + [15416] = 0x7CBB , + [15417] = 0x7CBF , + [15418] = 0x7CBC , + [15419] = 0x7CBA , + [15420] = 0x7DA7 , + [15421] = 0x7DB7 , + [15422] = 0x7DC2 , + [15423] = 0x7DA3 , + [15424] = 0x7DAA , + [15425] = 0x7DC1 , + [15426] = 0x7DC0 , + [15427] = 0x7DC5 , + [15428] = 0x7D9D , + [15429] = 0x7DCE , + [15430] = 0x7DC4 , + [15431] = 0x7DC6 , + [15432] = 0x7DCB , + [15433] = 0x7DCC , + [15434] = 0x7DAF , + [15435] = 0x7DB9 , + [15436] = 0x7D96 , + [15437] = 0x7DBC , + [15438] = 0x7D9F , + [15439] = 0x7DA6 , + [15440] = 0x7DAE , + [15441] = 0x7DA9 , + [15442] = 0x7DA1 , + [15443] = 0x7DC9 , + [15444] = 0x7F73 , + [15445] = 0x7FE2 , + [15446] = 0x7FE3 , + [15447] = 0x7FE5 , + [15448] = 0x7FDE , + [15449] = 0x8024 , + [15450] = 0x805D , + [15451] = 0x805C , + [15452] = 0x8189 , + [15453] = 0x8186 , + [15454] = 0x8183 , + [15455] = 0x8187 , + [15456] = 0x818D , + [15457] = 0x818C , + [15458] = 0x818B , + [15459] = 0x8215 , + [15460] = 0x8497 , + [15461] = 0x84A4 , + [15462] = 0x84A1 , + [15463] = 0x849F , + [15464] = 0x84BA , + [15465] = 0x84CE , + [15466] = 0x84C2 , + [15467] = 0x84AC , + [15468] = 0x84AE , + [15469] = 0x84AB , + [15470] = 0x84B9 , + [15471] = 0x84B4 , + [15472] = 0x84C1 , + [15473] = 0x84CD , + [15474] = 0x84AA , + [15475] = 0x849A , + [15476] = 0x84B1 , + [15477] = 0x84D0 , + [15478] = 0x849D , + [15479] = 0x84A7 , + [15480] = 0x84BB , + [15481] = 0x84A2 , + [15482] = 0x8494 , + [15483] = 0x84C7 , + [15484] = 0x84CC , + [15485] = 0x849B , + [15486] = 0x84A9 , + [15487] = 0x84AF , + [15488] = 0x84A8 , + [15489] = 0x84D6 , + [15490] = 0x8498 , + [15491] = 0x84B6 , + [15492] = 0x84CF , + [15493] = 0x84A0 , + [15494] = 0x84D7 , + [15495] = 0x84D4 , + [15496] = 0x84D2 , + [15497] = 0x84DB , + [15498] = 0x84B0 , + [15499] = 0x8491 , + [15500] = 0x8661 , + [15501] = 0x8733 , + [15502] = 0x8723 , + [15503] = 0x8728 , + [15504] = 0x876B , + [15505] = 0x8740 , + [15506] = 0x872E , + [15507] = 0x871E , + [15508] = 0x8721 , + [15509] = 0x8719 , + [15510] = 0x871B , + [15511] = 0x8743 , + [15512] = 0x872C , + [15513] = 0x8741 , + [15514] = 0x873E , + [15515] = 0x8746 , + [15516] = 0x8720 , + [15517] = 0x8732 , + [15518] = 0x872A , + [15519] = 0x872D , + [15520] = 0x873C , + [15521] = 0x8712 , + [15522] = 0x873A , + [15523] = 0x8731 , + [15524] = 0x8735 , + [15525] = 0x8742 , + [15526] = 0x8726 , + [15527] = 0x8727 , + [15528] = 0x8738 , + [15529] = 0x8724 , + [15530] = 0x871A , + [15531] = 0x8730 , + [15532] = 0x8711 , + [15533] = 0x88F7 , + [15534] = 0x88E7 , + [15535] = 0x88F1 , + [15536] = 0x88F2 , + [15537] = 0x88FA , + [15538] = 0x88FE , + [15539] = 0x88EE , + [15540] = 0x88FC , + [15541] = 0x88F6 , + [15542] = 0x88FB , + [15543] = 0x88F0 , + [15544] = 0x88EC , + [15545] = 0x88EB , + [15546] = 0x899D , + [15547] = 0x89A1 , + [15548] = 0x899F , + [15549] = 0x899E , + [15550] = 0x89E9 , + [15551] = 0x89EB , + [15552] = 0x89E8 , + [15553] = 0x8AAB , + [15554] = 0x8A99 , + [15555] = 0x8A8B , + [15556] = 0x8A92 , + [15557] = 0x8A8F , + [15558] = 0x8A96 , + [15559] = 0x8C3D , + [15560] = 0x8C68 , + [15561] = 0x8C69 , + [15562] = 0x8CD5 , + [15563] = 0x8CCF , + [15564] = 0x8CD7 , + [15565] = 0x8D96 , + [15566] = 0x8E09 , + [15567] = 0x8E02 , + [15568] = 0x8DFF , + [15569] = 0x8E0D , + [15570] = 0x8DFD , + [15571] = 0x8E0A , + [15572] = 0x8E03 , + [15573] = 0x8E07 , + [15574] = 0x8E06 , + [15575] = 0x8E05 , + [15576] = 0x8DFE , + [15577] = 0x8E00 , + [15578] = 0x8E04 , + [15579] = 0x8F10 , + [15580] = 0x8F11 , + [15581] = 0x8F0E , + [15582] = 0x8F0D , + [15583] = 0x9123 , + [15584] = 0x911C , + [15585] = 0x9120 , + [15586] = 0x9122 , + [15587] = 0x911F , + [15588] = 0x911D , + [15589] = 0x911A , + [15590] = 0x9124 , + [15591] = 0x9121 , + [15592] = 0x911B , + [15593] = 0x917A , + [15594] = 0x9172 , + [15595] = 0x9179 , + [15596] = 0x9173 , + [15597] = 0x92A5 , + [15598] = 0x92A4 , + [15599] = 0x9276 , + [15600] = 0x929B , + [15601] = 0x927A , + [15602] = 0x92A0 , + [15603] = 0x9294 , + [15604] = 0x92AA , + [15605] = 0x928D , + [15606] = 0x92A6 , + [15607] = 0x929A , + [15608] = 0x92AB , + [15609] = 0x9279 , + [15610] = 0x9297 , + [15611] = 0x927F , + [15612] = 0x92A3 , + [15613] = 0x92EE , + [15614] = 0x928E , + [15615] = 0x9282 , + [15616] = 0x9295 , + [15617] = 0x92A2 , + [15618] = 0x927D , + [15619] = 0x9288 , + [15620] = 0x92A1 , + [15621] = 0x928A , + [15622] = 0x9286 , + [15623] = 0x928C , + [15624] = 0x9299 , + [15625] = 0x92A7 , + [15626] = 0x927E , + [15627] = 0x9287 , + [15628] = 0x92A9 , + [15629] = 0x929D , + [15630] = 0x928B , + [15631] = 0x922D , + [15632] = 0x969E , + [15633] = 0x96A1 , + [15634] = 0x96FF , + [15635] = 0x9758 , + [15636] = 0x977D , + [15637] = 0x977A , + [15638] = 0x977E , + [15639] = 0x9783 , + [15640] = 0x9780 , + [15641] = 0x9782 , + [15642] = 0x977B , + [15643] = 0x9784 , + [15644] = 0x9781 , + [15645] = 0x977F , + [15646] = 0x97CE , + [15647] = 0x97CD , + [15648] = 0x9816 , + [15649] = 0x98AD , + [15650] = 0x98AE , + [15651] = 0x9902 , + [15652] = 0x9900 , + [15653] = 0x9907 , + [15654] = 0x999D , + [15655] = 0x999C , + [15656] = 0x99C3 , + [15657] = 0x99B9 , + [15658] = 0x99BB , + [15659] = 0x99BA , + [15660] = 0x99C2 , + [15661] = 0x99BD , + [15662] = 0x99C7 , + [15663] = 0x9AB1 , + [15664] = 0x9AE3 , + [15665] = 0x9AE7 , + [15666] = 0x9B3E , + [15667] = 0x9B3F , + [15668] = 0x9B60 , + [15669] = 0x9B61 , + [15670] = 0x9B5F , + [15671] = 0x9CF1 , + [15672] = 0x9CF2 , + [15673] = 0x9CF5 , + [15674] = 0x9EA7 , + [15675] = 0x50FF , + [15676] = 0x5103 , + [15677] = 0x5130 , + [15678] = 0x50F8 , + [15679] = 0x5106 , + [15680] = 0x5107 , + [15681] = 0x50F6 , + [15682] = 0x50FE , + [15683] = 0x510B , + [15684] = 0x510C , + [15685] = 0x50FD , + [15686] = 0x510A , + [15687] = 0x528B , + [15688] = 0x528C , + [15689] = 0x52F1 , + [15690] = 0x52EF , + [15691] = 0x5648 , + [15692] = 0x5642 , + [15693] = 0x564C , + [15694] = 0x5635 , + [15695] = 0x5641 , + [15696] = 0x564A , + [15697] = 0x5649 , + [15698] = 0x5646 , + [15699] = 0x5658 , + [15700] = 0x565A , + [15701] = 0x5640 , + [15702] = 0x5633 , + [15703] = 0x563D , + [15704] = 0x562C , + [15705] = 0x563E , + [15706] = 0x5638 , + [15707] = 0x562A , + [15708] = 0x563A , + [15709] = 0x571A , + [15710] = 0x58AB , + [15711] = 0x589D , + [15712] = 0x58B1 , + [15713] = 0x58A0 , + [15714] = 0x58A3 , + [15715] = 0x58AF , + [15716] = 0x58AC , + [15717] = 0x58A5 , + [15718] = 0x58A1 , + [15719] = 0x58FF , + [15720] = 0x5AFF , + [15721] = 0x5AF4 , + [15722] = 0x5AFD , + [15723] = 0x5AF7 , + [15724] = 0x5AF6 , + [15725] = 0x5B03 , + [15726] = 0x5AF8 , + [15727] = 0x5B02 , + [15728] = 0x5AF9 , + [15729] = 0x5B01 , + [15730] = 0x5B07 , + [15731] = 0x5B05 , + [15732] = 0x5B0F , + [15733] = 0x5C67 , + [15734] = 0x5D99 , + [15735] = 0x5D97 , + [15736] = 0x5D9F , + [15737] = 0x5D92 , + [15738] = 0x5DA2 , + [15739] = 0x5D93 , + [15740] = 0x5D95 , + [15741] = 0x5DA0 , + [15742] = 0x5D9C , + [15743] = 0x5DA1 , + [15744] = 0x5D9A , + [15745] = 0x5D9E , + [15746] = 0x5E69 , + [15747] = 0x5E5D , + [15748] = 0x5E60 , + [15749] = 0x5E5C , + [15750] = 0x7DF3 , + [15751] = 0x5EDB , + [15752] = 0x5EDE , + [15753] = 0x5EE1 , + [15754] = 0x5F49 , + [15755] = 0x5FB2 , + [15756] = 0x618B , + [15757] = 0x6183 , + [15758] = 0x6179 , + [15759] = 0x61B1 , + [15760] = 0x61B0 , + [15761] = 0x61A2 , + [15762] = 0x6189 , + [15763] = 0x619B , + [15764] = 0x6193 , + [15765] = 0x61AF , + [15766] = 0x61AD , + [15767] = 0x619F , + [15768] = 0x6192 , + [15769] = 0x61AA , + [15770] = 0x61A1 , + [15771] = 0x618D , + [15772] = 0x6166 , + [15773] = 0x61B3 , + [15774] = 0x622D , + [15775] = 0x646E , + [15776] = 0x6470 , + [15777] = 0x6496 , + [15778] = 0x64A0 , + [15779] = 0x6485 , + [15780] = 0x6497 , + [15781] = 0x649C , + [15782] = 0x648F , + [15783] = 0x648B , + [15784] = 0x648A , + [15785] = 0x648C , + [15786] = 0x64A3 , + [15787] = 0x649F , + [15788] = 0x6468 , + [15789] = 0x64B1 , + [15790] = 0x6498 , + [15791] = 0x6576 , + [15792] = 0x657A , + [15793] = 0x6579 , + [15794] = 0x657B , + [15795] = 0x65B2 , + [15796] = 0x65B3 , + [15797] = 0x66B5 , + [15798] = 0x66B0 , + [15799] = 0x66A9 , + [15800] = 0x66B2 , + [15801] = 0x66B7 , + [15802] = 0x66AA , + [15803] = 0x66AF , + [15804] = 0x6A00 , + [15805] = 0x6A06 , + [15806] = 0x6A17 , + [15807] = 0x69E5 , + [15808] = 0x69F8 , + [15809] = 0x6A15 , + [15810] = 0x69F1 , + [15811] = 0x69E4 , + [15812] = 0x6A20 , + [15813] = 0x69FF , + [15814] = 0x69EC , + [15815] = 0x69E2 , + [15816] = 0x6A1B , + [15817] = 0x6A1D , + [15818] = 0x69FE , + [15819] = 0x6A27 , + [15820] = 0x69F2 , + [15821] = 0x69EE , + [15822] = 0x6A14 , + [15823] = 0x69F7 , + [15824] = 0x69E7 , + [15825] = 0x6A40 , + [15826] = 0x6A08 , + [15827] = 0x69E6 , + [15828] = 0x69FB , + [15829] = 0x6A0D , + [15830] = 0x69FC , + [15831] = 0x69EB , + [15832] = 0x6A09 , + [15833] = 0x6A04 , + [15834] = 0x6A18 , + [15835] = 0x6A25 , + [15836] = 0x6A0F , + [15837] = 0x69F6 , + [15838] = 0x6A26 , + [15839] = 0x6A07 , + [15840] = 0x69F4 , + [15841] = 0x6A16 , + [15842] = 0x6B51 , + [15843] = 0x6BA5 , + [15844] = 0x6BA3 , + [15845] = 0x6BA2 , + [15846] = 0x6BA6 , + [15847] = 0x6C01 , + [15848] = 0x6C00 , + [15849] = 0x6BFF , + [15850] = 0x6C02 , + [15851] = 0x6F41 , + [15852] = 0x6F26 , + [15853] = 0x6F7E , + [15854] = 0x6F87 , + [15855] = 0x6FC6 , + [15856] = 0x6F92 , + [15857] = 0x6F8D , + [15858] = 0x6F89 , + [15859] = 0x6F8C , + [15860] = 0x6F62 , + [15861] = 0x6F4F , + [15862] = 0x6F85 , + [15863] = 0x6F5A , + [15864] = 0x6F96 , + [15865] = 0x6F76 , + [15866] = 0x6F6C , + [15867] = 0x6F82 , + [15868] = 0x6F55 , + [15869] = 0x6F72 , + [15870] = 0x6F52 , + [15871] = 0x6F50 , + [15872] = 0x6F57 , + [15873] = 0x6F94 , + [15874] = 0x6F93 , + [15875] = 0x6F5D , + [15876] = 0x6F00 , + [15877] = 0x6F61 , + [15878] = 0x6F6B , + [15879] = 0x6F7D , + [15880] = 0x6F67 , + [15881] = 0x6F90 , + [15882] = 0x6F53 , + [15883] = 0x6F8B , + [15884] = 0x6F69 , + [15885] = 0x6F7F , + [15886] = 0x6F95 , + [15887] = 0x6F63 , + [15888] = 0x6F77 , + [15889] = 0x6F6A , + [15890] = 0x6F7B , + [15891] = 0x71B2 , + [15892] = 0x71AF , + [15893] = 0x719B , + [15894] = 0x71B0 , + [15895] = 0x71A0 , + [15896] = 0x719A , + [15897] = 0x71A9 , + [15898] = 0x71B5 , + [15899] = 0x719D , + [15900] = 0x71A5 , + [15901] = 0x719E , + [15902] = 0x71A4 , + [15903] = 0x71A1 , + [15904] = 0x71AA , + [15905] = 0x719C , + [15906] = 0x71A7 , + [15907] = 0x71B3 , + [15908] = 0x7298 , + [15909] = 0x729A , + [15910] = 0x7358 , + [15911] = 0x7352 , + [15912] = 0x735E , + [15913] = 0x735F , + [15914] = 0x7360 , + [15915] = 0x735D , + [15916] = 0x735B , + [15917] = 0x7361 , + [15918] = 0x735A , + [15919] = 0x7359 , + [15920] = 0x7362 , + [15921] = 0x7487 , + [15922] = 0x7489 , + [15923] = 0x748A , + [15924] = 0x7486 , + [15925] = 0x7481 , + [15926] = 0x747D , + [15927] = 0x7485 , + [15928] = 0x7488 , + [15929] = 0x747C , + [15930] = 0x7479 , + [15931] = 0x7508 , + [15932] = 0x7507 , + [15933] = 0x757E , + [15934] = 0x7625 , + [15935] = 0x761E , + [15936] = 0x7619 , + [15937] = 0x761D , + [15938] = 0x761C , + [15939] = 0x7623 , + [15940] = 0x761A , + [15941] = 0x7628 , + [15942] = 0x761B , + [15943] = 0x769C , + [15944] = 0x769D , + [15945] = 0x769E , + [15946] = 0x769B , + [15947] = 0x778D , + [15948] = 0x778F , + [15949] = 0x7789 , + [15950] = 0x7788 , + [15951] = 0x78CD , + [15952] = 0x78BB , + [15953] = 0x78CF , + [15954] = 0x78CC , + [15955] = 0x78D1 , + [15956] = 0x78CE , + [15957] = 0x78D4 , + [15958] = 0x78C8 , + [15959] = 0x78C3 , + [15960] = 0x78C4 , + [15961] = 0x78C9 , + [15962] = 0x799A , + [15963] = 0x79A1 , + [15964] = 0x79A0 , + [15965] = 0x799C , + [15966] = 0x79A2 , + [15967] = 0x799B , + [15968] = 0x6B76 , + [15969] = 0x7A39 , + [15970] = 0x7AB2 , + [15971] = 0x7AB4 , + [15972] = 0x7AB3 , + [15973] = 0x7BB7 , + [15974] = 0x7BCB , + [15975] = 0x7BBE , + [15976] = 0x7BAC , + [15977] = 0x7BCE , + [15978] = 0x7BAF , + [15979] = 0x7BB9 , + [15980] = 0x7BCA , + [15981] = 0x7BB5 , + [15982] = 0x7CC5 , + [15983] = 0x7CC8 , + [15984] = 0x7CCC , + [15985] = 0x7CCB , + [15986] = 0x7DF7 , + [15987] = 0x7DDB , + [15988] = 0x7DEA , + [15989] = 0x7DE7 , + [15990] = 0x7DD7 , + [15991] = 0x7DE1 , + [15992] = 0x7E03 , + [15993] = 0x7DFA , + [15994] = 0x7DE6 , + [15995] = 0x7DF6 , + [15996] = 0x7DF1 , + [15997] = 0x7DF0 , + [15998] = 0x7DEE , + [15999] = 0x7DDF , + [16000] = 0x7F76 , + [16001] = 0x7FAC , + [16002] = 0x7FB0 , + [16003] = 0x7FAD , + [16004] = 0x7FED , + [16005] = 0x7FEB , + [16006] = 0x7FEA , + [16007] = 0x7FEC , + [16008] = 0x7FE6 , + [16009] = 0x7FE8 , + [16010] = 0x8064 , + [16011] = 0x8067 , + [16012] = 0x81A3 , + [16013] = 0x819F , + [16014] = 0x819E , + [16015] = 0x8195 , + [16016] = 0x81A2 , + [16017] = 0x8199 , + [16018] = 0x8197 , + [16019] = 0x8216 , + [16020] = 0x824F , + [16021] = 0x8253 , + [16022] = 0x8252 , + [16023] = 0x8250 , + [16024] = 0x824E , + [16025] = 0x8251 , + [16026] = 0x8524 , + [16027] = 0x853B , + [16028] = 0x850F , + [16029] = 0x8500 , + [16030] = 0x8529 , + [16031] = 0x850E , + [16032] = 0x8509 , + [16033] = 0x850D , + [16034] = 0x851F , + [16035] = 0x850A , + [16036] = 0x8527 , + [16037] = 0x851C , + [16038] = 0x84FB , + [16039] = 0x852B , + [16040] = 0x84FA , + [16041] = 0x8508 , + [16042] = 0x850C , + [16043] = 0x84F4 , + [16044] = 0x852A , + [16045] = 0x84F2 , + [16046] = 0x8515 , + [16047] = 0x84F7 , + [16048] = 0x84EB , + [16049] = 0x84F3 , + [16050] = 0x84FC , + [16051] = 0x8512 , + [16052] = 0x84EA , + [16053] = 0x84E9 , + [16054] = 0x8516 , + [16055] = 0x84FE , + [16056] = 0x8528 , + [16057] = 0x851D , + [16058] = 0x852E , + [16059] = 0x8502 , + [16060] = 0x84FD , + [16061] = 0x851E , + [16062] = 0x84F6 , + [16063] = 0x8531 , + [16064] = 0x8526 , + [16065] = 0x84E7 , + [16066] = 0x84E8 , + [16067] = 0x84F0 , + [16068] = 0x84EF , + [16069] = 0x84F9 , + [16070] = 0x8518 , + [16071] = 0x8520 , + [16072] = 0x8530 , + [16073] = 0x850B , + [16074] = 0x8519 , + [16075] = 0x852F , + [16076] = 0x8662 , + [16077] = 0x8756 , + [16078] = 0x8763 , + [16079] = 0x8764 , + [16080] = 0x8777 , + [16081] = 0x87E1 , + [16082] = 0x8773 , + [16083] = 0x8758 , + [16084] = 0x8754 , + [16085] = 0x875B , + [16086] = 0x8752 , + [16087] = 0x8761 , + [16088] = 0x875A , + [16089] = 0x8751 , + [16090] = 0x875E , + [16091] = 0x876D , + [16092] = 0x876A , + [16093] = 0x8750 , + [16094] = 0x874E , + [16095] = 0x875F , + [16096] = 0x875D , + [16097] = 0x876F , + [16098] = 0x876C , + [16099] = 0x877A , + [16100] = 0x876E , + [16101] = 0x875C , + [16102] = 0x8765 , + [16103] = 0x874F , + [16104] = 0x877B , + [16105] = 0x8775 , + [16106] = 0x8762 , + [16107] = 0x8767 , + [16108] = 0x8769 , + [16109] = 0x885A , + [16110] = 0x8905 , + [16111] = 0x890C , + [16112] = 0x8914 , + [16113] = 0x890B , + [16114] = 0x8917 , + [16115] = 0x8918 , + [16116] = 0x8919 , + [16117] = 0x8906 , + [16118] = 0x8916 , + [16119] = 0x8911 , + [16120] = 0x890E , + [16121] = 0x8909 , + [16122] = 0x89A2 , + [16123] = 0x89A4 , + [16124] = 0x89A3 , + [16125] = 0x89ED , + [16126] = 0x89F0 , + [16127] = 0x89EC , + [16128] = 0x8ACF , + [16129] = 0x8AC6 , + [16130] = 0x8AB8 , + [16131] = 0x8AD3 , + [16132] = 0x8AD1 , + [16133] = 0x8AD4 , + [16134] = 0x8AD5 , + [16135] = 0x8ABB , + [16136] = 0x8AD7 , + [16137] = 0x8ABE , + [16138] = 0x8AC0 , + [16139] = 0x8AC5 , + [16140] = 0x8AD8 , + [16141] = 0x8AC3 , + [16142] = 0x8ABA , + [16143] = 0x8ABD , + [16144] = 0x8AD9 , + [16145] = 0x8C3E , + [16146] = 0x8C4D , + [16147] = 0x8C8F , + [16148] = 0x8CE5 , + [16149] = 0x8CDF , + [16150] = 0x8CD9 , + [16151] = 0x8CE8 , + [16152] = 0x8CDA , + [16153] = 0x8CDD , + [16154] = 0x8CE7 , + [16155] = 0x8DA0 , + [16156] = 0x8D9C , + [16157] = 0x8DA1 , + [16158] = 0x8D9B , + [16159] = 0x8E20 , + [16160] = 0x8E23 , + [16161] = 0x8E25 , + [16162] = 0x8E24 , + [16163] = 0x8E2E , + [16164] = 0x8E15 , + [16165] = 0x8E1B , + [16166] = 0x8E16 , + [16167] = 0x8E11 , + [16168] = 0x8E19 , + [16169] = 0x8E26 , + [16170] = 0x8E27 , + [16171] = 0x8E14 , + [16172] = 0x8E12 , + [16173] = 0x8E18 , + [16174] = 0x8E13 , + [16175] = 0x8E1C , + [16176] = 0x8E17 , + [16177] = 0x8E1A , + [16178] = 0x8F2C , + [16179] = 0x8F24 , + [16180] = 0x8F18 , + [16181] = 0x8F1A , + [16182] = 0x8F20 , + [16183] = 0x8F23 , + [16184] = 0x8F16 , + [16185] = 0x8F17 , + [16186] = 0x9073 , + [16187] = 0x9070 , + [16188] = 0x906F , + [16189] = 0x9067 , + [16190] = 0x906B , + [16191] = 0x912F , + [16192] = 0x912B , + [16193] = 0x9129 , + [16194] = 0x912A , + [16195] = 0x9132 , + [16196] = 0x9126 , + [16197] = 0x912E , + [16198] = 0x9185 , + [16199] = 0x9186 , + [16200] = 0x918A , + [16201] = 0x9181 , + [16202] = 0x9182 , + [16203] = 0x9184 , + [16204] = 0x9180 , + [16205] = 0x92D0 , + [16206] = 0x92C3 , + [16207] = 0x92C4 , + [16208] = 0x92C0 , + [16209] = 0x92D9 , + [16210] = 0x92B6 , + [16211] = 0x92CF , + [16212] = 0x92F1 , + [16213] = 0x92DF , + [16214] = 0x92D8 , + [16215] = 0x92E9 , + [16216] = 0x92D7 , + [16217] = 0x92DD , + [16218] = 0x92CC , + [16219] = 0x92EF , + [16220] = 0x92C2 , + [16221] = 0x92E8 , + [16222] = 0x92CA , + [16223] = 0x92C8 , + [16224] = 0x92CE , + [16225] = 0x92E6 , + [16226] = 0x92CD , + [16227] = 0x92D5 , + [16228] = 0x92C9 , + [16229] = 0x92E0 , + [16230] = 0x92DE , + [16231] = 0x92E7 , + [16232] = 0x92D1 , + [16233] = 0x92D3 , + [16234] = 0x92B5 , + [16235] = 0x92E1 , + [16236] = 0x92C6 , + [16237] = 0x92B4 , + [16238] = 0x957C , + [16239] = 0x95AC , + [16240] = 0x95AB , + [16241] = 0x95AE , + [16242] = 0x95B0 , + [16243] = 0x96A4 , + [16244] = 0x96A2 , + [16245] = 0x96D3 , + [16246] = 0x9705 , + [16247] = 0x9708 , + [16248] = 0x9702 , + [16249] = 0x975A , + [16250] = 0x978A , + [16251] = 0x978E , + [16252] = 0x9788 , + [16253] = 0x97D0 , + [16254] = 0x97CF , + [16255] = 0x981E , + [16256] = 0x981D , + [16257] = 0x9826 , + [16258] = 0x9829 , + [16259] = 0x9828 , + [16260] = 0x9820 , + [16261] = 0x981B , + [16262] = 0x9827 , + [16263] = 0x98B2 , + [16264] = 0x9908 , + [16265] = 0x98FA , + [16266] = 0x9911 , + [16267] = 0x9914 , + [16268] = 0x9916 , + [16269] = 0x9917 , + [16270] = 0x9915 , + [16271] = 0x99DC , + [16272] = 0x99CD , + [16273] = 0x99CF , + [16274] = 0x99D3 , + [16275] = 0x99D4 , + [16276] = 0x99CE , + [16277] = 0x99C9 , + [16278] = 0x99D6 , + [16279] = 0x99D8 , + [16280] = 0x99CB , + [16281] = 0x99D7 , + [16282] = 0x99CC , + [16283] = 0x9AB3 , + [16284] = 0x9AEC , + [16285] = 0x9AEB , + [16286] = 0x9AF3 , + [16287] = 0x9AF2 , + [16288] = 0x9AF1 , + [16289] = 0x9B46 , + [16290] = 0x9B43 , + [16291] = 0x9B67 , + [16292] = 0x9B74 , + [16293] = 0x9B71 , + [16294] = 0x9B66 , + [16295] = 0x9B76 , + [16296] = 0x9B75 , + [16297] = 0x9B70 , + [16298] = 0x9B68 , + [16299] = 0x9B64 , + [16300] = 0x9B6C , + [16301] = 0x9CFC , + [16302] = 0x9CFA , + [16303] = 0x9CFD , + [16304] = 0x9CFF , + [16305] = 0x9CF7 , + [16306] = 0x9D07 , + [16307] = 0x9D00 , + [16308] = 0x9CF9 , + [16309] = 0x9CFB , + [16310] = 0x9D08 , + [16311] = 0x9D05 , + [16312] = 0x9D04 , + [16313] = 0x9E83 , + [16314] = 0x9ED3 , + [16315] = 0x9F0F , + [16316] = 0x9F10 , + [16317] = 0x511C , + [16318] = 0x5113 , + [16319] = 0x5117 , + [16320] = 0x511A , + [16321] = 0x5111 , + [16322] = 0x51DE , + [16323] = 0x5334 , + [16324] = 0x53E1 , + [16325] = 0x5670 , + [16326] = 0x5660 , + [16327] = 0x566E , + [16328] = 0x5673 , + [16329] = 0x5666 , + [16330] = 0x5663 , + [16331] = 0x566D , + [16332] = 0x5672 , + [16333] = 0x565E , + [16334] = 0x5677 , + [16335] = 0x571C , + [16336] = 0x571B , + [16337] = 0x58C8 , + [16338] = 0x58BD , + [16339] = 0x58C9 , + [16340] = 0x58BF , + [16341] = 0x58BA , + [16342] = 0x58C2 , + [16343] = 0x58BC , + [16344] = 0x58C6 , + [16345] = 0x5B17 , + [16346] = 0x5B19 , + [16347] = 0x5B1B , + [16348] = 0x5B21 , + [16349] = 0x5B14 , + [16350] = 0x5B13 , + [16351] = 0x5B10 , + [16352] = 0x5B16 , + [16353] = 0x5B28 , + [16354] = 0x5B1A , + [16355] = 0x5B20 , + [16356] = 0x5B1E , + [16357] = 0x5BEF , + [16358] = 0x5DAC , + [16359] = 0x5DB1 , + [16360] = 0x5DA9 , + [16361] = 0x5DA7 , + [16362] = 0x5DB5 , + [16363] = 0x5DB0 , + [16364] = 0x5DAE , + [16365] = 0x5DAA , + [16366] = 0x5DA8 , + [16367] = 0x5DB2 , + [16368] = 0x5DAD , + [16369] = 0x5DAF , + [16370] = 0x5DB4 , + [16371] = 0x5E67 , + [16372] = 0x5E68 , + [16373] = 0x5E66 , + [16374] = 0x5E6F , + [16375] = 0x5EE9 , + [16376] = 0x5EE7 , + [16377] = 0x5EE6 , + [16378] = 0x5EE8 , + [16379] = 0x5EE5 , + [16380] = 0x5F4B , + [16381] = 0x5FBC , + [16382] = 0x619D , + [16383] = 0x61A8 , + [16384] = 0x6196 , + [16385] = 0x61C5 , + [16386] = 0x61B4 , + [16387] = 0x61C6 , + [16388] = 0x61C1 , + [16389] = 0x61CC , + [16390] = 0x61BA , + [16391] = 0x61BF , + [16392] = 0x61B8 , + [16393] = 0x618C , + [16394] = 0x64D7 , + [16395] = 0x64D6 , + [16396] = 0x64D0 , + [16397] = 0x64CF , + [16398] = 0x64C9 , + [16399] = 0x64BD , + [16400] = 0x6489 , + [16401] = 0x64C3 , + [16402] = 0x64DB , + [16403] = 0x64F3 , + [16404] = 0x64D9 , + [16405] = 0x6533 , + [16406] = 0x657F , + [16407] = 0x657C , + [16408] = 0x65A2 , + [16409] = 0x66C8 , + [16410] = 0x66BE , + [16411] = 0x66C0 , + [16412] = 0x66CA , + [16413] = 0x66CB , + [16414] = 0x66CF , + [16415] = 0x66BD , + [16416] = 0x66BB , + [16417] = 0x66BA , + [16418] = 0x66CC , + [16419] = 0x6723 , + [16420] = 0x6A34 , + [16421] = 0x6A66 , + [16422] = 0x6A49 , + [16423] = 0x6A67 , + [16424] = 0x6A32 , + [16425] = 0x6A68 , + [16426] = 0x6A3E , + [16427] = 0x6A5D , + [16428] = 0x6A6D , + [16429] = 0x6A76 , + [16430] = 0x6A5B , + [16431] = 0x6A51 , + [16432] = 0x6A28 , + [16433] = 0x6A5A , + [16434] = 0x6A3B , + [16435] = 0x6A3F , + [16436] = 0x6A41 , + [16437] = 0x6A6A , + [16438] = 0x6A64 , + [16439] = 0x6A50 , + [16440] = 0x6A4F , + [16441] = 0x6A54 , + [16442] = 0x6A6F , + [16443] = 0x6A69 , + [16444] = 0x6A60 , + [16445] = 0x6A3C , + [16446] = 0x6A5E , + [16447] = 0x6A56 , + [16448] = 0x6A55 , + [16449] = 0x6A4D , + [16450] = 0x6A4E , + [16451] = 0x6A46 , + [16452] = 0x6B55 , + [16453] = 0x6B54 , + [16454] = 0x6B56 , + [16455] = 0x6BA7 , + [16456] = 0x6BAA , + [16457] = 0x6BAB , + [16458] = 0x6BC8 , + [16459] = 0x6BC7 , + [16460] = 0x6C04 , + [16461] = 0x6C03 , + [16462] = 0x6C06 , + [16463] = 0x6FAD , + [16464] = 0x6FCB , + [16465] = 0x6FA3 , + [16466] = 0x6FC7 , + [16467] = 0x6FBC , + [16468] = 0x6FCE , + [16469] = 0x6FC8 , + [16470] = 0x6F5E , + [16471] = 0x6FC4 , + [16472] = 0x6FBD , + [16473] = 0x6F9E , + [16474] = 0x6FCA , + [16475] = 0x6FA8 , + [16476] = 0x7004 , + [16477] = 0x6FA5 , + [16478] = 0x6FAE , + [16479] = 0x6FBA , + [16480] = 0x6FAC , + [16481] = 0x6FAA , + [16482] = 0x6FCF , + [16483] = 0x6FBF , + [16484] = 0x6FB8 , + [16485] = 0x6FA2 , + [16486] = 0x6FC9 , + [16487] = 0x6FAB , + [16488] = 0x6FCD , + [16489] = 0x6FAF , + [16490] = 0x6FB2 , + [16491] = 0x6FB0 , + [16492] = 0x71C5 , + [16493] = 0x71C2 , + [16494] = 0x71BF , + [16495] = 0x71B8 , + [16496] = 0x71D6 , + [16497] = 0x71C0 , + [16498] = 0x71C1 , + [16499] = 0x71CB , + [16500] = 0x71D4 , + [16501] = 0x71CA , + [16502] = 0x71C7 , + [16503] = 0x71CF , + [16504] = 0x71BD , + [16505] = 0x71D8 , + [16506] = 0x71BC , + [16507] = 0x71C6 , + [16508] = 0x71DA , + [16509] = 0x71DB , + [16510] = 0x729D , + [16511] = 0x729E , + [16512] = 0x7369 , + [16513] = 0x7366 , + [16514] = 0x7367 , + [16515] = 0x736C , + [16516] = 0x7365 , + [16517] = 0x736B , + [16518] = 0x736A , + [16519] = 0x747F , + [16520] = 0x749A , + [16521] = 0x74A0 , + [16522] = 0x7494 , + [16523] = 0x7492 , + [16524] = 0x7495 , + [16525] = 0x74A1 , + [16526] = 0x750B , + [16527] = 0x7580 , + [16528] = 0x762F , + [16529] = 0x762D , + [16530] = 0x7631 , + [16531] = 0x763D , + [16532] = 0x7633 , + [16533] = 0x763C , + [16534] = 0x7635 , + [16535] = 0x7632 , + [16536] = 0x7630 , + [16537] = 0x76BB , + [16538] = 0x76E6 , + [16539] = 0x779A , + [16540] = 0x779D , + [16541] = 0x77A1 , + [16542] = 0x779C , + [16543] = 0x779B , + [16544] = 0x77A2 , + [16545] = 0x77A3 , + [16546] = 0x7795 , + [16547] = 0x7799 , + [16548] = 0x7797 , + [16549] = 0x78DD , + [16550] = 0x78E9 , + [16551] = 0x78E5 , + [16552] = 0x78EA , + [16553] = 0x78DE , + [16554] = 0x78E3 , + [16555] = 0x78DB , + [16556] = 0x78E1 , + [16557] = 0x78E2 , + [16558] = 0x78ED , + [16559] = 0x78DF , + [16560] = 0x78E0 , + [16561] = 0x79A4 , + [16562] = 0x7A44 , + [16563] = 0x7A48 , + [16564] = 0x7A47 , + [16565] = 0x7AB6 , + [16566] = 0x7AB8 , + [16567] = 0x7AB5 , + [16568] = 0x7AB1 , + [16569] = 0x7AB7 , + [16570] = 0x7BDE , + [16571] = 0x7BE3 , + [16572] = 0x7BE7 , + [16573] = 0x7BDD , + [16574] = 0x7BD5 , + [16575] = 0x7BE5 , + [16576] = 0x7BDA , + [16577] = 0x7BE8 , + [16578] = 0x7BF9 , + [16579] = 0x7BD4 , + [16580] = 0x7BEA , + [16581] = 0x7BE2 , + [16582] = 0x7BDC , + [16583] = 0x7BEB , + [16584] = 0x7BD8 , + [16585] = 0x7BDF , + [16586] = 0x7CD2 , + [16587] = 0x7CD4 , + [16588] = 0x7CD7 , + [16589] = 0x7CD0 , + [16590] = 0x7CD1 , + [16591] = 0x7E12 , + [16592] = 0x7E21 , + [16593] = 0x7E17 , + [16594] = 0x7E0C , + [16595] = 0x7E1F , + [16596] = 0x7E20 , + [16597] = 0x7E13 , + [16598] = 0x7E0E , + [16599] = 0x7E1C , + [16600] = 0x7E15 , + [16601] = 0x7E1A , + [16602] = 0x7E22 , + [16603] = 0x7E0B , + [16604] = 0x7E0F , + [16605] = 0x7E16 , + [16606] = 0x7E0D , + [16607] = 0x7E14 , + [16608] = 0x7E25 , + [16609] = 0x7E24 , + [16610] = 0x7F43 , + [16611] = 0x7F7B , + [16612] = 0x7F7C , + [16613] = 0x7F7A , + [16614] = 0x7FB1 , + [16615] = 0x7FEF , + [16616] = 0x802A , + [16617] = 0x8029 , + [16618] = 0x806C , + [16619] = 0x81B1 , + [16620] = 0x81A6 , + [16621] = 0x81AE , + [16622] = 0x81B9 , + [16623] = 0x81B5 , + [16624] = 0x81AB , + [16625] = 0x81B0 , + [16626] = 0x81AC , + [16627] = 0x81B4 , + [16628] = 0x81B2 , + [16629] = 0x81B7 , + [16630] = 0x81A7 , + [16631] = 0x81F2 , + [16632] = 0x8255 , + [16633] = 0x8256 , + [16634] = 0x8257 , + [16635] = 0x8556 , + [16636] = 0x8545 , + [16637] = 0x856B , + [16638] = 0x854D , + [16639] = 0x8553 , + [16640] = 0x8561 , + [16641] = 0x8558 , + [16642] = 0x8540 , + [16643] = 0x8546 , + [16644] = 0x8564 , + [16645] = 0x8541 , + [16646] = 0x8562 , + [16647] = 0x8544 , + [16648] = 0x8551 , + [16649] = 0x8547 , + [16650] = 0x8563 , + [16651] = 0x853E , + [16652] = 0x855B , + [16653] = 0x8571 , + [16654] = 0x854E , + [16655] = 0x856E , + [16656] = 0x8575 , + [16657] = 0x8555 , + [16658] = 0x8567 , + [16659] = 0x8560 , + [16660] = 0x858C , + [16661] = 0x8566 , + [16662] = 0x855D , + [16663] = 0x8554 , + [16664] = 0x8565 , + [16665] = 0x856C , + [16666] = 0x8663 , + [16667] = 0x8665 , + [16668] = 0x8664 , + [16669] = 0x879B , + [16670] = 0x878F , + [16671] = 0x8797 , + [16672] = 0x8793 , + [16673] = 0x8792 , + [16674] = 0x8788 , + [16675] = 0x8781 , + [16676] = 0x8796 , + [16677] = 0x8798 , + [16678] = 0x8779 , + [16679] = 0x8787 , + [16680] = 0x87A3 , + [16681] = 0x8785 , + [16682] = 0x8790 , + [16683] = 0x8791 , + [16684] = 0x879D , + [16685] = 0x8784 , + [16686] = 0x8794 , + [16687] = 0x879C , + [16688] = 0x879A , + [16689] = 0x8789 , + [16690] = 0x891E , + [16691] = 0x8926 , + [16692] = 0x8930 , + [16693] = 0x892D , + [16694] = 0x892E , + [16695] = 0x8927 , + [16696] = 0x8931 , + [16697] = 0x8922 , + [16698] = 0x8929 , + [16699] = 0x8923 , + [16700] = 0x892F , + [16701] = 0x892C , + [16702] = 0x891F , + [16703] = 0x89F1 , + [16704] = 0x8AE0 , + [16705] = 0x8AE2 , + [16706] = 0x8AF2 , + [16707] = 0x8AF4 , + [16708] = 0x8AF5 , + [16709] = 0x8ADD , + [16710] = 0x8B14 , + [16711] = 0x8AE4 , + [16712] = 0x8ADF , + [16713] = 0x8AF0 , + [16714] = 0x8AC8 , + [16715] = 0x8ADE , + [16716] = 0x8AE1 , + [16717] = 0x8AE8 , + [16718] = 0x8AFF , + [16719] = 0x8AEF , + [16720] = 0x8AFB , + [16721] = 0x8C91 , + [16722] = 0x8C92 , + [16723] = 0x8C90 , + [16724] = 0x8CF5 , + [16725] = 0x8CEE , + [16726] = 0x8CF1 , + [16727] = 0x8CF0 , + [16728] = 0x8CF3 , + [16729] = 0x8D6C , + [16730] = 0x8D6E , + [16731] = 0x8DA5 , + [16732] = 0x8DA7 , + [16733] = 0x8E33 , + [16734] = 0x8E3E , + [16735] = 0x8E38 , + [16736] = 0x8E40 , + [16737] = 0x8E45 , + [16738] = 0x8E36 , + [16739] = 0x8E3C , + [16740] = 0x8E3D , + [16741] = 0x8E41 , + [16742] = 0x8E30 , + [16743] = 0x8E3F , + [16744] = 0x8EBD , + [16745] = 0x8F36 , + [16746] = 0x8F2E , + [16747] = 0x8F35 , + [16748] = 0x8F32 , + [16749] = 0x8F39 , + [16750] = 0x8F37 , + [16751] = 0x8F34 , + [16752] = 0x9076 , + [16753] = 0x9079 , + [16754] = 0x907B , + [16755] = 0x9086 , + [16756] = 0x90FA , + [16757] = 0x9133 , + [16758] = 0x9135 , + [16759] = 0x9136 , + [16760] = 0x9193 , + [16761] = 0x9190 , + [16762] = 0x9191 , + [16763] = 0x918D , + [16764] = 0x918F , + [16765] = 0x9327 , + [16766] = 0x931E , + [16767] = 0x9308 , + [16768] = 0x931F , + [16769] = 0x9306 , + [16770] = 0x930F , + [16771] = 0x937A , + [16772] = 0x9338 , + [16773] = 0x933C , + [16774] = 0x931B , + [16775] = 0x9323 , + [16776] = 0x9312 , + [16777] = 0x9301 , + [16778] = 0x9346 , + [16779] = 0x932D , + [16780] = 0x930E , + [16781] = 0x930D , + [16782] = 0x92CB , + [16783] = 0x931D , + [16784] = 0x92FA , + [16785] = 0x9325 , + [16786] = 0x9313 , + [16787] = 0x92F9 , + [16788] = 0x92F7 , + [16789] = 0x9334 , + [16790] = 0x9302 , + [16791] = 0x9324 , + [16792] = 0x92FF , + [16793] = 0x9329 , + [16794] = 0x9339 , + [16795] = 0x9335 , + [16796] = 0x932A , + [16797] = 0x9314 , + [16798] = 0x930C , + [16799] = 0x930B , + [16800] = 0x92FE , + [16801] = 0x9309 , + [16802] = 0x9300 , + [16803] = 0x92FB , + [16804] = 0x9316 , + [16805] = 0x95BC , + [16806] = 0x95CD , + [16807] = 0x95BE , + [16808] = 0x95B9 , + [16809] = 0x95BA , + [16810] = 0x95B6 , + [16811] = 0x95BF , + [16812] = 0x95B5 , + [16813] = 0x95BD , + [16814] = 0x96A9 , + [16815] = 0x96D4 , + [16816] = 0x970B , + [16817] = 0x9712 , + [16818] = 0x9710 , + [16819] = 0x9799 , + [16820] = 0x9797 , + [16821] = 0x9794 , + [16822] = 0x97F0 , + [16823] = 0x97F8 , + [16824] = 0x9835 , + [16825] = 0x982F , + [16826] = 0x9832 , + [16827] = 0x9924 , + [16828] = 0x991F , + [16829] = 0x9927 , + [16830] = 0x9929 , + [16831] = 0x999E , + [16832] = 0x99EE , + [16833] = 0x99EC , + [16834] = 0x99E5 , + [16835] = 0x99E4 , + [16836] = 0x99F0 , + [16837] = 0x99E3 , + [16838] = 0x99EA , + [16839] = 0x99E9 , + [16840] = 0x99E7 , + [16841] = 0x9AB9 , + [16842] = 0x9ABF , + [16843] = 0x9AB4 , + [16844] = 0x9ABB , + [16845] = 0x9AF6 , + [16846] = 0x9AFA , + [16847] = 0x9AF9 , + [16848] = 0x9AF7 , + [16849] = 0x9B33 , + [16850] = 0x9B80 , + [16851] = 0x9B85 , + [16852] = 0x9B87 , + [16853] = 0x9B7C , + [16854] = 0x9B7E , + [16855] = 0x9B7B , + [16856] = 0x9B82 , + [16857] = 0x9B93 , + [16858] = 0x9B92 , + [16859] = 0x9B90 , + [16860] = 0x9B7A , + [16861] = 0x9B95 , + [16862] = 0x9B7D , + [16863] = 0x9B88 , + [16864] = 0x9D25 , + [16865] = 0x9D17 , + [16866] = 0x9D20 , + [16867] = 0x9D1E , + [16868] = 0x9D14 , + [16869] = 0x9D29 , + [16870] = 0x9D1D , + [16871] = 0x9D18 , + [16872] = 0x9D22 , + [16873] = 0x9D10 , + [16874] = 0x9D19 , + [16875] = 0x9D1F , + [16876] = 0x9E88 , + [16877] = 0x9E86 , + [16878] = 0x9E87 , + [16879] = 0x9EAE , + [16880] = 0x9EAD , + [16881] = 0x9ED5 , + [16882] = 0x9ED6 , + [16883] = 0x9EFA , + [16884] = 0x9F12 , + [16885] = 0x9F3D , + [16886] = 0x5126 , + [16887] = 0x5125 , + [16888] = 0x5122 , + [16889] = 0x5124 , + [16890] = 0x5120 , + [16891] = 0x5129 , + [16892] = 0x52F4 , + [16893] = 0x5693 , + [16894] = 0x568C , + [16895] = 0x568D , + [16896] = 0x5686 , + [16897] = 0x5684 , + [16898] = 0x5683 , + [16899] = 0x567E , + [16900] = 0x5682 , + [16901] = 0x567F , + [16902] = 0x5681 , + [16903] = 0x58D6 , + [16904] = 0x58D4 , + [16905] = 0x58CF , + [16906] = 0x58D2 , + [16907] = 0x5B2D , + [16908] = 0x5B25 , + [16909] = 0x5B32 , + [16910] = 0x5B23 , + [16911] = 0x5B2C , + [16912] = 0x5B27 , + [16913] = 0x5B26 , + [16914] = 0x5B2F , + [16915] = 0x5B2E , + [16916] = 0x5B7B , + [16917] = 0x5BF1 , + [16918] = 0x5BF2 , + [16919] = 0x5DB7 , + [16920] = 0x5E6C , + [16921] = 0x5E6A , + [16922] = 0x5FBE , + [16923] = 0x5FBB , + [16924] = 0x61C3 , + [16925] = 0x61B5 , + [16926] = 0x61BC , + [16927] = 0x61E7 , + [16928] = 0x61E0 , + [16929] = 0x61E5 , + [16930] = 0x61E4 , + [16931] = 0x61E8 , + [16932] = 0x61DE , + [16933] = 0x64EF , + [16934] = 0x64E9 , + [16935] = 0x64E3 , + [16936] = 0x64EB , + [16937] = 0x64E4 , + [16938] = 0x64E8 , + [16939] = 0x6581 , + [16940] = 0x6580 , + [16941] = 0x65B6 , + [16942] = 0x65DA , + [16943] = 0x66D2 , + [16944] = 0x6A8D , + [16945] = 0x6A96 , + [16946] = 0x6A81 , + [16947] = 0x6AA5 , + [16948] = 0x6A89 , + [16949] = 0x6A9F , + [16950] = 0x6A9B , + [16951] = 0x6AA1 , + [16952] = 0x6A9E , + [16953] = 0x6A87 , + [16954] = 0x6A93 , + [16955] = 0x6A8E , + [16956] = 0x6A95 , + [16957] = 0x6A83 , + [16958] = 0x6AA8 , + [16959] = 0x6AA4 , + [16960] = 0x6A91 , + [16961] = 0x6A7F , + [16962] = 0x6AA6 , + [16963] = 0x6A9A , + [16964] = 0x6A85 , + [16965] = 0x6A8C , + [16966] = 0x6A92 , + [16967] = 0x6B5B , + [16968] = 0x6BAD , + [16969] = 0x6C09 , + [16970] = 0x6FCC , + [16971] = 0x6FA9 , + [16972] = 0x6FF4 , + [16973] = 0x6FD4 , + [16974] = 0x6FE3 , + [16975] = 0x6FDC , + [16976] = 0x6FED , + [16977] = 0x6FE7 , + [16978] = 0x6FE6 , + [16979] = 0x6FDE , + [16980] = 0x6FF2 , + [16981] = 0x6FDD , + [16982] = 0x6FE2 , + [16983] = 0x6FE8 , + [16984] = 0x71E1 , + [16985] = 0x71F1 , + [16986] = 0x71E8 , + [16987] = 0x71F2 , + [16988] = 0x71E4 , + [16989] = 0x71F0 , + [16990] = 0x71E2 , + [16991] = 0x7373 , + [16992] = 0x736E , + [16993] = 0x736F , + [16994] = 0x7497 , + [16995] = 0x74B2 , + [16996] = 0x74AB , + [16997] = 0x7490 , + [16998] = 0x74AA , + [16999] = 0x74AD , + [17000] = 0x74B1 , + [17001] = 0x74A5 , + [17002] = 0x74AF , + [17003] = 0x7510 , + [17004] = 0x7511 , + [17005] = 0x7512 , + [17006] = 0x750F , + [17007] = 0x7584 , + [17008] = 0x7643 , + [17009] = 0x7648 , + [17010] = 0x7649 , + [17011] = 0x7647 , + [17012] = 0x76A4 , + [17013] = 0x76E9 , + [17014] = 0x77B5 , + [17015] = 0x77AB , + [17016] = 0x77B2 , + [17017] = 0x77B7 , + [17018] = 0x77B6 , + [17019] = 0x77B4 , + [17020] = 0x77B1 , + [17021] = 0x77A8 , + [17022] = 0x77F0 , + [17023] = 0x78F3 , + [17024] = 0x78FD , + [17025] = 0x7902 , + [17026] = 0x78FB , + [17027] = 0x78FC , + [17028] = 0x78F2 , + [17029] = 0x7905 , + [17030] = 0x78F9 , + [17031] = 0x78FE , + [17032] = 0x7904 , + [17033] = 0x79AB , + [17034] = 0x79A8 , + [17035] = 0x7A5C , + [17036] = 0x7A5B , + [17037] = 0x7A56 , + [17038] = 0x7A58 , + [17039] = 0x7A54 , + [17040] = 0x7A5A , + [17041] = 0x7ABE , + [17042] = 0x7AC0 , + [17043] = 0x7AC1 , + [17044] = 0x7C05 , + [17045] = 0x7C0F , + [17046] = 0x7BF2 , + [17047] = 0x7C00 , + [17048] = 0x7BFF , + [17049] = 0x7BFB , + [17050] = 0x7C0E , + [17051] = 0x7BF4 , + [17052] = 0x7C0B , + [17053] = 0x7BF3 , + [17054] = 0x7C02 , + [17055] = 0x7C09 , + [17056] = 0x7C03 , + [17057] = 0x7C01 , + [17058] = 0x7BF8 , + [17059] = 0x7BFD , + [17060] = 0x7C06 , + [17061] = 0x7BF0 , + [17062] = 0x7BF1 , + [17063] = 0x7C10 , + [17064] = 0x7C0A , + [17065] = 0x7CE8 , + [17066] = 0x7E2D , + [17067] = 0x7E3C , + [17068] = 0x7E42 , + [17069] = 0x7E33 , + [17070] = 0x9848 , + [17071] = 0x7E38 , + [17072] = 0x7E2A , + [17073] = 0x7E49 , + [17074] = 0x7E40 , + [17075] = 0x7E47 , + [17076] = 0x7E29 , + [17077] = 0x7E4C , + [17078] = 0x7E30 , + [17079] = 0x7E3B , + [17080] = 0x7E36 , + [17081] = 0x7E44 , + [17082] = 0x7E3A , + [17083] = 0x7F45 , + [17084] = 0x7F7F , + [17085] = 0x7F7E , + [17086] = 0x7F7D , + [17087] = 0x7FF4 , + [17088] = 0x7FF2 , + [17089] = 0x802C , + [17090] = 0x81BB , + [17091] = 0x81C4 , + [17092] = 0x81CC , + [17093] = 0x81CA , + [17094] = 0x81C5 , + [17095] = 0x81C7 , + [17096] = 0x81BC , + [17097] = 0x81E9 , + [17098] = 0x825B , + [17099] = 0x825A , + [17100] = 0x825C , + [17101] = 0x8583 , + [17102] = 0x8580 , + [17103] = 0x858F , + [17104] = 0x85A7 , + [17105] = 0x8595 , + [17106] = 0x85A0 , + [17107] = 0x858B , + [17108] = 0x85A3 , + [17109] = 0x857B , + [17110] = 0x85A4 , + [17111] = 0x859A , + [17112] = 0x859E , + [17113] = 0x8577 , + [17114] = 0x857C , + [17115] = 0x8589 , + [17116] = 0x85A1 , + [17117] = 0x857A , + [17118] = 0x8578 , + [17119] = 0x8557 , + [17120] = 0x858E , + [17121] = 0x8596 , + [17122] = 0x8586 , + [17123] = 0x858D , + [17124] = 0x8599 , + [17125] = 0x859D , + [17126] = 0x8581 , + [17127] = 0x85A2 , + [17128] = 0x8582 , + [17129] = 0x8588 , + [17130] = 0x8585 , + [17131] = 0x8579 , + [17132] = 0x8576 , + [17133] = 0x8598 , + [17134] = 0x8590 , + [17135] = 0x859F , + [17136] = 0x8668 , + [17137] = 0x87BE , + [17138] = 0x87AA , + [17139] = 0x87AD , + [17140] = 0x87C5 , + [17141] = 0x87B0 , + [17142] = 0x87AC , + [17143] = 0x87B9 , + [17144] = 0x87B5 , + [17145] = 0x87BC , + [17146] = 0x87AE , + [17147] = 0x87C9 , + [17148] = 0x87C3 , + [17149] = 0x87C2 , + [17150] = 0x87CC , + [17151] = 0x87B7 , + [17152] = 0x87AF , + [17153] = 0x87C4 , + [17154] = 0x87CA , + [17155] = 0x87B4 , + [17156] = 0x87B6 , + [17157] = 0x87BF , + [17158] = 0x87B8 , + [17159] = 0x87BD , + [17160] = 0x87DE , + [17161] = 0x87B2 , + [17162] = 0x8935 , + [17163] = 0x8933 , + [17164] = 0x893C , + [17165] = 0x893E , + [17166] = 0x8941 , + [17167] = 0x8952 , + [17168] = 0x8937 , + [17169] = 0x8942 , + [17170] = 0x89AD , + [17171] = 0x89AF , + [17172] = 0x89AE , + [17173] = 0x89F2 , + [17174] = 0x89F3 , + [17175] = 0x8B1E , + [17176] = 0x8B18 , + [17177] = 0x8B16 , + [17178] = 0x8B11 , + [17179] = 0x8B05 , + [17180] = 0x8B0B , + [17181] = 0x8B22 , + [17182] = 0x8B0F , + [17183] = 0x8B12 , + [17184] = 0x8B15 , + [17185] = 0x8B07 , + [17186] = 0x8B0D , + [17187] = 0x8B08 , + [17188] = 0x8B06 , + [17189] = 0x8B1C , + [17190] = 0x8B13 , + [17191] = 0x8B1A , + [17192] = 0x8C4F , + [17193] = 0x8C70 , + [17194] = 0x8C72 , + [17195] = 0x8C71 , + [17196] = 0x8C6F , + [17197] = 0x8C95 , + [17198] = 0x8C94 , + [17199] = 0x8CF9 , + [17200] = 0x8D6F , + [17201] = 0x8E4E , + [17202] = 0x8E4D , + [17203] = 0x8E53 , + [17204] = 0x8E50 , + [17205] = 0x8E4C , + [17206] = 0x8E47 , + [17207] = 0x8F43 , + [17208] = 0x8F40 , + [17209] = 0x9085 , + [17210] = 0x907E , + [17211] = 0x9138 , + [17212] = 0x919A , + [17213] = 0x91A2 , + [17214] = 0x919B , + [17215] = 0x9199 , + [17216] = 0x919F , + [17217] = 0x91A1 , + [17218] = 0x919D , + [17219] = 0x91A0 , + [17220] = 0x93A1 , + [17221] = 0x9383 , + [17222] = 0x93AF , + [17223] = 0x9364 , + [17224] = 0x9356 , + [17225] = 0x9347 , + [17226] = 0x937C , + [17227] = 0x9358 , + [17228] = 0x935C , + [17229] = 0x9376 , + [17230] = 0x9349 , + [17231] = 0x9350 , + [17232] = 0x9351 , + [17233] = 0x9360 , + [17234] = 0x936D , + [17235] = 0x938F , + [17236] = 0x934C , + [17237] = 0x936A , + [17238] = 0x9379 , + [17239] = 0x9357 , + [17240] = 0x9355 , + [17241] = 0x9352 , + [17242] = 0x934F , + [17243] = 0x9371 , + [17244] = 0x9377 , + [17245] = 0x937B , + [17246] = 0x9361 , + [17247] = 0x935E , + [17248] = 0x9363 , + [17249] = 0x9367 , + [17250] = 0x9380 , + [17251] = 0x934E , + [17252] = 0x9359 , + [17253] = 0x95C7 , + [17254] = 0x95C0 , + [17255] = 0x95C9 , + [17256] = 0x95C3 , + [17257] = 0x95C5 , + [17258] = 0x95B7 , + [17259] = 0x96AE , + [17260] = 0x96B0 , + [17261] = 0x96AC , + [17262] = 0x9720 , + [17263] = 0x971F , + [17264] = 0x9718 , + [17265] = 0x971D , + [17266] = 0x9719 , + [17267] = 0x979A , + [17268] = 0x97A1 , + [17269] = 0x979C , + [17270] = 0x979E , + [17271] = 0x979D , + [17272] = 0x97D5 , + [17273] = 0x97D4 , + [17274] = 0x97F1 , + [17275] = 0x9841 , + [17276] = 0x9844 , + [17277] = 0x984A , + [17278] = 0x9849 , + [17279] = 0x9845 , + [17280] = 0x9843 , + [17281] = 0x9925 , + [17282] = 0x992B , + [17283] = 0x992C , + [17284] = 0x992A , + [17285] = 0x9933 , + [17286] = 0x9932 , + [17287] = 0x992F , + [17288] = 0x992D , + [17289] = 0x9931 , + [17290] = 0x9930 , + [17291] = 0x9998 , + [17292] = 0x99A3 , + [17293] = 0x99A1 , + [17294] = 0x9A02 , + [17295] = 0x99FA , + [17296] = 0x99F4 , + [17297] = 0x99F7 , + [17298] = 0x99F9 , + [17299] = 0x99F8 , + [17300] = 0x99F6 , + [17301] = 0x99FB , + [17302] = 0x99FD , + [17303] = 0x99FE , + [17304] = 0x99FC , + [17305] = 0x9A03 , + [17306] = 0x9ABE , + [17307] = 0x9AFE , + [17308] = 0x9AFD , + [17309] = 0x9B01 , + [17310] = 0x9AFC , + [17311] = 0x9B48 , + [17312] = 0x9B9A , + [17313] = 0x9BA8 , + [17314] = 0x9B9E , + [17315] = 0x9B9B , + [17316] = 0x9BA6 , + [17317] = 0x9BA1 , + [17318] = 0x9BA5 , + [17319] = 0x9BA4 , + [17320] = 0x9B86 , + [17321] = 0x9BA2 , + [17322] = 0x9BA0 , + [17323] = 0x9BAF , + [17324] = 0x9D33 , + [17325] = 0x9D41 , + [17326] = 0x9D67 , + [17327] = 0x9D36 , + [17328] = 0x9D2E , + [17329] = 0x9D2F , + [17330] = 0x9D31 , + [17331] = 0x9D38 , + [17332] = 0x9D30 , + [17333] = 0x9D45 , + [17334] = 0x9D42 , + [17335] = 0x9D43 , + [17336] = 0x9D3E , + [17337] = 0x9D37 , + [17338] = 0x9D40 , + [17339] = 0x9D3D , + [17340] = 0x7FF5 , + [17341] = 0x9D2D , + [17342] = 0x9E8A , + [17343] = 0x9E89 , + [17344] = 0x9E8D , + [17345] = 0x9EB0 , + [17346] = 0x9EC8 , + [17347] = 0x9EDA , + [17348] = 0x9EFB , + [17349] = 0x9EFF , + [17350] = 0x9F24 , + [17351] = 0x9F23 , + [17352] = 0x9F22 , + [17353] = 0x9F54 , + [17354] = 0x9FA0 , + [17355] = 0x5131 , + [17356] = 0x512D , + [17357] = 0x512E , + [17358] = 0x5698 , + [17359] = 0x569C , + [17360] = 0x5697 , + [17361] = 0x569A , + [17362] = 0x569D , + [17363] = 0x5699 , + [17364] = 0x5970 , + [17365] = 0x5B3C , + [17366] = 0x5C69 , + [17367] = 0x5C6A , + [17368] = 0x5DC0 , + [17369] = 0x5E6D , + [17370] = 0x5E6E , + [17371] = 0x61D8 , + [17372] = 0x61DF , + [17373] = 0x61ED , + [17374] = 0x61EE , + [17375] = 0x61F1 , + [17376] = 0x61EA , + [17377] = 0x61F0 , + [17378] = 0x61EB , + [17379] = 0x61D6 , + [17380] = 0x61E9 , + [17381] = 0x64FF , + [17382] = 0x6504 , + [17383] = 0x64FD , + [17384] = 0x64F8 , + [17385] = 0x6501 , + [17386] = 0x6503 , + [17387] = 0x64FC , + [17388] = 0x6594 , + [17389] = 0x65DB , + [17390] = 0x66DA , + [17391] = 0x66DB , + [17392] = 0x66D8 , + [17393] = 0x6AC5 , + [17394] = 0x6AB9 , + [17395] = 0x6ABD , + [17396] = 0x6AE1 , + [17397] = 0x6AC6 , + [17398] = 0x6ABA , + [17399] = 0x6AB6 , + [17400] = 0x6AB7 , + [17401] = 0x6AC7 , + [17402] = 0x6AB4 , + [17403] = 0x6AAD , + [17404] = 0x6B5E , + [17405] = 0x6BC9 , + [17406] = 0x6C0B , + [17407] = 0x7007 , + [17408] = 0x700C , + [17409] = 0x700D , + [17410] = 0x7001 , + [17411] = 0x7005 , + [17412] = 0x7014 , + [17413] = 0x700E , + [17414] = 0x6FFF , + [17415] = 0x7000 , + [17416] = 0x6FFB , + [17417] = 0x7026 , + [17418] = 0x6FFC , + [17419] = 0x6FF7 , + [17420] = 0x700A , + [17421] = 0x7201 , + [17422] = 0x71FF , + [17423] = 0x71F9 , + [17424] = 0x7203 , + [17425] = 0x71FD , + [17426] = 0x7376 , + [17427] = 0x74B8 , + [17428] = 0x74C0 , + [17429] = 0x74B5 , + [17430] = 0x74C1 , + [17431] = 0x74BE , + [17432] = 0x74B6 , + [17433] = 0x74BB , + [17434] = 0x74C2 , + [17435] = 0x7514 , + [17436] = 0x7513 , + [17437] = 0x765C , + [17438] = 0x7664 , + [17439] = 0x7659 , + [17440] = 0x7650 , + [17441] = 0x7653 , + [17442] = 0x7657 , + [17443] = 0x765A , + [17444] = 0x76A6 , + [17445] = 0x76BD , + [17446] = 0x76EC , + [17447] = 0x77C2 , + [17448] = 0x77BA , + [17449] = 0x78FF , + [17450] = 0x790C , + [17451] = 0x7913 , + [17452] = 0x7914 , + [17453] = 0x7909 , + [17454] = 0x7910 , + [17455] = 0x7912 , + [17456] = 0x7911 , + [17457] = 0x79AD , + [17458] = 0x79AC , + [17459] = 0x7A5F , + [17460] = 0x7C1C , + [17461] = 0x7C29 , + [17462] = 0x7C19 , + [17463] = 0x7C20 , + [17464] = 0x7C1F , + [17465] = 0x7C2D , + [17466] = 0x7C1D , + [17467] = 0x7C26 , + [17468] = 0x7C28 , + [17469] = 0x7C22 , + [17470] = 0x7C25 , + [17471] = 0x7C30 , + [17472] = 0x7E5C , + [17473] = 0x7E50 , + [17474] = 0x7E56 , + [17475] = 0x7E63 , + [17476] = 0x7E58 , + [17477] = 0x7E62 , + [17478] = 0x7E5F , + [17479] = 0x7E51 , + [17480] = 0x7E60 , + [17481] = 0x7E57 , + [17482] = 0x7E53 , + [17483] = 0x7FB5 , + [17484] = 0x7FB3 , + [17485] = 0x7FF7 , + [17486] = 0x7FF8 , + [17487] = 0x8075 , + [17488] = 0x81D1 , + [17489] = 0x81D2 , + [17490] = 0x81D0 , + [17491] = 0x825F , + [17492] = 0x825E , + [17493] = 0x85B4 , + [17494] = 0x85C6 , + [17495] = 0x85C0 , + [17496] = 0x85C3 , + [17497] = 0x85C2 , + [17498] = 0x85B3 , + [17499] = 0x85B5 , + [17500] = 0x85BD , + [17501] = 0x85C7 , + [17502] = 0x85C4 , + [17503] = 0x85BF , + [17504] = 0x85CB , + [17505] = 0x85CE , + [17506] = 0x85C8 , + [17507] = 0x85C5 , + [17508] = 0x85B1 , + [17509] = 0x85B6 , + [17510] = 0x85D2 , + [17511] = 0x8624 , + [17512] = 0x85B8 , + [17513] = 0x85B7 , + [17514] = 0x85BE , + [17515] = 0x8669 , + [17516] = 0x87E7 , + [17517] = 0x87E6 , + [17518] = 0x87E2 , + [17519] = 0x87DB , + [17520] = 0x87EB , + [17521] = 0x87EA , + [17522] = 0x87E5 , + [17523] = 0x87DF , + [17524] = 0x87F3 , + [17525] = 0x87E4 , + [17526] = 0x87D4 , + [17527] = 0x87DC , + [17528] = 0x87D3 , + [17529] = 0x87ED , + [17530] = 0x87D8 , + [17531] = 0x87E3 , + [17532] = 0x87A4 , + [17533] = 0x87D7 , + [17534] = 0x87D9 , + [17535] = 0x8801 , + [17536] = 0x87F4 , + [17537] = 0x87E8 , + [17538] = 0x87DD , + [17539] = 0x8953 , + [17540] = 0x894B , + [17541] = 0x894F , + [17542] = 0x894C , + [17543] = 0x8946 , + [17544] = 0x8950 , + [17545] = 0x8951 , + [17546] = 0x8949 , + [17547] = 0x8B2A , + [17548] = 0x8B27 , + [17549] = 0x8B23 , + [17550] = 0x8B33 , + [17551] = 0x8B30 , + [17552] = 0x8B35 , + [17553] = 0x8B47 , + [17554] = 0x8B2F , + [17555] = 0x8B3C , + [17556] = 0x8B3E , + [17557] = 0x8B31 , + [17558] = 0x8B25 , + [17559] = 0x8B37 , + [17560] = 0x8B26 , + [17561] = 0x8B36 , + [17562] = 0x8B2E , + [17563] = 0x8B24 , + [17564] = 0x8B3B , + [17565] = 0x8B3D , + [17566] = 0x8B3A , + [17567] = 0x8C42 , + [17568] = 0x8C75 , + [17569] = 0x8C99 , + [17570] = 0x8C98 , + [17571] = 0x8C97 , + [17572] = 0x8CFE , + [17573] = 0x8D04 , + [17574] = 0x8D02 , + [17575] = 0x8D00 , + [17576] = 0x8E5C , + [17577] = 0x8E62 , + [17578] = 0x8E60 , + [17579] = 0x8E57 , + [17580] = 0x8E56 , + [17581] = 0x8E5E , + [17582] = 0x8E65 , + [17583] = 0x8E67 , + [17584] = 0x8E5B , + [17585] = 0x8E5A , + [17586] = 0x8E61 , + [17587] = 0x8E5D , + [17588] = 0x8E69 , + [17589] = 0x8E54 , + [17590] = 0x8F46 , + [17591] = 0x8F47 , + [17592] = 0x8F48 , + [17593] = 0x8F4B , + [17594] = 0x9128 , + [17595] = 0x913A , + [17596] = 0x913B , + [17597] = 0x913E , + [17598] = 0x91A8 , + [17599] = 0x91A5 , + [17600] = 0x91A7 , + [17601] = 0x91AF , + [17602] = 0x91AA , + [17603] = 0x93B5 , + [17604] = 0x938C , + [17605] = 0x9392 , + [17606] = 0x93B7 , + [17607] = 0x939B , + [17608] = 0x939D , + [17609] = 0x9389 , + [17610] = 0x93A7 , + [17611] = 0x938E , + [17612] = 0x93AA , + [17613] = 0x939E , + [17614] = 0x93A6 , + [17615] = 0x9395 , + [17616] = 0x9388 , + [17617] = 0x9399 , + [17618] = 0x939F , + [17619] = 0x938D , + [17620] = 0x93B1 , + [17621] = 0x9391 , + [17622] = 0x93B2 , + [17623] = 0x93A4 , + [17624] = 0x93A8 , + [17625] = 0x93B4 , + [17626] = 0x93A3 , + [17627] = 0x93A5 , + [17628] = 0x95D2 , + [17629] = 0x95D3 , + [17630] = 0x95D1 , + [17631] = 0x96B3 , + [17632] = 0x96D7 , + [17633] = 0x96DA , + [17634] = 0x5DC2 , + [17635] = 0x96DF , + [17636] = 0x96D8 , + [17637] = 0x96DD , + [17638] = 0x9723 , + [17639] = 0x9722 , + [17640] = 0x9725 , + [17641] = 0x97AC , + [17642] = 0x97AE , + [17643] = 0x97A8 , + [17644] = 0x97AB , + [17645] = 0x97A4 , + [17646] = 0x97AA , + [17647] = 0x97A2 , + [17648] = 0x97A5 , + [17649] = 0x97D7 , + [17650] = 0x97D9 , + [17651] = 0x97D6 , + [17652] = 0x97D8 , + [17653] = 0x97FA , + [17654] = 0x9850 , + [17655] = 0x9851 , + [17656] = 0x9852 , + [17657] = 0x98B8 , + [17658] = 0x9941 , + [17659] = 0x993C , + [17660] = 0x993A , + [17661] = 0x9A0F , + [17662] = 0x9A0B , + [17663] = 0x9A09 , + [17664] = 0x9A0D , + [17665] = 0x9A04 , + [17666] = 0x9A11 , + [17667] = 0x9A0A , + [17668] = 0x9A05 , + [17669] = 0x9A07 , + [17670] = 0x9A06 , + [17671] = 0x9AC0 , + [17672] = 0x9ADC , + [17673] = 0x9B08 , + [17674] = 0x9B04 , + [17675] = 0x9B05 , + [17676] = 0x9B29 , + [17677] = 0x9B35 , + [17678] = 0x9B4A , + [17679] = 0x9B4C , + [17680] = 0x9B4B , + [17681] = 0x9BC7 , + [17682] = 0x9BC6 , + [17683] = 0x9BC3 , + [17684] = 0x9BBF , + [17685] = 0x9BC1 , + [17686] = 0x9BB5 , + [17687] = 0x9BB8 , + [17688] = 0x9BD3 , + [17689] = 0x9BB6 , + [17690] = 0x9BC4 , + [17691] = 0x9BB9 , + [17692] = 0x9BBD , + [17693] = 0x9D5C , + [17694] = 0x9D53 , + [17695] = 0x9D4F , + [17696] = 0x9D4A , + [17697] = 0x9D5B , + [17698] = 0x9D4B , + [17699] = 0x9D59 , + [17700] = 0x9D56 , + [17701] = 0x9D4C , + [17702] = 0x9D57 , + [17703] = 0x9D52 , + [17704] = 0x9D54 , + [17705] = 0x9D5F , + [17706] = 0x9D58 , + [17707] = 0x9D5A , + [17708] = 0x9E8E , + [17709] = 0x9E8C , + [17710] = 0x9EDF , + [17711] = 0x9F01 , + [17712] = 0x9F00 , + [17713] = 0x9F16 , + [17714] = 0x9F25 , + [17715] = 0x9F2B , + [17716] = 0x9F2A , + [17717] = 0x9F29 , + [17718] = 0x9F28 , + [17719] = 0x9F4C , + [17720] = 0x9F55 , + [17721] = 0x5134 , + [17722] = 0x5135 , + [17723] = 0x5296 , + [17724] = 0x52F7 , + [17725] = 0x53B4 , + [17726] = 0x56AB , + [17727] = 0x56AD , + [17728] = 0x56A6 , + [17729] = 0x56A7 , + [17730] = 0x56AA , + [17731] = 0x56AC , + [17732] = 0x58DA , + [17733] = 0x58DD , + [17734] = 0x58DB , + [17735] = 0x5912 , + [17736] = 0x5B3D , + [17737] = 0x5B3E , + [17738] = 0x5B3F , + [17739] = 0x5DC3 , + [17740] = 0x5E70 , + [17741] = 0x5FBF , + [17742] = 0x61FB , + [17743] = 0x6507 , + [17744] = 0x6510 , + [17745] = 0x650D , + [17746] = 0x6509 , + [17747] = 0x650C , + [17748] = 0x650E , + [17749] = 0x6584 , + [17750] = 0x65DE , + [17751] = 0x65DD , + [17752] = 0x66DE , + [17753] = 0x6AE7 , + [17754] = 0x6AE0 , + [17755] = 0x6ACC , + [17756] = 0x6AD1 , + [17757] = 0x6AD9 , + [17758] = 0x6ACB , + [17759] = 0x6ADF , + [17760] = 0x6ADC , + [17761] = 0x6AD0 , + [17762] = 0x6AEB , + [17763] = 0x6ACF , + [17764] = 0x6ACD , + [17765] = 0x6ADE , + [17766] = 0x6B60 , + [17767] = 0x6BB0 , + [17768] = 0x6C0C , + [17769] = 0x7019 , + [17770] = 0x7027 , + [17771] = 0x7020 , + [17772] = 0x7016 , + [17773] = 0x702B , + [17774] = 0x7021 , + [17775] = 0x7022 , + [17776] = 0x7023 , + [17777] = 0x7029 , + [17778] = 0x7017 , + [17779] = 0x7024 , + [17780] = 0x701C , + [17781] = 0x702A , + [17782] = 0x720C , + [17783] = 0x720A , + [17784] = 0x7207 , + [17785] = 0x7202 , + [17786] = 0x7205 , + [17787] = 0x72A5 , + [17788] = 0x72A6 , + [17789] = 0x72A4 , + [17790] = 0x72A3 , + [17791] = 0x72A1 , + [17792] = 0x74CB , + [17793] = 0x74C5 , + [17794] = 0x74B7 , + [17795] = 0x74C3 , + [17796] = 0x7516 , + [17797] = 0x7660 , + [17798] = 0x77C9 , + [17799] = 0x77CA , + [17800] = 0x77C4 , + [17801] = 0x77F1 , + [17802] = 0x791D , + [17803] = 0x791B , + [17804] = 0x7921 , + [17805] = 0x791C , + [17806] = 0x7917 , + [17807] = 0x791E , + [17808] = 0x79B0 , + [17809] = 0x7A67 , + [17810] = 0x7A68 , + [17811] = 0x7C33 , + [17812] = 0x7C3C , + [17813] = 0x7C39 , + [17814] = 0x7C2C , + [17815] = 0x7C3B , + [17816] = 0x7CEC , + [17817] = 0x7CEA , + [17818] = 0x7E76 , + [17819] = 0x7E75 , + [17820] = 0x7E78 , + [17821] = 0x7E70 , + [17822] = 0x7E77 , + [17823] = 0x7E6F , + [17824] = 0x7E7A , + [17825] = 0x7E72 , + [17826] = 0x7E74 , + [17827] = 0x7E68 , + [17828] = 0x7F4B , + [17829] = 0x7F4A , + [17830] = 0x7F83 , + [17831] = 0x7F86 , + [17832] = 0x7FB7 , + [17833] = 0x7FFD , + [17834] = 0x7FFE , + [17835] = 0x8078 , + [17836] = 0x81D7 , + [17837] = 0x81D5 , + [17838] = 0x8264 , + [17839] = 0x8261 , + [17840] = 0x8263 , + [17841] = 0x85EB , + [17842] = 0x85F1 , + [17843] = 0x85ED , + [17844] = 0x85D9 , + [17845] = 0x85E1 , + [17846] = 0x85E8 , + [17847] = 0x85DA , + [17848] = 0x85D7 , + [17849] = 0x85EC , + [17850] = 0x85F2 , + [17851] = 0x85F8 , + [17852] = 0x85D8 , + [17853] = 0x85DF , + [17854] = 0x85E3 , + [17855] = 0x85DC , + [17856] = 0x85D1 , + [17857] = 0x85F0 , + [17858] = 0x85E6 , + [17859] = 0x85EF , + [17860] = 0x85DE , + [17861] = 0x85E2 , + [17862] = 0x8800 , + [17863] = 0x87FA , + [17864] = 0x8803 , + [17865] = 0x87F6 , + [17866] = 0x87F7 , + [17867] = 0x8809 , + [17868] = 0x880C , + [17869] = 0x880B , + [17870] = 0x8806 , + [17871] = 0x87FC , + [17872] = 0x8808 , + [17873] = 0x87FF , + [17874] = 0x880A , + [17875] = 0x8802 , + [17876] = 0x8962 , + [17877] = 0x895A , + [17878] = 0x895B , + [17879] = 0x8957 , + [17880] = 0x8961 , + [17881] = 0x895C , + [17882] = 0x8958 , + [17883] = 0x895D , + [17884] = 0x8959 , + [17885] = 0x8988 , + [17886] = 0x89B7 , + [17887] = 0x89B6 , + [17888] = 0x89F6 , + [17889] = 0x8B50 , + [17890] = 0x8B48 , + [17891] = 0x8B4A , + [17892] = 0x8B40 , + [17893] = 0x8B53 , + [17894] = 0x8B56 , + [17895] = 0x8B54 , + [17896] = 0x8B4B , + [17897] = 0x8B55 , + [17898] = 0x8B51 , + [17899] = 0x8B42 , + [17900] = 0x8B52 , + [17901] = 0x8B57 , + [17902] = 0x8C43 , + [17903] = 0x8C77 , + [17904] = 0x8C76 , + [17905] = 0x8C9A , + [17906] = 0x8D06 , + [17907] = 0x8D07 , + [17908] = 0x8D09 , + [17909] = 0x8DAC , + [17910] = 0x8DAA , + [17911] = 0x8DAD , + [17912] = 0x8DAB , + [17913] = 0x8E6D , + [17914] = 0x8E78 , + [17915] = 0x8E73 , + [17916] = 0x8E6A , + [17917] = 0x8E6F , + [17918] = 0x8E7B , + [17919] = 0x8EC2 , + [17920] = 0x8F52 , + [17921] = 0x8F51 , + [17922] = 0x8F4F , + [17923] = 0x8F50 , + [17924] = 0x8F53 , + [17925] = 0x8FB4 , + [17926] = 0x9140 , + [17927] = 0x913F , + [17928] = 0x91B0 , + [17929] = 0x91AD , + [17930] = 0x93DE , + [17931] = 0x93C7 , + [17932] = 0x93CF , + [17933] = 0x93C2 , + [17934] = 0x93DA , + [17935] = 0x93D0 , + [17936] = 0x93F9 , + [17937] = 0x93EC , + [17938] = 0x93CC , + [17939] = 0x93D9 , + [17940] = 0x93A9 , + [17941] = 0x93E6 , + [17942] = 0x93CA , + [17943] = 0x93D4 , + [17944] = 0x93EE , + [17945] = 0x93E3 , + [17946] = 0x93D5 , + [17947] = 0x93C4 , + [17948] = 0x93CE , + [17949] = 0x93C0 , + [17950] = 0x93D2 , + [17951] = 0x93E7 , + [17952] = 0x957D , + [17953] = 0x95DA , + [17954] = 0x95DB , + [17955] = 0x96E1 , + [17956] = 0x9729 , + [17957] = 0x972B , + [17958] = 0x972C , + [17959] = 0x9728 , + [17960] = 0x9726 , + [17961] = 0x97B3 , + [17962] = 0x97B7 , + [17963] = 0x97B6 , + [17964] = 0x97DD , + [17965] = 0x97DE , + [17966] = 0x97DF , + [17967] = 0x985C , + [17968] = 0x9859 , + [17969] = 0x985D , + [17970] = 0x9857 , + [17971] = 0x98BF , + [17972] = 0x98BD , + [17973] = 0x98BB , + [17974] = 0x98BE , + [17975] = 0x9948 , + [17976] = 0x9947 , + [17977] = 0x9943 , + [17978] = 0x99A6 , + [17979] = 0x99A7 , + [17980] = 0x9A1A , + [17981] = 0x9A15 , + [17982] = 0x9A25 , + [17983] = 0x9A1D , + [17984] = 0x9A24 , + [17985] = 0x9A1B , + [17986] = 0x9A22 , + [17987] = 0x9A20 , + [17988] = 0x9A27 , + [17989] = 0x9A23 , + [17990] = 0x9A1E , + [17991] = 0x9A1C , + [17992] = 0x9A14 , + [17993] = 0x9AC2 , + [17994] = 0x9B0B , + [17995] = 0x9B0A , + [17996] = 0x9B0E , + [17997] = 0x9B0C , + [17998] = 0x9B37 , + [17999] = 0x9BEA , + [18000] = 0x9BEB , + [18001] = 0x9BE0 , + [18002] = 0x9BDE , + [18003] = 0x9BE4 , + [18004] = 0x9BE6 , + [18005] = 0x9BE2 , + [18006] = 0x9BF0 , + [18007] = 0x9BD4 , + [18008] = 0x9BD7 , + [18009] = 0x9BEC , + [18010] = 0x9BDC , + [18011] = 0x9BD9 , + [18012] = 0x9BE5 , + [18013] = 0x9BD5 , + [18014] = 0x9BE1 , + [18015] = 0x9BDA , + [18016] = 0x9D77 , + [18017] = 0x9D81 , + [18018] = 0x9D8A , + [18019] = 0x9D84 , + [18020] = 0x9D88 , + [18021] = 0x9D71 , + [18022] = 0x9D80 , + [18023] = 0x9D78 , + [18024] = 0x9D86 , + [18025] = 0x9D8B , + [18026] = 0x9D8C , + [18027] = 0x9D7D , + [18028] = 0x9D6B , + [18029] = 0x9D74 , + [18030] = 0x9D75 , + [18031] = 0x9D70 , + [18032] = 0x9D69 , + [18033] = 0x9D85 , + [18034] = 0x9D73 , + [18035] = 0x9D7B , + [18036] = 0x9D82 , + [18037] = 0x9D6F , + [18038] = 0x9D79 , + [18039] = 0x9D7F , + [18040] = 0x9D87 , + [18041] = 0x9D68 , + [18042] = 0x9E94 , + [18043] = 0x9E91 , + [18044] = 0x9EC0 , + [18045] = 0x9EFC , + [18046] = 0x9F2D , + [18047] = 0x9F40 , + [18048] = 0x9F41 , + [18049] = 0x9F4D , + [18050] = 0x9F56 , + [18051] = 0x9F57 , + [18052] = 0x9F58 , + [18053] = 0x5337 , + [18054] = 0x56B2 , + [18055] = 0x56B5 , + [18056] = 0x56B3 , + [18057] = 0x58E3 , + [18058] = 0x5B45 , + [18059] = 0x5DC6 , + [18060] = 0x5DC7 , + [18061] = 0x5EEE , + [18062] = 0x5EEF , + [18063] = 0x5FC0 , + [18064] = 0x5FC1 , + [18065] = 0x61F9 , + [18066] = 0x6517 , + [18067] = 0x6516 , + [18068] = 0x6515 , + [18069] = 0x6513 , + [18070] = 0x65DF , + [18071] = 0x66E8 , + [18072] = 0x66E3 , + [18073] = 0x66E4 , + [18074] = 0x6AF3 , + [18075] = 0x6AF0 , + [18076] = 0x6AEA , + [18077] = 0x6AE8 , + [18078] = 0x6AF9 , + [18079] = 0x6AF1 , + [18080] = 0x6AEE , + [18081] = 0x6AEF , + [18082] = 0x703C , + [18083] = 0x7035 , + [18084] = 0x702F , + [18085] = 0x7037 , + [18086] = 0x7034 , + [18087] = 0x7031 , + [18088] = 0x7042 , + [18089] = 0x7038 , + [18090] = 0x703F , + [18091] = 0x703A , + [18092] = 0x7039 , + [18093] = 0x7040 , + [18094] = 0x703B , + [18095] = 0x7033 , + [18096] = 0x7041 , + [18097] = 0x7213 , + [18098] = 0x7214 , + [18099] = 0x72A8 , + [18100] = 0x737D , + [18101] = 0x737C , + [18102] = 0x74BA , + [18103] = 0x76AB , + [18104] = 0x76AA , + [18105] = 0x76BE , + [18106] = 0x76ED , + [18107] = 0x77CC , + [18108] = 0x77CE , + [18109] = 0x77CF , + [18110] = 0x77CD , + [18111] = 0x77F2 , + [18112] = 0x7925 , + [18113] = 0x7923 , + [18114] = 0x7927 , + [18115] = 0x7928 , + [18116] = 0x7924 , + [18117] = 0x7929 , + [18118] = 0x79B2 , + [18119] = 0x7A6E , + [18120] = 0x7A6C , + [18121] = 0x7A6D , + [18122] = 0x7AF7 , + [18123] = 0x7C49 , + [18124] = 0x7C48 , + [18125] = 0x7C4A , + [18126] = 0x7C47 , + [18127] = 0x7C45 , + [18128] = 0x7CEE , + [18129] = 0x7E7B , + [18130] = 0x7E7E , + [18131] = 0x7E81 , + [18132] = 0x7E80 , + [18133] = 0x7FBA , + [18134] = 0x7FFF , + [18135] = 0x8079 , + [18136] = 0x81DB , + [18137] = 0x81D9 , + [18138] = 0x820B , + [18139] = 0x8268 , + [18140] = 0x8269 , + [18141] = 0x8622 , + [18142] = 0x85FF , + [18143] = 0x8601 , + [18144] = 0x85FE , + [18145] = 0x861B , + [18146] = 0x8600 , + [18147] = 0x85F6 , + [18148] = 0x8604 , + [18149] = 0x8609 , + [18150] = 0x8605 , + [18151] = 0x860C , + [18152] = 0x85FD , + [18153] = 0x8819 , + [18154] = 0x8810 , + [18155] = 0x8811 , + [18156] = 0x8817 , + [18157] = 0x8813 , + [18158] = 0x8816 , + [18159] = 0x8963 , + [18160] = 0x8966 , + [18161] = 0x89B9 , + [18162] = 0x89F7 , + [18163] = 0x8B60 , + [18164] = 0x8B6A , + [18165] = 0x8B5D , + [18166] = 0x8B68 , + [18167] = 0x8B63 , + [18168] = 0x8B65 , + [18169] = 0x8B67 , + [18170] = 0x8B6D , + [18171] = 0x8DAE , + [18172] = 0x8E86 , + [18173] = 0x8E88 , + [18174] = 0x8E84 , + [18175] = 0x8F59 , + [18176] = 0x8F56 , + [18177] = 0x8F57 , + [18178] = 0x8F55 , + [18179] = 0x8F58 , + [18180] = 0x8F5A , + [18181] = 0x908D , + [18182] = 0x9143 , + [18183] = 0x9141 , + [18184] = 0x91B7 , + [18185] = 0x91B5 , + [18186] = 0x91B2 , + [18187] = 0x91B3 , + [18188] = 0x940B , + [18189] = 0x9413 , + [18190] = 0x93FB , + [18191] = 0x9420 , + [18192] = 0x940F , + [18193] = 0x9414 , + [18194] = 0x93FE , + [18195] = 0x9415 , + [18196] = 0x9410 , + [18197] = 0x9428 , + [18198] = 0x9419 , + [18199] = 0x940D , + [18200] = 0x93F5 , + [18201] = 0x9400 , + [18202] = 0x93F7 , + [18203] = 0x9407 , + [18204] = 0x940E , + [18205] = 0x9416 , + [18206] = 0x9412 , + [18207] = 0x93FA , + [18208] = 0x9409 , + [18209] = 0x93F8 , + [18210] = 0x940A , + [18211] = 0x93FF , + [18212] = 0x93FC , + [18213] = 0x940C , + [18214] = 0x93F6 , + [18215] = 0x9411 , + [18216] = 0x9406 , + [18217] = 0x95DE , + [18218] = 0x95E0 , + [18219] = 0x95DF , + [18220] = 0x972E , + [18221] = 0x972F , + [18222] = 0x97B9 , + [18223] = 0x97BB , + [18224] = 0x97FD , + [18225] = 0x97FE , + [18226] = 0x9860 , + [18227] = 0x9862 , + [18228] = 0x9863 , + [18229] = 0x985F , + [18230] = 0x98C1 , + [18231] = 0x98C2 , + [18232] = 0x9950 , + [18233] = 0x994E , + [18234] = 0x9959 , + [18235] = 0x994C , + [18236] = 0x994B , + [18237] = 0x9953 , + [18238] = 0x9A32 , + [18239] = 0x9A34 , + [18240] = 0x9A31 , + [18241] = 0x9A2C , + [18242] = 0x9A2A , + [18243] = 0x9A36 , + [18244] = 0x9A29 , + [18245] = 0x9A2E , + [18246] = 0x9A38 , + [18247] = 0x9A2D , + [18248] = 0x9AC7 , + [18249] = 0x9ACA , + [18250] = 0x9AC6 , + [18251] = 0x9B10 , + [18252] = 0x9B12 , + [18253] = 0x9B11 , + [18254] = 0x9C0B , + [18255] = 0x9C08 , + [18256] = 0x9BF7 , + [18257] = 0x9C05 , + [18258] = 0x9C12 , + [18259] = 0x9BF8 , + [18260] = 0x9C40 , + [18261] = 0x9C07 , + [18262] = 0x9C0E , + [18263] = 0x9C06 , + [18264] = 0x9C17 , + [18265] = 0x9C14 , + [18266] = 0x9C09 , + [18267] = 0x9D9F , + [18268] = 0x9D99 , + [18269] = 0x9DA4 , + [18270] = 0x9D9D , + [18271] = 0x9D92 , + [18272] = 0x9D98 , + [18273] = 0x9D90 , + [18274] = 0x9D9B , + [18275] = 0x9DA0 , + [18276] = 0x9D94 , + [18277] = 0x9D9C , + [18278] = 0x9DAA , + [18279] = 0x9D97 , + [18280] = 0x9DA1 , + [18281] = 0x9D9A , + [18282] = 0x9DA2 , + [18283] = 0x9DA8 , + [18284] = 0x9D9E , + [18285] = 0x9DA3 , + [18286] = 0x9DBF , + [18287] = 0x9DA9 , + [18288] = 0x9D96 , + [18289] = 0x9DA6 , + [18290] = 0x9DA7 , + [18291] = 0x9E99 , + [18292] = 0x9E9B , + [18293] = 0x9E9A , + [18294] = 0x9EE5 , + [18295] = 0x9EE4 , + [18296] = 0x9EE7 , + [18297] = 0x9EE6 , + [18298] = 0x9F30 , + [18299] = 0x9F2E , + [18300] = 0x9F5B , + [18301] = 0x9F60 , + [18302] = 0x9F5E , + [18303] = 0x9F5D , + [18304] = 0x9F59 , + [18305] = 0x9F91 , + [18306] = 0x513A , + [18307] = 0x5139 , + [18308] = 0x5298 , + [18309] = 0x5297 , + [18310] = 0x56C3 , + [18311] = 0x56BD , + [18312] = 0x56BE , + [18313] = 0x5B48 , + [18314] = 0x5B47 , + [18315] = 0x5DCB , + [18316] = 0x5DCF , + [18317] = 0x5EF1 , + [18318] = 0x61FD , + [18319] = 0x651B , + [18320] = 0x6B02 , + [18321] = 0x6AFC , + [18322] = 0x6B03 , + [18323] = 0x6AF8 , + [18324] = 0x6B00 , + [18325] = 0x7043 , + [18326] = 0x7044 , + [18327] = 0x704A , + [18328] = 0x7048 , + [18329] = 0x7049 , + [18330] = 0x7045 , + [18331] = 0x7046 , + [18332] = 0x721D , + [18333] = 0x721A , + [18334] = 0x7219 , + [18335] = 0x737E , + [18336] = 0x7517 , + [18337] = 0x766A , + [18338] = 0x77D0 , + [18339] = 0x792D , + [18340] = 0x7931 , + [18341] = 0x792F , + [18342] = 0x7C54 , + [18343] = 0x7C53 , + [18344] = 0x7CF2 , + [18345] = 0x7E8A , + [18346] = 0x7E87 , + [18347] = 0x7E88 , + [18348] = 0x7E8B , + [18349] = 0x7E86 , + [18350] = 0x7E8D , + [18351] = 0x7F4D , + [18352] = 0x7FBB , + [18353] = 0x8030 , + [18354] = 0x81DD , + [18355] = 0x8618 , + [18356] = 0x862A , + [18357] = 0x8626 , + [18358] = 0x861F , + [18359] = 0x8623 , + [18360] = 0x861C , + [18361] = 0x8619 , + [18362] = 0x8627 , + [18363] = 0x862E , + [18364] = 0x8621 , + [18365] = 0x8620 , + [18366] = 0x8629 , + [18367] = 0x861E , + [18368] = 0x8625 , + [18369] = 0x8829 , + [18370] = 0x881D , + [18371] = 0x881B , + [18372] = 0x8820 , + [18373] = 0x8824 , + [18374] = 0x881C , + [18375] = 0x882B , + [18376] = 0x884A , + [18377] = 0x896D , + [18378] = 0x8969 , + [18379] = 0x896E , + [18380] = 0x896B , + [18381] = 0x89FA , + [18382] = 0x8B79 , + [18383] = 0x8B78 , + [18384] = 0x8B45 , + [18385] = 0x8B7A , + [18386] = 0x8B7B , + [18387] = 0x8D10 , + [18388] = 0x8D14 , + [18389] = 0x8DAF , + [18390] = 0x8E8E , + [18391] = 0x8E8C , + [18392] = 0x8F5E , + [18393] = 0x8F5B , + [18394] = 0x8F5D , + [18395] = 0x9146 , + [18396] = 0x9144 , + [18397] = 0x9145 , + [18398] = 0x91B9 , + [18399] = 0x943F , + [18400] = 0x943B , + [18401] = 0x9436 , + [18402] = 0x9429 , + [18403] = 0x943D , + [18404] = 0x943C , + [18405] = 0x9430 , + [18406] = 0x9439 , + [18407] = 0x942A , + [18408] = 0x9437 , + [18409] = 0x942C , + [18410] = 0x9440 , + [18411] = 0x9431 , + [18412] = 0x95E5 , + [18413] = 0x95E4 , + [18414] = 0x95E3 , + [18415] = 0x9735 , + [18416] = 0x973A , + [18417] = 0x97BF , + [18418] = 0x97E1 , + [18419] = 0x9864 , + [18420] = 0x98C9 , + [18421] = 0x98C6 , + [18422] = 0x98C0 , + [18423] = 0x9958 , + [18424] = 0x9956 , + [18425] = 0x9A39 , + [18426] = 0x9A3D , + [18427] = 0x9A46 , + [18428] = 0x9A44 , + [18429] = 0x9A42 , + [18430] = 0x9A41 , + [18431] = 0x9A3A , + [18432] = 0x9A3F , + [18433] = 0x9ACD , + [18434] = 0x9B15 , + [18435] = 0x9B17 , + [18436] = 0x9B18 , + [18437] = 0x9B16 , + [18438] = 0x9B3A , + [18439] = 0x9B52 , + [18440] = 0x9C2B , + [18441] = 0x9C1D , + [18442] = 0x9C1C , + [18443] = 0x9C2C , + [18444] = 0x9C23 , + [18445] = 0x9C28 , + [18446] = 0x9C29 , + [18447] = 0x9C24 , + [18448] = 0x9C21 , + [18449] = 0x9DB7 , + [18450] = 0x9DB6 , + [18451] = 0x9DBC , + [18452] = 0x9DC1 , + [18453] = 0x9DC7 , + [18454] = 0x9DCA , + [18455] = 0x9DCF , + [18456] = 0x9DBE , + [18457] = 0x9DC5 , + [18458] = 0x9DC3 , + [18459] = 0x9DBB , + [18460] = 0x9DB5 , + [18461] = 0x9DCE , + [18462] = 0x9DB9 , + [18463] = 0x9DBA , + [18464] = 0x9DAC , + [18465] = 0x9DC8 , + [18466] = 0x9DB1 , + [18467] = 0x9DAD , + [18468] = 0x9DCC , + [18469] = 0x9DB3 , + [18470] = 0x9DCD , + [18471] = 0x9DB2 , + [18472] = 0x9E7A , + [18473] = 0x9E9C , + [18474] = 0x9EEB , + [18475] = 0x9EEE , + [18476] = 0x9EED , + [18477] = 0x9F1B , + [18478] = 0x9F18 , + [18479] = 0x9F1A , + [18480] = 0x9F31 , + [18481] = 0x9F4E , + [18482] = 0x9F65 , + [18483] = 0x9F64 , + [18484] = 0x9F92 , + [18485] = 0x4EB9 , + [18486] = 0x56C6 , + [18487] = 0x56C5 , + [18488] = 0x56CB , + [18489] = 0x5971 , + [18490] = 0x5B4B , + [18491] = 0x5B4C , + [18492] = 0x5DD5 , + [18493] = 0x5DD1 , + [18494] = 0x5EF2 , + [18495] = 0x6521 , + [18496] = 0x6520 , + [18497] = 0x6526 , + [18498] = 0x6522 , + [18499] = 0x6B0B , + [18500] = 0x6B08 , + [18501] = 0x6B09 , + [18502] = 0x6C0D , + [18503] = 0x7055 , + [18504] = 0x7056 , + [18505] = 0x7057 , + [18506] = 0x7052 , + [18507] = 0x721E , + [18508] = 0x721F , + [18509] = 0x72A9 , + [18510] = 0x737F , + [18511] = 0x74D8 , + [18512] = 0x74D5 , + [18513] = 0x74D9 , + [18514] = 0x74D7 , + [18515] = 0x766D , + [18516] = 0x76AD , + [18517] = 0x7935 , + [18518] = 0x79B4 , + [18519] = 0x7A70 , + [18520] = 0x7A71 , + [18521] = 0x7C57 , + [18522] = 0x7C5C , + [18523] = 0x7C59 , + [18524] = 0x7C5B , + [18525] = 0x7C5A , + [18526] = 0x7CF4 , + [18527] = 0x7CF1 , + [18528] = 0x7E91 , + [18529] = 0x7F4F , + [18530] = 0x7F87 , + [18531] = 0x81DE , + [18532] = 0x826B , + [18533] = 0x8634 , + [18534] = 0x8635 , + [18535] = 0x8633 , + [18536] = 0x862C , + [18537] = 0x8632 , + [18538] = 0x8636 , + [18539] = 0x882C , + [18540] = 0x8828 , + [18541] = 0x8826 , + [18542] = 0x882A , + [18543] = 0x8825 , + [18544] = 0x8971 , + [18545] = 0x89BF , + [18546] = 0x89BE , + [18547] = 0x89FB , + [18548] = 0x8B7E , + [18549] = 0x8B84 , + [18550] = 0x8B82 , + [18551] = 0x8B86 , + [18552] = 0x8B85 , + [18553] = 0x8B7F , + [18554] = 0x8D15 , + [18555] = 0x8E95 , + [18556] = 0x8E94 , + [18557] = 0x8E9A , + [18558] = 0x8E92 , + [18559] = 0x8E90 , + [18560] = 0x8E96 , + [18561] = 0x8E97 , + [18562] = 0x8F60 , + [18563] = 0x8F62 , + [18564] = 0x9147 , + [18565] = 0x944C , + [18566] = 0x9450 , + [18567] = 0x944A , + [18568] = 0x944B , + [18569] = 0x944F , + [18570] = 0x9447 , + [18571] = 0x9445 , + [18572] = 0x9448 , + [18573] = 0x9449 , + [18574] = 0x9446 , + [18575] = 0x973F , + [18576] = 0x97E3 , + [18577] = 0x986A , + [18578] = 0x9869 , + [18579] = 0x98CB , + [18580] = 0x9954 , + [18581] = 0x995B , + [18582] = 0x9A4E , + [18583] = 0x9A53 , + [18584] = 0x9A54 , + [18585] = 0x9A4C , + [18586] = 0x9A4F , + [18587] = 0x9A48 , + [18588] = 0x9A4A , + [18589] = 0x9A49 , + [18590] = 0x9A52 , + [18591] = 0x9A50 , + [18592] = 0x9AD0 , + [18593] = 0x9B19 , + [18594] = 0x9B2B , + [18595] = 0x9B3B , + [18596] = 0x9B56 , + [18597] = 0x9B55 , + [18598] = 0x9C46 , + [18599] = 0x9C48 , + [18600] = 0x9C3F , + [18601] = 0x9C44 , + [18602] = 0x9C39 , + [18603] = 0x9C33 , + [18604] = 0x9C41 , + [18605] = 0x9C3C , + [18606] = 0x9C37 , + [18607] = 0x9C34 , + [18608] = 0x9C32 , + [18609] = 0x9C3D , + [18610] = 0x9C36 , + [18611] = 0x9DDB , + [18612] = 0x9DD2 , + [18613] = 0x9DDE , + [18614] = 0x9DDA , + [18615] = 0x9DCB , + [18616] = 0x9DD0 , + [18617] = 0x9DDC , + [18618] = 0x9DD1 , + [18619] = 0x9DDF , + [18620] = 0x9DE9 , + [18621] = 0x9DD9 , + [18622] = 0x9DD8 , + [18623] = 0x9DD6 , + [18624] = 0x9DF5 , + [18625] = 0x9DD5 , + [18626] = 0x9DDD , + [18627] = 0x9EB6 , + [18628] = 0x9EF0 , + [18629] = 0x9F35 , + [18630] = 0x9F33 , + [18631] = 0x9F32 , + [18632] = 0x9F42 , + [18633] = 0x9F6B , + [18634] = 0x9F95 , + [18635] = 0x9FA2 , + [18636] = 0x513D , + [18637] = 0x5299 , + [18638] = 0x58E8 , + [18639] = 0x58E7 , + [18640] = 0x5972 , + [18641] = 0x5B4D , + [18642] = 0x5DD8 , + [18643] = 0x882F , + [18644] = 0x5F4F , + [18645] = 0x6201 , + [18646] = 0x6203 , + [18647] = 0x6204 , + [18648] = 0x6529 , + [18649] = 0x6525 , + [18650] = 0x6596 , + [18651] = 0x66EB , + [18652] = 0x6B11 , + [18653] = 0x6B12 , + [18654] = 0x6B0F , + [18655] = 0x6BCA , + [18656] = 0x705B , + [18657] = 0x705A , + [18658] = 0x7222 , + [18659] = 0x7382 , + [18660] = 0x7381 , + [18661] = 0x7383 , + [18662] = 0x7670 , + [18663] = 0x77D4 , + [18664] = 0x7C67 , + [18665] = 0x7C66 , + [18666] = 0x7E95 , + [18667] = 0x826C , + [18668] = 0x863A , + [18669] = 0x8640 , + [18670] = 0x8639 , + [18671] = 0x863C , + [18672] = 0x8631 , + [18673] = 0x863B , + [18674] = 0x863E , + [18675] = 0x8830 , + [18676] = 0x8832 , + [18677] = 0x882E , + [18678] = 0x8833 , + [18679] = 0x8976 , + [18680] = 0x8974 , + [18681] = 0x8973 , + [18682] = 0x89FE , + [18683] = 0x8B8C , + [18684] = 0x8B8E , + [18685] = 0x8B8B , + [18686] = 0x8B88 , + [18687] = 0x8C45 , + [18688] = 0x8D19 , + [18689] = 0x8E98 , + [18690] = 0x8F64 , + [18691] = 0x8F63 , + [18692] = 0x91BC , + [18693] = 0x9462 , + [18694] = 0x9455 , + [18695] = 0x945D , + [18696] = 0x9457 , + [18697] = 0x945E , + [18698] = 0x97C4 , + [18699] = 0x97C5 , + [18700] = 0x9800 , + [18701] = 0x9A56 , + [18702] = 0x9A59 , + [18703] = 0x9B1E , + [18704] = 0x9B1F , + [18705] = 0x9B20 , + [18706] = 0x9C52 , + [18707] = 0x9C58 , + [18708] = 0x9C50 , + [18709] = 0x9C4A , + [18710] = 0x9C4D , + [18711] = 0x9C4B , + [18712] = 0x9C55 , + [18713] = 0x9C59 , + [18714] = 0x9C4C , + [18715] = 0x9C4E , + [18716] = 0x9DFB , + [18717] = 0x9DF7 , + [18718] = 0x9DEF , + [18719] = 0x9DE3 , + [18720] = 0x9DEB , + [18721] = 0x9DF8 , + [18722] = 0x9DE4 , + [18723] = 0x9DF6 , + [18724] = 0x9DE1 , + [18725] = 0x9DEE , + [18726] = 0x9DE6 , + [18727] = 0x9DF2 , + [18728] = 0x9DF0 , + [18729] = 0x9DE2 , + [18730] = 0x9DEC , + [18731] = 0x9DF4 , + [18732] = 0x9DF3 , + [18733] = 0x9DE8 , + [18734] = 0x9DED , + [18735] = 0x9EC2 , + [18736] = 0x9ED0 , + [18737] = 0x9EF2 , + [18738] = 0x9EF3 , + [18739] = 0x9F06 , + [18740] = 0x9F1C , + [18741] = 0x9F38 , + [18742] = 0x9F37 , + [18743] = 0x9F36 , + [18744] = 0x9F43 , + [18745] = 0x9F4F , + [18746] = 0x9F71 , + [18747] = 0x9F70 , + [18748] = 0x9F6E , + [18749] = 0x9F6F , + [18750] = 0x56D3 , + [18751] = 0x56CD , + [18752] = 0x5B4E , + [18753] = 0x5C6D , + [18754] = 0x652D , + [18755] = 0x66ED , + [18756] = 0x66EE , + [18757] = 0x6B13 , + [18758] = 0x705F , + [18759] = 0x7061 , + [18760] = 0x705D , + [18761] = 0x7060 , + [18762] = 0x7223 , + [18763] = 0x74DB , + [18764] = 0x74E5 , + [18765] = 0x77D5 , + [18766] = 0x7938 , + [18767] = 0x79B7 , + [18768] = 0x79B6 , + [18769] = 0x7C6A , + [18770] = 0x7E97 , + [18771] = 0x7F89 , + [18772] = 0x826D , + [18773] = 0x8643 , + [18774] = 0x8838 , + [18775] = 0x8837 , + [18776] = 0x8835 , + [18777] = 0x884B , + [18778] = 0x8B94 , + [18779] = 0x8B95 , + [18780] = 0x8E9E , + [18781] = 0x8E9F , + [18782] = 0x8EA0 , + [18783] = 0x8E9D , + [18784] = 0x91BE , + [18785] = 0x91BD , + [18786] = 0x91C2 , + [18787] = 0x946B , + [18788] = 0x9468 , + [18789] = 0x9469 , + [18790] = 0x96E5 , + [18791] = 0x9746 , + [18792] = 0x9743 , + [18793] = 0x9747 , + [18794] = 0x97C7 , + [18795] = 0x97E5 , + [18796] = 0x9A5E , + [18797] = 0x9AD5 , + [18798] = 0x9B59 , + [18799] = 0x9C63 , + [18800] = 0x9C67 , + [18801] = 0x9C66 , + [18802] = 0x9C62 , + [18803] = 0x9C5E , + [18804] = 0x9C60 , + [18805] = 0x9E02 , + [18806] = 0x9DFE , + [18807] = 0x9E07 , + [18808] = 0x9E03 , + [18809] = 0x9E06 , + [18810] = 0x9E05 , + [18811] = 0x9E00 , + [18812] = 0x9E01 , + [18813] = 0x9E09 , + [18814] = 0x9DFF , + [18815] = 0x9DFD , + [18816] = 0x9E04 , + [18817] = 0x9EA0 , + [18818] = 0x9F1E , + [18819] = 0x9F46 , + [18820] = 0x9F74 , + [18821] = 0x9F75 , + [18822] = 0x9F76 , + [18823] = 0x56D4 , + [18824] = 0x652E , + [18825] = 0x65B8 , + [18826] = 0x6B18 , + [18827] = 0x6B19 , + [18828] = 0x6B17 , + [18829] = 0x6B1A , + [18830] = 0x7062 , + [18831] = 0x7226 , + [18832] = 0x72AA , + [18833] = 0x77D8 , + [18834] = 0x77D9 , + [18835] = 0x7939 , + [18836] = 0x7C69 , + [18837] = 0x7C6B , + [18838] = 0x7CF6 , + [18839] = 0x7E9A , + [18840] = 0x7E98 , + [18841] = 0x7E9B , + [18842] = 0x7E99 , + [18843] = 0x81E0 , + [18844] = 0x81E1 , + [18845] = 0x8646 , + [18846] = 0x8647 , + [18847] = 0x8648 , + [18848] = 0x8979 , + [18849] = 0x897A , + [18850] = 0x897C , + [18851] = 0x897B , + [18852] = 0x89FF , + [18853] = 0x8B98 , + [18854] = 0x8B99 , + [18855] = 0x8EA5 , + [18856] = 0x8EA4 , + [18857] = 0x8EA3 , + [18858] = 0x946E , + [18859] = 0x946D , + [18860] = 0x946F , + [18861] = 0x9471 , + [18862] = 0x9473 , + [18863] = 0x9749 , + [18864] = 0x9872 , + [18865] = 0x995F , + [18866] = 0x9C68 , + [18867] = 0x9C6E , + [18868] = 0x9C6D , + [18869] = 0x9E0B , + [18870] = 0x9E0D , + [18871] = 0x9E10 , + [18872] = 0x9E0F , + [18873] = 0x9E12 , + [18874] = 0x9E11 , + [18875] = 0x9EA1 , + [18876] = 0x9EF5 , + [18877] = 0x9F09 , + [18878] = 0x9F47 , + [18879] = 0x9F78 , + [18880] = 0x9F7B , + [18881] = 0x9F7A , + [18882] = 0x9F79 , + [18883] = 0x571E , + [18884] = 0x7066 , + [18885] = 0x7C6F , + [18886] = 0x883C , + [18887] = 0x8DB2 , + [18888] = 0x8EA6 , + [18889] = 0x91C3 , + [18890] = 0x9474 , + [18891] = 0x9478 , + [18892] = 0x9476 , + [18893] = 0x9475 , + [18894] = 0x9A60 , + [18895] = 0x9C74 , + [18896] = 0x9C73 , + [18897] = 0x9C71 , + [18898] = 0x9C75 , + [18899] = 0x9E14 , + [18900] = 0x9E13 , + [18901] = 0x9EF6 , + [18902] = 0x9F0A , + [18903] = 0x9FA4 , + [18904] = 0x7068 , + [18905] = 0x7065 , + [18906] = 0x7CF7 , + [18907] = 0x866A , + [18908] = 0x883E , + [18909] = 0x883D , + [18910] = 0x883F , + [18911] = 0x8B9E , + [18912] = 0x8C9C , + [18913] = 0x8EA9 , + [18914] = 0x8EC9 , + [18915] = 0x974B , + [18916] = 0x9873 , + [18917] = 0x9874 , + [18918] = 0x98CC , + [18919] = 0x9961 , + [18920] = 0x99AB , + [18921] = 0x9A64 , + [18922] = 0x9A66 , + [18923] = 0x9A67 , + [18924] = 0x9B24 , + [18925] = 0x9E15 , + [18926] = 0x9E17 , + [18927] = 0x9F48 , + [18928] = 0x6207 , + [18929] = 0x6B1E , + [18930] = 0x7227 , + [18931] = 0x864C , + [18932] = 0x8EA8 , + [18933] = 0x9482 , + [18934] = 0x9480 , + [18935] = 0x9481 , + [18936] = 0x9A69 , + [18937] = 0x9A68 , + [18938] = 0x9B2E , + [18939] = 0x9E19 , + [18940] = 0x7229 , + [18941] = 0x864B , + [18942] = 0x8B9F , + [18943] = 0x9483 , + [18944] = 0x9C79 , + [18945] = 0x9EB7 , + [18946] = 0x7675 , + [18947] = 0x9A6B , + [18948] = 0x9C7A , + [18949] = 0x9E1D , + [18950] = 0x7069 , + [18951] = 0x706A , + [18952] = 0x9EA4 , + [18953] = 0x9F7E , + [18954] = 0x9F49 , + [18955] = 0x9F98 , + [18956] = 0x7881 , + [18957] = 0x92B9 , + [18958] = 0x88CF , + [18959] = 0x58BB , + [18960] = 0x6052 , + [18961] = 0x7CA7 , + [18962] = 0x5AFA , + [18963] = 0x2554 , + [18964] = 0x2566 , + [18965] = 0x2557 , + [18966] = 0x2560 , + [18967] = 0x256C , + [18968] = 0x2563 , + [18969] = 0x255A , + [18970] = 0x2569 , + [18971] = 0x255D , + [18972] = 0x2552 , + [18973] = 0x2564 , + [18974] = 0x2555 , + [18975] = 0x255E , + [18976] = 0x256A , + [18977] = 0x2561 , + [18978] = 0x2558 , + [18979] = 0x2567 , + [18980] = 0x255B , + [18981] = 0x2553 , + [18982] = 0x2565 , + [18983] = 0x2556 , + [18984] = 0x255F , + [18985] = 0x256B , + [18986] = 0x2562 , + [18987] = 0x2559 , + [18988] = 0x2568 , + [18989] = 0x255C , + [18990] = 0x2551 , + [18991] = 0x2550 , + [18992] = 0x256D , + [18993] = 0x256E , + [18994] = 0x2570 , + [18995] = 0x256F , + [18996] = 0xFFED , + [18997] = 0x20547 , + [18998] = 0x92DB , + [18999] = 0x205DF , + [19000] = 0x23FC5 , + [19001] = 0x854C , + [19002] = 0x42B5 , + [19003] = 0x73EF , + [19004] = 0x51B5 , + [19005] = 0x3649 , + [19006] = 0x24942 , + [19007] = 0x289E4 , + [19008] = 0x9344 , + [19009] = 0x219DB , + [19010] = 0x82EE , + [19011] = 0x23CC8 , + [19012] = 0x783C , + [19013] = 0x6744 , + [19014] = 0x62DF , + [19015] = 0x24933 , + [19016] = 0x289AA , + [19017] = 0x202A0 , + [19018] = 0x26BB3 , + [19019] = 0x21305 , + [19020] = 0x4FAB , + [19021] = 0x224ED , + [19022] = 0x5008 , + [19023] = 0x26D29 , + [19024] = 0x27A84 , + [19025] = 0x23600 , + [19026] = 0x24AB1 , + [19027] = 0x22513 , + [19028] = 0x5029 , + [19029] = 0x2037E , + [19030] = 0x5FA4 , + [19031] = 0x20380 , + [19032] = 0x20347 , + [19033] = 0x6EDB , + [19034] = 0x2041F , + [19035] = 0x507D , + [19036] = 0x5101 , + [19037] = 0x347A , + [19038] = 0x510E , + [19039] = 0x986C , + [19040] = 0x3743 , + [19041] = 0x8416 , + [19042] = 0x249A4 , + [19043] = 0x20487 , + [19044] = 0x5160 , + [19045] = 0x233B4 , + [19046] = 0x516A , + [19047] = 0x20BFF , + [19048] = 0x220FC , + [19049] = 0x202E5 , + [19050] = 0x22530 , + [19051] = 0x2058E , + [19052] = 0x23233 , + [19053] = 0x21983 , + [19054] = 0x5B82 , + [19055] = 0x877D , + [19056] = 0x205B3 , + [19057] = 0x23C99 , + [19058] = 0x51B2 , + [19059] = 0x51B8 , + [19060] = 0x9D34 , + [19061] = 0x51C9 , + [19062] = 0x51CF , + [19063] = 0x51D1 , + [19064] = 0x3CDC , + [19065] = 0x51D3 , + [19066] = 0x24AA6 , + [19067] = 0x51B3 , + [19068] = 0x51E2 , + [19069] = 0x5342 , + [19070] = 0x51ED , + [19071] = 0x83CD , + [19072] = 0x693E , + [19073] = 0x2372D , + [19074] = 0x5F7B , + [19075] = 0x520B , + [19076] = 0x5226 , + [19077] = 0x523C , + [19078] = 0x52B5 , + [19079] = 0x5257 , + [19080] = 0x5294 , + [19081] = 0x52B9 , + [19082] = 0x52C5 , + [19083] = 0x7C15 , + [19084] = 0x8542 , + [19085] = 0x52E0 , + [19086] = 0x860D , + [19087] = 0x26B13 , + [19088] = 0x5305 , + [19089] = 0x28ADE , + [19090] = 0x5549 , + [19091] = 0x6ED9 , + [19092] = 0x23F80 , + [19093] = 0x20954 , + [19094] = 0x23FEC , + [19095] = 0x5333 , + [19096] = 0x5344 , + [19097] = 0x20BE2 , + [19098] = 0x6CCB , + [19099] = 0x21726 , + [19100] = 0x681B , + [19101] = 0x73D5 , + [19102] = 0x604A , + [19103] = 0x3EAA , + [19104] = 0x38CC , + [19105] = 0x216E8 , + [19106] = 0x71DD , + [19107] = 0x44A2 , + [19108] = 0x536D , + [19109] = 0x5374 , + [19110] = 0x286AB , + [19111] = 0x537E , + [19112] = 0x537F , + [19113] = 0x21596 , + [19114] = 0x21613 , + [19115] = 0x77E6 , + [19116] = 0x5393 , + [19117] = 0x28A9B , + [19118] = 0x53A0 , + [19119] = 0x53AB , + [19120] = 0x53AE , + [19121] = 0x73A7 , + [19122] = 0x25772 , + [19123] = 0x3F59 , + [19124] = 0x739C , + [19125] = 0x53C1 , + [19126] = 0x53C5 , + [19127] = 0x6C49 , + [19128] = 0x4E49 , + [19129] = 0x57FE , + [19130] = 0x53D9 , + [19131] = 0x3AAB , + [19132] = 0x20B8F , + [19133] = 0x53E0 , + [19134] = 0x23FEB , + [19135] = 0x22DA3 , + [19136] = 0x53F6 , + [19137] = 0x20C77 , + [19138] = 0x5413 , + [19139] = 0x7079 , + [19140] = 0x552B , + [19141] = 0x6657 , + [19142] = 0x6D5B , + [19143] = 0x546D , + [19144] = 0x26B53 , + [19145] = 0x20D74 , + [19146] = 0x555D , + [19147] = 0x548F , + [19148] = 0x54A4 , + [19149] = 0x47A6 , + [19150] = 0x2170D , + [19151] = 0x20EDD , + [19152] = 0x3DB4 , + [19153] = 0x20D4D , + [19154] = 0x289BC , + [19155] = 0x22698 , + [19156] = 0x5547 , + [19157] = 0x4CED , + [19158] = 0x542F , + [19159] = 0x7417 , + [19160] = 0x5586 , + [19161] = 0x55A9 , + [19162] = 0x5605 , + [19163] = 0x218D7 , + [19164] = 0x2403A , + [19165] = 0x4552 , + [19166] = 0x24435 , + [19167] = 0x66B3 , + [19168] = 0x210B4 , + [19169] = 0x5637 , + [19170] = 0x66CD , + [19171] = 0x2328A , + [19172] = 0x66A4 , + [19173] = 0x66AD , + [19174] = 0x564D , + [19175] = 0x564F , + [19176] = 0x78F1 , + [19177] = 0x56F1 , + [19178] = 0x9787 , + [19179] = 0x53FE , + [19180] = 0x5700 , + [19181] = 0x56EF , + [19182] = 0x56ED , + [19183] = 0x28B66 , + [19184] = 0x3623 , + [19185] = 0x2124F , + [19186] = 0x5746 , + [19187] = 0x241A5 , + [19188] = 0x6C6E , + [19189] = 0x708B , + [19190] = 0x5742 , + [19191] = 0x36B1 , + [19192] = 0x26C7E , + [19193] = 0x57E6 , + [19194] = 0x21416 , + [19195] = 0x5803 , + [19196] = 0x21454 , + [19197] = 0x24363 , + [19198] = 0x5826 , + [19199] = 0x24BF5 , + [19200] = 0x585C , + [19201] = 0x58AA , + [19202] = 0x3561 , + [19203] = 0x58E0 , + [19204] = 0x58DC , + [19205] = 0x2123C , + [19206] = 0x58FB , + [19207] = 0x5BFF , + [19208] = 0x5743 , + [19209] = 0x2A150 , + [19210] = 0x24278 , + [19211] = 0x93D3 , + [19212] = 0x35A1 , + [19213] = 0x591F , + [19214] = 0x68A6 , + [19215] = 0x36C3 , + [19216] = 0x6E59 , + [19217] = 0x2163E , + [19218] = 0x5A24 , + [19219] = 0x5553 , + [19220] = 0x21692 , + [19221] = 0x8505 , + [19222] = 0x59C9 , + [19223] = 0x20D4E , + [19224] = 0x26C81 , + [19225] = 0x26D2A , + [19226] = 0x217DC , + [19227] = 0x59D9 , + [19228] = 0x217FB , + [19229] = 0x217B2 , + [19230] = 0x26DA6 , + [19231] = 0x6D71 , + [19232] = 0x21828 , + [19233] = 0x216D5 , + [19234] = 0x59F9 , + [19235] = 0x26E45 , + [19236] = 0x5AAB , + [19237] = 0x5A63 , + [19238] = 0x36E6 , + [19239] = 0x249A9 , + [19240] = 0x5A77 , + [19241] = 0x3708 , + [19242] = 0x5A96 , + [19243] = 0x7465 , + [19244] = 0x5AD3 , + [19245] = 0x26FA1 , + [19246] = 0x22554 , + [19247] = 0x3D85 , + [19248] = 0x21911 , + [19249] = 0x3732 , + [19250] = 0x216B8 , + [19251] = 0x5E83 , + [19252] = 0x52D0 , + [19253] = 0x5B76 , + [19254] = 0x6588 , + [19255] = 0x5B7C , + [19256] = 0x27A0E , + [19257] = 0x4004 , + [19258] = 0x485D , + [19259] = 0x20204 , + [19260] = 0x5BD5 , + [19261] = 0x6160 , + [19262] = 0x21A34 , + [19263] = 0x259CC , + [19264] = 0x205A5 , + [19265] = 0x5BF3 , + [19266] = 0x5B9D , + [19267] = 0x4D10 , + [19268] = 0x5C05 , + [19269] = 0x21B44 , + [19270] = 0x5C13 , + [19271] = 0x73CE , + [19272] = 0x5C14 , + [19273] = 0x21CA5 , + [19274] = 0x26B28 , + [19275] = 0x5C49 , + [19276] = 0x48DD , + [19277] = 0x5C85 , + [19278] = 0x5CE9 , + [19279] = 0x5CEF , + [19280] = 0x5D8B , + [19281] = 0x21DF9 , + [19282] = 0x21E37 , + [19283] = 0x5D10 , + [19284] = 0x5D18 , + [19285] = 0x5D46 , + [19286] = 0x21EA4 , + [19287] = 0x5CBA , + [19288] = 0x5DD7 , + [19289] = 0x82FC , + [19290] = 0x382D , + [19291] = 0x24901 , + [19292] = 0x22049 , + [19293] = 0x22173 , + [19294] = 0x8287 , + [19295] = 0x3836 , + [19296] = 0x3BC2 , + [19297] = 0x5E2E , + [19298] = 0x6A8A , + [19299] = 0x5E75 , + [19300] = 0x5E7A , + [19301] = 0x244BC , + [19302] = 0x20CD3 , + [19303] = 0x53A6 , + [19304] = 0x4EB7 , + [19305] = 0x5ED0 , + [19306] = 0x53A8 , + [19307] = 0x21771 , + [19308] = 0x5E09 , + [19309] = 0x5EF4 , + [19310] = 0x28482 , + [19311] = 0x5EF9 , + [19312] = 0x5EFB , + [19313] = 0x38A0 , + [19314] = 0x5EFC , + [19315] = 0x683E , + [19316] = 0x941B , + [19317] = 0x5F0D , + [19318] = 0x201C1 , + [19319] = 0x2F894 , + [19320] = 0x3ADE , + [19321] = 0x48AE , + [19322] = 0x2133A , + [19323] = 0x5F3A , + [19324] = 0x26888 , + [19325] = 0x223D0 , + [19326] = 0x5F58 , + [19327] = 0x22471 , + [19328] = 0x5F63 , + [19329] = 0x97BD , + [19330] = 0x26E6E , + [19331] = 0x5F72 , + [19332] = 0x9340 , + [19333] = 0x28A36 , + [19334] = 0x5FA7 , + [19335] = 0x5DB6 , + [19336] = 0x3D5F , + [19337] = 0x25250 , + [19338] = 0x21F6A , + [19339] = 0x270F8 , + [19340] = 0x22668 , + [19341] = 0x91D6 , + [19342] = 0x2029E , + [19343] = 0x28A29 , + [19344] = 0x6031 , + [19345] = 0x6685 , + [19346] = 0x21877 , + [19347] = 0x3963 , + [19348] = 0x3DC7 , + [19349] = 0x3639 , + [19350] = 0x5790 , + [19351] = 0x227B4 , + [19352] = 0x7971 , + [19353] = 0x3E40 , + [19354] = 0x609E , + [19355] = 0x60A4 , + [19356] = 0x60B3 , + [19357] = 0x24982 , + [19358] = 0x2498F , + [19359] = 0x27A53 , + [19360] = 0x74A4 , + [19361] = 0x50E1 , + [19362] = 0x5AA0 , + [19363] = 0x6164 , + [19364] = 0x8424 , + [19365] = 0x6142 , + [19366] = 0x2F8A6 , + [19367] = 0x26ED2 , + [19368] = 0x6181 , + [19369] = 0x51F4 , + [19370] = 0x20656 , + [19371] = 0x6187 , + [19372] = 0x5BAA , + [19373] = 0x23FB7 , + [19374] = 0x2285F , + [19375] = 0x61D3 , + [19376] = 0x28B9D , + [19377] = 0x2995D , + [19378] = 0x61D0 , + [19379] = 0x3932 , + [19380] = 0x22980 , + [19381] = 0x228C1 , + [19382] = 0x6023 , + [19383] = 0x615C , + [19384] = 0x651E , + [19385] = 0x638B , + [19386] = 0x20118 , + [19387] = 0x62C5 , + [19388] = 0x21770 , + [19389] = 0x62D5 , + [19390] = 0x22E0D , + [19391] = 0x636C , + [19392] = 0x249DF , + [19393] = 0x3A17 , + [19394] = 0x6438 , + [19395] = 0x63F8 , + [19396] = 0x2138E , + [19397] = 0x217FC , + [19398] = 0x6490 , + [19399] = 0x6F8A , + [19400] = 0x22E36 , + [19401] = 0x9814 , + [19402] = 0x2408C , + [19403] = 0x2571D , + [19404] = 0x64E1 , + [19405] = 0x64E5 , + [19406] = 0x947B , + [19407] = 0x3A66 , + [19408] = 0x643A , + [19409] = 0x3A57 , + [19410] = 0x654D , + [19411] = 0x6F16 , + [19412] = 0x24A28 , + [19413] = 0x24A23 , + [19414] = 0x6585 , + [19415] = 0x656D , + [19416] = 0x655F , + [19417] = 0x2307E , + [19418] = 0x65B5 , + [19419] = 0x24940 , + [19420] = 0x4B37 , + [19421] = 0x65D1 , + [19422] = 0x40D8 , + [19423] = 0x21829 , + [19424] = 0x65E0 , + [19425] = 0x65E3 , + [19426] = 0x5FDF , + [19427] = 0x23400 , + [19428] = 0x6618 , + [19429] = 0x231F7 , + [19430] = 0x231F8 , + [19431] = 0x6644 , + [19432] = 0x231A4 , + [19433] = 0x231A5 , + [19434] = 0x664B , + [19435] = 0x20E75 , + [19436] = 0x6667 , + [19437] = 0x251E6 , + [19438] = 0x6673 , + [19439] = 0x6674 , + [19440] = 0x21E3D , + [19441] = 0x23231 , + [19442] = 0x285F4 , + [19443] = 0x231C8 , + [19444] = 0x25313 , + [19445] = 0x77C5 , + [19446] = 0x228F7 , + [19447] = 0x99A4 , + [19448] = 0x6702 , + [19449] = 0x2439C , + [19450] = 0x24A21 , + [19451] = 0x3B2B , + [19452] = 0x69FA , + [19453] = 0x237C2 , + [19454] = 0x675E , + [19455] = 0x6767 , + [19456] = 0x6762 , + [19457] = 0x241CD , + [19458] = 0x290ED , + [19459] = 0x67D7 , + [19460] = 0x44E9 , + [19461] = 0x6822 , + [19462] = 0x6E50 , + [19463] = 0x923C , + [19464] = 0x6801 , + [19465] = 0x233E6 , + [19466] = 0x26DA0 , + [19467] = 0x685D , + [19468] = 0x2346F , + [19469] = 0x69E1 , + [19470] = 0x6A0B , + [19471] = 0x28ADF , + [19472] = 0x6973 , + [19473] = 0x68C3 , + [19474] = 0x235CD , + [19475] = 0x6901 , + [19476] = 0x6900 , + [19477] = 0x3D32 , + [19478] = 0x3A01 , + [19479] = 0x2363C , + [19480] = 0x3B80 , + [19481] = 0x67AC , + [19482] = 0x6961 , + [19483] = 0x28A4A , + [19484] = 0x42FC , + [19485] = 0x6936 , + [19486] = 0x6998 , + [19487] = 0x3BA1 , + [19488] = 0x203C9 , + [19489] = 0x8363 , + [19490] = 0x5090 , + [19491] = 0x69F9 , + [19492] = 0x23659 , + [19493] = 0x2212A , + [19494] = 0x6A45 , + [19495] = 0x23703 , + [19496] = 0x6A9D , + [19497] = 0x3BF3 , + [19498] = 0x67B1 , + [19499] = 0x6AC8 , + [19500] = 0x2919C , + [19501] = 0x3C0D , + [19502] = 0x6B1D , + [19503] = 0x20923 , + [19504] = 0x60DE , + [19505] = 0x6B35 , + [19506] = 0x6B74 , + [19507] = 0x227CD , + [19508] = 0x6EB5 , + [19509] = 0x23ADB , + [19510] = 0x203B5 , + [19511] = 0x21958 , + [19512] = 0x3740 , + [19513] = 0x5421 , + [19514] = 0x23B5A , + [19515] = 0x6BE1 , + [19516] = 0x23EFC , + [19517] = 0x6BDC , + [19518] = 0x6C37 , + [19519] = 0x2248B , + [19520] = 0x248F1 , + [19521] = 0x26B51 , + [19522] = 0x6C5A , + [19523] = 0x8226 , + [19524] = 0x6C79 , + [19525] = 0x23DBC , + [19526] = 0x44C5 , + [19527] = 0x23DBD , + [19528] = 0x241A4 , + [19529] = 0x2490C , + [19530] = 0x24900 , + [19531] = 0x23CC9 , + [19532] = 0x36E5 , + [19533] = 0x3CEB , + [19534] = 0x20D32 , + [19535] = 0x9B83 , + [19536] = 0x231F9 , + [19537] = 0x22491 , + [19538] = 0x7F8F , + [19539] = 0x6837 , + [19540] = 0x26D25 , + [19541] = 0x26DA1 , + [19542] = 0x26DEB , + [19543] = 0x6D96 , + [19544] = 0x6D5C , + [19545] = 0x6E7C , + [19546] = 0x6F04 , + [19547] = 0x2497F , + [19548] = 0x24085 , + [19549] = 0x26E72 , + [19550] = 0x8533 , + [19551] = 0x26F74 , + [19552] = 0x51C7 , + [19553] = 0x6C9C , + [19554] = 0x6E1D , + [19555] = 0x842E , + [19556] = 0x28B21 , + [19557] = 0x6E2F , + [19558] = 0x23E2F , + [19559] = 0x7453 , + [19560] = 0x23F82 , + [19561] = 0x79CC , + [19562] = 0x6E4F , + [19563] = 0x5A91 , + [19564] = 0x2304B , + [19565] = 0x6FF8 , + [19566] = 0x370D , + [19567] = 0x6F9D , + [19568] = 0x23E30 , + [19569] = 0x6EFA , + [19570] = 0x21497 , + [19571] = 0x2403D , + [19572] = 0x4555 , + [19573] = 0x93F0 , + [19574] = 0x6F44 , + [19575] = 0x6F5C , + [19576] = 0x3D4E , + [19577] = 0x6F74 , + [19578] = 0x29170 , + [19579] = 0x3D3B , + [19580] = 0x6F9F , + [19581] = 0x24144 , + [19582] = 0x6FD3 , + [19583] = 0x24091 , + [19584] = 0x24155 , + [19585] = 0x24039 , + [19586] = 0x23FF0 , + [19587] = 0x23FB4 , + [19588] = 0x2413F , + [19589] = 0x51DF , + [19590] = 0x24156 , + [19591] = 0x24157 , + [19592] = 0x24140 , + [19593] = 0x261DD , + [19594] = 0x704B , + [19595] = 0x707E , + [19596] = 0x70A7 , + [19597] = 0x7081 , + [19598] = 0x70CC , + [19599] = 0x70D5 , + [19600] = 0x70D6 , + [19601] = 0x70DF , + [19602] = 0x4104 , + [19603] = 0x3DE8 , + [19604] = 0x71B4 , + [19605] = 0x7196 , + [19606] = 0x24277 , + [19607] = 0x712B , + [19608] = 0x7145 , + [19609] = 0x5A88 , + [19610] = 0x714A , + [19611] = 0x716E , + [19612] = 0x5C9C , + [19613] = 0x24365 , + [19614] = 0x714F , + [19615] = 0x9362 , + [19616] = 0x242C1 , + [19617] = 0x712C , + [19618] = 0x2445A , + [19619] = 0x24A27 , + [19620] = 0x24A22 , + [19621] = 0x71BA , + [19622] = 0x28BE8 , + [19623] = 0x70BD , + [19624] = 0x720E , + [19625] = 0x9442 , + [19626] = 0x7215 , + [19627] = 0x5911 , + [19628] = 0x9443 , + [19629] = 0x7224 , + [19630] = 0x9341 , + [19631] = 0x25605 , + [19632] = 0x722E , + [19633] = 0x7240 , + [19634] = 0x24974 , + [19635] = 0x68BD , + [19636] = 0x7255 , + [19637] = 0x7257 , + [19638] = 0x3E55 , + [19639] = 0x23044 , + [19640] = 0x680D , + [19641] = 0x6F3D , + [19642] = 0x7282 , + [19643] = 0x732A , + [19644] = 0x732B , + [19645] = 0x24823 , + [19646] = 0x2882B , + [19647] = 0x48ED , + [19648] = 0x28804 , + [19649] = 0x7328 , + [19650] = 0x732E , + [19651] = 0x73CF , + [19652] = 0x73AA , + [19653] = 0x20C3A , + [19654] = 0x26A2E , + [19655] = 0x73C9 , + [19656] = 0x7449 , + [19657] = 0x241E2 , + [19658] = 0x216E7 , + [19659] = 0x24A24 , + [19660] = 0x6623 , + [19661] = 0x36C5 , + [19662] = 0x249B7 , + [19663] = 0x2498D , + [19664] = 0x249FB , + [19665] = 0x73F7 , + [19666] = 0x7415 , + [19667] = 0x6903 , + [19668] = 0x24A26 , + [19669] = 0x7439 , + [19670] = 0x205C3 , + [19671] = 0x3ED7 , + [19672] = 0x745C , + [19673] = 0x228AD , + [19674] = 0x7460 , + [19675] = 0x28EB2 , + [19676] = 0x7447 , + [19677] = 0x73E4 , + [19678] = 0x7476 , + [19679] = 0x83B9 , + [19680] = 0x746C , + [19681] = 0x3730 , + [19682] = 0x7474 , + [19683] = 0x93F1 , + [19684] = 0x6A2C , + [19685] = 0x7482 , + [19686] = 0x4953 , + [19687] = 0x24A8C , + [19688] = 0x2415F , + [19689] = 0x24A79 , + [19690] = 0x28B8F , + [19691] = 0x5B46 , + [19692] = 0x28C03 , + [19693] = 0x2189E , + [19694] = 0x74C8 , + [19695] = 0x21988 , + [19696] = 0x750E , + [19697] = 0x74E9 , + [19698] = 0x751E , + [19699] = 0x28ED9 , + [19700] = 0x21A4B , + [19701] = 0x5BD7 , + [19702] = 0x28EAC , + [19703] = 0x9385 , + [19704] = 0x754D , + [19705] = 0x754A , + [19706] = 0x7567 , + [19707] = 0x756E , + [19708] = 0x24F82 , + [19709] = 0x3F04 , + [19710] = 0x24D13 , + [19711] = 0x758E , + [19712] = 0x745D , + [19713] = 0x759E , + [19714] = 0x75B4 , + [19715] = 0x7602 , + [19716] = 0x762C , + [19717] = 0x7651 , + [19718] = 0x764F , + [19719] = 0x766F , + [19720] = 0x7676 , + [19721] = 0x263F5 , + [19722] = 0x7690 , + [19723] = 0x81EF , + [19724] = 0x37F8 , + [19725] = 0x26911 , + [19726] = 0x2690E , + [19727] = 0x76A1 , + [19728] = 0x76A5 , + [19729] = 0x76B7 , + [19730] = 0x76CC , + [19731] = 0x26F9F , + [19732] = 0x8462 , + [19733] = 0x2509D , + [19734] = 0x2517D , + [19735] = 0x21E1C , + [19736] = 0x771E , + [19737] = 0x7726 , + [19738] = 0x7740 , + [19739] = 0x64AF , + [19740] = 0x25220 , + [19741] = 0x7758 , + [19742] = 0x232AC , + [19743] = 0x77AF , + [19744] = 0x28964 , + [19745] = 0x28968 , + [19746] = 0x216C1 , + [19747] = 0x77F4 , + [19748] = 0x7809 , + [19749] = 0x21376 , + [19750] = 0x24A12 , + [19751] = 0x68CA , + [19752] = 0x78AF , + [19753] = 0x78C7 , + [19754] = 0x78D3 , + [19755] = 0x96A5 , + [19756] = 0x792E , + [19757] = 0x255E0 , + [19758] = 0x78D7 , + [19759] = 0x7934 , + [19760] = 0x78B1 , + [19761] = 0x2760C , + [19762] = 0x8FB8 , + [19763] = 0x8884 , + [19764] = 0x28B2B , + [19765] = 0x26083 , + [19766] = 0x2261C , + [19767] = 0x7986 , + [19768] = 0x8900 , + [19769] = 0x6902 , + [19770] = 0x7980 , + [19771] = 0x25857 , + [19772] = 0x799D , + [19773] = 0x27B39 , + [19774] = 0x793C , + [19775] = 0x79A9 , + [19776] = 0x6E2A , + [19777] = 0x27126 , + [19778] = 0x3EA8 , + [19779] = 0x79C6 , + [19780] = 0x2910D , + [19781] = 0x79D4 , + } , + ["gb18030"] = { + [0] = 0x4E02 , + [1] = 0x4E04 , + [2] = 0x4E05 , + [3] = 0x4E06 , + [4] = 0x4E0F , + [5] = 0x4E12 , + [6] = 0x4E17 , + [7] = 0x4E1F , + [8] = 0x4E20 , + [9] = 0x4E21 , + [10] = 0x4E23 , + [11] = 0x4E26 , + [12] = 0x4E29 , + [13] = 0x4E2E , + [14] = 0x4E2F , + [15] = 0x4E31 , + [16] = 0x4E33 , + [17] = 0x4E35 , + [18] = 0x4E37 , + [19] = 0x4E3C , + [20] = 0x4E40 , + [21] = 0x4E41 , + [22] = 0x4E42 , + [23] = 0x4E44 , + [24] = 0x4E46 , + [25] = 0x4E4A , + [26] = 0x4E51 , + [27] = 0x4E55 , + [28] = 0x4E57 , + [29] = 0x4E5A , + [30] = 0x4E5B , + [31] = 0x4E62 , + [32] = 0x4E63 , + [33] = 0x4E64 , + [34] = 0x4E65 , + [35] = 0x4E67 , + [36] = 0x4E68 , + [37] = 0x4E6A , + [38] = 0x4E6B , + [39] = 0x4E6C , + [40] = 0x4E6D , + [41] = 0x4E6E , + [42] = 0x4E6F , + [43] = 0x4E72 , + [44] = 0x4E74 , + [45] = 0x4E75 , + [46] = 0x4E76 , + [47] = 0x4E77 , + [48] = 0x4E78 , + [49] = 0x4E79 , + [50] = 0x4E7A , + [51] = 0x4E7B , + [52] = 0x4E7C , + [53] = 0x4E7D , + [54] = 0x4E7F , + [55] = 0x4E80 , + [56] = 0x4E81 , + [57] = 0x4E82 , + [58] = 0x4E83 , + [59] = 0x4E84 , + [60] = 0x4E85 , + [61] = 0x4E87 , + [62] = 0x4E8A , + [63] = 0x4E90 , + [64] = 0x4E96 , + [65] = 0x4E97 , + [66] = 0x4E99 , + [67] = 0x4E9C , + [68] = 0x4E9D , + [69] = 0x4E9E , + [70] = 0x4EA3 , + [71] = 0x4EAA , + [72] = 0x4EAF , + [73] = 0x4EB0 , + [74] = 0x4EB1 , + [75] = 0x4EB4 , + [76] = 0x4EB6 , + [77] = 0x4EB7 , + [78] = 0x4EB8 , + [79] = 0x4EB9 , + [80] = 0x4EBC , + [81] = 0x4EBD , + [82] = 0x4EBE , + [83] = 0x4EC8 , + [84] = 0x4ECC , + [85] = 0x4ECF , + [86] = 0x4ED0 , + [87] = 0x4ED2 , + [88] = 0x4EDA , + [89] = 0x4EDB , + [90] = 0x4EDC , + [91] = 0x4EE0 , + [92] = 0x4EE2 , + [93] = 0x4EE6 , + [94] = 0x4EE7 , + [95] = 0x4EE9 , + [96] = 0x4EED , + [97] = 0x4EEE , + [98] = 0x4EEF , + [99] = 0x4EF1 , + [100] = 0x4EF4 , + [101] = 0x4EF8 , + [102] = 0x4EF9 , + [103] = 0x4EFA , + [104] = 0x4EFC , + [105] = 0x4EFE , + [106] = 0x4F00 , + [107] = 0x4F02 , + [108] = 0x4F03 , + [109] = 0x4F04 , + [110] = 0x4F05 , + [111] = 0x4F06 , + [112] = 0x4F07 , + [113] = 0x4F08 , + [114] = 0x4F0B , + [115] = 0x4F0C , + [116] = 0x4F12 , + [117] = 0x4F13 , + [118] = 0x4F14 , + [119] = 0x4F15 , + [120] = 0x4F16 , + [121] = 0x4F1C , + [122] = 0x4F1D , + [123] = 0x4F21 , + [124] = 0x4F23 , + [125] = 0x4F28 , + [126] = 0x4F29 , + [127] = 0x4F2C , + [128] = 0x4F2D , + [129] = 0x4F2E , + [130] = 0x4F31 , + [131] = 0x4F33 , + [132] = 0x4F35 , + [133] = 0x4F37 , + [134] = 0x4F39 , + [135] = 0x4F3B , + [136] = 0x4F3E , + [137] = 0x4F3F , + [138] = 0x4F40 , + [139] = 0x4F41 , + [140] = 0x4F42 , + [141] = 0x4F44 , + [142] = 0x4F45 , + [143] = 0x4F47 , + [144] = 0x4F48 , + [145] = 0x4F49 , + [146] = 0x4F4A , + [147] = 0x4F4B , + [148] = 0x4F4C , + [149] = 0x4F52 , + [150] = 0x4F54 , + [151] = 0x4F56 , + [152] = 0x4F61 , + [153] = 0x4F62 , + [154] = 0x4F66 , + [155] = 0x4F68 , + [156] = 0x4F6A , + [157] = 0x4F6B , + [158] = 0x4F6D , + [159] = 0x4F6E , + [160] = 0x4F71 , + [161] = 0x4F72 , + [162] = 0x4F75 , + [163] = 0x4F77 , + [164] = 0x4F78 , + [165] = 0x4F79 , + [166] = 0x4F7A , + [167] = 0x4F7D , + [168] = 0x4F80 , + [169] = 0x4F81 , + [170] = 0x4F82 , + [171] = 0x4F85 , + [172] = 0x4F86 , + [173] = 0x4F87 , + [174] = 0x4F8A , + [175] = 0x4F8C , + [176] = 0x4F8E , + [177] = 0x4F90 , + [178] = 0x4F92 , + [179] = 0x4F93 , + [180] = 0x4F95 , + [181] = 0x4F96 , + [182] = 0x4F98 , + [183] = 0x4F99 , + [184] = 0x4F9A , + [185] = 0x4F9C , + [186] = 0x4F9E , + [187] = 0x4F9F , + [188] = 0x4FA1 , + [189] = 0x4FA2 , + [190] = 0x4FA4 , + [191] = 0x4FAB , + [192] = 0x4FAD , + [193] = 0x4FB0 , + [194] = 0x4FB1 , + [195] = 0x4FB2 , + [196] = 0x4FB3 , + [197] = 0x4FB4 , + [198] = 0x4FB6 , + [199] = 0x4FB7 , + [200] = 0x4FB8 , + [201] = 0x4FB9 , + [202] = 0x4FBA , + [203] = 0x4FBB , + [204] = 0x4FBC , + [205] = 0x4FBD , + [206] = 0x4FBE , + [207] = 0x4FC0 , + [208] = 0x4FC1 , + [209] = 0x4FC2 , + [210] = 0x4FC6 , + [211] = 0x4FC7 , + [212] = 0x4FC8 , + [213] = 0x4FC9 , + [214] = 0x4FCB , + [215] = 0x4FCC , + [216] = 0x4FCD , + [217] = 0x4FD2 , + [218] = 0x4FD3 , + [219] = 0x4FD4 , + [220] = 0x4FD5 , + [221] = 0x4FD6 , + [222] = 0x4FD9 , + [223] = 0x4FDB , + [224] = 0x4FE0 , + [225] = 0x4FE2 , + [226] = 0x4FE4 , + [227] = 0x4FE5 , + [228] = 0x4FE7 , + [229] = 0x4FEB , + [230] = 0x4FEC , + [231] = 0x4FF0 , + [232] = 0x4FF2 , + [233] = 0x4FF4 , + [234] = 0x4FF5 , + [235] = 0x4FF6 , + [236] = 0x4FF7 , + [237] = 0x4FF9 , + [238] = 0x4FFB , + [239] = 0x4FFC , + [240] = 0x4FFD , + [241] = 0x4FFF , + [242] = 0x5000 , + [243] = 0x5001 , + [244] = 0x5002 , + [245] = 0x5003 , + [246] = 0x5004 , + [247] = 0x5005 , + [248] = 0x5006 , + [249] = 0x5007 , + [250] = 0x5008 , + [251] = 0x5009 , + [252] = 0x500A , + [253] = 0x500B , + [254] = 0x500E , + [255] = 0x5010 , + [256] = 0x5011 , + [257] = 0x5013 , + [258] = 0x5015 , + [259] = 0x5016 , + [260] = 0x5017 , + [261] = 0x501B , + [262] = 0x501D , + [263] = 0x501E , + [264] = 0x5020 , + [265] = 0x5022 , + [266] = 0x5023 , + [267] = 0x5024 , + [268] = 0x5027 , + [269] = 0x502B , + [270] = 0x502F , + [271] = 0x5030 , + [272] = 0x5031 , + [273] = 0x5032 , + [274] = 0x5033 , + [275] = 0x5034 , + [276] = 0x5035 , + [277] = 0x5036 , + [278] = 0x5037 , + [279] = 0x5038 , + [280] = 0x5039 , + [281] = 0x503B , + [282] = 0x503D , + [283] = 0x503F , + [284] = 0x5040 , + [285] = 0x5041 , + [286] = 0x5042 , + [287] = 0x5044 , + [288] = 0x5045 , + [289] = 0x5046 , + [290] = 0x5049 , + [291] = 0x504A , + [292] = 0x504B , + [293] = 0x504D , + [294] = 0x5050 , + [295] = 0x5051 , + [296] = 0x5052 , + [297] = 0x5053 , + [298] = 0x5054 , + [299] = 0x5056 , + [300] = 0x5057 , + [301] = 0x5058 , + [302] = 0x5059 , + [303] = 0x505B , + [304] = 0x505D , + [305] = 0x505E , + [306] = 0x505F , + [307] = 0x5060 , + [308] = 0x5061 , + [309] = 0x5062 , + [310] = 0x5063 , + [311] = 0x5064 , + [312] = 0x5066 , + [313] = 0x5067 , + [314] = 0x5068 , + [315] = 0x5069 , + [316] = 0x506A , + [317] = 0x506B , + [318] = 0x506D , + [319] = 0x506E , + [320] = 0x506F , + [321] = 0x5070 , + [322] = 0x5071 , + [323] = 0x5072 , + [324] = 0x5073 , + [325] = 0x5074 , + [326] = 0x5075 , + [327] = 0x5078 , + [328] = 0x5079 , + [329] = 0x507A , + [330] = 0x507C , + [331] = 0x507D , + [332] = 0x5081 , + [333] = 0x5082 , + [334] = 0x5083 , + [335] = 0x5084 , + [336] = 0x5086 , + [337] = 0x5087 , + [338] = 0x5089 , + [339] = 0x508A , + [340] = 0x508B , + [341] = 0x508C , + [342] = 0x508E , + [343] = 0x508F , + [344] = 0x5090 , + [345] = 0x5091 , + [346] = 0x5092 , + [347] = 0x5093 , + [348] = 0x5094 , + [349] = 0x5095 , + [350] = 0x5096 , + [351] = 0x5097 , + [352] = 0x5098 , + [353] = 0x5099 , + [354] = 0x509A , + [355] = 0x509B , + [356] = 0x509C , + [357] = 0x509D , + [358] = 0x509E , + [359] = 0x509F , + [360] = 0x50A0 , + [361] = 0x50A1 , + [362] = 0x50A2 , + [363] = 0x50A4 , + [364] = 0x50A6 , + [365] = 0x50AA , + [366] = 0x50AB , + [367] = 0x50AD , + [368] = 0x50AE , + [369] = 0x50AF , + [370] = 0x50B0 , + [371] = 0x50B1 , + [372] = 0x50B3 , + [373] = 0x50B4 , + [374] = 0x50B5 , + [375] = 0x50B6 , + [376] = 0x50B7 , + [377] = 0x50B8 , + [378] = 0x50B9 , + [379] = 0x50BC , + [380] = 0x50BD , + [381] = 0x50BE , + [382] = 0x50BF , + [383] = 0x50C0 , + [384] = 0x50C1 , + [385] = 0x50C2 , + [386] = 0x50C3 , + [387] = 0x50C4 , + [388] = 0x50C5 , + [389] = 0x50C6 , + [390] = 0x50C7 , + [391] = 0x50C8 , + [392] = 0x50C9 , + [393] = 0x50CA , + [394] = 0x50CB , + [395] = 0x50CC , + [396] = 0x50CD , + [397] = 0x50CE , + [398] = 0x50D0 , + [399] = 0x50D1 , + [400] = 0x50D2 , + [401] = 0x50D3 , + [402] = 0x50D4 , + [403] = 0x50D5 , + [404] = 0x50D7 , + [405] = 0x50D8 , + [406] = 0x50D9 , + [407] = 0x50DB , + [408] = 0x50DC , + [409] = 0x50DD , + [410] = 0x50DE , + [411] = 0x50DF , + [412] = 0x50E0 , + [413] = 0x50E1 , + [414] = 0x50E2 , + [415] = 0x50E3 , + [416] = 0x50E4 , + [417] = 0x50E5 , + [418] = 0x50E8 , + [419] = 0x50E9 , + [420] = 0x50EA , + [421] = 0x50EB , + [422] = 0x50EF , + [423] = 0x50F0 , + [424] = 0x50F1 , + [425] = 0x50F2 , + [426] = 0x50F4 , + [427] = 0x50F6 , + [428] = 0x50F7 , + [429] = 0x50F8 , + [430] = 0x50F9 , + [431] = 0x50FA , + [432] = 0x50FC , + [433] = 0x50FD , + [434] = 0x50FE , + [435] = 0x50FF , + [436] = 0x5100 , + [437] = 0x5101 , + [438] = 0x5102 , + [439] = 0x5103 , + [440] = 0x5104 , + [441] = 0x5105 , + [442] = 0x5108 , + [443] = 0x5109 , + [444] = 0x510A , + [445] = 0x510C , + [446] = 0x510D , + [447] = 0x510E , + [448] = 0x510F , + [449] = 0x5110 , + [450] = 0x5111 , + [451] = 0x5113 , + [452] = 0x5114 , + [453] = 0x5115 , + [454] = 0x5116 , + [455] = 0x5117 , + [456] = 0x5118 , + [457] = 0x5119 , + [458] = 0x511A , + [459] = 0x511B , + [460] = 0x511C , + [461] = 0x511D , + [462] = 0x511E , + [463] = 0x511F , + [464] = 0x5120 , + [465] = 0x5122 , + [466] = 0x5123 , + [467] = 0x5124 , + [468] = 0x5125 , + [469] = 0x5126 , + [470] = 0x5127 , + [471] = 0x5128 , + [472] = 0x5129 , + [473] = 0x512A , + [474] = 0x512B , + [475] = 0x512C , + [476] = 0x512D , + [477] = 0x512E , + [478] = 0x512F , + [479] = 0x5130 , + [480] = 0x5131 , + [481] = 0x5132 , + [482] = 0x5133 , + [483] = 0x5134 , + [484] = 0x5135 , + [485] = 0x5136 , + [486] = 0x5137 , + [487] = 0x5138 , + [488] = 0x5139 , + [489] = 0x513A , + [490] = 0x513B , + [491] = 0x513C , + [492] = 0x513D , + [493] = 0x513E , + [494] = 0x5142 , + [495] = 0x5147 , + [496] = 0x514A , + [497] = 0x514C , + [498] = 0x514E , + [499] = 0x514F , + [500] = 0x5150 , + [501] = 0x5152 , + [502] = 0x5153 , + [503] = 0x5157 , + [504] = 0x5158 , + [505] = 0x5159 , + [506] = 0x515B , + [507] = 0x515D , + [508] = 0x515E , + [509] = 0x515F , + [510] = 0x5160 , + [511] = 0x5161 , + [512] = 0x5163 , + [513] = 0x5164 , + [514] = 0x5166 , + [515] = 0x5167 , + [516] = 0x5169 , + [517] = 0x516A , + [518] = 0x516F , + [519] = 0x5172 , + [520] = 0x517A , + [521] = 0x517E , + [522] = 0x517F , + [523] = 0x5183 , + [524] = 0x5184 , + [525] = 0x5186 , + [526] = 0x5187 , + [527] = 0x518A , + [528] = 0x518B , + [529] = 0x518E , + [530] = 0x518F , + [531] = 0x5190 , + [532] = 0x5191 , + [533] = 0x5193 , + [534] = 0x5194 , + [535] = 0x5198 , + [536] = 0x519A , + [537] = 0x519D , + [538] = 0x519E , + [539] = 0x519F , + [540] = 0x51A1 , + [541] = 0x51A3 , + [542] = 0x51A6 , + [543] = 0x51A7 , + [544] = 0x51A8 , + [545] = 0x51A9 , + [546] = 0x51AA , + [547] = 0x51AD , + [548] = 0x51AE , + [549] = 0x51B4 , + [550] = 0x51B8 , + [551] = 0x51B9 , + [552] = 0x51BA , + [553] = 0x51BE , + [554] = 0x51BF , + [555] = 0x51C1 , + [556] = 0x51C2 , + [557] = 0x51C3 , + [558] = 0x51C5 , + [559] = 0x51C8 , + [560] = 0x51CA , + [561] = 0x51CD , + [562] = 0x51CE , + [563] = 0x51D0 , + [564] = 0x51D2 , + [565] = 0x51D3 , + [566] = 0x51D4 , + [567] = 0x51D5 , + [568] = 0x51D6 , + [569] = 0x51D7 , + [570] = 0x51D8 , + [571] = 0x51D9 , + [572] = 0x51DA , + [573] = 0x51DC , + [574] = 0x51DE , + [575] = 0x51DF , + [576] = 0x51E2 , + [577] = 0x51E3 , + [578] = 0x51E5 , + [579] = 0x51E6 , + [580] = 0x51E7 , + [581] = 0x51E8 , + [582] = 0x51E9 , + [583] = 0x51EA , + [584] = 0x51EC , + [585] = 0x51EE , + [586] = 0x51F1 , + [587] = 0x51F2 , + [588] = 0x51F4 , + [589] = 0x51F7 , + [590] = 0x51FE , + [591] = 0x5204 , + [592] = 0x5205 , + [593] = 0x5209 , + [594] = 0x520B , + [595] = 0x520C , + [596] = 0x520F , + [597] = 0x5210 , + [598] = 0x5213 , + [599] = 0x5214 , + [600] = 0x5215 , + [601] = 0x521C , + [602] = 0x521E , + [603] = 0x521F , + [604] = 0x5221 , + [605] = 0x5222 , + [606] = 0x5223 , + [607] = 0x5225 , + [608] = 0x5226 , + [609] = 0x5227 , + [610] = 0x522A , + [611] = 0x522C , + [612] = 0x522F , + [613] = 0x5231 , + [614] = 0x5232 , + [615] = 0x5234 , + [616] = 0x5235 , + [617] = 0x523C , + [618] = 0x523E , + [619] = 0x5244 , + [620] = 0x5245 , + [621] = 0x5246 , + [622] = 0x5247 , + [623] = 0x5248 , + [624] = 0x5249 , + [625] = 0x524B , + [626] = 0x524E , + [627] = 0x524F , + [628] = 0x5252 , + [629] = 0x5253 , + [630] = 0x5255 , + [631] = 0x5257 , + [632] = 0x5258 , + [633] = 0x5259 , + [634] = 0x525A , + [635] = 0x525B , + [636] = 0x525D , + [637] = 0x525F , + [638] = 0x5260 , + [639] = 0x5262 , + [640] = 0x5263 , + [641] = 0x5264 , + [642] = 0x5266 , + [643] = 0x5268 , + [644] = 0x526B , + [645] = 0x526C , + [646] = 0x526D , + [647] = 0x526E , + [648] = 0x5270 , + [649] = 0x5271 , + [650] = 0x5273 , + [651] = 0x5274 , + [652] = 0x5275 , + [653] = 0x5276 , + [654] = 0x5277 , + [655] = 0x5278 , + [656] = 0x5279 , + [657] = 0x527A , + [658] = 0x527B , + [659] = 0x527C , + [660] = 0x527E , + [661] = 0x5280 , + [662] = 0x5283 , + [663] = 0x5284 , + [664] = 0x5285 , + [665] = 0x5286 , + [666] = 0x5287 , + [667] = 0x5289 , + [668] = 0x528A , + [669] = 0x528B , + [670] = 0x528C , + [671] = 0x528D , + [672] = 0x528E , + [673] = 0x528F , + [674] = 0x5291 , + [675] = 0x5292 , + [676] = 0x5294 , + [677] = 0x5295 , + [678] = 0x5296 , + [679] = 0x5297 , + [680] = 0x5298 , + [681] = 0x5299 , + [682] = 0x529A , + [683] = 0x529C , + [684] = 0x52A4 , + [685] = 0x52A5 , + [686] = 0x52A6 , + [687] = 0x52A7 , + [688] = 0x52AE , + [689] = 0x52AF , + [690] = 0x52B0 , + [691] = 0x52B4 , + [692] = 0x52B5 , + [693] = 0x52B6 , + [694] = 0x52B7 , + [695] = 0x52B8 , + [696] = 0x52B9 , + [697] = 0x52BA , + [698] = 0x52BB , + [699] = 0x52BC , + [700] = 0x52BD , + [701] = 0x52C0 , + [702] = 0x52C1 , + [703] = 0x52C2 , + [704] = 0x52C4 , + [705] = 0x52C5 , + [706] = 0x52C6 , + [707] = 0x52C8 , + [708] = 0x52CA , + [709] = 0x52CC , + [710] = 0x52CD , + [711] = 0x52CE , + [712] = 0x52CF , + [713] = 0x52D1 , + [714] = 0x52D3 , + [715] = 0x52D4 , + [716] = 0x52D5 , + [717] = 0x52D7 , + [718] = 0x52D9 , + [719] = 0x52DA , + [720] = 0x52DB , + [721] = 0x52DC , + [722] = 0x52DD , + [723] = 0x52DE , + [724] = 0x52E0 , + [725] = 0x52E1 , + [726] = 0x52E2 , + [727] = 0x52E3 , + [728] = 0x52E5 , + [729] = 0x52E6 , + [730] = 0x52E7 , + [731] = 0x52E8 , + [732] = 0x52E9 , + [733] = 0x52EA , + [734] = 0x52EB , + [735] = 0x52EC , + [736] = 0x52ED , + [737] = 0x52EE , + [738] = 0x52EF , + [739] = 0x52F1 , + [740] = 0x52F2 , + [741] = 0x52F3 , + [742] = 0x52F4 , + [743] = 0x52F5 , + [744] = 0x52F6 , + [745] = 0x52F7 , + [746] = 0x52F8 , + [747] = 0x52FB , + [748] = 0x52FC , + [749] = 0x52FD , + [750] = 0x5301 , + [751] = 0x5302 , + [752] = 0x5303 , + [753] = 0x5304 , + [754] = 0x5307 , + [755] = 0x5309 , + [756] = 0x530A , + [757] = 0x530B , + [758] = 0x530C , + [759] = 0x530E , + [760] = 0x5311 , + [761] = 0x5312 , + [762] = 0x5313 , + [763] = 0x5314 , + [764] = 0x5318 , + [765] = 0x531B , + [766] = 0x531C , + [767] = 0x531E , + [768] = 0x531F , + [769] = 0x5322 , + [770] = 0x5324 , + [771] = 0x5325 , + [772] = 0x5327 , + [773] = 0x5328 , + [774] = 0x5329 , + [775] = 0x532B , + [776] = 0x532C , + [777] = 0x532D , + [778] = 0x532F , + [779] = 0x5330 , + [780] = 0x5331 , + [781] = 0x5332 , + [782] = 0x5333 , + [783] = 0x5334 , + [784] = 0x5335 , + [785] = 0x5336 , + [786] = 0x5337 , + [787] = 0x5338 , + [788] = 0x533C , + [789] = 0x533D , + [790] = 0x5340 , + [791] = 0x5342 , + [792] = 0x5344 , + [793] = 0x5346 , + [794] = 0x534B , + [795] = 0x534C , + [796] = 0x534D , + [797] = 0x5350 , + [798] = 0x5354 , + [799] = 0x5358 , + [800] = 0x5359 , + [801] = 0x535B , + [802] = 0x535D , + [803] = 0x5365 , + [804] = 0x5368 , + [805] = 0x536A , + [806] = 0x536C , + [807] = 0x536D , + [808] = 0x5372 , + [809] = 0x5376 , + [810] = 0x5379 , + [811] = 0x537B , + [812] = 0x537C , + [813] = 0x537D , + [814] = 0x537E , + [815] = 0x5380 , + [816] = 0x5381 , + [817] = 0x5383 , + [818] = 0x5387 , + [819] = 0x5388 , + [820] = 0x538A , + [821] = 0x538E , + [822] = 0x538F , + [823] = 0x5390 , + [824] = 0x5391 , + [825] = 0x5392 , + [826] = 0x5393 , + [827] = 0x5394 , + [828] = 0x5396 , + [829] = 0x5397 , + [830] = 0x5399 , + [831] = 0x539B , + [832] = 0x539C , + [833] = 0x539E , + [834] = 0x53A0 , + [835] = 0x53A1 , + [836] = 0x53A4 , + [837] = 0x53A7 , + [838] = 0x53AA , + [839] = 0x53AB , + [840] = 0x53AC , + [841] = 0x53AD , + [842] = 0x53AF , + [843] = 0x53B0 , + [844] = 0x53B1 , + [845] = 0x53B2 , + [846] = 0x53B3 , + [847] = 0x53B4 , + [848] = 0x53B5 , + [849] = 0x53B7 , + [850] = 0x53B8 , + [851] = 0x53B9 , + [852] = 0x53BA , + [853] = 0x53BC , + [854] = 0x53BD , + [855] = 0x53BE , + [856] = 0x53C0 , + [857] = 0x53C3 , + [858] = 0x53C4 , + [859] = 0x53C5 , + [860] = 0x53C6 , + [861] = 0x53C7 , + [862] = 0x53CE , + [863] = 0x53CF , + [864] = 0x53D0 , + [865] = 0x53D2 , + [866] = 0x53D3 , + [867] = 0x53D5 , + [868] = 0x53DA , + [869] = 0x53DC , + [870] = 0x53DD , + [871] = 0x53DE , + [872] = 0x53E1 , + [873] = 0x53E2 , + [874] = 0x53E7 , + [875] = 0x53F4 , + [876] = 0x53FA , + [877] = 0x53FE , + [878] = 0x53FF , + [879] = 0x5400 , + [880] = 0x5402 , + [881] = 0x5405 , + [882] = 0x5407 , + [883] = 0x540B , + [884] = 0x5414 , + [885] = 0x5418 , + [886] = 0x5419 , + [887] = 0x541A , + [888] = 0x541C , + [889] = 0x5422 , + [890] = 0x5424 , + [891] = 0x5425 , + [892] = 0x542A , + [893] = 0x5430 , + [894] = 0x5433 , + [895] = 0x5436 , + [896] = 0x5437 , + [897] = 0x543A , + [898] = 0x543D , + [899] = 0x543F , + [900] = 0x5441 , + [901] = 0x5442 , + [902] = 0x5444 , + [903] = 0x5445 , + [904] = 0x5447 , + [905] = 0x5449 , + [906] = 0x544C , + [907] = 0x544D , + [908] = 0x544E , + [909] = 0x544F , + [910] = 0x5451 , + [911] = 0x545A , + [912] = 0x545D , + [913] = 0x545E , + [914] = 0x545F , + [915] = 0x5460 , + [916] = 0x5461 , + [917] = 0x5463 , + [918] = 0x5465 , + [919] = 0x5467 , + [920] = 0x5469 , + [921] = 0x546A , + [922] = 0x546B , + [923] = 0x546C , + [924] = 0x546D , + [925] = 0x546E , + [926] = 0x546F , + [927] = 0x5470 , + [928] = 0x5474 , + [929] = 0x5479 , + [930] = 0x547A , + [931] = 0x547E , + [932] = 0x547F , + [933] = 0x5481 , + [934] = 0x5483 , + [935] = 0x5485 , + [936] = 0x5487 , + [937] = 0x5488 , + [938] = 0x5489 , + [939] = 0x548A , + [940] = 0x548D , + [941] = 0x5491 , + [942] = 0x5493 , + [943] = 0x5497 , + [944] = 0x5498 , + [945] = 0x549C , + [946] = 0x549E , + [947] = 0x549F , + [948] = 0x54A0 , + [949] = 0x54A1 , + [950] = 0x54A2 , + [951] = 0x54A5 , + [952] = 0x54AE , + [953] = 0x54B0 , + [954] = 0x54B2 , + [955] = 0x54B5 , + [956] = 0x54B6 , + [957] = 0x54B7 , + [958] = 0x54B9 , + [959] = 0x54BA , + [960] = 0x54BC , + [961] = 0x54BE , + [962] = 0x54C3 , + [963] = 0x54C5 , + [964] = 0x54CA , + [965] = 0x54CB , + [966] = 0x54D6 , + [967] = 0x54D8 , + [968] = 0x54DB , + [969] = 0x54E0 , + [970] = 0x54E1 , + [971] = 0x54E2 , + [972] = 0x54E3 , + [973] = 0x54E4 , + [974] = 0x54EB , + [975] = 0x54EC , + [976] = 0x54EF , + [977] = 0x54F0 , + [978] = 0x54F1 , + [979] = 0x54F4 , + [980] = 0x54F5 , + [981] = 0x54F6 , + [982] = 0x54F7 , + [983] = 0x54F8 , + [984] = 0x54F9 , + [985] = 0x54FB , + [986] = 0x54FE , + [987] = 0x5500 , + [988] = 0x5502 , + [989] = 0x5503 , + [990] = 0x5504 , + [991] = 0x5505 , + [992] = 0x5508 , + [993] = 0x550A , + [994] = 0x550B , + [995] = 0x550C , + [996] = 0x550D , + [997] = 0x550E , + [998] = 0x5512 , + [999] = 0x5513 , + [1000] = 0x5515 , + [1001] = 0x5516 , + [1002] = 0x5517 , + [1003] = 0x5518 , + [1004] = 0x5519 , + [1005] = 0x551A , + [1006] = 0x551C , + [1007] = 0x551D , + [1008] = 0x551E , + [1009] = 0x551F , + [1010] = 0x5521 , + [1011] = 0x5525 , + [1012] = 0x5526 , + [1013] = 0x5528 , + [1014] = 0x5529 , + [1015] = 0x552B , + [1016] = 0x552D , + [1017] = 0x5532 , + [1018] = 0x5534 , + [1019] = 0x5535 , + [1020] = 0x5536 , + [1021] = 0x5538 , + [1022] = 0x5539 , + [1023] = 0x553A , + [1024] = 0x553B , + [1025] = 0x553D , + [1026] = 0x5540 , + [1027] = 0x5542 , + [1028] = 0x5545 , + [1029] = 0x5547 , + [1030] = 0x5548 , + [1031] = 0x554B , + [1032] = 0x554C , + [1033] = 0x554D , + [1034] = 0x554E , + [1035] = 0x554F , + [1036] = 0x5551 , + [1037] = 0x5552 , + [1038] = 0x5553 , + [1039] = 0x5554 , + [1040] = 0x5557 , + [1041] = 0x5558 , + [1042] = 0x5559 , + [1043] = 0x555A , + [1044] = 0x555B , + [1045] = 0x555D , + [1046] = 0x555E , + [1047] = 0x555F , + [1048] = 0x5560 , + [1049] = 0x5562 , + [1050] = 0x5563 , + [1051] = 0x5568 , + [1052] = 0x5569 , + [1053] = 0x556B , + [1054] = 0x556F , + [1055] = 0x5570 , + [1056] = 0x5571 , + [1057] = 0x5572 , + [1058] = 0x5573 , + [1059] = 0x5574 , + [1060] = 0x5579 , + [1061] = 0x557A , + [1062] = 0x557D , + [1063] = 0x557F , + [1064] = 0x5585 , + [1065] = 0x5586 , + [1066] = 0x558C , + [1067] = 0x558D , + [1068] = 0x558E , + [1069] = 0x5590 , + [1070] = 0x5592 , + [1071] = 0x5593 , + [1072] = 0x5595 , + [1073] = 0x5596 , + [1074] = 0x5597 , + [1075] = 0x559A , + [1076] = 0x559B , + [1077] = 0x559E , + [1078] = 0x55A0 , + [1079] = 0x55A1 , + [1080] = 0x55A2 , + [1081] = 0x55A3 , + [1082] = 0x55A4 , + [1083] = 0x55A5 , + [1084] = 0x55A6 , + [1085] = 0x55A8 , + [1086] = 0x55A9 , + [1087] = 0x55AA , + [1088] = 0x55AB , + [1089] = 0x55AC , + [1090] = 0x55AD , + [1091] = 0x55AE , + [1092] = 0x55AF , + [1093] = 0x55B0 , + [1094] = 0x55B2 , + [1095] = 0x55B4 , + [1096] = 0x55B6 , + [1097] = 0x55B8 , + [1098] = 0x55BA , + [1099] = 0x55BC , + [1100] = 0x55BF , + [1101] = 0x55C0 , + [1102] = 0x55C1 , + [1103] = 0x55C2 , + [1104] = 0x55C3 , + [1105] = 0x55C6 , + [1106] = 0x55C7 , + [1107] = 0x55C8 , + [1108] = 0x55CA , + [1109] = 0x55CB , + [1110] = 0x55CE , + [1111] = 0x55CF , + [1112] = 0x55D0 , + [1113] = 0x55D5 , + [1114] = 0x55D7 , + [1115] = 0x55D8 , + [1116] = 0x55D9 , + [1117] = 0x55DA , + [1118] = 0x55DB , + [1119] = 0x55DE , + [1120] = 0x55E0 , + [1121] = 0x55E2 , + [1122] = 0x55E7 , + [1123] = 0x55E9 , + [1124] = 0x55ED , + [1125] = 0x55EE , + [1126] = 0x55F0 , + [1127] = 0x55F1 , + [1128] = 0x55F4 , + [1129] = 0x55F6 , + [1130] = 0x55F8 , + [1131] = 0x55F9 , + [1132] = 0x55FA , + [1133] = 0x55FB , + [1134] = 0x55FC , + [1135] = 0x55FF , + [1136] = 0x5602 , + [1137] = 0x5603 , + [1138] = 0x5604 , + [1139] = 0x5605 , + [1140] = 0x5606 , + [1141] = 0x5607 , + [1142] = 0x560A , + [1143] = 0x560B , + [1144] = 0x560D , + [1145] = 0x5610 , + [1146] = 0x5611 , + [1147] = 0x5612 , + [1148] = 0x5613 , + [1149] = 0x5614 , + [1150] = 0x5615 , + [1151] = 0x5616 , + [1152] = 0x5617 , + [1153] = 0x5619 , + [1154] = 0x561A , + [1155] = 0x561C , + [1156] = 0x561D , + [1157] = 0x5620 , + [1158] = 0x5621 , + [1159] = 0x5622 , + [1160] = 0x5625 , + [1161] = 0x5626 , + [1162] = 0x5628 , + [1163] = 0x5629 , + [1164] = 0x562A , + [1165] = 0x562B , + [1166] = 0x562E , + [1167] = 0x562F , + [1168] = 0x5630 , + [1169] = 0x5633 , + [1170] = 0x5635 , + [1171] = 0x5637 , + [1172] = 0x5638 , + [1173] = 0x563A , + [1174] = 0x563C , + [1175] = 0x563D , + [1176] = 0x563E , + [1177] = 0x5640 , + [1178] = 0x5641 , + [1179] = 0x5642 , + [1180] = 0x5643 , + [1181] = 0x5644 , + [1182] = 0x5645 , + [1183] = 0x5646 , + [1184] = 0x5647 , + [1185] = 0x5648 , + [1186] = 0x5649 , + [1187] = 0x564A , + [1188] = 0x564B , + [1189] = 0x564F , + [1190] = 0x5650 , + [1191] = 0x5651 , + [1192] = 0x5652 , + [1193] = 0x5653 , + [1194] = 0x5655 , + [1195] = 0x5656 , + [1196] = 0x565A , + [1197] = 0x565B , + [1198] = 0x565D , + [1199] = 0x565E , + [1200] = 0x565F , + [1201] = 0x5660 , + [1202] = 0x5661 , + [1203] = 0x5663 , + [1204] = 0x5665 , + [1205] = 0x5666 , + [1206] = 0x5667 , + [1207] = 0x566D , + [1208] = 0x566E , + [1209] = 0x566F , + [1210] = 0x5670 , + [1211] = 0x5672 , + [1212] = 0x5673 , + [1213] = 0x5674 , + [1214] = 0x5675 , + [1215] = 0x5677 , + [1216] = 0x5678 , + [1217] = 0x5679 , + [1218] = 0x567A , + [1219] = 0x567D , + [1220] = 0x567E , + [1221] = 0x567F , + [1222] = 0x5680 , + [1223] = 0x5681 , + [1224] = 0x5682 , + [1225] = 0x5683 , + [1226] = 0x5684 , + [1227] = 0x5687 , + [1228] = 0x5688 , + [1229] = 0x5689 , + [1230] = 0x568A , + [1231] = 0x568B , + [1232] = 0x568C , + [1233] = 0x568D , + [1234] = 0x5690 , + [1235] = 0x5691 , + [1236] = 0x5692 , + [1237] = 0x5694 , + [1238] = 0x5695 , + [1239] = 0x5696 , + [1240] = 0x5697 , + [1241] = 0x5698 , + [1242] = 0x5699 , + [1243] = 0x569A , + [1244] = 0x569B , + [1245] = 0x569C , + [1246] = 0x569D , + [1247] = 0x569E , + [1248] = 0x569F , + [1249] = 0x56A0 , + [1250] = 0x56A1 , + [1251] = 0x56A2 , + [1252] = 0x56A4 , + [1253] = 0x56A5 , + [1254] = 0x56A6 , + [1255] = 0x56A7 , + [1256] = 0x56A8 , + [1257] = 0x56A9 , + [1258] = 0x56AA , + [1259] = 0x56AB , + [1260] = 0x56AC , + [1261] = 0x56AD , + [1262] = 0x56AE , + [1263] = 0x56B0 , + [1264] = 0x56B1 , + [1265] = 0x56B2 , + [1266] = 0x56B3 , + [1267] = 0x56B4 , + [1268] = 0x56B5 , + [1269] = 0x56B6 , + [1270] = 0x56B8 , + [1271] = 0x56B9 , + [1272] = 0x56BA , + [1273] = 0x56BB , + [1274] = 0x56BD , + [1275] = 0x56BE , + [1276] = 0x56BF , + [1277] = 0x56C0 , + [1278] = 0x56C1 , + [1279] = 0x56C2 , + [1280] = 0x56C3 , + [1281] = 0x56C4 , + [1282] = 0x56C5 , + [1283] = 0x56C6 , + [1284] = 0x56C7 , + [1285] = 0x56C8 , + [1286] = 0x56C9 , + [1287] = 0x56CB , + [1288] = 0x56CC , + [1289] = 0x56CD , + [1290] = 0x56CE , + [1291] = 0x56CF , + [1292] = 0x56D0 , + [1293] = 0x56D1 , + [1294] = 0x56D2 , + [1295] = 0x56D3 , + [1296] = 0x56D5 , + [1297] = 0x56D6 , + [1298] = 0x56D8 , + [1299] = 0x56D9 , + [1300] = 0x56DC , + [1301] = 0x56E3 , + [1302] = 0x56E5 , + [1303] = 0x56E6 , + [1304] = 0x56E7 , + [1305] = 0x56E8 , + [1306] = 0x56E9 , + [1307] = 0x56EA , + [1308] = 0x56EC , + [1309] = 0x56EE , + [1310] = 0x56EF , + [1311] = 0x56F2 , + [1312] = 0x56F3 , + [1313] = 0x56F6 , + [1314] = 0x56F7 , + [1315] = 0x56F8 , + [1316] = 0x56FB , + [1317] = 0x56FC , + [1318] = 0x5700 , + [1319] = 0x5701 , + [1320] = 0x5702 , + [1321] = 0x5705 , + [1322] = 0x5707 , + [1323] = 0x570B , + [1324] = 0x570C , + [1325] = 0x570D , + [1326] = 0x570E , + [1327] = 0x570F , + [1328] = 0x5710 , + [1329] = 0x5711 , + [1330] = 0x5712 , + [1331] = 0x5713 , + [1332] = 0x5714 , + [1333] = 0x5715 , + [1334] = 0x5716 , + [1335] = 0x5717 , + [1336] = 0x5718 , + [1337] = 0x5719 , + [1338] = 0x571A , + [1339] = 0x571B , + [1340] = 0x571D , + [1341] = 0x571E , + [1342] = 0x5720 , + [1343] = 0x5721 , + [1344] = 0x5722 , + [1345] = 0x5724 , + [1346] = 0x5725 , + [1347] = 0x5726 , + [1348] = 0x5727 , + [1349] = 0x572B , + [1350] = 0x5731 , + [1351] = 0x5732 , + [1352] = 0x5734 , + [1353] = 0x5735 , + [1354] = 0x5736 , + [1355] = 0x5737 , + [1356] = 0x5738 , + [1357] = 0x573C , + [1358] = 0x573D , + [1359] = 0x573F , + [1360] = 0x5741 , + [1361] = 0x5743 , + [1362] = 0x5744 , + [1363] = 0x5745 , + [1364] = 0x5746 , + [1365] = 0x5748 , + [1366] = 0x5749 , + [1367] = 0x574B , + [1368] = 0x5752 , + [1369] = 0x5753 , + [1370] = 0x5754 , + [1371] = 0x5755 , + [1372] = 0x5756 , + [1373] = 0x5758 , + [1374] = 0x5759 , + [1375] = 0x5762 , + [1376] = 0x5763 , + [1377] = 0x5765 , + [1378] = 0x5767 , + [1379] = 0x576C , + [1380] = 0x576E , + [1381] = 0x5770 , + [1382] = 0x5771 , + [1383] = 0x5772 , + [1384] = 0x5774 , + [1385] = 0x5775 , + [1386] = 0x5778 , + [1387] = 0x5779 , + [1388] = 0x577A , + [1389] = 0x577D , + [1390] = 0x577E , + [1391] = 0x577F , + [1392] = 0x5780 , + [1393] = 0x5781 , + [1394] = 0x5787 , + [1395] = 0x5788 , + [1396] = 0x5789 , + [1397] = 0x578A , + [1398] = 0x578D , + [1399] = 0x578E , + [1400] = 0x578F , + [1401] = 0x5790 , + [1402] = 0x5791 , + [1403] = 0x5794 , + [1404] = 0x5795 , + [1405] = 0x5796 , + [1406] = 0x5797 , + [1407] = 0x5798 , + [1408] = 0x5799 , + [1409] = 0x579A , + [1410] = 0x579C , + [1411] = 0x579D , + [1412] = 0x579E , + [1413] = 0x579F , + [1414] = 0x57A5 , + [1415] = 0x57A8 , + [1416] = 0x57AA , + [1417] = 0x57AC , + [1418] = 0x57AF , + [1419] = 0x57B0 , + [1420] = 0x57B1 , + [1421] = 0x57B3 , + [1422] = 0x57B5 , + [1423] = 0x57B6 , + [1424] = 0x57B7 , + [1425] = 0x57B9 , + [1426] = 0x57BA , + [1427] = 0x57BB , + [1428] = 0x57BC , + [1429] = 0x57BD , + [1430] = 0x57BE , + [1431] = 0x57BF , + [1432] = 0x57C0 , + [1433] = 0x57C1 , + [1434] = 0x57C4 , + [1435] = 0x57C5 , + [1436] = 0x57C6 , + [1437] = 0x57C7 , + [1438] = 0x57C8 , + [1439] = 0x57C9 , + [1440] = 0x57CA , + [1441] = 0x57CC , + [1442] = 0x57CD , + [1443] = 0x57D0 , + [1444] = 0x57D1 , + [1445] = 0x57D3 , + [1446] = 0x57D6 , + [1447] = 0x57D7 , + [1448] = 0x57DB , + [1449] = 0x57DC , + [1450] = 0x57DE , + [1451] = 0x57E1 , + [1452] = 0x57E2 , + [1453] = 0x57E3 , + [1454] = 0x57E5 , + [1455] = 0x57E6 , + [1456] = 0x57E7 , + [1457] = 0x57E8 , + [1458] = 0x57E9 , + [1459] = 0x57EA , + [1460] = 0x57EB , + [1461] = 0x57EC , + [1462] = 0x57EE , + [1463] = 0x57F0 , + [1464] = 0x57F1 , + [1465] = 0x57F2 , + [1466] = 0x57F3 , + [1467] = 0x57F5 , + [1468] = 0x57F6 , + [1469] = 0x57F7 , + [1470] = 0x57FB , + [1471] = 0x57FC , + [1472] = 0x57FE , + [1473] = 0x57FF , + [1474] = 0x5801 , + [1475] = 0x5803 , + [1476] = 0x5804 , + [1477] = 0x5805 , + [1478] = 0x5808 , + [1479] = 0x5809 , + [1480] = 0x580A , + [1481] = 0x580C , + [1482] = 0x580E , + [1483] = 0x580F , + [1484] = 0x5810 , + [1485] = 0x5812 , + [1486] = 0x5813 , + [1487] = 0x5814 , + [1488] = 0x5816 , + [1489] = 0x5817 , + [1490] = 0x5818 , + [1491] = 0x581A , + [1492] = 0x581B , + [1493] = 0x581C , + [1494] = 0x581D , + [1495] = 0x581F , + [1496] = 0x5822 , + [1497] = 0x5823 , + [1498] = 0x5825 , + [1499] = 0x5826 , + [1500] = 0x5827 , + [1501] = 0x5828 , + [1502] = 0x5829 , + [1503] = 0x582B , + [1504] = 0x582C , + [1505] = 0x582D , + [1506] = 0x582E , + [1507] = 0x582F , + [1508] = 0x5831 , + [1509] = 0x5832 , + [1510] = 0x5833 , + [1511] = 0x5834 , + [1512] = 0x5836 , + [1513] = 0x5837 , + [1514] = 0x5838 , + [1515] = 0x5839 , + [1516] = 0x583A , + [1517] = 0x583B , + [1518] = 0x583C , + [1519] = 0x583D , + [1520] = 0x583E , + [1521] = 0x583F , + [1522] = 0x5840 , + [1523] = 0x5841 , + [1524] = 0x5842 , + [1525] = 0x5843 , + [1526] = 0x5845 , + [1527] = 0x5846 , + [1528] = 0x5847 , + [1529] = 0x5848 , + [1530] = 0x5849 , + [1531] = 0x584A , + [1532] = 0x584B , + [1533] = 0x584E , + [1534] = 0x584F , + [1535] = 0x5850 , + [1536] = 0x5852 , + [1537] = 0x5853 , + [1538] = 0x5855 , + [1539] = 0x5856 , + [1540] = 0x5857 , + [1541] = 0x5859 , + [1542] = 0x585A , + [1543] = 0x585B , + [1544] = 0x585C , + [1545] = 0x585D , + [1546] = 0x585F , + [1547] = 0x5860 , + [1548] = 0x5861 , + [1549] = 0x5862 , + [1550] = 0x5863 , + [1551] = 0x5864 , + [1552] = 0x5866 , + [1553] = 0x5867 , + [1554] = 0x5868 , + [1555] = 0x5869 , + [1556] = 0x586A , + [1557] = 0x586D , + [1558] = 0x586E , + [1559] = 0x586F , + [1560] = 0x5870 , + [1561] = 0x5871 , + [1562] = 0x5872 , + [1563] = 0x5873 , + [1564] = 0x5874 , + [1565] = 0x5875 , + [1566] = 0x5876 , + [1567] = 0x5877 , + [1568] = 0x5878 , + [1569] = 0x5879 , + [1570] = 0x587A , + [1571] = 0x587B , + [1572] = 0x587C , + [1573] = 0x587D , + [1574] = 0x587F , + [1575] = 0x5882 , + [1576] = 0x5884 , + [1577] = 0x5886 , + [1578] = 0x5887 , + [1579] = 0x5888 , + [1580] = 0x588A , + [1581] = 0x588B , + [1582] = 0x588C , + [1583] = 0x588D , + [1584] = 0x588E , + [1585] = 0x588F , + [1586] = 0x5890 , + [1587] = 0x5891 , + [1588] = 0x5894 , + [1589] = 0x5895 , + [1590] = 0x5896 , + [1591] = 0x5897 , + [1592] = 0x5898 , + [1593] = 0x589B , + [1594] = 0x589C , + [1595] = 0x589D , + [1596] = 0x58A0 , + [1597] = 0x58A1 , + [1598] = 0x58A2 , + [1599] = 0x58A3 , + [1600] = 0x58A4 , + [1601] = 0x58A5 , + [1602] = 0x58A6 , + [1603] = 0x58A7 , + [1604] = 0x58AA , + [1605] = 0x58AB , + [1606] = 0x58AC , + [1607] = 0x58AD , + [1608] = 0x58AE , + [1609] = 0x58AF , + [1610] = 0x58B0 , + [1611] = 0x58B1 , + [1612] = 0x58B2 , + [1613] = 0x58B3 , + [1614] = 0x58B4 , + [1615] = 0x58B5 , + [1616] = 0x58B6 , + [1617] = 0x58B7 , + [1618] = 0x58B8 , + [1619] = 0x58B9 , + [1620] = 0x58BA , + [1621] = 0x58BB , + [1622] = 0x58BD , + [1623] = 0x58BE , + [1624] = 0x58BF , + [1625] = 0x58C0 , + [1626] = 0x58C2 , + [1627] = 0x58C3 , + [1628] = 0x58C4 , + [1629] = 0x58C6 , + [1630] = 0x58C7 , + [1631] = 0x58C8 , + [1632] = 0x58C9 , + [1633] = 0x58CA , + [1634] = 0x58CB , + [1635] = 0x58CC , + [1636] = 0x58CD , + [1637] = 0x58CE , + [1638] = 0x58CF , + [1639] = 0x58D0 , + [1640] = 0x58D2 , + [1641] = 0x58D3 , + [1642] = 0x58D4 , + [1643] = 0x58D6 , + [1644] = 0x58D7 , + [1645] = 0x58D8 , + [1646] = 0x58D9 , + [1647] = 0x58DA , + [1648] = 0x58DB , + [1649] = 0x58DC , + [1650] = 0x58DD , + [1651] = 0x58DE , + [1652] = 0x58DF , + [1653] = 0x58E0 , + [1654] = 0x58E1 , + [1655] = 0x58E2 , + [1656] = 0x58E3 , + [1657] = 0x58E5 , + [1658] = 0x58E6 , + [1659] = 0x58E7 , + [1660] = 0x58E8 , + [1661] = 0x58E9 , + [1662] = 0x58EA , + [1663] = 0x58ED , + [1664] = 0x58EF , + [1665] = 0x58F1 , + [1666] = 0x58F2 , + [1667] = 0x58F4 , + [1668] = 0x58F5 , + [1669] = 0x58F7 , + [1670] = 0x58F8 , + [1671] = 0x58FA , + [1672] = 0x58FB , + [1673] = 0x58FC , + [1674] = 0x58FD , + [1675] = 0x58FE , + [1676] = 0x58FF , + [1677] = 0x5900 , + [1678] = 0x5901 , + [1679] = 0x5903 , + [1680] = 0x5905 , + [1681] = 0x5906 , + [1682] = 0x5908 , + [1683] = 0x5909 , + [1684] = 0x590A , + [1685] = 0x590B , + [1686] = 0x590C , + [1687] = 0x590E , + [1688] = 0x5910 , + [1689] = 0x5911 , + [1690] = 0x5912 , + [1691] = 0x5913 , + [1692] = 0x5917 , + [1693] = 0x5918 , + [1694] = 0x591B , + [1695] = 0x591D , + [1696] = 0x591E , + [1697] = 0x5920 , + [1698] = 0x5921 , + [1699] = 0x5922 , + [1700] = 0x5923 , + [1701] = 0x5926 , + [1702] = 0x5928 , + [1703] = 0x592C , + [1704] = 0x5930 , + [1705] = 0x5932 , + [1706] = 0x5933 , + [1707] = 0x5935 , + [1708] = 0x5936 , + [1709] = 0x593B , + [1710] = 0x593D , + [1711] = 0x593E , + [1712] = 0x593F , + [1713] = 0x5940 , + [1714] = 0x5943 , + [1715] = 0x5945 , + [1716] = 0x5946 , + [1717] = 0x594A , + [1718] = 0x594C , + [1719] = 0x594D , + [1720] = 0x5950 , + [1721] = 0x5952 , + [1722] = 0x5953 , + [1723] = 0x5959 , + [1724] = 0x595B , + [1725] = 0x595C , + [1726] = 0x595D , + [1727] = 0x595E , + [1728] = 0x595F , + [1729] = 0x5961 , + [1730] = 0x5963 , + [1731] = 0x5964 , + [1732] = 0x5966 , + [1733] = 0x5967 , + [1734] = 0x5968 , + [1735] = 0x5969 , + [1736] = 0x596A , + [1737] = 0x596B , + [1738] = 0x596C , + [1739] = 0x596D , + [1740] = 0x596E , + [1741] = 0x596F , + [1742] = 0x5970 , + [1743] = 0x5971 , + [1744] = 0x5972 , + [1745] = 0x5975 , + [1746] = 0x5977 , + [1747] = 0x597A , + [1748] = 0x597B , + [1749] = 0x597C , + [1750] = 0x597E , + [1751] = 0x597F , + [1752] = 0x5980 , + [1753] = 0x5985 , + [1754] = 0x5989 , + [1755] = 0x598B , + [1756] = 0x598C , + [1757] = 0x598E , + [1758] = 0x598F , + [1759] = 0x5990 , + [1760] = 0x5991 , + [1761] = 0x5994 , + [1762] = 0x5995 , + [1763] = 0x5998 , + [1764] = 0x599A , + [1765] = 0x599B , + [1766] = 0x599C , + [1767] = 0x599D , + [1768] = 0x599F , + [1769] = 0x59A0 , + [1770] = 0x59A1 , + [1771] = 0x59A2 , + [1772] = 0x59A6 , + [1773] = 0x59A7 , + [1774] = 0x59AC , + [1775] = 0x59AD , + [1776] = 0x59B0 , + [1777] = 0x59B1 , + [1778] = 0x59B3 , + [1779] = 0x59B4 , + [1780] = 0x59B5 , + [1781] = 0x59B6 , + [1782] = 0x59B7 , + [1783] = 0x59B8 , + [1784] = 0x59BA , + [1785] = 0x59BC , + [1786] = 0x59BD , + [1787] = 0x59BF , + [1788] = 0x59C0 , + [1789] = 0x59C1 , + [1790] = 0x59C2 , + [1791] = 0x59C3 , + [1792] = 0x59C4 , + [1793] = 0x59C5 , + [1794] = 0x59C7 , + [1795] = 0x59C8 , + [1796] = 0x59C9 , + [1797] = 0x59CC , + [1798] = 0x59CD , + [1799] = 0x59CE , + [1800] = 0x59CF , + [1801] = 0x59D5 , + [1802] = 0x59D6 , + [1803] = 0x59D9 , + [1804] = 0x59DB , + [1805] = 0x59DE , + [1806] = 0x59DF , + [1807] = 0x59E0 , + [1808] = 0x59E1 , + [1809] = 0x59E2 , + [1810] = 0x59E4 , + [1811] = 0x59E6 , + [1812] = 0x59E7 , + [1813] = 0x59E9 , + [1814] = 0x59EA , + [1815] = 0x59EB , + [1816] = 0x59ED , + [1817] = 0x59EE , + [1818] = 0x59EF , + [1819] = 0x59F0 , + [1820] = 0x59F1 , + [1821] = 0x59F2 , + [1822] = 0x59F3 , + [1823] = 0x59F4 , + [1824] = 0x59F5 , + [1825] = 0x59F6 , + [1826] = 0x59F7 , + [1827] = 0x59F8 , + [1828] = 0x59FA , + [1829] = 0x59FC , + [1830] = 0x59FD , + [1831] = 0x59FE , + [1832] = 0x5A00 , + [1833] = 0x5A02 , + [1834] = 0x5A0A , + [1835] = 0x5A0B , + [1836] = 0x5A0D , + [1837] = 0x5A0E , + [1838] = 0x5A0F , + [1839] = 0x5A10 , + [1840] = 0x5A12 , + [1841] = 0x5A14 , + [1842] = 0x5A15 , + [1843] = 0x5A16 , + [1844] = 0x5A17 , + [1845] = 0x5A19 , + [1846] = 0x5A1A , + [1847] = 0x5A1B , + [1848] = 0x5A1D , + [1849] = 0x5A1E , + [1850] = 0x5A21 , + [1851] = 0x5A22 , + [1852] = 0x5A24 , + [1853] = 0x5A26 , + [1854] = 0x5A27 , + [1855] = 0x5A28 , + [1856] = 0x5A2A , + [1857] = 0x5A2B , + [1858] = 0x5A2C , + [1859] = 0x5A2D , + [1860] = 0x5A2E , + [1861] = 0x5A2F , + [1862] = 0x5A30 , + [1863] = 0x5A33 , + [1864] = 0x5A35 , + [1865] = 0x5A37 , + [1866] = 0x5A38 , + [1867] = 0x5A39 , + [1868] = 0x5A3A , + [1869] = 0x5A3B , + [1870] = 0x5A3D , + [1871] = 0x5A3E , + [1872] = 0x5A3F , + [1873] = 0x5A41 , + [1874] = 0x5A42 , + [1875] = 0x5A43 , + [1876] = 0x5A44 , + [1877] = 0x5A45 , + [1878] = 0x5A47 , + [1879] = 0x5A48 , + [1880] = 0x5A4B , + [1881] = 0x5A4C , + [1882] = 0x5A4D , + [1883] = 0x5A4E , + [1884] = 0x5A4F , + [1885] = 0x5A50 , + [1886] = 0x5A51 , + [1887] = 0x5A52 , + [1888] = 0x5A53 , + [1889] = 0x5A54 , + [1890] = 0x5A56 , + [1891] = 0x5A57 , + [1892] = 0x5A58 , + [1893] = 0x5A59 , + [1894] = 0x5A5B , + [1895] = 0x5A5C , + [1896] = 0x5A5D , + [1897] = 0x5A5E , + [1898] = 0x5A5F , + [1899] = 0x5A60 , + [1900] = 0x5A61 , + [1901] = 0x5A63 , + [1902] = 0x5A64 , + [1903] = 0x5A65 , + [1904] = 0x5A66 , + [1905] = 0x5A68 , + [1906] = 0x5A69 , + [1907] = 0x5A6B , + [1908] = 0x5A6C , + [1909] = 0x5A6D , + [1910] = 0x5A6E , + [1911] = 0x5A6F , + [1912] = 0x5A70 , + [1913] = 0x5A71 , + [1914] = 0x5A72 , + [1915] = 0x5A73 , + [1916] = 0x5A78 , + [1917] = 0x5A79 , + [1918] = 0x5A7B , + [1919] = 0x5A7C , + [1920] = 0x5A7D , + [1921] = 0x5A7E , + [1922] = 0x5A80 , + [1923] = 0x5A81 , + [1924] = 0x5A82 , + [1925] = 0x5A83 , + [1926] = 0x5A84 , + [1927] = 0x5A85 , + [1928] = 0x5A86 , + [1929] = 0x5A87 , + [1930] = 0x5A88 , + [1931] = 0x5A89 , + [1932] = 0x5A8A , + [1933] = 0x5A8B , + [1934] = 0x5A8C , + [1935] = 0x5A8D , + [1936] = 0x5A8E , + [1937] = 0x5A8F , + [1938] = 0x5A90 , + [1939] = 0x5A91 , + [1940] = 0x5A93 , + [1941] = 0x5A94 , + [1942] = 0x5A95 , + [1943] = 0x5A96 , + [1944] = 0x5A97 , + [1945] = 0x5A98 , + [1946] = 0x5A99 , + [1947] = 0x5A9C , + [1948] = 0x5A9D , + [1949] = 0x5A9E , + [1950] = 0x5A9F , + [1951] = 0x5AA0 , + [1952] = 0x5AA1 , + [1953] = 0x5AA2 , + [1954] = 0x5AA3 , + [1955] = 0x5AA4 , + [1956] = 0x5AA5 , + [1957] = 0x5AA6 , + [1958] = 0x5AA7 , + [1959] = 0x5AA8 , + [1960] = 0x5AA9 , + [1961] = 0x5AAB , + [1962] = 0x5AAC , + [1963] = 0x5AAD , + [1964] = 0x5AAE , + [1965] = 0x5AAF , + [1966] = 0x5AB0 , + [1967] = 0x5AB1 , + [1968] = 0x5AB4 , + [1969] = 0x5AB6 , + [1970] = 0x5AB7 , + [1971] = 0x5AB9 , + [1972] = 0x5ABA , + [1973] = 0x5ABB , + [1974] = 0x5ABC , + [1975] = 0x5ABD , + [1976] = 0x5ABF , + [1977] = 0x5AC0 , + [1978] = 0x5AC3 , + [1979] = 0x5AC4 , + [1980] = 0x5AC5 , + [1981] = 0x5AC6 , + [1982] = 0x5AC7 , + [1983] = 0x5AC8 , + [1984] = 0x5ACA , + [1985] = 0x5ACB , + [1986] = 0x5ACD , + [1987] = 0x5ACE , + [1988] = 0x5ACF , + [1989] = 0x5AD0 , + [1990] = 0x5AD1 , + [1991] = 0x5AD3 , + [1992] = 0x5AD5 , + [1993] = 0x5AD7 , + [1994] = 0x5AD9 , + [1995] = 0x5ADA , + [1996] = 0x5ADB , + [1997] = 0x5ADD , + [1998] = 0x5ADE , + [1999] = 0x5ADF , + [2000] = 0x5AE2 , + [2001] = 0x5AE4 , + [2002] = 0x5AE5 , + [2003] = 0x5AE7 , + [2004] = 0x5AE8 , + [2005] = 0x5AEA , + [2006] = 0x5AEC , + [2007] = 0x5AED , + [2008] = 0x5AEE , + [2009] = 0x5AEF , + [2010] = 0x5AF0 , + [2011] = 0x5AF2 , + [2012] = 0x5AF3 , + [2013] = 0x5AF4 , + [2014] = 0x5AF5 , + [2015] = 0x5AF6 , + [2016] = 0x5AF7 , + [2017] = 0x5AF8 , + [2018] = 0x5AF9 , + [2019] = 0x5AFA , + [2020] = 0x5AFB , + [2021] = 0x5AFC , + [2022] = 0x5AFD , + [2023] = 0x5AFE , + [2024] = 0x5AFF , + [2025] = 0x5B00 , + [2026] = 0x5B01 , + [2027] = 0x5B02 , + [2028] = 0x5B03 , + [2029] = 0x5B04 , + [2030] = 0x5B05 , + [2031] = 0x5B06 , + [2032] = 0x5B07 , + [2033] = 0x5B08 , + [2034] = 0x5B0A , + [2035] = 0x5B0B , + [2036] = 0x5B0C , + [2037] = 0x5B0D , + [2038] = 0x5B0E , + [2039] = 0x5B0F , + [2040] = 0x5B10 , + [2041] = 0x5B11 , + [2042] = 0x5B12 , + [2043] = 0x5B13 , + [2044] = 0x5B14 , + [2045] = 0x5B15 , + [2046] = 0x5B18 , + [2047] = 0x5B19 , + [2048] = 0x5B1A , + [2049] = 0x5B1B , + [2050] = 0x5B1C , + [2051] = 0x5B1D , + [2052] = 0x5B1E , + [2053] = 0x5B1F , + [2054] = 0x5B20 , + [2055] = 0x5B21 , + [2056] = 0x5B22 , + [2057] = 0x5B23 , + [2058] = 0x5B24 , + [2059] = 0x5B25 , + [2060] = 0x5B26 , + [2061] = 0x5B27 , + [2062] = 0x5B28 , + [2063] = 0x5B29 , + [2064] = 0x5B2A , + [2065] = 0x5B2B , + [2066] = 0x5B2C , + [2067] = 0x5B2D , + [2068] = 0x5B2E , + [2069] = 0x5B2F , + [2070] = 0x5B30 , + [2071] = 0x5B31 , + [2072] = 0x5B33 , + [2073] = 0x5B35 , + [2074] = 0x5B36 , + [2075] = 0x5B38 , + [2076] = 0x5B39 , + [2077] = 0x5B3A , + [2078] = 0x5B3B , + [2079] = 0x5B3C , + [2080] = 0x5B3D , + [2081] = 0x5B3E , + [2082] = 0x5B3F , + [2083] = 0x5B41 , + [2084] = 0x5B42 , + [2085] = 0x5B43 , + [2086] = 0x5B44 , + [2087] = 0x5B45 , + [2088] = 0x5B46 , + [2089] = 0x5B47 , + [2090] = 0x5B48 , + [2091] = 0x5B49 , + [2092] = 0x5B4A , + [2093] = 0x5B4B , + [2094] = 0x5B4C , + [2095] = 0x5B4D , + [2096] = 0x5B4E , + [2097] = 0x5B4F , + [2098] = 0x5B52 , + [2099] = 0x5B56 , + [2100] = 0x5B5E , + [2101] = 0x5B60 , + [2102] = 0x5B61 , + [2103] = 0x5B67 , + [2104] = 0x5B68 , + [2105] = 0x5B6B , + [2106] = 0x5B6D , + [2107] = 0x5B6E , + [2108] = 0x5B6F , + [2109] = 0x5B72 , + [2110] = 0x5B74 , + [2111] = 0x5B76 , + [2112] = 0x5B77 , + [2113] = 0x5B78 , + [2114] = 0x5B79 , + [2115] = 0x5B7B , + [2116] = 0x5B7C , + [2117] = 0x5B7E , + [2118] = 0x5B7F , + [2119] = 0x5B82 , + [2120] = 0x5B86 , + [2121] = 0x5B8A , + [2122] = 0x5B8D , + [2123] = 0x5B8E , + [2124] = 0x5B90 , + [2125] = 0x5B91 , + [2126] = 0x5B92 , + [2127] = 0x5B94 , + [2128] = 0x5B96 , + [2129] = 0x5B9F , + [2130] = 0x5BA7 , + [2131] = 0x5BA8 , + [2132] = 0x5BA9 , + [2133] = 0x5BAC , + [2134] = 0x5BAD , + [2135] = 0x5BAE , + [2136] = 0x5BAF , + [2137] = 0x5BB1 , + [2138] = 0x5BB2 , + [2139] = 0x5BB7 , + [2140] = 0x5BBA , + [2141] = 0x5BBB , + [2142] = 0x5BBC , + [2143] = 0x5BC0 , + [2144] = 0x5BC1 , + [2145] = 0x5BC3 , + [2146] = 0x5BC8 , + [2147] = 0x5BC9 , + [2148] = 0x5BCA , + [2149] = 0x5BCB , + [2150] = 0x5BCD , + [2151] = 0x5BCE , + [2152] = 0x5BCF , + [2153] = 0x5BD1 , + [2154] = 0x5BD4 , + [2155] = 0x5BD5 , + [2156] = 0x5BD6 , + [2157] = 0x5BD7 , + [2158] = 0x5BD8 , + [2159] = 0x5BD9 , + [2160] = 0x5BDA , + [2161] = 0x5BDB , + [2162] = 0x5BDC , + [2163] = 0x5BE0 , + [2164] = 0x5BE2 , + [2165] = 0x5BE3 , + [2166] = 0x5BE6 , + [2167] = 0x5BE7 , + [2168] = 0x5BE9 , + [2169] = 0x5BEA , + [2170] = 0x5BEB , + [2171] = 0x5BEC , + [2172] = 0x5BED , + [2173] = 0x5BEF , + [2174] = 0x5BF1 , + [2175] = 0x5BF2 , + [2176] = 0x5BF3 , + [2177] = 0x5BF4 , + [2178] = 0x5BF5 , + [2179] = 0x5BF6 , + [2180] = 0x5BF7 , + [2181] = 0x5BFD , + [2182] = 0x5BFE , + [2183] = 0x5C00 , + [2184] = 0x5C02 , + [2185] = 0x5C03 , + [2186] = 0x5C05 , + [2187] = 0x5C07 , + [2188] = 0x5C08 , + [2189] = 0x5C0B , + [2190] = 0x5C0C , + [2191] = 0x5C0D , + [2192] = 0x5C0E , + [2193] = 0x5C10 , + [2194] = 0x5C12 , + [2195] = 0x5C13 , + [2196] = 0x5C17 , + [2197] = 0x5C19 , + [2198] = 0x5C1B , + [2199] = 0x5C1E , + [2200] = 0x5C1F , + [2201] = 0x5C20 , + [2202] = 0x5C21 , + [2203] = 0x5C23 , + [2204] = 0x5C26 , + [2205] = 0x5C28 , + [2206] = 0x5C29 , + [2207] = 0x5C2A , + [2208] = 0x5C2B , + [2209] = 0x5C2D , + [2210] = 0x5C2E , + [2211] = 0x5C2F , + [2212] = 0x5C30 , + [2213] = 0x5C32 , + [2214] = 0x5C33 , + [2215] = 0x5C35 , + [2216] = 0x5C36 , + [2217] = 0x5C37 , + [2218] = 0x5C43 , + [2219] = 0x5C44 , + [2220] = 0x5C46 , + [2221] = 0x5C47 , + [2222] = 0x5C4C , + [2223] = 0x5C4D , + [2224] = 0x5C52 , + [2225] = 0x5C53 , + [2226] = 0x5C54 , + [2227] = 0x5C56 , + [2228] = 0x5C57 , + [2229] = 0x5C58 , + [2230] = 0x5C5A , + [2231] = 0x5C5B , + [2232] = 0x5C5C , + [2233] = 0x5C5D , + [2234] = 0x5C5F , + [2235] = 0x5C62 , + [2236] = 0x5C64 , + [2237] = 0x5C67 , + [2238] = 0x5C68 , + [2239] = 0x5C69 , + [2240] = 0x5C6A , + [2241] = 0x5C6B , + [2242] = 0x5C6C , + [2243] = 0x5C6D , + [2244] = 0x5C70 , + [2245] = 0x5C72 , + [2246] = 0x5C73 , + [2247] = 0x5C74 , + [2248] = 0x5C75 , + [2249] = 0x5C76 , + [2250] = 0x5C77 , + [2251] = 0x5C78 , + [2252] = 0x5C7B , + [2253] = 0x5C7C , + [2254] = 0x5C7D , + [2255] = 0x5C7E , + [2256] = 0x5C80 , + [2257] = 0x5C83 , + [2258] = 0x5C84 , + [2259] = 0x5C85 , + [2260] = 0x5C86 , + [2261] = 0x5C87 , + [2262] = 0x5C89 , + [2263] = 0x5C8A , + [2264] = 0x5C8B , + [2265] = 0x5C8E , + [2266] = 0x5C8F , + [2267] = 0x5C92 , + [2268] = 0x5C93 , + [2269] = 0x5C95 , + [2270] = 0x5C9D , + [2271] = 0x5C9E , + [2272] = 0x5C9F , + [2273] = 0x5CA0 , + [2274] = 0x5CA1 , + [2275] = 0x5CA4 , + [2276] = 0x5CA5 , + [2277] = 0x5CA6 , + [2278] = 0x5CA7 , + [2279] = 0x5CA8 , + [2280] = 0x5CAA , + [2281] = 0x5CAE , + [2282] = 0x5CAF , + [2283] = 0x5CB0 , + [2284] = 0x5CB2 , + [2285] = 0x5CB4 , + [2286] = 0x5CB6 , + [2287] = 0x5CB9 , + [2288] = 0x5CBA , + [2289] = 0x5CBB , + [2290] = 0x5CBC , + [2291] = 0x5CBE , + [2292] = 0x5CC0 , + [2293] = 0x5CC2 , + [2294] = 0x5CC3 , + [2295] = 0x5CC5 , + [2296] = 0x5CC6 , + [2297] = 0x5CC7 , + [2298] = 0x5CC8 , + [2299] = 0x5CC9 , + [2300] = 0x5CCA , + [2301] = 0x5CCC , + [2302] = 0x5CCD , + [2303] = 0x5CCE , + [2304] = 0x5CCF , + [2305] = 0x5CD0 , + [2306] = 0x5CD1 , + [2307] = 0x5CD3 , + [2308] = 0x5CD4 , + [2309] = 0x5CD5 , + [2310] = 0x5CD6 , + [2311] = 0x5CD7 , + [2312] = 0x5CD8 , + [2313] = 0x5CDA , + [2314] = 0x5CDB , + [2315] = 0x5CDC , + [2316] = 0x5CDD , + [2317] = 0x5CDE , + [2318] = 0x5CDF , + [2319] = 0x5CE0 , + [2320] = 0x5CE2 , + [2321] = 0x5CE3 , + [2322] = 0x5CE7 , + [2323] = 0x5CE9 , + [2324] = 0x5CEB , + [2325] = 0x5CEC , + [2326] = 0x5CEE , + [2327] = 0x5CEF , + [2328] = 0x5CF1 , + [2329] = 0x5CF2 , + [2330] = 0x5CF3 , + [2331] = 0x5CF4 , + [2332] = 0x5CF5 , + [2333] = 0x5CF6 , + [2334] = 0x5CF7 , + [2335] = 0x5CF8 , + [2336] = 0x5CF9 , + [2337] = 0x5CFA , + [2338] = 0x5CFC , + [2339] = 0x5CFD , + [2340] = 0x5CFE , + [2341] = 0x5CFF , + [2342] = 0x5D00 , + [2343] = 0x5D01 , + [2344] = 0x5D04 , + [2345] = 0x5D05 , + [2346] = 0x5D08 , + [2347] = 0x5D09 , + [2348] = 0x5D0A , + [2349] = 0x5D0B , + [2350] = 0x5D0C , + [2351] = 0x5D0D , + [2352] = 0x5D0F , + [2353] = 0x5D10 , + [2354] = 0x5D11 , + [2355] = 0x5D12 , + [2356] = 0x5D13 , + [2357] = 0x5D15 , + [2358] = 0x5D17 , + [2359] = 0x5D18 , + [2360] = 0x5D19 , + [2361] = 0x5D1A , + [2362] = 0x5D1C , + [2363] = 0x5D1D , + [2364] = 0x5D1F , + [2365] = 0x5D20 , + [2366] = 0x5D21 , + [2367] = 0x5D22 , + [2368] = 0x5D23 , + [2369] = 0x5D25 , + [2370] = 0x5D28 , + [2371] = 0x5D2A , + [2372] = 0x5D2B , + [2373] = 0x5D2C , + [2374] = 0x5D2F , + [2375] = 0x5D30 , + [2376] = 0x5D31 , + [2377] = 0x5D32 , + [2378] = 0x5D33 , + [2379] = 0x5D35 , + [2380] = 0x5D36 , + [2381] = 0x5D37 , + [2382] = 0x5D38 , + [2383] = 0x5D39 , + [2384] = 0x5D3A , + [2385] = 0x5D3B , + [2386] = 0x5D3C , + [2387] = 0x5D3F , + [2388] = 0x5D40 , + [2389] = 0x5D41 , + [2390] = 0x5D42 , + [2391] = 0x5D43 , + [2392] = 0x5D44 , + [2393] = 0x5D45 , + [2394] = 0x5D46 , + [2395] = 0x5D48 , + [2396] = 0x5D49 , + [2397] = 0x5D4D , + [2398] = 0x5D4E , + [2399] = 0x5D4F , + [2400] = 0x5D50 , + [2401] = 0x5D51 , + [2402] = 0x5D52 , + [2403] = 0x5D53 , + [2404] = 0x5D54 , + [2405] = 0x5D55 , + [2406] = 0x5D56 , + [2407] = 0x5D57 , + [2408] = 0x5D59 , + [2409] = 0x5D5A , + [2410] = 0x5D5C , + [2411] = 0x5D5E , + [2412] = 0x5D5F , + [2413] = 0x5D60 , + [2414] = 0x5D61 , + [2415] = 0x5D62 , + [2416] = 0x5D63 , + [2417] = 0x5D64 , + [2418] = 0x5D65 , + [2419] = 0x5D66 , + [2420] = 0x5D67 , + [2421] = 0x5D68 , + [2422] = 0x5D6A , + [2423] = 0x5D6D , + [2424] = 0x5D6E , + [2425] = 0x5D70 , + [2426] = 0x5D71 , + [2427] = 0x5D72 , + [2428] = 0x5D73 , + [2429] = 0x5D75 , + [2430] = 0x5D76 , + [2431] = 0x5D77 , + [2432] = 0x5D78 , + [2433] = 0x5D79 , + [2434] = 0x5D7A , + [2435] = 0x5D7B , + [2436] = 0x5D7C , + [2437] = 0x5D7D , + [2438] = 0x5D7E , + [2439] = 0x5D7F , + [2440] = 0x5D80 , + [2441] = 0x5D81 , + [2442] = 0x5D83 , + [2443] = 0x5D84 , + [2444] = 0x5D85 , + [2445] = 0x5D86 , + [2446] = 0x5D87 , + [2447] = 0x5D88 , + [2448] = 0x5D89 , + [2449] = 0x5D8A , + [2450] = 0x5D8B , + [2451] = 0x5D8C , + [2452] = 0x5D8D , + [2453] = 0x5D8E , + [2454] = 0x5D8F , + [2455] = 0x5D90 , + [2456] = 0x5D91 , + [2457] = 0x5D92 , + [2458] = 0x5D93 , + [2459] = 0x5D94 , + [2460] = 0x5D95 , + [2461] = 0x5D96 , + [2462] = 0x5D97 , + [2463] = 0x5D98 , + [2464] = 0x5D9A , + [2465] = 0x5D9B , + [2466] = 0x5D9C , + [2467] = 0x5D9E , + [2468] = 0x5D9F , + [2469] = 0x5DA0 , + [2470] = 0x5DA1 , + [2471] = 0x5DA2 , + [2472] = 0x5DA3 , + [2473] = 0x5DA4 , + [2474] = 0x5DA5 , + [2475] = 0x5DA6 , + [2476] = 0x5DA7 , + [2477] = 0x5DA8 , + [2478] = 0x5DA9 , + [2479] = 0x5DAA , + [2480] = 0x5DAB , + [2481] = 0x5DAC , + [2482] = 0x5DAD , + [2483] = 0x5DAE , + [2484] = 0x5DAF , + [2485] = 0x5DB0 , + [2486] = 0x5DB1 , + [2487] = 0x5DB2 , + [2488] = 0x5DB3 , + [2489] = 0x5DB4 , + [2490] = 0x5DB5 , + [2491] = 0x5DB6 , + [2492] = 0x5DB8 , + [2493] = 0x5DB9 , + [2494] = 0x5DBA , + [2495] = 0x5DBB , + [2496] = 0x5DBC , + [2497] = 0x5DBD , + [2498] = 0x5DBE , + [2499] = 0x5DBF , + [2500] = 0x5DC0 , + [2501] = 0x5DC1 , + [2502] = 0x5DC2 , + [2503] = 0x5DC3 , + [2504] = 0x5DC4 , + [2505] = 0x5DC6 , + [2506] = 0x5DC7 , + [2507] = 0x5DC8 , + [2508] = 0x5DC9 , + [2509] = 0x5DCA , + [2510] = 0x5DCB , + [2511] = 0x5DCC , + [2512] = 0x5DCE , + [2513] = 0x5DCF , + [2514] = 0x5DD0 , + [2515] = 0x5DD1 , + [2516] = 0x5DD2 , + [2517] = 0x5DD3 , + [2518] = 0x5DD4 , + [2519] = 0x5DD5 , + [2520] = 0x5DD6 , + [2521] = 0x5DD7 , + [2522] = 0x5DD8 , + [2523] = 0x5DD9 , + [2524] = 0x5DDA , + [2525] = 0x5DDC , + [2526] = 0x5DDF , + [2527] = 0x5DE0 , + [2528] = 0x5DE3 , + [2529] = 0x5DE4 , + [2530] = 0x5DEA , + [2531] = 0x5DEC , + [2532] = 0x5DED , + [2533] = 0x5DF0 , + [2534] = 0x5DF5 , + [2535] = 0x5DF6 , + [2536] = 0x5DF8 , + [2537] = 0x5DF9 , + [2538] = 0x5DFA , + [2539] = 0x5DFB , + [2540] = 0x5DFC , + [2541] = 0x5DFF , + [2542] = 0x5E00 , + [2543] = 0x5E04 , + [2544] = 0x5E07 , + [2545] = 0x5E09 , + [2546] = 0x5E0A , + [2547] = 0x5E0B , + [2548] = 0x5E0D , + [2549] = 0x5E0E , + [2550] = 0x5E12 , + [2551] = 0x5E13 , + [2552] = 0x5E17 , + [2553] = 0x5E1E , + [2554] = 0x5E1F , + [2555] = 0x5E20 , + [2556] = 0x5E21 , + [2557] = 0x5E22 , + [2558] = 0x5E23 , + [2559] = 0x5E24 , + [2560] = 0x5E25 , + [2561] = 0x5E28 , + [2562] = 0x5E29 , + [2563] = 0x5E2A , + [2564] = 0x5E2B , + [2565] = 0x5E2C , + [2566] = 0x5E2F , + [2567] = 0x5E30 , + [2568] = 0x5E32 , + [2569] = 0x5E33 , + [2570] = 0x5E34 , + [2571] = 0x5E35 , + [2572] = 0x5E36 , + [2573] = 0x5E39 , + [2574] = 0x5E3A , + [2575] = 0x5E3E , + [2576] = 0x5E3F , + [2577] = 0x5E40 , + [2578] = 0x5E41 , + [2579] = 0x5E43 , + [2580] = 0x5E46 , + [2581] = 0x5E47 , + [2582] = 0x5E48 , + [2583] = 0x5E49 , + [2584] = 0x5E4A , + [2585] = 0x5E4B , + [2586] = 0x5E4D , + [2587] = 0x5E4E , + [2588] = 0x5E4F , + [2589] = 0x5E50 , + [2590] = 0x5E51 , + [2591] = 0x5E52 , + [2592] = 0x5E53 , + [2593] = 0x5E56 , + [2594] = 0x5E57 , + [2595] = 0x5E58 , + [2596] = 0x5E59 , + [2597] = 0x5E5A , + [2598] = 0x5E5C , + [2599] = 0x5E5D , + [2600] = 0x5E5F , + [2601] = 0x5E60 , + [2602] = 0x5E63 , + [2603] = 0x5E64 , + [2604] = 0x5E65 , + [2605] = 0x5E66 , + [2606] = 0x5E67 , + [2607] = 0x5E68 , + [2608] = 0x5E69 , + [2609] = 0x5E6A , + [2610] = 0x5E6B , + [2611] = 0x5E6C , + [2612] = 0x5E6D , + [2613] = 0x5E6E , + [2614] = 0x5E6F , + [2615] = 0x5E70 , + [2616] = 0x5E71 , + [2617] = 0x5E75 , + [2618] = 0x5E77 , + [2619] = 0x5E79 , + [2620] = 0x5E7E , + [2621] = 0x5E81 , + [2622] = 0x5E82 , + [2623] = 0x5E83 , + [2624] = 0x5E85 , + [2625] = 0x5E88 , + [2626] = 0x5E89 , + [2627] = 0x5E8C , + [2628] = 0x5E8D , + [2629] = 0x5E8E , + [2630] = 0x5E92 , + [2631] = 0x5E98 , + [2632] = 0x5E9B , + [2633] = 0x5E9D , + [2634] = 0x5EA1 , + [2635] = 0x5EA2 , + [2636] = 0x5EA3 , + [2637] = 0x5EA4 , + [2638] = 0x5EA8 , + [2639] = 0x5EA9 , + [2640] = 0x5EAA , + [2641] = 0x5EAB , + [2642] = 0x5EAC , + [2643] = 0x5EAE , + [2644] = 0x5EAF , + [2645] = 0x5EB0 , + [2646] = 0x5EB1 , + [2647] = 0x5EB2 , + [2648] = 0x5EB4 , + [2649] = 0x5EBA , + [2650] = 0x5EBB , + [2651] = 0x5EBC , + [2652] = 0x5EBD , + [2653] = 0x5EBF , + [2654] = 0x5EC0 , + [2655] = 0x5EC1 , + [2656] = 0x5EC2 , + [2657] = 0x5EC3 , + [2658] = 0x5EC4 , + [2659] = 0x5EC5 , + [2660] = 0x5EC6 , + [2661] = 0x5EC7 , + [2662] = 0x5EC8 , + [2663] = 0x5ECB , + [2664] = 0x5ECC , + [2665] = 0x5ECD , + [2666] = 0x5ECE , + [2667] = 0x5ECF , + [2668] = 0x5ED0 , + [2669] = 0x5ED4 , + [2670] = 0x5ED5 , + [2671] = 0x5ED7 , + [2672] = 0x5ED8 , + [2673] = 0x5ED9 , + [2674] = 0x5EDA , + [2675] = 0x5EDC , + [2676] = 0x5EDD , + [2677] = 0x5EDE , + [2678] = 0x5EDF , + [2679] = 0x5EE0 , + [2680] = 0x5EE1 , + [2681] = 0x5EE2 , + [2682] = 0x5EE3 , + [2683] = 0x5EE4 , + [2684] = 0x5EE5 , + [2685] = 0x5EE6 , + [2686] = 0x5EE7 , + [2687] = 0x5EE9 , + [2688] = 0x5EEB , + [2689] = 0x5EEC , + [2690] = 0x5EED , + [2691] = 0x5EEE , + [2692] = 0x5EEF , + [2693] = 0x5EF0 , + [2694] = 0x5EF1 , + [2695] = 0x5EF2 , + [2696] = 0x5EF3 , + [2697] = 0x5EF5 , + [2698] = 0x5EF8 , + [2699] = 0x5EF9 , + [2700] = 0x5EFB , + [2701] = 0x5EFC , + [2702] = 0x5EFD , + [2703] = 0x5F05 , + [2704] = 0x5F06 , + [2705] = 0x5F07 , + [2706] = 0x5F09 , + [2707] = 0x5F0C , + [2708] = 0x5F0D , + [2709] = 0x5F0E , + [2710] = 0x5F10 , + [2711] = 0x5F12 , + [2712] = 0x5F14 , + [2713] = 0x5F16 , + [2714] = 0x5F19 , + [2715] = 0x5F1A , + [2716] = 0x5F1C , + [2717] = 0x5F1D , + [2718] = 0x5F1E , + [2719] = 0x5F21 , + [2720] = 0x5F22 , + [2721] = 0x5F23 , + [2722] = 0x5F24 , + [2723] = 0x5F28 , + [2724] = 0x5F2B , + [2725] = 0x5F2C , + [2726] = 0x5F2E , + [2727] = 0x5F30 , + [2728] = 0x5F32 , + [2729] = 0x5F33 , + [2730] = 0x5F34 , + [2731] = 0x5F35 , + [2732] = 0x5F36 , + [2733] = 0x5F37 , + [2734] = 0x5F38 , + [2735] = 0x5F3B , + [2736] = 0x5F3D , + [2737] = 0x5F3E , + [2738] = 0x5F3F , + [2739] = 0x5F41 , + [2740] = 0x5F42 , + [2741] = 0x5F43 , + [2742] = 0x5F44 , + [2743] = 0x5F45 , + [2744] = 0x5F46 , + [2745] = 0x5F47 , + [2746] = 0x5F48 , + [2747] = 0x5F49 , + [2748] = 0x5F4A , + [2749] = 0x5F4B , + [2750] = 0x5F4C , + [2751] = 0x5F4D , + [2752] = 0x5F4E , + [2753] = 0x5F4F , + [2754] = 0x5F51 , + [2755] = 0x5F54 , + [2756] = 0x5F59 , + [2757] = 0x5F5A , + [2758] = 0x5F5B , + [2759] = 0x5F5C , + [2760] = 0x5F5E , + [2761] = 0x5F5F , + [2762] = 0x5F60 , + [2763] = 0x5F63 , + [2764] = 0x5F65 , + [2765] = 0x5F67 , + [2766] = 0x5F68 , + [2767] = 0x5F6B , + [2768] = 0x5F6E , + [2769] = 0x5F6F , + [2770] = 0x5F72 , + [2771] = 0x5F74 , + [2772] = 0x5F75 , + [2773] = 0x5F76 , + [2774] = 0x5F78 , + [2775] = 0x5F7A , + [2776] = 0x5F7D , + [2777] = 0x5F7E , + [2778] = 0x5F7F , + [2779] = 0x5F83 , + [2780] = 0x5F86 , + [2781] = 0x5F8D , + [2782] = 0x5F8E , + [2783] = 0x5F8F , + [2784] = 0x5F91 , + [2785] = 0x5F93 , + [2786] = 0x5F94 , + [2787] = 0x5F96 , + [2788] = 0x5F9A , + [2789] = 0x5F9B , + [2790] = 0x5F9D , + [2791] = 0x5F9E , + [2792] = 0x5F9F , + [2793] = 0x5FA0 , + [2794] = 0x5FA2 , + [2795] = 0x5FA3 , + [2796] = 0x5FA4 , + [2797] = 0x5FA5 , + [2798] = 0x5FA6 , + [2799] = 0x5FA7 , + [2800] = 0x5FA9 , + [2801] = 0x5FAB , + [2802] = 0x5FAC , + [2803] = 0x5FAF , + [2804] = 0x5FB0 , + [2805] = 0x5FB1 , + [2806] = 0x5FB2 , + [2807] = 0x5FB3 , + [2808] = 0x5FB4 , + [2809] = 0x5FB6 , + [2810] = 0x5FB8 , + [2811] = 0x5FB9 , + [2812] = 0x5FBA , + [2813] = 0x5FBB , + [2814] = 0x5FBE , + [2815] = 0x5FBF , + [2816] = 0x5FC0 , + [2817] = 0x5FC1 , + [2818] = 0x5FC2 , + [2819] = 0x5FC7 , + [2820] = 0x5FC8 , + [2821] = 0x5FCA , + [2822] = 0x5FCB , + [2823] = 0x5FCE , + [2824] = 0x5FD3 , + [2825] = 0x5FD4 , + [2826] = 0x5FD5 , + [2827] = 0x5FDA , + [2828] = 0x5FDB , + [2829] = 0x5FDC , + [2830] = 0x5FDE , + [2831] = 0x5FDF , + [2832] = 0x5FE2 , + [2833] = 0x5FE3 , + [2834] = 0x5FE5 , + [2835] = 0x5FE6 , + [2836] = 0x5FE8 , + [2837] = 0x5FE9 , + [2838] = 0x5FEC , + [2839] = 0x5FEF , + [2840] = 0x5FF0 , + [2841] = 0x5FF2 , + [2842] = 0x5FF3 , + [2843] = 0x5FF4 , + [2844] = 0x5FF6 , + [2845] = 0x5FF7 , + [2846] = 0x5FF9 , + [2847] = 0x5FFA , + [2848] = 0x5FFC , + [2849] = 0x6007 , + [2850] = 0x6008 , + [2851] = 0x6009 , + [2852] = 0x600B , + [2853] = 0x600C , + [2854] = 0x6010 , + [2855] = 0x6011 , + [2856] = 0x6013 , + [2857] = 0x6017 , + [2858] = 0x6018 , + [2859] = 0x601A , + [2860] = 0x601E , + [2861] = 0x601F , + [2862] = 0x6022 , + [2863] = 0x6023 , + [2864] = 0x6024 , + [2865] = 0x602C , + [2866] = 0x602D , + [2867] = 0x602E , + [2868] = 0x6030 , + [2869] = 0x6031 , + [2870] = 0x6032 , + [2871] = 0x6033 , + [2872] = 0x6034 , + [2873] = 0x6036 , + [2874] = 0x6037 , + [2875] = 0x6038 , + [2876] = 0x6039 , + [2877] = 0x603A , + [2878] = 0x603D , + [2879] = 0x603E , + [2880] = 0x6040 , + [2881] = 0x6044 , + [2882] = 0x6045 , + [2883] = 0x6046 , + [2884] = 0x6047 , + [2885] = 0x6048 , + [2886] = 0x6049 , + [2887] = 0x604A , + [2888] = 0x604C , + [2889] = 0x604E , + [2890] = 0x604F , + [2891] = 0x6051 , + [2892] = 0x6053 , + [2893] = 0x6054 , + [2894] = 0x6056 , + [2895] = 0x6057 , + [2896] = 0x6058 , + [2897] = 0x605B , + [2898] = 0x605C , + [2899] = 0x605E , + [2900] = 0x605F , + [2901] = 0x6060 , + [2902] = 0x6061 , + [2903] = 0x6065 , + [2904] = 0x6066 , + [2905] = 0x606E , + [2906] = 0x6071 , + [2907] = 0x6072 , + [2908] = 0x6074 , + [2909] = 0x6075 , + [2910] = 0x6077 , + [2911] = 0x607E , + [2912] = 0x6080 , + [2913] = 0x6081 , + [2914] = 0x6082 , + [2915] = 0x6085 , + [2916] = 0x6086 , + [2917] = 0x6087 , + [2918] = 0x6088 , + [2919] = 0x608A , + [2920] = 0x608B , + [2921] = 0x608E , + [2922] = 0x608F , + [2923] = 0x6090 , + [2924] = 0x6091 , + [2925] = 0x6093 , + [2926] = 0x6095 , + [2927] = 0x6097 , + [2928] = 0x6098 , + [2929] = 0x6099 , + [2930] = 0x609C , + [2931] = 0x609E , + [2932] = 0x60A1 , + [2933] = 0x60A2 , + [2934] = 0x60A4 , + [2935] = 0x60A5 , + [2936] = 0x60A7 , + [2937] = 0x60A9 , + [2938] = 0x60AA , + [2939] = 0x60AE , + [2940] = 0x60B0 , + [2941] = 0x60B3 , + [2942] = 0x60B5 , + [2943] = 0x60B6 , + [2944] = 0x60B7 , + [2945] = 0x60B9 , + [2946] = 0x60BA , + [2947] = 0x60BD , + [2948] = 0x60BE , + [2949] = 0x60BF , + [2950] = 0x60C0 , + [2951] = 0x60C1 , + [2952] = 0x60C2 , + [2953] = 0x60C3 , + [2954] = 0x60C4 , + [2955] = 0x60C7 , + [2956] = 0x60C8 , + [2957] = 0x60C9 , + [2958] = 0x60CC , + [2959] = 0x60CD , + [2960] = 0x60CE , + [2961] = 0x60CF , + [2962] = 0x60D0 , + [2963] = 0x60D2 , + [2964] = 0x60D3 , + [2965] = 0x60D4 , + [2966] = 0x60D6 , + [2967] = 0x60D7 , + [2968] = 0x60D9 , + [2969] = 0x60DB , + [2970] = 0x60DE , + [2971] = 0x60E1 , + [2972] = 0x60E2 , + [2973] = 0x60E3 , + [2974] = 0x60E4 , + [2975] = 0x60E5 , + [2976] = 0x60EA , + [2977] = 0x60F1 , + [2978] = 0x60F2 , + [2979] = 0x60F5 , + [2980] = 0x60F7 , + [2981] = 0x60F8 , + [2982] = 0x60FB , + [2983] = 0x60FC , + [2984] = 0x60FD , + [2985] = 0x60FE , + [2986] = 0x60FF , + [2987] = 0x6102 , + [2988] = 0x6103 , + [2989] = 0x6104 , + [2990] = 0x6105 , + [2991] = 0x6107 , + [2992] = 0x610A , + [2993] = 0x610B , + [2994] = 0x610C , + [2995] = 0x6110 , + [2996] = 0x6111 , + [2997] = 0x6112 , + [2998] = 0x6113 , + [2999] = 0x6114 , + [3000] = 0x6116 , + [3001] = 0x6117 , + [3002] = 0x6118 , + [3003] = 0x6119 , + [3004] = 0x611B , + [3005] = 0x611C , + [3006] = 0x611D , + [3007] = 0x611E , + [3008] = 0x6121 , + [3009] = 0x6122 , + [3010] = 0x6125 , + [3011] = 0x6128 , + [3012] = 0x6129 , + [3013] = 0x612A , + [3014] = 0x612C , + [3015] = 0x612D , + [3016] = 0x612E , + [3017] = 0x612F , + [3018] = 0x6130 , + [3019] = 0x6131 , + [3020] = 0x6132 , + [3021] = 0x6133 , + [3022] = 0x6134 , + [3023] = 0x6135 , + [3024] = 0x6136 , + [3025] = 0x6137 , + [3026] = 0x6138 , + [3027] = 0x6139 , + [3028] = 0x613A , + [3029] = 0x613B , + [3030] = 0x613C , + [3031] = 0x613D , + [3032] = 0x613E , + [3033] = 0x6140 , + [3034] = 0x6141 , + [3035] = 0x6142 , + [3036] = 0x6143 , + [3037] = 0x6144 , + [3038] = 0x6145 , + [3039] = 0x6146 , + [3040] = 0x6147 , + [3041] = 0x6149 , + [3042] = 0x614B , + [3043] = 0x614D , + [3044] = 0x614F , + [3045] = 0x6150 , + [3046] = 0x6152 , + [3047] = 0x6153 , + [3048] = 0x6154 , + [3049] = 0x6156 , + [3050] = 0x6157 , + [3051] = 0x6158 , + [3052] = 0x6159 , + [3053] = 0x615A , + [3054] = 0x615B , + [3055] = 0x615C , + [3056] = 0x615E , + [3057] = 0x615F , + [3058] = 0x6160 , + [3059] = 0x6161 , + [3060] = 0x6163 , + [3061] = 0x6164 , + [3062] = 0x6165 , + [3063] = 0x6166 , + [3064] = 0x6169 , + [3065] = 0x616A , + [3066] = 0x616B , + [3067] = 0x616C , + [3068] = 0x616D , + [3069] = 0x616E , + [3070] = 0x616F , + [3071] = 0x6171 , + [3072] = 0x6172 , + [3073] = 0x6173 , + [3074] = 0x6174 , + [3075] = 0x6176 , + [3076] = 0x6178 , + [3077] = 0x6179 , + [3078] = 0x617A , + [3079] = 0x617B , + [3080] = 0x617C , + [3081] = 0x617D , + [3082] = 0x617E , + [3083] = 0x617F , + [3084] = 0x6180 , + [3085] = 0x6181 , + [3086] = 0x6182 , + [3087] = 0x6183 , + [3088] = 0x6184 , + [3089] = 0x6185 , + [3090] = 0x6186 , + [3091] = 0x6187 , + [3092] = 0x6188 , + [3093] = 0x6189 , + [3094] = 0x618A , + [3095] = 0x618C , + [3096] = 0x618D , + [3097] = 0x618F , + [3098] = 0x6190 , + [3099] = 0x6191 , + [3100] = 0x6192 , + [3101] = 0x6193 , + [3102] = 0x6195 , + [3103] = 0x6196 , + [3104] = 0x6197 , + [3105] = 0x6198 , + [3106] = 0x6199 , + [3107] = 0x619A , + [3108] = 0x619B , + [3109] = 0x619C , + [3110] = 0x619E , + [3111] = 0x619F , + [3112] = 0x61A0 , + [3113] = 0x61A1 , + [3114] = 0x61A2 , + [3115] = 0x61A3 , + [3116] = 0x61A4 , + [3117] = 0x61A5 , + [3118] = 0x61A6 , + [3119] = 0x61AA , + [3120] = 0x61AB , + [3121] = 0x61AD , + [3122] = 0x61AE , + [3123] = 0x61AF , + [3124] = 0x61B0 , + [3125] = 0x61B1 , + [3126] = 0x61B2 , + [3127] = 0x61B3 , + [3128] = 0x61B4 , + [3129] = 0x61B5 , + [3130] = 0x61B6 , + [3131] = 0x61B8 , + [3132] = 0x61B9 , + [3133] = 0x61BA , + [3134] = 0x61BB , + [3135] = 0x61BC , + [3136] = 0x61BD , + [3137] = 0x61BF , + [3138] = 0x61C0 , + [3139] = 0x61C1 , + [3140] = 0x61C3 , + [3141] = 0x61C4 , + [3142] = 0x61C5 , + [3143] = 0x61C6 , + [3144] = 0x61C7 , + [3145] = 0x61C9 , + [3146] = 0x61CC , + [3147] = 0x61CD , + [3148] = 0x61CE , + [3149] = 0x61CF , + [3150] = 0x61D0 , + [3151] = 0x61D3 , + [3152] = 0x61D5 , + [3153] = 0x61D6 , + [3154] = 0x61D7 , + [3155] = 0x61D8 , + [3156] = 0x61D9 , + [3157] = 0x61DA , + [3158] = 0x61DB , + [3159] = 0x61DC , + [3160] = 0x61DD , + [3161] = 0x61DE , + [3162] = 0x61DF , + [3163] = 0x61E0 , + [3164] = 0x61E1 , + [3165] = 0x61E2 , + [3166] = 0x61E3 , + [3167] = 0x61E4 , + [3168] = 0x61E5 , + [3169] = 0x61E7 , + [3170] = 0x61E8 , + [3171] = 0x61E9 , + [3172] = 0x61EA , + [3173] = 0x61EB , + [3174] = 0x61EC , + [3175] = 0x61ED , + [3176] = 0x61EE , + [3177] = 0x61EF , + [3178] = 0x61F0 , + [3179] = 0x61F1 , + [3180] = 0x61F2 , + [3181] = 0x61F3 , + [3182] = 0x61F4 , + [3183] = 0x61F6 , + [3184] = 0x61F7 , + [3185] = 0x61F8 , + [3186] = 0x61F9 , + [3187] = 0x61FA , + [3188] = 0x61FB , + [3189] = 0x61FC , + [3190] = 0x61FD , + [3191] = 0x61FE , + [3192] = 0x6200 , + [3193] = 0x6201 , + [3194] = 0x6202 , + [3195] = 0x6203 , + [3196] = 0x6204 , + [3197] = 0x6205 , + [3198] = 0x6207 , + [3199] = 0x6209 , + [3200] = 0x6213 , + [3201] = 0x6214 , + [3202] = 0x6219 , + [3203] = 0x621C , + [3204] = 0x621D , + [3205] = 0x621E , + [3206] = 0x6220 , + [3207] = 0x6223 , + [3208] = 0x6226 , + [3209] = 0x6227 , + [3210] = 0x6228 , + [3211] = 0x6229 , + [3212] = 0x622B , + [3213] = 0x622D , + [3214] = 0x622F , + [3215] = 0x6230 , + [3216] = 0x6231 , + [3217] = 0x6232 , + [3218] = 0x6235 , + [3219] = 0x6236 , + [3220] = 0x6238 , + [3221] = 0x6239 , + [3222] = 0x623A , + [3223] = 0x623B , + [3224] = 0x623C , + [3225] = 0x6242 , + [3226] = 0x6244 , + [3227] = 0x6245 , + [3228] = 0x6246 , + [3229] = 0x624A , + [3230] = 0x624F , + [3231] = 0x6250 , + [3232] = 0x6255 , + [3233] = 0x6256 , + [3234] = 0x6257 , + [3235] = 0x6259 , + [3236] = 0x625A , + [3237] = 0x625C , + [3238] = 0x625D , + [3239] = 0x625E , + [3240] = 0x625F , + [3241] = 0x6260 , + [3242] = 0x6261 , + [3243] = 0x6262 , + [3244] = 0x6264 , + [3245] = 0x6265 , + [3246] = 0x6268 , + [3247] = 0x6271 , + [3248] = 0x6272 , + [3249] = 0x6274 , + [3250] = 0x6275 , + [3251] = 0x6277 , + [3252] = 0x6278 , + [3253] = 0x627A , + [3254] = 0x627B , + [3255] = 0x627D , + [3256] = 0x6281 , + [3257] = 0x6282 , + [3258] = 0x6283 , + [3259] = 0x6285 , + [3260] = 0x6286 , + [3261] = 0x6287 , + [3262] = 0x6288 , + [3263] = 0x628B , + [3264] = 0x628C , + [3265] = 0x628D , + [3266] = 0x628E , + [3267] = 0x628F , + [3268] = 0x6290 , + [3269] = 0x6294 , + [3270] = 0x6299 , + [3271] = 0x629C , + [3272] = 0x629D , + [3273] = 0x629E , + [3274] = 0x62A3 , + [3275] = 0x62A6 , + [3276] = 0x62A7 , + [3277] = 0x62A9 , + [3278] = 0x62AA , + [3279] = 0x62AD , + [3280] = 0x62AE , + [3281] = 0x62AF , + [3282] = 0x62B0 , + [3283] = 0x62B2 , + [3284] = 0x62B3 , + [3285] = 0x62B4 , + [3286] = 0x62B6 , + [3287] = 0x62B7 , + [3288] = 0x62B8 , + [3289] = 0x62BA , + [3290] = 0x62BE , + [3291] = 0x62C0 , + [3292] = 0x62C1 , + [3293] = 0x62C3 , + [3294] = 0x62CB , + [3295] = 0x62CF , + [3296] = 0x62D1 , + [3297] = 0x62D5 , + [3298] = 0x62DD , + [3299] = 0x62DE , + [3300] = 0x62E0 , + [3301] = 0x62E1 , + [3302] = 0x62E4 , + [3303] = 0x62EA , + [3304] = 0x62EB , + [3305] = 0x62F0 , + [3306] = 0x62F2 , + [3307] = 0x62F5 , + [3308] = 0x62F8 , + [3309] = 0x62F9 , + [3310] = 0x62FA , + [3311] = 0x62FB , + [3312] = 0x6300 , + [3313] = 0x6303 , + [3314] = 0x6304 , + [3315] = 0x6305 , + [3316] = 0x6306 , + [3317] = 0x630A , + [3318] = 0x630B , + [3319] = 0x630C , + [3320] = 0x630D , + [3321] = 0x630F , + [3322] = 0x6310 , + [3323] = 0x6312 , + [3324] = 0x6313 , + [3325] = 0x6314 , + [3326] = 0x6315 , + [3327] = 0x6317 , + [3328] = 0x6318 , + [3329] = 0x6319 , + [3330] = 0x631C , + [3331] = 0x6326 , + [3332] = 0x6327 , + [3333] = 0x6329 , + [3334] = 0x632C , + [3335] = 0x632D , + [3336] = 0x632E , + [3337] = 0x6330 , + [3338] = 0x6331 , + [3339] = 0x6333 , + [3340] = 0x6334 , + [3341] = 0x6335 , + [3342] = 0x6336 , + [3343] = 0x6337 , + [3344] = 0x6338 , + [3345] = 0x633B , + [3346] = 0x633C , + [3347] = 0x633E , + [3348] = 0x633F , + [3349] = 0x6340 , + [3350] = 0x6341 , + [3351] = 0x6344 , + [3352] = 0x6347 , + [3353] = 0x6348 , + [3354] = 0x634A , + [3355] = 0x6351 , + [3356] = 0x6352 , + [3357] = 0x6353 , + [3358] = 0x6354 , + [3359] = 0x6356 , + [3360] = 0x6357 , + [3361] = 0x6358 , + [3362] = 0x6359 , + [3363] = 0x635A , + [3364] = 0x635B , + [3365] = 0x635C , + [3366] = 0x635D , + [3367] = 0x6360 , + [3368] = 0x6364 , + [3369] = 0x6365 , + [3370] = 0x6366 , + [3371] = 0x6368 , + [3372] = 0x636A , + [3373] = 0x636B , + [3374] = 0x636C , + [3375] = 0x636F , + [3376] = 0x6370 , + [3377] = 0x6372 , + [3378] = 0x6373 , + [3379] = 0x6374 , + [3380] = 0x6375 , + [3381] = 0x6378 , + [3382] = 0x6379 , + [3383] = 0x637C , + [3384] = 0x637D , + [3385] = 0x637E , + [3386] = 0x637F , + [3387] = 0x6381 , + [3388] = 0x6383 , + [3389] = 0x6384 , + [3390] = 0x6385 , + [3391] = 0x6386 , + [3392] = 0x638B , + [3393] = 0x638D , + [3394] = 0x6391 , + [3395] = 0x6393 , + [3396] = 0x6394 , + [3397] = 0x6395 , + [3398] = 0x6397 , + [3399] = 0x6399 , + [3400] = 0x639A , + [3401] = 0x639B , + [3402] = 0x639C , + [3403] = 0x639D , + [3404] = 0x639E , + [3405] = 0x639F , + [3406] = 0x63A1 , + [3407] = 0x63A4 , + [3408] = 0x63A6 , + [3409] = 0x63AB , + [3410] = 0x63AF , + [3411] = 0x63B1 , + [3412] = 0x63B2 , + [3413] = 0x63B5 , + [3414] = 0x63B6 , + [3415] = 0x63B9 , + [3416] = 0x63BB , + [3417] = 0x63BD , + [3418] = 0x63BF , + [3419] = 0x63C0 , + [3420] = 0x63C1 , + [3421] = 0x63C2 , + [3422] = 0x63C3 , + [3423] = 0x63C5 , + [3424] = 0x63C7 , + [3425] = 0x63C8 , + [3426] = 0x63CA , + [3427] = 0x63CB , + [3428] = 0x63CC , + [3429] = 0x63D1 , + [3430] = 0x63D3 , + [3431] = 0x63D4 , + [3432] = 0x63D5 , + [3433] = 0x63D7 , + [3434] = 0x63D8 , + [3435] = 0x63D9 , + [3436] = 0x63DA , + [3437] = 0x63DB , + [3438] = 0x63DC , + [3439] = 0x63DD , + [3440] = 0x63DF , + [3441] = 0x63E2 , + [3442] = 0x63E4 , + [3443] = 0x63E5 , + [3444] = 0x63E6 , + [3445] = 0x63E7 , + [3446] = 0x63E8 , + [3447] = 0x63EB , + [3448] = 0x63EC , + [3449] = 0x63EE , + [3450] = 0x63EF , + [3451] = 0x63F0 , + [3452] = 0x63F1 , + [3453] = 0x63F3 , + [3454] = 0x63F5 , + [3455] = 0x63F7 , + [3456] = 0x63F9 , + [3457] = 0x63FA , + [3458] = 0x63FB , + [3459] = 0x63FC , + [3460] = 0x63FE , + [3461] = 0x6403 , + [3462] = 0x6404 , + [3463] = 0x6406 , + [3464] = 0x6407 , + [3465] = 0x6408 , + [3466] = 0x6409 , + [3467] = 0x640A , + [3468] = 0x640D , + [3469] = 0x640E , + [3470] = 0x6411 , + [3471] = 0x6412 , + [3472] = 0x6415 , + [3473] = 0x6416 , + [3474] = 0x6417 , + [3475] = 0x6418 , + [3476] = 0x6419 , + [3477] = 0x641A , + [3478] = 0x641D , + [3479] = 0x641F , + [3480] = 0x6422 , + [3481] = 0x6423 , + [3482] = 0x6424 , + [3483] = 0x6425 , + [3484] = 0x6427 , + [3485] = 0x6428 , + [3486] = 0x6429 , + [3487] = 0x642B , + [3488] = 0x642E , + [3489] = 0x642F , + [3490] = 0x6430 , + [3491] = 0x6431 , + [3492] = 0x6432 , + [3493] = 0x6433 , + [3494] = 0x6435 , + [3495] = 0x6436 , + [3496] = 0x6437 , + [3497] = 0x6438 , + [3498] = 0x6439 , + [3499] = 0x643B , + [3500] = 0x643C , + [3501] = 0x643E , + [3502] = 0x6440 , + [3503] = 0x6442 , + [3504] = 0x6443 , + [3505] = 0x6449 , + [3506] = 0x644B , + [3507] = 0x644C , + [3508] = 0x644D , + [3509] = 0x644E , + [3510] = 0x644F , + [3511] = 0x6450 , + [3512] = 0x6451 , + [3513] = 0x6453 , + [3514] = 0x6455 , + [3515] = 0x6456 , + [3516] = 0x6457 , + [3517] = 0x6459 , + [3518] = 0x645A , + [3519] = 0x645B , + [3520] = 0x645C , + [3521] = 0x645D , + [3522] = 0x645F , + [3523] = 0x6460 , + [3524] = 0x6461 , + [3525] = 0x6462 , + [3526] = 0x6463 , + [3527] = 0x6464 , + [3528] = 0x6465 , + [3529] = 0x6466 , + [3530] = 0x6468 , + [3531] = 0x646A , + [3532] = 0x646B , + [3533] = 0x646C , + [3534] = 0x646E , + [3535] = 0x646F , + [3536] = 0x6470 , + [3537] = 0x6471 , + [3538] = 0x6472 , + [3539] = 0x6473 , + [3540] = 0x6474 , + [3541] = 0x6475 , + [3542] = 0x6476 , + [3543] = 0x6477 , + [3544] = 0x647B , + [3545] = 0x647C , + [3546] = 0x647D , + [3547] = 0x647E , + [3548] = 0x647F , + [3549] = 0x6480 , + [3550] = 0x6481 , + [3551] = 0x6483 , + [3552] = 0x6486 , + [3553] = 0x6488 , + [3554] = 0x6489 , + [3555] = 0x648A , + [3556] = 0x648B , + [3557] = 0x648C , + [3558] = 0x648D , + [3559] = 0x648E , + [3560] = 0x648F , + [3561] = 0x6490 , + [3562] = 0x6493 , + [3563] = 0x6494 , + [3564] = 0x6497 , + [3565] = 0x6498 , + [3566] = 0x649A , + [3567] = 0x649B , + [3568] = 0x649C , + [3569] = 0x649D , + [3570] = 0x649F , + [3571] = 0x64A0 , + [3572] = 0x64A1 , + [3573] = 0x64A2 , + [3574] = 0x64A3 , + [3575] = 0x64A5 , + [3576] = 0x64A6 , + [3577] = 0x64A7 , + [3578] = 0x64A8 , + [3579] = 0x64AA , + [3580] = 0x64AB , + [3581] = 0x64AF , + [3582] = 0x64B1 , + [3583] = 0x64B2 , + [3584] = 0x64B3 , + [3585] = 0x64B4 , + [3586] = 0x64B6 , + [3587] = 0x64B9 , + [3588] = 0x64BB , + [3589] = 0x64BD , + [3590] = 0x64BE , + [3591] = 0x64BF , + [3592] = 0x64C1 , + [3593] = 0x64C3 , + [3594] = 0x64C4 , + [3595] = 0x64C6 , + [3596] = 0x64C7 , + [3597] = 0x64C8 , + [3598] = 0x64C9 , + [3599] = 0x64CA , + [3600] = 0x64CB , + [3601] = 0x64CC , + [3602] = 0x64CF , + [3603] = 0x64D1 , + [3604] = 0x64D3 , + [3605] = 0x64D4 , + [3606] = 0x64D5 , + [3607] = 0x64D6 , + [3608] = 0x64D9 , + [3609] = 0x64DA , + [3610] = 0x64DB , + [3611] = 0x64DC , + [3612] = 0x64DD , + [3613] = 0x64DF , + [3614] = 0x64E0 , + [3615] = 0x64E1 , + [3616] = 0x64E3 , + [3617] = 0x64E5 , + [3618] = 0x64E7 , + [3619] = 0x64E8 , + [3620] = 0x64E9 , + [3621] = 0x64EA , + [3622] = 0x64EB , + [3623] = 0x64EC , + [3624] = 0x64ED , + [3625] = 0x64EE , + [3626] = 0x64EF , + [3627] = 0x64F0 , + [3628] = 0x64F1 , + [3629] = 0x64F2 , + [3630] = 0x64F3 , + [3631] = 0x64F4 , + [3632] = 0x64F5 , + [3633] = 0x64F6 , + [3634] = 0x64F7 , + [3635] = 0x64F8 , + [3636] = 0x64F9 , + [3637] = 0x64FA , + [3638] = 0x64FB , + [3639] = 0x64FC , + [3640] = 0x64FD , + [3641] = 0x64FE , + [3642] = 0x64FF , + [3643] = 0x6501 , + [3644] = 0x6502 , + [3645] = 0x6503 , + [3646] = 0x6504 , + [3647] = 0x6505 , + [3648] = 0x6506 , + [3649] = 0x6507 , + [3650] = 0x6508 , + [3651] = 0x650A , + [3652] = 0x650B , + [3653] = 0x650C , + [3654] = 0x650D , + [3655] = 0x650E , + [3656] = 0x650F , + [3657] = 0x6510 , + [3658] = 0x6511 , + [3659] = 0x6513 , + [3660] = 0x6514 , + [3661] = 0x6515 , + [3662] = 0x6516 , + [3663] = 0x6517 , + [3664] = 0x6519 , + [3665] = 0x651A , + [3666] = 0x651B , + [3667] = 0x651C , + [3668] = 0x651D , + [3669] = 0x651E , + [3670] = 0x651F , + [3671] = 0x6520 , + [3672] = 0x6521 , + [3673] = 0x6522 , + [3674] = 0x6523 , + [3675] = 0x6524 , + [3676] = 0x6526 , + [3677] = 0x6527 , + [3678] = 0x6528 , + [3679] = 0x6529 , + [3680] = 0x652A , + [3681] = 0x652C , + [3682] = 0x652D , + [3683] = 0x6530 , + [3684] = 0x6531 , + [3685] = 0x6532 , + [3686] = 0x6533 , + [3687] = 0x6537 , + [3688] = 0x653A , + [3689] = 0x653C , + [3690] = 0x653D , + [3691] = 0x6540 , + [3692] = 0x6541 , + [3693] = 0x6542 , + [3694] = 0x6543 , + [3695] = 0x6544 , + [3696] = 0x6546 , + [3697] = 0x6547 , + [3698] = 0x654A , + [3699] = 0x654B , + [3700] = 0x654D , + [3701] = 0x654E , + [3702] = 0x6550 , + [3703] = 0x6552 , + [3704] = 0x6553 , + [3705] = 0x6554 , + [3706] = 0x6557 , + [3707] = 0x6558 , + [3708] = 0x655A , + [3709] = 0x655C , + [3710] = 0x655F , + [3711] = 0x6560 , + [3712] = 0x6561 , + [3713] = 0x6564 , + [3714] = 0x6565 , + [3715] = 0x6567 , + [3716] = 0x6568 , + [3717] = 0x6569 , + [3718] = 0x656A , + [3719] = 0x656D , + [3720] = 0x656E , + [3721] = 0x656F , + [3722] = 0x6571 , + [3723] = 0x6573 , + [3724] = 0x6575 , + [3725] = 0x6576 , + [3726] = 0x6578 , + [3727] = 0x6579 , + [3728] = 0x657A , + [3729] = 0x657B , + [3730] = 0x657C , + [3731] = 0x657D , + [3732] = 0x657E , + [3733] = 0x657F , + [3734] = 0x6580 , + [3735] = 0x6581 , + [3736] = 0x6582 , + [3737] = 0x6583 , + [3738] = 0x6584 , + [3739] = 0x6585 , + [3740] = 0x6586 , + [3741] = 0x6588 , + [3742] = 0x6589 , + [3743] = 0x658A , + [3744] = 0x658D , + [3745] = 0x658E , + [3746] = 0x658F , + [3747] = 0x6592 , + [3748] = 0x6594 , + [3749] = 0x6595 , + [3750] = 0x6596 , + [3751] = 0x6598 , + [3752] = 0x659A , + [3753] = 0x659D , + [3754] = 0x659E , + [3755] = 0x65A0 , + [3756] = 0x65A2 , + [3757] = 0x65A3 , + [3758] = 0x65A6 , + [3759] = 0x65A8 , + [3760] = 0x65AA , + [3761] = 0x65AC , + [3762] = 0x65AE , + [3763] = 0x65B1 , + [3764] = 0x65B2 , + [3765] = 0x65B3 , + [3766] = 0x65B4 , + [3767] = 0x65B5 , + [3768] = 0x65B6 , + [3769] = 0x65B7 , + [3770] = 0x65B8 , + [3771] = 0x65BA , + [3772] = 0x65BB , + [3773] = 0x65BE , + [3774] = 0x65BF , + [3775] = 0x65C0 , + [3776] = 0x65C2 , + [3777] = 0x65C7 , + [3778] = 0x65C8 , + [3779] = 0x65C9 , + [3780] = 0x65CA , + [3781] = 0x65CD , + [3782] = 0x65D0 , + [3783] = 0x65D1 , + [3784] = 0x65D3 , + [3785] = 0x65D4 , + [3786] = 0x65D5 , + [3787] = 0x65D8 , + [3788] = 0x65D9 , + [3789] = 0x65DA , + [3790] = 0x65DB , + [3791] = 0x65DC , + [3792] = 0x65DD , + [3793] = 0x65DE , + [3794] = 0x65DF , + [3795] = 0x65E1 , + [3796] = 0x65E3 , + [3797] = 0x65E4 , + [3798] = 0x65EA , + [3799] = 0x65EB , + [3800] = 0x65F2 , + [3801] = 0x65F3 , + [3802] = 0x65F4 , + [3803] = 0x65F5 , + [3804] = 0x65F8 , + [3805] = 0x65F9 , + [3806] = 0x65FB , + [3807] = 0x65FC , + [3808] = 0x65FD , + [3809] = 0x65FE , + [3810] = 0x65FF , + [3811] = 0x6601 , + [3812] = 0x6604 , + [3813] = 0x6605 , + [3814] = 0x6607 , + [3815] = 0x6608 , + [3816] = 0x6609 , + [3817] = 0x660B , + [3818] = 0x660D , + [3819] = 0x6610 , + [3820] = 0x6611 , + [3821] = 0x6612 , + [3822] = 0x6616 , + [3823] = 0x6617 , + [3824] = 0x6618 , + [3825] = 0x661A , + [3826] = 0x661B , + [3827] = 0x661C , + [3828] = 0x661E , + [3829] = 0x6621 , + [3830] = 0x6622 , + [3831] = 0x6623 , + [3832] = 0x6624 , + [3833] = 0x6626 , + [3834] = 0x6629 , + [3835] = 0x662A , + [3836] = 0x662B , + [3837] = 0x662C , + [3838] = 0x662E , + [3839] = 0x6630 , + [3840] = 0x6632 , + [3841] = 0x6633 , + [3842] = 0x6637 , + [3843] = 0x6638 , + [3844] = 0x6639 , + [3845] = 0x663A , + [3846] = 0x663B , + [3847] = 0x663D , + [3848] = 0x663F , + [3849] = 0x6640 , + [3850] = 0x6642 , + [3851] = 0x6644 , + [3852] = 0x6645 , + [3853] = 0x6646 , + [3854] = 0x6647 , + [3855] = 0x6648 , + [3856] = 0x6649 , + [3857] = 0x664A , + [3858] = 0x664D , + [3859] = 0x664E , + [3860] = 0x6650 , + [3861] = 0x6651 , + [3862] = 0x6658 , + [3863] = 0x6659 , + [3864] = 0x665B , + [3865] = 0x665C , + [3866] = 0x665D , + [3867] = 0x665E , + [3868] = 0x6660 , + [3869] = 0x6662 , + [3870] = 0x6663 , + [3871] = 0x6665 , + [3872] = 0x6667 , + [3873] = 0x6669 , + [3874] = 0x666A , + [3875] = 0x666B , + [3876] = 0x666C , + [3877] = 0x666D , + [3878] = 0x6671 , + [3879] = 0x6672 , + [3880] = 0x6673 , + [3881] = 0x6675 , + [3882] = 0x6678 , + [3883] = 0x6679 , + [3884] = 0x667B , + [3885] = 0x667C , + [3886] = 0x667D , + [3887] = 0x667F , + [3888] = 0x6680 , + [3889] = 0x6681 , + [3890] = 0x6683 , + [3891] = 0x6685 , + [3892] = 0x6686 , + [3893] = 0x6688 , + [3894] = 0x6689 , + [3895] = 0x668A , + [3896] = 0x668B , + [3897] = 0x668D , + [3898] = 0x668E , + [3899] = 0x668F , + [3900] = 0x6690 , + [3901] = 0x6692 , + [3902] = 0x6693 , + [3903] = 0x6694 , + [3904] = 0x6695 , + [3905] = 0x6698 , + [3906] = 0x6699 , + [3907] = 0x669A , + [3908] = 0x669B , + [3909] = 0x669C , + [3910] = 0x669E , + [3911] = 0x669F , + [3912] = 0x66A0 , + [3913] = 0x66A1 , + [3914] = 0x66A2 , + [3915] = 0x66A3 , + [3916] = 0x66A4 , + [3917] = 0x66A5 , + [3918] = 0x66A6 , + [3919] = 0x66A9 , + [3920] = 0x66AA , + [3921] = 0x66AB , + [3922] = 0x66AC , + [3923] = 0x66AD , + [3924] = 0x66AF , + [3925] = 0x66B0 , + [3926] = 0x66B1 , + [3927] = 0x66B2 , + [3928] = 0x66B3 , + [3929] = 0x66B5 , + [3930] = 0x66B6 , + [3931] = 0x66B7 , + [3932] = 0x66B8 , + [3933] = 0x66BA , + [3934] = 0x66BB , + [3935] = 0x66BC , + [3936] = 0x66BD , + [3937] = 0x66BF , + [3938] = 0x66C0 , + [3939] = 0x66C1 , + [3940] = 0x66C2 , + [3941] = 0x66C3 , + [3942] = 0x66C4 , + [3943] = 0x66C5 , + [3944] = 0x66C6 , + [3945] = 0x66C7 , + [3946] = 0x66C8 , + [3947] = 0x66C9 , + [3948] = 0x66CA , + [3949] = 0x66CB , + [3950] = 0x66CC , + [3951] = 0x66CD , + [3952] = 0x66CE , + [3953] = 0x66CF , + [3954] = 0x66D0 , + [3955] = 0x66D1 , + [3956] = 0x66D2 , + [3957] = 0x66D3 , + [3958] = 0x66D4 , + [3959] = 0x66D5 , + [3960] = 0x66D6 , + [3961] = 0x66D7 , + [3962] = 0x66D8 , + [3963] = 0x66DA , + [3964] = 0x66DE , + [3965] = 0x66DF , + [3966] = 0x66E0 , + [3967] = 0x66E1 , + [3968] = 0x66E2 , + [3969] = 0x66E3 , + [3970] = 0x66E4 , + [3971] = 0x66E5 , + [3972] = 0x66E7 , + [3973] = 0x66E8 , + [3974] = 0x66EA , + [3975] = 0x66EB , + [3976] = 0x66EC , + [3977] = 0x66ED , + [3978] = 0x66EE , + [3979] = 0x66EF , + [3980] = 0x66F1 , + [3981] = 0x66F5 , + [3982] = 0x66F6 , + [3983] = 0x66F8 , + [3984] = 0x66FA , + [3985] = 0x66FB , + [3986] = 0x66FD , + [3987] = 0x6701 , + [3988] = 0x6702 , + [3989] = 0x6703 , + [3990] = 0x6704 , + [3991] = 0x6705 , + [3992] = 0x6706 , + [3993] = 0x6707 , + [3994] = 0x670C , + [3995] = 0x670E , + [3996] = 0x670F , + [3997] = 0x6711 , + [3998] = 0x6712 , + [3999] = 0x6713 , + [4000] = 0x6716 , + [4001] = 0x6718 , + [4002] = 0x6719 , + [4003] = 0x671A , + [4004] = 0x671C , + [4005] = 0x671E , + [4006] = 0x6720 , + [4007] = 0x6721 , + [4008] = 0x6722 , + [4009] = 0x6723 , + [4010] = 0x6724 , + [4011] = 0x6725 , + [4012] = 0x6727 , + [4013] = 0x6729 , + [4014] = 0x672E , + [4015] = 0x6730 , + [4016] = 0x6732 , + [4017] = 0x6733 , + [4018] = 0x6736 , + [4019] = 0x6737 , + [4020] = 0x6738 , + [4021] = 0x6739 , + [4022] = 0x673B , + [4023] = 0x673C , + [4024] = 0x673E , + [4025] = 0x673F , + [4026] = 0x6741 , + [4027] = 0x6744 , + [4028] = 0x6745 , + [4029] = 0x6747 , + [4030] = 0x674A , + [4031] = 0x674B , + [4032] = 0x674D , + [4033] = 0x6752 , + [4034] = 0x6754 , + [4035] = 0x6755 , + [4036] = 0x6757 , + [4037] = 0x6758 , + [4038] = 0x6759 , + [4039] = 0x675A , + [4040] = 0x675B , + [4041] = 0x675D , + [4042] = 0x6762 , + [4043] = 0x6763 , + [4044] = 0x6764 , + [4045] = 0x6766 , + [4046] = 0x6767 , + [4047] = 0x676B , + [4048] = 0x676C , + [4049] = 0x676E , + [4050] = 0x6771 , + [4051] = 0x6774 , + [4052] = 0x6776 , + [4053] = 0x6778 , + [4054] = 0x6779 , + [4055] = 0x677A , + [4056] = 0x677B , + [4057] = 0x677D , + [4058] = 0x6780 , + [4059] = 0x6782 , + [4060] = 0x6783 , + [4061] = 0x6785 , + [4062] = 0x6786 , + [4063] = 0x6788 , + [4064] = 0x678A , + [4065] = 0x678C , + [4066] = 0x678D , + [4067] = 0x678E , + [4068] = 0x678F , + [4069] = 0x6791 , + [4070] = 0x6792 , + [4071] = 0x6793 , + [4072] = 0x6794 , + [4073] = 0x6796 , + [4074] = 0x6799 , + [4075] = 0x679B , + [4076] = 0x679F , + [4077] = 0x67A0 , + [4078] = 0x67A1 , + [4079] = 0x67A4 , + [4080] = 0x67A6 , + [4081] = 0x67A9 , + [4082] = 0x67AC , + [4083] = 0x67AE , + [4084] = 0x67B1 , + [4085] = 0x67B2 , + [4086] = 0x67B4 , + [4087] = 0x67B9 , + [4088] = 0x67BA , + [4089] = 0x67BB , + [4090] = 0x67BC , + [4091] = 0x67BD , + [4092] = 0x67BE , + [4093] = 0x67BF , + [4094] = 0x67C0 , + [4095] = 0x67C2 , + [4096] = 0x67C5 , + [4097] = 0x67C6 , + [4098] = 0x67C7 , + [4099] = 0x67C8 , + [4100] = 0x67C9 , + [4101] = 0x67CA , + [4102] = 0x67CB , + [4103] = 0x67CC , + [4104] = 0x67CD , + [4105] = 0x67CE , + [4106] = 0x67D5 , + [4107] = 0x67D6 , + [4108] = 0x67D7 , + [4109] = 0x67DB , + [4110] = 0x67DF , + [4111] = 0x67E1 , + [4112] = 0x67E3 , + [4113] = 0x67E4 , + [4114] = 0x67E6 , + [4115] = 0x67E7 , + [4116] = 0x67E8 , + [4117] = 0x67EA , + [4118] = 0x67EB , + [4119] = 0x67ED , + [4120] = 0x67EE , + [4121] = 0x67F2 , + [4122] = 0x67F5 , + [4123] = 0x67F6 , + [4124] = 0x67F7 , + [4125] = 0x67F8 , + [4126] = 0x67F9 , + [4127] = 0x67FA , + [4128] = 0x67FB , + [4129] = 0x67FC , + [4130] = 0x67FE , + [4131] = 0x6801 , + [4132] = 0x6802 , + [4133] = 0x6803 , + [4134] = 0x6804 , + [4135] = 0x6806 , + [4136] = 0x680D , + [4137] = 0x6810 , + [4138] = 0x6812 , + [4139] = 0x6814 , + [4140] = 0x6815 , + [4141] = 0x6818 , + [4142] = 0x6819 , + [4143] = 0x681A , + [4144] = 0x681B , + [4145] = 0x681C , + [4146] = 0x681E , + [4147] = 0x681F , + [4148] = 0x6820 , + [4149] = 0x6822 , + [4150] = 0x6823 , + [4151] = 0x6824 , + [4152] = 0x6825 , + [4153] = 0x6826 , + [4154] = 0x6827 , + [4155] = 0x6828 , + [4156] = 0x682B , + [4157] = 0x682C , + [4158] = 0x682D , + [4159] = 0x682E , + [4160] = 0x682F , + [4161] = 0x6830 , + [4162] = 0x6831 , + [4163] = 0x6834 , + [4164] = 0x6835 , + [4165] = 0x6836 , + [4166] = 0x683A , + [4167] = 0x683B , + [4168] = 0x683F , + [4169] = 0x6847 , + [4170] = 0x684B , + [4171] = 0x684D , + [4172] = 0x684F , + [4173] = 0x6852 , + [4174] = 0x6856 , + [4175] = 0x6857 , + [4176] = 0x6858 , + [4177] = 0x6859 , + [4178] = 0x685A , + [4179] = 0x685B , + [4180] = 0x685C , + [4181] = 0x685D , + [4182] = 0x685E , + [4183] = 0x685F , + [4184] = 0x686A , + [4185] = 0x686C , + [4186] = 0x686D , + [4187] = 0x686E , + [4188] = 0x686F , + [4189] = 0x6870 , + [4190] = 0x6871 , + [4191] = 0x6872 , + [4192] = 0x6873 , + [4193] = 0x6875 , + [4194] = 0x6878 , + [4195] = 0x6879 , + [4196] = 0x687A , + [4197] = 0x687B , + [4198] = 0x687C , + [4199] = 0x687D , + [4200] = 0x687E , + [4201] = 0x687F , + [4202] = 0x6880 , + [4203] = 0x6882 , + [4204] = 0x6884 , + [4205] = 0x6887 , + [4206] = 0x6888 , + [4207] = 0x6889 , + [4208] = 0x688A , + [4209] = 0x688B , + [4210] = 0x688C , + [4211] = 0x688D , + [4212] = 0x688E , + [4213] = 0x6890 , + [4214] = 0x6891 , + [4215] = 0x6892 , + [4216] = 0x6894 , + [4217] = 0x6895 , + [4218] = 0x6896 , + [4219] = 0x6898 , + [4220] = 0x6899 , + [4221] = 0x689A , + [4222] = 0x689B , + [4223] = 0x689C , + [4224] = 0x689D , + [4225] = 0x689E , + [4226] = 0x689F , + [4227] = 0x68A0 , + [4228] = 0x68A1 , + [4229] = 0x68A3 , + [4230] = 0x68A4 , + [4231] = 0x68A5 , + [4232] = 0x68A9 , + [4233] = 0x68AA , + [4234] = 0x68AB , + [4235] = 0x68AC , + [4236] = 0x68AE , + [4237] = 0x68B1 , + [4238] = 0x68B2 , + [4239] = 0x68B4 , + [4240] = 0x68B6 , + [4241] = 0x68B7 , + [4242] = 0x68B8 , + [4243] = 0x68B9 , + [4244] = 0x68BA , + [4245] = 0x68BB , + [4246] = 0x68BC , + [4247] = 0x68BD , + [4248] = 0x68BE , + [4249] = 0x68BF , + [4250] = 0x68C1 , + [4251] = 0x68C3 , + [4252] = 0x68C4 , + [4253] = 0x68C5 , + [4254] = 0x68C6 , + [4255] = 0x68C7 , + [4256] = 0x68C8 , + [4257] = 0x68CA , + [4258] = 0x68CC , + [4259] = 0x68CE , + [4260] = 0x68CF , + [4261] = 0x68D0 , + [4262] = 0x68D1 , + [4263] = 0x68D3 , + [4264] = 0x68D4 , + [4265] = 0x68D6 , + [4266] = 0x68D7 , + [4267] = 0x68D9 , + [4268] = 0x68DB , + [4269] = 0x68DC , + [4270] = 0x68DD , + [4271] = 0x68DE , + [4272] = 0x68DF , + [4273] = 0x68E1 , + [4274] = 0x68E2 , + [4275] = 0x68E4 , + [4276] = 0x68E5 , + [4277] = 0x68E6 , + [4278] = 0x68E7 , + [4279] = 0x68E8 , + [4280] = 0x68E9 , + [4281] = 0x68EA , + [4282] = 0x68EB , + [4283] = 0x68EC , + [4284] = 0x68ED , + [4285] = 0x68EF , + [4286] = 0x68F2 , + [4287] = 0x68F3 , + [4288] = 0x68F4 , + [4289] = 0x68F6 , + [4290] = 0x68F7 , + [4291] = 0x68F8 , + [4292] = 0x68FB , + [4293] = 0x68FD , + [4294] = 0x68FE , + [4295] = 0x68FF , + [4296] = 0x6900 , + [4297] = 0x6902 , + [4298] = 0x6903 , + [4299] = 0x6904 , + [4300] = 0x6906 , + [4301] = 0x6907 , + [4302] = 0x6908 , + [4303] = 0x6909 , + [4304] = 0x690A , + [4305] = 0x690C , + [4306] = 0x690F , + [4307] = 0x6911 , + [4308] = 0x6913 , + [4309] = 0x6914 , + [4310] = 0x6915 , + [4311] = 0x6916 , + [4312] = 0x6917 , + [4313] = 0x6918 , + [4314] = 0x6919 , + [4315] = 0x691A , + [4316] = 0x691B , + [4317] = 0x691C , + [4318] = 0x691D , + [4319] = 0x691E , + [4320] = 0x6921 , + [4321] = 0x6922 , + [4322] = 0x6923 , + [4323] = 0x6925 , + [4324] = 0x6926 , + [4325] = 0x6927 , + [4326] = 0x6928 , + [4327] = 0x6929 , + [4328] = 0x692A , + [4329] = 0x692B , + [4330] = 0x692C , + [4331] = 0x692E , + [4332] = 0x692F , + [4333] = 0x6931 , + [4334] = 0x6932 , + [4335] = 0x6933 , + [4336] = 0x6935 , + [4337] = 0x6936 , + [4338] = 0x6937 , + [4339] = 0x6938 , + [4340] = 0x693A , + [4341] = 0x693B , + [4342] = 0x693C , + [4343] = 0x693E , + [4344] = 0x6940 , + [4345] = 0x6941 , + [4346] = 0x6943 , + [4347] = 0x6944 , + [4348] = 0x6945 , + [4349] = 0x6946 , + [4350] = 0x6947 , + [4351] = 0x6948 , + [4352] = 0x6949 , + [4353] = 0x694A , + [4354] = 0x694B , + [4355] = 0x694C , + [4356] = 0x694D , + [4357] = 0x694E , + [4358] = 0x694F , + [4359] = 0x6950 , + [4360] = 0x6951 , + [4361] = 0x6952 , + [4362] = 0x6953 , + [4363] = 0x6955 , + [4364] = 0x6956 , + [4365] = 0x6958 , + [4366] = 0x6959 , + [4367] = 0x695B , + [4368] = 0x695C , + [4369] = 0x695F , + [4370] = 0x6961 , + [4371] = 0x6962 , + [4372] = 0x6964 , + [4373] = 0x6965 , + [4374] = 0x6967 , + [4375] = 0x6968 , + [4376] = 0x6969 , + [4377] = 0x696A , + [4378] = 0x696C , + [4379] = 0x696D , + [4380] = 0x696F , + [4381] = 0x6970 , + [4382] = 0x6972 , + [4383] = 0x6973 , + [4384] = 0x6974 , + [4385] = 0x6975 , + [4386] = 0x6976 , + [4387] = 0x697A , + [4388] = 0x697B , + [4389] = 0x697D , + [4390] = 0x697E , + [4391] = 0x697F , + [4392] = 0x6981 , + [4393] = 0x6983 , + [4394] = 0x6985 , + [4395] = 0x698A , + [4396] = 0x698B , + [4397] = 0x698C , + [4398] = 0x698E , + [4399] = 0x698F , + [4400] = 0x6990 , + [4401] = 0x6991 , + [4402] = 0x6992 , + [4403] = 0x6993 , + [4404] = 0x6996 , + [4405] = 0x6997 , + [4406] = 0x6999 , + [4407] = 0x699A , + [4408] = 0x699D , + [4409] = 0x699E , + [4410] = 0x699F , + [4411] = 0x69A0 , + [4412] = 0x69A1 , + [4413] = 0x69A2 , + [4414] = 0x69A3 , + [4415] = 0x69A4 , + [4416] = 0x69A5 , + [4417] = 0x69A6 , + [4418] = 0x69A9 , + [4419] = 0x69AA , + [4420] = 0x69AC , + [4421] = 0x69AE , + [4422] = 0x69AF , + [4423] = 0x69B0 , + [4424] = 0x69B2 , + [4425] = 0x69B3 , + [4426] = 0x69B5 , + [4427] = 0x69B6 , + [4428] = 0x69B8 , + [4429] = 0x69B9 , + [4430] = 0x69BA , + [4431] = 0x69BC , + [4432] = 0x69BD , + [4433] = 0x69BE , + [4434] = 0x69BF , + [4435] = 0x69C0 , + [4436] = 0x69C2 , + [4437] = 0x69C3 , + [4438] = 0x69C4 , + [4439] = 0x69C5 , + [4440] = 0x69C6 , + [4441] = 0x69C7 , + [4442] = 0x69C8 , + [4443] = 0x69C9 , + [4444] = 0x69CB , + [4445] = 0x69CD , + [4446] = 0x69CF , + [4447] = 0x69D1 , + [4448] = 0x69D2 , + [4449] = 0x69D3 , + [4450] = 0x69D5 , + [4451] = 0x69D6 , + [4452] = 0x69D7 , + [4453] = 0x69D8 , + [4454] = 0x69D9 , + [4455] = 0x69DA , + [4456] = 0x69DC , + [4457] = 0x69DD , + [4458] = 0x69DE , + [4459] = 0x69E1 , + [4460] = 0x69E2 , + [4461] = 0x69E3 , + [4462] = 0x69E4 , + [4463] = 0x69E5 , + [4464] = 0x69E6 , + [4465] = 0x69E7 , + [4466] = 0x69E8 , + [4467] = 0x69E9 , + [4468] = 0x69EA , + [4469] = 0x69EB , + [4470] = 0x69EC , + [4471] = 0x69EE , + [4472] = 0x69EF , + [4473] = 0x69F0 , + [4474] = 0x69F1 , + [4475] = 0x69F3 , + [4476] = 0x69F4 , + [4477] = 0x69F5 , + [4478] = 0x69F6 , + [4479] = 0x69F7 , + [4480] = 0x69F8 , + [4481] = 0x69F9 , + [4482] = 0x69FA , + [4483] = 0x69FB , + [4484] = 0x69FC , + [4485] = 0x69FE , + [4486] = 0x6A00 , + [4487] = 0x6A01 , + [4488] = 0x6A02 , + [4489] = 0x6A03 , + [4490] = 0x6A04 , + [4491] = 0x6A05 , + [4492] = 0x6A06 , + [4493] = 0x6A07 , + [4494] = 0x6A08 , + [4495] = 0x6A09 , + [4496] = 0x6A0B , + [4497] = 0x6A0C , + [4498] = 0x6A0D , + [4499] = 0x6A0E , + [4500] = 0x6A0F , + [4501] = 0x6A10 , + [4502] = 0x6A11 , + [4503] = 0x6A12 , + [4504] = 0x6A13 , + [4505] = 0x6A14 , + [4506] = 0x6A15 , + [4507] = 0x6A16 , + [4508] = 0x6A19 , + [4509] = 0x6A1A , + [4510] = 0x6A1B , + [4511] = 0x6A1C , + [4512] = 0x6A1D , + [4513] = 0x6A1E , + [4514] = 0x6A20 , + [4515] = 0x6A22 , + [4516] = 0x6A23 , + [4517] = 0x6A24 , + [4518] = 0x6A25 , + [4519] = 0x6A26 , + [4520] = 0x6A27 , + [4521] = 0x6A29 , + [4522] = 0x6A2B , + [4523] = 0x6A2C , + [4524] = 0x6A2D , + [4525] = 0x6A2E , + [4526] = 0x6A30 , + [4527] = 0x6A32 , + [4528] = 0x6A33 , + [4529] = 0x6A34 , + [4530] = 0x6A36 , + [4531] = 0x6A37 , + [4532] = 0x6A38 , + [4533] = 0x6A39 , + [4534] = 0x6A3A , + [4535] = 0x6A3B , + [4536] = 0x6A3C , + [4537] = 0x6A3F , + [4538] = 0x6A40 , + [4539] = 0x6A41 , + [4540] = 0x6A42 , + [4541] = 0x6A43 , + [4542] = 0x6A45 , + [4543] = 0x6A46 , + [4544] = 0x6A48 , + [4545] = 0x6A49 , + [4546] = 0x6A4A , + [4547] = 0x6A4B , + [4548] = 0x6A4C , + [4549] = 0x6A4D , + [4550] = 0x6A4E , + [4551] = 0x6A4F , + [4552] = 0x6A51 , + [4553] = 0x6A52 , + [4554] = 0x6A53 , + [4555] = 0x6A54 , + [4556] = 0x6A55 , + [4557] = 0x6A56 , + [4558] = 0x6A57 , + [4559] = 0x6A5A , + [4560] = 0x6A5C , + [4561] = 0x6A5D , + [4562] = 0x6A5E , + [4563] = 0x6A5F , + [4564] = 0x6A60 , + [4565] = 0x6A62 , + [4566] = 0x6A63 , + [4567] = 0x6A64 , + [4568] = 0x6A66 , + [4569] = 0x6A67 , + [4570] = 0x6A68 , + [4571] = 0x6A69 , + [4572] = 0x6A6A , + [4573] = 0x6A6B , + [4574] = 0x6A6C , + [4575] = 0x6A6D , + [4576] = 0x6A6E , + [4577] = 0x6A6F , + [4578] = 0x6A70 , + [4579] = 0x6A72 , + [4580] = 0x6A73 , + [4581] = 0x6A74 , + [4582] = 0x6A75 , + [4583] = 0x6A76 , + [4584] = 0x6A77 , + [4585] = 0x6A78 , + [4586] = 0x6A7A , + [4587] = 0x6A7B , + [4588] = 0x6A7D , + [4589] = 0x6A7E , + [4590] = 0x6A7F , + [4591] = 0x6A81 , + [4592] = 0x6A82 , + [4593] = 0x6A83 , + [4594] = 0x6A85 , + [4595] = 0x6A86 , + [4596] = 0x6A87 , + [4597] = 0x6A88 , + [4598] = 0x6A89 , + [4599] = 0x6A8A , + [4600] = 0x6A8B , + [4601] = 0x6A8C , + [4602] = 0x6A8D , + [4603] = 0x6A8F , + [4604] = 0x6A92 , + [4605] = 0x6A93 , + [4606] = 0x6A94 , + [4607] = 0x6A95 , + [4608] = 0x6A96 , + [4609] = 0x6A98 , + [4610] = 0x6A99 , + [4611] = 0x6A9A , + [4612] = 0x6A9B , + [4613] = 0x6A9C , + [4614] = 0x6A9D , + [4615] = 0x6A9E , + [4616] = 0x6A9F , + [4617] = 0x6AA1 , + [4618] = 0x6AA2 , + [4619] = 0x6AA3 , + [4620] = 0x6AA4 , + [4621] = 0x6AA5 , + [4622] = 0x6AA6 , + [4623] = 0x6AA7 , + [4624] = 0x6AA8 , + [4625] = 0x6AAA , + [4626] = 0x6AAD , + [4627] = 0x6AAE , + [4628] = 0x6AAF , + [4629] = 0x6AB0 , + [4630] = 0x6AB1 , + [4631] = 0x6AB2 , + [4632] = 0x6AB3 , + [4633] = 0x6AB4 , + [4634] = 0x6AB5 , + [4635] = 0x6AB6 , + [4636] = 0x6AB7 , + [4637] = 0x6AB8 , + [4638] = 0x6AB9 , + [4639] = 0x6ABA , + [4640] = 0x6ABB , + [4641] = 0x6ABC , + [4642] = 0x6ABD , + [4643] = 0x6ABE , + [4644] = 0x6ABF , + [4645] = 0x6AC0 , + [4646] = 0x6AC1 , + [4647] = 0x6AC2 , + [4648] = 0x6AC3 , + [4649] = 0x6AC4 , + [4650] = 0x6AC5 , + [4651] = 0x6AC6 , + [4652] = 0x6AC7 , + [4653] = 0x6AC8 , + [4654] = 0x6AC9 , + [4655] = 0x6ACA , + [4656] = 0x6ACB , + [4657] = 0x6ACC , + [4658] = 0x6ACD , + [4659] = 0x6ACE , + [4660] = 0x6ACF , + [4661] = 0x6AD0 , + [4662] = 0x6AD1 , + [4663] = 0x6AD2 , + [4664] = 0x6AD3 , + [4665] = 0x6AD4 , + [4666] = 0x6AD5 , + [4667] = 0x6AD6 , + [4668] = 0x6AD7 , + [4669] = 0x6AD8 , + [4670] = 0x6AD9 , + [4671] = 0x6ADA , + [4672] = 0x6ADB , + [4673] = 0x6ADC , + [4674] = 0x6ADD , + [4675] = 0x6ADE , + [4676] = 0x6ADF , + [4677] = 0x6AE0 , + [4678] = 0x6AE1 , + [4679] = 0x6AE2 , + [4680] = 0x6AE3 , + [4681] = 0x6AE4 , + [4682] = 0x6AE5 , + [4683] = 0x6AE6 , + [4684] = 0x6AE7 , + [4685] = 0x6AE8 , + [4686] = 0x6AE9 , + [4687] = 0x6AEA , + [4688] = 0x6AEB , + [4689] = 0x6AEC , + [4690] = 0x6AED , + [4691] = 0x6AEE , + [4692] = 0x6AEF , + [4693] = 0x6AF0 , + [4694] = 0x6AF1 , + [4695] = 0x6AF2 , + [4696] = 0x6AF3 , + [4697] = 0x6AF4 , + [4698] = 0x6AF5 , + [4699] = 0x6AF6 , + [4700] = 0x6AF7 , + [4701] = 0x6AF8 , + [4702] = 0x6AF9 , + [4703] = 0x6AFA , + [4704] = 0x6AFB , + [4705] = 0x6AFC , + [4706] = 0x6AFD , + [4707] = 0x6AFE , + [4708] = 0x6AFF , + [4709] = 0x6B00 , + [4710] = 0x6B01 , + [4711] = 0x6B02 , + [4712] = 0x6B03 , + [4713] = 0x6B04 , + [4714] = 0x6B05 , + [4715] = 0x6B06 , + [4716] = 0x6B07 , + [4717] = 0x6B08 , + [4718] = 0x6B09 , + [4719] = 0x6B0A , + [4720] = 0x6B0B , + [4721] = 0x6B0C , + [4722] = 0x6B0D , + [4723] = 0x6B0E , + [4724] = 0x6B0F , + [4725] = 0x6B10 , + [4726] = 0x6B11 , + [4727] = 0x6B12 , + [4728] = 0x6B13 , + [4729] = 0x6B14 , + [4730] = 0x6B15 , + [4731] = 0x6B16 , + [4732] = 0x6B17 , + [4733] = 0x6B18 , + [4734] = 0x6B19 , + [4735] = 0x6B1A , + [4736] = 0x6B1B , + [4737] = 0x6B1C , + [4738] = 0x6B1D , + [4739] = 0x6B1E , + [4740] = 0x6B1F , + [4741] = 0x6B25 , + [4742] = 0x6B26 , + [4743] = 0x6B28 , + [4744] = 0x6B29 , + [4745] = 0x6B2A , + [4746] = 0x6B2B , + [4747] = 0x6B2C , + [4748] = 0x6B2D , + [4749] = 0x6B2E , + [4750] = 0x6B2F , + [4751] = 0x6B30 , + [4752] = 0x6B31 , + [4753] = 0x6B33 , + [4754] = 0x6B34 , + [4755] = 0x6B35 , + [4756] = 0x6B36 , + [4757] = 0x6B38 , + [4758] = 0x6B3B , + [4759] = 0x6B3C , + [4760] = 0x6B3D , + [4761] = 0x6B3F , + [4762] = 0x6B40 , + [4763] = 0x6B41 , + [4764] = 0x6B42 , + [4765] = 0x6B44 , + [4766] = 0x6B45 , + [4767] = 0x6B48 , + [4768] = 0x6B4A , + [4769] = 0x6B4B , + [4770] = 0x6B4D , + [4771] = 0x6B4E , + [4772] = 0x6B4F , + [4773] = 0x6B50 , + [4774] = 0x6B51 , + [4775] = 0x6B52 , + [4776] = 0x6B53 , + [4777] = 0x6B54 , + [4778] = 0x6B55 , + [4779] = 0x6B56 , + [4780] = 0x6B57 , + [4781] = 0x6B58 , + [4782] = 0x6B5A , + [4783] = 0x6B5B , + [4784] = 0x6B5C , + [4785] = 0x6B5D , + [4786] = 0x6B5E , + [4787] = 0x6B5F , + [4788] = 0x6B60 , + [4789] = 0x6B61 , + [4790] = 0x6B68 , + [4791] = 0x6B69 , + [4792] = 0x6B6B , + [4793] = 0x6B6C , + [4794] = 0x6B6D , + [4795] = 0x6B6E , + [4796] = 0x6B6F , + [4797] = 0x6B70 , + [4798] = 0x6B71 , + [4799] = 0x6B72 , + [4800] = 0x6B73 , + [4801] = 0x6B74 , + [4802] = 0x6B75 , + [4803] = 0x6B76 , + [4804] = 0x6B77 , + [4805] = 0x6B78 , + [4806] = 0x6B7A , + [4807] = 0x6B7D , + [4808] = 0x6B7E , + [4809] = 0x6B7F , + [4810] = 0x6B80 , + [4811] = 0x6B85 , + [4812] = 0x6B88 , + [4813] = 0x6B8C , + [4814] = 0x6B8E , + [4815] = 0x6B8F , + [4816] = 0x6B90 , + [4817] = 0x6B91 , + [4818] = 0x6B94 , + [4819] = 0x6B95 , + [4820] = 0x6B97 , + [4821] = 0x6B98 , + [4822] = 0x6B99 , + [4823] = 0x6B9C , + [4824] = 0x6B9D , + [4825] = 0x6B9E , + [4826] = 0x6B9F , + [4827] = 0x6BA0 , + [4828] = 0x6BA2 , + [4829] = 0x6BA3 , + [4830] = 0x6BA4 , + [4831] = 0x6BA5 , + [4832] = 0x6BA6 , + [4833] = 0x6BA7 , + [4834] = 0x6BA8 , + [4835] = 0x6BA9 , + [4836] = 0x6BAB , + [4837] = 0x6BAC , + [4838] = 0x6BAD , + [4839] = 0x6BAE , + [4840] = 0x6BAF , + [4841] = 0x6BB0 , + [4842] = 0x6BB1 , + [4843] = 0x6BB2 , + [4844] = 0x6BB6 , + [4845] = 0x6BB8 , + [4846] = 0x6BB9 , + [4847] = 0x6BBA , + [4848] = 0x6BBB , + [4849] = 0x6BBC , + [4850] = 0x6BBD , + [4851] = 0x6BBE , + [4852] = 0x6BC0 , + [4853] = 0x6BC3 , + [4854] = 0x6BC4 , + [4855] = 0x6BC6 , + [4856] = 0x6BC7 , + [4857] = 0x6BC8 , + [4858] = 0x6BC9 , + [4859] = 0x6BCA , + [4860] = 0x6BCC , + [4861] = 0x6BCE , + [4862] = 0x6BD0 , + [4863] = 0x6BD1 , + [4864] = 0x6BD8 , + [4865] = 0x6BDA , + [4866] = 0x6BDC , + [4867] = 0x6BDD , + [4868] = 0x6BDE , + [4869] = 0x6BDF , + [4870] = 0x6BE0 , + [4871] = 0x6BE2 , + [4872] = 0x6BE3 , + [4873] = 0x6BE4 , + [4874] = 0x6BE5 , + [4875] = 0x6BE6 , + [4876] = 0x6BE7 , + [4877] = 0x6BE8 , + [4878] = 0x6BE9 , + [4879] = 0x6BEC , + [4880] = 0x6BED , + [4881] = 0x6BEE , + [4882] = 0x6BF0 , + [4883] = 0x6BF1 , + [4884] = 0x6BF2 , + [4885] = 0x6BF4 , + [4886] = 0x6BF6 , + [4887] = 0x6BF7 , + [4888] = 0x6BF8 , + [4889] = 0x6BFA , + [4890] = 0x6BFB , + [4891] = 0x6BFC , + [4892] = 0x6BFE , + [4893] = 0x6BFF , + [4894] = 0x6C00 , + [4895] = 0x6C01 , + [4896] = 0x6C02 , + [4897] = 0x6C03 , + [4898] = 0x6C04 , + [4899] = 0x6C08 , + [4900] = 0x6C09 , + [4901] = 0x6C0A , + [4902] = 0x6C0B , + [4903] = 0x6C0C , + [4904] = 0x6C0E , + [4905] = 0x6C12 , + [4906] = 0x6C17 , + [4907] = 0x6C1C , + [4908] = 0x6C1D , + [4909] = 0x6C1E , + [4910] = 0x6C20 , + [4911] = 0x6C23 , + [4912] = 0x6C25 , + [4913] = 0x6C2B , + [4914] = 0x6C2C , + [4915] = 0x6C2D , + [4916] = 0x6C31 , + [4917] = 0x6C33 , + [4918] = 0x6C36 , + [4919] = 0x6C37 , + [4920] = 0x6C39 , + [4921] = 0x6C3A , + [4922] = 0x6C3B , + [4923] = 0x6C3C , + [4924] = 0x6C3E , + [4925] = 0x6C3F , + [4926] = 0x6C43 , + [4927] = 0x6C44 , + [4928] = 0x6C45 , + [4929] = 0x6C48 , + [4930] = 0x6C4B , + [4931] = 0x6C4C , + [4932] = 0x6C4D , + [4933] = 0x6C4E , + [4934] = 0x6C4F , + [4935] = 0x6C51 , + [4936] = 0x6C52 , + [4937] = 0x6C53 , + [4938] = 0x6C56 , + [4939] = 0x6C58 , + [4940] = 0x6C59 , + [4941] = 0x6C5A , + [4942] = 0x6C62 , + [4943] = 0x6C63 , + [4944] = 0x6C65 , + [4945] = 0x6C66 , + [4946] = 0x6C67 , + [4947] = 0x6C6B , + [4948] = 0x6C6C , + [4949] = 0x6C6D , + [4950] = 0x6C6E , + [4951] = 0x6C6F , + [4952] = 0x6C71 , + [4953] = 0x6C73 , + [4954] = 0x6C75 , + [4955] = 0x6C77 , + [4956] = 0x6C78 , + [4957] = 0x6C7A , + [4958] = 0x6C7B , + [4959] = 0x6C7C , + [4960] = 0x6C7F , + [4961] = 0x6C80 , + [4962] = 0x6C84 , + [4963] = 0x6C87 , + [4964] = 0x6C8A , + [4965] = 0x6C8B , + [4966] = 0x6C8D , + [4967] = 0x6C8E , + [4968] = 0x6C91 , + [4969] = 0x6C92 , + [4970] = 0x6C95 , + [4971] = 0x6C96 , + [4972] = 0x6C97 , + [4973] = 0x6C98 , + [4974] = 0x6C9A , + [4975] = 0x6C9C , + [4976] = 0x6C9D , + [4977] = 0x6C9E , + [4978] = 0x6CA0 , + [4979] = 0x6CA2 , + [4980] = 0x6CA8 , + [4981] = 0x6CAC , + [4982] = 0x6CAF , + [4983] = 0x6CB0 , + [4984] = 0x6CB4 , + [4985] = 0x6CB5 , + [4986] = 0x6CB6 , + [4987] = 0x6CB7 , + [4988] = 0x6CBA , + [4989] = 0x6CC0 , + [4990] = 0x6CC1 , + [4991] = 0x6CC2 , + [4992] = 0x6CC3 , + [4993] = 0x6CC6 , + [4994] = 0x6CC7 , + [4995] = 0x6CC8 , + [4996] = 0x6CCB , + [4997] = 0x6CCD , + [4998] = 0x6CCE , + [4999] = 0x6CCF , + [5000] = 0x6CD1 , + [5001] = 0x6CD2 , + [5002] = 0x6CD8 , + [5003] = 0x6CD9 , + [5004] = 0x6CDA , + [5005] = 0x6CDC , + [5006] = 0x6CDD , + [5007] = 0x6CDF , + [5008] = 0x6CE4 , + [5009] = 0x6CE6 , + [5010] = 0x6CE7 , + [5011] = 0x6CE9 , + [5012] = 0x6CEC , + [5013] = 0x6CED , + [5014] = 0x6CF2 , + [5015] = 0x6CF4 , + [5016] = 0x6CF9 , + [5017] = 0x6CFF , + [5018] = 0x6D00 , + [5019] = 0x6D02 , + [5020] = 0x6D03 , + [5021] = 0x6D05 , + [5022] = 0x6D06 , + [5023] = 0x6D08 , + [5024] = 0x6D09 , + [5025] = 0x6D0A , + [5026] = 0x6D0D , + [5027] = 0x6D0F , + [5028] = 0x6D10 , + [5029] = 0x6D11 , + [5030] = 0x6D13 , + [5031] = 0x6D14 , + [5032] = 0x6D15 , + [5033] = 0x6D16 , + [5034] = 0x6D18 , + [5035] = 0x6D1C , + [5036] = 0x6D1D , + [5037] = 0x6D1F , + [5038] = 0x6D20 , + [5039] = 0x6D21 , + [5040] = 0x6D22 , + [5041] = 0x6D23 , + [5042] = 0x6D24 , + [5043] = 0x6D26 , + [5044] = 0x6D28 , + [5045] = 0x6D29 , + [5046] = 0x6D2C , + [5047] = 0x6D2D , + [5048] = 0x6D2F , + [5049] = 0x6D30 , + [5050] = 0x6D34 , + [5051] = 0x6D36 , + [5052] = 0x6D37 , + [5053] = 0x6D38 , + [5054] = 0x6D3A , + [5055] = 0x6D3F , + [5056] = 0x6D40 , + [5057] = 0x6D42 , + [5058] = 0x6D44 , + [5059] = 0x6D49 , + [5060] = 0x6D4C , + [5061] = 0x6D50 , + [5062] = 0x6D55 , + [5063] = 0x6D56 , + [5064] = 0x6D57 , + [5065] = 0x6D58 , + [5066] = 0x6D5B , + [5067] = 0x6D5D , + [5068] = 0x6D5F , + [5069] = 0x6D61 , + [5070] = 0x6D62 , + [5071] = 0x6D64 , + [5072] = 0x6D65 , + [5073] = 0x6D67 , + [5074] = 0x6D68 , + [5075] = 0x6D6B , + [5076] = 0x6D6C , + [5077] = 0x6D6D , + [5078] = 0x6D70 , + [5079] = 0x6D71 , + [5080] = 0x6D72 , + [5081] = 0x6D73 , + [5082] = 0x6D75 , + [5083] = 0x6D76 , + [5084] = 0x6D79 , + [5085] = 0x6D7A , + [5086] = 0x6D7B , + [5087] = 0x6D7D , + [5088] = 0x6D7E , + [5089] = 0x6D7F , + [5090] = 0x6D80 , + [5091] = 0x6D81 , + [5092] = 0x6D83 , + [5093] = 0x6D84 , + [5094] = 0x6D86 , + [5095] = 0x6D87 , + [5096] = 0x6D8A , + [5097] = 0x6D8B , + [5098] = 0x6D8D , + [5099] = 0x6D8F , + [5100] = 0x6D90 , + [5101] = 0x6D92 , + [5102] = 0x6D96 , + [5103] = 0x6D97 , + [5104] = 0x6D98 , + [5105] = 0x6D99 , + [5106] = 0x6D9A , + [5107] = 0x6D9C , + [5108] = 0x6DA2 , + [5109] = 0x6DA5 , + [5110] = 0x6DAC , + [5111] = 0x6DAD , + [5112] = 0x6DB0 , + [5113] = 0x6DB1 , + [5114] = 0x6DB3 , + [5115] = 0x6DB4 , + [5116] = 0x6DB6 , + [5117] = 0x6DB7 , + [5118] = 0x6DB9 , + [5119] = 0x6DBA , + [5120] = 0x6DBB , + [5121] = 0x6DBC , + [5122] = 0x6DBD , + [5123] = 0x6DBE , + [5124] = 0x6DC1 , + [5125] = 0x6DC2 , + [5126] = 0x6DC3 , + [5127] = 0x6DC8 , + [5128] = 0x6DC9 , + [5129] = 0x6DCA , + [5130] = 0x6DCD , + [5131] = 0x6DCE , + [5132] = 0x6DCF , + [5133] = 0x6DD0 , + [5134] = 0x6DD2 , + [5135] = 0x6DD3 , + [5136] = 0x6DD4 , + [5137] = 0x6DD5 , + [5138] = 0x6DD7 , + [5139] = 0x6DDA , + [5140] = 0x6DDB , + [5141] = 0x6DDC , + [5142] = 0x6DDF , + [5143] = 0x6DE2 , + [5144] = 0x6DE3 , + [5145] = 0x6DE5 , + [5146] = 0x6DE7 , + [5147] = 0x6DE8 , + [5148] = 0x6DE9 , + [5149] = 0x6DEA , + [5150] = 0x6DED , + [5151] = 0x6DEF , + [5152] = 0x6DF0 , + [5153] = 0x6DF2 , + [5154] = 0x6DF4 , + [5155] = 0x6DF5 , + [5156] = 0x6DF6 , + [5157] = 0x6DF8 , + [5158] = 0x6DFA , + [5159] = 0x6DFD , + [5160] = 0x6DFE , + [5161] = 0x6DFF , + [5162] = 0x6E00 , + [5163] = 0x6E01 , + [5164] = 0x6E02 , + [5165] = 0x6E03 , + [5166] = 0x6E04 , + [5167] = 0x6E06 , + [5168] = 0x6E07 , + [5169] = 0x6E08 , + [5170] = 0x6E09 , + [5171] = 0x6E0B , + [5172] = 0x6E0F , + [5173] = 0x6E12 , + [5174] = 0x6E13 , + [5175] = 0x6E15 , + [5176] = 0x6E18 , + [5177] = 0x6E19 , + [5178] = 0x6E1B , + [5179] = 0x6E1C , + [5180] = 0x6E1E , + [5181] = 0x6E1F , + [5182] = 0x6E22 , + [5183] = 0x6E26 , + [5184] = 0x6E27 , + [5185] = 0x6E28 , + [5186] = 0x6E2A , + [5187] = 0x6E2C , + [5188] = 0x6E2E , + [5189] = 0x6E30 , + [5190] = 0x6E31 , + [5191] = 0x6E33 , + [5192] = 0x6E35 , + [5193] = 0x6E36 , + [5194] = 0x6E37 , + [5195] = 0x6E39 , + [5196] = 0x6E3B , + [5197] = 0x6E3C , + [5198] = 0x6E3D , + [5199] = 0x6E3E , + [5200] = 0x6E3F , + [5201] = 0x6E40 , + [5202] = 0x6E41 , + [5203] = 0x6E42 , + [5204] = 0x6E45 , + [5205] = 0x6E46 , + [5206] = 0x6E47 , + [5207] = 0x6E48 , + [5208] = 0x6E49 , + [5209] = 0x6E4A , + [5210] = 0x6E4B , + [5211] = 0x6E4C , + [5212] = 0x6E4F , + [5213] = 0x6E50 , + [5214] = 0x6E51 , + [5215] = 0x6E52 , + [5216] = 0x6E55 , + [5217] = 0x6E57 , + [5218] = 0x6E59 , + [5219] = 0x6E5A , + [5220] = 0x6E5C , + [5221] = 0x6E5D , + [5222] = 0x6E5E , + [5223] = 0x6E60 , + [5224] = 0x6E61 , + [5225] = 0x6E62 , + [5226] = 0x6E63 , + [5227] = 0x6E64 , + [5228] = 0x6E65 , + [5229] = 0x6E66 , + [5230] = 0x6E67 , + [5231] = 0x6E68 , + [5232] = 0x6E69 , + [5233] = 0x6E6A , + [5234] = 0x6E6C , + [5235] = 0x6E6D , + [5236] = 0x6E6F , + [5237] = 0x6E70 , + [5238] = 0x6E71 , + [5239] = 0x6E72 , + [5240] = 0x6E73 , + [5241] = 0x6E74 , + [5242] = 0x6E75 , + [5243] = 0x6E76 , + [5244] = 0x6E77 , + [5245] = 0x6E78 , + [5246] = 0x6E79 , + [5247] = 0x6E7A , + [5248] = 0x6E7B , + [5249] = 0x6E7C , + [5250] = 0x6E7D , + [5251] = 0x6E80 , + [5252] = 0x6E81 , + [5253] = 0x6E82 , + [5254] = 0x6E84 , + [5255] = 0x6E87 , + [5256] = 0x6E88 , + [5257] = 0x6E8A , + [5258] = 0x6E8B , + [5259] = 0x6E8C , + [5260] = 0x6E8D , + [5261] = 0x6E8E , + [5262] = 0x6E91 , + [5263] = 0x6E92 , + [5264] = 0x6E93 , + [5265] = 0x6E94 , + [5266] = 0x6E95 , + [5267] = 0x6E96 , + [5268] = 0x6E97 , + [5269] = 0x6E99 , + [5270] = 0x6E9A , + [5271] = 0x6E9B , + [5272] = 0x6E9D , + [5273] = 0x6E9E , + [5274] = 0x6EA0 , + [5275] = 0x6EA1 , + [5276] = 0x6EA3 , + [5277] = 0x6EA4 , + [5278] = 0x6EA6 , + [5279] = 0x6EA8 , + [5280] = 0x6EA9 , + [5281] = 0x6EAB , + [5282] = 0x6EAC , + [5283] = 0x6EAD , + [5284] = 0x6EAE , + [5285] = 0x6EB0 , + [5286] = 0x6EB3 , + [5287] = 0x6EB5 , + [5288] = 0x6EB8 , + [5289] = 0x6EB9 , + [5290] = 0x6EBC , + [5291] = 0x6EBE , + [5292] = 0x6EBF , + [5293] = 0x6EC0 , + [5294] = 0x6EC3 , + [5295] = 0x6EC4 , + [5296] = 0x6EC5 , + [5297] = 0x6EC6 , + [5298] = 0x6EC8 , + [5299] = 0x6EC9 , + [5300] = 0x6ECA , + [5301] = 0x6ECC , + [5302] = 0x6ECD , + [5303] = 0x6ECE , + [5304] = 0x6ED0 , + [5305] = 0x6ED2 , + [5306] = 0x6ED6 , + [5307] = 0x6ED8 , + [5308] = 0x6ED9 , + [5309] = 0x6EDB , + [5310] = 0x6EDC , + [5311] = 0x6EDD , + [5312] = 0x6EE3 , + [5313] = 0x6EE7 , + [5314] = 0x6EEA , + [5315] = 0x6EEB , + [5316] = 0x6EEC , + [5317] = 0x6EED , + [5318] = 0x6EEE , + [5319] = 0x6EEF , + [5320] = 0x6EF0 , + [5321] = 0x6EF1 , + [5322] = 0x6EF2 , + [5323] = 0x6EF3 , + [5324] = 0x6EF5 , + [5325] = 0x6EF6 , + [5326] = 0x6EF7 , + [5327] = 0x6EF8 , + [5328] = 0x6EFA , + [5329] = 0x6EFB , + [5330] = 0x6EFC , + [5331] = 0x6EFD , + [5332] = 0x6EFE , + [5333] = 0x6EFF , + [5334] = 0x6F00 , + [5335] = 0x6F01 , + [5336] = 0x6F03 , + [5337] = 0x6F04 , + [5338] = 0x6F05 , + [5339] = 0x6F07 , + [5340] = 0x6F08 , + [5341] = 0x6F0A , + [5342] = 0x6F0B , + [5343] = 0x6F0C , + [5344] = 0x6F0D , + [5345] = 0x6F0E , + [5346] = 0x6F10 , + [5347] = 0x6F11 , + [5348] = 0x6F12 , + [5349] = 0x6F16 , + [5350] = 0x6F17 , + [5351] = 0x6F18 , + [5352] = 0x6F19 , + [5353] = 0x6F1A , + [5354] = 0x6F1B , + [5355] = 0x6F1C , + [5356] = 0x6F1D , + [5357] = 0x6F1E , + [5358] = 0x6F1F , + [5359] = 0x6F21 , + [5360] = 0x6F22 , + [5361] = 0x6F23 , + [5362] = 0x6F25 , + [5363] = 0x6F26 , + [5364] = 0x6F27 , + [5365] = 0x6F28 , + [5366] = 0x6F2C , + [5367] = 0x6F2E , + [5368] = 0x6F30 , + [5369] = 0x6F32 , + [5370] = 0x6F34 , + [5371] = 0x6F35 , + [5372] = 0x6F37 , + [5373] = 0x6F38 , + [5374] = 0x6F39 , + [5375] = 0x6F3A , + [5376] = 0x6F3B , + [5377] = 0x6F3C , + [5378] = 0x6F3D , + [5379] = 0x6F3F , + [5380] = 0x6F40 , + [5381] = 0x6F41 , + [5382] = 0x6F42 , + [5383] = 0x6F43 , + [5384] = 0x6F44 , + [5385] = 0x6F45 , + [5386] = 0x6F48 , + [5387] = 0x6F49 , + [5388] = 0x6F4A , + [5389] = 0x6F4C , + [5390] = 0x6F4E , + [5391] = 0x6F4F , + [5392] = 0x6F50 , + [5393] = 0x6F51 , + [5394] = 0x6F52 , + [5395] = 0x6F53 , + [5396] = 0x6F54 , + [5397] = 0x6F55 , + [5398] = 0x6F56 , + [5399] = 0x6F57 , + [5400] = 0x6F59 , + [5401] = 0x6F5A , + [5402] = 0x6F5B , + [5403] = 0x6F5D , + [5404] = 0x6F5F , + [5405] = 0x6F60 , + [5406] = 0x6F61 , + [5407] = 0x6F63 , + [5408] = 0x6F64 , + [5409] = 0x6F65 , + [5410] = 0x6F67 , + [5411] = 0x6F68 , + [5412] = 0x6F69 , + [5413] = 0x6F6A , + [5414] = 0x6F6B , + [5415] = 0x6F6C , + [5416] = 0x6F6F , + [5417] = 0x6F70 , + [5418] = 0x6F71 , + [5419] = 0x6F73 , + [5420] = 0x6F75 , + [5421] = 0x6F76 , + [5422] = 0x6F77 , + [5423] = 0x6F79 , + [5424] = 0x6F7B , + [5425] = 0x6F7D , + [5426] = 0x6F7E , + [5427] = 0x6F7F , + [5428] = 0x6F80 , + [5429] = 0x6F81 , + [5430] = 0x6F82 , + [5431] = 0x6F83 , + [5432] = 0x6F85 , + [5433] = 0x6F86 , + [5434] = 0x6F87 , + [5435] = 0x6F8A , + [5436] = 0x6F8B , + [5437] = 0x6F8F , + [5438] = 0x6F90 , + [5439] = 0x6F91 , + [5440] = 0x6F92 , + [5441] = 0x6F93 , + [5442] = 0x6F94 , + [5443] = 0x6F95 , + [5444] = 0x6F96 , + [5445] = 0x6F97 , + [5446] = 0x6F98 , + [5447] = 0x6F99 , + [5448] = 0x6F9A , + [5449] = 0x6F9B , + [5450] = 0x6F9D , + [5451] = 0x6F9E , + [5452] = 0x6F9F , + [5453] = 0x6FA0 , + [5454] = 0x6FA2 , + [5455] = 0x6FA3 , + [5456] = 0x6FA4 , + [5457] = 0x6FA5 , + [5458] = 0x6FA6 , + [5459] = 0x6FA8 , + [5460] = 0x6FA9 , + [5461] = 0x6FAA , + [5462] = 0x6FAB , + [5463] = 0x6FAC , + [5464] = 0x6FAD , + [5465] = 0x6FAE , + [5466] = 0x6FAF , + [5467] = 0x6FB0 , + [5468] = 0x6FB1 , + [5469] = 0x6FB2 , + [5470] = 0x6FB4 , + [5471] = 0x6FB5 , + [5472] = 0x6FB7 , + [5473] = 0x6FB8 , + [5474] = 0x6FBA , + [5475] = 0x6FBB , + [5476] = 0x6FBC , + [5477] = 0x6FBD , + [5478] = 0x6FBE , + [5479] = 0x6FBF , + [5480] = 0x6FC1 , + [5481] = 0x6FC3 , + [5482] = 0x6FC4 , + [5483] = 0x6FC5 , + [5484] = 0x6FC6 , + [5485] = 0x6FC7 , + [5486] = 0x6FC8 , + [5487] = 0x6FCA , + [5488] = 0x6FCB , + [5489] = 0x6FCC , + [5490] = 0x6FCD , + [5491] = 0x6FCE , + [5492] = 0x6FCF , + [5493] = 0x6FD0 , + [5494] = 0x6FD3 , + [5495] = 0x6FD4 , + [5496] = 0x6FD5 , + [5497] = 0x6FD6 , + [5498] = 0x6FD7 , + [5499] = 0x6FD8 , + [5500] = 0x6FD9 , + [5501] = 0x6FDA , + [5502] = 0x6FDB , + [5503] = 0x6FDC , + [5504] = 0x6FDD , + [5505] = 0x6FDF , + [5506] = 0x6FE2 , + [5507] = 0x6FE3 , + [5508] = 0x6FE4 , + [5509] = 0x6FE5 , + [5510] = 0x6FE6 , + [5511] = 0x6FE7 , + [5512] = 0x6FE8 , + [5513] = 0x6FE9 , + [5514] = 0x6FEA , + [5515] = 0x6FEB , + [5516] = 0x6FEC , + [5517] = 0x6FED , + [5518] = 0x6FF0 , + [5519] = 0x6FF1 , + [5520] = 0x6FF2 , + [5521] = 0x6FF3 , + [5522] = 0x6FF4 , + [5523] = 0x6FF5 , + [5524] = 0x6FF6 , + [5525] = 0x6FF7 , + [5526] = 0x6FF8 , + [5527] = 0x6FF9 , + [5528] = 0x6FFA , + [5529] = 0x6FFB , + [5530] = 0x6FFC , + [5531] = 0x6FFD , + [5532] = 0x6FFE , + [5533] = 0x6FFF , + [5534] = 0x7000 , + [5535] = 0x7001 , + [5536] = 0x7002 , + [5537] = 0x7003 , + [5538] = 0x7004 , + [5539] = 0x7005 , + [5540] = 0x7006 , + [5541] = 0x7007 , + [5542] = 0x7008 , + [5543] = 0x7009 , + [5544] = 0x700A , + [5545] = 0x700B , + [5546] = 0x700C , + [5547] = 0x700D , + [5548] = 0x700E , + [5549] = 0x700F , + [5550] = 0x7010 , + [5551] = 0x7012 , + [5552] = 0x7013 , + [5553] = 0x7014 , + [5554] = 0x7015 , + [5555] = 0x7016 , + [5556] = 0x7017 , + [5557] = 0x7018 , + [5558] = 0x7019 , + [5559] = 0x701C , + [5560] = 0x701D , + [5561] = 0x701E , + [5562] = 0x701F , + [5563] = 0x7020 , + [5564] = 0x7021 , + [5565] = 0x7022 , + [5566] = 0x7024 , + [5567] = 0x7025 , + [5568] = 0x7026 , + [5569] = 0x7027 , + [5570] = 0x7028 , + [5571] = 0x7029 , + [5572] = 0x702A , + [5573] = 0x702B , + [5574] = 0x702C , + [5575] = 0x702D , + [5576] = 0x702E , + [5577] = 0x702F , + [5578] = 0x7030 , + [5579] = 0x7031 , + [5580] = 0x7032 , + [5581] = 0x7033 , + [5582] = 0x7034 , + [5583] = 0x7036 , + [5584] = 0x7037 , + [5585] = 0x7038 , + [5586] = 0x703A , + [5587] = 0x703B , + [5588] = 0x703C , + [5589] = 0x703D , + [5590] = 0x703E , + [5591] = 0x703F , + [5592] = 0x7040 , + [5593] = 0x7041 , + [5594] = 0x7042 , + [5595] = 0x7043 , + [5596] = 0x7044 , + [5597] = 0x7045 , + [5598] = 0x7046 , + [5599] = 0x7047 , + [5600] = 0x7048 , + [5601] = 0x7049 , + [5602] = 0x704A , + [5603] = 0x704B , + [5604] = 0x704D , + [5605] = 0x704E , + [5606] = 0x7050 , + [5607] = 0x7051 , + [5608] = 0x7052 , + [5609] = 0x7053 , + [5610] = 0x7054 , + [5611] = 0x7055 , + [5612] = 0x7056 , + [5613] = 0x7057 , + [5614] = 0x7058 , + [5615] = 0x7059 , + [5616] = 0x705A , + [5617] = 0x705B , + [5618] = 0x705C , + [5619] = 0x705D , + [5620] = 0x705F , + [5621] = 0x7060 , + [5622] = 0x7061 , + [5623] = 0x7062 , + [5624] = 0x7063 , + [5625] = 0x7064 , + [5626] = 0x7065 , + [5627] = 0x7066 , + [5628] = 0x7067 , + [5629] = 0x7068 , + [5630] = 0x7069 , + [5631] = 0x706A , + [5632] = 0x706E , + [5633] = 0x7071 , + [5634] = 0x7072 , + [5635] = 0x7073 , + [5636] = 0x7074 , + [5637] = 0x7077 , + [5638] = 0x7079 , + [5639] = 0x707A , + [5640] = 0x707B , + [5641] = 0x707D , + [5642] = 0x7081 , + [5643] = 0x7082 , + [5644] = 0x7083 , + [5645] = 0x7084 , + [5646] = 0x7086 , + [5647] = 0x7087 , + [5648] = 0x7088 , + [5649] = 0x708B , + [5650] = 0x708C , + [5651] = 0x708D , + [5652] = 0x708F , + [5653] = 0x7090 , + [5654] = 0x7091 , + [5655] = 0x7093 , + [5656] = 0x7097 , + [5657] = 0x7098 , + [5658] = 0x709A , + [5659] = 0x709B , + [5660] = 0x709E , + [5661] = 0x709F , + [5662] = 0x70A0 , + [5663] = 0x70A1 , + [5664] = 0x70A2 , + [5665] = 0x70A3 , + [5666] = 0x70A4 , + [5667] = 0x70A5 , + [5668] = 0x70A6 , + [5669] = 0x70A7 , + [5670] = 0x70A8 , + [5671] = 0x70A9 , + [5672] = 0x70AA , + [5673] = 0x70B0 , + [5674] = 0x70B2 , + [5675] = 0x70B4 , + [5676] = 0x70B5 , + [5677] = 0x70B6 , + [5678] = 0x70BA , + [5679] = 0x70BE , + [5680] = 0x70BF , + [5681] = 0x70C4 , + [5682] = 0x70C5 , + [5683] = 0x70C6 , + [5684] = 0x70C7 , + [5685] = 0x70C9 , + [5686] = 0x70CB , + [5687] = 0x70CC , + [5688] = 0x70CD , + [5689] = 0x70CE , + [5690] = 0x70CF , + [5691] = 0x70D0 , + [5692] = 0x70D1 , + [5693] = 0x70D2 , + [5694] = 0x70D3 , + [5695] = 0x70D4 , + [5696] = 0x70D5 , + [5697] = 0x70D6 , + [5698] = 0x70D7 , + [5699] = 0x70DA , + [5700] = 0x70DC , + [5701] = 0x70DD , + [5702] = 0x70DE , + [5703] = 0x70E0 , + [5704] = 0x70E1 , + [5705] = 0x70E2 , + [5706] = 0x70E3 , + [5707] = 0x70E5 , + [5708] = 0x70EA , + [5709] = 0x70EE , + [5710] = 0x70F0 , + [5711] = 0x70F1 , + [5712] = 0x70F2 , + [5713] = 0x70F3 , + [5714] = 0x70F4 , + [5715] = 0x70F5 , + [5716] = 0x70F6 , + [5717] = 0x70F8 , + [5718] = 0x70FA , + [5719] = 0x70FB , + [5720] = 0x70FC , + [5721] = 0x70FE , + [5722] = 0x70FF , + [5723] = 0x7100 , + [5724] = 0x7101 , + [5725] = 0x7102 , + [5726] = 0x7103 , + [5727] = 0x7104 , + [5728] = 0x7105 , + [5729] = 0x7106 , + [5730] = 0x7107 , + [5731] = 0x7108 , + [5732] = 0x710B , + [5733] = 0x710C , + [5734] = 0x710D , + [5735] = 0x710E , + [5736] = 0x710F , + [5737] = 0x7111 , + [5738] = 0x7112 , + [5739] = 0x7114 , + [5740] = 0x7117 , + [5741] = 0x711B , + [5742] = 0x711C , + [5743] = 0x711D , + [5744] = 0x711E , + [5745] = 0x711F , + [5746] = 0x7120 , + [5747] = 0x7121 , + [5748] = 0x7122 , + [5749] = 0x7123 , + [5750] = 0x7124 , + [5751] = 0x7125 , + [5752] = 0x7127 , + [5753] = 0x7128 , + [5754] = 0x7129 , + [5755] = 0x712A , + [5756] = 0x712B , + [5757] = 0x712C , + [5758] = 0x712D , + [5759] = 0x712E , + [5760] = 0x7132 , + [5761] = 0x7133 , + [5762] = 0x7134 , + [5763] = 0x7135 , + [5764] = 0x7137 , + [5765] = 0x7138 , + [5766] = 0x7139 , + [5767] = 0x713A , + [5768] = 0x713B , + [5769] = 0x713C , + [5770] = 0x713D , + [5771] = 0x713E , + [5772] = 0x713F , + [5773] = 0x7140 , + [5774] = 0x7141 , + [5775] = 0x7142 , + [5776] = 0x7143 , + [5777] = 0x7144 , + [5778] = 0x7146 , + [5779] = 0x7147 , + [5780] = 0x7148 , + [5781] = 0x7149 , + [5782] = 0x714B , + [5783] = 0x714D , + [5784] = 0x714F , + [5785] = 0x7150 , + [5786] = 0x7151 , + [5787] = 0x7152 , + [5788] = 0x7153 , + [5789] = 0x7154 , + [5790] = 0x7155 , + [5791] = 0x7156 , + [5792] = 0x7157 , + [5793] = 0x7158 , + [5794] = 0x7159 , + [5795] = 0x715A , + [5796] = 0x715B , + [5797] = 0x715D , + [5798] = 0x715F , + [5799] = 0x7160 , + [5800] = 0x7161 , + [5801] = 0x7162 , + [5802] = 0x7163 , + [5803] = 0x7165 , + [5804] = 0x7169 , + [5805] = 0x716A , + [5806] = 0x716B , + [5807] = 0x716C , + [5808] = 0x716D , + [5809] = 0x716F , + [5810] = 0x7170 , + [5811] = 0x7171 , + [5812] = 0x7174 , + [5813] = 0x7175 , + [5814] = 0x7176 , + [5815] = 0x7177 , + [5816] = 0x7179 , + [5817] = 0x717B , + [5818] = 0x717C , + [5819] = 0x717E , + [5820] = 0x717F , + [5821] = 0x7180 , + [5822] = 0x7181 , + [5823] = 0x7182 , + [5824] = 0x7183 , + [5825] = 0x7185 , + [5826] = 0x7186 , + [5827] = 0x7187 , + [5828] = 0x7188 , + [5829] = 0x7189 , + [5830] = 0x718B , + [5831] = 0x718C , + [5832] = 0x718D , + [5833] = 0x718E , + [5834] = 0x7190 , + [5835] = 0x7191 , + [5836] = 0x7192 , + [5837] = 0x7193 , + [5838] = 0x7195 , + [5839] = 0x7196 , + [5840] = 0x7197 , + [5841] = 0x719A , + [5842] = 0x719B , + [5843] = 0x719C , + [5844] = 0x719D , + [5845] = 0x719E , + [5846] = 0x71A1 , + [5847] = 0x71A2 , + [5848] = 0x71A3 , + [5849] = 0x71A4 , + [5850] = 0x71A5 , + [5851] = 0x71A6 , + [5852] = 0x71A7 , + [5853] = 0x71A9 , + [5854] = 0x71AA , + [5855] = 0x71AB , + [5856] = 0x71AD , + [5857] = 0x71AE , + [5858] = 0x71AF , + [5859] = 0x71B0 , + [5860] = 0x71B1 , + [5861] = 0x71B2 , + [5862] = 0x71B4 , + [5863] = 0x71B6 , + [5864] = 0x71B7 , + [5865] = 0x71B8 , + [5866] = 0x71BA , + [5867] = 0x71BB , + [5868] = 0x71BC , + [5869] = 0x71BD , + [5870] = 0x71BE , + [5871] = 0x71BF , + [5872] = 0x71C0 , + [5873] = 0x71C1 , + [5874] = 0x71C2 , + [5875] = 0x71C4 , + [5876] = 0x71C5 , + [5877] = 0x71C6 , + [5878] = 0x71C7 , + [5879] = 0x71C8 , + [5880] = 0x71C9 , + [5881] = 0x71CA , + [5882] = 0x71CB , + [5883] = 0x71CC , + [5884] = 0x71CD , + [5885] = 0x71CF , + [5886] = 0x71D0 , + [5887] = 0x71D1 , + [5888] = 0x71D2 , + [5889] = 0x71D3 , + [5890] = 0x71D6 , + [5891] = 0x71D7 , + [5892] = 0x71D8 , + [5893] = 0x71D9 , + [5894] = 0x71DA , + [5895] = 0x71DB , + [5896] = 0x71DC , + [5897] = 0x71DD , + [5898] = 0x71DE , + [5899] = 0x71DF , + [5900] = 0x71E1 , + [5901] = 0x71E2 , + [5902] = 0x71E3 , + [5903] = 0x71E4 , + [5904] = 0x71E6 , + [5905] = 0x71E8 , + [5906] = 0x71E9 , + [5907] = 0x71EA , + [5908] = 0x71EB , + [5909] = 0x71EC , + [5910] = 0x71ED , + [5911] = 0x71EF , + [5912] = 0x71F0 , + [5913] = 0x71F1 , + [5914] = 0x71F2 , + [5915] = 0x71F3 , + [5916] = 0x71F4 , + [5917] = 0x71F5 , + [5918] = 0x71F6 , + [5919] = 0x71F7 , + [5920] = 0x71F8 , + [5921] = 0x71FA , + [5922] = 0x71FB , + [5923] = 0x71FC , + [5924] = 0x71FD , + [5925] = 0x71FE , + [5926] = 0x71FF , + [5927] = 0x7200 , + [5928] = 0x7201 , + [5929] = 0x7202 , + [5930] = 0x7203 , + [5931] = 0x7204 , + [5932] = 0x7205 , + [5933] = 0x7207 , + [5934] = 0x7208 , + [5935] = 0x7209 , + [5936] = 0x720A , + [5937] = 0x720B , + [5938] = 0x720C , + [5939] = 0x720D , + [5940] = 0x720E , + [5941] = 0x720F , + [5942] = 0x7210 , + [5943] = 0x7211 , + [5944] = 0x7212 , + [5945] = 0x7213 , + [5946] = 0x7214 , + [5947] = 0x7215 , + [5948] = 0x7216 , + [5949] = 0x7217 , + [5950] = 0x7218 , + [5951] = 0x7219 , + [5952] = 0x721A , + [5953] = 0x721B , + [5954] = 0x721C , + [5955] = 0x721E , + [5956] = 0x721F , + [5957] = 0x7220 , + [5958] = 0x7221 , + [5959] = 0x7222 , + [5960] = 0x7223 , + [5961] = 0x7224 , + [5962] = 0x7225 , + [5963] = 0x7226 , + [5964] = 0x7227 , + [5965] = 0x7229 , + [5966] = 0x722B , + [5967] = 0x722D , + [5968] = 0x722E , + [5969] = 0x722F , + [5970] = 0x7232 , + [5971] = 0x7233 , + [5972] = 0x7234 , + [5973] = 0x723A , + [5974] = 0x723C , + [5975] = 0x723E , + [5976] = 0x7240 , + [5977] = 0x7241 , + [5978] = 0x7242 , + [5979] = 0x7243 , + [5980] = 0x7244 , + [5981] = 0x7245 , + [5982] = 0x7246 , + [5983] = 0x7249 , + [5984] = 0x724A , + [5985] = 0x724B , + [5986] = 0x724E , + [5987] = 0x724F , + [5988] = 0x7250 , + [5989] = 0x7251 , + [5990] = 0x7253 , + [5991] = 0x7254 , + [5992] = 0x7255 , + [5993] = 0x7257 , + [5994] = 0x7258 , + [5995] = 0x725A , + [5996] = 0x725C , + [5997] = 0x725E , + [5998] = 0x7260 , + [5999] = 0x7263 , + [6000] = 0x7264 , + [6001] = 0x7265 , + [6002] = 0x7268 , + [6003] = 0x726A , + [6004] = 0x726B , + [6005] = 0x726C , + [6006] = 0x726D , + [6007] = 0x7270 , + [6008] = 0x7271 , + [6009] = 0x7273 , + [6010] = 0x7274 , + [6011] = 0x7276 , + [6012] = 0x7277 , + [6013] = 0x7278 , + [6014] = 0x727B , + [6015] = 0x727C , + [6016] = 0x727D , + [6017] = 0x7282 , + [6018] = 0x7283 , + [6019] = 0x7285 , + [6020] = 0x7286 , + [6021] = 0x7287 , + [6022] = 0x7288 , + [6023] = 0x7289 , + [6024] = 0x728C , + [6025] = 0x728E , + [6026] = 0x7290 , + [6027] = 0x7291 , + [6028] = 0x7293 , + [6029] = 0x7294 , + [6030] = 0x7295 , + [6031] = 0x7296 , + [6032] = 0x7297 , + [6033] = 0x7298 , + [6034] = 0x7299 , + [6035] = 0x729A , + [6036] = 0x729B , + [6037] = 0x729C , + [6038] = 0x729D , + [6039] = 0x729E , + [6040] = 0x72A0 , + [6041] = 0x72A1 , + [6042] = 0x72A2 , + [6043] = 0x72A3 , + [6044] = 0x72A4 , + [6045] = 0x72A5 , + [6046] = 0x72A6 , + [6047] = 0x72A7 , + [6048] = 0x72A8 , + [6049] = 0x72A9 , + [6050] = 0x72AA , + [6051] = 0x72AB , + [6052] = 0x72AE , + [6053] = 0x72B1 , + [6054] = 0x72B2 , + [6055] = 0x72B3 , + [6056] = 0x72B5 , + [6057] = 0x72BA , + [6058] = 0x72BB , + [6059] = 0x72BC , + [6060] = 0x72BD , + [6061] = 0x72BE , + [6062] = 0x72BF , + [6063] = 0x72C0 , + [6064] = 0x72C5 , + [6065] = 0x72C6 , + [6066] = 0x72C7 , + [6067] = 0x72C9 , + [6068] = 0x72CA , + [6069] = 0x72CB , + [6070] = 0x72CC , + [6071] = 0x72CF , + [6072] = 0x72D1 , + [6073] = 0x72D3 , + [6074] = 0x72D4 , + [6075] = 0x72D5 , + [6076] = 0x72D6 , + [6077] = 0x72D8 , + [6078] = 0x72DA , + [6079] = 0x72DB , + [6080] = 0xE4C6 , + [6081] = 0xE4C7 , + [6082] = 0xE4C8 , + [6083] = 0xE4C9 , + [6084] = 0xE4CA , + [6085] = 0xE4CB , + [6086] = 0xE4CC , + [6087] = 0xE4CD , + [6088] = 0xE4CE , + [6089] = 0xE4CF , + [6090] = 0xE4D0 , + [6091] = 0xE4D1 , + [6092] = 0xE4D2 , + [6093] = 0xE4D3 , + [6094] = 0xE4D4 , + [6095] = 0xE4D5 , + [6096] = 0xE4D6 , + [6097] = 0xE4D7 , + [6098] = 0xE4D8 , + [6099] = 0xE4D9 , + [6100] = 0xE4DA , + [6101] = 0xE4DB , + [6102] = 0xE4DC , + [6103] = 0xE4DD , + [6104] = 0xE4DE , + [6105] = 0xE4DF , + [6106] = 0xE4E0 , + [6107] = 0xE4E1 , + [6108] = 0xE4E2 , + [6109] = 0xE4E3 , + [6110] = 0xE4E4 , + [6111] = 0xE4E5 , + [6112] = 0xE4E6 , + [6113] = 0xE4E7 , + [6114] = 0xE4E8 , + [6115] = 0xE4E9 , + [6116] = 0xE4EA , + [6117] = 0xE4EB , + [6118] = 0xE4EC , + [6119] = 0xE4ED , + [6120] = 0xE4EE , + [6121] = 0xE4EF , + [6122] = 0xE4F0 , + [6123] = 0xE4F1 , + [6124] = 0xE4F2 , + [6125] = 0xE4F3 , + [6126] = 0xE4F4 , + [6127] = 0xE4F5 , + [6128] = 0xE4F6 , + [6129] = 0xE4F7 , + [6130] = 0xE4F8 , + [6131] = 0xE4F9 , + [6132] = 0xE4FA , + [6133] = 0xE4FB , + [6134] = 0xE4FC , + [6135] = 0xE4FD , + [6136] = 0xE4FE , + [6137] = 0xE4FF , + [6138] = 0xE500 , + [6139] = 0xE501 , + [6140] = 0xE502 , + [6141] = 0xE503 , + [6142] = 0xE504 , + [6143] = 0xE505 , + [6144] = 0xE506 , + [6145] = 0xE507 , + [6146] = 0xE508 , + [6147] = 0xE509 , + [6148] = 0xE50A , + [6149] = 0xE50B , + [6150] = 0xE50C , + [6151] = 0xE50D , + [6152] = 0xE50E , + [6153] = 0xE50F , + [6154] = 0xE510 , + [6155] = 0xE511 , + [6156] = 0xE512 , + [6157] = 0xE513 , + [6158] = 0xE514 , + [6159] = 0xE515 , + [6160] = 0xE516 , + [6161] = 0xE517 , + [6162] = 0xE518 , + [6163] = 0xE519 , + [6164] = 0xE51A , + [6165] = 0xE51B , + [6166] = 0xE51C , + [6167] = 0xE51D , + [6168] = 0xE51E , + [6169] = 0xE51F , + [6170] = 0xE520 , + [6171] = 0xE521 , + [6172] = 0xE522 , + [6173] = 0xE523 , + [6174] = 0xE524 , + [6175] = 0xE525 , + [6176] = 0x3000 , + [6177] = 0x3001 , + [6178] = 0x3002 , + [6179] = 0x00B7 , + [6180] = 0x02C9 , + [6181] = 0x02C7 , + [6182] = 0x00A8 , + [6183] = 0x3003 , + [6184] = 0x3005 , + [6185] = 0x2014 , + [6186] = 0xFF5E , + [6187] = 0x2016 , + [6188] = 0x2026 , + [6189] = 0x2018 , + [6190] = 0x2019 , + [6191] = 0x201C , + [6192] = 0x201D , + [6193] = 0x3014 , + [6194] = 0x3015 , + [6195] = 0x3008 , + [6196] = 0x3009 , + [6197] = 0x300A , + [6198] = 0x300B , + [6199] = 0x300C , + [6200] = 0x300D , + [6201] = 0x300E , + [6202] = 0x300F , + [6203] = 0x3016 , + [6204] = 0x3017 , + [6205] = 0x3010 , + [6206] = 0x3011 , + [6207] = 0x00B1 , + [6208] = 0x00D7 , + [6209] = 0x00F7 , + [6210] = 0x2236 , + [6211] = 0x2227 , + [6212] = 0x2228 , + [6213] = 0x2211 , + [6214] = 0x220F , + [6215] = 0x222A , + [6216] = 0x2229 , + [6217] = 0x2208 , + [6218] = 0x2237 , + [6219] = 0x221A , + [6220] = 0x22A5 , + [6221] = 0x2225 , + [6222] = 0x2220 , + [6223] = 0x2312 , + [6224] = 0x2299 , + [6225] = 0x222B , + [6226] = 0x222E , + [6227] = 0x2261 , + [6228] = 0x224C , + [6229] = 0x2248 , + [6230] = 0x223D , + [6231] = 0x221D , + [6232] = 0x2260 , + [6233] = 0x226E , + [6234] = 0x226F , + [6235] = 0x2264 , + [6236] = 0x2265 , + [6237] = 0x221E , + [6238] = 0x2235 , + [6239] = 0x2234 , + [6240] = 0x2642 , + [6241] = 0x2640 , + [6242] = 0x00B0 , + [6243] = 0x2032 , + [6244] = 0x2033 , + [6245] = 0x2103 , + [6246] = 0xFF04 , + [6247] = 0x00A4 , + [6248] = 0xFFE0 , + [6249] = 0xFFE1 , + [6250] = 0x2030 , + [6251] = 0x00A7 , + [6252] = 0x2116 , + [6253] = 0x2606 , + [6254] = 0x2605 , + [6255] = 0x25CB , + [6256] = 0x25CF , + [6257] = 0x25CE , + [6258] = 0x25C7 , + [6259] = 0x25C6 , + [6260] = 0x25A1 , + [6261] = 0x25A0 , + [6262] = 0x25B3 , + [6263] = 0x25B2 , + [6264] = 0x203B , + [6265] = 0x2192 , + [6266] = 0x2190 , + [6267] = 0x2191 , + [6268] = 0x2193 , + [6269] = 0x3013 , + [6270] = 0xE526 , + [6271] = 0xE527 , + [6272] = 0xE528 , + [6273] = 0xE529 , + [6274] = 0xE52A , + [6275] = 0xE52B , + [6276] = 0xE52C , + [6277] = 0xE52D , + [6278] = 0xE52E , + [6279] = 0xE52F , + [6280] = 0xE530 , + [6281] = 0xE531 , + [6282] = 0xE532 , + [6283] = 0xE533 , + [6284] = 0xE534 , + [6285] = 0xE535 , + [6286] = 0xE536 , + [6287] = 0xE537 , + [6288] = 0xE538 , + [6289] = 0xE539 , + [6290] = 0xE53A , + [6291] = 0xE53B , + [6292] = 0xE53C , + [6293] = 0xE53D , + [6294] = 0xE53E , + [6295] = 0xE53F , + [6296] = 0xE540 , + [6297] = 0xE541 , + [6298] = 0xE542 , + [6299] = 0xE543 , + [6300] = 0xE544 , + [6301] = 0xE545 , + [6302] = 0xE546 , + [6303] = 0xE547 , + [6304] = 0xE548 , + [6305] = 0xE549 , + [6306] = 0xE54A , + [6307] = 0xE54B , + [6308] = 0xE54C , + [6309] = 0xE54D , + [6310] = 0xE54E , + [6311] = 0xE54F , + [6312] = 0xE550 , + [6313] = 0xE551 , + [6314] = 0xE552 , + [6315] = 0xE553 , + [6316] = 0xE554 , + [6317] = 0xE555 , + [6318] = 0xE556 , + [6319] = 0xE557 , + [6320] = 0xE558 , + [6321] = 0xE559 , + [6322] = 0xE55A , + [6323] = 0xE55B , + [6324] = 0xE55C , + [6325] = 0xE55D , + [6326] = 0xE55E , + [6327] = 0xE55F , + [6328] = 0xE560 , + [6329] = 0xE561 , + [6330] = 0xE562 , + [6331] = 0xE563 , + [6332] = 0xE564 , + [6333] = 0xE565 , + [6334] = 0xE566 , + [6335] = 0xE567 , + [6336] = 0xE568 , + [6337] = 0xE569 , + [6338] = 0xE56A , + [6339] = 0xE56B , + [6340] = 0xE56C , + [6341] = 0xE56D , + [6342] = 0xE56E , + [6343] = 0xE56F , + [6344] = 0xE570 , + [6345] = 0xE571 , + [6346] = 0xE572 , + [6347] = 0xE573 , + [6348] = 0xE574 , + [6349] = 0xE575 , + [6350] = 0xE576 , + [6351] = 0xE577 , + [6352] = 0xE578 , + [6353] = 0xE579 , + [6354] = 0xE57A , + [6355] = 0xE57B , + [6356] = 0xE57C , + [6357] = 0xE57D , + [6358] = 0xE57E , + [6359] = 0xE57F , + [6360] = 0xE580 , + [6361] = 0xE581 , + [6362] = 0xE582 , + [6363] = 0xE583 , + [6364] = 0xE584 , + [6365] = 0xE585 , + [6366] = 0x2170 , + [6367] = 0x2171 , + [6368] = 0x2172 , + [6369] = 0x2173 , + [6370] = 0x2174 , + [6371] = 0x2175 , + [6372] = 0x2176 , + [6373] = 0x2177 , + [6374] = 0x2178 , + [6375] = 0x2179 , + [6376] = 0xE766 , + [6377] = 0xE767 , + [6378] = 0xE768 , + [6379] = 0xE769 , + [6380] = 0xE76A , + [6381] = 0xE76B , + [6382] = 0x2488 , + [6383] = 0x2489 , + [6384] = 0x248A , + [6385] = 0x248B , + [6386] = 0x248C , + [6387] = 0x248D , + [6388] = 0x248E , + [6389] = 0x248F , + [6390] = 0x2490 , + [6391] = 0x2491 , + [6392] = 0x2492 , + [6393] = 0x2493 , + [6394] = 0x2494 , + [6395] = 0x2495 , + [6396] = 0x2496 , + [6397] = 0x2497 , + [6398] = 0x2498 , + [6399] = 0x2499 , + [6400] = 0x249A , + [6401] = 0x249B , + [6402] = 0x2474 , + [6403] = 0x2475 , + [6404] = 0x2476 , + [6405] = 0x2477 , + [6406] = 0x2478 , + [6407] = 0x2479 , + [6408] = 0x247A , + [6409] = 0x247B , + [6410] = 0x247C , + [6411] = 0x247D , + [6412] = 0x247E , + [6413] = 0x247F , + [6414] = 0x2480 , + [6415] = 0x2481 , + [6416] = 0x2482 , + [6417] = 0x2483 , + [6418] = 0x2484 , + [6419] = 0x2485 , + [6420] = 0x2486 , + [6421] = 0x2487 , + [6422] = 0x2460 , + [6423] = 0x2461 , + [6424] = 0x2462 , + [6425] = 0x2463 , + [6426] = 0x2464 , + [6427] = 0x2465 , + [6428] = 0x2466 , + [6429] = 0x2467 , + [6430] = 0x2468 , + [6431] = 0x2469 , + [6432] = 0x20AC , + [6433] = 0xE76D , + [6434] = 0x3220 , + [6435] = 0x3221 , + [6436] = 0x3222 , + [6437] = 0x3223 , + [6438] = 0x3224 , + [6439] = 0x3225 , + [6440] = 0x3226 , + [6441] = 0x3227 , + [6442] = 0x3228 , + [6443] = 0x3229 , + [6444] = 0xE76E , + [6445] = 0xE76F , + [6446] = 0x2160 , + [6447] = 0x2161 , + [6448] = 0x2162 , + [6449] = 0x2163 , + [6450] = 0x2164 , + [6451] = 0x2165 , + [6452] = 0x2166 , + [6453] = 0x2167 , + [6454] = 0x2168 , + [6455] = 0x2169 , + [6456] = 0x216A , + [6457] = 0x216B , + [6458] = 0xE770 , + [6459] = 0xE771 , + [6460] = 0xE586 , + [6461] = 0xE587 , + [6462] = 0xE588 , + [6463] = 0xE589 , + [6464] = 0xE58A , + [6465] = 0xE58B , + [6466] = 0xE58C , + [6467] = 0xE58D , + [6468] = 0xE58E , + [6469] = 0xE58F , + [6470] = 0xE590 , + [6471] = 0xE591 , + [6472] = 0xE592 , + [6473] = 0xE593 , + [6474] = 0xE594 , + [6475] = 0xE595 , + [6476] = 0xE596 , + [6477] = 0xE597 , + [6478] = 0xE598 , + [6479] = 0xE599 , + [6480] = 0xE59A , + [6481] = 0xE59B , + [6482] = 0xE59C , + [6483] = 0xE59D , + [6484] = 0xE59E , + [6485] = 0xE59F , + [6486] = 0xE5A0 , + [6487] = 0xE5A1 , + [6488] = 0xE5A2 , + [6489] = 0xE5A3 , + [6490] = 0xE5A4 , + [6491] = 0xE5A5 , + [6492] = 0xE5A6 , + [6493] = 0xE5A7 , + [6494] = 0xE5A8 , + [6495] = 0xE5A9 , + [6496] = 0xE5AA , + [6497] = 0xE5AB , + [6498] = 0xE5AC , + [6499] = 0xE5AD , + [6500] = 0xE5AE , + [6501] = 0xE5AF , + [6502] = 0xE5B0 , + [6503] = 0xE5B1 , + [6504] = 0xE5B2 , + [6505] = 0xE5B3 , + [6506] = 0xE5B4 , + [6507] = 0xE5B5 , + [6508] = 0xE5B6 , + [6509] = 0xE5B7 , + [6510] = 0xE5B8 , + [6511] = 0xE5B9 , + [6512] = 0xE5BA , + [6513] = 0xE5BB , + [6514] = 0xE5BC , + [6515] = 0xE5BD , + [6516] = 0xE5BE , + [6517] = 0xE5BF , + [6518] = 0xE5C0 , + [6519] = 0xE5C1 , + [6520] = 0xE5C2 , + [6521] = 0xE5C3 , + [6522] = 0xE5C4 , + [6523] = 0xE5C5 , + [6524] = 0xE5C6 , + [6525] = 0xE5C7 , + [6526] = 0xE5C8 , + [6527] = 0xE5C9 , + [6528] = 0xE5CA , + [6529] = 0xE5CB , + [6530] = 0xE5CC , + [6531] = 0xE5CD , + [6532] = 0xE5CE , + [6533] = 0xE5CF , + [6534] = 0xE5D0 , + [6535] = 0xE5D1 , + [6536] = 0xE5D2 , + [6537] = 0xE5D3 , + [6538] = 0xE5D4 , + [6539] = 0xE5D5 , + [6540] = 0xE5D6 , + [6541] = 0xE5D7 , + [6542] = 0xE5D8 , + [6543] = 0xE5D9 , + [6544] = 0xE5DA , + [6545] = 0xE5DB , + [6546] = 0xE5DC , + [6547] = 0xE5DD , + [6548] = 0xE5DE , + [6549] = 0xE5DF , + [6550] = 0xE5E0 , + [6551] = 0xE5E1 , + [6552] = 0xE5E2 , + [6553] = 0xE5E3 , + [6554] = 0xE5E4 , + [6555] = 0x3000 , + [6556] = 0xFF01 , + [6557] = 0xFF02 , + [6558] = 0xFF03 , + [6559] = 0xFFE5 , + [6560] = 0xFF05 , + [6561] = 0xFF06 , + [6562] = 0xFF07 , + [6563] = 0xFF08 , + [6564] = 0xFF09 , + [6565] = 0xFF0A , + [6566] = 0xFF0B , + [6567] = 0xFF0C , + [6568] = 0xFF0D , + [6569] = 0xFF0E , + [6570] = 0xFF0F , + [6571] = 0xFF10 , + [6572] = 0xFF11 , + [6573] = 0xFF12 , + [6574] = 0xFF13 , + [6575] = 0xFF14 , + [6576] = 0xFF15 , + [6577] = 0xFF16 , + [6578] = 0xFF17 , + [6579] = 0xFF18 , + [6580] = 0xFF19 , + [6581] = 0xFF1A , + [6582] = 0xFF1B , + [6583] = 0xFF1C , + [6584] = 0xFF1D , + [6585] = 0xFF1E , + [6586] = 0xFF1F , + [6587] = 0xFF20 , + [6588] = 0xFF21 , + [6589] = 0xFF22 , + [6590] = 0xFF23 , + [6591] = 0xFF24 , + [6592] = 0xFF25 , + [6593] = 0xFF26 , + [6594] = 0xFF27 , + [6595] = 0xFF28 , + [6596] = 0xFF29 , + [6597] = 0xFF2A , + [6598] = 0xFF2B , + [6599] = 0xFF2C , + [6600] = 0xFF2D , + [6601] = 0xFF2E , + [6602] = 0xFF2F , + [6603] = 0xFF30 , + [6604] = 0xFF31 , + [6605] = 0xFF32 , + [6606] = 0xFF33 , + [6607] = 0xFF34 , + [6608] = 0xFF35 , + [6609] = 0xFF36 , + [6610] = 0xFF37 , + [6611] = 0xFF38 , + [6612] = 0xFF39 , + [6613] = 0xFF3A , + [6614] = 0xFF3B , + [6615] = 0xFF3C , + [6616] = 0xFF3D , + [6617] = 0xFF3E , + [6618] = 0xFF3F , + [6619] = 0xFF40 , + [6620] = 0xFF41 , + [6621] = 0xFF42 , + [6622] = 0xFF43 , + [6623] = 0xFF44 , + [6624] = 0xFF45 , + [6625] = 0xFF46 , + [6626] = 0xFF47 , + [6627] = 0xFF48 , + [6628] = 0xFF49 , + [6629] = 0xFF4A , + [6630] = 0xFF4B , + [6631] = 0xFF4C , + [6632] = 0xFF4D , + [6633] = 0xFF4E , + [6634] = 0xFF4F , + [6635] = 0xFF50 , + [6636] = 0xFF51 , + [6637] = 0xFF52 , + [6638] = 0xFF53 , + [6639] = 0xFF54 , + [6640] = 0xFF55 , + [6641] = 0xFF56 , + [6642] = 0xFF57 , + [6643] = 0xFF58 , + [6644] = 0xFF59 , + [6645] = 0xFF5A , + [6646] = 0xFF5B , + [6647] = 0xFF5C , + [6648] = 0xFF5D , + [6649] = 0xFFE3 , + [6650] = 0xE5E6 , + [6651] = 0xE5E7 , + [6652] = 0xE5E8 , + [6653] = 0xE5E9 , + [6654] = 0xE5EA , + [6655] = 0xE5EB , + [6656] = 0xE5EC , + [6657] = 0xE5ED , + [6658] = 0xE5EE , + [6659] = 0xE5EF , + [6660] = 0xE5F0 , + [6661] = 0xE5F1 , + [6662] = 0xE5F2 , + [6663] = 0xE5F3 , + [6664] = 0xE5F4 , + [6665] = 0xE5F5 , + [6666] = 0xE5F6 , + [6667] = 0xE5F7 , + [6668] = 0xE5F8 , + [6669] = 0xE5F9 , + [6670] = 0xE5FA , + [6671] = 0xE5FB , + [6672] = 0xE5FC , + [6673] = 0xE5FD , + [6674] = 0xE5FE , + [6675] = 0xE5FF , + [6676] = 0xE600 , + [6677] = 0xE601 , + [6678] = 0xE602 , + [6679] = 0xE603 , + [6680] = 0xE604 , + [6681] = 0xE605 , + [6682] = 0xE606 , + [6683] = 0xE607 , + [6684] = 0xE608 , + [6685] = 0xE609 , + [6686] = 0xE60A , + [6687] = 0xE60B , + [6688] = 0xE60C , + [6689] = 0xE60D , + [6690] = 0xE60E , + [6691] = 0xE60F , + [6692] = 0xE610 , + [6693] = 0xE611 , + [6694] = 0xE612 , + [6695] = 0xE613 , + [6696] = 0xE614 , + [6697] = 0xE615 , + [6698] = 0xE616 , + [6699] = 0xE617 , + [6700] = 0xE618 , + [6701] = 0xE619 , + [6702] = 0xE61A , + [6703] = 0xE61B , + [6704] = 0xE61C , + [6705] = 0xE61D , + [6706] = 0xE61E , + [6707] = 0xE61F , + [6708] = 0xE620 , + [6709] = 0xE621 , + [6710] = 0xE622 , + [6711] = 0xE623 , + [6712] = 0xE624 , + [6713] = 0xE625 , + [6714] = 0xE626 , + [6715] = 0xE627 , + [6716] = 0xE628 , + [6717] = 0xE629 , + [6718] = 0xE62A , + [6719] = 0xE62B , + [6720] = 0xE62C , + [6721] = 0xE62D , + [6722] = 0xE62E , + [6723] = 0xE62F , + [6724] = 0xE630 , + [6725] = 0xE631 , + [6726] = 0xE632 , + [6727] = 0xE633 , + [6728] = 0xE634 , + [6729] = 0xE635 , + [6730] = 0xE636 , + [6731] = 0xE637 , + [6732] = 0xE638 , + [6733] = 0xE639 , + [6734] = 0xE63A , + [6735] = 0xE63B , + [6736] = 0xE63C , + [6737] = 0xE63D , + [6738] = 0xE63E , + [6739] = 0xE63F , + [6740] = 0xE640 , + [6741] = 0xE641 , + [6742] = 0xE642 , + [6743] = 0xE643 , + [6744] = 0xE644 , + [6745] = 0xE645 , + [6746] = 0x3041 , + [6747] = 0x3042 , + [6748] = 0x3043 , + [6749] = 0x3044 , + [6750] = 0x3045 , + [6751] = 0x3046 , + [6752] = 0x3047 , + [6753] = 0x3048 , + [6754] = 0x3049 , + [6755] = 0x304A , + [6756] = 0x304B , + [6757] = 0x304C , + [6758] = 0x304D , + [6759] = 0x304E , + [6760] = 0x304F , + [6761] = 0x3050 , + [6762] = 0x3051 , + [6763] = 0x3052 , + [6764] = 0x3053 , + [6765] = 0x3054 , + [6766] = 0x3055 , + [6767] = 0x3056 , + [6768] = 0x3057 , + [6769] = 0x3058 , + [6770] = 0x3059 , + [6771] = 0x305A , + [6772] = 0x305B , + [6773] = 0x305C , + [6774] = 0x305D , + [6775] = 0x305E , + [6776] = 0x305F , + [6777] = 0x3060 , + [6778] = 0x3061 , + [6779] = 0x3062 , + [6780] = 0x3063 , + [6781] = 0x3064 , + [6782] = 0x3065 , + [6783] = 0x3066 , + [6784] = 0x3067 , + [6785] = 0x3068 , + [6786] = 0x3069 , + [6787] = 0x306A , + [6788] = 0x306B , + [6789] = 0x306C , + [6790] = 0x306D , + [6791] = 0x306E , + [6792] = 0x306F , + [6793] = 0x3070 , + [6794] = 0x3071 , + [6795] = 0x3072 , + [6796] = 0x3073 , + [6797] = 0x3074 , + [6798] = 0x3075 , + [6799] = 0x3076 , + [6800] = 0x3077 , + [6801] = 0x3078 , + [6802] = 0x3079 , + [6803] = 0x307A , + [6804] = 0x307B , + [6805] = 0x307C , + [6806] = 0x307D , + [6807] = 0x307E , + [6808] = 0x307F , + [6809] = 0x3080 , + [6810] = 0x3081 , + [6811] = 0x3082 , + [6812] = 0x3083 , + [6813] = 0x3084 , + [6814] = 0x3085 , + [6815] = 0x3086 , + [6816] = 0x3087 , + [6817] = 0x3088 , + [6818] = 0x3089 , + [6819] = 0x308A , + [6820] = 0x308B , + [6821] = 0x308C , + [6822] = 0x308D , + [6823] = 0x308E , + [6824] = 0x308F , + [6825] = 0x3090 , + [6826] = 0x3091 , + [6827] = 0x3092 , + [6828] = 0x3093 , + [6829] = 0xE772 , + [6830] = 0xE773 , + [6831] = 0xE774 , + [6832] = 0xE775 , + [6833] = 0xE776 , + [6834] = 0xE777 , + [6835] = 0xE778 , + [6836] = 0xE779 , + [6837] = 0xE77A , + [6838] = 0xE77B , + [6839] = 0xE77C , + [6840] = 0xE646 , + [6841] = 0xE647 , + [6842] = 0xE648 , + [6843] = 0xE649 , + [6844] = 0xE64A , + [6845] = 0xE64B , + [6846] = 0xE64C , + [6847] = 0xE64D , + [6848] = 0xE64E , + [6849] = 0xE64F , + [6850] = 0xE650 , + [6851] = 0xE651 , + [6852] = 0xE652 , + [6853] = 0xE653 , + [6854] = 0xE654 , + [6855] = 0xE655 , + [6856] = 0xE656 , + [6857] = 0xE657 , + [6858] = 0xE658 , + [6859] = 0xE659 , + [6860] = 0xE65A , + [6861] = 0xE65B , + [6862] = 0xE65C , + [6863] = 0xE65D , + [6864] = 0xE65E , + [6865] = 0xE65F , + [6866] = 0xE660 , + [6867] = 0xE661 , + [6868] = 0xE662 , + [6869] = 0xE663 , + [6870] = 0xE664 , + [6871] = 0xE665 , + [6872] = 0xE666 , + [6873] = 0xE667 , + [6874] = 0xE668 , + [6875] = 0xE669 , + [6876] = 0xE66A , + [6877] = 0xE66B , + [6878] = 0xE66C , + [6879] = 0xE66D , + [6880] = 0xE66E , + [6881] = 0xE66F , + [6882] = 0xE670 , + [6883] = 0xE671 , + [6884] = 0xE672 , + [6885] = 0xE673 , + [6886] = 0xE674 , + [6887] = 0xE675 , + [6888] = 0xE676 , + [6889] = 0xE677 , + [6890] = 0xE678 , + [6891] = 0xE679 , + [6892] = 0xE67A , + [6893] = 0xE67B , + [6894] = 0xE67C , + [6895] = 0xE67D , + [6896] = 0xE67E , + [6897] = 0xE67F , + [6898] = 0xE680 , + [6899] = 0xE681 , + [6900] = 0xE682 , + [6901] = 0xE683 , + [6902] = 0xE684 , + [6903] = 0xE685 , + [6904] = 0xE686 , + [6905] = 0xE687 , + [6906] = 0xE688 , + [6907] = 0xE689 , + [6908] = 0xE68A , + [6909] = 0xE68B , + [6910] = 0xE68C , + [6911] = 0xE68D , + [6912] = 0xE68E , + [6913] = 0xE68F , + [6914] = 0xE690 , + [6915] = 0xE691 , + [6916] = 0xE692 , + [6917] = 0xE693 , + [6918] = 0xE694 , + [6919] = 0xE695 , + [6920] = 0xE696 , + [6921] = 0xE697 , + [6922] = 0xE698 , + [6923] = 0xE699 , + [6924] = 0xE69A , + [6925] = 0xE69B , + [6926] = 0xE69C , + [6927] = 0xE69D , + [6928] = 0xE69E , + [6929] = 0xE69F , + [6930] = 0xE6A0 , + [6931] = 0xE6A1 , + [6932] = 0xE6A2 , + [6933] = 0xE6A3 , + [6934] = 0xE6A4 , + [6935] = 0xE6A5 , + [6936] = 0x30A1 , + [6937] = 0x30A2 , + [6938] = 0x30A3 , + [6939] = 0x30A4 , + [6940] = 0x30A5 , + [6941] = 0x30A6 , + [6942] = 0x30A7 , + [6943] = 0x30A8 , + [6944] = 0x30A9 , + [6945] = 0x30AA , + [6946] = 0x30AB , + [6947] = 0x30AC , + [6948] = 0x30AD , + [6949] = 0x30AE , + [6950] = 0x30AF , + [6951] = 0x30B0 , + [6952] = 0x30B1 , + [6953] = 0x30B2 , + [6954] = 0x30B3 , + [6955] = 0x30B4 , + [6956] = 0x30B5 , + [6957] = 0x30B6 , + [6958] = 0x30B7 , + [6959] = 0x30B8 , + [6960] = 0x30B9 , + [6961] = 0x30BA , + [6962] = 0x30BB , + [6963] = 0x30BC , + [6964] = 0x30BD , + [6965] = 0x30BE , + [6966] = 0x30BF , + [6967] = 0x30C0 , + [6968] = 0x30C1 , + [6969] = 0x30C2 , + [6970] = 0x30C3 , + [6971] = 0x30C4 , + [6972] = 0x30C5 , + [6973] = 0x30C6 , + [6974] = 0x30C7 , + [6975] = 0x30C8 , + [6976] = 0x30C9 , + [6977] = 0x30CA , + [6978] = 0x30CB , + [6979] = 0x30CC , + [6980] = 0x30CD , + [6981] = 0x30CE , + [6982] = 0x30CF , + [6983] = 0x30D0 , + [6984] = 0x30D1 , + [6985] = 0x30D2 , + [6986] = 0x30D3 , + [6987] = 0x30D4 , + [6988] = 0x30D5 , + [6989] = 0x30D6 , + [6990] = 0x30D7 , + [6991] = 0x30D8 , + [6992] = 0x30D9 , + [6993] = 0x30DA , + [6994] = 0x30DB , + [6995] = 0x30DC , + [6996] = 0x30DD , + [6997] = 0x30DE , + [6998] = 0x30DF , + [6999] = 0x30E0 , + [7000] = 0x30E1 , + [7001] = 0x30E2 , + [7002] = 0x30E3 , + [7003] = 0x30E4 , + [7004] = 0x30E5 , + [7005] = 0x30E6 , + [7006] = 0x30E7 , + [7007] = 0x30E8 , + [7008] = 0x30E9 , + [7009] = 0x30EA , + [7010] = 0x30EB , + [7011] = 0x30EC , + [7012] = 0x30ED , + [7013] = 0x30EE , + [7014] = 0x30EF , + [7015] = 0x30F0 , + [7016] = 0x30F1 , + [7017] = 0x30F2 , + [7018] = 0x30F3 , + [7019] = 0x30F4 , + [7020] = 0x30F5 , + [7021] = 0x30F6 , + [7022] = 0xE77D , + [7023] = 0xE77E , + [7024] = 0xE77F , + [7025] = 0xE780 , + [7026] = 0xE781 , + [7027] = 0xE782 , + [7028] = 0xE783 , + [7029] = 0xE784 , + [7030] = 0xE6A6 , + [7031] = 0xE6A7 , + [7032] = 0xE6A8 , + [7033] = 0xE6A9 , + [7034] = 0xE6AA , + [7035] = 0xE6AB , + [7036] = 0xE6AC , + [7037] = 0xE6AD , + [7038] = 0xE6AE , + [7039] = 0xE6AF , + [7040] = 0xE6B0 , + [7041] = 0xE6B1 , + [7042] = 0xE6B2 , + [7043] = 0xE6B3 , + [7044] = 0xE6B4 , + [7045] = 0xE6B5 , + [7046] = 0xE6B6 , + [7047] = 0xE6B7 , + [7048] = 0xE6B8 , + [7049] = 0xE6B9 , + [7050] = 0xE6BA , + [7051] = 0xE6BB , + [7052] = 0xE6BC , + [7053] = 0xE6BD , + [7054] = 0xE6BE , + [7055] = 0xE6BF , + [7056] = 0xE6C0 , + [7057] = 0xE6C1 , + [7058] = 0xE6C2 , + [7059] = 0xE6C3 , + [7060] = 0xE6C4 , + [7061] = 0xE6C5 , + [7062] = 0xE6C6 , + [7063] = 0xE6C7 , + [7064] = 0xE6C8 , + [7065] = 0xE6C9 , + [7066] = 0xE6CA , + [7067] = 0xE6CB , + [7068] = 0xE6CC , + [7069] = 0xE6CD , + [7070] = 0xE6CE , + [7071] = 0xE6CF , + [7072] = 0xE6D0 , + [7073] = 0xE6D1 , + [7074] = 0xE6D2 , + [7075] = 0xE6D3 , + [7076] = 0xE6D4 , + [7077] = 0xE6D5 , + [7078] = 0xE6D6 , + [7079] = 0xE6D7 , + [7080] = 0xE6D8 , + [7081] = 0xE6D9 , + [7082] = 0xE6DA , + [7083] = 0xE6DB , + [7084] = 0xE6DC , + [7085] = 0xE6DD , + [7086] = 0xE6DE , + [7087] = 0xE6DF , + [7088] = 0xE6E0 , + [7089] = 0xE6E1 , + [7090] = 0xE6E2 , + [7091] = 0xE6E3 , + [7092] = 0xE6E4 , + [7093] = 0xE6E5 , + [7094] = 0xE6E6 , + [7095] = 0xE6E7 , + [7096] = 0xE6E8 , + [7097] = 0xE6E9 , + [7098] = 0xE6EA , + [7099] = 0xE6EB , + [7100] = 0xE6EC , + [7101] = 0xE6ED , + [7102] = 0xE6EE , + [7103] = 0xE6EF , + [7104] = 0xE6F0 , + [7105] = 0xE6F1 , + [7106] = 0xE6F2 , + [7107] = 0xE6F3 , + [7108] = 0xE6F4 , + [7109] = 0xE6F5 , + [7110] = 0xE6F6 , + [7111] = 0xE6F7 , + [7112] = 0xE6F8 , + [7113] = 0xE6F9 , + [7114] = 0xE6FA , + [7115] = 0xE6FB , + [7116] = 0xE6FC , + [7117] = 0xE6FD , + [7118] = 0xE6FE , + [7119] = 0xE6FF , + [7120] = 0xE700 , + [7121] = 0xE701 , + [7122] = 0xE702 , + [7123] = 0xE703 , + [7124] = 0xE704 , + [7125] = 0xE705 , + [7126] = 0x0391 , + [7127] = 0x0392 , + [7128] = 0x0393 , + [7129] = 0x0394 , + [7130] = 0x0395 , + [7131] = 0x0396 , + [7132] = 0x0397 , + [7133] = 0x0398 , + [7134] = 0x0399 , + [7135] = 0x039A , + [7136] = 0x039B , + [7137] = 0x039C , + [7138] = 0x039D , + [7139] = 0x039E , + [7140] = 0x039F , + [7141] = 0x03A0 , + [7142] = 0x03A1 , + [7143] = 0x03A3 , + [7144] = 0x03A4 , + [7145] = 0x03A5 , + [7146] = 0x03A6 , + [7147] = 0x03A7 , + [7148] = 0x03A8 , + [7149] = 0x03A9 , + [7150] = 0xE785 , + [7151] = 0xE786 , + [7152] = 0xE787 , + [7153] = 0xE788 , + [7154] = 0xE789 , + [7155] = 0xE78A , + [7156] = 0xE78B , + [7157] = 0xE78C , + [7158] = 0x03B1 , + [7159] = 0x03B2 , + [7160] = 0x03B3 , + [7161] = 0x03B4 , + [7162] = 0x03B5 , + [7163] = 0x03B6 , + [7164] = 0x03B7 , + [7165] = 0x03B8 , + [7166] = 0x03B9 , + [7167] = 0x03BA , + [7168] = 0x03BB , + [7169] = 0x03BC , + [7170] = 0x03BD , + [7171] = 0x03BE , + [7172] = 0x03BF , + [7173] = 0x03C0 , + [7174] = 0x03C1 , + [7175] = 0x03C3 , + [7176] = 0x03C4 , + [7177] = 0x03C5 , + [7178] = 0x03C6 , + [7179] = 0x03C7 , + [7180] = 0x03C8 , + [7181] = 0x03C9 , + [7182] = 0xE78D , + [7183] = 0xE78E , + [7184] = 0xE78F , + [7185] = 0xE790 , + [7186] = 0xE791 , + [7187] = 0xE792 , + [7188] = 0xE793 , + [7189] = 0xFE35 , + [7190] = 0xFE36 , + [7191] = 0xFE39 , + [7192] = 0xFE3A , + [7193] = 0xFE3F , + [7194] = 0xFE40 , + [7195] = 0xFE3D , + [7196] = 0xFE3E , + [7197] = 0xFE41 , + [7198] = 0xFE42 , + [7199] = 0xFE43 , + [7200] = 0xFE44 , + [7201] = 0xE794 , + [7202] = 0xE795 , + [7203] = 0xFE3B , + [7204] = 0xFE3C , + [7205] = 0xFE37 , + [7206] = 0xFE38 , + [7207] = 0xFE31 , + [7208] = 0xE796 , + [7209] = 0xFE33 , + [7210] = 0xFE34 , + [7211] = 0xE797 , + [7212] = 0xE798 , + [7213] = 0xE799 , + [7214] = 0xE79A , + [7215] = 0xE79B , + [7216] = 0xE79C , + [7217] = 0xE79D , + [7218] = 0xE79E , + [7219] = 0xE79F , + [7220] = 0xE706 , + [7221] = 0xE707 , + [7222] = 0xE708 , + [7223] = 0xE709 , + [7224] = 0xE70A , + [7225] = 0xE70B , + [7226] = 0xE70C , + [7227] = 0xE70D , + [7228] = 0xE70E , + [7229] = 0xE70F , + [7230] = 0xE710 , + [7231] = 0xE711 , + [7232] = 0xE712 , + [7233] = 0xE713 , + [7234] = 0xE714 , + [7235] = 0xE715 , + [7236] = 0xE716 , + [7237] = 0xE717 , + [7238] = 0xE718 , + [7239] = 0xE719 , + [7240] = 0xE71A , + [7241] = 0xE71B , + [7242] = 0xE71C , + [7243] = 0xE71D , + [7244] = 0xE71E , + [7245] = 0xE71F , + [7246] = 0xE720 , + [7247] = 0xE721 , + [7248] = 0xE722 , + [7249] = 0xE723 , + [7250] = 0xE724 , + [7251] = 0xE725 , + [7252] = 0xE726 , + [7253] = 0xE727 , + [7254] = 0xE728 , + [7255] = 0xE729 , + [7256] = 0xE72A , + [7257] = 0xE72B , + [7258] = 0xE72C , + [7259] = 0xE72D , + [7260] = 0xE72E , + [7261] = 0xE72F , + [7262] = 0xE730 , + [7263] = 0xE731 , + [7264] = 0xE732 , + [7265] = 0xE733 , + [7266] = 0xE734 , + [7267] = 0xE735 , + [7268] = 0xE736 , + [7269] = 0xE737 , + [7270] = 0xE738 , + [7271] = 0xE739 , + [7272] = 0xE73A , + [7273] = 0xE73B , + [7274] = 0xE73C , + [7275] = 0xE73D , + [7276] = 0xE73E , + [7277] = 0xE73F , + [7278] = 0xE740 , + [7279] = 0xE741 , + [7280] = 0xE742 , + [7281] = 0xE743 , + [7282] = 0xE744 , + [7283] = 0xE745 , + [7284] = 0xE746 , + [7285] = 0xE747 , + [7286] = 0xE748 , + [7287] = 0xE749 , + [7288] = 0xE74A , + [7289] = 0xE74B , + [7290] = 0xE74C , + [7291] = 0xE74D , + [7292] = 0xE74E , + [7293] = 0xE74F , + [7294] = 0xE750 , + [7295] = 0xE751 , + [7296] = 0xE752 , + [7297] = 0xE753 , + [7298] = 0xE754 , + [7299] = 0xE755 , + [7300] = 0xE756 , + [7301] = 0xE757 , + [7302] = 0xE758 , + [7303] = 0xE759 , + [7304] = 0xE75A , + [7305] = 0xE75B , + [7306] = 0xE75C , + [7307] = 0xE75D , + [7308] = 0xE75E , + [7309] = 0xE75F , + [7310] = 0xE760 , + [7311] = 0xE761 , + [7312] = 0xE762 , + [7313] = 0xE763 , + [7314] = 0xE764 , + [7315] = 0xE765 , + [7316] = 0x0410 , + [7317] = 0x0411 , + [7318] = 0x0412 , + [7319] = 0x0413 , + [7320] = 0x0414 , + [7321] = 0x0415 , + [7322] = 0x0401 , + [7323] = 0x0416 , + [7324] = 0x0417 , + [7325] = 0x0418 , + [7326] = 0x0419 , + [7327] = 0x041A , + [7328] = 0x041B , + [7329] = 0x041C , + [7330] = 0x041D , + [7331] = 0x041E , + [7332] = 0x041F , + [7333] = 0x0420 , + [7334] = 0x0421 , + [7335] = 0x0422 , + [7336] = 0x0423 , + [7337] = 0x0424 , + [7338] = 0x0425 , + [7339] = 0x0426 , + [7340] = 0x0427 , + [7341] = 0x0428 , + [7342] = 0x0429 , + [7343] = 0x042A , + [7344] = 0x042B , + [7345] = 0x042C , + [7346] = 0x042D , + [7347] = 0x042E , + [7348] = 0x042F , + [7349] = 0xE7A0 , + [7350] = 0xE7A1 , + [7351] = 0xE7A2 , + [7352] = 0xE7A3 , + [7353] = 0xE7A4 , + [7354] = 0xE7A5 , + [7355] = 0xE7A6 , + [7356] = 0xE7A7 , + [7357] = 0xE7A8 , + [7358] = 0xE7A9 , + [7359] = 0xE7AA , + [7360] = 0xE7AB , + [7361] = 0xE7AC , + [7362] = 0xE7AD , + [7363] = 0xE7AE , + [7364] = 0x0430 , + [7365] = 0x0431 , + [7366] = 0x0432 , + [7367] = 0x0433 , + [7368] = 0x0434 , + [7369] = 0x0435 , + [7370] = 0x0451 , + [7371] = 0x0436 , + [7372] = 0x0437 , + [7373] = 0x0438 , + [7374] = 0x0439 , + [7375] = 0x043A , + [7376] = 0x043B , + [7377] = 0x043C , + [7378] = 0x043D , + [7379] = 0x043E , + [7380] = 0x043F , + [7381] = 0x0440 , + [7382] = 0x0441 , + [7383] = 0x0442 , + [7384] = 0x0443 , + [7385] = 0x0444 , + [7386] = 0x0445 , + [7387] = 0x0446 , + [7388] = 0x0447 , + [7389] = 0x0448 , + [7390] = 0x0449 , + [7391] = 0x044A , + [7392] = 0x044B , + [7393] = 0x044C , + [7394] = 0x044D , + [7395] = 0x044E , + [7396] = 0x044F , + [7397] = 0xE7AF , + [7398] = 0xE7B0 , + [7399] = 0xE7B1 , + [7400] = 0xE7B2 , + [7401] = 0xE7B3 , + [7402] = 0xE7B4 , + [7403] = 0xE7B5 , + [7404] = 0xE7B6 , + [7405] = 0xE7B7 , + [7406] = 0xE7B8 , + [7407] = 0xE7B9 , + [7408] = 0xE7BA , + [7409] = 0xE7BB , + [7410] = 0x02CA , + [7411] = 0x02CB , + [7412] = 0x02D9 , + [7413] = 0x2013 , + [7414] = 0x2015 , + [7415] = 0x2025 , + [7416] = 0x2035 , + [7417] = 0x2105 , + [7418] = 0x2109 , + [7419] = 0x2196 , + [7420] = 0x2197 , + [7421] = 0x2198 , + [7422] = 0x2199 , + [7423] = 0x2215 , + [7424] = 0x221F , + [7425] = 0x2223 , + [7426] = 0x2252 , + [7427] = 0x2266 , + [7428] = 0x2267 , + [7429] = 0x22BF , + [7430] = 0x2550 , + [7431] = 0x2551 , + [7432] = 0x2552 , + [7433] = 0x2553 , + [7434] = 0x2554 , + [7435] = 0x2555 , + [7436] = 0x2556 , + [7437] = 0x2557 , + [7438] = 0x2558 , + [7439] = 0x2559 , + [7440] = 0x255A , + [7441] = 0x255B , + [7442] = 0x255C , + [7443] = 0x255D , + [7444] = 0x255E , + [7445] = 0x255F , + [7446] = 0x2560 , + [7447] = 0x2561 , + [7448] = 0x2562 , + [7449] = 0x2563 , + [7450] = 0x2564 , + [7451] = 0x2565 , + [7452] = 0x2566 , + [7453] = 0x2567 , + [7454] = 0x2568 , + [7455] = 0x2569 , + [7456] = 0x256A , + [7457] = 0x256B , + [7458] = 0x256C , + [7459] = 0x256D , + [7460] = 0x256E , + [7461] = 0x256F , + [7462] = 0x2570 , + [7463] = 0x2571 , + [7464] = 0x2572 , + [7465] = 0x2573 , + [7466] = 0x2581 , + [7467] = 0x2582 , + [7468] = 0x2583 , + [7469] = 0x2584 , + [7470] = 0x2585 , + [7471] = 0x2586 , + [7472] = 0x2587 , + [7473] = 0x2588 , + [7474] = 0x2589 , + [7475] = 0x258A , + [7476] = 0x258B , + [7477] = 0x258C , + [7478] = 0x258D , + [7479] = 0x258E , + [7480] = 0x258F , + [7481] = 0x2593 , + [7482] = 0x2594 , + [7483] = 0x2595 , + [7484] = 0x25BC , + [7485] = 0x25BD , + [7486] = 0x25E2 , + [7487] = 0x25E3 , + [7488] = 0x25E4 , + [7489] = 0x25E5 , + [7490] = 0x2609 , + [7491] = 0x2295 , + [7492] = 0x3012 , + [7493] = 0x301D , + [7494] = 0x301E , + [7495] = 0xE7BC , + [7496] = 0xE7BD , + [7497] = 0xE7BE , + [7498] = 0xE7BF , + [7499] = 0xE7C0 , + [7500] = 0xE7C1 , + [7501] = 0xE7C2 , + [7502] = 0xE7C3 , + [7503] = 0xE7C4 , + [7504] = 0xE7C5 , + [7505] = 0xE7C6 , + [7506] = 0x0101 , + [7507] = 0x00E1 , + [7508] = 0x01CE , + [7509] = 0x00E0 , + [7510] = 0x0113 , + [7511] = 0x00E9 , + [7512] = 0x011B , + [7513] = 0x00E8 , + [7514] = 0x012B , + [7515] = 0x00ED , + [7516] = 0x01D0 , + [7517] = 0x00EC , + [7518] = 0x014D , + [7519] = 0x00F3 , + [7520] = 0x01D2 , + [7521] = 0x00F2 , + [7522] = 0x016B , + [7523] = 0x00FA , + [7524] = 0x01D4 , + [7525] = 0x00F9 , + [7526] = 0x01D6 , + [7527] = 0x01D8 , + [7528] = 0x01DA , + [7529] = 0x01DC , + [7530] = 0x00FC , + [7531] = 0x00EA , + [7532] = 0x0251 , + [7533] = 0x1E3F , + [7534] = 0x0144 , + [7535] = 0x0148 , + [7536] = 0x01F9 , + [7537] = 0x0261 , + [7538] = 0xE7C9 , + [7539] = 0xE7CA , + [7540] = 0xE7CB , + [7541] = 0xE7CC , + [7542] = 0x3105 , + [7543] = 0x3106 , + [7544] = 0x3107 , + [7545] = 0x3108 , + [7546] = 0x3109 , + [7547] = 0x310A , + [7548] = 0x310B , + [7549] = 0x310C , + [7550] = 0x310D , + [7551] = 0x310E , + [7552] = 0x310F , + [7553] = 0x3110 , + [7554] = 0x3111 , + [7555] = 0x3112 , + [7556] = 0x3113 , + [7557] = 0x3114 , + [7558] = 0x3115 , + [7559] = 0x3116 , + [7560] = 0x3117 , + [7561] = 0x3118 , + [7562] = 0x3119 , + [7563] = 0x311A , + [7564] = 0x311B , + [7565] = 0x311C , + [7566] = 0x311D , + [7567] = 0x311E , + [7568] = 0x311F , + [7569] = 0x3120 , + [7570] = 0x3121 , + [7571] = 0x3122 , + [7572] = 0x3123 , + [7573] = 0x3124 , + [7574] = 0x3125 , + [7575] = 0x3126 , + [7576] = 0x3127 , + [7577] = 0x3128 , + [7578] = 0x3129 , + [7579] = 0xE7CD , + [7580] = 0xE7CE , + [7581] = 0xE7CF , + [7582] = 0xE7D0 , + [7583] = 0xE7D1 , + [7584] = 0xE7D2 , + [7585] = 0xE7D3 , + [7586] = 0xE7D4 , + [7587] = 0xE7D5 , + [7588] = 0xE7D6 , + [7589] = 0xE7D7 , + [7590] = 0xE7D8 , + [7591] = 0xE7D9 , + [7592] = 0xE7DA , + [7593] = 0xE7DB , + [7594] = 0xE7DC , + [7595] = 0xE7DD , + [7596] = 0xE7DE , + [7597] = 0xE7DF , + [7598] = 0xE7E0 , + [7599] = 0xE7E1 , + [7600] = 0x3021 , + [7601] = 0x3022 , + [7602] = 0x3023 , + [7603] = 0x3024 , + [7604] = 0x3025 , + [7605] = 0x3026 , + [7606] = 0x3027 , + [7607] = 0x3028 , + [7608] = 0x3029 , + [7609] = 0x32A3 , + [7610] = 0x338E , + [7611] = 0x338F , + [7612] = 0x339C , + [7613] = 0x339D , + [7614] = 0x339E , + [7615] = 0x33A1 , + [7616] = 0x33C4 , + [7617] = 0x33CE , + [7618] = 0x33D1 , + [7619] = 0x33D2 , + [7620] = 0x33D5 , + [7621] = 0xFE30 , + [7622] = 0xFFE2 , + [7623] = 0xFFE4 , + [7624] = 0xE7E2 , + [7625] = 0x2121 , + [7626] = 0x3231 , + [7627] = 0xE7E3 , + [7628] = 0x2010 , + [7629] = 0xE7E4 , + [7630] = 0xE7E5 , + [7631] = 0xE7E6 , + [7632] = 0x30FC , + [7633] = 0x309B , + [7634] = 0x309C , + [7635] = 0x30FD , + [7636] = 0x30FE , + [7637] = 0x3006 , + [7638] = 0x309D , + [7639] = 0x309E , + [7640] = 0xFE49 , + [7641] = 0xFE4A , + [7642] = 0xFE4B , + [7643] = 0xFE4C , + [7644] = 0xFE4D , + [7645] = 0xFE4E , + [7646] = 0xFE4F , + [7647] = 0xFE50 , + [7648] = 0xFE51 , + [7649] = 0xFE52 , + [7650] = 0xFE54 , + [7651] = 0xFE55 , + [7652] = 0xFE56 , + [7653] = 0xFE57 , + [7654] = 0xFE59 , + [7655] = 0xFE5A , + [7656] = 0xFE5B , + [7657] = 0xFE5C , + [7658] = 0xFE5D , + [7659] = 0xFE5E , + [7660] = 0xFE5F , + [7661] = 0xFE60 , + [7662] = 0xFE61 , + [7663] = 0xFE62 , + [7664] = 0xFE63 , + [7665] = 0xFE64 , + [7666] = 0xFE65 , + [7667] = 0xFE66 , + [7668] = 0xFE68 , + [7669] = 0xFE69 , + [7670] = 0xFE6A , + [7671] = 0xFE6B , + [7672] = 0x303E , + [7673] = 0x2FF0 , + [7674] = 0x2FF1 , + [7675] = 0x2FF2 , + [7676] = 0x2FF3 , + [7677] = 0x2FF4 , + [7678] = 0x2FF5 , + [7679] = 0x2FF6 , + [7680] = 0x2FF7 , + [7681] = 0x2FF8 , + [7682] = 0x2FF9 , + [7683] = 0x2FFA , + [7684] = 0x2FFB , + [7685] = 0x3007 , + [7686] = 0xE7F4 , + [7687] = 0xE7F5 , + [7688] = 0xE7F6 , + [7689] = 0xE7F7 , + [7690] = 0xE7F8 , + [7691] = 0xE7F9 , + [7692] = 0xE7FA , + [7693] = 0xE7FB , + [7694] = 0xE7FC , + [7695] = 0xE7FD , + [7696] = 0xE7FE , + [7697] = 0xE7FF , + [7698] = 0xE800 , + [7699] = 0x2500 , + [7700] = 0x2501 , + [7701] = 0x2502 , + [7702] = 0x2503 , + [7703] = 0x2504 , + [7704] = 0x2505 , + [7705] = 0x2506 , + [7706] = 0x2507 , + [7707] = 0x2508 , + [7708] = 0x2509 , + [7709] = 0x250A , + [7710] = 0x250B , + [7711] = 0x250C , + [7712] = 0x250D , + [7713] = 0x250E , + [7714] = 0x250F , + [7715] = 0x2510 , + [7716] = 0x2511 , + [7717] = 0x2512 , + [7718] = 0x2513 , + [7719] = 0x2514 , + [7720] = 0x2515 , + [7721] = 0x2516 , + [7722] = 0x2517 , + [7723] = 0x2518 , + [7724] = 0x2519 , + [7725] = 0x251A , + [7726] = 0x251B , + [7727] = 0x251C , + [7728] = 0x251D , + [7729] = 0x251E , + [7730] = 0x251F , + [7731] = 0x2520 , + [7732] = 0x2521 , + [7733] = 0x2522 , + [7734] = 0x2523 , + [7735] = 0x2524 , + [7736] = 0x2525 , + [7737] = 0x2526 , + [7738] = 0x2527 , + [7739] = 0x2528 , + [7740] = 0x2529 , + [7741] = 0x252A , + [7742] = 0x252B , + [7743] = 0x252C , + [7744] = 0x252D , + [7745] = 0x252E , + [7746] = 0x252F , + [7747] = 0x2530 , + [7748] = 0x2531 , + [7749] = 0x2532 , + [7750] = 0x2533 , + [7751] = 0x2534 , + [7752] = 0x2535 , + [7753] = 0x2536 , + [7754] = 0x2537 , + [7755] = 0x2538 , + [7756] = 0x2539 , + [7757] = 0x253A , + [7758] = 0x253B , + [7759] = 0x253C , + [7760] = 0x253D , + [7761] = 0x253E , + [7762] = 0x253F , + [7763] = 0x2540 , + [7764] = 0x2541 , + [7765] = 0x2542 , + [7766] = 0x2543 , + [7767] = 0x2544 , + [7768] = 0x2545 , + [7769] = 0x2546 , + [7770] = 0x2547 , + [7771] = 0x2548 , + [7772] = 0x2549 , + [7773] = 0x254A , + [7774] = 0x254B , + [7775] = 0xE801 , + [7776] = 0xE802 , + [7777] = 0xE803 , + [7778] = 0xE804 , + [7779] = 0xE805 , + [7780] = 0xE806 , + [7781] = 0xE807 , + [7782] = 0xE808 , + [7783] = 0xE809 , + [7784] = 0xE80A , + [7785] = 0xE80B , + [7786] = 0xE80C , + [7787] = 0xE80D , + [7788] = 0xE80E , + [7789] = 0xE80F , + [7790] = 0x72DC , + [7791] = 0x72DD , + [7792] = 0x72DF , + [7793] = 0x72E2 , + [7794] = 0x72E3 , + [7795] = 0x72E4 , + [7796] = 0x72E5 , + [7797] = 0x72E6 , + [7798] = 0x72E7 , + [7799] = 0x72EA , + [7800] = 0x72EB , + [7801] = 0x72F5 , + [7802] = 0x72F6 , + [7803] = 0x72F9 , + [7804] = 0x72FD , + [7805] = 0x72FE , + [7806] = 0x72FF , + [7807] = 0x7300 , + [7808] = 0x7302 , + [7809] = 0x7304 , + [7810] = 0x7305 , + [7811] = 0x7306 , + [7812] = 0x7307 , + [7813] = 0x7308 , + [7814] = 0x7309 , + [7815] = 0x730B , + [7816] = 0x730C , + [7817] = 0x730D , + [7818] = 0x730F , + [7819] = 0x7310 , + [7820] = 0x7311 , + [7821] = 0x7312 , + [7822] = 0x7314 , + [7823] = 0x7318 , + [7824] = 0x7319 , + [7825] = 0x731A , + [7826] = 0x731F , + [7827] = 0x7320 , + [7828] = 0x7323 , + [7829] = 0x7324 , + [7830] = 0x7326 , + [7831] = 0x7327 , + [7832] = 0x7328 , + [7833] = 0x732D , + [7834] = 0x732F , + [7835] = 0x7330 , + [7836] = 0x7332 , + [7837] = 0x7333 , + [7838] = 0x7335 , + [7839] = 0x7336 , + [7840] = 0x733A , + [7841] = 0x733B , + [7842] = 0x733C , + [7843] = 0x733D , + [7844] = 0x7340 , + [7845] = 0x7341 , + [7846] = 0x7342 , + [7847] = 0x7343 , + [7848] = 0x7344 , + [7849] = 0x7345 , + [7850] = 0x7346 , + [7851] = 0x7347 , + [7852] = 0x7348 , + [7853] = 0x7349 , + [7854] = 0x734A , + [7855] = 0x734B , + [7856] = 0x734C , + [7857] = 0x734E , + [7858] = 0x734F , + [7859] = 0x7351 , + [7860] = 0x7353 , + [7861] = 0x7354 , + [7862] = 0x7355 , + [7863] = 0x7356 , + [7864] = 0x7358 , + [7865] = 0x7359 , + [7866] = 0x735A , + [7867] = 0x735B , + [7868] = 0x735C , + [7869] = 0x735D , + [7870] = 0x735E , + [7871] = 0x735F , + [7872] = 0x7361 , + [7873] = 0x7362 , + [7874] = 0x7363 , + [7875] = 0x7364 , + [7876] = 0x7365 , + [7877] = 0x7366 , + [7878] = 0x7367 , + [7879] = 0x7368 , + [7880] = 0x7369 , + [7881] = 0x736A , + [7882] = 0x736B , + [7883] = 0x736E , + [7884] = 0x7370 , + [7885] = 0x7371 , + [7886] = 0xE000 , + [7887] = 0xE001 , + [7888] = 0xE002 , + [7889] = 0xE003 , + [7890] = 0xE004 , + [7891] = 0xE005 , + [7892] = 0xE006 , + [7893] = 0xE007 , + [7894] = 0xE008 , + [7895] = 0xE009 , + [7896] = 0xE00A , + [7897] = 0xE00B , + [7898] = 0xE00C , + [7899] = 0xE00D , + [7900] = 0xE00E , + [7901] = 0xE00F , + [7902] = 0xE010 , + [7903] = 0xE011 , + [7904] = 0xE012 , + [7905] = 0xE013 , + [7906] = 0xE014 , + [7907] = 0xE015 , + [7908] = 0xE016 , + [7909] = 0xE017 , + [7910] = 0xE018 , + [7911] = 0xE019 , + [7912] = 0xE01A , + [7913] = 0xE01B , + [7914] = 0xE01C , + [7915] = 0xE01D , + [7916] = 0xE01E , + [7917] = 0xE01F , + [7918] = 0xE020 , + [7919] = 0xE021 , + [7920] = 0xE022 , + [7921] = 0xE023 , + [7922] = 0xE024 , + [7923] = 0xE025 , + [7924] = 0xE026 , + [7925] = 0xE027 , + [7926] = 0xE028 , + [7927] = 0xE029 , + [7928] = 0xE02A , + [7929] = 0xE02B , + [7930] = 0xE02C , + [7931] = 0xE02D , + [7932] = 0xE02E , + [7933] = 0xE02F , + [7934] = 0xE030 , + [7935] = 0xE031 , + [7936] = 0xE032 , + [7937] = 0xE033 , + [7938] = 0xE034 , + [7939] = 0xE035 , + [7940] = 0xE036 , + [7941] = 0xE037 , + [7942] = 0xE038 , + [7943] = 0xE039 , + [7944] = 0xE03A , + [7945] = 0xE03B , + [7946] = 0xE03C , + [7947] = 0xE03D , + [7948] = 0xE03E , + [7949] = 0xE03F , + [7950] = 0xE040 , + [7951] = 0xE041 , + [7952] = 0xE042 , + [7953] = 0xE043 , + [7954] = 0xE044 , + [7955] = 0xE045 , + [7956] = 0xE046 , + [7957] = 0xE047 , + [7958] = 0xE048 , + [7959] = 0xE049 , + [7960] = 0xE04A , + [7961] = 0xE04B , + [7962] = 0xE04C , + [7963] = 0xE04D , + [7964] = 0xE04E , + [7965] = 0xE04F , + [7966] = 0xE050 , + [7967] = 0xE051 , + [7968] = 0xE052 , + [7969] = 0xE053 , + [7970] = 0xE054 , + [7971] = 0xE055 , + [7972] = 0xE056 , + [7973] = 0xE057 , + [7974] = 0xE058 , + [7975] = 0xE059 , + [7976] = 0xE05A , + [7977] = 0xE05B , + [7978] = 0xE05C , + [7979] = 0xE05D , + [7980] = 0x7372 , + [7981] = 0x7373 , + [7982] = 0x7374 , + [7983] = 0x7375 , + [7984] = 0x7376 , + [7985] = 0x7377 , + [7986] = 0x7378 , + [7987] = 0x7379 , + [7988] = 0x737A , + [7989] = 0x737B , + [7990] = 0x737C , + [7991] = 0x737D , + [7992] = 0x737F , + [7993] = 0x7380 , + [7994] = 0x7381 , + [7995] = 0x7382 , + [7996] = 0x7383 , + [7997] = 0x7385 , + [7998] = 0x7386 , + [7999] = 0x7388 , + [8000] = 0x738A , + [8001] = 0x738C , + [8002] = 0x738D , + [8003] = 0x738F , + [8004] = 0x7390 , + [8005] = 0x7392 , + [8006] = 0x7393 , + [8007] = 0x7394 , + [8008] = 0x7395 , + [8009] = 0x7397 , + [8010] = 0x7398 , + [8011] = 0x7399 , + [8012] = 0x739A , + [8013] = 0x739C , + [8014] = 0x739D , + [8015] = 0x739E , + [8016] = 0x73A0 , + [8017] = 0x73A1 , + [8018] = 0x73A3 , + [8019] = 0x73A4 , + [8020] = 0x73A5 , + [8021] = 0x73A6 , + [8022] = 0x73A7 , + [8023] = 0x73A8 , + [8024] = 0x73AA , + [8025] = 0x73AC , + [8026] = 0x73AD , + [8027] = 0x73B1 , + [8028] = 0x73B4 , + [8029] = 0x73B5 , + [8030] = 0x73B6 , + [8031] = 0x73B8 , + [8032] = 0x73B9 , + [8033] = 0x73BC , + [8034] = 0x73BD , + [8035] = 0x73BE , + [8036] = 0x73BF , + [8037] = 0x73C1 , + [8038] = 0x73C3 , + [8039] = 0x73C4 , + [8040] = 0x73C5 , + [8041] = 0x73C6 , + [8042] = 0x73C7 , + [8043] = 0x73CB , + [8044] = 0x73CC , + [8045] = 0x73CE , + [8046] = 0x73D2 , + [8047] = 0x73D3 , + [8048] = 0x73D4 , + [8049] = 0x73D5 , + [8050] = 0x73D6 , + [8051] = 0x73D7 , + [8052] = 0x73D8 , + [8053] = 0x73DA , + [8054] = 0x73DB , + [8055] = 0x73DC , + [8056] = 0x73DD , + [8057] = 0x73DF , + [8058] = 0x73E1 , + [8059] = 0x73E2 , + [8060] = 0x73E3 , + [8061] = 0x73E4 , + [8062] = 0x73E6 , + [8063] = 0x73E8 , + [8064] = 0x73EA , + [8065] = 0x73EB , + [8066] = 0x73EC , + [8067] = 0x73EE , + [8068] = 0x73EF , + [8069] = 0x73F0 , + [8070] = 0x73F1 , + [8071] = 0x73F3 , + [8072] = 0x73F4 , + [8073] = 0x73F5 , + [8074] = 0x73F6 , + [8075] = 0x73F7 , + [8076] = 0xE05E , + [8077] = 0xE05F , + [8078] = 0xE060 , + [8079] = 0xE061 , + [8080] = 0xE062 , + [8081] = 0xE063 , + [8082] = 0xE064 , + [8083] = 0xE065 , + [8084] = 0xE066 , + [8085] = 0xE067 , + [8086] = 0xE068 , + [8087] = 0xE069 , + [8088] = 0xE06A , + [8089] = 0xE06B , + [8090] = 0xE06C , + [8091] = 0xE06D , + [8092] = 0xE06E , + [8093] = 0xE06F , + [8094] = 0xE070 , + [8095] = 0xE071 , + [8096] = 0xE072 , + [8097] = 0xE073 , + [8098] = 0xE074 , + [8099] = 0xE075 , + [8100] = 0xE076 , + [8101] = 0xE077 , + [8102] = 0xE078 , + [8103] = 0xE079 , + [8104] = 0xE07A , + [8105] = 0xE07B , + [8106] = 0xE07C , + [8107] = 0xE07D , + [8108] = 0xE07E , + [8109] = 0xE07F , + [8110] = 0xE080 , + [8111] = 0xE081 , + [8112] = 0xE082 , + [8113] = 0xE083 , + [8114] = 0xE084 , + [8115] = 0xE085 , + [8116] = 0xE086 , + [8117] = 0xE087 , + [8118] = 0xE088 , + [8119] = 0xE089 , + [8120] = 0xE08A , + [8121] = 0xE08B , + [8122] = 0xE08C , + [8123] = 0xE08D , + [8124] = 0xE08E , + [8125] = 0xE08F , + [8126] = 0xE090 , + [8127] = 0xE091 , + [8128] = 0xE092 , + [8129] = 0xE093 , + [8130] = 0xE094 , + [8131] = 0xE095 , + [8132] = 0xE096 , + [8133] = 0xE097 , + [8134] = 0xE098 , + [8135] = 0xE099 , + [8136] = 0xE09A , + [8137] = 0xE09B , + [8138] = 0xE09C , + [8139] = 0xE09D , + [8140] = 0xE09E , + [8141] = 0xE09F , + [8142] = 0xE0A0 , + [8143] = 0xE0A1 , + [8144] = 0xE0A2 , + [8145] = 0xE0A3 , + [8146] = 0xE0A4 , + [8147] = 0xE0A5 , + [8148] = 0xE0A6 , + [8149] = 0xE0A7 , + [8150] = 0xE0A8 , + [8151] = 0xE0A9 , + [8152] = 0xE0AA , + [8153] = 0xE0AB , + [8154] = 0xE0AC , + [8155] = 0xE0AD , + [8156] = 0xE0AE , + [8157] = 0xE0AF , + [8158] = 0xE0B0 , + [8159] = 0xE0B1 , + [8160] = 0xE0B2 , + [8161] = 0xE0B3 , + [8162] = 0xE0B4 , + [8163] = 0xE0B5 , + [8164] = 0xE0B6 , + [8165] = 0xE0B7 , + [8166] = 0xE0B8 , + [8167] = 0xE0B9 , + [8168] = 0xE0BA , + [8169] = 0xE0BB , + [8170] = 0x73F8 , + [8171] = 0x73F9 , + [8172] = 0x73FA , + [8173] = 0x73FB , + [8174] = 0x73FC , + [8175] = 0x73FD , + [8176] = 0x73FE , + [8177] = 0x73FF , + [8178] = 0x7400 , + [8179] = 0x7401 , + [8180] = 0x7402 , + [8181] = 0x7404 , + [8182] = 0x7407 , + [8183] = 0x7408 , + [8184] = 0x740B , + [8185] = 0x740C , + [8186] = 0x740D , + [8187] = 0x740E , + [8188] = 0x7411 , + [8189] = 0x7412 , + [8190] = 0x7413 , + [8191] = 0x7414 , + [8192] = 0x7415 , + [8193] = 0x7416 , + [8194] = 0x7417 , + [8195] = 0x7418 , + [8196] = 0x7419 , + [8197] = 0x741C , + [8198] = 0x741D , + [8199] = 0x741E , + [8200] = 0x741F , + [8201] = 0x7420 , + [8202] = 0x7421 , + [8203] = 0x7423 , + [8204] = 0x7424 , + [8205] = 0x7427 , + [8206] = 0x7429 , + [8207] = 0x742B , + [8208] = 0x742D , + [8209] = 0x742F , + [8210] = 0x7431 , + [8211] = 0x7432 , + [8212] = 0x7437 , + [8213] = 0x7438 , + [8214] = 0x7439 , + [8215] = 0x743A , + [8216] = 0x743B , + [8217] = 0x743D , + [8218] = 0x743E , + [8219] = 0x743F , + [8220] = 0x7440 , + [8221] = 0x7442 , + [8222] = 0x7443 , + [8223] = 0x7444 , + [8224] = 0x7445 , + [8225] = 0x7446 , + [8226] = 0x7447 , + [8227] = 0x7448 , + [8228] = 0x7449 , + [8229] = 0x744A , + [8230] = 0x744B , + [8231] = 0x744C , + [8232] = 0x744D , + [8233] = 0x744E , + [8234] = 0x744F , + [8235] = 0x7450 , + [8236] = 0x7451 , + [8237] = 0x7452 , + [8238] = 0x7453 , + [8239] = 0x7454 , + [8240] = 0x7456 , + [8241] = 0x7458 , + [8242] = 0x745D , + [8243] = 0x7460 , + [8244] = 0x7461 , + [8245] = 0x7462 , + [8246] = 0x7463 , + [8247] = 0x7464 , + [8248] = 0x7465 , + [8249] = 0x7466 , + [8250] = 0x7467 , + [8251] = 0x7468 , + [8252] = 0x7469 , + [8253] = 0x746A , + [8254] = 0x746B , + [8255] = 0x746C , + [8256] = 0x746E , + [8257] = 0x746F , + [8258] = 0x7471 , + [8259] = 0x7472 , + [8260] = 0x7473 , + [8261] = 0x7474 , + [8262] = 0x7475 , + [8263] = 0x7478 , + [8264] = 0x7479 , + [8265] = 0x747A , + [8266] = 0xE0BC , + [8267] = 0xE0BD , + [8268] = 0xE0BE , + [8269] = 0xE0BF , + [8270] = 0xE0C0 , + [8271] = 0xE0C1 , + [8272] = 0xE0C2 , + [8273] = 0xE0C3 , + [8274] = 0xE0C4 , + [8275] = 0xE0C5 , + [8276] = 0xE0C6 , + [8277] = 0xE0C7 , + [8278] = 0xE0C8 , + [8279] = 0xE0C9 , + [8280] = 0xE0CA , + [8281] = 0xE0CB , + [8282] = 0xE0CC , + [8283] = 0xE0CD , + [8284] = 0xE0CE , + [8285] = 0xE0CF , + [8286] = 0xE0D0 , + [8287] = 0xE0D1 , + [8288] = 0xE0D2 , + [8289] = 0xE0D3 , + [8290] = 0xE0D4 , + [8291] = 0xE0D5 , + [8292] = 0xE0D6 , + [8293] = 0xE0D7 , + [8294] = 0xE0D8 , + [8295] = 0xE0D9 , + [8296] = 0xE0DA , + [8297] = 0xE0DB , + [8298] = 0xE0DC , + [8299] = 0xE0DD , + [8300] = 0xE0DE , + [8301] = 0xE0DF , + [8302] = 0xE0E0 , + [8303] = 0xE0E1 , + [8304] = 0xE0E2 , + [8305] = 0xE0E3 , + [8306] = 0xE0E4 , + [8307] = 0xE0E5 , + [8308] = 0xE0E6 , + [8309] = 0xE0E7 , + [8310] = 0xE0E8 , + [8311] = 0xE0E9 , + [8312] = 0xE0EA , + [8313] = 0xE0EB , + [8314] = 0xE0EC , + [8315] = 0xE0ED , + [8316] = 0xE0EE , + [8317] = 0xE0EF , + [8318] = 0xE0F0 , + [8319] = 0xE0F1 , + [8320] = 0xE0F2 , + [8321] = 0xE0F3 , + [8322] = 0xE0F4 , + [8323] = 0xE0F5 , + [8324] = 0xE0F6 , + [8325] = 0xE0F7 , + [8326] = 0xE0F8 , + [8327] = 0xE0F9 , + [8328] = 0xE0FA , + [8329] = 0xE0FB , + [8330] = 0xE0FC , + [8331] = 0xE0FD , + [8332] = 0xE0FE , + [8333] = 0xE0FF , + [8334] = 0xE100 , + [8335] = 0xE101 , + [8336] = 0xE102 , + [8337] = 0xE103 , + [8338] = 0xE104 , + [8339] = 0xE105 , + [8340] = 0xE106 , + [8341] = 0xE107 , + [8342] = 0xE108 , + [8343] = 0xE109 , + [8344] = 0xE10A , + [8345] = 0xE10B , + [8346] = 0xE10C , + [8347] = 0xE10D , + [8348] = 0xE10E , + [8349] = 0xE10F , + [8350] = 0xE110 , + [8351] = 0xE111 , + [8352] = 0xE112 , + [8353] = 0xE113 , + [8354] = 0xE114 , + [8355] = 0xE115 , + [8356] = 0xE116 , + [8357] = 0xE117 , + [8358] = 0xE118 , + [8359] = 0xE119 , + [8360] = 0x747B , + [8361] = 0x747C , + [8362] = 0x747D , + [8363] = 0x747F , + [8364] = 0x7482 , + [8365] = 0x7484 , + [8366] = 0x7485 , + [8367] = 0x7486 , + [8368] = 0x7488 , + [8369] = 0x7489 , + [8370] = 0x748A , + [8371] = 0x748C , + [8372] = 0x748D , + [8373] = 0x748F , + [8374] = 0x7491 , + [8375] = 0x7492 , + [8376] = 0x7493 , + [8377] = 0x7494 , + [8378] = 0x7495 , + [8379] = 0x7496 , + [8380] = 0x7497 , + [8381] = 0x7498 , + [8382] = 0x7499 , + [8383] = 0x749A , + [8384] = 0x749B , + [8385] = 0x749D , + [8386] = 0x749F , + [8387] = 0x74A0 , + [8388] = 0x74A1 , + [8389] = 0x74A2 , + [8390] = 0x74A3 , + [8391] = 0x74A4 , + [8392] = 0x74A5 , + [8393] = 0x74A6 , + [8394] = 0x74AA , + [8395] = 0x74AB , + [8396] = 0x74AC , + [8397] = 0x74AD , + [8398] = 0x74AE , + [8399] = 0x74AF , + [8400] = 0x74B0 , + [8401] = 0x74B1 , + [8402] = 0x74B2 , + [8403] = 0x74B3 , + [8404] = 0x74B4 , + [8405] = 0x74B5 , + [8406] = 0x74B6 , + [8407] = 0x74B7 , + [8408] = 0x74B8 , + [8409] = 0x74B9 , + [8410] = 0x74BB , + [8411] = 0x74BC , + [8412] = 0x74BD , + [8413] = 0x74BE , + [8414] = 0x74BF , + [8415] = 0x74C0 , + [8416] = 0x74C1 , + [8417] = 0x74C2 , + [8418] = 0x74C3 , + [8419] = 0x74C4 , + [8420] = 0x74C5 , + [8421] = 0x74C6 , + [8422] = 0x74C7 , + [8423] = 0x74C8 , + [8424] = 0x74C9 , + [8425] = 0x74CA , + [8426] = 0x74CB , + [8427] = 0x74CC , + [8428] = 0x74CD , + [8429] = 0x74CE , + [8430] = 0x74CF , + [8431] = 0x74D0 , + [8432] = 0x74D1 , + [8433] = 0x74D3 , + [8434] = 0x74D4 , + [8435] = 0x74D5 , + [8436] = 0x74D6 , + [8437] = 0x74D7 , + [8438] = 0x74D8 , + [8439] = 0x74D9 , + [8440] = 0x74DA , + [8441] = 0x74DB , + [8442] = 0x74DD , + [8443] = 0x74DF , + [8444] = 0x74E1 , + [8445] = 0x74E5 , + [8446] = 0x74E7 , + [8447] = 0x74E8 , + [8448] = 0x74E9 , + [8449] = 0x74EA , + [8450] = 0x74EB , + [8451] = 0x74EC , + [8452] = 0x74ED , + [8453] = 0x74F0 , + [8454] = 0x74F1 , + [8455] = 0x74F2 , + [8456] = 0xE11A , + [8457] = 0xE11B , + [8458] = 0xE11C , + [8459] = 0xE11D , + [8460] = 0xE11E , + [8461] = 0xE11F , + [8462] = 0xE120 , + [8463] = 0xE121 , + [8464] = 0xE122 , + [8465] = 0xE123 , + [8466] = 0xE124 , + [8467] = 0xE125 , + [8468] = 0xE126 , + [8469] = 0xE127 , + [8470] = 0xE128 , + [8471] = 0xE129 , + [8472] = 0xE12A , + [8473] = 0xE12B , + [8474] = 0xE12C , + [8475] = 0xE12D , + [8476] = 0xE12E , + [8477] = 0xE12F , + [8478] = 0xE130 , + [8479] = 0xE131 , + [8480] = 0xE132 , + [8481] = 0xE133 , + [8482] = 0xE134 , + [8483] = 0xE135 , + [8484] = 0xE136 , + [8485] = 0xE137 , + [8486] = 0xE138 , + [8487] = 0xE139 , + [8488] = 0xE13A , + [8489] = 0xE13B , + [8490] = 0xE13C , + [8491] = 0xE13D , + [8492] = 0xE13E , + [8493] = 0xE13F , + [8494] = 0xE140 , + [8495] = 0xE141 , + [8496] = 0xE142 , + [8497] = 0xE143 , + [8498] = 0xE144 , + [8499] = 0xE145 , + [8500] = 0xE146 , + [8501] = 0xE147 , + [8502] = 0xE148 , + [8503] = 0xE149 , + [8504] = 0xE14A , + [8505] = 0xE14B , + [8506] = 0xE14C , + [8507] = 0xE14D , + [8508] = 0xE14E , + [8509] = 0xE14F , + [8510] = 0xE150 , + [8511] = 0xE151 , + [8512] = 0xE152 , + [8513] = 0xE153 , + [8514] = 0xE154 , + [8515] = 0xE155 , + [8516] = 0xE156 , + [8517] = 0xE157 , + [8518] = 0xE158 , + [8519] = 0xE159 , + [8520] = 0xE15A , + [8521] = 0xE15B , + [8522] = 0xE15C , + [8523] = 0xE15D , + [8524] = 0xE15E , + [8525] = 0xE15F , + [8526] = 0xE160 , + [8527] = 0xE161 , + [8528] = 0xE162 , + [8529] = 0xE163 , + [8530] = 0xE164 , + [8531] = 0xE165 , + [8532] = 0xE166 , + [8533] = 0xE167 , + [8534] = 0xE168 , + [8535] = 0xE169 , + [8536] = 0xE16A , + [8537] = 0xE16B , + [8538] = 0xE16C , + [8539] = 0xE16D , + [8540] = 0xE16E , + [8541] = 0xE16F , + [8542] = 0xE170 , + [8543] = 0xE171 , + [8544] = 0xE172 , + [8545] = 0xE173 , + [8546] = 0xE174 , + [8547] = 0xE175 , + [8548] = 0xE176 , + [8549] = 0xE177 , + [8550] = 0x74F3 , + [8551] = 0x74F5 , + [8552] = 0x74F8 , + [8553] = 0x74F9 , + [8554] = 0x74FA , + [8555] = 0x74FB , + [8556] = 0x74FC , + [8557] = 0x74FD , + [8558] = 0x74FE , + [8559] = 0x7500 , + [8560] = 0x7501 , + [8561] = 0x7502 , + [8562] = 0x7503 , + [8563] = 0x7505 , + [8564] = 0x7506 , + [8565] = 0x7507 , + [8566] = 0x7508 , + [8567] = 0x7509 , + [8568] = 0x750A , + [8569] = 0x750B , + [8570] = 0x750C , + [8571] = 0x750E , + [8572] = 0x7510 , + [8573] = 0x7512 , + [8574] = 0x7514 , + [8575] = 0x7515 , + [8576] = 0x7516 , + [8577] = 0x7517 , + [8578] = 0x751B , + [8579] = 0x751D , + [8580] = 0x751E , + [8581] = 0x7520 , + [8582] = 0x7521 , + [8583] = 0x7522 , + [8584] = 0x7523 , + [8585] = 0x7524 , + [8586] = 0x7526 , + [8587] = 0x7527 , + [8588] = 0x752A , + [8589] = 0x752E , + [8590] = 0x7534 , + [8591] = 0x7536 , + [8592] = 0x7539 , + [8593] = 0x753C , + [8594] = 0x753D , + [8595] = 0x753F , + [8596] = 0x7541 , + [8597] = 0x7542 , + [8598] = 0x7543 , + [8599] = 0x7544 , + [8600] = 0x7546 , + [8601] = 0x7547 , + [8602] = 0x7549 , + [8603] = 0x754A , + [8604] = 0x754D , + [8605] = 0x7550 , + [8606] = 0x7551 , + [8607] = 0x7552 , + [8608] = 0x7553 , + [8609] = 0x7555 , + [8610] = 0x7556 , + [8611] = 0x7557 , + [8612] = 0x7558 , + [8613] = 0x755D , + [8614] = 0x755E , + [8615] = 0x755F , + [8616] = 0x7560 , + [8617] = 0x7561 , + [8618] = 0x7562 , + [8619] = 0x7563 , + [8620] = 0x7564 , + [8621] = 0x7567 , + [8622] = 0x7568 , + [8623] = 0x7569 , + [8624] = 0x756B , + [8625] = 0x756C , + [8626] = 0x756D , + [8627] = 0x756E , + [8628] = 0x756F , + [8629] = 0x7570 , + [8630] = 0x7571 , + [8631] = 0x7573 , + [8632] = 0x7575 , + [8633] = 0x7576 , + [8634] = 0x7577 , + [8635] = 0x757A , + [8636] = 0x757B , + [8637] = 0x757C , + [8638] = 0x757D , + [8639] = 0x757E , + [8640] = 0x7580 , + [8641] = 0x7581 , + [8642] = 0x7582 , + [8643] = 0x7584 , + [8644] = 0x7585 , + [8645] = 0x7587 , + [8646] = 0xE178 , + [8647] = 0xE179 , + [8648] = 0xE17A , + [8649] = 0xE17B , + [8650] = 0xE17C , + [8651] = 0xE17D , + [8652] = 0xE17E , + [8653] = 0xE17F , + [8654] = 0xE180 , + [8655] = 0xE181 , + [8656] = 0xE182 , + [8657] = 0xE183 , + [8658] = 0xE184 , + [8659] = 0xE185 , + [8660] = 0xE186 , + [8661] = 0xE187 , + [8662] = 0xE188 , + [8663] = 0xE189 , + [8664] = 0xE18A , + [8665] = 0xE18B , + [8666] = 0xE18C , + [8667] = 0xE18D , + [8668] = 0xE18E , + [8669] = 0xE18F , + [8670] = 0xE190 , + [8671] = 0xE191 , + [8672] = 0xE192 , + [8673] = 0xE193 , + [8674] = 0xE194 , + [8675] = 0xE195 , + [8676] = 0xE196 , + [8677] = 0xE197 , + [8678] = 0xE198 , + [8679] = 0xE199 , + [8680] = 0xE19A , + [8681] = 0xE19B , + [8682] = 0xE19C , + [8683] = 0xE19D , + [8684] = 0xE19E , + [8685] = 0xE19F , + [8686] = 0xE1A0 , + [8687] = 0xE1A1 , + [8688] = 0xE1A2 , + [8689] = 0xE1A3 , + [8690] = 0xE1A4 , + [8691] = 0xE1A5 , + [8692] = 0xE1A6 , + [8693] = 0xE1A7 , + [8694] = 0xE1A8 , + [8695] = 0xE1A9 , + [8696] = 0xE1AA , + [8697] = 0xE1AB , + [8698] = 0xE1AC , + [8699] = 0xE1AD , + [8700] = 0xE1AE , + [8701] = 0xE1AF , + [8702] = 0xE1B0 , + [8703] = 0xE1B1 , + [8704] = 0xE1B2 , + [8705] = 0xE1B3 , + [8706] = 0xE1B4 , + [8707] = 0xE1B5 , + [8708] = 0xE1B6 , + [8709] = 0xE1B7 , + [8710] = 0xE1B8 , + [8711] = 0xE1B9 , + [8712] = 0xE1BA , + [8713] = 0xE1BB , + [8714] = 0xE1BC , + [8715] = 0xE1BD , + [8716] = 0xE1BE , + [8717] = 0xE1BF , + [8718] = 0xE1C0 , + [8719] = 0xE1C1 , + [8720] = 0xE1C2 , + [8721] = 0xE1C3 , + [8722] = 0xE1C4 , + [8723] = 0xE1C5 , + [8724] = 0xE1C6 , + [8725] = 0xE1C7 , + [8726] = 0xE1C8 , + [8727] = 0xE1C9 , + [8728] = 0xE1CA , + [8729] = 0xE1CB , + [8730] = 0xE1CC , + [8731] = 0xE1CD , + [8732] = 0xE1CE , + [8733] = 0xE1CF , + [8734] = 0xE1D0 , + [8735] = 0xE1D1 , + [8736] = 0xE1D2 , + [8737] = 0xE1D3 , + [8738] = 0xE1D4 , + [8739] = 0xE1D5 , + [8740] = 0x7588 , + [8741] = 0x7589 , + [8742] = 0x758A , + [8743] = 0x758C , + [8744] = 0x758D , + [8745] = 0x758E , + [8746] = 0x7590 , + [8747] = 0x7593 , + [8748] = 0x7595 , + [8749] = 0x7598 , + [8750] = 0x759B , + [8751] = 0x759C , + [8752] = 0x759E , + [8753] = 0x75A2 , + [8754] = 0x75A6 , + [8755] = 0x75A7 , + [8756] = 0x75A8 , + [8757] = 0x75A9 , + [8758] = 0x75AA , + [8759] = 0x75AD , + [8760] = 0x75B6 , + [8761] = 0x75B7 , + [8762] = 0x75BA , + [8763] = 0x75BB , + [8764] = 0x75BF , + [8765] = 0x75C0 , + [8766] = 0x75C1 , + [8767] = 0x75C6 , + [8768] = 0x75CB , + [8769] = 0x75CC , + [8770] = 0x75CE , + [8771] = 0x75CF , + [8772] = 0x75D0 , + [8773] = 0x75D1 , + [8774] = 0x75D3 , + [8775] = 0x75D7 , + [8776] = 0x75D9 , + [8777] = 0x75DA , + [8778] = 0x75DC , + [8779] = 0x75DD , + [8780] = 0x75DF , + [8781] = 0x75E0 , + [8782] = 0x75E1 , + [8783] = 0x75E5 , + [8784] = 0x75E9 , + [8785] = 0x75EC , + [8786] = 0x75ED , + [8787] = 0x75EE , + [8788] = 0x75EF , + [8789] = 0x75F2 , + [8790] = 0x75F3 , + [8791] = 0x75F5 , + [8792] = 0x75F6 , + [8793] = 0x75F7 , + [8794] = 0x75F8 , + [8795] = 0x75FA , + [8796] = 0x75FB , + [8797] = 0x75FD , + [8798] = 0x75FE , + [8799] = 0x7602 , + [8800] = 0x7604 , + [8801] = 0x7606 , + [8802] = 0x7607 , + [8803] = 0x7608 , + [8804] = 0x7609 , + [8805] = 0x760B , + [8806] = 0x760D , + [8807] = 0x760E , + [8808] = 0x760F , + [8809] = 0x7611 , + [8810] = 0x7612 , + [8811] = 0x7613 , + [8812] = 0x7614 , + [8813] = 0x7616 , + [8814] = 0x761A , + [8815] = 0x761C , + [8816] = 0x761D , + [8817] = 0x761E , + [8818] = 0x7621 , + [8819] = 0x7623 , + [8820] = 0x7627 , + [8821] = 0x7628 , + [8822] = 0x762C , + [8823] = 0x762E , + [8824] = 0x762F , + [8825] = 0x7631 , + [8826] = 0x7632 , + [8827] = 0x7636 , + [8828] = 0x7637 , + [8829] = 0x7639 , + [8830] = 0x763A , + [8831] = 0x763B , + [8832] = 0x763D , + [8833] = 0x7641 , + [8834] = 0x7642 , + [8835] = 0x7644 , + [8836] = 0xE1D6 , + [8837] = 0xE1D7 , + [8838] = 0xE1D8 , + [8839] = 0xE1D9 , + [8840] = 0xE1DA , + [8841] = 0xE1DB , + [8842] = 0xE1DC , + [8843] = 0xE1DD , + [8844] = 0xE1DE , + [8845] = 0xE1DF , + [8846] = 0xE1E0 , + [8847] = 0xE1E1 , + [8848] = 0xE1E2 , + [8849] = 0xE1E3 , + [8850] = 0xE1E4 , + [8851] = 0xE1E5 , + [8852] = 0xE1E6 , + [8853] = 0xE1E7 , + [8854] = 0xE1E8 , + [8855] = 0xE1E9 , + [8856] = 0xE1EA , + [8857] = 0xE1EB , + [8858] = 0xE1EC , + [8859] = 0xE1ED , + [8860] = 0xE1EE , + [8861] = 0xE1EF , + [8862] = 0xE1F0 , + [8863] = 0xE1F1 , + [8864] = 0xE1F2 , + [8865] = 0xE1F3 , + [8866] = 0xE1F4 , + [8867] = 0xE1F5 , + [8868] = 0xE1F6 , + [8869] = 0xE1F7 , + [8870] = 0xE1F8 , + [8871] = 0xE1F9 , + [8872] = 0xE1FA , + [8873] = 0xE1FB , + [8874] = 0xE1FC , + [8875] = 0xE1FD , + [8876] = 0xE1FE , + [8877] = 0xE1FF , + [8878] = 0xE200 , + [8879] = 0xE201 , + [8880] = 0xE202 , + [8881] = 0xE203 , + [8882] = 0xE204 , + [8883] = 0xE205 , + [8884] = 0xE206 , + [8885] = 0xE207 , + [8886] = 0xE208 , + [8887] = 0xE209 , + [8888] = 0xE20A , + [8889] = 0xE20B , + [8890] = 0xE20C , + [8891] = 0xE20D , + [8892] = 0xE20E , + [8893] = 0xE20F , + [8894] = 0xE210 , + [8895] = 0xE211 , + [8896] = 0xE212 , + [8897] = 0xE213 , + [8898] = 0xE214 , + [8899] = 0xE215 , + [8900] = 0xE216 , + [8901] = 0xE217 , + [8902] = 0xE218 , + [8903] = 0xE219 , + [8904] = 0xE21A , + [8905] = 0xE21B , + [8906] = 0xE21C , + [8907] = 0xE21D , + [8908] = 0xE21E , + [8909] = 0xE21F , + [8910] = 0xE220 , + [8911] = 0xE221 , + [8912] = 0xE222 , + [8913] = 0xE223 , + [8914] = 0xE224 , + [8915] = 0xE225 , + [8916] = 0xE226 , + [8917] = 0xE227 , + [8918] = 0xE228 , + [8919] = 0xE229 , + [8920] = 0xE22A , + [8921] = 0xE22B , + [8922] = 0xE22C , + [8923] = 0xE22D , + [8924] = 0xE22E , + [8925] = 0xE22F , + [8926] = 0xE230 , + [8927] = 0xE231 , + [8928] = 0xE232 , + [8929] = 0xE233 , + [8930] = 0x7645 , + [8931] = 0x7646 , + [8932] = 0x7647 , + [8933] = 0x7648 , + [8934] = 0x7649 , + [8935] = 0x764A , + [8936] = 0x764B , + [8937] = 0x764E , + [8938] = 0x764F , + [8939] = 0x7650 , + [8940] = 0x7651 , + [8941] = 0x7652 , + [8942] = 0x7653 , + [8943] = 0x7655 , + [8944] = 0x7657 , + [8945] = 0x7658 , + [8946] = 0x7659 , + [8947] = 0x765A , + [8948] = 0x765B , + [8949] = 0x765D , + [8950] = 0x765F , + [8951] = 0x7660 , + [8952] = 0x7661 , + [8953] = 0x7662 , + [8954] = 0x7664 , + [8955] = 0x7665 , + [8956] = 0x7666 , + [8957] = 0x7667 , + [8958] = 0x7668 , + [8959] = 0x7669 , + [8960] = 0x766A , + [8961] = 0x766C , + [8962] = 0x766D , + [8963] = 0x766E , + [8964] = 0x7670 , + [8965] = 0x7671 , + [8966] = 0x7672 , + [8967] = 0x7673 , + [8968] = 0x7674 , + [8969] = 0x7675 , + [8970] = 0x7676 , + [8971] = 0x7677 , + [8972] = 0x7679 , + [8973] = 0x767A , + [8974] = 0x767C , + [8975] = 0x767F , + [8976] = 0x7680 , + [8977] = 0x7681 , + [8978] = 0x7683 , + [8979] = 0x7685 , + [8980] = 0x7689 , + [8981] = 0x768A , + [8982] = 0x768C , + [8983] = 0x768D , + [8984] = 0x768F , + [8985] = 0x7690 , + [8986] = 0x7692 , + [8987] = 0x7694 , + [8988] = 0x7695 , + [8989] = 0x7697 , + [8990] = 0x7698 , + [8991] = 0x769A , + [8992] = 0x769B , + [8993] = 0x769C , + [8994] = 0x769D , + [8995] = 0x769E , + [8996] = 0x769F , + [8997] = 0x76A0 , + [8998] = 0x76A1 , + [8999] = 0x76A2 , + [9000] = 0x76A3 , + [9001] = 0x76A5 , + [9002] = 0x76A6 , + [9003] = 0x76A7 , + [9004] = 0x76A8 , + [9005] = 0x76A9 , + [9006] = 0x76AA , + [9007] = 0x76AB , + [9008] = 0x76AC , + [9009] = 0x76AD , + [9010] = 0x76AF , + [9011] = 0x76B0 , + [9012] = 0x76B3 , + [9013] = 0x76B5 , + [9014] = 0x76B6 , + [9015] = 0x76B7 , + [9016] = 0x76B8 , + [9017] = 0x76B9 , + [9018] = 0x76BA , + [9019] = 0x76BB , + [9020] = 0x76BC , + [9021] = 0x76BD , + [9022] = 0x76BE , + [9023] = 0x76C0 , + [9024] = 0x76C1 , + [9025] = 0x76C3 , + [9026] = 0x554A , + [9027] = 0x963F , + [9028] = 0x57C3 , + [9029] = 0x6328 , + [9030] = 0x54CE , + [9031] = 0x5509 , + [9032] = 0x54C0 , + [9033] = 0x7691 , + [9034] = 0x764C , + [9035] = 0x853C , + [9036] = 0x77EE , + [9037] = 0x827E , + [9038] = 0x788D , + [9039] = 0x7231 , + [9040] = 0x9698 , + [9041] = 0x978D , + [9042] = 0x6C28 , + [9043] = 0x5B89 , + [9044] = 0x4FFA , + [9045] = 0x6309 , + [9046] = 0x6697 , + [9047] = 0x5CB8 , + [9048] = 0x80FA , + [9049] = 0x6848 , + [9050] = 0x80AE , + [9051] = 0x6602 , + [9052] = 0x76CE , + [9053] = 0x51F9 , + [9054] = 0x6556 , + [9055] = 0x71AC , + [9056] = 0x7FF1 , + [9057] = 0x8884 , + [9058] = 0x50B2 , + [9059] = 0x5965 , + [9060] = 0x61CA , + [9061] = 0x6FB3 , + [9062] = 0x82AD , + [9063] = 0x634C , + [9064] = 0x6252 , + [9065] = 0x53ED , + [9066] = 0x5427 , + [9067] = 0x7B06 , + [9068] = 0x516B , + [9069] = 0x75A4 , + [9070] = 0x5DF4 , + [9071] = 0x62D4 , + [9072] = 0x8DCB , + [9073] = 0x9776 , + [9074] = 0x628A , + [9075] = 0x8019 , + [9076] = 0x575D , + [9077] = 0x9738 , + [9078] = 0x7F62 , + [9079] = 0x7238 , + [9080] = 0x767D , + [9081] = 0x67CF , + [9082] = 0x767E , + [9083] = 0x6446 , + [9084] = 0x4F70 , + [9085] = 0x8D25 , + [9086] = 0x62DC , + [9087] = 0x7A17 , + [9088] = 0x6591 , + [9089] = 0x73ED , + [9090] = 0x642C , + [9091] = 0x6273 , + [9092] = 0x822C , + [9093] = 0x9881 , + [9094] = 0x677F , + [9095] = 0x7248 , + [9096] = 0x626E , + [9097] = 0x62CC , + [9098] = 0x4F34 , + [9099] = 0x74E3 , + [9100] = 0x534A , + [9101] = 0x529E , + [9102] = 0x7ECA , + [9103] = 0x90A6 , + [9104] = 0x5E2E , + [9105] = 0x6886 , + [9106] = 0x699C , + [9107] = 0x8180 , + [9108] = 0x7ED1 , + [9109] = 0x68D2 , + [9110] = 0x78C5 , + [9111] = 0x868C , + [9112] = 0x9551 , + [9113] = 0x508D , + [9114] = 0x8C24 , + [9115] = 0x82DE , + [9116] = 0x80DE , + [9117] = 0x5305 , + [9118] = 0x8912 , + [9119] = 0x5265 , + [9120] = 0x76C4 , + [9121] = 0x76C7 , + [9122] = 0x76C9 , + [9123] = 0x76CB , + [9124] = 0x76CC , + [9125] = 0x76D3 , + [9126] = 0x76D5 , + [9127] = 0x76D9 , + [9128] = 0x76DA , + [9129] = 0x76DC , + [9130] = 0x76DD , + [9131] = 0x76DE , + [9132] = 0x76E0 , + [9133] = 0x76E1 , + [9134] = 0x76E2 , + [9135] = 0x76E3 , + [9136] = 0x76E4 , + [9137] = 0x76E6 , + [9138] = 0x76E7 , + [9139] = 0x76E8 , + [9140] = 0x76E9 , + [9141] = 0x76EA , + [9142] = 0x76EB , + [9143] = 0x76EC , + [9144] = 0x76ED , + [9145] = 0x76F0 , + [9146] = 0x76F3 , + [9147] = 0x76F5 , + [9148] = 0x76F6 , + [9149] = 0x76F7 , + [9150] = 0x76FA , + [9151] = 0x76FB , + [9152] = 0x76FD , + [9153] = 0x76FF , + [9154] = 0x7700 , + [9155] = 0x7702 , + [9156] = 0x7703 , + [9157] = 0x7705 , + [9158] = 0x7706 , + [9159] = 0x770A , + [9160] = 0x770C , + [9161] = 0x770E , + [9162] = 0x770F , + [9163] = 0x7710 , + [9164] = 0x7711 , + [9165] = 0x7712 , + [9166] = 0x7713 , + [9167] = 0x7714 , + [9168] = 0x7715 , + [9169] = 0x7716 , + [9170] = 0x7717 , + [9171] = 0x7718 , + [9172] = 0x771B , + [9173] = 0x771C , + [9174] = 0x771D , + [9175] = 0x771E , + [9176] = 0x7721 , + [9177] = 0x7723 , + [9178] = 0x7724 , + [9179] = 0x7725 , + [9180] = 0x7727 , + [9181] = 0x772A , + [9182] = 0x772B , + [9183] = 0x772C , + [9184] = 0x772E , + [9185] = 0x7730 , + [9186] = 0x7731 , + [9187] = 0x7732 , + [9188] = 0x7733 , + [9189] = 0x7734 , + [9190] = 0x7739 , + [9191] = 0x773B , + [9192] = 0x773D , + [9193] = 0x773E , + [9194] = 0x773F , + [9195] = 0x7742 , + [9196] = 0x7744 , + [9197] = 0x7745 , + [9198] = 0x7746 , + [9199] = 0x7748 , + [9200] = 0x7749 , + [9201] = 0x774A , + [9202] = 0x774B , + [9203] = 0x774C , + [9204] = 0x774D , + [9205] = 0x774E , + [9206] = 0x774F , + [9207] = 0x7752 , + [9208] = 0x7753 , + [9209] = 0x7754 , + [9210] = 0x7755 , + [9211] = 0x7756 , + [9212] = 0x7757 , + [9213] = 0x7758 , + [9214] = 0x7759 , + [9215] = 0x775C , + [9216] = 0x8584 , + [9217] = 0x96F9 , + [9218] = 0x4FDD , + [9219] = 0x5821 , + [9220] = 0x9971 , + [9221] = 0x5B9D , + [9222] = 0x62B1 , + [9223] = 0x62A5 , + [9224] = 0x66B4 , + [9225] = 0x8C79 , + [9226] = 0x9C8D , + [9227] = 0x7206 , + [9228] = 0x676F , + [9229] = 0x7891 , + [9230] = 0x60B2 , + [9231] = 0x5351 , + [9232] = 0x5317 , + [9233] = 0x8F88 , + [9234] = 0x80CC , + [9235] = 0x8D1D , + [9236] = 0x94A1 , + [9237] = 0x500D , + [9238] = 0x72C8 , + [9239] = 0x5907 , + [9240] = 0x60EB , + [9241] = 0x7119 , + [9242] = 0x88AB , + [9243] = 0x5954 , + [9244] = 0x82EF , + [9245] = 0x672C , + [9246] = 0x7B28 , + [9247] = 0x5D29 , + [9248] = 0x7EF7 , + [9249] = 0x752D , + [9250] = 0x6CF5 , + [9251] = 0x8E66 , + [9252] = 0x8FF8 , + [9253] = 0x903C , + [9254] = 0x9F3B , + [9255] = 0x6BD4 , + [9256] = 0x9119 , + [9257] = 0x7B14 , + [9258] = 0x5F7C , + [9259] = 0x78A7 , + [9260] = 0x84D6 , + [9261] = 0x853D , + [9262] = 0x6BD5 , + [9263] = 0x6BD9 , + [9264] = 0x6BD6 , + [9265] = 0x5E01 , + [9266] = 0x5E87 , + [9267] = 0x75F9 , + [9268] = 0x95ED , + [9269] = 0x655D , + [9270] = 0x5F0A , + [9271] = 0x5FC5 , + [9272] = 0x8F9F , + [9273] = 0x58C1 , + [9274] = 0x81C2 , + [9275] = 0x907F , + [9276] = 0x965B , + [9277] = 0x97AD , + [9278] = 0x8FB9 , + [9279] = 0x7F16 , + [9280] = 0x8D2C , + [9281] = 0x6241 , + [9282] = 0x4FBF , + [9283] = 0x53D8 , + [9284] = 0x535E , + [9285] = 0x8FA8 , + [9286] = 0x8FA9 , + [9287] = 0x8FAB , + [9288] = 0x904D , + [9289] = 0x6807 , + [9290] = 0x5F6A , + [9291] = 0x8198 , + [9292] = 0x8868 , + [9293] = 0x9CD6 , + [9294] = 0x618B , + [9295] = 0x522B , + [9296] = 0x762A , + [9297] = 0x5F6C , + [9298] = 0x658C , + [9299] = 0x6FD2 , + [9300] = 0x6EE8 , + [9301] = 0x5BBE , + [9302] = 0x6448 , + [9303] = 0x5175 , + [9304] = 0x51B0 , + [9305] = 0x67C4 , + [9306] = 0x4E19 , + [9307] = 0x79C9 , + [9308] = 0x997C , + [9309] = 0x70B3 , + [9310] = 0x775D , + [9311] = 0x775E , + [9312] = 0x775F , + [9313] = 0x7760 , + [9314] = 0x7764 , + [9315] = 0x7767 , + [9316] = 0x7769 , + [9317] = 0x776A , + [9318] = 0x776D , + [9319] = 0x776E , + [9320] = 0x776F , + [9321] = 0x7770 , + [9322] = 0x7771 , + [9323] = 0x7772 , + [9324] = 0x7773 , + [9325] = 0x7774 , + [9326] = 0x7775 , + [9327] = 0x7776 , + [9328] = 0x7777 , + [9329] = 0x7778 , + [9330] = 0x777A , + [9331] = 0x777B , + [9332] = 0x777C , + [9333] = 0x7781 , + [9334] = 0x7782 , + [9335] = 0x7783 , + [9336] = 0x7786 , + [9337] = 0x7787 , + [9338] = 0x7788 , + [9339] = 0x7789 , + [9340] = 0x778A , + [9341] = 0x778B , + [9342] = 0x778F , + [9343] = 0x7790 , + [9344] = 0x7793 , + [9345] = 0x7794 , + [9346] = 0x7795 , + [9347] = 0x7796 , + [9348] = 0x7797 , + [9349] = 0x7798 , + [9350] = 0x7799 , + [9351] = 0x779A , + [9352] = 0x779B , + [9353] = 0x779C , + [9354] = 0x779D , + [9355] = 0x779E , + [9356] = 0x77A1 , + [9357] = 0x77A3 , + [9358] = 0x77A4 , + [9359] = 0x77A6 , + [9360] = 0x77A8 , + [9361] = 0x77AB , + [9362] = 0x77AD , + [9363] = 0x77AE , + [9364] = 0x77AF , + [9365] = 0x77B1 , + [9366] = 0x77B2 , + [9367] = 0x77B4 , + [9368] = 0x77B6 , + [9369] = 0x77B7 , + [9370] = 0x77B8 , + [9371] = 0x77B9 , + [9372] = 0x77BA , + [9373] = 0x77BC , + [9374] = 0x77BE , + [9375] = 0x77C0 , + [9376] = 0x77C1 , + [9377] = 0x77C2 , + [9378] = 0x77C3 , + [9379] = 0x77C4 , + [9380] = 0x77C5 , + [9381] = 0x77C6 , + [9382] = 0x77C7 , + [9383] = 0x77C8 , + [9384] = 0x77C9 , + [9385] = 0x77CA , + [9386] = 0x77CB , + [9387] = 0x77CC , + [9388] = 0x77CE , + [9389] = 0x77CF , + [9390] = 0x77D0 , + [9391] = 0x77D1 , + [9392] = 0x77D2 , + [9393] = 0x77D3 , + [9394] = 0x77D4 , + [9395] = 0x77D5 , + [9396] = 0x77D6 , + [9397] = 0x77D8 , + [9398] = 0x77D9 , + [9399] = 0x77DA , + [9400] = 0x77DD , + [9401] = 0x77DE , + [9402] = 0x77DF , + [9403] = 0x77E0 , + [9404] = 0x77E1 , + [9405] = 0x77E4 , + [9406] = 0x75C5 , + [9407] = 0x5E76 , + [9408] = 0x73BB , + [9409] = 0x83E0 , + [9410] = 0x64AD , + [9411] = 0x62E8 , + [9412] = 0x94B5 , + [9413] = 0x6CE2 , + [9414] = 0x535A , + [9415] = 0x52C3 , + [9416] = 0x640F , + [9417] = 0x94C2 , + [9418] = 0x7B94 , + [9419] = 0x4F2F , + [9420] = 0x5E1B , + [9421] = 0x8236 , + [9422] = 0x8116 , + [9423] = 0x818A , + [9424] = 0x6E24 , + [9425] = 0x6CCA , + [9426] = 0x9A73 , + [9427] = 0x6355 , + [9428] = 0x535C , + [9429] = 0x54FA , + [9430] = 0x8865 , + [9431] = 0x57E0 , + [9432] = 0x4E0D , + [9433] = 0x5E03 , + [9434] = 0x6B65 , + [9435] = 0x7C3F , + [9436] = 0x90E8 , + [9437] = 0x6016 , + [9438] = 0x64E6 , + [9439] = 0x731C , + [9440] = 0x88C1 , + [9441] = 0x6750 , + [9442] = 0x624D , + [9443] = 0x8D22 , + [9444] = 0x776C , + [9445] = 0x8E29 , + [9446] = 0x91C7 , + [9447] = 0x5F69 , + [9448] = 0x83DC , + [9449] = 0x8521 , + [9450] = 0x9910 , + [9451] = 0x53C2 , + [9452] = 0x8695 , + [9453] = 0x6B8B , + [9454] = 0x60ED , + [9455] = 0x60E8 , + [9456] = 0x707F , + [9457] = 0x82CD , + [9458] = 0x8231 , + [9459] = 0x4ED3 , + [9460] = 0x6CA7 , + [9461] = 0x85CF , + [9462] = 0x64CD , + [9463] = 0x7CD9 , + [9464] = 0x69FD , + [9465] = 0x66F9 , + [9466] = 0x8349 , + [9467] = 0x5395 , + [9468] = 0x7B56 , + [9469] = 0x4FA7 , + [9470] = 0x518C , + [9471] = 0x6D4B , + [9472] = 0x5C42 , + [9473] = 0x8E6D , + [9474] = 0x63D2 , + [9475] = 0x53C9 , + [9476] = 0x832C , + [9477] = 0x8336 , + [9478] = 0x67E5 , + [9479] = 0x78B4 , + [9480] = 0x643D , + [9481] = 0x5BDF , + [9482] = 0x5C94 , + [9483] = 0x5DEE , + [9484] = 0x8BE7 , + [9485] = 0x62C6 , + [9486] = 0x67F4 , + [9487] = 0x8C7A , + [9488] = 0x6400 , + [9489] = 0x63BA , + [9490] = 0x8749 , + [9491] = 0x998B , + [9492] = 0x8C17 , + [9493] = 0x7F20 , + [9494] = 0x94F2 , + [9495] = 0x4EA7 , + [9496] = 0x9610 , + [9497] = 0x98A4 , + [9498] = 0x660C , + [9499] = 0x7316 , + [9500] = 0x77E6 , + [9501] = 0x77E8 , + [9502] = 0x77EA , + [9503] = 0x77EF , + [9504] = 0x77F0 , + [9505] = 0x77F1 , + [9506] = 0x77F2 , + [9507] = 0x77F4 , + [9508] = 0x77F5 , + [9509] = 0x77F7 , + [9510] = 0x77F9 , + [9511] = 0x77FA , + [9512] = 0x77FB , + [9513] = 0x77FC , + [9514] = 0x7803 , + [9515] = 0x7804 , + [9516] = 0x7805 , + [9517] = 0x7806 , + [9518] = 0x7807 , + [9519] = 0x7808 , + [9520] = 0x780A , + [9521] = 0x780B , + [9522] = 0x780E , + [9523] = 0x780F , + [9524] = 0x7810 , + [9525] = 0x7813 , + [9526] = 0x7815 , + [9527] = 0x7819 , + [9528] = 0x781B , + [9529] = 0x781E , + [9530] = 0x7820 , + [9531] = 0x7821 , + [9532] = 0x7822 , + [9533] = 0x7824 , + [9534] = 0x7828 , + [9535] = 0x782A , + [9536] = 0x782B , + [9537] = 0x782E , + [9538] = 0x782F , + [9539] = 0x7831 , + [9540] = 0x7832 , + [9541] = 0x7833 , + [9542] = 0x7835 , + [9543] = 0x7836 , + [9544] = 0x783D , + [9545] = 0x783F , + [9546] = 0x7841 , + [9547] = 0x7842 , + [9548] = 0x7843 , + [9549] = 0x7844 , + [9550] = 0x7846 , + [9551] = 0x7848 , + [9552] = 0x7849 , + [9553] = 0x784A , + [9554] = 0x784B , + [9555] = 0x784D , + [9556] = 0x784F , + [9557] = 0x7851 , + [9558] = 0x7853 , + [9559] = 0x7854 , + [9560] = 0x7858 , + [9561] = 0x7859 , + [9562] = 0x785A , + [9563] = 0x785B , + [9564] = 0x785C , + [9565] = 0x785E , + [9566] = 0x785F , + [9567] = 0x7860 , + [9568] = 0x7861 , + [9569] = 0x7862 , + [9570] = 0x7863 , + [9571] = 0x7864 , + [9572] = 0x7865 , + [9573] = 0x7866 , + [9574] = 0x7867 , + [9575] = 0x7868 , + [9576] = 0x7869 , + [9577] = 0x786F , + [9578] = 0x7870 , + [9579] = 0x7871 , + [9580] = 0x7872 , + [9581] = 0x7873 , + [9582] = 0x7874 , + [9583] = 0x7875 , + [9584] = 0x7876 , + [9585] = 0x7878 , + [9586] = 0x7879 , + [9587] = 0x787A , + [9588] = 0x787B , + [9589] = 0x787D , + [9590] = 0x787E , + [9591] = 0x787F , + [9592] = 0x7880 , + [9593] = 0x7881 , + [9594] = 0x7882 , + [9595] = 0x7883 , + [9596] = 0x573A , + [9597] = 0x5C1D , + [9598] = 0x5E38 , + [9599] = 0x957F , + [9600] = 0x507F , + [9601] = 0x80A0 , + [9602] = 0x5382 , + [9603] = 0x655E , + [9604] = 0x7545 , + [9605] = 0x5531 , + [9606] = 0x5021 , + [9607] = 0x8D85 , + [9608] = 0x6284 , + [9609] = 0x949E , + [9610] = 0x671D , + [9611] = 0x5632 , + [9612] = 0x6F6E , + [9613] = 0x5DE2 , + [9614] = 0x5435 , + [9615] = 0x7092 , + [9616] = 0x8F66 , + [9617] = 0x626F , + [9618] = 0x64A4 , + [9619] = 0x63A3 , + [9620] = 0x5F7B , + [9621] = 0x6F88 , + [9622] = 0x90F4 , + [9623] = 0x81E3 , + [9624] = 0x8FB0 , + [9625] = 0x5C18 , + [9626] = 0x6668 , + [9627] = 0x5FF1 , + [9628] = 0x6C89 , + [9629] = 0x9648 , + [9630] = 0x8D81 , + [9631] = 0x886C , + [9632] = 0x6491 , + [9633] = 0x79F0 , + [9634] = 0x57CE , + [9635] = 0x6A59 , + [9636] = 0x6210 , + [9637] = 0x5448 , + [9638] = 0x4E58 , + [9639] = 0x7A0B , + [9640] = 0x60E9 , + [9641] = 0x6F84 , + [9642] = 0x8BDA , + [9643] = 0x627F , + [9644] = 0x901E , + [9645] = 0x9A8B , + [9646] = 0x79E4 , + [9647] = 0x5403 , + [9648] = 0x75F4 , + [9649] = 0x6301 , + [9650] = 0x5319 , + [9651] = 0x6C60 , + [9652] = 0x8FDF , + [9653] = 0x5F1B , + [9654] = 0x9A70 , + [9655] = 0x803B , + [9656] = 0x9F7F , + [9657] = 0x4F88 , + [9658] = 0x5C3A , + [9659] = 0x8D64 , + [9660] = 0x7FC5 , + [9661] = 0x65A5 , + [9662] = 0x70BD , + [9663] = 0x5145 , + [9664] = 0x51B2 , + [9665] = 0x866B , + [9666] = 0x5D07 , + [9667] = 0x5BA0 , + [9668] = 0x62BD , + [9669] = 0x916C , + [9670] = 0x7574 , + [9671] = 0x8E0C , + [9672] = 0x7A20 , + [9673] = 0x6101 , + [9674] = 0x7B79 , + [9675] = 0x4EC7 , + [9676] = 0x7EF8 , + [9677] = 0x7785 , + [9678] = 0x4E11 , + [9679] = 0x81ED , + [9680] = 0x521D , + [9681] = 0x51FA , + [9682] = 0x6A71 , + [9683] = 0x53A8 , + [9684] = 0x8E87 , + [9685] = 0x9504 , + [9686] = 0x96CF , + [9687] = 0x6EC1 , + [9688] = 0x9664 , + [9689] = 0x695A , + [9690] = 0x7884 , + [9691] = 0x7885 , + [9692] = 0x7886 , + [9693] = 0x7888 , + [9694] = 0x788A , + [9695] = 0x788B , + [9696] = 0x788F , + [9697] = 0x7890 , + [9698] = 0x7892 , + [9699] = 0x7894 , + [9700] = 0x7895 , + [9701] = 0x7896 , + [9702] = 0x7899 , + [9703] = 0x789D , + [9704] = 0x789E , + [9705] = 0x78A0 , + [9706] = 0x78A2 , + [9707] = 0x78A4 , + [9708] = 0x78A6 , + [9709] = 0x78A8 , + [9710] = 0x78A9 , + [9711] = 0x78AA , + [9712] = 0x78AB , + [9713] = 0x78AC , + [9714] = 0x78AD , + [9715] = 0x78AE , + [9716] = 0x78AF , + [9717] = 0x78B5 , + [9718] = 0x78B6 , + [9719] = 0x78B7 , + [9720] = 0x78B8 , + [9721] = 0x78BA , + [9722] = 0x78BB , + [9723] = 0x78BC , + [9724] = 0x78BD , + [9725] = 0x78BF , + [9726] = 0x78C0 , + [9727] = 0x78C2 , + [9728] = 0x78C3 , + [9729] = 0x78C4 , + [9730] = 0x78C6 , + [9731] = 0x78C7 , + [9732] = 0x78C8 , + [9733] = 0x78CC , + [9734] = 0x78CD , + [9735] = 0x78CE , + [9736] = 0x78CF , + [9737] = 0x78D1 , + [9738] = 0x78D2 , + [9739] = 0x78D3 , + [9740] = 0x78D6 , + [9741] = 0x78D7 , + [9742] = 0x78D8 , + [9743] = 0x78DA , + [9744] = 0x78DB , + [9745] = 0x78DC , + [9746] = 0x78DD , + [9747] = 0x78DE , + [9748] = 0x78DF , + [9749] = 0x78E0 , + [9750] = 0x78E1 , + [9751] = 0x78E2 , + [9752] = 0x78E3 , + [9753] = 0x78E4 , + [9754] = 0x78E5 , + [9755] = 0x78E6 , + [9756] = 0x78E7 , + [9757] = 0x78E9 , + [9758] = 0x78EA , + [9759] = 0x78EB , + [9760] = 0x78ED , + [9761] = 0x78EE , + [9762] = 0x78EF , + [9763] = 0x78F0 , + [9764] = 0x78F1 , + [9765] = 0x78F3 , + [9766] = 0x78F5 , + [9767] = 0x78F6 , + [9768] = 0x78F8 , + [9769] = 0x78F9 , + [9770] = 0x78FB , + [9771] = 0x78FC , + [9772] = 0x78FD , + [9773] = 0x78FE , + [9774] = 0x78FF , + [9775] = 0x7900 , + [9776] = 0x7902 , + [9777] = 0x7903 , + [9778] = 0x7904 , + [9779] = 0x7906 , + [9780] = 0x7907 , + [9781] = 0x7908 , + [9782] = 0x7909 , + [9783] = 0x790A , + [9784] = 0x790B , + [9785] = 0x790C , + [9786] = 0x7840 , + [9787] = 0x50A8 , + [9788] = 0x77D7 , + [9789] = 0x6410 , + [9790] = 0x89E6 , + [9791] = 0x5904 , + [9792] = 0x63E3 , + [9793] = 0x5DDD , + [9794] = 0x7A7F , + [9795] = 0x693D , + [9796] = 0x4F20 , + [9797] = 0x8239 , + [9798] = 0x5598 , + [9799] = 0x4E32 , + [9800] = 0x75AE , + [9801] = 0x7A97 , + [9802] = 0x5E62 , + [9803] = 0x5E8A , + [9804] = 0x95EF , + [9805] = 0x521B , + [9806] = 0x5439 , + [9807] = 0x708A , + [9808] = 0x6376 , + [9809] = 0x9524 , + [9810] = 0x5782 , + [9811] = 0x6625 , + [9812] = 0x693F , + [9813] = 0x9187 , + [9814] = 0x5507 , + [9815] = 0x6DF3 , + [9816] = 0x7EAF , + [9817] = 0x8822 , + [9818] = 0x6233 , + [9819] = 0x7EF0 , + [9820] = 0x75B5 , + [9821] = 0x8328 , + [9822] = 0x78C1 , + [9823] = 0x96CC , + [9824] = 0x8F9E , + [9825] = 0x6148 , + [9826] = 0x74F7 , + [9827] = 0x8BCD , + [9828] = 0x6B64 , + [9829] = 0x523A , + [9830] = 0x8D50 , + [9831] = 0x6B21 , + [9832] = 0x806A , + [9833] = 0x8471 , + [9834] = 0x56F1 , + [9835] = 0x5306 , + [9836] = 0x4ECE , + [9837] = 0x4E1B , + [9838] = 0x51D1 , + [9839] = 0x7C97 , + [9840] = 0x918B , + [9841] = 0x7C07 , + [9842] = 0x4FC3 , + [9843] = 0x8E7F , + [9844] = 0x7BE1 , + [9845] = 0x7A9C , + [9846] = 0x6467 , + [9847] = 0x5D14 , + [9848] = 0x50AC , + [9849] = 0x8106 , + [9850] = 0x7601 , + [9851] = 0x7CB9 , + [9852] = 0x6DEC , + [9853] = 0x7FE0 , + [9854] = 0x6751 , + [9855] = 0x5B58 , + [9856] = 0x5BF8 , + [9857] = 0x78CB , + [9858] = 0x64AE , + [9859] = 0x6413 , + [9860] = 0x63AA , + [9861] = 0x632B , + [9862] = 0x9519 , + [9863] = 0x642D , + [9864] = 0x8FBE , + [9865] = 0x7B54 , + [9866] = 0x7629 , + [9867] = 0x6253 , + [9868] = 0x5927 , + [9869] = 0x5446 , + [9870] = 0x6B79 , + [9871] = 0x50A3 , + [9872] = 0x6234 , + [9873] = 0x5E26 , + [9874] = 0x6B86 , + [9875] = 0x4EE3 , + [9876] = 0x8D37 , + [9877] = 0x888B , + [9878] = 0x5F85 , + [9879] = 0x902E , + [9880] = 0x790D , + [9881] = 0x790E , + [9882] = 0x790F , + [9883] = 0x7910 , + [9884] = 0x7911 , + [9885] = 0x7912 , + [9886] = 0x7914 , + [9887] = 0x7915 , + [9888] = 0x7916 , + [9889] = 0x7917 , + [9890] = 0x7918 , + [9891] = 0x7919 , + [9892] = 0x791A , + [9893] = 0x791B , + [9894] = 0x791C , + [9895] = 0x791D , + [9896] = 0x791F , + [9897] = 0x7920 , + [9898] = 0x7921 , + [9899] = 0x7922 , + [9900] = 0x7923 , + [9901] = 0x7925 , + [9902] = 0x7926 , + [9903] = 0x7927 , + [9904] = 0x7928 , + [9905] = 0x7929 , + [9906] = 0x792A , + [9907] = 0x792B , + [9908] = 0x792C , + [9909] = 0x792D , + [9910] = 0x792E , + [9911] = 0x792F , + [9912] = 0x7930 , + [9913] = 0x7931 , + [9914] = 0x7932 , + [9915] = 0x7933 , + [9916] = 0x7935 , + [9917] = 0x7936 , + [9918] = 0x7937 , + [9919] = 0x7938 , + [9920] = 0x7939 , + [9921] = 0x793D , + [9922] = 0x793F , + [9923] = 0x7942 , + [9924] = 0x7943 , + [9925] = 0x7944 , + [9926] = 0x7945 , + [9927] = 0x7947 , + [9928] = 0x794A , + [9929] = 0x794B , + [9930] = 0x794C , + [9931] = 0x794D , + [9932] = 0x794E , + [9933] = 0x794F , + [9934] = 0x7950 , + [9935] = 0x7951 , + [9936] = 0x7952 , + [9937] = 0x7954 , + [9938] = 0x7955 , + [9939] = 0x7958 , + [9940] = 0x7959 , + [9941] = 0x7961 , + [9942] = 0x7963 , + [9943] = 0x7964 , + [9944] = 0x7966 , + [9945] = 0x7969 , + [9946] = 0x796A , + [9947] = 0x796B , + [9948] = 0x796C , + [9949] = 0x796E , + [9950] = 0x7970 , + [9951] = 0x7971 , + [9952] = 0x7972 , + [9953] = 0x7973 , + [9954] = 0x7974 , + [9955] = 0x7975 , + [9956] = 0x7976 , + [9957] = 0x7979 , + [9958] = 0x797B , + [9959] = 0x797C , + [9960] = 0x797D , + [9961] = 0x797E , + [9962] = 0x797F , + [9963] = 0x7982 , + [9964] = 0x7983 , + [9965] = 0x7986 , + [9966] = 0x7987 , + [9967] = 0x7988 , + [9968] = 0x7989 , + [9969] = 0x798B , + [9970] = 0x798C , + [9971] = 0x798D , + [9972] = 0x798E , + [9973] = 0x7990 , + [9974] = 0x7991 , + [9975] = 0x7992 , + [9976] = 0x6020 , + [9977] = 0x803D , + [9978] = 0x62C5 , + [9979] = 0x4E39 , + [9980] = 0x5355 , + [9981] = 0x90F8 , + [9982] = 0x63B8 , + [9983] = 0x80C6 , + [9984] = 0x65E6 , + [9985] = 0x6C2E , + [9986] = 0x4F46 , + [9987] = 0x60EE , + [9988] = 0x6DE1 , + [9989] = 0x8BDE , + [9990] = 0x5F39 , + [9991] = 0x86CB , + [9992] = 0x5F53 , + [9993] = 0x6321 , + [9994] = 0x515A , + [9995] = 0x8361 , + [9996] = 0x6863 , + [9997] = 0x5200 , + [9998] = 0x6363 , + [9999] = 0x8E48 , + [10000] = 0x5012 , + [10001] = 0x5C9B , + [10002] = 0x7977 , + [10003] = 0x5BFC , + [10004] = 0x5230 , + [10005] = 0x7A3B , + [10006] = 0x60BC , + [10007] = 0x9053 , + [10008] = 0x76D7 , + [10009] = 0x5FB7 , + [10010] = 0x5F97 , + [10011] = 0x7684 , + [10012] = 0x8E6C , + [10013] = 0x706F , + [10014] = 0x767B , + [10015] = 0x7B49 , + [10016] = 0x77AA , + [10017] = 0x51F3 , + [10018] = 0x9093 , + [10019] = 0x5824 , + [10020] = 0x4F4E , + [10021] = 0x6EF4 , + [10022] = 0x8FEA , + [10023] = 0x654C , + [10024] = 0x7B1B , + [10025] = 0x72C4 , + [10026] = 0x6DA4 , + [10027] = 0x7FDF , + [10028] = 0x5AE1 , + [10029] = 0x62B5 , + [10030] = 0x5E95 , + [10031] = 0x5730 , + [10032] = 0x8482 , + [10033] = 0x7B2C , + [10034] = 0x5E1D , + [10035] = 0x5F1F , + [10036] = 0x9012 , + [10037] = 0x7F14 , + [10038] = 0x98A0 , + [10039] = 0x6382 , + [10040] = 0x6EC7 , + [10041] = 0x7898 , + [10042] = 0x70B9 , + [10043] = 0x5178 , + [10044] = 0x975B , + [10045] = 0x57AB , + [10046] = 0x7535 , + [10047] = 0x4F43 , + [10048] = 0x7538 , + [10049] = 0x5E97 , + [10050] = 0x60E6 , + [10051] = 0x5960 , + [10052] = 0x6DC0 , + [10053] = 0x6BBF , + [10054] = 0x7889 , + [10055] = 0x53FC , + [10056] = 0x96D5 , + [10057] = 0x51CB , + [10058] = 0x5201 , + [10059] = 0x6389 , + [10060] = 0x540A , + [10061] = 0x9493 , + [10062] = 0x8C03 , + [10063] = 0x8DCC , + [10064] = 0x7239 , + [10065] = 0x789F , + [10066] = 0x8776 , + [10067] = 0x8FED , + [10068] = 0x8C0D , + [10069] = 0x53E0 , + [10070] = 0x7993 , + [10071] = 0x7994 , + [10072] = 0x7995 , + [10073] = 0x7996 , + [10074] = 0x7997 , + [10075] = 0x7998 , + [10076] = 0x7999 , + [10077] = 0x799B , + [10078] = 0x799C , + [10079] = 0x799D , + [10080] = 0x799E , + [10081] = 0x799F , + [10082] = 0x79A0 , + [10083] = 0x79A1 , + [10084] = 0x79A2 , + [10085] = 0x79A3 , + [10086] = 0x79A4 , + [10087] = 0x79A5 , + [10088] = 0x79A6 , + [10089] = 0x79A8 , + [10090] = 0x79A9 , + [10091] = 0x79AA , + [10092] = 0x79AB , + [10093] = 0x79AC , + [10094] = 0x79AD , + [10095] = 0x79AE , + [10096] = 0x79AF , + [10097] = 0x79B0 , + [10098] = 0x79B1 , + [10099] = 0x79B2 , + [10100] = 0x79B4 , + [10101] = 0x79B5 , + [10102] = 0x79B6 , + [10103] = 0x79B7 , + [10104] = 0x79B8 , + [10105] = 0x79BC , + [10106] = 0x79BF , + [10107] = 0x79C2 , + [10108] = 0x79C4 , + [10109] = 0x79C5 , + [10110] = 0x79C7 , + [10111] = 0x79C8 , + [10112] = 0x79CA , + [10113] = 0x79CC , + [10114] = 0x79CE , + [10115] = 0x79CF , + [10116] = 0x79D0 , + [10117] = 0x79D3 , + [10118] = 0x79D4 , + [10119] = 0x79D6 , + [10120] = 0x79D7 , + [10121] = 0x79D9 , + [10122] = 0x79DA , + [10123] = 0x79DB , + [10124] = 0x79DC , + [10125] = 0x79DD , + [10126] = 0x79DE , + [10127] = 0x79E0 , + [10128] = 0x79E1 , + [10129] = 0x79E2 , + [10130] = 0x79E5 , + [10131] = 0x79E8 , + [10132] = 0x79EA , + [10133] = 0x79EC , + [10134] = 0x79EE , + [10135] = 0x79F1 , + [10136] = 0x79F2 , + [10137] = 0x79F3 , + [10138] = 0x79F4 , + [10139] = 0x79F5 , + [10140] = 0x79F6 , + [10141] = 0x79F7 , + [10142] = 0x79F9 , + [10143] = 0x79FA , + [10144] = 0x79FC , + [10145] = 0x79FE , + [10146] = 0x79FF , + [10147] = 0x7A01 , + [10148] = 0x7A04 , + [10149] = 0x7A05 , + [10150] = 0x7A07 , + [10151] = 0x7A08 , + [10152] = 0x7A09 , + [10153] = 0x7A0A , + [10154] = 0x7A0C , + [10155] = 0x7A0F , + [10156] = 0x7A10 , + [10157] = 0x7A11 , + [10158] = 0x7A12 , + [10159] = 0x7A13 , + [10160] = 0x7A15 , + [10161] = 0x7A16 , + [10162] = 0x7A18 , + [10163] = 0x7A19 , + [10164] = 0x7A1B , + [10165] = 0x7A1C , + [10166] = 0x4E01 , + [10167] = 0x76EF , + [10168] = 0x53EE , + [10169] = 0x9489 , + [10170] = 0x9876 , + [10171] = 0x9F0E , + [10172] = 0x952D , + [10173] = 0x5B9A , + [10174] = 0x8BA2 , + [10175] = 0x4E22 , + [10176] = 0x4E1C , + [10177] = 0x51AC , + [10178] = 0x8463 , + [10179] = 0x61C2 , + [10180] = 0x52A8 , + [10181] = 0x680B , + [10182] = 0x4F97 , + [10183] = 0x606B , + [10184] = 0x51BB , + [10185] = 0x6D1E , + [10186] = 0x515C , + [10187] = 0x6296 , + [10188] = 0x6597 , + [10189] = 0x9661 , + [10190] = 0x8C46 , + [10191] = 0x9017 , + [10192] = 0x75D8 , + [10193] = 0x90FD , + [10194] = 0x7763 , + [10195] = 0x6BD2 , + [10196] = 0x728A , + [10197] = 0x72EC , + [10198] = 0x8BFB , + [10199] = 0x5835 , + [10200] = 0x7779 , + [10201] = 0x8D4C , + [10202] = 0x675C , + [10203] = 0x9540 , + [10204] = 0x809A , + [10205] = 0x5EA6 , + [10206] = 0x6E21 , + [10207] = 0x5992 , + [10208] = 0x7AEF , + [10209] = 0x77ED , + [10210] = 0x953B , + [10211] = 0x6BB5 , + [10212] = 0x65AD , + [10213] = 0x7F0E , + [10214] = 0x5806 , + [10215] = 0x5151 , + [10216] = 0x961F , + [10217] = 0x5BF9 , + [10218] = 0x58A9 , + [10219] = 0x5428 , + [10220] = 0x8E72 , + [10221] = 0x6566 , + [10222] = 0x987F , + [10223] = 0x56E4 , + [10224] = 0x949D , + [10225] = 0x76FE , + [10226] = 0x9041 , + [10227] = 0x6387 , + [10228] = 0x54C6 , + [10229] = 0x591A , + [10230] = 0x593A , + [10231] = 0x579B , + [10232] = 0x8EB2 , + [10233] = 0x6735 , + [10234] = 0x8DFA , + [10235] = 0x8235 , + [10236] = 0x5241 , + [10237] = 0x60F0 , + [10238] = 0x5815 , + [10239] = 0x86FE , + [10240] = 0x5CE8 , + [10241] = 0x9E45 , + [10242] = 0x4FC4 , + [10243] = 0x989D , + [10244] = 0x8BB9 , + [10245] = 0x5A25 , + [10246] = 0x6076 , + [10247] = 0x5384 , + [10248] = 0x627C , + [10249] = 0x904F , + [10250] = 0x9102 , + [10251] = 0x997F , + [10252] = 0x6069 , + [10253] = 0x800C , + [10254] = 0x513F , + [10255] = 0x8033 , + [10256] = 0x5C14 , + [10257] = 0x9975 , + [10258] = 0x6D31 , + [10259] = 0x4E8C , + [10260] = 0x7A1D , + [10261] = 0x7A1F , + [10262] = 0x7A21 , + [10263] = 0x7A22 , + [10264] = 0x7A24 , + [10265] = 0x7A25 , + [10266] = 0x7A26 , + [10267] = 0x7A27 , + [10268] = 0x7A28 , + [10269] = 0x7A29 , + [10270] = 0x7A2A , + [10271] = 0x7A2B , + [10272] = 0x7A2C , + [10273] = 0x7A2D , + [10274] = 0x7A2E , + [10275] = 0x7A2F , + [10276] = 0x7A30 , + [10277] = 0x7A31 , + [10278] = 0x7A32 , + [10279] = 0x7A34 , + [10280] = 0x7A35 , + [10281] = 0x7A36 , + [10282] = 0x7A38 , + [10283] = 0x7A3A , + [10284] = 0x7A3E , + [10285] = 0x7A40 , + [10286] = 0x7A41 , + [10287] = 0x7A42 , + [10288] = 0x7A43 , + [10289] = 0x7A44 , + [10290] = 0x7A45 , + [10291] = 0x7A47 , + [10292] = 0x7A48 , + [10293] = 0x7A49 , + [10294] = 0x7A4A , + [10295] = 0x7A4B , + [10296] = 0x7A4C , + [10297] = 0x7A4D , + [10298] = 0x7A4E , + [10299] = 0x7A4F , + [10300] = 0x7A50 , + [10301] = 0x7A52 , + [10302] = 0x7A53 , + [10303] = 0x7A54 , + [10304] = 0x7A55 , + [10305] = 0x7A56 , + [10306] = 0x7A58 , + [10307] = 0x7A59 , + [10308] = 0x7A5A , + [10309] = 0x7A5B , + [10310] = 0x7A5C , + [10311] = 0x7A5D , + [10312] = 0x7A5E , + [10313] = 0x7A5F , + [10314] = 0x7A60 , + [10315] = 0x7A61 , + [10316] = 0x7A62 , + [10317] = 0x7A63 , + [10318] = 0x7A64 , + [10319] = 0x7A65 , + [10320] = 0x7A66 , + [10321] = 0x7A67 , + [10322] = 0x7A68 , + [10323] = 0x7A69 , + [10324] = 0x7A6A , + [10325] = 0x7A6B , + [10326] = 0x7A6C , + [10327] = 0x7A6D , + [10328] = 0x7A6E , + [10329] = 0x7A6F , + [10330] = 0x7A71 , + [10331] = 0x7A72 , + [10332] = 0x7A73 , + [10333] = 0x7A75 , + [10334] = 0x7A7B , + [10335] = 0x7A7C , + [10336] = 0x7A7D , + [10337] = 0x7A7E , + [10338] = 0x7A82 , + [10339] = 0x7A85 , + [10340] = 0x7A87 , + [10341] = 0x7A89 , + [10342] = 0x7A8A , + [10343] = 0x7A8B , + [10344] = 0x7A8C , + [10345] = 0x7A8E , + [10346] = 0x7A8F , + [10347] = 0x7A90 , + [10348] = 0x7A93 , + [10349] = 0x7A94 , + [10350] = 0x7A99 , + [10351] = 0x7A9A , + [10352] = 0x7A9B , + [10353] = 0x7A9E , + [10354] = 0x7AA1 , + [10355] = 0x7AA2 , + [10356] = 0x8D30 , + [10357] = 0x53D1 , + [10358] = 0x7F5A , + [10359] = 0x7B4F , + [10360] = 0x4F10 , + [10361] = 0x4E4F , + [10362] = 0x9600 , + [10363] = 0x6CD5 , + [10364] = 0x73D0 , + [10365] = 0x85E9 , + [10366] = 0x5E06 , + [10367] = 0x756A , + [10368] = 0x7FFB , + [10369] = 0x6A0A , + [10370] = 0x77FE , + [10371] = 0x9492 , + [10372] = 0x7E41 , + [10373] = 0x51E1 , + [10374] = 0x70E6 , + [10375] = 0x53CD , + [10376] = 0x8FD4 , + [10377] = 0x8303 , + [10378] = 0x8D29 , + [10379] = 0x72AF , + [10380] = 0x996D , + [10381] = 0x6CDB , + [10382] = 0x574A , + [10383] = 0x82B3 , + [10384] = 0x65B9 , + [10385] = 0x80AA , + [10386] = 0x623F , + [10387] = 0x9632 , + [10388] = 0x59A8 , + [10389] = 0x4EFF , + [10390] = 0x8BBF , + [10391] = 0x7EBA , + [10392] = 0x653E , + [10393] = 0x83F2 , + [10394] = 0x975E , + [10395] = 0x5561 , + [10396] = 0x98DE , + [10397] = 0x80A5 , + [10398] = 0x532A , + [10399] = 0x8BFD , + [10400] = 0x5420 , + [10401] = 0x80BA , + [10402] = 0x5E9F , + [10403] = 0x6CB8 , + [10404] = 0x8D39 , + [10405] = 0x82AC , + [10406] = 0x915A , + [10407] = 0x5429 , + [10408] = 0x6C1B , + [10409] = 0x5206 , + [10410] = 0x7EB7 , + [10411] = 0x575F , + [10412] = 0x711A , + [10413] = 0x6C7E , + [10414] = 0x7C89 , + [10415] = 0x594B , + [10416] = 0x4EFD , + [10417] = 0x5FFF , + [10418] = 0x6124 , + [10419] = 0x7CAA , + [10420] = 0x4E30 , + [10421] = 0x5C01 , + [10422] = 0x67AB , + [10423] = 0x8702 , + [10424] = 0x5CF0 , + [10425] = 0x950B , + [10426] = 0x98CE , + [10427] = 0x75AF , + [10428] = 0x70FD , + [10429] = 0x9022 , + [10430] = 0x51AF , + [10431] = 0x7F1D , + [10432] = 0x8BBD , + [10433] = 0x5949 , + [10434] = 0x51E4 , + [10435] = 0x4F5B , + [10436] = 0x5426 , + [10437] = 0x592B , + [10438] = 0x6577 , + [10439] = 0x80A4 , + [10440] = 0x5B75 , + [10441] = 0x6276 , + [10442] = 0x62C2 , + [10443] = 0x8F90 , + [10444] = 0x5E45 , + [10445] = 0x6C1F , + [10446] = 0x7B26 , + [10447] = 0x4F0F , + [10448] = 0x4FD8 , + [10449] = 0x670D , + [10450] = 0x7AA3 , + [10451] = 0x7AA4 , + [10452] = 0x7AA7 , + [10453] = 0x7AA9 , + [10454] = 0x7AAA , + [10455] = 0x7AAB , + [10456] = 0x7AAE , + [10457] = 0x7AAF , + [10458] = 0x7AB0 , + [10459] = 0x7AB1 , + [10460] = 0x7AB2 , + [10461] = 0x7AB4 , + [10462] = 0x7AB5 , + [10463] = 0x7AB6 , + [10464] = 0x7AB7 , + [10465] = 0x7AB8 , + [10466] = 0x7AB9 , + [10467] = 0x7ABA , + [10468] = 0x7ABB , + [10469] = 0x7ABC , + [10470] = 0x7ABD , + [10471] = 0x7ABE , + [10472] = 0x7AC0 , + [10473] = 0x7AC1 , + [10474] = 0x7AC2 , + [10475] = 0x7AC3 , + [10476] = 0x7AC4 , + [10477] = 0x7AC5 , + [10478] = 0x7AC6 , + [10479] = 0x7AC7 , + [10480] = 0x7AC8 , + [10481] = 0x7AC9 , + [10482] = 0x7ACA , + [10483] = 0x7ACC , + [10484] = 0x7ACD , + [10485] = 0x7ACE , + [10486] = 0x7ACF , + [10487] = 0x7AD0 , + [10488] = 0x7AD1 , + [10489] = 0x7AD2 , + [10490] = 0x7AD3 , + [10491] = 0x7AD4 , + [10492] = 0x7AD5 , + [10493] = 0x7AD7 , + [10494] = 0x7AD8 , + [10495] = 0x7ADA , + [10496] = 0x7ADB , + [10497] = 0x7ADC , + [10498] = 0x7ADD , + [10499] = 0x7AE1 , + [10500] = 0x7AE2 , + [10501] = 0x7AE4 , + [10502] = 0x7AE7 , + [10503] = 0x7AE8 , + [10504] = 0x7AE9 , + [10505] = 0x7AEA , + [10506] = 0x7AEB , + [10507] = 0x7AEC , + [10508] = 0x7AEE , + [10509] = 0x7AF0 , + [10510] = 0x7AF1 , + [10511] = 0x7AF2 , + [10512] = 0x7AF3 , + [10513] = 0x7AF4 , + [10514] = 0x7AF5 , + [10515] = 0x7AF6 , + [10516] = 0x7AF7 , + [10517] = 0x7AF8 , + [10518] = 0x7AFB , + [10519] = 0x7AFC , + [10520] = 0x7AFE , + [10521] = 0x7B00 , + [10522] = 0x7B01 , + [10523] = 0x7B02 , + [10524] = 0x7B05 , + [10525] = 0x7B07 , + [10526] = 0x7B09 , + [10527] = 0x7B0C , + [10528] = 0x7B0D , + [10529] = 0x7B0E , + [10530] = 0x7B10 , + [10531] = 0x7B12 , + [10532] = 0x7B13 , + [10533] = 0x7B16 , + [10534] = 0x7B17 , + [10535] = 0x7B18 , + [10536] = 0x7B1A , + [10537] = 0x7B1C , + [10538] = 0x7B1D , + [10539] = 0x7B1F , + [10540] = 0x7B21 , + [10541] = 0x7B22 , + [10542] = 0x7B23 , + [10543] = 0x7B27 , + [10544] = 0x7B29 , + [10545] = 0x7B2D , + [10546] = 0x6D6E , + [10547] = 0x6DAA , + [10548] = 0x798F , + [10549] = 0x88B1 , + [10550] = 0x5F17 , + [10551] = 0x752B , + [10552] = 0x629A , + [10553] = 0x8F85 , + [10554] = 0x4FEF , + [10555] = 0x91DC , + [10556] = 0x65A7 , + [10557] = 0x812F , + [10558] = 0x8151 , + [10559] = 0x5E9C , + [10560] = 0x8150 , + [10561] = 0x8D74 , + [10562] = 0x526F , + [10563] = 0x8986 , + [10564] = 0x8D4B , + [10565] = 0x590D , + [10566] = 0x5085 , + [10567] = 0x4ED8 , + [10568] = 0x961C , + [10569] = 0x7236 , + [10570] = 0x8179 , + [10571] = 0x8D1F , + [10572] = 0x5BCC , + [10573] = 0x8BA3 , + [10574] = 0x9644 , + [10575] = 0x5987 , + [10576] = 0x7F1A , + [10577] = 0x5490 , + [10578] = 0x5676 , + [10579] = 0x560E , + [10580] = 0x8BE5 , + [10581] = 0x6539 , + [10582] = 0x6982 , + [10583] = 0x9499 , + [10584] = 0x76D6 , + [10585] = 0x6E89 , + [10586] = 0x5E72 , + [10587] = 0x7518 , + [10588] = 0x6746 , + [10589] = 0x67D1 , + [10590] = 0x7AFF , + [10591] = 0x809D , + [10592] = 0x8D76 , + [10593] = 0x611F , + [10594] = 0x79C6 , + [10595] = 0x6562 , + [10596] = 0x8D63 , + [10597] = 0x5188 , + [10598] = 0x521A , + [10599] = 0x94A2 , + [10600] = 0x7F38 , + [10601] = 0x809B , + [10602] = 0x7EB2 , + [10603] = 0x5C97 , + [10604] = 0x6E2F , + [10605] = 0x6760 , + [10606] = 0x7BD9 , + [10607] = 0x768B , + [10608] = 0x9AD8 , + [10609] = 0x818F , + [10610] = 0x7F94 , + [10611] = 0x7CD5 , + [10612] = 0x641E , + [10613] = 0x9550 , + [10614] = 0x7A3F , + [10615] = 0x544A , + [10616] = 0x54E5 , + [10617] = 0x6B4C , + [10618] = 0x6401 , + [10619] = 0x6208 , + [10620] = 0x9E3D , + [10621] = 0x80F3 , + [10622] = 0x7599 , + [10623] = 0x5272 , + [10624] = 0x9769 , + [10625] = 0x845B , + [10626] = 0x683C , + [10627] = 0x86E4 , + [10628] = 0x9601 , + [10629] = 0x9694 , + [10630] = 0x94EC , + [10631] = 0x4E2A , + [10632] = 0x5404 , + [10633] = 0x7ED9 , + [10634] = 0x6839 , + [10635] = 0x8DDF , + [10636] = 0x8015 , + [10637] = 0x66F4 , + [10638] = 0x5E9A , + [10639] = 0x7FB9 , + [10640] = 0x7B2F , + [10641] = 0x7B30 , + [10642] = 0x7B32 , + [10643] = 0x7B34 , + [10644] = 0x7B35 , + [10645] = 0x7B36 , + [10646] = 0x7B37 , + [10647] = 0x7B39 , + [10648] = 0x7B3B , + [10649] = 0x7B3D , + [10650] = 0x7B3F , + [10651] = 0x7B40 , + [10652] = 0x7B41 , + [10653] = 0x7B42 , + [10654] = 0x7B43 , + [10655] = 0x7B44 , + [10656] = 0x7B46 , + [10657] = 0x7B48 , + [10658] = 0x7B4A , + [10659] = 0x7B4D , + [10660] = 0x7B4E , + [10661] = 0x7B53 , + [10662] = 0x7B55 , + [10663] = 0x7B57 , + [10664] = 0x7B59 , + [10665] = 0x7B5C , + [10666] = 0x7B5E , + [10667] = 0x7B5F , + [10668] = 0x7B61 , + [10669] = 0x7B63 , + [10670] = 0x7B64 , + [10671] = 0x7B65 , + [10672] = 0x7B66 , + [10673] = 0x7B67 , + [10674] = 0x7B68 , + [10675] = 0x7B69 , + [10676] = 0x7B6A , + [10677] = 0x7B6B , + [10678] = 0x7B6C , + [10679] = 0x7B6D , + [10680] = 0x7B6F , + [10681] = 0x7B70 , + [10682] = 0x7B73 , + [10683] = 0x7B74 , + [10684] = 0x7B76 , + [10685] = 0x7B78 , + [10686] = 0x7B7A , + [10687] = 0x7B7C , + [10688] = 0x7B7D , + [10689] = 0x7B7F , + [10690] = 0x7B81 , + [10691] = 0x7B82 , + [10692] = 0x7B83 , + [10693] = 0x7B84 , + [10694] = 0x7B86 , + [10695] = 0x7B87 , + [10696] = 0x7B88 , + [10697] = 0x7B89 , + [10698] = 0x7B8A , + [10699] = 0x7B8B , + [10700] = 0x7B8C , + [10701] = 0x7B8E , + [10702] = 0x7B8F , + [10703] = 0x7B91 , + [10704] = 0x7B92 , + [10705] = 0x7B93 , + [10706] = 0x7B96 , + [10707] = 0x7B98 , + [10708] = 0x7B99 , + [10709] = 0x7B9A , + [10710] = 0x7B9B , + [10711] = 0x7B9E , + [10712] = 0x7B9F , + [10713] = 0x7BA0 , + [10714] = 0x7BA3 , + [10715] = 0x7BA4 , + [10716] = 0x7BA5 , + [10717] = 0x7BAE , + [10718] = 0x7BAF , + [10719] = 0x7BB0 , + [10720] = 0x7BB2 , + [10721] = 0x7BB3 , + [10722] = 0x7BB5 , + [10723] = 0x7BB6 , + [10724] = 0x7BB7 , + [10725] = 0x7BB9 , + [10726] = 0x7BBA , + [10727] = 0x7BBB , + [10728] = 0x7BBC , + [10729] = 0x7BBD , + [10730] = 0x7BBE , + [10731] = 0x7BBF , + [10732] = 0x7BC0 , + [10733] = 0x7BC2 , + [10734] = 0x7BC3 , + [10735] = 0x7BC4 , + [10736] = 0x57C2 , + [10737] = 0x803F , + [10738] = 0x6897 , + [10739] = 0x5DE5 , + [10740] = 0x653B , + [10741] = 0x529F , + [10742] = 0x606D , + [10743] = 0x9F9A , + [10744] = 0x4F9B , + [10745] = 0x8EAC , + [10746] = 0x516C , + [10747] = 0x5BAB , + [10748] = 0x5F13 , + [10749] = 0x5DE9 , + [10750] = 0x6C5E , + [10751] = 0x62F1 , + [10752] = 0x8D21 , + [10753] = 0x5171 , + [10754] = 0x94A9 , + [10755] = 0x52FE , + [10756] = 0x6C9F , + [10757] = 0x82DF , + [10758] = 0x72D7 , + [10759] = 0x57A2 , + [10760] = 0x6784 , + [10761] = 0x8D2D , + [10762] = 0x591F , + [10763] = 0x8F9C , + [10764] = 0x83C7 , + [10765] = 0x5495 , + [10766] = 0x7B8D , + [10767] = 0x4F30 , + [10768] = 0x6CBD , + [10769] = 0x5B64 , + [10770] = 0x59D1 , + [10771] = 0x9F13 , + [10772] = 0x53E4 , + [10773] = 0x86CA , + [10774] = 0x9AA8 , + [10775] = 0x8C37 , + [10776] = 0x80A1 , + [10777] = 0x6545 , + [10778] = 0x987E , + [10779] = 0x56FA , + [10780] = 0x96C7 , + [10781] = 0x522E , + [10782] = 0x74DC , + [10783] = 0x5250 , + [10784] = 0x5BE1 , + [10785] = 0x6302 , + [10786] = 0x8902 , + [10787] = 0x4E56 , + [10788] = 0x62D0 , + [10789] = 0x602A , + [10790] = 0x68FA , + [10791] = 0x5173 , + [10792] = 0x5B98 , + [10793] = 0x51A0 , + [10794] = 0x89C2 , + [10795] = 0x7BA1 , + [10796] = 0x9986 , + [10797] = 0x7F50 , + [10798] = 0x60EF , + [10799] = 0x704C , + [10800] = 0x8D2F , + [10801] = 0x5149 , + [10802] = 0x5E7F , + [10803] = 0x901B , + [10804] = 0x7470 , + [10805] = 0x89C4 , + [10806] = 0x572D , + [10807] = 0x7845 , + [10808] = 0x5F52 , + [10809] = 0x9F9F , + [10810] = 0x95FA , + [10811] = 0x8F68 , + [10812] = 0x9B3C , + [10813] = 0x8BE1 , + [10814] = 0x7678 , + [10815] = 0x6842 , + [10816] = 0x67DC , + [10817] = 0x8DEA , + [10818] = 0x8D35 , + [10819] = 0x523D , + [10820] = 0x8F8A , + [10821] = 0x6EDA , + [10822] = 0x68CD , + [10823] = 0x9505 , + [10824] = 0x90ED , + [10825] = 0x56FD , + [10826] = 0x679C , + [10827] = 0x88F9 , + [10828] = 0x8FC7 , + [10829] = 0x54C8 , + [10830] = 0x7BC5 , + [10831] = 0x7BC8 , + [10832] = 0x7BC9 , + [10833] = 0x7BCA , + [10834] = 0x7BCB , + [10835] = 0x7BCD , + [10836] = 0x7BCE , + [10837] = 0x7BCF , + [10838] = 0x7BD0 , + [10839] = 0x7BD2 , + [10840] = 0x7BD4 , + [10841] = 0x7BD5 , + [10842] = 0x7BD6 , + [10843] = 0x7BD7 , + [10844] = 0x7BD8 , + [10845] = 0x7BDB , + [10846] = 0x7BDC , + [10847] = 0x7BDE , + [10848] = 0x7BDF , + [10849] = 0x7BE0 , + [10850] = 0x7BE2 , + [10851] = 0x7BE3 , + [10852] = 0x7BE4 , + [10853] = 0x7BE7 , + [10854] = 0x7BE8 , + [10855] = 0x7BE9 , + [10856] = 0x7BEB , + [10857] = 0x7BEC , + [10858] = 0x7BED , + [10859] = 0x7BEF , + [10860] = 0x7BF0 , + [10861] = 0x7BF2 , + [10862] = 0x7BF3 , + [10863] = 0x7BF4 , + [10864] = 0x7BF5 , + [10865] = 0x7BF6 , + [10866] = 0x7BF8 , + [10867] = 0x7BF9 , + [10868] = 0x7BFA , + [10869] = 0x7BFB , + [10870] = 0x7BFD , + [10871] = 0x7BFF , + [10872] = 0x7C00 , + [10873] = 0x7C01 , + [10874] = 0x7C02 , + [10875] = 0x7C03 , + [10876] = 0x7C04 , + [10877] = 0x7C05 , + [10878] = 0x7C06 , + [10879] = 0x7C08 , + [10880] = 0x7C09 , + [10881] = 0x7C0A , + [10882] = 0x7C0D , + [10883] = 0x7C0E , + [10884] = 0x7C10 , + [10885] = 0x7C11 , + [10886] = 0x7C12 , + [10887] = 0x7C13 , + [10888] = 0x7C14 , + [10889] = 0x7C15 , + [10890] = 0x7C17 , + [10891] = 0x7C18 , + [10892] = 0x7C19 , + [10893] = 0x7C1A , + [10894] = 0x7C1B , + [10895] = 0x7C1C , + [10896] = 0x7C1D , + [10897] = 0x7C1E , + [10898] = 0x7C20 , + [10899] = 0x7C21 , + [10900] = 0x7C22 , + [10901] = 0x7C23 , + [10902] = 0x7C24 , + [10903] = 0x7C25 , + [10904] = 0x7C28 , + [10905] = 0x7C29 , + [10906] = 0x7C2B , + [10907] = 0x7C2C , + [10908] = 0x7C2D , + [10909] = 0x7C2E , + [10910] = 0x7C2F , + [10911] = 0x7C30 , + [10912] = 0x7C31 , + [10913] = 0x7C32 , + [10914] = 0x7C33 , + [10915] = 0x7C34 , + [10916] = 0x7C35 , + [10917] = 0x7C36 , + [10918] = 0x7C37 , + [10919] = 0x7C39 , + [10920] = 0x7C3A , + [10921] = 0x7C3B , + [10922] = 0x7C3C , + [10923] = 0x7C3D , + [10924] = 0x7C3E , + [10925] = 0x7C42 , + [10926] = 0x9AB8 , + [10927] = 0x5B69 , + [10928] = 0x6D77 , + [10929] = 0x6C26 , + [10930] = 0x4EA5 , + [10931] = 0x5BB3 , + [10932] = 0x9A87 , + [10933] = 0x9163 , + [10934] = 0x61A8 , + [10935] = 0x90AF , + [10936] = 0x97E9 , + [10937] = 0x542B , + [10938] = 0x6DB5 , + [10939] = 0x5BD2 , + [10940] = 0x51FD , + [10941] = 0x558A , + [10942] = 0x7F55 , + [10943] = 0x7FF0 , + [10944] = 0x64BC , + [10945] = 0x634D , + [10946] = 0x65F1 , + [10947] = 0x61BE , + [10948] = 0x608D , + [10949] = 0x710A , + [10950] = 0x6C57 , + [10951] = 0x6C49 , + [10952] = 0x592F , + [10953] = 0x676D , + [10954] = 0x822A , + [10955] = 0x58D5 , + [10956] = 0x568E , + [10957] = 0x8C6A , + [10958] = 0x6BEB , + [10959] = 0x90DD , + [10960] = 0x597D , + [10961] = 0x8017 , + [10962] = 0x53F7 , + [10963] = 0x6D69 , + [10964] = 0x5475 , + [10965] = 0x559D , + [10966] = 0x8377 , + [10967] = 0x83CF , + [10968] = 0x6838 , + [10969] = 0x79BE , + [10970] = 0x548C , + [10971] = 0x4F55 , + [10972] = 0x5408 , + [10973] = 0x76D2 , + [10974] = 0x8C89 , + [10975] = 0x9602 , + [10976] = 0x6CB3 , + [10977] = 0x6DB8 , + [10978] = 0x8D6B , + [10979] = 0x8910 , + [10980] = 0x9E64 , + [10981] = 0x8D3A , + [10982] = 0x563F , + [10983] = 0x9ED1 , + [10984] = 0x75D5 , + [10985] = 0x5F88 , + [10986] = 0x72E0 , + [10987] = 0x6068 , + [10988] = 0x54FC , + [10989] = 0x4EA8 , + [10990] = 0x6A2A , + [10991] = 0x8861 , + [10992] = 0x6052 , + [10993] = 0x8F70 , + [10994] = 0x54C4 , + [10995] = 0x70D8 , + [10996] = 0x8679 , + [10997] = 0x9E3F , + [10998] = 0x6D2A , + [10999] = 0x5B8F , + [11000] = 0x5F18 , + [11001] = 0x7EA2 , + [11002] = 0x5589 , + [11003] = 0x4FAF , + [11004] = 0x7334 , + [11005] = 0x543C , + [11006] = 0x539A , + [11007] = 0x5019 , + [11008] = 0x540E , + [11009] = 0x547C , + [11010] = 0x4E4E , + [11011] = 0x5FFD , + [11012] = 0x745A , + [11013] = 0x58F6 , + [11014] = 0x846B , + [11015] = 0x80E1 , + [11016] = 0x8774 , + [11017] = 0x72D0 , + [11018] = 0x7CCA , + [11019] = 0x6E56 , + [11020] = 0x7C43 , + [11021] = 0x7C44 , + [11022] = 0x7C45 , + [11023] = 0x7C46 , + [11024] = 0x7C47 , + [11025] = 0x7C48 , + [11026] = 0x7C49 , + [11027] = 0x7C4A , + [11028] = 0x7C4B , + [11029] = 0x7C4C , + [11030] = 0x7C4E , + [11031] = 0x7C4F , + [11032] = 0x7C50 , + [11033] = 0x7C51 , + [11034] = 0x7C52 , + [11035] = 0x7C53 , + [11036] = 0x7C54 , + [11037] = 0x7C55 , + [11038] = 0x7C56 , + [11039] = 0x7C57 , + [11040] = 0x7C58 , + [11041] = 0x7C59 , + [11042] = 0x7C5A , + [11043] = 0x7C5B , + [11044] = 0x7C5C , + [11045] = 0x7C5D , + [11046] = 0x7C5E , + [11047] = 0x7C5F , + [11048] = 0x7C60 , + [11049] = 0x7C61 , + [11050] = 0x7C62 , + [11051] = 0x7C63 , + [11052] = 0x7C64 , + [11053] = 0x7C65 , + [11054] = 0x7C66 , + [11055] = 0x7C67 , + [11056] = 0x7C68 , + [11057] = 0x7C69 , + [11058] = 0x7C6A , + [11059] = 0x7C6B , + [11060] = 0x7C6C , + [11061] = 0x7C6D , + [11062] = 0x7C6E , + [11063] = 0x7C6F , + [11064] = 0x7C70 , + [11065] = 0x7C71 , + [11066] = 0x7C72 , + [11067] = 0x7C75 , + [11068] = 0x7C76 , + [11069] = 0x7C77 , + [11070] = 0x7C78 , + [11071] = 0x7C79 , + [11072] = 0x7C7A , + [11073] = 0x7C7E , + [11074] = 0x7C7F , + [11075] = 0x7C80 , + [11076] = 0x7C81 , + [11077] = 0x7C82 , + [11078] = 0x7C83 , + [11079] = 0x7C84 , + [11080] = 0x7C85 , + [11081] = 0x7C86 , + [11082] = 0x7C87 , + [11083] = 0x7C88 , + [11084] = 0x7C8A , + [11085] = 0x7C8B , + [11086] = 0x7C8C , + [11087] = 0x7C8D , + [11088] = 0x7C8E , + [11089] = 0x7C8F , + [11090] = 0x7C90 , + [11091] = 0x7C93 , + [11092] = 0x7C94 , + [11093] = 0x7C96 , + [11094] = 0x7C99 , + [11095] = 0x7C9A , + [11096] = 0x7C9B , + [11097] = 0x7CA0 , + [11098] = 0x7CA1 , + [11099] = 0x7CA3 , + [11100] = 0x7CA6 , + [11101] = 0x7CA7 , + [11102] = 0x7CA8 , + [11103] = 0x7CA9 , + [11104] = 0x7CAB , + [11105] = 0x7CAC , + [11106] = 0x7CAD , + [11107] = 0x7CAF , + [11108] = 0x7CB0 , + [11109] = 0x7CB4 , + [11110] = 0x7CB5 , + [11111] = 0x7CB6 , + [11112] = 0x7CB7 , + [11113] = 0x7CB8 , + [11114] = 0x7CBA , + [11115] = 0x7CBB , + [11116] = 0x5F27 , + [11117] = 0x864E , + [11118] = 0x552C , + [11119] = 0x62A4 , + [11120] = 0x4E92 , + [11121] = 0x6CAA , + [11122] = 0x6237 , + [11123] = 0x82B1 , + [11124] = 0x54D7 , + [11125] = 0x534E , + [11126] = 0x733E , + [11127] = 0x6ED1 , + [11128] = 0x753B , + [11129] = 0x5212 , + [11130] = 0x5316 , + [11131] = 0x8BDD , + [11132] = 0x69D0 , + [11133] = 0x5F8A , + [11134] = 0x6000 , + [11135] = 0x6DEE , + [11136] = 0x574F , + [11137] = 0x6B22 , + [11138] = 0x73AF , + [11139] = 0x6853 , + [11140] = 0x8FD8 , + [11141] = 0x7F13 , + [11142] = 0x6362 , + [11143] = 0x60A3 , + [11144] = 0x5524 , + [11145] = 0x75EA , + [11146] = 0x8C62 , + [11147] = 0x7115 , + [11148] = 0x6DA3 , + [11149] = 0x5BA6 , + [11150] = 0x5E7B , + [11151] = 0x8352 , + [11152] = 0x614C , + [11153] = 0x9EC4 , + [11154] = 0x78FA , + [11155] = 0x8757 , + [11156] = 0x7C27 , + [11157] = 0x7687 , + [11158] = 0x51F0 , + [11159] = 0x60F6 , + [11160] = 0x714C , + [11161] = 0x6643 , + [11162] = 0x5E4C , + [11163] = 0x604D , + [11164] = 0x8C0E , + [11165] = 0x7070 , + [11166] = 0x6325 , + [11167] = 0x8F89 , + [11168] = 0x5FBD , + [11169] = 0x6062 , + [11170] = 0x86D4 , + [11171] = 0x56DE , + [11172] = 0x6BC1 , + [11173] = 0x6094 , + [11174] = 0x6167 , + [11175] = 0x5349 , + [11176] = 0x60E0 , + [11177] = 0x6666 , + [11178] = 0x8D3F , + [11179] = 0x79FD , + [11180] = 0x4F1A , + [11181] = 0x70E9 , + [11182] = 0x6C47 , + [11183] = 0x8BB3 , + [11184] = 0x8BF2 , + [11185] = 0x7ED8 , + [11186] = 0x8364 , + [11187] = 0x660F , + [11188] = 0x5A5A , + [11189] = 0x9B42 , + [11190] = 0x6D51 , + [11191] = 0x6DF7 , + [11192] = 0x8C41 , + [11193] = 0x6D3B , + [11194] = 0x4F19 , + [11195] = 0x706B , + [11196] = 0x83B7 , + [11197] = 0x6216 , + [11198] = 0x60D1 , + [11199] = 0x970D , + [11200] = 0x8D27 , + [11201] = 0x7978 , + [11202] = 0x51FB , + [11203] = 0x573E , + [11204] = 0x57FA , + [11205] = 0x673A , + [11206] = 0x7578 , + [11207] = 0x7A3D , + [11208] = 0x79EF , + [11209] = 0x7B95 , + [11210] = 0x7CBF , + [11211] = 0x7CC0 , + [11212] = 0x7CC2 , + [11213] = 0x7CC3 , + [11214] = 0x7CC4 , + [11215] = 0x7CC6 , + [11216] = 0x7CC9 , + [11217] = 0x7CCB , + [11218] = 0x7CCE , + [11219] = 0x7CCF , + [11220] = 0x7CD0 , + [11221] = 0x7CD1 , + [11222] = 0x7CD2 , + [11223] = 0x7CD3 , + [11224] = 0x7CD4 , + [11225] = 0x7CD8 , + [11226] = 0x7CDA , + [11227] = 0x7CDB , + [11228] = 0x7CDD , + [11229] = 0x7CDE , + [11230] = 0x7CE1 , + [11231] = 0x7CE2 , + [11232] = 0x7CE3 , + [11233] = 0x7CE4 , + [11234] = 0x7CE5 , + [11235] = 0x7CE6 , + [11236] = 0x7CE7 , + [11237] = 0x7CE9 , + [11238] = 0x7CEA , + [11239] = 0x7CEB , + [11240] = 0x7CEC , + [11241] = 0x7CED , + [11242] = 0x7CEE , + [11243] = 0x7CF0 , + [11244] = 0x7CF1 , + [11245] = 0x7CF2 , + [11246] = 0x7CF3 , + [11247] = 0x7CF4 , + [11248] = 0x7CF5 , + [11249] = 0x7CF6 , + [11250] = 0x7CF7 , + [11251] = 0x7CF9 , + [11252] = 0x7CFA , + [11253] = 0x7CFC , + [11254] = 0x7CFD , + [11255] = 0x7CFE , + [11256] = 0x7CFF , + [11257] = 0x7D00 , + [11258] = 0x7D01 , + [11259] = 0x7D02 , + [11260] = 0x7D03 , + [11261] = 0x7D04 , + [11262] = 0x7D05 , + [11263] = 0x7D06 , + [11264] = 0x7D07 , + [11265] = 0x7D08 , + [11266] = 0x7D09 , + [11267] = 0x7D0B , + [11268] = 0x7D0C , + [11269] = 0x7D0D , + [11270] = 0x7D0E , + [11271] = 0x7D0F , + [11272] = 0x7D10 , + [11273] = 0x7D11 , + [11274] = 0x7D12 , + [11275] = 0x7D13 , + [11276] = 0x7D14 , + [11277] = 0x7D15 , + [11278] = 0x7D16 , + [11279] = 0x7D17 , + [11280] = 0x7D18 , + [11281] = 0x7D19 , + [11282] = 0x7D1A , + [11283] = 0x7D1B , + [11284] = 0x7D1C , + [11285] = 0x7D1D , + [11286] = 0x7D1E , + [11287] = 0x7D1F , + [11288] = 0x7D21 , + [11289] = 0x7D23 , + [11290] = 0x7D24 , + [11291] = 0x7D25 , + [11292] = 0x7D26 , + [11293] = 0x7D28 , + [11294] = 0x7D29 , + [11295] = 0x7D2A , + [11296] = 0x7D2C , + [11297] = 0x7D2D , + [11298] = 0x7D2E , + [11299] = 0x7D30 , + [11300] = 0x7D31 , + [11301] = 0x7D32 , + [11302] = 0x7D33 , + [11303] = 0x7D34 , + [11304] = 0x7D35 , + [11305] = 0x7D36 , + [11306] = 0x808C , + [11307] = 0x9965 , + [11308] = 0x8FF9 , + [11309] = 0x6FC0 , + [11310] = 0x8BA5 , + [11311] = 0x9E21 , + [11312] = 0x59EC , + [11313] = 0x7EE9 , + [11314] = 0x7F09 , + [11315] = 0x5409 , + [11316] = 0x6781 , + [11317] = 0x68D8 , + [11318] = 0x8F91 , + [11319] = 0x7C4D , + [11320] = 0x96C6 , + [11321] = 0x53CA , + [11322] = 0x6025 , + [11323] = 0x75BE , + [11324] = 0x6C72 , + [11325] = 0x5373 , + [11326] = 0x5AC9 , + [11327] = 0x7EA7 , + [11328] = 0x6324 , + [11329] = 0x51E0 , + [11330] = 0x810A , + [11331] = 0x5DF1 , + [11332] = 0x84DF , + [11333] = 0x6280 , + [11334] = 0x5180 , + [11335] = 0x5B63 , + [11336] = 0x4F0E , + [11337] = 0x796D , + [11338] = 0x5242 , + [11339] = 0x60B8 , + [11340] = 0x6D4E , + [11341] = 0x5BC4 , + [11342] = 0x5BC2 , + [11343] = 0x8BA1 , + [11344] = 0x8BB0 , + [11345] = 0x65E2 , + [11346] = 0x5FCC , + [11347] = 0x9645 , + [11348] = 0x5993 , + [11349] = 0x7EE7 , + [11350] = 0x7EAA , + [11351] = 0x5609 , + [11352] = 0x67B7 , + [11353] = 0x5939 , + [11354] = 0x4F73 , + [11355] = 0x5BB6 , + [11356] = 0x52A0 , + [11357] = 0x835A , + [11358] = 0x988A , + [11359] = 0x8D3E , + [11360] = 0x7532 , + [11361] = 0x94BE , + [11362] = 0x5047 , + [11363] = 0x7A3C , + [11364] = 0x4EF7 , + [11365] = 0x67B6 , + [11366] = 0x9A7E , + [11367] = 0x5AC1 , + [11368] = 0x6B7C , + [11369] = 0x76D1 , + [11370] = 0x575A , + [11371] = 0x5C16 , + [11372] = 0x7B3A , + [11373] = 0x95F4 , + [11374] = 0x714E , + [11375] = 0x517C , + [11376] = 0x80A9 , + [11377] = 0x8270 , + [11378] = 0x5978 , + [11379] = 0x7F04 , + [11380] = 0x8327 , + [11381] = 0x68C0 , + [11382] = 0x67EC , + [11383] = 0x78B1 , + [11384] = 0x7877 , + [11385] = 0x62E3 , + [11386] = 0x6361 , + [11387] = 0x7B80 , + [11388] = 0x4FED , + [11389] = 0x526A , + [11390] = 0x51CF , + [11391] = 0x8350 , + [11392] = 0x69DB , + [11393] = 0x9274 , + [11394] = 0x8DF5 , + [11395] = 0x8D31 , + [11396] = 0x89C1 , + [11397] = 0x952E , + [11398] = 0x7BAD , + [11399] = 0x4EF6 , + [11400] = 0x7D37 , + [11401] = 0x7D38 , + [11402] = 0x7D39 , + [11403] = 0x7D3A , + [11404] = 0x7D3B , + [11405] = 0x7D3C , + [11406] = 0x7D3D , + [11407] = 0x7D3E , + [11408] = 0x7D3F , + [11409] = 0x7D40 , + [11410] = 0x7D41 , + [11411] = 0x7D42 , + [11412] = 0x7D43 , + [11413] = 0x7D44 , + [11414] = 0x7D45 , + [11415] = 0x7D46 , + [11416] = 0x7D47 , + [11417] = 0x7D48 , + [11418] = 0x7D49 , + [11419] = 0x7D4A , + [11420] = 0x7D4B , + [11421] = 0x7D4C , + [11422] = 0x7D4D , + [11423] = 0x7D4E , + [11424] = 0x7D4F , + [11425] = 0x7D50 , + [11426] = 0x7D51 , + [11427] = 0x7D52 , + [11428] = 0x7D53 , + [11429] = 0x7D54 , + [11430] = 0x7D55 , + [11431] = 0x7D56 , + [11432] = 0x7D57 , + [11433] = 0x7D58 , + [11434] = 0x7D59 , + [11435] = 0x7D5A , + [11436] = 0x7D5B , + [11437] = 0x7D5C , + [11438] = 0x7D5D , + [11439] = 0x7D5E , + [11440] = 0x7D5F , + [11441] = 0x7D60 , + [11442] = 0x7D61 , + [11443] = 0x7D62 , + [11444] = 0x7D63 , + [11445] = 0x7D64 , + [11446] = 0x7D65 , + [11447] = 0x7D66 , + [11448] = 0x7D67 , + [11449] = 0x7D68 , + [11450] = 0x7D69 , + [11451] = 0x7D6A , + [11452] = 0x7D6B , + [11453] = 0x7D6C , + [11454] = 0x7D6D , + [11455] = 0x7D6F , + [11456] = 0x7D70 , + [11457] = 0x7D71 , + [11458] = 0x7D72 , + [11459] = 0x7D73 , + [11460] = 0x7D74 , + [11461] = 0x7D75 , + [11462] = 0x7D76 , + [11463] = 0x7D78 , + [11464] = 0x7D79 , + [11465] = 0x7D7A , + [11466] = 0x7D7B , + [11467] = 0x7D7C , + [11468] = 0x7D7D , + [11469] = 0x7D7E , + [11470] = 0x7D7F , + [11471] = 0x7D80 , + [11472] = 0x7D81 , + [11473] = 0x7D82 , + [11474] = 0x7D83 , + [11475] = 0x7D84 , + [11476] = 0x7D85 , + [11477] = 0x7D86 , + [11478] = 0x7D87 , + [11479] = 0x7D88 , + [11480] = 0x7D89 , + [11481] = 0x7D8A , + [11482] = 0x7D8B , + [11483] = 0x7D8C , + [11484] = 0x7D8D , + [11485] = 0x7D8E , + [11486] = 0x7D8F , + [11487] = 0x7D90 , + [11488] = 0x7D91 , + [11489] = 0x7D92 , + [11490] = 0x7D93 , + [11491] = 0x7D94 , + [11492] = 0x7D95 , + [11493] = 0x7D96 , + [11494] = 0x7D97 , + [11495] = 0x7D98 , + [11496] = 0x5065 , + [11497] = 0x8230 , + [11498] = 0x5251 , + [11499] = 0x996F , + [11500] = 0x6E10 , + [11501] = 0x6E85 , + [11502] = 0x6DA7 , + [11503] = 0x5EFA , + [11504] = 0x50F5 , + [11505] = 0x59DC , + [11506] = 0x5C06 , + [11507] = 0x6D46 , + [11508] = 0x6C5F , + [11509] = 0x7586 , + [11510] = 0x848B , + [11511] = 0x6868 , + [11512] = 0x5956 , + [11513] = 0x8BB2 , + [11514] = 0x5320 , + [11515] = 0x9171 , + [11516] = 0x964D , + [11517] = 0x8549 , + [11518] = 0x6912 , + [11519] = 0x7901 , + [11520] = 0x7126 , + [11521] = 0x80F6 , + [11522] = 0x4EA4 , + [11523] = 0x90CA , + [11524] = 0x6D47 , + [11525] = 0x9A84 , + [11526] = 0x5A07 , + [11527] = 0x56BC , + [11528] = 0x6405 , + [11529] = 0x94F0 , + [11530] = 0x77EB , + [11531] = 0x4FA5 , + [11532] = 0x811A , + [11533] = 0x72E1 , + [11534] = 0x89D2 , + [11535] = 0x997A , + [11536] = 0x7F34 , + [11537] = 0x7EDE , + [11538] = 0x527F , + [11539] = 0x6559 , + [11540] = 0x9175 , + [11541] = 0x8F7F , + [11542] = 0x8F83 , + [11543] = 0x53EB , + [11544] = 0x7A96 , + [11545] = 0x63ED , + [11546] = 0x63A5 , + [11547] = 0x7686 , + [11548] = 0x79F8 , + [11549] = 0x8857 , + [11550] = 0x9636 , + [11551] = 0x622A , + [11552] = 0x52AB , + [11553] = 0x8282 , + [11554] = 0x6854 , + [11555] = 0x6770 , + [11556] = 0x6377 , + [11557] = 0x776B , + [11558] = 0x7AED , + [11559] = 0x6D01 , + [11560] = 0x7ED3 , + [11561] = 0x89E3 , + [11562] = 0x59D0 , + [11563] = 0x6212 , + [11564] = 0x85C9 , + [11565] = 0x82A5 , + [11566] = 0x754C , + [11567] = 0x501F , + [11568] = 0x4ECB , + [11569] = 0x75A5 , + [11570] = 0x8BEB , + [11571] = 0x5C4A , + [11572] = 0x5DFE , + [11573] = 0x7B4B , + [11574] = 0x65A4 , + [11575] = 0x91D1 , + [11576] = 0x4ECA , + [11577] = 0x6D25 , + [11578] = 0x895F , + [11579] = 0x7D27 , + [11580] = 0x9526 , + [11581] = 0x4EC5 , + [11582] = 0x8C28 , + [11583] = 0x8FDB , + [11584] = 0x9773 , + [11585] = 0x664B , + [11586] = 0x7981 , + [11587] = 0x8FD1 , + [11588] = 0x70EC , + [11589] = 0x6D78 , + [11590] = 0x7D99 , + [11591] = 0x7D9A , + [11592] = 0x7D9B , + [11593] = 0x7D9C , + [11594] = 0x7D9D , + [11595] = 0x7D9E , + [11596] = 0x7D9F , + [11597] = 0x7DA0 , + [11598] = 0x7DA1 , + [11599] = 0x7DA2 , + [11600] = 0x7DA3 , + [11601] = 0x7DA4 , + [11602] = 0x7DA5 , + [11603] = 0x7DA7 , + [11604] = 0x7DA8 , + [11605] = 0x7DA9 , + [11606] = 0x7DAA , + [11607] = 0x7DAB , + [11608] = 0x7DAC , + [11609] = 0x7DAD , + [11610] = 0x7DAF , + [11611] = 0x7DB0 , + [11612] = 0x7DB1 , + [11613] = 0x7DB2 , + [11614] = 0x7DB3 , + [11615] = 0x7DB4 , + [11616] = 0x7DB5 , + [11617] = 0x7DB6 , + [11618] = 0x7DB7 , + [11619] = 0x7DB8 , + [11620] = 0x7DB9 , + [11621] = 0x7DBA , + [11622] = 0x7DBB , + [11623] = 0x7DBC , + [11624] = 0x7DBD , + [11625] = 0x7DBE , + [11626] = 0x7DBF , + [11627] = 0x7DC0 , + [11628] = 0x7DC1 , + [11629] = 0x7DC2 , + [11630] = 0x7DC3 , + [11631] = 0x7DC4 , + [11632] = 0x7DC5 , + [11633] = 0x7DC6 , + [11634] = 0x7DC7 , + [11635] = 0x7DC8 , + [11636] = 0x7DC9 , + [11637] = 0x7DCA , + [11638] = 0x7DCB , + [11639] = 0x7DCC , + [11640] = 0x7DCD , + [11641] = 0x7DCE , + [11642] = 0x7DCF , + [11643] = 0x7DD0 , + [11644] = 0x7DD1 , + [11645] = 0x7DD2 , + [11646] = 0x7DD3 , + [11647] = 0x7DD4 , + [11648] = 0x7DD5 , + [11649] = 0x7DD6 , + [11650] = 0x7DD7 , + [11651] = 0x7DD8 , + [11652] = 0x7DD9 , + [11653] = 0x7DDA , + [11654] = 0x7DDB , + [11655] = 0x7DDC , + [11656] = 0x7DDD , + [11657] = 0x7DDE , + [11658] = 0x7DDF , + [11659] = 0x7DE0 , + [11660] = 0x7DE1 , + [11661] = 0x7DE2 , + [11662] = 0x7DE3 , + [11663] = 0x7DE4 , + [11664] = 0x7DE5 , + [11665] = 0x7DE6 , + [11666] = 0x7DE7 , + [11667] = 0x7DE8 , + [11668] = 0x7DE9 , + [11669] = 0x7DEA , + [11670] = 0x7DEB , + [11671] = 0x7DEC , + [11672] = 0x7DED , + [11673] = 0x7DEE , + [11674] = 0x7DEF , + [11675] = 0x7DF0 , + [11676] = 0x7DF1 , + [11677] = 0x7DF2 , + [11678] = 0x7DF3 , + [11679] = 0x7DF4 , + [11680] = 0x7DF5 , + [11681] = 0x7DF6 , + [11682] = 0x7DF7 , + [11683] = 0x7DF8 , + [11684] = 0x7DF9 , + [11685] = 0x7DFA , + [11686] = 0x5C3D , + [11687] = 0x52B2 , + [11688] = 0x8346 , + [11689] = 0x5162 , + [11690] = 0x830E , + [11691] = 0x775B , + [11692] = 0x6676 , + [11693] = 0x9CB8 , + [11694] = 0x4EAC , + [11695] = 0x60CA , + [11696] = 0x7CBE , + [11697] = 0x7CB3 , + [11698] = 0x7ECF , + [11699] = 0x4E95 , + [11700] = 0x8B66 , + [11701] = 0x666F , + [11702] = 0x9888 , + [11703] = 0x9759 , + [11704] = 0x5883 , + [11705] = 0x656C , + [11706] = 0x955C , + [11707] = 0x5F84 , + [11708] = 0x75C9 , + [11709] = 0x9756 , + [11710] = 0x7ADF , + [11711] = 0x7ADE , + [11712] = 0x51C0 , + [11713] = 0x70AF , + [11714] = 0x7A98 , + [11715] = 0x63EA , + [11716] = 0x7A76 , + [11717] = 0x7EA0 , + [11718] = 0x7396 , + [11719] = 0x97ED , + [11720] = 0x4E45 , + [11721] = 0x7078 , + [11722] = 0x4E5D , + [11723] = 0x9152 , + [11724] = 0x53A9 , + [11725] = 0x6551 , + [11726] = 0x65E7 , + [11727] = 0x81FC , + [11728] = 0x8205 , + [11729] = 0x548E , + [11730] = 0x5C31 , + [11731] = 0x759A , + [11732] = 0x97A0 , + [11733] = 0x62D8 , + [11734] = 0x72D9 , + [11735] = 0x75BD , + [11736] = 0x5C45 , + [11737] = 0x9A79 , + [11738] = 0x83CA , + [11739] = 0x5C40 , + [11740] = 0x5480 , + [11741] = 0x77E9 , + [11742] = 0x4E3E , + [11743] = 0x6CAE , + [11744] = 0x805A , + [11745] = 0x62D2 , + [11746] = 0x636E , + [11747] = 0x5DE8 , + [11748] = 0x5177 , + [11749] = 0x8DDD , + [11750] = 0x8E1E , + [11751] = 0x952F , + [11752] = 0x4FF1 , + [11753] = 0x53E5 , + [11754] = 0x60E7 , + [11755] = 0x70AC , + [11756] = 0x5267 , + [11757] = 0x6350 , + [11758] = 0x9E43 , + [11759] = 0x5A1F , + [11760] = 0x5026 , + [11761] = 0x7737 , + [11762] = 0x5377 , + [11763] = 0x7EE2 , + [11764] = 0x6485 , + [11765] = 0x652B , + [11766] = 0x6289 , + [11767] = 0x6398 , + [11768] = 0x5014 , + [11769] = 0x7235 , + [11770] = 0x89C9 , + [11771] = 0x51B3 , + [11772] = 0x8BC0 , + [11773] = 0x7EDD , + [11774] = 0x5747 , + [11775] = 0x83CC , + [11776] = 0x94A7 , + [11777] = 0x519B , + [11778] = 0x541B , + [11779] = 0x5CFB , + [11780] = 0x7DFB , + [11781] = 0x7DFC , + [11782] = 0x7DFD , + [11783] = 0x7DFE , + [11784] = 0x7DFF , + [11785] = 0x7E00 , + [11786] = 0x7E01 , + [11787] = 0x7E02 , + [11788] = 0x7E03 , + [11789] = 0x7E04 , + [11790] = 0x7E05 , + [11791] = 0x7E06 , + [11792] = 0x7E07 , + [11793] = 0x7E08 , + [11794] = 0x7E09 , + [11795] = 0x7E0A , + [11796] = 0x7E0B , + [11797] = 0x7E0C , + [11798] = 0x7E0D , + [11799] = 0x7E0E , + [11800] = 0x7E0F , + [11801] = 0x7E10 , + [11802] = 0x7E11 , + [11803] = 0x7E12 , + [11804] = 0x7E13 , + [11805] = 0x7E14 , + [11806] = 0x7E15 , + [11807] = 0x7E16 , + [11808] = 0x7E17 , + [11809] = 0x7E18 , + [11810] = 0x7E19 , + [11811] = 0x7E1A , + [11812] = 0x7E1B , + [11813] = 0x7E1C , + [11814] = 0x7E1D , + [11815] = 0x7E1E , + [11816] = 0x7E1F , + [11817] = 0x7E20 , + [11818] = 0x7E21 , + [11819] = 0x7E22 , + [11820] = 0x7E23 , + [11821] = 0x7E24 , + [11822] = 0x7E25 , + [11823] = 0x7E26 , + [11824] = 0x7E27 , + [11825] = 0x7E28 , + [11826] = 0x7E29 , + [11827] = 0x7E2A , + [11828] = 0x7E2B , + [11829] = 0x7E2C , + [11830] = 0x7E2D , + [11831] = 0x7E2E , + [11832] = 0x7E2F , + [11833] = 0x7E30 , + [11834] = 0x7E31 , + [11835] = 0x7E32 , + [11836] = 0x7E33 , + [11837] = 0x7E34 , + [11838] = 0x7E35 , + [11839] = 0x7E36 , + [11840] = 0x7E37 , + [11841] = 0x7E38 , + [11842] = 0x7E39 , + [11843] = 0x7E3A , + [11844] = 0x7E3C , + [11845] = 0x7E3D , + [11846] = 0x7E3E , + [11847] = 0x7E3F , + [11848] = 0x7E40 , + [11849] = 0x7E42 , + [11850] = 0x7E43 , + [11851] = 0x7E44 , + [11852] = 0x7E45 , + [11853] = 0x7E46 , + [11854] = 0x7E48 , + [11855] = 0x7E49 , + [11856] = 0x7E4A , + [11857] = 0x7E4B , + [11858] = 0x7E4C , + [11859] = 0x7E4D , + [11860] = 0x7E4E , + [11861] = 0x7E4F , + [11862] = 0x7E50 , + [11863] = 0x7E51 , + [11864] = 0x7E52 , + [11865] = 0x7E53 , + [11866] = 0x7E54 , + [11867] = 0x7E55 , + [11868] = 0x7E56 , + [11869] = 0x7E57 , + [11870] = 0x7E58 , + [11871] = 0x7E59 , + [11872] = 0x7E5A , + [11873] = 0x7E5B , + [11874] = 0x7E5C , + [11875] = 0x7E5D , + [11876] = 0x4FCA , + [11877] = 0x7AE3 , + [11878] = 0x6D5A , + [11879] = 0x90E1 , + [11880] = 0x9A8F , + [11881] = 0x5580 , + [11882] = 0x5496 , + [11883] = 0x5361 , + [11884] = 0x54AF , + [11885] = 0x5F00 , + [11886] = 0x63E9 , + [11887] = 0x6977 , + [11888] = 0x51EF , + [11889] = 0x6168 , + [11890] = 0x520A , + [11891] = 0x582A , + [11892] = 0x52D8 , + [11893] = 0x574E , + [11894] = 0x780D , + [11895] = 0x770B , + [11896] = 0x5EB7 , + [11897] = 0x6177 , + [11898] = 0x7CE0 , + [11899] = 0x625B , + [11900] = 0x6297 , + [11901] = 0x4EA2 , + [11902] = 0x7095 , + [11903] = 0x8003 , + [11904] = 0x62F7 , + [11905] = 0x70E4 , + [11906] = 0x9760 , + [11907] = 0x5777 , + [11908] = 0x82DB , + [11909] = 0x67EF , + [11910] = 0x68F5 , + [11911] = 0x78D5 , + [11912] = 0x9897 , + [11913] = 0x79D1 , + [11914] = 0x58F3 , + [11915] = 0x54B3 , + [11916] = 0x53EF , + [11917] = 0x6E34 , + [11918] = 0x514B , + [11919] = 0x523B , + [11920] = 0x5BA2 , + [11921] = 0x8BFE , + [11922] = 0x80AF , + [11923] = 0x5543 , + [11924] = 0x57A6 , + [11925] = 0x6073 , + [11926] = 0x5751 , + [11927] = 0x542D , + [11928] = 0x7A7A , + [11929] = 0x6050 , + [11930] = 0x5B54 , + [11931] = 0x63A7 , + [11932] = 0x62A0 , + [11933] = 0x53E3 , + [11934] = 0x6263 , + [11935] = 0x5BC7 , + [11936] = 0x67AF , + [11937] = 0x54ED , + [11938] = 0x7A9F , + [11939] = 0x82E6 , + [11940] = 0x9177 , + [11941] = 0x5E93 , + [11942] = 0x88E4 , + [11943] = 0x5938 , + [11944] = 0x57AE , + [11945] = 0x630E , + [11946] = 0x8DE8 , + [11947] = 0x80EF , + [11948] = 0x5757 , + [11949] = 0x7B77 , + [11950] = 0x4FA9 , + [11951] = 0x5FEB , + [11952] = 0x5BBD , + [11953] = 0x6B3E , + [11954] = 0x5321 , + [11955] = 0x7B50 , + [11956] = 0x72C2 , + [11957] = 0x6846 , + [11958] = 0x77FF , + [11959] = 0x7736 , + [11960] = 0x65F7 , + [11961] = 0x51B5 , + [11962] = 0x4E8F , + [11963] = 0x76D4 , + [11964] = 0x5CBF , + [11965] = 0x7AA5 , + [11966] = 0x8475 , + [11967] = 0x594E , + [11968] = 0x9B41 , + [11969] = 0x5080 , + [11970] = 0x7E5E , + [11971] = 0x7E5F , + [11972] = 0x7E60 , + [11973] = 0x7E61 , + [11974] = 0x7E62 , + [11975] = 0x7E63 , + [11976] = 0x7E64 , + [11977] = 0x7E65 , + [11978] = 0x7E66 , + [11979] = 0x7E67 , + [11980] = 0x7E68 , + [11981] = 0x7E69 , + [11982] = 0x7E6A , + [11983] = 0x7E6B , + [11984] = 0x7E6C , + [11985] = 0x7E6D , + [11986] = 0x7E6E , + [11987] = 0x7E6F , + [11988] = 0x7E70 , + [11989] = 0x7E71 , + [11990] = 0x7E72 , + [11991] = 0x7E73 , + [11992] = 0x7E74 , + [11993] = 0x7E75 , + [11994] = 0x7E76 , + [11995] = 0x7E77 , + [11996] = 0x7E78 , + [11997] = 0x7E79 , + [11998] = 0x7E7A , + [11999] = 0x7E7B , + [12000] = 0x7E7C , + [12001] = 0x7E7D , + [12002] = 0x7E7E , + [12003] = 0x7E7F , + [12004] = 0x7E80 , + [12005] = 0x7E81 , + [12006] = 0x7E83 , + [12007] = 0x7E84 , + [12008] = 0x7E85 , + [12009] = 0x7E86 , + [12010] = 0x7E87 , + [12011] = 0x7E88 , + [12012] = 0x7E89 , + [12013] = 0x7E8A , + [12014] = 0x7E8B , + [12015] = 0x7E8C , + [12016] = 0x7E8D , + [12017] = 0x7E8E , + [12018] = 0x7E8F , + [12019] = 0x7E90 , + [12020] = 0x7E91 , + [12021] = 0x7E92 , + [12022] = 0x7E93 , + [12023] = 0x7E94 , + [12024] = 0x7E95 , + [12025] = 0x7E96 , + [12026] = 0x7E97 , + [12027] = 0x7E98 , + [12028] = 0x7E99 , + [12029] = 0x7E9A , + [12030] = 0x7E9C , + [12031] = 0x7E9D , + [12032] = 0x7E9E , + [12033] = 0x7EAE , + [12034] = 0x7EB4 , + [12035] = 0x7EBB , + [12036] = 0x7EBC , + [12037] = 0x7ED6 , + [12038] = 0x7EE4 , + [12039] = 0x7EEC , + [12040] = 0x7EF9 , + [12041] = 0x7F0A , + [12042] = 0x7F10 , + [12043] = 0x7F1E , + [12044] = 0x7F37 , + [12045] = 0x7F39 , + [12046] = 0x7F3B , + [12047] = 0x7F3C , + [12048] = 0x7F3D , + [12049] = 0x7F3E , + [12050] = 0x7F3F , + [12051] = 0x7F40 , + [12052] = 0x7F41 , + [12053] = 0x7F43 , + [12054] = 0x7F46 , + [12055] = 0x7F47 , + [12056] = 0x7F48 , + [12057] = 0x7F49 , + [12058] = 0x7F4A , + [12059] = 0x7F4B , + [12060] = 0x7F4C , + [12061] = 0x7F4D , + [12062] = 0x7F4E , + [12063] = 0x7F4F , + [12064] = 0x7F52 , + [12065] = 0x7F53 , + [12066] = 0x9988 , + [12067] = 0x6127 , + [12068] = 0x6E83 , + [12069] = 0x5764 , + [12070] = 0x6606 , + [12071] = 0x6346 , + [12072] = 0x56F0 , + [12073] = 0x62EC , + [12074] = 0x6269 , + [12075] = 0x5ED3 , + [12076] = 0x9614 , + [12077] = 0x5783 , + [12078] = 0x62C9 , + [12079] = 0x5587 , + [12080] = 0x8721 , + [12081] = 0x814A , + [12082] = 0x8FA3 , + [12083] = 0x5566 , + [12084] = 0x83B1 , + [12085] = 0x6765 , + [12086] = 0x8D56 , + [12087] = 0x84DD , + [12088] = 0x5A6A , + [12089] = 0x680F , + [12090] = 0x62E6 , + [12091] = 0x7BEE , + [12092] = 0x9611 , + [12093] = 0x5170 , + [12094] = 0x6F9C , + [12095] = 0x8C30 , + [12096] = 0x63FD , + [12097] = 0x89C8 , + [12098] = 0x61D2 , + [12099] = 0x7F06 , + [12100] = 0x70C2 , + [12101] = 0x6EE5 , + [12102] = 0x7405 , + [12103] = 0x6994 , + [12104] = 0x72FC , + [12105] = 0x5ECA , + [12106] = 0x90CE , + [12107] = 0x6717 , + [12108] = 0x6D6A , + [12109] = 0x635E , + [12110] = 0x52B3 , + [12111] = 0x7262 , + [12112] = 0x8001 , + [12113] = 0x4F6C , + [12114] = 0x59E5 , + [12115] = 0x916A , + [12116] = 0x70D9 , + [12117] = 0x6D9D , + [12118] = 0x52D2 , + [12119] = 0x4E50 , + [12120] = 0x96F7 , + [12121] = 0x956D , + [12122] = 0x857E , + [12123] = 0x78CA , + [12124] = 0x7D2F , + [12125] = 0x5121 , + [12126] = 0x5792 , + [12127] = 0x64C2 , + [12128] = 0x808B , + [12129] = 0x7C7B , + [12130] = 0x6CEA , + [12131] = 0x68F1 , + [12132] = 0x695E , + [12133] = 0x51B7 , + [12134] = 0x5398 , + [12135] = 0x68A8 , + [12136] = 0x7281 , + [12137] = 0x9ECE , + [12138] = 0x7BF1 , + [12139] = 0x72F8 , + [12140] = 0x79BB , + [12141] = 0x6F13 , + [12142] = 0x7406 , + [12143] = 0x674E , + [12144] = 0x91CC , + [12145] = 0x9CA4 , + [12146] = 0x793C , + [12147] = 0x8389 , + [12148] = 0x8354 , + [12149] = 0x540F , + [12150] = 0x6817 , + [12151] = 0x4E3D , + [12152] = 0x5389 , + [12153] = 0x52B1 , + [12154] = 0x783E , + [12155] = 0x5386 , + [12156] = 0x5229 , + [12157] = 0x5088 , + [12158] = 0x4F8B , + [12159] = 0x4FD0 , + [12160] = 0x7F56 , + [12161] = 0x7F59 , + [12162] = 0x7F5B , + [12163] = 0x7F5C , + [12164] = 0x7F5D , + [12165] = 0x7F5E , + [12166] = 0x7F60 , + [12167] = 0x7F63 , + [12168] = 0x7F64 , + [12169] = 0x7F65 , + [12170] = 0x7F66 , + [12171] = 0x7F67 , + [12172] = 0x7F6B , + [12173] = 0x7F6C , + [12174] = 0x7F6D , + [12175] = 0x7F6F , + [12176] = 0x7F70 , + [12177] = 0x7F73 , + [12178] = 0x7F75 , + [12179] = 0x7F76 , + [12180] = 0x7F77 , + [12181] = 0x7F78 , + [12182] = 0x7F7A , + [12183] = 0x7F7B , + [12184] = 0x7F7C , + [12185] = 0x7F7D , + [12186] = 0x7F7F , + [12187] = 0x7F80 , + [12188] = 0x7F82 , + [12189] = 0x7F83 , + [12190] = 0x7F84 , + [12191] = 0x7F85 , + [12192] = 0x7F86 , + [12193] = 0x7F87 , + [12194] = 0x7F88 , + [12195] = 0x7F89 , + [12196] = 0x7F8B , + [12197] = 0x7F8D , + [12198] = 0x7F8F , + [12199] = 0x7F90 , + [12200] = 0x7F91 , + [12201] = 0x7F92 , + [12202] = 0x7F93 , + [12203] = 0x7F95 , + [12204] = 0x7F96 , + [12205] = 0x7F97 , + [12206] = 0x7F98 , + [12207] = 0x7F99 , + [12208] = 0x7F9B , + [12209] = 0x7F9C , + [12210] = 0x7FA0 , + [12211] = 0x7FA2 , + [12212] = 0x7FA3 , + [12213] = 0x7FA5 , + [12214] = 0x7FA6 , + [12215] = 0x7FA8 , + [12216] = 0x7FA9 , + [12217] = 0x7FAA , + [12218] = 0x7FAB , + [12219] = 0x7FAC , + [12220] = 0x7FAD , + [12221] = 0x7FAE , + [12222] = 0x7FB1 , + [12223] = 0x7FB3 , + [12224] = 0x7FB4 , + [12225] = 0x7FB5 , + [12226] = 0x7FB6 , + [12227] = 0x7FB7 , + [12228] = 0x7FBA , + [12229] = 0x7FBB , + [12230] = 0x7FBE , + [12231] = 0x7FC0 , + [12232] = 0x7FC2 , + [12233] = 0x7FC3 , + [12234] = 0x7FC4 , + [12235] = 0x7FC6 , + [12236] = 0x7FC7 , + [12237] = 0x7FC8 , + [12238] = 0x7FC9 , + [12239] = 0x7FCB , + [12240] = 0x7FCD , + [12241] = 0x7FCF , + [12242] = 0x7FD0 , + [12243] = 0x7FD1 , + [12244] = 0x7FD2 , + [12245] = 0x7FD3 , + [12246] = 0x7FD6 , + [12247] = 0x7FD7 , + [12248] = 0x7FD9 , + [12249] = 0x7FDA , + [12250] = 0x7FDB , + [12251] = 0x7FDC , + [12252] = 0x7FDD , + [12253] = 0x7FDE , + [12254] = 0x7FE2 , + [12255] = 0x7FE3 , + [12256] = 0x75E2 , + [12257] = 0x7ACB , + [12258] = 0x7C92 , + [12259] = 0x6CA5 , + [12260] = 0x96B6 , + [12261] = 0x529B , + [12262] = 0x7483 , + [12263] = 0x54E9 , + [12264] = 0x4FE9 , + [12265] = 0x8054 , + [12266] = 0x83B2 , + [12267] = 0x8FDE , + [12268] = 0x9570 , + [12269] = 0x5EC9 , + [12270] = 0x601C , + [12271] = 0x6D9F , + [12272] = 0x5E18 , + [12273] = 0x655B , + [12274] = 0x8138 , + [12275] = 0x94FE , + [12276] = 0x604B , + [12277] = 0x70BC , + [12278] = 0x7EC3 , + [12279] = 0x7CAE , + [12280] = 0x51C9 , + [12281] = 0x6881 , + [12282] = 0x7CB1 , + [12283] = 0x826F , + [12284] = 0x4E24 , + [12285] = 0x8F86 , + [12286] = 0x91CF , + [12287] = 0x667E , + [12288] = 0x4EAE , + [12289] = 0x8C05 , + [12290] = 0x64A9 , + [12291] = 0x804A , + [12292] = 0x50DA , + [12293] = 0x7597 , + [12294] = 0x71CE , + [12295] = 0x5BE5 , + [12296] = 0x8FBD , + [12297] = 0x6F66 , + [12298] = 0x4E86 , + [12299] = 0x6482 , + [12300] = 0x9563 , + [12301] = 0x5ED6 , + [12302] = 0x6599 , + [12303] = 0x5217 , + [12304] = 0x88C2 , + [12305] = 0x70C8 , + [12306] = 0x52A3 , + [12307] = 0x730E , + [12308] = 0x7433 , + [12309] = 0x6797 , + [12310] = 0x78F7 , + [12311] = 0x9716 , + [12312] = 0x4E34 , + [12313] = 0x90BB , + [12314] = 0x9CDE , + [12315] = 0x6DCB , + [12316] = 0x51DB , + [12317] = 0x8D41 , + [12318] = 0x541D , + [12319] = 0x62CE , + [12320] = 0x73B2 , + [12321] = 0x83F1 , + [12322] = 0x96F6 , + [12323] = 0x9F84 , + [12324] = 0x94C3 , + [12325] = 0x4F36 , + [12326] = 0x7F9A , + [12327] = 0x51CC , + [12328] = 0x7075 , + [12329] = 0x9675 , + [12330] = 0x5CAD , + [12331] = 0x9886 , + [12332] = 0x53E6 , + [12333] = 0x4EE4 , + [12334] = 0x6E9C , + [12335] = 0x7409 , + [12336] = 0x69B4 , + [12337] = 0x786B , + [12338] = 0x998F , + [12339] = 0x7559 , + [12340] = 0x5218 , + [12341] = 0x7624 , + [12342] = 0x6D41 , + [12343] = 0x67F3 , + [12344] = 0x516D , + [12345] = 0x9F99 , + [12346] = 0x804B , + [12347] = 0x5499 , + [12348] = 0x7B3C , + [12349] = 0x7ABF , + [12350] = 0x7FE4 , + [12351] = 0x7FE7 , + [12352] = 0x7FE8 , + [12353] = 0x7FEA , + [12354] = 0x7FEB , + [12355] = 0x7FEC , + [12356] = 0x7FED , + [12357] = 0x7FEF , + [12358] = 0x7FF2 , + [12359] = 0x7FF4 , + [12360] = 0x7FF5 , + [12361] = 0x7FF6 , + [12362] = 0x7FF7 , + [12363] = 0x7FF8 , + [12364] = 0x7FF9 , + [12365] = 0x7FFA , + [12366] = 0x7FFD , + [12367] = 0x7FFE , + [12368] = 0x7FFF , + [12369] = 0x8002 , + [12370] = 0x8007 , + [12371] = 0x8008 , + [12372] = 0x8009 , + [12373] = 0x800A , + [12374] = 0x800E , + [12375] = 0x800F , + [12376] = 0x8011 , + [12377] = 0x8013 , + [12378] = 0x801A , + [12379] = 0x801B , + [12380] = 0x801D , + [12381] = 0x801E , + [12382] = 0x801F , + [12383] = 0x8021 , + [12384] = 0x8023 , + [12385] = 0x8024 , + [12386] = 0x802B , + [12387] = 0x802C , + [12388] = 0x802D , + [12389] = 0x802E , + [12390] = 0x802F , + [12391] = 0x8030 , + [12392] = 0x8032 , + [12393] = 0x8034 , + [12394] = 0x8039 , + [12395] = 0x803A , + [12396] = 0x803C , + [12397] = 0x803E , + [12398] = 0x8040 , + [12399] = 0x8041 , + [12400] = 0x8044 , + [12401] = 0x8045 , + [12402] = 0x8047 , + [12403] = 0x8048 , + [12404] = 0x8049 , + [12405] = 0x804E , + [12406] = 0x804F , + [12407] = 0x8050 , + [12408] = 0x8051 , + [12409] = 0x8053 , + [12410] = 0x8055 , + [12411] = 0x8056 , + [12412] = 0x8057 , + [12413] = 0x8059 , + [12414] = 0x805B , + [12415] = 0x805C , + [12416] = 0x805D , + [12417] = 0x805E , + [12418] = 0x805F , + [12419] = 0x8060 , + [12420] = 0x8061 , + [12421] = 0x8062 , + [12422] = 0x8063 , + [12423] = 0x8064 , + [12424] = 0x8065 , + [12425] = 0x8066 , + [12426] = 0x8067 , + [12427] = 0x8068 , + [12428] = 0x806B , + [12429] = 0x806C , + [12430] = 0x806D , + [12431] = 0x806E , + [12432] = 0x806F , + [12433] = 0x8070 , + [12434] = 0x8072 , + [12435] = 0x8073 , + [12436] = 0x8074 , + [12437] = 0x8075 , + [12438] = 0x8076 , + [12439] = 0x8077 , + [12440] = 0x8078 , + [12441] = 0x8079 , + [12442] = 0x807A , + [12443] = 0x807B , + [12444] = 0x807C , + [12445] = 0x807D , + [12446] = 0x9686 , + [12447] = 0x5784 , + [12448] = 0x62E2 , + [12449] = 0x9647 , + [12450] = 0x697C , + [12451] = 0x5A04 , + [12452] = 0x6402 , + [12453] = 0x7BD3 , + [12454] = 0x6F0F , + [12455] = 0x964B , + [12456] = 0x82A6 , + [12457] = 0x5362 , + [12458] = 0x9885 , + [12459] = 0x5E90 , + [12460] = 0x7089 , + [12461] = 0x63B3 , + [12462] = 0x5364 , + [12463] = 0x864F , + [12464] = 0x9C81 , + [12465] = 0x9E93 , + [12466] = 0x788C , + [12467] = 0x9732 , + [12468] = 0x8DEF , + [12469] = 0x8D42 , + [12470] = 0x9E7F , + [12471] = 0x6F5E , + [12472] = 0x7984 , + [12473] = 0x5F55 , + [12474] = 0x9646 , + [12475] = 0x622E , + [12476] = 0x9A74 , + [12477] = 0x5415 , + [12478] = 0x94DD , + [12479] = 0x4FA3 , + [12480] = 0x65C5 , + [12481] = 0x5C65 , + [12482] = 0x5C61 , + [12483] = 0x7F15 , + [12484] = 0x8651 , + [12485] = 0x6C2F , + [12486] = 0x5F8B , + [12487] = 0x7387 , + [12488] = 0x6EE4 , + [12489] = 0x7EFF , + [12490] = 0x5CE6 , + [12491] = 0x631B , + [12492] = 0x5B6A , + [12493] = 0x6EE6 , + [12494] = 0x5375 , + [12495] = 0x4E71 , + [12496] = 0x63A0 , + [12497] = 0x7565 , + [12498] = 0x62A1 , + [12499] = 0x8F6E , + [12500] = 0x4F26 , + [12501] = 0x4ED1 , + [12502] = 0x6CA6 , + [12503] = 0x7EB6 , + [12504] = 0x8BBA , + [12505] = 0x841D , + [12506] = 0x87BA , + [12507] = 0x7F57 , + [12508] = 0x903B , + [12509] = 0x9523 , + [12510] = 0x7BA9 , + [12511] = 0x9AA1 , + [12512] = 0x88F8 , + [12513] = 0x843D , + [12514] = 0x6D1B , + [12515] = 0x9A86 , + [12516] = 0x7EDC , + [12517] = 0x5988 , + [12518] = 0x9EBB , + [12519] = 0x739B , + [12520] = 0x7801 , + [12521] = 0x8682 , + [12522] = 0x9A6C , + [12523] = 0x9A82 , + [12524] = 0x561B , + [12525] = 0x5417 , + [12526] = 0x57CB , + [12527] = 0x4E70 , + [12528] = 0x9EA6 , + [12529] = 0x5356 , + [12530] = 0x8FC8 , + [12531] = 0x8109 , + [12532] = 0x7792 , + [12533] = 0x9992 , + [12534] = 0x86EE , + [12535] = 0x6EE1 , + [12536] = 0x8513 , + [12537] = 0x66FC , + [12538] = 0x6162 , + [12539] = 0x6F2B , + [12540] = 0x807E , + [12541] = 0x8081 , + [12542] = 0x8082 , + [12543] = 0x8085 , + [12544] = 0x8088 , + [12545] = 0x808A , + [12546] = 0x808D , + [12547] = 0x808E , + [12548] = 0x808F , + [12549] = 0x8090 , + [12550] = 0x8091 , + [12551] = 0x8092 , + [12552] = 0x8094 , + [12553] = 0x8095 , + [12554] = 0x8097 , + [12555] = 0x8099 , + [12556] = 0x809E , + [12557] = 0x80A3 , + [12558] = 0x80A6 , + [12559] = 0x80A7 , + [12560] = 0x80A8 , + [12561] = 0x80AC , + [12562] = 0x80B0 , + [12563] = 0x80B3 , + [12564] = 0x80B5 , + [12565] = 0x80B6 , + [12566] = 0x80B8 , + [12567] = 0x80B9 , + [12568] = 0x80BB , + [12569] = 0x80C5 , + [12570] = 0x80C7 , + [12571] = 0x80C8 , + [12572] = 0x80C9 , + [12573] = 0x80CA , + [12574] = 0x80CB , + [12575] = 0x80CF , + [12576] = 0x80D0 , + [12577] = 0x80D1 , + [12578] = 0x80D2 , + [12579] = 0x80D3 , + [12580] = 0x80D4 , + [12581] = 0x80D5 , + [12582] = 0x80D8 , + [12583] = 0x80DF , + [12584] = 0x80E0 , + [12585] = 0x80E2 , + [12586] = 0x80E3 , + [12587] = 0x80E6 , + [12588] = 0x80EE , + [12589] = 0x80F5 , + [12590] = 0x80F7 , + [12591] = 0x80F9 , + [12592] = 0x80FB , + [12593] = 0x80FE , + [12594] = 0x80FF , + [12595] = 0x8100 , + [12596] = 0x8101 , + [12597] = 0x8103 , + [12598] = 0x8104 , + [12599] = 0x8105 , + [12600] = 0x8107 , + [12601] = 0x8108 , + [12602] = 0x810B , + [12603] = 0x810C , + [12604] = 0x8115 , + [12605] = 0x8117 , + [12606] = 0x8119 , + [12607] = 0x811B , + [12608] = 0x811C , + [12609] = 0x811D , + [12610] = 0x811F , + [12611] = 0x8120 , + [12612] = 0x8121 , + [12613] = 0x8122 , + [12614] = 0x8123 , + [12615] = 0x8124 , + [12616] = 0x8125 , + [12617] = 0x8126 , + [12618] = 0x8127 , + [12619] = 0x8128 , + [12620] = 0x8129 , + [12621] = 0x812A , + [12622] = 0x812B , + [12623] = 0x812D , + [12624] = 0x812E , + [12625] = 0x8130 , + [12626] = 0x8133 , + [12627] = 0x8134 , + [12628] = 0x8135 , + [12629] = 0x8137 , + [12630] = 0x8139 , + [12631] = 0x813A , + [12632] = 0x813B , + [12633] = 0x813C , + [12634] = 0x813D , + [12635] = 0x813F , + [12636] = 0x8C29 , + [12637] = 0x8292 , + [12638] = 0x832B , + [12639] = 0x76F2 , + [12640] = 0x6C13 , + [12641] = 0x5FD9 , + [12642] = 0x83BD , + [12643] = 0x732B , + [12644] = 0x8305 , + [12645] = 0x951A , + [12646] = 0x6BDB , + [12647] = 0x77DB , + [12648] = 0x94C6 , + [12649] = 0x536F , + [12650] = 0x8302 , + [12651] = 0x5192 , + [12652] = 0x5E3D , + [12653] = 0x8C8C , + [12654] = 0x8D38 , + [12655] = 0x4E48 , + [12656] = 0x73AB , + [12657] = 0x679A , + [12658] = 0x6885 , + [12659] = 0x9176 , + [12660] = 0x9709 , + [12661] = 0x7164 , + [12662] = 0x6CA1 , + [12663] = 0x7709 , + [12664] = 0x5A92 , + [12665] = 0x9541 , + [12666] = 0x6BCF , + [12667] = 0x7F8E , + [12668] = 0x6627 , + [12669] = 0x5BD0 , + [12670] = 0x59B9 , + [12671] = 0x5A9A , + [12672] = 0x95E8 , + [12673] = 0x95F7 , + [12674] = 0x4EEC , + [12675] = 0x840C , + [12676] = 0x8499 , + [12677] = 0x6AAC , + [12678] = 0x76DF , + [12679] = 0x9530 , + [12680] = 0x731B , + [12681] = 0x68A6 , + [12682] = 0x5B5F , + [12683] = 0x772F , + [12684] = 0x919A , + [12685] = 0x9761 , + [12686] = 0x7CDC , + [12687] = 0x8FF7 , + [12688] = 0x8C1C , + [12689] = 0x5F25 , + [12690] = 0x7C73 , + [12691] = 0x79D8 , + [12692] = 0x89C5 , + [12693] = 0x6CCC , + [12694] = 0x871C , + [12695] = 0x5BC6 , + [12696] = 0x5E42 , + [12697] = 0x68C9 , + [12698] = 0x7720 , + [12699] = 0x7EF5 , + [12700] = 0x5195 , + [12701] = 0x514D , + [12702] = 0x52C9 , + [12703] = 0x5A29 , + [12704] = 0x7F05 , + [12705] = 0x9762 , + [12706] = 0x82D7 , + [12707] = 0x63CF , + [12708] = 0x7784 , + [12709] = 0x85D0 , + [12710] = 0x79D2 , + [12711] = 0x6E3A , + [12712] = 0x5E99 , + [12713] = 0x5999 , + [12714] = 0x8511 , + [12715] = 0x706D , + [12716] = 0x6C11 , + [12717] = 0x62BF , + [12718] = 0x76BF , + [12719] = 0x654F , + [12720] = 0x60AF , + [12721] = 0x95FD , + [12722] = 0x660E , + [12723] = 0x879F , + [12724] = 0x9E23 , + [12725] = 0x94ED , + [12726] = 0x540D , + [12727] = 0x547D , + [12728] = 0x8C2C , + [12729] = 0x6478 , + [12730] = 0x8140 , + [12731] = 0x8141 , + [12732] = 0x8142 , + [12733] = 0x8143 , + [12734] = 0x8144 , + [12735] = 0x8145 , + [12736] = 0x8147 , + [12737] = 0x8149 , + [12738] = 0x814D , + [12739] = 0x814E , + [12740] = 0x814F , + [12741] = 0x8152 , + [12742] = 0x8156 , + [12743] = 0x8157 , + [12744] = 0x8158 , + [12745] = 0x815B , + [12746] = 0x815C , + [12747] = 0x815D , + [12748] = 0x815E , + [12749] = 0x815F , + [12750] = 0x8161 , + [12751] = 0x8162 , + [12752] = 0x8163 , + [12753] = 0x8164 , + [12754] = 0x8166 , + [12755] = 0x8168 , + [12756] = 0x816A , + [12757] = 0x816B , + [12758] = 0x816C , + [12759] = 0x816F , + [12760] = 0x8172 , + [12761] = 0x8173 , + [12762] = 0x8175 , + [12763] = 0x8176 , + [12764] = 0x8177 , + [12765] = 0x8178 , + [12766] = 0x8181 , + [12767] = 0x8183 , + [12768] = 0x8184 , + [12769] = 0x8185 , + [12770] = 0x8186 , + [12771] = 0x8187 , + [12772] = 0x8189 , + [12773] = 0x818B , + [12774] = 0x818C , + [12775] = 0x818D , + [12776] = 0x818E , + [12777] = 0x8190 , + [12778] = 0x8192 , + [12779] = 0x8193 , + [12780] = 0x8194 , + [12781] = 0x8195 , + [12782] = 0x8196 , + [12783] = 0x8197 , + [12784] = 0x8199 , + [12785] = 0x819A , + [12786] = 0x819E , + [12787] = 0x819F , + [12788] = 0x81A0 , + [12789] = 0x81A1 , + [12790] = 0x81A2 , + [12791] = 0x81A4 , + [12792] = 0x81A5 , + [12793] = 0x81A7 , + [12794] = 0x81A9 , + [12795] = 0x81AB , + [12796] = 0x81AC , + [12797] = 0x81AD , + [12798] = 0x81AE , + [12799] = 0x81AF , + [12800] = 0x81B0 , + [12801] = 0x81B1 , + [12802] = 0x81B2 , + [12803] = 0x81B4 , + [12804] = 0x81B5 , + [12805] = 0x81B6 , + [12806] = 0x81B7 , + [12807] = 0x81B8 , + [12808] = 0x81B9 , + [12809] = 0x81BC , + [12810] = 0x81BD , + [12811] = 0x81BE , + [12812] = 0x81BF , + [12813] = 0x81C4 , + [12814] = 0x81C5 , + [12815] = 0x81C7 , + [12816] = 0x81C8 , + [12817] = 0x81C9 , + [12818] = 0x81CB , + [12819] = 0x81CD , + [12820] = 0x81CE , + [12821] = 0x81CF , + [12822] = 0x81D0 , + [12823] = 0x81D1 , + [12824] = 0x81D2 , + [12825] = 0x81D3 , + [12826] = 0x6479 , + [12827] = 0x8611 , + [12828] = 0x6A21 , + [12829] = 0x819C , + [12830] = 0x78E8 , + [12831] = 0x6469 , + [12832] = 0x9B54 , + [12833] = 0x62B9 , + [12834] = 0x672B , + [12835] = 0x83AB , + [12836] = 0x58A8 , + [12837] = 0x9ED8 , + [12838] = 0x6CAB , + [12839] = 0x6F20 , + [12840] = 0x5BDE , + [12841] = 0x964C , + [12842] = 0x8C0B , + [12843] = 0x725F , + [12844] = 0x67D0 , + [12845] = 0x62C7 , + [12846] = 0x7261 , + [12847] = 0x4EA9 , + [12848] = 0x59C6 , + [12849] = 0x6BCD , + [12850] = 0x5893 , + [12851] = 0x66AE , + [12852] = 0x5E55 , + [12853] = 0x52DF , + [12854] = 0x6155 , + [12855] = 0x6728 , + [12856] = 0x76EE , + [12857] = 0x7766 , + [12858] = 0x7267 , + [12859] = 0x7A46 , + [12860] = 0x62FF , + [12861] = 0x54EA , + [12862] = 0x5450 , + [12863] = 0x94A0 , + [12864] = 0x90A3 , + [12865] = 0x5A1C , + [12866] = 0x7EB3 , + [12867] = 0x6C16 , + [12868] = 0x4E43 , + [12869] = 0x5976 , + [12870] = 0x8010 , + [12871] = 0x5948 , + [12872] = 0x5357 , + [12873] = 0x7537 , + [12874] = 0x96BE , + [12875] = 0x56CA , + [12876] = 0x6320 , + [12877] = 0x8111 , + [12878] = 0x607C , + [12879] = 0x95F9 , + [12880] = 0x6DD6 , + [12881] = 0x5462 , + [12882] = 0x9981 , + [12883] = 0x5185 , + [12884] = 0x5AE9 , + [12885] = 0x80FD , + [12886] = 0x59AE , + [12887] = 0x9713 , + [12888] = 0x502A , + [12889] = 0x6CE5 , + [12890] = 0x5C3C , + [12891] = 0x62DF , + [12892] = 0x4F60 , + [12893] = 0x533F , + [12894] = 0x817B , + [12895] = 0x9006 , + [12896] = 0x6EBA , + [12897] = 0x852B , + [12898] = 0x62C8 , + [12899] = 0x5E74 , + [12900] = 0x78BE , + [12901] = 0x64B5 , + [12902] = 0x637B , + [12903] = 0x5FF5 , + [12904] = 0x5A18 , + [12905] = 0x917F , + [12906] = 0x9E1F , + [12907] = 0x5C3F , + [12908] = 0x634F , + [12909] = 0x8042 , + [12910] = 0x5B7D , + [12911] = 0x556E , + [12912] = 0x954A , + [12913] = 0x954D , + [12914] = 0x6D85 , + [12915] = 0x60A8 , + [12916] = 0x67E0 , + [12917] = 0x72DE , + [12918] = 0x51DD , + [12919] = 0x5B81 , + [12920] = 0x81D4 , + [12921] = 0x81D5 , + [12922] = 0x81D6 , + [12923] = 0x81D7 , + [12924] = 0x81D8 , + [12925] = 0x81D9 , + [12926] = 0x81DA , + [12927] = 0x81DB , + [12928] = 0x81DC , + [12929] = 0x81DD , + [12930] = 0x81DE , + [12931] = 0x81DF , + [12932] = 0x81E0 , + [12933] = 0x81E1 , + [12934] = 0x81E2 , + [12935] = 0x81E4 , + [12936] = 0x81E5 , + [12937] = 0x81E6 , + [12938] = 0x81E8 , + [12939] = 0x81E9 , + [12940] = 0x81EB , + [12941] = 0x81EE , + [12942] = 0x81EF , + [12943] = 0x81F0 , + [12944] = 0x81F1 , + [12945] = 0x81F2 , + [12946] = 0x81F5 , + [12947] = 0x81F6 , + [12948] = 0x81F7 , + [12949] = 0x81F8 , + [12950] = 0x81F9 , + [12951] = 0x81FA , + [12952] = 0x81FD , + [12953] = 0x81FF , + [12954] = 0x8203 , + [12955] = 0x8207 , + [12956] = 0x8208 , + [12957] = 0x8209 , + [12958] = 0x820A , + [12959] = 0x820B , + [12960] = 0x820E , + [12961] = 0x820F , + [12962] = 0x8211 , + [12963] = 0x8213 , + [12964] = 0x8215 , + [12965] = 0x8216 , + [12966] = 0x8217 , + [12967] = 0x8218 , + [12968] = 0x8219 , + [12969] = 0x821A , + [12970] = 0x821D , + [12971] = 0x8220 , + [12972] = 0x8224 , + [12973] = 0x8225 , + [12974] = 0x8226 , + [12975] = 0x8227 , + [12976] = 0x8229 , + [12977] = 0x822E , + [12978] = 0x8232 , + [12979] = 0x823A , + [12980] = 0x823C , + [12981] = 0x823D , + [12982] = 0x823F , + [12983] = 0x8240 , + [12984] = 0x8241 , + [12985] = 0x8242 , + [12986] = 0x8243 , + [12987] = 0x8245 , + [12988] = 0x8246 , + [12989] = 0x8248 , + [12990] = 0x824A , + [12991] = 0x824C , + [12992] = 0x824D , + [12993] = 0x824E , + [12994] = 0x8250 , + [12995] = 0x8251 , + [12996] = 0x8252 , + [12997] = 0x8253 , + [12998] = 0x8254 , + [12999] = 0x8255 , + [13000] = 0x8256 , + [13001] = 0x8257 , + [13002] = 0x8259 , + [13003] = 0x825B , + [13004] = 0x825C , + [13005] = 0x825D , + [13006] = 0x825E , + [13007] = 0x8260 , + [13008] = 0x8261 , + [13009] = 0x8262 , + [13010] = 0x8263 , + [13011] = 0x8264 , + [13012] = 0x8265 , + [13013] = 0x8266 , + [13014] = 0x8267 , + [13015] = 0x8269 , + [13016] = 0x62E7 , + [13017] = 0x6CDE , + [13018] = 0x725B , + [13019] = 0x626D , + [13020] = 0x94AE , + [13021] = 0x7EBD , + [13022] = 0x8113 , + [13023] = 0x6D53 , + [13024] = 0x519C , + [13025] = 0x5F04 , + [13026] = 0x5974 , + [13027] = 0x52AA , + [13028] = 0x6012 , + [13029] = 0x5973 , + [13030] = 0x6696 , + [13031] = 0x8650 , + [13032] = 0x759F , + [13033] = 0x632A , + [13034] = 0x61E6 , + [13035] = 0x7CEF , + [13036] = 0x8BFA , + [13037] = 0x54E6 , + [13038] = 0x6B27 , + [13039] = 0x9E25 , + [13040] = 0x6BB4 , + [13041] = 0x85D5 , + [13042] = 0x5455 , + [13043] = 0x5076 , + [13044] = 0x6CA4 , + [13045] = 0x556A , + [13046] = 0x8DB4 , + [13047] = 0x722C , + [13048] = 0x5E15 , + [13049] = 0x6015 , + [13050] = 0x7436 , + [13051] = 0x62CD , + [13052] = 0x6392 , + [13053] = 0x724C , + [13054] = 0x5F98 , + [13055] = 0x6E43 , + [13056] = 0x6D3E , + [13057] = 0x6500 , + [13058] = 0x6F58 , + [13059] = 0x76D8 , + [13060] = 0x78D0 , + [13061] = 0x76FC , + [13062] = 0x7554 , + [13063] = 0x5224 , + [13064] = 0x53DB , + [13065] = 0x4E53 , + [13066] = 0x5E9E , + [13067] = 0x65C1 , + [13068] = 0x802A , + [13069] = 0x80D6 , + [13070] = 0x629B , + [13071] = 0x5486 , + [13072] = 0x5228 , + [13073] = 0x70AE , + [13074] = 0x888D , + [13075] = 0x8DD1 , + [13076] = 0x6CE1 , + [13077] = 0x5478 , + [13078] = 0x80DA , + [13079] = 0x57F9 , + [13080] = 0x88F4 , + [13081] = 0x8D54 , + [13082] = 0x966A , + [13083] = 0x914D , + [13084] = 0x4F69 , + [13085] = 0x6C9B , + [13086] = 0x55B7 , + [13087] = 0x76C6 , + [13088] = 0x7830 , + [13089] = 0x62A8 , + [13090] = 0x70F9 , + [13091] = 0x6F8E , + [13092] = 0x5F6D , + [13093] = 0x84EC , + [13094] = 0x68DA , + [13095] = 0x787C , + [13096] = 0x7BF7 , + [13097] = 0x81A8 , + [13098] = 0x670B , + [13099] = 0x9E4F , + [13100] = 0x6367 , + [13101] = 0x78B0 , + [13102] = 0x576F , + [13103] = 0x7812 , + [13104] = 0x9739 , + [13105] = 0x6279 , + [13106] = 0x62AB , + [13107] = 0x5288 , + [13108] = 0x7435 , + [13109] = 0x6BD7 , + [13110] = 0x826A , + [13111] = 0x826B , + [13112] = 0x826C , + [13113] = 0x826D , + [13114] = 0x8271 , + [13115] = 0x8275 , + [13116] = 0x8276 , + [13117] = 0x8277 , + [13118] = 0x8278 , + [13119] = 0x827B , + [13120] = 0x827C , + [13121] = 0x8280 , + [13122] = 0x8281 , + [13123] = 0x8283 , + [13124] = 0x8285 , + [13125] = 0x8286 , + [13126] = 0x8287 , + [13127] = 0x8289 , + [13128] = 0x828C , + [13129] = 0x8290 , + [13130] = 0x8293 , + [13131] = 0x8294 , + [13132] = 0x8295 , + [13133] = 0x8296 , + [13134] = 0x829A , + [13135] = 0x829B , + [13136] = 0x829E , + [13137] = 0x82A0 , + [13138] = 0x82A2 , + [13139] = 0x82A3 , + [13140] = 0x82A7 , + [13141] = 0x82B2 , + [13142] = 0x82B5 , + [13143] = 0x82B6 , + [13144] = 0x82BA , + [13145] = 0x82BB , + [13146] = 0x82BC , + [13147] = 0x82BF , + [13148] = 0x82C0 , + [13149] = 0x82C2 , + [13150] = 0x82C3 , + [13151] = 0x82C5 , + [13152] = 0x82C6 , + [13153] = 0x82C9 , + [13154] = 0x82D0 , + [13155] = 0x82D6 , + [13156] = 0x82D9 , + [13157] = 0x82DA , + [13158] = 0x82DD , + [13159] = 0x82E2 , + [13160] = 0x82E7 , + [13161] = 0x82E8 , + [13162] = 0x82E9 , + [13163] = 0x82EA , + [13164] = 0x82EC , + [13165] = 0x82ED , + [13166] = 0x82EE , + [13167] = 0x82F0 , + [13168] = 0x82F2 , + [13169] = 0x82F3 , + [13170] = 0x82F5 , + [13171] = 0x82F6 , + [13172] = 0x82F8 , + [13173] = 0x82FA , + [13174] = 0x82FC , + [13175] = 0x82FD , + [13176] = 0x82FE , + [13177] = 0x82FF , + [13178] = 0x8300 , + [13179] = 0x830A , + [13180] = 0x830B , + [13181] = 0x830D , + [13182] = 0x8310 , + [13183] = 0x8312 , + [13184] = 0x8313 , + [13185] = 0x8316 , + [13186] = 0x8318 , + [13187] = 0x8319 , + [13188] = 0x831D , + [13189] = 0x831E , + [13190] = 0x831F , + [13191] = 0x8320 , + [13192] = 0x8321 , + [13193] = 0x8322 , + [13194] = 0x8323 , + [13195] = 0x8324 , + [13196] = 0x8325 , + [13197] = 0x8326 , + [13198] = 0x8329 , + [13199] = 0x832A , + [13200] = 0x832E , + [13201] = 0x8330 , + [13202] = 0x8332 , + [13203] = 0x8337 , + [13204] = 0x833B , + [13205] = 0x833D , + [13206] = 0x5564 , + [13207] = 0x813E , + [13208] = 0x75B2 , + [13209] = 0x76AE , + [13210] = 0x5339 , + [13211] = 0x75DE , + [13212] = 0x50FB , + [13213] = 0x5C41 , + [13214] = 0x8B6C , + [13215] = 0x7BC7 , + [13216] = 0x504F , + [13217] = 0x7247 , + [13218] = 0x9A97 , + [13219] = 0x98D8 , + [13220] = 0x6F02 , + [13221] = 0x74E2 , + [13222] = 0x7968 , + [13223] = 0x6487 , + [13224] = 0x77A5 , + [13225] = 0x62FC , + [13226] = 0x9891 , + [13227] = 0x8D2B , + [13228] = 0x54C1 , + [13229] = 0x8058 , + [13230] = 0x4E52 , + [13231] = 0x576A , + [13232] = 0x82F9 , + [13233] = 0x840D , + [13234] = 0x5E73 , + [13235] = 0x51ED , + [13236] = 0x74F6 , + [13237] = 0x8BC4 , + [13238] = 0x5C4F , + [13239] = 0x5761 , + [13240] = 0x6CFC , + [13241] = 0x9887 , + [13242] = 0x5A46 , + [13243] = 0x7834 , + [13244] = 0x9B44 , + [13245] = 0x8FEB , + [13246] = 0x7C95 , + [13247] = 0x5256 , + [13248] = 0x6251 , + [13249] = 0x94FA , + [13250] = 0x4EC6 , + [13251] = 0x8386 , + [13252] = 0x8461 , + [13253] = 0x83E9 , + [13254] = 0x84B2 , + [13255] = 0x57D4 , + [13256] = 0x6734 , + [13257] = 0x5703 , + [13258] = 0x666E , + [13259] = 0x6D66 , + [13260] = 0x8C31 , + [13261] = 0x66DD , + [13262] = 0x7011 , + [13263] = 0x671F , + [13264] = 0x6B3A , + [13265] = 0x6816 , + [13266] = 0x621A , + [13267] = 0x59BB , + [13268] = 0x4E03 , + [13269] = 0x51C4 , + [13270] = 0x6F06 , + [13271] = 0x67D2 , + [13272] = 0x6C8F , + [13273] = 0x5176 , + [13274] = 0x68CB , + [13275] = 0x5947 , + [13276] = 0x6B67 , + [13277] = 0x7566 , + [13278] = 0x5D0E , + [13279] = 0x8110 , + [13280] = 0x9F50 , + [13281] = 0x65D7 , + [13282] = 0x7948 , + [13283] = 0x7941 , + [13284] = 0x9A91 , + [13285] = 0x8D77 , + [13286] = 0x5C82 , + [13287] = 0x4E5E , + [13288] = 0x4F01 , + [13289] = 0x542F , + [13290] = 0x5951 , + [13291] = 0x780C , + [13292] = 0x5668 , + [13293] = 0x6C14 , + [13294] = 0x8FC4 , + [13295] = 0x5F03 , + [13296] = 0x6C7D , + [13297] = 0x6CE3 , + [13298] = 0x8BAB , + [13299] = 0x6390 , + [13300] = 0x833E , + [13301] = 0x833F , + [13302] = 0x8341 , + [13303] = 0x8342 , + [13304] = 0x8344 , + [13305] = 0x8345 , + [13306] = 0x8348 , + [13307] = 0x834A , + [13308] = 0x834B , + [13309] = 0x834C , + [13310] = 0x834D , + [13311] = 0x834E , + [13312] = 0x8353 , + [13313] = 0x8355 , + [13314] = 0x8356 , + [13315] = 0x8357 , + [13316] = 0x8358 , + [13317] = 0x8359 , + [13318] = 0x835D , + [13319] = 0x8362 , + [13320] = 0x8370 , + [13321] = 0x8371 , + [13322] = 0x8372 , + [13323] = 0x8373 , + [13324] = 0x8374 , + [13325] = 0x8375 , + [13326] = 0x8376 , + [13327] = 0x8379 , + [13328] = 0x837A , + [13329] = 0x837E , + [13330] = 0x837F , + [13331] = 0x8380 , + [13332] = 0x8381 , + [13333] = 0x8382 , + [13334] = 0x8383 , + [13335] = 0x8384 , + [13336] = 0x8387 , + [13337] = 0x8388 , + [13338] = 0x838A , + [13339] = 0x838B , + [13340] = 0x838C , + [13341] = 0x838D , + [13342] = 0x838F , + [13343] = 0x8390 , + [13344] = 0x8391 , + [13345] = 0x8394 , + [13346] = 0x8395 , + [13347] = 0x8396 , + [13348] = 0x8397 , + [13349] = 0x8399 , + [13350] = 0x839A , + [13351] = 0x839D , + [13352] = 0x839F , + [13353] = 0x83A1 , + [13354] = 0x83A2 , + [13355] = 0x83A3 , + [13356] = 0x83A4 , + [13357] = 0x83A5 , + [13358] = 0x83A6 , + [13359] = 0x83A7 , + [13360] = 0x83AC , + [13361] = 0x83AD , + [13362] = 0x83AE , + [13363] = 0x83AF , + [13364] = 0x83B5 , + [13365] = 0x83BB , + [13366] = 0x83BE , + [13367] = 0x83BF , + [13368] = 0x83C2 , + [13369] = 0x83C3 , + [13370] = 0x83C4 , + [13371] = 0x83C6 , + [13372] = 0x83C8 , + [13373] = 0x83C9 , + [13374] = 0x83CB , + [13375] = 0x83CD , + [13376] = 0x83CE , + [13377] = 0x83D0 , + [13378] = 0x83D1 , + [13379] = 0x83D2 , + [13380] = 0x83D3 , + [13381] = 0x83D5 , + [13382] = 0x83D7 , + [13383] = 0x83D9 , + [13384] = 0x83DA , + [13385] = 0x83DB , + [13386] = 0x83DE , + [13387] = 0x83E2 , + [13388] = 0x83E3 , + [13389] = 0x83E4 , + [13390] = 0x83E6 , + [13391] = 0x83E7 , + [13392] = 0x83E8 , + [13393] = 0x83EB , + [13394] = 0x83EC , + [13395] = 0x83ED , + [13396] = 0x6070 , + [13397] = 0x6D3D , + [13398] = 0x7275 , + [13399] = 0x6266 , + [13400] = 0x948E , + [13401] = 0x94C5 , + [13402] = 0x5343 , + [13403] = 0x8FC1 , + [13404] = 0x7B7E , + [13405] = 0x4EDF , + [13406] = 0x8C26 , + [13407] = 0x4E7E , + [13408] = 0x9ED4 , + [13409] = 0x94B1 , + [13410] = 0x94B3 , + [13411] = 0x524D , + [13412] = 0x6F5C , + [13413] = 0x9063 , + [13414] = 0x6D45 , + [13415] = 0x8C34 , + [13416] = 0x5811 , + [13417] = 0x5D4C , + [13418] = 0x6B20 , + [13419] = 0x6B49 , + [13420] = 0x67AA , + [13421] = 0x545B , + [13422] = 0x8154 , + [13423] = 0x7F8C , + [13424] = 0x5899 , + [13425] = 0x8537 , + [13426] = 0x5F3A , + [13427] = 0x62A2 , + [13428] = 0x6A47 , + [13429] = 0x9539 , + [13430] = 0x6572 , + [13431] = 0x6084 , + [13432] = 0x6865 , + [13433] = 0x77A7 , + [13434] = 0x4E54 , + [13435] = 0x4FA8 , + [13436] = 0x5DE7 , + [13437] = 0x9798 , + [13438] = 0x64AC , + [13439] = 0x7FD8 , + [13440] = 0x5CED , + [13441] = 0x4FCF , + [13442] = 0x7A8D , + [13443] = 0x5207 , + [13444] = 0x8304 , + [13445] = 0x4E14 , + [13446] = 0x602F , + [13447] = 0x7A83 , + [13448] = 0x94A6 , + [13449] = 0x4FB5 , + [13450] = 0x4EB2 , + [13451] = 0x79E6 , + [13452] = 0x7434 , + [13453] = 0x52E4 , + [13454] = 0x82B9 , + [13455] = 0x64D2 , + [13456] = 0x79BD , + [13457] = 0x5BDD , + [13458] = 0x6C81 , + [13459] = 0x9752 , + [13460] = 0x8F7B , + [13461] = 0x6C22 , + [13462] = 0x503E , + [13463] = 0x537F , + [13464] = 0x6E05 , + [13465] = 0x64CE , + [13466] = 0x6674 , + [13467] = 0x6C30 , + [13468] = 0x60C5 , + [13469] = 0x9877 , + [13470] = 0x8BF7 , + [13471] = 0x5E86 , + [13472] = 0x743C , + [13473] = 0x7A77 , + [13474] = 0x79CB , + [13475] = 0x4E18 , + [13476] = 0x90B1 , + [13477] = 0x7403 , + [13478] = 0x6C42 , + [13479] = 0x56DA , + [13480] = 0x914B , + [13481] = 0x6CC5 , + [13482] = 0x8D8B , + [13483] = 0x533A , + [13484] = 0x86C6 , + [13485] = 0x66F2 , + [13486] = 0x8EAF , + [13487] = 0x5C48 , + [13488] = 0x9A71 , + [13489] = 0x6E20 , + [13490] = 0x83EE , + [13491] = 0x83EF , + [13492] = 0x83F3 , + [13493] = 0x83F4 , + [13494] = 0x83F5 , + [13495] = 0x83F6 , + [13496] = 0x83F7 , + [13497] = 0x83FA , + [13498] = 0x83FB , + [13499] = 0x83FC , + [13500] = 0x83FE , + [13501] = 0x83FF , + [13502] = 0x8400 , + [13503] = 0x8402 , + [13504] = 0x8405 , + [13505] = 0x8407 , + [13506] = 0x8408 , + [13507] = 0x8409 , + [13508] = 0x840A , + [13509] = 0x8410 , + [13510] = 0x8412 , + [13511] = 0x8413 , + [13512] = 0x8414 , + [13513] = 0x8415 , + [13514] = 0x8416 , + [13515] = 0x8417 , + [13516] = 0x8419 , + [13517] = 0x841A , + [13518] = 0x841B , + [13519] = 0x841E , + [13520] = 0x841F , + [13521] = 0x8420 , + [13522] = 0x8421 , + [13523] = 0x8422 , + [13524] = 0x8423 , + [13525] = 0x8429 , + [13526] = 0x842A , + [13527] = 0x842B , + [13528] = 0x842C , + [13529] = 0x842D , + [13530] = 0x842E , + [13531] = 0x842F , + [13532] = 0x8430 , + [13533] = 0x8432 , + [13534] = 0x8433 , + [13535] = 0x8434 , + [13536] = 0x8435 , + [13537] = 0x8436 , + [13538] = 0x8437 , + [13539] = 0x8439 , + [13540] = 0x843A , + [13541] = 0x843B , + [13542] = 0x843E , + [13543] = 0x843F , + [13544] = 0x8440 , + [13545] = 0x8441 , + [13546] = 0x8442 , + [13547] = 0x8443 , + [13548] = 0x8444 , + [13549] = 0x8445 , + [13550] = 0x8447 , + [13551] = 0x8448 , + [13552] = 0x8449 , + [13553] = 0x844A , + [13554] = 0x844B , + [13555] = 0x844C , + [13556] = 0x844D , + [13557] = 0x844E , + [13558] = 0x844F , + [13559] = 0x8450 , + [13560] = 0x8452 , + [13561] = 0x8453 , + [13562] = 0x8454 , + [13563] = 0x8455 , + [13564] = 0x8456 , + [13565] = 0x8458 , + [13566] = 0x845D , + [13567] = 0x845E , + [13568] = 0x845F , + [13569] = 0x8460 , + [13570] = 0x8462 , + [13571] = 0x8464 , + [13572] = 0x8465 , + [13573] = 0x8466 , + [13574] = 0x8467 , + [13575] = 0x8468 , + [13576] = 0x846A , + [13577] = 0x846E , + [13578] = 0x846F , + [13579] = 0x8470 , + [13580] = 0x8472 , + [13581] = 0x8474 , + [13582] = 0x8477 , + [13583] = 0x8479 , + [13584] = 0x847B , + [13585] = 0x847C , + [13586] = 0x53D6 , + [13587] = 0x5A36 , + [13588] = 0x9F8B , + [13589] = 0x8DA3 , + [13590] = 0x53BB , + [13591] = 0x5708 , + [13592] = 0x98A7 , + [13593] = 0x6743 , + [13594] = 0x919B , + [13595] = 0x6CC9 , + [13596] = 0x5168 , + [13597] = 0x75CA , + [13598] = 0x62F3 , + [13599] = 0x72AC , + [13600] = 0x5238 , + [13601] = 0x529D , + [13602] = 0x7F3A , + [13603] = 0x7094 , + [13604] = 0x7638 , + [13605] = 0x5374 , + [13606] = 0x9E4A , + [13607] = 0x69B7 , + [13608] = 0x786E , + [13609] = 0x96C0 , + [13610] = 0x88D9 , + [13611] = 0x7FA4 , + [13612] = 0x7136 , + [13613] = 0x71C3 , + [13614] = 0x5189 , + [13615] = 0x67D3 , + [13616] = 0x74E4 , + [13617] = 0x58E4 , + [13618] = 0x6518 , + [13619] = 0x56B7 , + [13620] = 0x8BA9 , + [13621] = 0x9976 , + [13622] = 0x6270 , + [13623] = 0x7ED5 , + [13624] = 0x60F9 , + [13625] = 0x70ED , + [13626] = 0x58EC , + [13627] = 0x4EC1 , + [13628] = 0x4EBA , + [13629] = 0x5FCD , + [13630] = 0x97E7 , + [13631] = 0x4EFB , + [13632] = 0x8BA4 , + [13633] = 0x5203 , + [13634] = 0x598A , + [13635] = 0x7EAB , + [13636] = 0x6254 , + [13637] = 0x4ECD , + [13638] = 0x65E5 , + [13639] = 0x620E , + [13640] = 0x8338 , + [13641] = 0x84C9 , + [13642] = 0x8363 , + [13643] = 0x878D , + [13644] = 0x7194 , + [13645] = 0x6EB6 , + [13646] = 0x5BB9 , + [13647] = 0x7ED2 , + [13648] = 0x5197 , + [13649] = 0x63C9 , + [13650] = 0x67D4 , + [13651] = 0x8089 , + [13652] = 0x8339 , + [13653] = 0x8815 , + [13654] = 0x5112 , + [13655] = 0x5B7A , + [13656] = 0x5982 , + [13657] = 0x8FB1 , + [13658] = 0x4E73 , + [13659] = 0x6C5D , + [13660] = 0x5165 , + [13661] = 0x8925 , + [13662] = 0x8F6F , + [13663] = 0x962E , + [13664] = 0x854A , + [13665] = 0x745E , + [13666] = 0x9510 , + [13667] = 0x95F0 , + [13668] = 0x6DA6 , + [13669] = 0x82E5 , + [13670] = 0x5F31 , + [13671] = 0x6492 , + [13672] = 0x6D12 , + [13673] = 0x8428 , + [13674] = 0x816E , + [13675] = 0x9CC3 , + [13676] = 0x585E , + [13677] = 0x8D5B , + [13678] = 0x4E09 , + [13679] = 0x53C1 , + [13680] = 0x847D , + [13681] = 0x847E , + [13682] = 0x847F , + [13683] = 0x8480 , + [13684] = 0x8481 , + [13685] = 0x8483 , + [13686] = 0x8484 , + [13687] = 0x8485 , + [13688] = 0x8486 , + [13689] = 0x848A , + [13690] = 0x848D , + [13691] = 0x848F , + [13692] = 0x8490 , + [13693] = 0x8491 , + [13694] = 0x8492 , + [13695] = 0x8493 , + [13696] = 0x8494 , + [13697] = 0x8495 , + [13698] = 0x8496 , + [13699] = 0x8498 , + [13700] = 0x849A , + [13701] = 0x849B , + [13702] = 0x849D , + [13703] = 0x849E , + [13704] = 0x849F , + [13705] = 0x84A0 , + [13706] = 0x84A2 , + [13707] = 0x84A3 , + [13708] = 0x84A4 , + [13709] = 0x84A5 , + [13710] = 0x84A6 , + [13711] = 0x84A7 , + [13712] = 0x84A8 , + [13713] = 0x84A9 , + [13714] = 0x84AA , + [13715] = 0x84AB , + [13716] = 0x84AC , + [13717] = 0x84AD , + [13718] = 0x84AE , + [13719] = 0x84B0 , + [13720] = 0x84B1 , + [13721] = 0x84B3 , + [13722] = 0x84B5 , + [13723] = 0x84B6 , + [13724] = 0x84B7 , + [13725] = 0x84BB , + [13726] = 0x84BC , + [13727] = 0x84BE , + [13728] = 0x84C0 , + [13729] = 0x84C2 , + [13730] = 0x84C3 , + [13731] = 0x84C5 , + [13732] = 0x84C6 , + [13733] = 0x84C7 , + [13734] = 0x84C8 , + [13735] = 0x84CB , + [13736] = 0x84CC , + [13737] = 0x84CE , + [13738] = 0x84CF , + [13739] = 0x84D2 , + [13740] = 0x84D4 , + [13741] = 0x84D5 , + [13742] = 0x84D7 , + [13743] = 0x84D8 , + [13744] = 0x84D9 , + [13745] = 0x84DA , + [13746] = 0x84DB , + [13747] = 0x84DC , + [13748] = 0x84DE , + [13749] = 0x84E1 , + [13750] = 0x84E2 , + [13751] = 0x84E4 , + [13752] = 0x84E7 , + [13753] = 0x84E8 , + [13754] = 0x84E9 , + [13755] = 0x84EA , + [13756] = 0x84EB , + [13757] = 0x84ED , + [13758] = 0x84EE , + [13759] = 0x84EF , + [13760] = 0x84F1 , + [13761] = 0x84F2 , + [13762] = 0x84F3 , + [13763] = 0x84F4 , + [13764] = 0x84F5 , + [13765] = 0x84F6 , + [13766] = 0x84F7 , + [13767] = 0x84F8 , + [13768] = 0x84F9 , + [13769] = 0x84FA , + [13770] = 0x84FB , + [13771] = 0x84FD , + [13772] = 0x84FE , + [13773] = 0x8500 , + [13774] = 0x8501 , + [13775] = 0x8502 , + [13776] = 0x4F1E , + [13777] = 0x6563 , + [13778] = 0x6851 , + [13779] = 0x55D3 , + [13780] = 0x4E27 , + [13781] = 0x6414 , + [13782] = 0x9A9A , + [13783] = 0x626B , + [13784] = 0x5AC2 , + [13785] = 0x745F , + [13786] = 0x8272 , + [13787] = 0x6DA9 , + [13788] = 0x68EE , + [13789] = 0x50E7 , + [13790] = 0x838E , + [13791] = 0x7802 , + [13792] = 0x6740 , + [13793] = 0x5239 , + [13794] = 0x6C99 , + [13795] = 0x7EB1 , + [13796] = 0x50BB , + [13797] = 0x5565 , + [13798] = 0x715E , + [13799] = 0x7B5B , + [13800] = 0x6652 , + [13801] = 0x73CA , + [13802] = 0x82EB , + [13803] = 0x6749 , + [13804] = 0x5C71 , + [13805] = 0x5220 , + [13806] = 0x717D , + [13807] = 0x886B , + [13808] = 0x95EA , + [13809] = 0x9655 , + [13810] = 0x64C5 , + [13811] = 0x8D61 , + [13812] = 0x81B3 , + [13813] = 0x5584 , + [13814] = 0x6C55 , + [13815] = 0x6247 , + [13816] = 0x7F2E , + [13817] = 0x5892 , + [13818] = 0x4F24 , + [13819] = 0x5546 , + [13820] = 0x8D4F , + [13821] = 0x664C , + [13822] = 0x4E0A , + [13823] = 0x5C1A , + [13824] = 0x88F3 , + [13825] = 0x68A2 , + [13826] = 0x634E , + [13827] = 0x7A0D , + [13828] = 0x70E7 , + [13829] = 0x828D , + [13830] = 0x52FA , + [13831] = 0x97F6 , + [13832] = 0x5C11 , + [13833] = 0x54E8 , + [13834] = 0x90B5 , + [13835] = 0x7ECD , + [13836] = 0x5962 , + [13837] = 0x8D4A , + [13838] = 0x86C7 , + [13839] = 0x820C , + [13840] = 0x820D , + [13841] = 0x8D66 , + [13842] = 0x6444 , + [13843] = 0x5C04 , + [13844] = 0x6151 , + [13845] = 0x6D89 , + [13846] = 0x793E , + [13847] = 0x8BBE , + [13848] = 0x7837 , + [13849] = 0x7533 , + [13850] = 0x547B , + [13851] = 0x4F38 , + [13852] = 0x8EAB , + [13853] = 0x6DF1 , + [13854] = 0x5A20 , + [13855] = 0x7EC5 , + [13856] = 0x795E , + [13857] = 0x6C88 , + [13858] = 0x5BA1 , + [13859] = 0x5A76 , + [13860] = 0x751A , + [13861] = 0x80BE , + [13862] = 0x614E , + [13863] = 0x6E17 , + [13864] = 0x58F0 , + [13865] = 0x751F , + [13866] = 0x7525 , + [13867] = 0x7272 , + [13868] = 0x5347 , + [13869] = 0x7EF3 , + [13870] = 0x8503 , + [13871] = 0x8504 , + [13872] = 0x8505 , + [13873] = 0x8506 , + [13874] = 0x8507 , + [13875] = 0x8508 , + [13876] = 0x8509 , + [13877] = 0x850A , + [13878] = 0x850B , + [13879] = 0x850D , + [13880] = 0x850E , + [13881] = 0x850F , + [13882] = 0x8510 , + [13883] = 0x8512 , + [13884] = 0x8514 , + [13885] = 0x8515 , + [13886] = 0x8516 , + [13887] = 0x8518 , + [13888] = 0x8519 , + [13889] = 0x851B , + [13890] = 0x851C , + [13891] = 0x851D , + [13892] = 0x851E , + [13893] = 0x8520 , + [13894] = 0x8522 , + [13895] = 0x8523 , + [13896] = 0x8524 , + [13897] = 0x8525 , + [13898] = 0x8526 , + [13899] = 0x8527 , + [13900] = 0x8528 , + [13901] = 0x8529 , + [13902] = 0x852A , + [13903] = 0x852D , + [13904] = 0x852E , + [13905] = 0x852F , + [13906] = 0x8530 , + [13907] = 0x8531 , + [13908] = 0x8532 , + [13909] = 0x8533 , + [13910] = 0x8534 , + [13911] = 0x8535 , + [13912] = 0x8536 , + [13913] = 0x853E , + [13914] = 0x853F , + [13915] = 0x8540 , + [13916] = 0x8541 , + [13917] = 0x8542 , + [13918] = 0x8544 , + [13919] = 0x8545 , + [13920] = 0x8546 , + [13921] = 0x8547 , + [13922] = 0x854B , + [13923] = 0x854C , + [13924] = 0x854D , + [13925] = 0x854E , + [13926] = 0x854F , + [13927] = 0x8550 , + [13928] = 0x8551 , + [13929] = 0x8552 , + [13930] = 0x8553 , + [13931] = 0x8554 , + [13932] = 0x8555 , + [13933] = 0x8557 , + [13934] = 0x8558 , + [13935] = 0x855A , + [13936] = 0x855B , + [13937] = 0x855C , + [13938] = 0x855D , + [13939] = 0x855F , + [13940] = 0x8560 , + [13941] = 0x8561 , + [13942] = 0x8562 , + [13943] = 0x8563 , + [13944] = 0x8565 , + [13945] = 0x8566 , + [13946] = 0x8567 , + [13947] = 0x8569 , + [13948] = 0x856A , + [13949] = 0x856B , + [13950] = 0x856C , + [13951] = 0x856D , + [13952] = 0x856E , + [13953] = 0x856F , + [13954] = 0x8570 , + [13955] = 0x8571 , + [13956] = 0x8573 , + [13957] = 0x8575 , + [13958] = 0x8576 , + [13959] = 0x8577 , + [13960] = 0x8578 , + [13961] = 0x857C , + [13962] = 0x857D , + [13963] = 0x857F , + [13964] = 0x8580 , + [13965] = 0x8581 , + [13966] = 0x7701 , + [13967] = 0x76DB , + [13968] = 0x5269 , + [13969] = 0x80DC , + [13970] = 0x5723 , + [13971] = 0x5E08 , + [13972] = 0x5931 , + [13973] = 0x72EE , + [13974] = 0x65BD , + [13975] = 0x6E7F , + [13976] = 0x8BD7 , + [13977] = 0x5C38 , + [13978] = 0x8671 , + [13979] = 0x5341 , + [13980] = 0x77F3 , + [13981] = 0x62FE , + [13982] = 0x65F6 , + [13983] = 0x4EC0 , + [13984] = 0x98DF , + [13985] = 0x8680 , + [13986] = 0x5B9E , + [13987] = 0x8BC6 , + [13988] = 0x53F2 , + [13989] = 0x77E2 , + [13990] = 0x4F7F , + [13991] = 0x5C4E , + [13992] = 0x9A76 , + [13993] = 0x59CB , + [13994] = 0x5F0F , + [13995] = 0x793A , + [13996] = 0x58EB , + [13997] = 0x4E16 , + [13998] = 0x67FF , + [13999] = 0x4E8B , + [14000] = 0x62ED , + [14001] = 0x8A93 , + [14002] = 0x901D , + [14003] = 0x52BF , + [14004] = 0x662F , + [14005] = 0x55DC , + [14006] = 0x566C , + [14007] = 0x9002 , + [14008] = 0x4ED5 , + [14009] = 0x4F8D , + [14010] = 0x91CA , + [14011] = 0x9970 , + [14012] = 0x6C0F , + [14013] = 0x5E02 , + [14014] = 0x6043 , + [14015] = 0x5BA4 , + [14016] = 0x89C6 , + [14017] = 0x8BD5 , + [14018] = 0x6536 , + [14019] = 0x624B , + [14020] = 0x9996 , + [14021] = 0x5B88 , + [14022] = 0x5BFF , + [14023] = 0x6388 , + [14024] = 0x552E , + [14025] = 0x53D7 , + [14026] = 0x7626 , + [14027] = 0x517D , + [14028] = 0x852C , + [14029] = 0x67A2 , + [14030] = 0x68B3 , + [14031] = 0x6B8A , + [14032] = 0x6292 , + [14033] = 0x8F93 , + [14034] = 0x53D4 , + [14035] = 0x8212 , + [14036] = 0x6DD1 , + [14037] = 0x758F , + [14038] = 0x4E66 , + [14039] = 0x8D4E , + [14040] = 0x5B70 , + [14041] = 0x719F , + [14042] = 0x85AF , + [14043] = 0x6691 , + [14044] = 0x66D9 , + [14045] = 0x7F72 , + [14046] = 0x8700 , + [14047] = 0x9ECD , + [14048] = 0x9F20 , + [14049] = 0x5C5E , + [14050] = 0x672F , + [14051] = 0x8FF0 , + [14052] = 0x6811 , + [14053] = 0x675F , + [14054] = 0x620D , + [14055] = 0x7AD6 , + [14056] = 0x5885 , + [14057] = 0x5EB6 , + [14058] = 0x6570 , + [14059] = 0x6F31 , + [14060] = 0x8582 , + [14061] = 0x8583 , + [14062] = 0x8586 , + [14063] = 0x8588 , + [14064] = 0x8589 , + [14065] = 0x858A , + [14066] = 0x858B , + [14067] = 0x858C , + [14068] = 0x858D , + [14069] = 0x858E , + [14070] = 0x8590 , + [14071] = 0x8591 , + [14072] = 0x8592 , + [14073] = 0x8593 , + [14074] = 0x8594 , + [14075] = 0x8595 , + [14076] = 0x8596 , + [14077] = 0x8597 , + [14078] = 0x8598 , + [14079] = 0x8599 , + [14080] = 0x859A , + [14081] = 0x859D , + [14082] = 0x859E , + [14083] = 0x859F , + [14084] = 0x85A0 , + [14085] = 0x85A1 , + [14086] = 0x85A2 , + [14087] = 0x85A3 , + [14088] = 0x85A5 , + [14089] = 0x85A6 , + [14090] = 0x85A7 , + [14091] = 0x85A9 , + [14092] = 0x85AB , + [14093] = 0x85AC , + [14094] = 0x85AD , + [14095] = 0x85B1 , + [14096] = 0x85B2 , + [14097] = 0x85B3 , + [14098] = 0x85B4 , + [14099] = 0x85B5 , + [14100] = 0x85B6 , + [14101] = 0x85B8 , + [14102] = 0x85BA , + [14103] = 0x85BB , + [14104] = 0x85BC , + [14105] = 0x85BD , + [14106] = 0x85BE , + [14107] = 0x85BF , + [14108] = 0x85C0 , + [14109] = 0x85C2 , + [14110] = 0x85C3 , + [14111] = 0x85C4 , + [14112] = 0x85C5 , + [14113] = 0x85C6 , + [14114] = 0x85C7 , + [14115] = 0x85C8 , + [14116] = 0x85CA , + [14117] = 0x85CB , + [14118] = 0x85CC , + [14119] = 0x85CD , + [14120] = 0x85CE , + [14121] = 0x85D1 , + [14122] = 0x85D2 , + [14123] = 0x85D4 , + [14124] = 0x85D6 , + [14125] = 0x85D7 , + [14126] = 0x85D8 , + [14127] = 0x85D9 , + [14128] = 0x85DA , + [14129] = 0x85DB , + [14130] = 0x85DD , + [14131] = 0x85DE , + [14132] = 0x85DF , + [14133] = 0x85E0 , + [14134] = 0x85E1 , + [14135] = 0x85E2 , + [14136] = 0x85E3 , + [14137] = 0x85E5 , + [14138] = 0x85E6 , + [14139] = 0x85E7 , + [14140] = 0x85E8 , + [14141] = 0x85EA , + [14142] = 0x85EB , + [14143] = 0x85EC , + [14144] = 0x85ED , + [14145] = 0x85EE , + [14146] = 0x85EF , + [14147] = 0x85F0 , + [14148] = 0x85F1 , + [14149] = 0x85F2 , + [14150] = 0x85F3 , + [14151] = 0x85F4 , + [14152] = 0x85F5 , + [14153] = 0x85F6 , + [14154] = 0x85F7 , + [14155] = 0x85F8 , + [14156] = 0x6055 , + [14157] = 0x5237 , + [14158] = 0x800D , + [14159] = 0x6454 , + [14160] = 0x8870 , + [14161] = 0x7529 , + [14162] = 0x5E05 , + [14163] = 0x6813 , + [14164] = 0x62F4 , + [14165] = 0x971C , + [14166] = 0x53CC , + [14167] = 0x723D , + [14168] = 0x8C01 , + [14169] = 0x6C34 , + [14170] = 0x7761 , + [14171] = 0x7A0E , + [14172] = 0x542E , + [14173] = 0x77AC , + [14174] = 0x987A , + [14175] = 0x821C , + [14176] = 0x8BF4 , + [14177] = 0x7855 , + [14178] = 0x6714 , + [14179] = 0x70C1 , + [14180] = 0x65AF , + [14181] = 0x6495 , + [14182] = 0x5636 , + [14183] = 0x601D , + [14184] = 0x79C1 , + [14185] = 0x53F8 , + [14186] = 0x4E1D , + [14187] = 0x6B7B , + [14188] = 0x8086 , + [14189] = 0x5BFA , + [14190] = 0x55E3 , + [14191] = 0x56DB , + [14192] = 0x4F3A , + [14193] = 0x4F3C , + [14194] = 0x9972 , + [14195] = 0x5DF3 , + [14196] = 0x677E , + [14197] = 0x8038 , + [14198] = 0x6002 , + [14199] = 0x9882 , + [14200] = 0x9001 , + [14201] = 0x5B8B , + [14202] = 0x8BBC , + [14203] = 0x8BF5 , + [14204] = 0x641C , + [14205] = 0x8258 , + [14206] = 0x64DE , + [14207] = 0x55FD , + [14208] = 0x82CF , + [14209] = 0x9165 , + [14210] = 0x4FD7 , + [14211] = 0x7D20 , + [14212] = 0x901F , + [14213] = 0x7C9F , + [14214] = 0x50F3 , + [14215] = 0x5851 , + [14216] = 0x6EAF , + [14217] = 0x5BBF , + [14218] = 0x8BC9 , + [14219] = 0x8083 , + [14220] = 0x9178 , + [14221] = 0x849C , + [14222] = 0x7B97 , + [14223] = 0x867D , + [14224] = 0x968B , + [14225] = 0x968F , + [14226] = 0x7EE5 , + [14227] = 0x9AD3 , + [14228] = 0x788E , + [14229] = 0x5C81 , + [14230] = 0x7A57 , + [14231] = 0x9042 , + [14232] = 0x96A7 , + [14233] = 0x795F , + [14234] = 0x5B59 , + [14235] = 0x635F , + [14236] = 0x7B0B , + [14237] = 0x84D1 , + [14238] = 0x68AD , + [14239] = 0x5506 , + [14240] = 0x7F29 , + [14241] = 0x7410 , + [14242] = 0x7D22 , + [14243] = 0x9501 , + [14244] = 0x6240 , + [14245] = 0x584C , + [14246] = 0x4ED6 , + [14247] = 0x5B83 , + [14248] = 0x5979 , + [14249] = 0x5854 , + [14250] = 0x85F9 , + [14251] = 0x85FA , + [14252] = 0x85FC , + [14253] = 0x85FD , + [14254] = 0x85FE , + [14255] = 0x8600 , + [14256] = 0x8601 , + [14257] = 0x8602 , + [14258] = 0x8603 , + [14259] = 0x8604 , + [14260] = 0x8606 , + [14261] = 0x8607 , + [14262] = 0x8608 , + [14263] = 0x8609 , + [14264] = 0x860A , + [14265] = 0x860B , + [14266] = 0x860C , + [14267] = 0x860D , + [14268] = 0x860E , + [14269] = 0x860F , + [14270] = 0x8610 , + [14271] = 0x8612 , + [14272] = 0x8613 , + [14273] = 0x8614 , + [14274] = 0x8615 , + [14275] = 0x8617 , + [14276] = 0x8618 , + [14277] = 0x8619 , + [14278] = 0x861A , + [14279] = 0x861B , + [14280] = 0x861C , + [14281] = 0x861D , + [14282] = 0x861E , + [14283] = 0x861F , + [14284] = 0x8620 , + [14285] = 0x8621 , + [14286] = 0x8622 , + [14287] = 0x8623 , + [14288] = 0x8624 , + [14289] = 0x8625 , + [14290] = 0x8626 , + [14291] = 0x8628 , + [14292] = 0x862A , + [14293] = 0x862B , + [14294] = 0x862C , + [14295] = 0x862D , + [14296] = 0x862E , + [14297] = 0x862F , + [14298] = 0x8630 , + [14299] = 0x8631 , + [14300] = 0x8632 , + [14301] = 0x8633 , + [14302] = 0x8634 , + [14303] = 0x8635 , + [14304] = 0x8636 , + [14305] = 0x8637 , + [14306] = 0x8639 , + [14307] = 0x863A , + [14308] = 0x863B , + [14309] = 0x863D , + [14310] = 0x863E , + [14311] = 0x863F , + [14312] = 0x8640 , + [14313] = 0x8641 , + [14314] = 0x8642 , + [14315] = 0x8643 , + [14316] = 0x8644 , + [14317] = 0x8645 , + [14318] = 0x8646 , + [14319] = 0x8647 , + [14320] = 0x8648 , + [14321] = 0x8649 , + [14322] = 0x864A , + [14323] = 0x864B , + [14324] = 0x864C , + [14325] = 0x8652 , + [14326] = 0x8653 , + [14327] = 0x8655 , + [14328] = 0x8656 , + [14329] = 0x8657 , + [14330] = 0x8658 , + [14331] = 0x8659 , + [14332] = 0x865B , + [14333] = 0x865C , + [14334] = 0x865D , + [14335] = 0x865F , + [14336] = 0x8660 , + [14337] = 0x8661 , + [14338] = 0x8663 , + [14339] = 0x8664 , + [14340] = 0x8665 , + [14341] = 0x8666 , + [14342] = 0x8667 , + [14343] = 0x8668 , + [14344] = 0x8669 , + [14345] = 0x866A , + [14346] = 0x736D , + [14347] = 0x631E , + [14348] = 0x8E4B , + [14349] = 0x8E0F , + [14350] = 0x80CE , + [14351] = 0x82D4 , + [14352] = 0x62AC , + [14353] = 0x53F0 , + [14354] = 0x6CF0 , + [14355] = 0x915E , + [14356] = 0x592A , + [14357] = 0x6001 , + [14358] = 0x6C70 , + [14359] = 0x574D , + [14360] = 0x644A , + [14361] = 0x8D2A , + [14362] = 0x762B , + [14363] = 0x6EE9 , + [14364] = 0x575B , + [14365] = 0x6A80 , + [14366] = 0x75F0 , + [14367] = 0x6F6D , + [14368] = 0x8C2D , + [14369] = 0x8C08 , + [14370] = 0x5766 , + [14371] = 0x6BEF , + [14372] = 0x8892 , + [14373] = 0x78B3 , + [14374] = 0x63A2 , + [14375] = 0x53F9 , + [14376] = 0x70AD , + [14377] = 0x6C64 , + [14378] = 0x5858 , + [14379] = 0x642A , + [14380] = 0x5802 , + [14381] = 0x68E0 , + [14382] = 0x819B , + [14383] = 0x5510 , + [14384] = 0x7CD6 , + [14385] = 0x5018 , + [14386] = 0x8EBA , + [14387] = 0x6DCC , + [14388] = 0x8D9F , + [14389] = 0x70EB , + [14390] = 0x638F , + [14391] = 0x6D9B , + [14392] = 0x6ED4 , + [14393] = 0x7EE6 , + [14394] = 0x8404 , + [14395] = 0x6843 , + [14396] = 0x9003 , + [14397] = 0x6DD8 , + [14398] = 0x9676 , + [14399] = 0x8BA8 , + [14400] = 0x5957 , + [14401] = 0x7279 , + [14402] = 0x85E4 , + [14403] = 0x817E , + [14404] = 0x75BC , + [14405] = 0x8A8A , + [14406] = 0x68AF , + [14407] = 0x5254 , + [14408] = 0x8E22 , + [14409] = 0x9511 , + [14410] = 0x63D0 , + [14411] = 0x9898 , + [14412] = 0x8E44 , + [14413] = 0x557C , + [14414] = 0x4F53 , + [14415] = 0x66FF , + [14416] = 0x568F , + [14417] = 0x60D5 , + [14418] = 0x6D95 , + [14419] = 0x5243 , + [14420] = 0x5C49 , + [14421] = 0x5929 , + [14422] = 0x6DFB , + [14423] = 0x586B , + [14424] = 0x7530 , + [14425] = 0x751C , + [14426] = 0x606C , + [14427] = 0x8214 , + [14428] = 0x8146 , + [14429] = 0x6311 , + [14430] = 0x6761 , + [14431] = 0x8FE2 , + [14432] = 0x773A , + [14433] = 0x8DF3 , + [14434] = 0x8D34 , + [14435] = 0x94C1 , + [14436] = 0x5E16 , + [14437] = 0x5385 , + [14438] = 0x542C , + [14439] = 0x70C3 , + [14440] = 0x866D , + [14441] = 0x866F , + [14442] = 0x8670 , + [14443] = 0x8672 , + [14444] = 0x8673 , + [14445] = 0x8674 , + [14446] = 0x8675 , + [14447] = 0x8676 , + [14448] = 0x8677 , + [14449] = 0x8678 , + [14450] = 0x8683 , + [14451] = 0x8684 , + [14452] = 0x8685 , + [14453] = 0x8686 , + [14454] = 0x8687 , + [14455] = 0x8688 , + [14456] = 0x8689 , + [14457] = 0x868E , + [14458] = 0x868F , + [14459] = 0x8690 , + [14460] = 0x8691 , + [14461] = 0x8692 , + [14462] = 0x8694 , + [14463] = 0x8696 , + [14464] = 0x8697 , + [14465] = 0x8698 , + [14466] = 0x8699 , + [14467] = 0x869A , + [14468] = 0x869B , + [14469] = 0x869E , + [14470] = 0x869F , + [14471] = 0x86A0 , + [14472] = 0x86A1 , + [14473] = 0x86A2 , + [14474] = 0x86A5 , + [14475] = 0x86A6 , + [14476] = 0x86AB , + [14477] = 0x86AD , + [14478] = 0x86AE , + [14479] = 0x86B2 , + [14480] = 0x86B3 , + [14481] = 0x86B7 , + [14482] = 0x86B8 , + [14483] = 0x86B9 , + [14484] = 0x86BB , + [14485] = 0x86BC , + [14486] = 0x86BD , + [14487] = 0x86BE , + [14488] = 0x86BF , + [14489] = 0x86C1 , + [14490] = 0x86C2 , + [14491] = 0x86C3 , + [14492] = 0x86C5 , + [14493] = 0x86C8 , + [14494] = 0x86CC , + [14495] = 0x86CD , + [14496] = 0x86D2 , + [14497] = 0x86D3 , + [14498] = 0x86D5 , + [14499] = 0x86D6 , + [14500] = 0x86D7 , + [14501] = 0x86DA , + [14502] = 0x86DC , + [14503] = 0x86DD , + [14504] = 0x86E0 , + [14505] = 0x86E1 , + [14506] = 0x86E2 , + [14507] = 0x86E3 , + [14508] = 0x86E5 , + [14509] = 0x86E6 , + [14510] = 0x86E7 , + [14511] = 0x86E8 , + [14512] = 0x86EA , + [14513] = 0x86EB , + [14514] = 0x86EC , + [14515] = 0x86EF , + [14516] = 0x86F5 , + [14517] = 0x86F6 , + [14518] = 0x86F7 , + [14519] = 0x86FA , + [14520] = 0x86FB , + [14521] = 0x86FC , + [14522] = 0x86FD , + [14523] = 0x86FF , + [14524] = 0x8701 , + [14525] = 0x8704 , + [14526] = 0x8705 , + [14527] = 0x8706 , + [14528] = 0x870B , + [14529] = 0x870C , + [14530] = 0x870E , + [14531] = 0x870F , + [14532] = 0x8710 , + [14533] = 0x8711 , + [14534] = 0x8714 , + [14535] = 0x8716 , + [14536] = 0x6C40 , + [14537] = 0x5EF7 , + [14538] = 0x505C , + [14539] = 0x4EAD , + [14540] = 0x5EAD , + [14541] = 0x633A , + [14542] = 0x8247 , + [14543] = 0x901A , + [14544] = 0x6850 , + [14545] = 0x916E , + [14546] = 0x77B3 , + [14547] = 0x540C , + [14548] = 0x94DC , + [14549] = 0x5F64 , + [14550] = 0x7AE5 , + [14551] = 0x6876 , + [14552] = 0x6345 , + [14553] = 0x7B52 , + [14554] = 0x7EDF , + [14555] = 0x75DB , + [14556] = 0x5077 , + [14557] = 0x6295 , + [14558] = 0x5934 , + [14559] = 0x900F , + [14560] = 0x51F8 , + [14561] = 0x79C3 , + [14562] = 0x7A81 , + [14563] = 0x56FE , + [14564] = 0x5F92 , + [14565] = 0x9014 , + [14566] = 0x6D82 , + [14567] = 0x5C60 , + [14568] = 0x571F , + [14569] = 0x5410 , + [14570] = 0x5154 , + [14571] = 0x6E4D , + [14572] = 0x56E2 , + [14573] = 0x63A8 , + [14574] = 0x9893 , + [14575] = 0x817F , + [14576] = 0x8715 , + [14577] = 0x892A , + [14578] = 0x9000 , + [14579] = 0x541E , + [14580] = 0x5C6F , + [14581] = 0x81C0 , + [14582] = 0x62D6 , + [14583] = 0x6258 , + [14584] = 0x8131 , + [14585] = 0x9E35 , + [14586] = 0x9640 , + [14587] = 0x9A6E , + [14588] = 0x9A7C , + [14589] = 0x692D , + [14590] = 0x59A5 , + [14591] = 0x62D3 , + [14592] = 0x553E , + [14593] = 0x6316 , + [14594] = 0x54C7 , + [14595] = 0x86D9 , + [14596] = 0x6D3C , + [14597] = 0x5A03 , + [14598] = 0x74E6 , + [14599] = 0x889C , + [14600] = 0x6B6A , + [14601] = 0x5916 , + [14602] = 0x8C4C , + [14603] = 0x5F2F , + [14604] = 0x6E7E , + [14605] = 0x73A9 , + [14606] = 0x987D , + [14607] = 0x4E38 , + [14608] = 0x70F7 , + [14609] = 0x5B8C , + [14610] = 0x7897 , + [14611] = 0x633D , + [14612] = 0x665A , + [14613] = 0x7696 , + [14614] = 0x60CB , + [14615] = 0x5B9B , + [14616] = 0x5A49 , + [14617] = 0x4E07 , + [14618] = 0x8155 , + [14619] = 0x6C6A , + [14620] = 0x738B , + [14621] = 0x4EA1 , + [14622] = 0x6789 , + [14623] = 0x7F51 , + [14624] = 0x5F80 , + [14625] = 0x65FA , + [14626] = 0x671B , + [14627] = 0x5FD8 , + [14628] = 0x5984 , + [14629] = 0x5A01 , + [14630] = 0x8719 , + [14631] = 0x871B , + [14632] = 0x871D , + [14633] = 0x871F , + [14634] = 0x8720 , + [14635] = 0x8724 , + [14636] = 0x8726 , + [14637] = 0x8727 , + [14638] = 0x8728 , + [14639] = 0x872A , + [14640] = 0x872B , + [14641] = 0x872C , + [14642] = 0x872D , + [14643] = 0x872F , + [14644] = 0x8730 , + [14645] = 0x8732 , + [14646] = 0x8733 , + [14647] = 0x8735 , + [14648] = 0x8736 , + [14649] = 0x8738 , + [14650] = 0x8739 , + [14651] = 0x873A , + [14652] = 0x873C , + [14653] = 0x873D , + [14654] = 0x8740 , + [14655] = 0x8741 , + [14656] = 0x8742 , + [14657] = 0x8743 , + [14658] = 0x8744 , + [14659] = 0x8745 , + [14660] = 0x8746 , + [14661] = 0x874A , + [14662] = 0x874B , + [14663] = 0x874D , + [14664] = 0x874F , + [14665] = 0x8750 , + [14666] = 0x8751 , + [14667] = 0x8752 , + [14668] = 0x8754 , + [14669] = 0x8755 , + [14670] = 0x8756 , + [14671] = 0x8758 , + [14672] = 0x875A , + [14673] = 0x875B , + [14674] = 0x875C , + [14675] = 0x875D , + [14676] = 0x875E , + [14677] = 0x875F , + [14678] = 0x8761 , + [14679] = 0x8762 , + [14680] = 0x8766 , + [14681] = 0x8767 , + [14682] = 0x8768 , + [14683] = 0x8769 , + [14684] = 0x876A , + [14685] = 0x876B , + [14686] = 0x876C , + [14687] = 0x876D , + [14688] = 0x876F , + [14689] = 0x8771 , + [14690] = 0x8772 , + [14691] = 0x8773 , + [14692] = 0x8775 , + [14693] = 0x8777 , + [14694] = 0x8778 , + [14695] = 0x8779 , + [14696] = 0x877A , + [14697] = 0x877F , + [14698] = 0x8780 , + [14699] = 0x8781 , + [14700] = 0x8784 , + [14701] = 0x8786 , + [14702] = 0x8787 , + [14703] = 0x8789 , + [14704] = 0x878A , + [14705] = 0x878C , + [14706] = 0x878E , + [14707] = 0x878F , + [14708] = 0x8790 , + [14709] = 0x8791 , + [14710] = 0x8792 , + [14711] = 0x8794 , + [14712] = 0x8795 , + [14713] = 0x8796 , + [14714] = 0x8798 , + [14715] = 0x8799 , + [14716] = 0x879A , + [14717] = 0x879B , + [14718] = 0x879C , + [14719] = 0x879D , + [14720] = 0x879E , + [14721] = 0x87A0 , + [14722] = 0x87A1 , + [14723] = 0x87A2 , + [14724] = 0x87A3 , + [14725] = 0x87A4 , + [14726] = 0x5DCD , + [14727] = 0x5FAE , + [14728] = 0x5371 , + [14729] = 0x97E6 , + [14730] = 0x8FDD , + [14731] = 0x6845 , + [14732] = 0x56F4 , + [14733] = 0x552F , + [14734] = 0x60DF , + [14735] = 0x4E3A , + [14736] = 0x6F4D , + [14737] = 0x7EF4 , + [14738] = 0x82C7 , + [14739] = 0x840E , + [14740] = 0x59D4 , + [14741] = 0x4F1F , + [14742] = 0x4F2A , + [14743] = 0x5C3E , + [14744] = 0x7EAC , + [14745] = 0x672A , + [14746] = 0x851A , + [14747] = 0x5473 , + [14748] = 0x754F , + [14749] = 0x80C3 , + [14750] = 0x5582 , + [14751] = 0x9B4F , + [14752] = 0x4F4D , + [14753] = 0x6E2D , + [14754] = 0x8C13 , + [14755] = 0x5C09 , + [14756] = 0x6170 , + [14757] = 0x536B , + [14758] = 0x761F , + [14759] = 0x6E29 , + [14760] = 0x868A , + [14761] = 0x6587 , + [14762] = 0x95FB , + [14763] = 0x7EB9 , + [14764] = 0x543B , + [14765] = 0x7A33 , + [14766] = 0x7D0A , + [14767] = 0x95EE , + [14768] = 0x55E1 , + [14769] = 0x7FC1 , + [14770] = 0x74EE , + [14771] = 0x631D , + [14772] = 0x8717 , + [14773] = 0x6DA1 , + [14774] = 0x7A9D , + [14775] = 0x6211 , + [14776] = 0x65A1 , + [14777] = 0x5367 , + [14778] = 0x63E1 , + [14779] = 0x6C83 , + [14780] = 0x5DEB , + [14781] = 0x545C , + [14782] = 0x94A8 , + [14783] = 0x4E4C , + [14784] = 0x6C61 , + [14785] = 0x8BEC , + [14786] = 0x5C4B , + [14787] = 0x65E0 , + [14788] = 0x829C , + [14789] = 0x68A7 , + [14790] = 0x543E , + [14791] = 0x5434 , + [14792] = 0x6BCB , + [14793] = 0x6B66 , + [14794] = 0x4E94 , + [14795] = 0x6342 , + [14796] = 0x5348 , + [14797] = 0x821E , + [14798] = 0x4F0D , + [14799] = 0x4FAE , + [14800] = 0x575E , + [14801] = 0x620A , + [14802] = 0x96FE , + [14803] = 0x6664 , + [14804] = 0x7269 , + [14805] = 0x52FF , + [14806] = 0x52A1 , + [14807] = 0x609F , + [14808] = 0x8BEF , + [14809] = 0x6614 , + [14810] = 0x7199 , + [14811] = 0x6790 , + [14812] = 0x897F , + [14813] = 0x7852 , + [14814] = 0x77FD , + [14815] = 0x6670 , + [14816] = 0x563B , + [14817] = 0x5438 , + [14818] = 0x9521 , + [14819] = 0x727A , + [14820] = 0x87A5 , + [14821] = 0x87A6 , + [14822] = 0x87A7 , + [14823] = 0x87A9 , + [14824] = 0x87AA , + [14825] = 0x87AE , + [14826] = 0x87B0 , + [14827] = 0x87B1 , + [14828] = 0x87B2 , + [14829] = 0x87B4 , + [14830] = 0x87B6 , + [14831] = 0x87B7 , + [14832] = 0x87B8 , + [14833] = 0x87B9 , + [14834] = 0x87BB , + [14835] = 0x87BC , + [14836] = 0x87BE , + [14837] = 0x87BF , + [14838] = 0x87C1 , + [14839] = 0x87C2 , + [14840] = 0x87C3 , + [14841] = 0x87C4 , + [14842] = 0x87C5 , + [14843] = 0x87C7 , + [14844] = 0x87C8 , + [14845] = 0x87C9 , + [14846] = 0x87CC , + [14847] = 0x87CD , + [14848] = 0x87CE , + [14849] = 0x87CF , + [14850] = 0x87D0 , + [14851] = 0x87D4 , + [14852] = 0x87D5 , + [14853] = 0x87D6 , + [14854] = 0x87D7 , + [14855] = 0x87D8 , + [14856] = 0x87D9 , + [14857] = 0x87DA , + [14858] = 0x87DC , + [14859] = 0x87DD , + [14860] = 0x87DE , + [14861] = 0x87DF , + [14862] = 0x87E1 , + [14863] = 0x87E2 , + [14864] = 0x87E3 , + [14865] = 0x87E4 , + [14866] = 0x87E6 , + [14867] = 0x87E7 , + [14868] = 0x87E8 , + [14869] = 0x87E9 , + [14870] = 0x87EB , + [14871] = 0x87EC , + [14872] = 0x87ED , + [14873] = 0x87EF , + [14874] = 0x87F0 , + [14875] = 0x87F1 , + [14876] = 0x87F2 , + [14877] = 0x87F3 , + [14878] = 0x87F4 , + [14879] = 0x87F5 , + [14880] = 0x87F6 , + [14881] = 0x87F7 , + [14882] = 0x87F8 , + [14883] = 0x87FA , + [14884] = 0x87FB , + [14885] = 0x87FC , + [14886] = 0x87FD , + [14887] = 0x87FF , + [14888] = 0x8800 , + [14889] = 0x8801 , + [14890] = 0x8802 , + [14891] = 0x8804 , + [14892] = 0x8805 , + [14893] = 0x8806 , + [14894] = 0x8807 , + [14895] = 0x8808 , + [14896] = 0x8809 , + [14897] = 0x880B , + [14898] = 0x880C , + [14899] = 0x880D , + [14900] = 0x880E , + [14901] = 0x880F , + [14902] = 0x8810 , + [14903] = 0x8811 , + [14904] = 0x8812 , + [14905] = 0x8814 , + [14906] = 0x8817 , + [14907] = 0x8818 , + [14908] = 0x8819 , + [14909] = 0x881A , + [14910] = 0x881C , + [14911] = 0x881D , + [14912] = 0x881E , + [14913] = 0x881F , + [14914] = 0x8820 , + [14915] = 0x8823 , + [14916] = 0x7A00 , + [14917] = 0x606F , + [14918] = 0x5E0C , + [14919] = 0x6089 , + [14920] = 0x819D , + [14921] = 0x5915 , + [14922] = 0x60DC , + [14923] = 0x7184 , + [14924] = 0x70EF , + [14925] = 0x6EAA , + [14926] = 0x6C50 , + [14927] = 0x7280 , + [14928] = 0x6A84 , + [14929] = 0x88AD , + [14930] = 0x5E2D , + [14931] = 0x4E60 , + [14932] = 0x5AB3 , + [14933] = 0x559C , + [14934] = 0x94E3 , + [14935] = 0x6D17 , + [14936] = 0x7CFB , + [14937] = 0x9699 , + [14938] = 0x620F , + [14939] = 0x7EC6 , + [14940] = 0x778E , + [14941] = 0x867E , + [14942] = 0x5323 , + [14943] = 0x971E , + [14944] = 0x8F96 , + [14945] = 0x6687 , + [14946] = 0x5CE1 , + [14947] = 0x4FA0 , + [14948] = 0x72ED , + [14949] = 0x4E0B , + [14950] = 0x53A6 , + [14951] = 0x590F , + [14952] = 0x5413 , + [14953] = 0x6380 , + [14954] = 0x9528 , + [14955] = 0x5148 , + [14956] = 0x4ED9 , + [14957] = 0x9C9C , + [14958] = 0x7EA4 , + [14959] = 0x54B8 , + [14960] = 0x8D24 , + [14961] = 0x8854 , + [14962] = 0x8237 , + [14963] = 0x95F2 , + [14964] = 0x6D8E , + [14965] = 0x5F26 , + [14966] = 0x5ACC , + [14967] = 0x663E , + [14968] = 0x9669 , + [14969] = 0x73B0 , + [14970] = 0x732E , + [14971] = 0x53BF , + [14972] = 0x817A , + [14973] = 0x9985 , + [14974] = 0x7FA1 , + [14975] = 0x5BAA , + [14976] = 0x9677 , + [14977] = 0x9650 , + [14978] = 0x7EBF , + [14979] = 0x76F8 , + [14980] = 0x53A2 , + [14981] = 0x9576 , + [14982] = 0x9999 , + [14983] = 0x7BB1 , + [14984] = 0x8944 , + [14985] = 0x6E58 , + [14986] = 0x4E61 , + [14987] = 0x7FD4 , + [14988] = 0x7965 , + [14989] = 0x8BE6 , + [14990] = 0x60F3 , + [14991] = 0x54CD , + [14992] = 0x4EAB , + [14993] = 0x9879 , + [14994] = 0x5DF7 , + [14995] = 0x6A61 , + [14996] = 0x50CF , + [14997] = 0x5411 , + [14998] = 0x8C61 , + [14999] = 0x8427 , + [15000] = 0x785D , + [15001] = 0x9704 , + [15002] = 0x524A , + [15003] = 0x54EE , + [15004] = 0x56A3 , + [15005] = 0x9500 , + [15006] = 0x6D88 , + [15007] = 0x5BB5 , + [15008] = 0x6DC6 , + [15009] = 0x6653 , + [15010] = 0x8824 , + [15011] = 0x8825 , + [15012] = 0x8826 , + [15013] = 0x8827 , + [15014] = 0x8828 , + [15015] = 0x8829 , + [15016] = 0x882A , + [15017] = 0x882B , + [15018] = 0x882C , + [15019] = 0x882D , + [15020] = 0x882E , + [15021] = 0x882F , + [15022] = 0x8830 , + [15023] = 0x8831 , + [15024] = 0x8833 , + [15025] = 0x8834 , + [15026] = 0x8835 , + [15027] = 0x8836 , + [15028] = 0x8837 , + [15029] = 0x8838 , + [15030] = 0x883A , + [15031] = 0x883B , + [15032] = 0x883D , + [15033] = 0x883E , + [15034] = 0x883F , + [15035] = 0x8841 , + [15036] = 0x8842 , + [15037] = 0x8843 , + [15038] = 0x8846 , + [15039] = 0x8847 , + [15040] = 0x8848 , + [15041] = 0x8849 , + [15042] = 0x884A , + [15043] = 0x884B , + [15044] = 0x884E , + [15045] = 0x884F , + [15046] = 0x8850 , + [15047] = 0x8851 , + [15048] = 0x8852 , + [15049] = 0x8853 , + [15050] = 0x8855 , + [15051] = 0x8856 , + [15052] = 0x8858 , + [15053] = 0x885A , + [15054] = 0x885B , + [15055] = 0x885C , + [15056] = 0x885D , + [15057] = 0x885E , + [15058] = 0x885F , + [15059] = 0x8860 , + [15060] = 0x8866 , + [15061] = 0x8867 , + [15062] = 0x886A , + [15063] = 0x886D , + [15064] = 0x886F , + [15065] = 0x8871 , + [15066] = 0x8873 , + [15067] = 0x8874 , + [15068] = 0x8875 , + [15069] = 0x8876 , + [15070] = 0x8878 , + [15071] = 0x8879 , + [15072] = 0x887A , + [15073] = 0x887B , + [15074] = 0x887C , + [15075] = 0x8880 , + [15076] = 0x8883 , + [15077] = 0x8886 , + [15078] = 0x8887 , + [15079] = 0x8889 , + [15080] = 0x888A , + [15081] = 0x888C , + [15082] = 0x888E , + [15083] = 0x888F , + [15084] = 0x8890 , + [15085] = 0x8891 , + [15086] = 0x8893 , + [15087] = 0x8894 , + [15088] = 0x8895 , + [15089] = 0x8897 , + [15090] = 0x8898 , + [15091] = 0x8899 , + [15092] = 0x889A , + [15093] = 0x889B , + [15094] = 0x889D , + [15095] = 0x889E , + [15096] = 0x889F , + [15097] = 0x88A0 , + [15098] = 0x88A1 , + [15099] = 0x88A3 , + [15100] = 0x88A5 , + [15101] = 0x88A6 , + [15102] = 0x88A7 , + [15103] = 0x88A8 , + [15104] = 0x88A9 , + [15105] = 0x88AA , + [15106] = 0x5C0F , + [15107] = 0x5B5D , + [15108] = 0x6821 , + [15109] = 0x8096 , + [15110] = 0x5578 , + [15111] = 0x7B11 , + [15112] = 0x6548 , + [15113] = 0x6954 , + [15114] = 0x4E9B , + [15115] = 0x6B47 , + [15116] = 0x874E , + [15117] = 0x978B , + [15118] = 0x534F , + [15119] = 0x631F , + [15120] = 0x643A , + [15121] = 0x90AA , + [15122] = 0x659C , + [15123] = 0x80C1 , + [15124] = 0x8C10 , + [15125] = 0x5199 , + [15126] = 0x68B0 , + [15127] = 0x5378 , + [15128] = 0x87F9 , + [15129] = 0x61C8 , + [15130] = 0x6CC4 , + [15131] = 0x6CFB , + [15132] = 0x8C22 , + [15133] = 0x5C51 , + [15134] = 0x85AA , + [15135] = 0x82AF , + [15136] = 0x950C , + [15137] = 0x6B23 , + [15138] = 0x8F9B , + [15139] = 0x65B0 , + [15140] = 0x5FFB , + [15141] = 0x5FC3 , + [15142] = 0x4FE1 , + [15143] = 0x8845 , + [15144] = 0x661F , + [15145] = 0x8165 , + [15146] = 0x7329 , + [15147] = 0x60FA , + [15148] = 0x5174 , + [15149] = 0x5211 , + [15150] = 0x578B , + [15151] = 0x5F62 , + [15152] = 0x90A2 , + [15153] = 0x884C , + [15154] = 0x9192 , + [15155] = 0x5E78 , + [15156] = 0x674F , + [15157] = 0x6027 , + [15158] = 0x59D3 , + [15159] = 0x5144 , + [15160] = 0x51F6 , + [15161] = 0x80F8 , + [15162] = 0x5308 , + [15163] = 0x6C79 , + [15164] = 0x96C4 , + [15165] = 0x718A , + [15166] = 0x4F11 , + [15167] = 0x4FEE , + [15168] = 0x7F9E , + [15169] = 0x673D , + [15170] = 0x55C5 , + [15171] = 0x9508 , + [15172] = 0x79C0 , + [15173] = 0x8896 , + [15174] = 0x7EE3 , + [15175] = 0x589F , + [15176] = 0x620C , + [15177] = 0x9700 , + [15178] = 0x865A , + [15179] = 0x5618 , + [15180] = 0x987B , + [15181] = 0x5F90 , + [15182] = 0x8BB8 , + [15183] = 0x84C4 , + [15184] = 0x9157 , + [15185] = 0x53D9 , + [15186] = 0x65ED , + [15187] = 0x5E8F , + [15188] = 0x755C , + [15189] = 0x6064 , + [15190] = 0x7D6E , + [15191] = 0x5A7F , + [15192] = 0x7EEA , + [15193] = 0x7EED , + [15194] = 0x8F69 , + [15195] = 0x55A7 , + [15196] = 0x5BA3 , + [15197] = 0x60AC , + [15198] = 0x65CB , + [15199] = 0x7384 , + [15200] = 0x88AC , + [15201] = 0x88AE , + [15202] = 0x88AF , + [15203] = 0x88B0 , + [15204] = 0x88B2 , + [15205] = 0x88B3 , + [15206] = 0x88B4 , + [15207] = 0x88B5 , + [15208] = 0x88B6 , + [15209] = 0x88B8 , + [15210] = 0x88B9 , + [15211] = 0x88BA , + [15212] = 0x88BB , + [15213] = 0x88BD , + [15214] = 0x88BE , + [15215] = 0x88BF , + [15216] = 0x88C0 , + [15217] = 0x88C3 , + [15218] = 0x88C4 , + [15219] = 0x88C7 , + [15220] = 0x88C8 , + [15221] = 0x88CA , + [15222] = 0x88CB , + [15223] = 0x88CC , + [15224] = 0x88CD , + [15225] = 0x88CF , + [15226] = 0x88D0 , + [15227] = 0x88D1 , + [15228] = 0x88D3 , + [15229] = 0x88D6 , + [15230] = 0x88D7 , + [15231] = 0x88DA , + [15232] = 0x88DB , + [15233] = 0x88DC , + [15234] = 0x88DD , + [15235] = 0x88DE , + [15236] = 0x88E0 , + [15237] = 0x88E1 , + [15238] = 0x88E6 , + [15239] = 0x88E7 , + [15240] = 0x88E9 , + [15241] = 0x88EA , + [15242] = 0x88EB , + [15243] = 0x88EC , + [15244] = 0x88ED , + [15245] = 0x88EE , + [15246] = 0x88EF , + [15247] = 0x88F2 , + [15248] = 0x88F5 , + [15249] = 0x88F6 , + [15250] = 0x88F7 , + [15251] = 0x88FA , + [15252] = 0x88FB , + [15253] = 0x88FD , + [15254] = 0x88FF , + [15255] = 0x8900 , + [15256] = 0x8901 , + [15257] = 0x8903 , + [15258] = 0x8904 , + [15259] = 0x8905 , + [15260] = 0x8906 , + [15261] = 0x8907 , + [15262] = 0x8908 , + [15263] = 0x8909 , + [15264] = 0x890B , + [15265] = 0x890C , + [15266] = 0x890D , + [15267] = 0x890E , + [15268] = 0x890F , + [15269] = 0x8911 , + [15270] = 0x8914 , + [15271] = 0x8915 , + [15272] = 0x8916 , + [15273] = 0x8917 , + [15274] = 0x8918 , + [15275] = 0x891C , + [15276] = 0x891D , + [15277] = 0x891E , + [15278] = 0x891F , + [15279] = 0x8920 , + [15280] = 0x8922 , + [15281] = 0x8923 , + [15282] = 0x8924 , + [15283] = 0x8926 , + [15284] = 0x8927 , + [15285] = 0x8928 , + [15286] = 0x8929 , + [15287] = 0x892C , + [15288] = 0x892D , + [15289] = 0x892E , + [15290] = 0x892F , + [15291] = 0x8931 , + [15292] = 0x8932 , + [15293] = 0x8933 , + [15294] = 0x8935 , + [15295] = 0x8937 , + [15296] = 0x9009 , + [15297] = 0x7663 , + [15298] = 0x7729 , + [15299] = 0x7EDA , + [15300] = 0x9774 , + [15301] = 0x859B , + [15302] = 0x5B66 , + [15303] = 0x7A74 , + [15304] = 0x96EA , + [15305] = 0x8840 , + [15306] = 0x52CB , + [15307] = 0x718F , + [15308] = 0x5FAA , + [15309] = 0x65EC , + [15310] = 0x8BE2 , + [15311] = 0x5BFB , + [15312] = 0x9A6F , + [15313] = 0x5DE1 , + [15314] = 0x6B89 , + [15315] = 0x6C5B , + [15316] = 0x8BAD , + [15317] = 0x8BAF , + [15318] = 0x900A , + [15319] = 0x8FC5 , + [15320] = 0x538B , + [15321] = 0x62BC , + [15322] = 0x9E26 , + [15323] = 0x9E2D , + [15324] = 0x5440 , + [15325] = 0x4E2B , + [15326] = 0x82BD , + [15327] = 0x7259 , + [15328] = 0x869C , + [15329] = 0x5D16 , + [15330] = 0x8859 , + [15331] = 0x6DAF , + [15332] = 0x96C5 , + [15333] = 0x54D1 , + [15334] = 0x4E9A , + [15335] = 0x8BB6 , + [15336] = 0x7109 , + [15337] = 0x54BD , + [15338] = 0x9609 , + [15339] = 0x70DF , + [15340] = 0x6DF9 , + [15341] = 0x76D0 , + [15342] = 0x4E25 , + [15343] = 0x7814 , + [15344] = 0x8712 , + [15345] = 0x5CA9 , + [15346] = 0x5EF6 , + [15347] = 0x8A00 , + [15348] = 0x989C , + [15349] = 0x960E , + [15350] = 0x708E , + [15351] = 0x6CBF , + [15352] = 0x5944 , + [15353] = 0x63A9 , + [15354] = 0x773C , + [15355] = 0x884D , + [15356] = 0x6F14 , + [15357] = 0x8273 , + [15358] = 0x5830 , + [15359] = 0x71D5 , + [15360] = 0x538C , + [15361] = 0x781A , + [15362] = 0x96C1 , + [15363] = 0x5501 , + [15364] = 0x5F66 , + [15365] = 0x7130 , + [15366] = 0x5BB4 , + [15367] = 0x8C1A , + [15368] = 0x9A8C , + [15369] = 0x6B83 , + [15370] = 0x592E , + [15371] = 0x9E2F , + [15372] = 0x79E7 , + [15373] = 0x6768 , + [15374] = 0x626C , + [15375] = 0x4F6F , + [15376] = 0x75A1 , + [15377] = 0x7F8A , + [15378] = 0x6D0B , + [15379] = 0x9633 , + [15380] = 0x6C27 , + [15381] = 0x4EF0 , + [15382] = 0x75D2 , + [15383] = 0x517B , + [15384] = 0x6837 , + [15385] = 0x6F3E , + [15386] = 0x9080 , + [15387] = 0x8170 , + [15388] = 0x5996 , + [15389] = 0x7476 , + [15390] = 0x8938 , + [15391] = 0x8939 , + [15392] = 0x893A , + [15393] = 0x893B , + [15394] = 0x893C , + [15395] = 0x893D , + [15396] = 0x893E , + [15397] = 0x893F , + [15398] = 0x8940 , + [15399] = 0x8942 , + [15400] = 0x8943 , + [15401] = 0x8945 , + [15402] = 0x8946 , + [15403] = 0x8947 , + [15404] = 0x8948 , + [15405] = 0x8949 , + [15406] = 0x894A , + [15407] = 0x894B , + [15408] = 0x894C , + [15409] = 0x894D , + [15410] = 0x894E , + [15411] = 0x894F , + [15412] = 0x8950 , + [15413] = 0x8951 , + [15414] = 0x8952 , + [15415] = 0x8953 , + [15416] = 0x8954 , + [15417] = 0x8955 , + [15418] = 0x8956 , + [15419] = 0x8957 , + [15420] = 0x8958 , + [15421] = 0x8959 , + [15422] = 0x895A , + [15423] = 0x895B , + [15424] = 0x895C , + [15425] = 0x895D , + [15426] = 0x8960 , + [15427] = 0x8961 , + [15428] = 0x8962 , + [15429] = 0x8963 , + [15430] = 0x8964 , + [15431] = 0x8965 , + [15432] = 0x8967 , + [15433] = 0x8968 , + [15434] = 0x8969 , + [15435] = 0x896A , + [15436] = 0x896B , + [15437] = 0x896C , + [15438] = 0x896D , + [15439] = 0x896E , + [15440] = 0x896F , + [15441] = 0x8970 , + [15442] = 0x8971 , + [15443] = 0x8972 , + [15444] = 0x8973 , + [15445] = 0x8974 , + [15446] = 0x8975 , + [15447] = 0x8976 , + [15448] = 0x8977 , + [15449] = 0x8978 , + [15450] = 0x8979 , + [15451] = 0x897A , + [15452] = 0x897C , + [15453] = 0x897D , + [15454] = 0x897E , + [15455] = 0x8980 , + [15456] = 0x8982 , + [15457] = 0x8984 , + [15458] = 0x8985 , + [15459] = 0x8987 , + [15460] = 0x8988 , + [15461] = 0x8989 , + [15462] = 0x898A , + [15463] = 0x898B , + [15464] = 0x898C , + [15465] = 0x898D , + [15466] = 0x898E , + [15467] = 0x898F , + [15468] = 0x8990 , + [15469] = 0x8991 , + [15470] = 0x8992 , + [15471] = 0x8993 , + [15472] = 0x8994 , + [15473] = 0x8995 , + [15474] = 0x8996 , + [15475] = 0x8997 , + [15476] = 0x8998 , + [15477] = 0x8999 , + [15478] = 0x899A , + [15479] = 0x899B , + [15480] = 0x899C , + [15481] = 0x899D , + [15482] = 0x899E , + [15483] = 0x899F , + [15484] = 0x89A0 , + [15485] = 0x89A1 , + [15486] = 0x6447 , + [15487] = 0x5C27 , + [15488] = 0x9065 , + [15489] = 0x7A91 , + [15490] = 0x8C23 , + [15491] = 0x59DA , + [15492] = 0x54AC , + [15493] = 0x8200 , + [15494] = 0x836F , + [15495] = 0x8981 , + [15496] = 0x8000 , + [15497] = 0x6930 , + [15498] = 0x564E , + [15499] = 0x8036 , + [15500] = 0x7237 , + [15501] = 0x91CE , + [15502] = 0x51B6 , + [15503] = 0x4E5F , + [15504] = 0x9875 , + [15505] = 0x6396 , + [15506] = 0x4E1A , + [15507] = 0x53F6 , + [15508] = 0x66F3 , + [15509] = 0x814B , + [15510] = 0x591C , + [15511] = 0x6DB2 , + [15512] = 0x4E00 , + [15513] = 0x58F9 , + [15514] = 0x533B , + [15515] = 0x63D6 , + [15516] = 0x94F1 , + [15517] = 0x4F9D , + [15518] = 0x4F0A , + [15519] = 0x8863 , + [15520] = 0x9890 , + [15521] = 0x5937 , + [15522] = 0x9057 , + [15523] = 0x79FB , + [15524] = 0x4EEA , + [15525] = 0x80F0 , + [15526] = 0x7591 , + [15527] = 0x6C82 , + [15528] = 0x5B9C , + [15529] = 0x59E8 , + [15530] = 0x5F5D , + [15531] = 0x6905 , + [15532] = 0x8681 , + [15533] = 0x501A , + [15534] = 0x5DF2 , + [15535] = 0x4E59 , + [15536] = 0x77E3 , + [15537] = 0x4EE5 , + [15538] = 0x827A , + [15539] = 0x6291 , + [15540] = 0x6613 , + [15541] = 0x9091 , + [15542] = 0x5C79 , + [15543] = 0x4EBF , + [15544] = 0x5F79 , + [15545] = 0x81C6 , + [15546] = 0x9038 , + [15547] = 0x8084 , + [15548] = 0x75AB , + [15549] = 0x4EA6 , + [15550] = 0x88D4 , + [15551] = 0x610F , + [15552] = 0x6BC5 , + [15553] = 0x5FC6 , + [15554] = 0x4E49 , + [15555] = 0x76CA , + [15556] = 0x6EA2 , + [15557] = 0x8BE3 , + [15558] = 0x8BAE , + [15559] = 0x8C0A , + [15560] = 0x8BD1 , + [15561] = 0x5F02 , + [15562] = 0x7FFC , + [15563] = 0x7FCC , + [15564] = 0x7ECE , + [15565] = 0x8335 , + [15566] = 0x836B , + [15567] = 0x56E0 , + [15568] = 0x6BB7 , + [15569] = 0x97F3 , + [15570] = 0x9634 , + [15571] = 0x59FB , + [15572] = 0x541F , + [15573] = 0x94F6 , + [15574] = 0x6DEB , + [15575] = 0x5BC5 , + [15576] = 0x996E , + [15577] = 0x5C39 , + [15578] = 0x5F15 , + [15579] = 0x9690 , + [15580] = 0x89A2 , + [15581] = 0x89A3 , + [15582] = 0x89A4 , + [15583] = 0x89A5 , + [15584] = 0x89A6 , + [15585] = 0x89A7 , + [15586] = 0x89A8 , + [15587] = 0x89A9 , + [15588] = 0x89AA , + [15589] = 0x89AB , + [15590] = 0x89AC , + [15591] = 0x89AD , + [15592] = 0x89AE , + [15593] = 0x89AF , + [15594] = 0x89B0 , + [15595] = 0x89B1 , + [15596] = 0x89B2 , + [15597] = 0x89B3 , + [15598] = 0x89B4 , + [15599] = 0x89B5 , + [15600] = 0x89B6 , + [15601] = 0x89B7 , + [15602] = 0x89B8 , + [15603] = 0x89B9 , + [15604] = 0x89BA , + [15605] = 0x89BB , + [15606] = 0x89BC , + [15607] = 0x89BD , + [15608] = 0x89BE , + [15609] = 0x89BF , + [15610] = 0x89C0 , + [15611] = 0x89C3 , + [15612] = 0x89CD , + [15613] = 0x89D3 , + [15614] = 0x89D4 , + [15615] = 0x89D5 , + [15616] = 0x89D7 , + [15617] = 0x89D8 , + [15618] = 0x89D9 , + [15619] = 0x89DB , + [15620] = 0x89DD , + [15621] = 0x89DF , + [15622] = 0x89E0 , + [15623] = 0x89E1 , + [15624] = 0x89E2 , + [15625] = 0x89E4 , + [15626] = 0x89E7 , + [15627] = 0x89E8 , + [15628] = 0x89E9 , + [15629] = 0x89EA , + [15630] = 0x89EC , + [15631] = 0x89ED , + [15632] = 0x89EE , + [15633] = 0x89F0 , + [15634] = 0x89F1 , + [15635] = 0x89F2 , + [15636] = 0x89F4 , + [15637] = 0x89F5 , + [15638] = 0x89F6 , + [15639] = 0x89F7 , + [15640] = 0x89F8 , + [15641] = 0x89F9 , + [15642] = 0x89FA , + [15643] = 0x89FB , + [15644] = 0x89FC , + [15645] = 0x89FD , + [15646] = 0x89FE , + [15647] = 0x89FF , + [15648] = 0x8A01 , + [15649] = 0x8A02 , + [15650] = 0x8A03 , + [15651] = 0x8A04 , + [15652] = 0x8A05 , + [15653] = 0x8A06 , + [15654] = 0x8A08 , + [15655] = 0x8A09 , + [15656] = 0x8A0A , + [15657] = 0x8A0B , + [15658] = 0x8A0C , + [15659] = 0x8A0D , + [15660] = 0x8A0E , + [15661] = 0x8A0F , + [15662] = 0x8A10 , + [15663] = 0x8A11 , + [15664] = 0x8A12 , + [15665] = 0x8A13 , + [15666] = 0x8A14 , + [15667] = 0x8A15 , + [15668] = 0x8A16 , + [15669] = 0x8A17 , + [15670] = 0x8A18 , + [15671] = 0x8A19 , + [15672] = 0x8A1A , + [15673] = 0x8A1B , + [15674] = 0x8A1C , + [15675] = 0x8A1D , + [15676] = 0x5370 , + [15677] = 0x82F1 , + [15678] = 0x6A31 , + [15679] = 0x5A74 , + [15680] = 0x9E70 , + [15681] = 0x5E94 , + [15682] = 0x7F28 , + [15683] = 0x83B9 , + [15684] = 0x8424 , + [15685] = 0x8425 , + [15686] = 0x8367 , + [15687] = 0x8747 , + [15688] = 0x8FCE , + [15689] = 0x8D62 , + [15690] = 0x76C8 , + [15691] = 0x5F71 , + [15692] = 0x9896 , + [15693] = 0x786C , + [15694] = 0x6620 , + [15695] = 0x54DF , + [15696] = 0x62E5 , + [15697] = 0x4F63 , + [15698] = 0x81C3 , + [15699] = 0x75C8 , + [15700] = 0x5EB8 , + [15701] = 0x96CD , + [15702] = 0x8E0A , + [15703] = 0x86F9 , + [15704] = 0x548F , + [15705] = 0x6CF3 , + [15706] = 0x6D8C , + [15707] = 0x6C38 , + [15708] = 0x607F , + [15709] = 0x52C7 , + [15710] = 0x7528 , + [15711] = 0x5E7D , + [15712] = 0x4F18 , + [15713] = 0x60A0 , + [15714] = 0x5FE7 , + [15715] = 0x5C24 , + [15716] = 0x7531 , + [15717] = 0x90AE , + [15718] = 0x94C0 , + [15719] = 0x72B9 , + [15720] = 0x6CB9 , + [15721] = 0x6E38 , + [15722] = 0x9149 , + [15723] = 0x6709 , + [15724] = 0x53CB , + [15725] = 0x53F3 , + [15726] = 0x4F51 , + [15727] = 0x91C9 , + [15728] = 0x8BF1 , + [15729] = 0x53C8 , + [15730] = 0x5E7C , + [15731] = 0x8FC2 , + [15732] = 0x6DE4 , + [15733] = 0x4E8E , + [15734] = 0x76C2 , + [15735] = 0x6986 , + [15736] = 0x865E , + [15737] = 0x611A , + [15738] = 0x8206 , + [15739] = 0x4F59 , + [15740] = 0x4FDE , + [15741] = 0x903E , + [15742] = 0x9C7C , + [15743] = 0x6109 , + [15744] = 0x6E1D , + [15745] = 0x6E14 , + [15746] = 0x9685 , + [15747] = 0x4E88 , + [15748] = 0x5A31 , + [15749] = 0x96E8 , + [15750] = 0x4E0E , + [15751] = 0x5C7F , + [15752] = 0x79B9 , + [15753] = 0x5B87 , + [15754] = 0x8BED , + [15755] = 0x7FBD , + [15756] = 0x7389 , + [15757] = 0x57DF , + [15758] = 0x828B , + [15759] = 0x90C1 , + [15760] = 0x5401 , + [15761] = 0x9047 , + [15762] = 0x55BB , + [15763] = 0x5CEA , + [15764] = 0x5FA1 , + [15765] = 0x6108 , + [15766] = 0x6B32 , + [15767] = 0x72F1 , + [15768] = 0x80B2 , + [15769] = 0x8A89 , + [15770] = 0x8A1E , + [15771] = 0x8A1F , + [15772] = 0x8A20 , + [15773] = 0x8A21 , + [15774] = 0x8A22 , + [15775] = 0x8A23 , + [15776] = 0x8A24 , + [15777] = 0x8A25 , + [15778] = 0x8A26 , + [15779] = 0x8A27 , + [15780] = 0x8A28 , + [15781] = 0x8A29 , + [15782] = 0x8A2A , + [15783] = 0x8A2B , + [15784] = 0x8A2C , + [15785] = 0x8A2D , + [15786] = 0x8A2E , + [15787] = 0x8A2F , + [15788] = 0x8A30 , + [15789] = 0x8A31 , + [15790] = 0x8A32 , + [15791] = 0x8A33 , + [15792] = 0x8A34 , + [15793] = 0x8A35 , + [15794] = 0x8A36 , + [15795] = 0x8A37 , + [15796] = 0x8A38 , + [15797] = 0x8A39 , + [15798] = 0x8A3A , + [15799] = 0x8A3B , + [15800] = 0x8A3C , + [15801] = 0x8A3D , + [15802] = 0x8A3F , + [15803] = 0x8A40 , + [15804] = 0x8A41 , + [15805] = 0x8A42 , + [15806] = 0x8A43 , + [15807] = 0x8A44 , + [15808] = 0x8A45 , + [15809] = 0x8A46 , + [15810] = 0x8A47 , + [15811] = 0x8A49 , + [15812] = 0x8A4A , + [15813] = 0x8A4B , + [15814] = 0x8A4C , + [15815] = 0x8A4D , + [15816] = 0x8A4E , + [15817] = 0x8A4F , + [15818] = 0x8A50 , + [15819] = 0x8A51 , + [15820] = 0x8A52 , + [15821] = 0x8A53 , + [15822] = 0x8A54 , + [15823] = 0x8A55 , + [15824] = 0x8A56 , + [15825] = 0x8A57 , + [15826] = 0x8A58 , + [15827] = 0x8A59 , + [15828] = 0x8A5A , + [15829] = 0x8A5B , + [15830] = 0x8A5C , + [15831] = 0x8A5D , + [15832] = 0x8A5E , + [15833] = 0x8A5F , + [15834] = 0x8A60 , + [15835] = 0x8A61 , + [15836] = 0x8A62 , + [15837] = 0x8A63 , + [15838] = 0x8A64 , + [15839] = 0x8A65 , + [15840] = 0x8A66 , + [15841] = 0x8A67 , + [15842] = 0x8A68 , + [15843] = 0x8A69 , + [15844] = 0x8A6A , + [15845] = 0x8A6B , + [15846] = 0x8A6C , + [15847] = 0x8A6D , + [15848] = 0x8A6E , + [15849] = 0x8A6F , + [15850] = 0x8A70 , + [15851] = 0x8A71 , + [15852] = 0x8A72 , + [15853] = 0x8A73 , + [15854] = 0x8A74 , + [15855] = 0x8A75 , + [15856] = 0x8A76 , + [15857] = 0x8A77 , + [15858] = 0x8A78 , + [15859] = 0x8A7A , + [15860] = 0x8A7B , + [15861] = 0x8A7C , + [15862] = 0x8A7D , + [15863] = 0x8A7E , + [15864] = 0x8A7F , + [15865] = 0x8A80 , + [15866] = 0x6D74 , + [15867] = 0x5BD3 , + [15868] = 0x88D5 , + [15869] = 0x9884 , + [15870] = 0x8C6B , + [15871] = 0x9A6D , + [15872] = 0x9E33 , + [15873] = 0x6E0A , + [15874] = 0x51A4 , + [15875] = 0x5143 , + [15876] = 0x57A3 , + [15877] = 0x8881 , + [15878] = 0x539F , + [15879] = 0x63F4 , + [15880] = 0x8F95 , + [15881] = 0x56ED , + [15882] = 0x5458 , + [15883] = 0x5706 , + [15884] = 0x733F , + [15885] = 0x6E90 , + [15886] = 0x7F18 , + [15887] = 0x8FDC , + [15888] = 0x82D1 , + [15889] = 0x613F , + [15890] = 0x6028 , + [15891] = 0x9662 , + [15892] = 0x66F0 , + [15893] = 0x7EA6 , + [15894] = 0x8D8A , + [15895] = 0x8DC3 , + [15896] = 0x94A5 , + [15897] = 0x5CB3 , + [15898] = 0x7CA4 , + [15899] = 0x6708 , + [15900] = 0x60A6 , + [15901] = 0x9605 , + [15902] = 0x8018 , + [15903] = 0x4E91 , + [15904] = 0x90E7 , + [15905] = 0x5300 , + [15906] = 0x9668 , + [15907] = 0x5141 , + [15908] = 0x8FD0 , + [15909] = 0x8574 , + [15910] = 0x915D , + [15911] = 0x6655 , + [15912] = 0x97F5 , + [15913] = 0x5B55 , + [15914] = 0x531D , + [15915] = 0x7838 , + [15916] = 0x6742 , + [15917] = 0x683D , + [15918] = 0x54C9 , + [15919] = 0x707E , + [15920] = 0x5BB0 , + [15921] = 0x8F7D , + [15922] = 0x518D , + [15923] = 0x5728 , + [15924] = 0x54B1 , + [15925] = 0x6512 , + [15926] = 0x6682 , + [15927] = 0x8D5E , + [15928] = 0x8D43 , + [15929] = 0x810F , + [15930] = 0x846C , + [15931] = 0x906D , + [15932] = 0x7CDF , + [15933] = 0x51FF , + [15934] = 0x85FB , + [15935] = 0x67A3 , + [15936] = 0x65E9 , + [15937] = 0x6FA1 , + [15938] = 0x86A4 , + [15939] = 0x8E81 , + [15940] = 0x566A , + [15941] = 0x9020 , + [15942] = 0x7682 , + [15943] = 0x7076 , + [15944] = 0x71E5 , + [15945] = 0x8D23 , + [15946] = 0x62E9 , + [15947] = 0x5219 , + [15948] = 0x6CFD , + [15949] = 0x8D3C , + [15950] = 0x600E , + [15951] = 0x589E , + [15952] = 0x618E , + [15953] = 0x66FE , + [15954] = 0x8D60 , + [15955] = 0x624E , + [15956] = 0x55B3 , + [15957] = 0x6E23 , + [15958] = 0x672D , + [15959] = 0x8F67 , + [15960] = 0x8A81 , + [15961] = 0x8A82 , + [15962] = 0x8A83 , + [15963] = 0x8A84 , + [15964] = 0x8A85 , + [15965] = 0x8A86 , + [15966] = 0x8A87 , + [15967] = 0x8A88 , + [15968] = 0x8A8B , + [15969] = 0x8A8C , + [15970] = 0x8A8D , + [15971] = 0x8A8E , + [15972] = 0x8A8F , + [15973] = 0x8A90 , + [15974] = 0x8A91 , + [15975] = 0x8A92 , + [15976] = 0x8A94 , + [15977] = 0x8A95 , + [15978] = 0x8A96 , + [15979] = 0x8A97 , + [15980] = 0x8A98 , + [15981] = 0x8A99 , + [15982] = 0x8A9A , + [15983] = 0x8A9B , + [15984] = 0x8A9C , + [15985] = 0x8A9D , + [15986] = 0x8A9E , + [15987] = 0x8A9F , + [15988] = 0x8AA0 , + [15989] = 0x8AA1 , + [15990] = 0x8AA2 , + [15991] = 0x8AA3 , + [15992] = 0x8AA4 , + [15993] = 0x8AA5 , + [15994] = 0x8AA6 , + [15995] = 0x8AA7 , + [15996] = 0x8AA8 , + [15997] = 0x8AA9 , + [15998] = 0x8AAA , + [15999] = 0x8AAB , + [16000] = 0x8AAC , + [16001] = 0x8AAD , + [16002] = 0x8AAE , + [16003] = 0x8AAF , + [16004] = 0x8AB0 , + [16005] = 0x8AB1 , + [16006] = 0x8AB2 , + [16007] = 0x8AB3 , + [16008] = 0x8AB4 , + [16009] = 0x8AB5 , + [16010] = 0x8AB6 , + [16011] = 0x8AB7 , + [16012] = 0x8AB8 , + [16013] = 0x8AB9 , + [16014] = 0x8ABA , + [16015] = 0x8ABB , + [16016] = 0x8ABC , + [16017] = 0x8ABD , + [16018] = 0x8ABE , + [16019] = 0x8ABF , + [16020] = 0x8AC0 , + [16021] = 0x8AC1 , + [16022] = 0x8AC2 , + [16023] = 0x8AC3 , + [16024] = 0x8AC4 , + [16025] = 0x8AC5 , + [16026] = 0x8AC6 , + [16027] = 0x8AC7 , + [16028] = 0x8AC8 , + [16029] = 0x8AC9 , + [16030] = 0x8ACA , + [16031] = 0x8ACB , + [16032] = 0x8ACC , + [16033] = 0x8ACD , + [16034] = 0x8ACE , + [16035] = 0x8ACF , + [16036] = 0x8AD0 , + [16037] = 0x8AD1 , + [16038] = 0x8AD2 , + [16039] = 0x8AD3 , + [16040] = 0x8AD4 , + [16041] = 0x8AD5 , + [16042] = 0x8AD6 , + [16043] = 0x8AD7 , + [16044] = 0x8AD8 , + [16045] = 0x8AD9 , + [16046] = 0x8ADA , + [16047] = 0x8ADB , + [16048] = 0x8ADC , + [16049] = 0x8ADD , + [16050] = 0x8ADE , + [16051] = 0x8ADF , + [16052] = 0x8AE0 , + [16053] = 0x8AE1 , + [16054] = 0x8AE2 , + [16055] = 0x8AE3 , + [16056] = 0x94E1 , + [16057] = 0x95F8 , + [16058] = 0x7728 , + [16059] = 0x6805 , + [16060] = 0x69A8 , + [16061] = 0x548B , + [16062] = 0x4E4D , + [16063] = 0x70B8 , + [16064] = 0x8BC8 , + [16065] = 0x6458 , + [16066] = 0x658B , + [16067] = 0x5B85 , + [16068] = 0x7A84 , + [16069] = 0x503A , + [16070] = 0x5BE8 , + [16071] = 0x77BB , + [16072] = 0x6BE1 , + [16073] = 0x8A79 , + [16074] = 0x7C98 , + [16075] = 0x6CBE , + [16076] = 0x76CF , + [16077] = 0x65A9 , + [16078] = 0x8F97 , + [16079] = 0x5D2D , + [16080] = 0x5C55 , + [16081] = 0x8638 , + [16082] = 0x6808 , + [16083] = 0x5360 , + [16084] = 0x6218 , + [16085] = 0x7AD9 , + [16086] = 0x6E5B , + [16087] = 0x7EFD , + [16088] = 0x6A1F , + [16089] = 0x7AE0 , + [16090] = 0x5F70 , + [16091] = 0x6F33 , + [16092] = 0x5F20 , + [16093] = 0x638C , + [16094] = 0x6DA8 , + [16095] = 0x6756 , + [16096] = 0x4E08 , + [16097] = 0x5E10 , + [16098] = 0x8D26 , + [16099] = 0x4ED7 , + [16100] = 0x80C0 , + [16101] = 0x7634 , + [16102] = 0x969C , + [16103] = 0x62DB , + [16104] = 0x662D , + [16105] = 0x627E , + [16106] = 0x6CBC , + [16107] = 0x8D75 , + [16108] = 0x7167 , + [16109] = 0x7F69 , + [16110] = 0x5146 , + [16111] = 0x8087 , + [16112] = 0x53EC , + [16113] = 0x906E , + [16114] = 0x6298 , + [16115] = 0x54F2 , + [16116] = 0x86F0 , + [16117] = 0x8F99 , + [16118] = 0x8005 , + [16119] = 0x9517 , + [16120] = 0x8517 , + [16121] = 0x8FD9 , + [16122] = 0x6D59 , + [16123] = 0x73CD , + [16124] = 0x659F , + [16125] = 0x771F , + [16126] = 0x7504 , + [16127] = 0x7827 , + [16128] = 0x81FB , + [16129] = 0x8D1E , + [16130] = 0x9488 , + [16131] = 0x4FA6 , + [16132] = 0x6795 , + [16133] = 0x75B9 , + [16134] = 0x8BCA , + [16135] = 0x9707 , + [16136] = 0x632F , + [16137] = 0x9547 , + [16138] = 0x9635 , + [16139] = 0x84B8 , + [16140] = 0x6323 , + [16141] = 0x7741 , + [16142] = 0x5F81 , + [16143] = 0x72F0 , + [16144] = 0x4E89 , + [16145] = 0x6014 , + [16146] = 0x6574 , + [16147] = 0x62EF , + [16148] = 0x6B63 , + [16149] = 0x653F , + [16150] = 0x8AE4 , + [16151] = 0x8AE5 , + [16152] = 0x8AE6 , + [16153] = 0x8AE7 , + [16154] = 0x8AE8 , + [16155] = 0x8AE9 , + [16156] = 0x8AEA , + [16157] = 0x8AEB , + [16158] = 0x8AEC , + [16159] = 0x8AED , + [16160] = 0x8AEE , + [16161] = 0x8AEF , + [16162] = 0x8AF0 , + [16163] = 0x8AF1 , + [16164] = 0x8AF2 , + [16165] = 0x8AF3 , + [16166] = 0x8AF4 , + [16167] = 0x8AF5 , + [16168] = 0x8AF6 , + [16169] = 0x8AF7 , + [16170] = 0x8AF8 , + [16171] = 0x8AF9 , + [16172] = 0x8AFA , + [16173] = 0x8AFB , + [16174] = 0x8AFC , + [16175] = 0x8AFD , + [16176] = 0x8AFE , + [16177] = 0x8AFF , + [16178] = 0x8B00 , + [16179] = 0x8B01 , + [16180] = 0x8B02 , + [16181] = 0x8B03 , + [16182] = 0x8B04 , + [16183] = 0x8B05 , + [16184] = 0x8B06 , + [16185] = 0x8B08 , + [16186] = 0x8B09 , + [16187] = 0x8B0A , + [16188] = 0x8B0B , + [16189] = 0x8B0C , + [16190] = 0x8B0D , + [16191] = 0x8B0E , + [16192] = 0x8B0F , + [16193] = 0x8B10 , + [16194] = 0x8B11 , + [16195] = 0x8B12 , + [16196] = 0x8B13 , + [16197] = 0x8B14 , + [16198] = 0x8B15 , + [16199] = 0x8B16 , + [16200] = 0x8B17 , + [16201] = 0x8B18 , + [16202] = 0x8B19 , + [16203] = 0x8B1A , + [16204] = 0x8B1B , + [16205] = 0x8B1C , + [16206] = 0x8B1D , + [16207] = 0x8B1E , + [16208] = 0x8B1F , + [16209] = 0x8B20 , + [16210] = 0x8B21 , + [16211] = 0x8B22 , + [16212] = 0x8B23 , + [16213] = 0x8B24 , + [16214] = 0x8B25 , + [16215] = 0x8B27 , + [16216] = 0x8B28 , + [16217] = 0x8B29 , + [16218] = 0x8B2A , + [16219] = 0x8B2B , + [16220] = 0x8B2C , + [16221] = 0x8B2D , + [16222] = 0x8B2E , + [16223] = 0x8B2F , + [16224] = 0x8B30 , + [16225] = 0x8B31 , + [16226] = 0x8B32 , + [16227] = 0x8B33 , + [16228] = 0x8B34 , + [16229] = 0x8B35 , + [16230] = 0x8B36 , + [16231] = 0x8B37 , + [16232] = 0x8B38 , + [16233] = 0x8B39 , + [16234] = 0x8B3A , + [16235] = 0x8B3B , + [16236] = 0x8B3C , + [16237] = 0x8B3D , + [16238] = 0x8B3E , + [16239] = 0x8B3F , + [16240] = 0x8B40 , + [16241] = 0x8B41 , + [16242] = 0x8B42 , + [16243] = 0x8B43 , + [16244] = 0x8B44 , + [16245] = 0x8B45 , + [16246] = 0x5E27 , + [16247] = 0x75C7 , + [16248] = 0x90D1 , + [16249] = 0x8BC1 , + [16250] = 0x829D , + [16251] = 0x679D , + [16252] = 0x652F , + [16253] = 0x5431 , + [16254] = 0x8718 , + [16255] = 0x77E5 , + [16256] = 0x80A2 , + [16257] = 0x8102 , + [16258] = 0x6C41 , + [16259] = 0x4E4B , + [16260] = 0x7EC7 , + [16261] = 0x804C , + [16262] = 0x76F4 , + [16263] = 0x690D , + [16264] = 0x6B96 , + [16265] = 0x6267 , + [16266] = 0x503C , + [16267] = 0x4F84 , + [16268] = 0x5740 , + [16269] = 0x6307 , + [16270] = 0x6B62 , + [16271] = 0x8DBE , + [16272] = 0x53EA , + [16273] = 0x65E8 , + [16274] = 0x7EB8 , + [16275] = 0x5FD7 , + [16276] = 0x631A , + [16277] = 0x63B7 , + [16278] = 0x81F3 , + [16279] = 0x81F4 , + [16280] = 0x7F6E , + [16281] = 0x5E1C , + [16282] = 0x5CD9 , + [16283] = 0x5236 , + [16284] = 0x667A , + [16285] = 0x79E9 , + [16286] = 0x7A1A , + [16287] = 0x8D28 , + [16288] = 0x7099 , + [16289] = 0x75D4 , + [16290] = 0x6EDE , + [16291] = 0x6CBB , + [16292] = 0x7A92 , + [16293] = 0x4E2D , + [16294] = 0x76C5 , + [16295] = 0x5FE0 , + [16296] = 0x949F , + [16297] = 0x8877 , + [16298] = 0x7EC8 , + [16299] = 0x79CD , + [16300] = 0x80BF , + [16301] = 0x91CD , + [16302] = 0x4EF2 , + [16303] = 0x4F17 , + [16304] = 0x821F , + [16305] = 0x5468 , + [16306] = 0x5DDE , + [16307] = 0x6D32 , + [16308] = 0x8BCC , + [16309] = 0x7CA5 , + [16310] = 0x8F74 , + [16311] = 0x8098 , + [16312] = 0x5E1A , + [16313] = 0x5492 , + [16314] = 0x76B1 , + [16315] = 0x5B99 , + [16316] = 0x663C , + [16317] = 0x9AA4 , + [16318] = 0x73E0 , + [16319] = 0x682A , + [16320] = 0x86DB , + [16321] = 0x6731 , + [16322] = 0x732A , + [16323] = 0x8BF8 , + [16324] = 0x8BDB , + [16325] = 0x9010 , + [16326] = 0x7AF9 , + [16327] = 0x70DB , + [16328] = 0x716E , + [16329] = 0x62C4 , + [16330] = 0x77A9 , + [16331] = 0x5631 , + [16332] = 0x4E3B , + [16333] = 0x8457 , + [16334] = 0x67F1 , + [16335] = 0x52A9 , + [16336] = 0x86C0 , + [16337] = 0x8D2E , + [16338] = 0x94F8 , + [16339] = 0x7B51 , + [16340] = 0x8B46 , + [16341] = 0x8B47 , + [16342] = 0x8B48 , + [16343] = 0x8B49 , + [16344] = 0x8B4A , + [16345] = 0x8B4B , + [16346] = 0x8B4C , + [16347] = 0x8B4D , + [16348] = 0x8B4E , + [16349] = 0x8B4F , + [16350] = 0x8B50 , + [16351] = 0x8B51 , + [16352] = 0x8B52 , + [16353] = 0x8B53 , + [16354] = 0x8B54 , + [16355] = 0x8B55 , + [16356] = 0x8B56 , + [16357] = 0x8B57 , + [16358] = 0x8B58 , + [16359] = 0x8B59 , + [16360] = 0x8B5A , + [16361] = 0x8B5B , + [16362] = 0x8B5C , + [16363] = 0x8B5D , + [16364] = 0x8B5E , + [16365] = 0x8B5F , + [16366] = 0x8B60 , + [16367] = 0x8B61 , + [16368] = 0x8B62 , + [16369] = 0x8B63 , + [16370] = 0x8B64 , + [16371] = 0x8B65 , + [16372] = 0x8B67 , + [16373] = 0x8B68 , + [16374] = 0x8B69 , + [16375] = 0x8B6A , + [16376] = 0x8B6B , + [16377] = 0x8B6D , + [16378] = 0x8B6E , + [16379] = 0x8B6F , + [16380] = 0x8B70 , + [16381] = 0x8B71 , + [16382] = 0x8B72 , + [16383] = 0x8B73 , + [16384] = 0x8B74 , + [16385] = 0x8B75 , + [16386] = 0x8B76 , + [16387] = 0x8B77 , + [16388] = 0x8B78 , + [16389] = 0x8B79 , + [16390] = 0x8B7A , + [16391] = 0x8B7B , + [16392] = 0x8B7C , + [16393] = 0x8B7D , + [16394] = 0x8B7E , + [16395] = 0x8B7F , + [16396] = 0x8B80 , + [16397] = 0x8B81 , + [16398] = 0x8B82 , + [16399] = 0x8B83 , + [16400] = 0x8B84 , + [16401] = 0x8B85 , + [16402] = 0x8B86 , + [16403] = 0x8B87 , + [16404] = 0x8B88 , + [16405] = 0x8B89 , + [16406] = 0x8B8A , + [16407] = 0x8B8B , + [16408] = 0x8B8C , + [16409] = 0x8B8D , + [16410] = 0x8B8E , + [16411] = 0x8B8F , + [16412] = 0x8B90 , + [16413] = 0x8B91 , + [16414] = 0x8B92 , + [16415] = 0x8B93 , + [16416] = 0x8B94 , + [16417] = 0x8B95 , + [16418] = 0x8B96 , + [16419] = 0x8B97 , + [16420] = 0x8B98 , + [16421] = 0x8B99 , + [16422] = 0x8B9A , + [16423] = 0x8B9B , + [16424] = 0x8B9C , + [16425] = 0x8B9D , + [16426] = 0x8B9E , + [16427] = 0x8B9F , + [16428] = 0x8BAC , + [16429] = 0x8BB1 , + [16430] = 0x8BBB , + [16431] = 0x8BC7 , + [16432] = 0x8BD0 , + [16433] = 0x8BEA , + [16434] = 0x8C09 , + [16435] = 0x8C1E , + [16436] = 0x4F4F , + [16437] = 0x6CE8 , + [16438] = 0x795D , + [16439] = 0x9A7B , + [16440] = 0x6293 , + [16441] = 0x722A , + [16442] = 0x62FD , + [16443] = 0x4E13 , + [16444] = 0x7816 , + [16445] = 0x8F6C , + [16446] = 0x64B0 , + [16447] = 0x8D5A , + [16448] = 0x7BC6 , + [16449] = 0x6869 , + [16450] = 0x5E84 , + [16451] = 0x88C5 , + [16452] = 0x5986 , + [16453] = 0x649E , + [16454] = 0x58EE , + [16455] = 0x72B6 , + [16456] = 0x690E , + [16457] = 0x9525 , + [16458] = 0x8FFD , + [16459] = 0x8D58 , + [16460] = 0x5760 , + [16461] = 0x7F00 , + [16462] = 0x8C06 , + [16463] = 0x51C6 , + [16464] = 0x6349 , + [16465] = 0x62D9 , + [16466] = 0x5353 , + [16467] = 0x684C , + [16468] = 0x7422 , + [16469] = 0x8301 , + [16470] = 0x914C , + [16471] = 0x5544 , + [16472] = 0x7740 , + [16473] = 0x707C , + [16474] = 0x6D4A , + [16475] = 0x5179 , + [16476] = 0x54A8 , + [16477] = 0x8D44 , + [16478] = 0x59FF , + [16479] = 0x6ECB , + [16480] = 0x6DC4 , + [16481] = 0x5B5C , + [16482] = 0x7D2B , + [16483] = 0x4ED4 , + [16484] = 0x7C7D , + [16485] = 0x6ED3 , + [16486] = 0x5B50 , + [16487] = 0x81EA , + [16488] = 0x6E0D , + [16489] = 0x5B57 , + [16490] = 0x9B03 , + [16491] = 0x68D5 , + [16492] = 0x8E2A , + [16493] = 0x5B97 , + [16494] = 0x7EFC , + [16495] = 0x603B , + [16496] = 0x7EB5 , + [16497] = 0x90B9 , + [16498] = 0x8D70 , + [16499] = 0x594F , + [16500] = 0x63CD , + [16501] = 0x79DF , + [16502] = 0x8DB3 , + [16503] = 0x5352 , + [16504] = 0x65CF , + [16505] = 0x7956 , + [16506] = 0x8BC5 , + [16507] = 0x963B , + [16508] = 0x7EC4 , + [16509] = 0x94BB , + [16510] = 0x7E82 , + [16511] = 0x5634 , + [16512] = 0x9189 , + [16513] = 0x6700 , + [16514] = 0x7F6A , + [16515] = 0x5C0A , + [16516] = 0x9075 , + [16517] = 0x6628 , + [16518] = 0x5DE6 , + [16519] = 0x4F50 , + [16520] = 0x67DE , + [16521] = 0x505A , + [16522] = 0x4F5C , + [16523] = 0x5750 , + [16524] = 0x5EA7 , + [16525] = 0xE810 , + [16526] = 0xE811 , + [16527] = 0xE812 , + [16528] = 0xE813 , + [16529] = 0xE814 , + [16530] = 0x8C38 , + [16531] = 0x8C39 , + [16532] = 0x8C3A , + [16533] = 0x8C3B , + [16534] = 0x8C3C , + [16535] = 0x8C3D , + [16536] = 0x8C3E , + [16537] = 0x8C3F , + [16538] = 0x8C40 , + [16539] = 0x8C42 , + [16540] = 0x8C43 , + [16541] = 0x8C44 , + [16542] = 0x8C45 , + [16543] = 0x8C48 , + [16544] = 0x8C4A , + [16545] = 0x8C4B , + [16546] = 0x8C4D , + [16547] = 0x8C4E , + [16548] = 0x8C4F , + [16549] = 0x8C50 , + [16550] = 0x8C51 , + [16551] = 0x8C52 , + [16552] = 0x8C53 , + [16553] = 0x8C54 , + [16554] = 0x8C56 , + [16555] = 0x8C57 , + [16556] = 0x8C58 , + [16557] = 0x8C59 , + [16558] = 0x8C5B , + [16559] = 0x8C5C , + [16560] = 0x8C5D , + [16561] = 0x8C5E , + [16562] = 0x8C5F , + [16563] = 0x8C60 , + [16564] = 0x8C63 , + [16565] = 0x8C64 , + [16566] = 0x8C65 , + [16567] = 0x8C66 , + [16568] = 0x8C67 , + [16569] = 0x8C68 , + [16570] = 0x8C69 , + [16571] = 0x8C6C , + [16572] = 0x8C6D , + [16573] = 0x8C6E , + [16574] = 0x8C6F , + [16575] = 0x8C70 , + [16576] = 0x8C71 , + [16577] = 0x8C72 , + [16578] = 0x8C74 , + [16579] = 0x8C75 , + [16580] = 0x8C76 , + [16581] = 0x8C77 , + [16582] = 0x8C7B , + [16583] = 0x8C7C , + [16584] = 0x8C7D , + [16585] = 0x8C7E , + [16586] = 0x8C7F , + [16587] = 0x8C80 , + [16588] = 0x8C81 , + [16589] = 0x8C83 , + [16590] = 0x8C84 , + [16591] = 0x8C86 , + [16592] = 0x8C87 , + [16593] = 0x8C88 , + [16594] = 0x8C8B , + [16595] = 0x8C8D , + [16596] = 0x8C8E , + [16597] = 0x8C8F , + [16598] = 0x8C90 , + [16599] = 0x8C91 , + [16600] = 0x8C92 , + [16601] = 0x8C93 , + [16602] = 0x8C95 , + [16603] = 0x8C96 , + [16604] = 0x8C97 , + [16605] = 0x8C99 , + [16606] = 0x8C9A , + [16607] = 0x8C9B , + [16608] = 0x8C9C , + [16609] = 0x8C9D , + [16610] = 0x8C9E , + [16611] = 0x8C9F , + [16612] = 0x8CA0 , + [16613] = 0x8CA1 , + [16614] = 0x8CA2 , + [16615] = 0x8CA3 , + [16616] = 0x8CA4 , + [16617] = 0x8CA5 , + [16618] = 0x8CA6 , + [16619] = 0x8CA7 , + [16620] = 0x8CA8 , + [16621] = 0x8CA9 , + [16622] = 0x8CAA , + [16623] = 0x8CAB , + [16624] = 0x8CAC , + [16625] = 0x8CAD , + [16626] = 0x4E8D , + [16627] = 0x4E0C , + [16628] = 0x5140 , + [16629] = 0x4E10 , + [16630] = 0x5EFF , + [16631] = 0x5345 , + [16632] = 0x4E15 , + [16633] = 0x4E98 , + [16634] = 0x4E1E , + [16635] = 0x9B32 , + [16636] = 0x5B6C , + [16637] = 0x5669 , + [16638] = 0x4E28 , + [16639] = 0x79BA , + [16640] = 0x4E3F , + [16641] = 0x5315 , + [16642] = 0x4E47 , + [16643] = 0x592D , + [16644] = 0x723B , + [16645] = 0x536E , + [16646] = 0x6C10 , + [16647] = 0x56DF , + [16648] = 0x80E4 , + [16649] = 0x9997 , + [16650] = 0x6BD3 , + [16651] = 0x777E , + [16652] = 0x9F17 , + [16653] = 0x4E36 , + [16654] = 0x4E9F , + [16655] = 0x9F10 , + [16656] = 0x4E5C , + [16657] = 0x4E69 , + [16658] = 0x4E93 , + [16659] = 0x8288 , + [16660] = 0x5B5B , + [16661] = 0x556C , + [16662] = 0x560F , + [16663] = 0x4EC4 , + [16664] = 0x538D , + [16665] = 0x539D , + [16666] = 0x53A3 , + [16667] = 0x53A5 , + [16668] = 0x53AE , + [16669] = 0x9765 , + [16670] = 0x8D5D , + [16671] = 0x531A , + [16672] = 0x53F5 , + [16673] = 0x5326 , + [16674] = 0x532E , + [16675] = 0x533E , + [16676] = 0x8D5C , + [16677] = 0x5366 , + [16678] = 0x5363 , + [16679] = 0x5202 , + [16680] = 0x5208 , + [16681] = 0x520E , + [16682] = 0x522D , + [16683] = 0x5233 , + [16684] = 0x523F , + [16685] = 0x5240 , + [16686] = 0x524C , + [16687] = 0x525E , + [16688] = 0x5261 , + [16689] = 0x525C , + [16690] = 0x84AF , + [16691] = 0x527D , + [16692] = 0x5282 , + [16693] = 0x5281 , + [16694] = 0x5290 , + [16695] = 0x5293 , + [16696] = 0x5182 , + [16697] = 0x7F54 , + [16698] = 0x4EBB , + [16699] = 0x4EC3 , + [16700] = 0x4EC9 , + [16701] = 0x4EC2 , + [16702] = 0x4EE8 , + [16703] = 0x4EE1 , + [16704] = 0x4EEB , + [16705] = 0x4EDE , + [16706] = 0x4F1B , + [16707] = 0x4EF3 , + [16708] = 0x4F22 , + [16709] = 0x4F64 , + [16710] = 0x4EF5 , + [16711] = 0x4F25 , + [16712] = 0x4F27 , + [16713] = 0x4F09 , + [16714] = 0x4F2B , + [16715] = 0x4F5E , + [16716] = 0x4F67 , + [16717] = 0x6538 , + [16718] = 0x4F5A , + [16719] = 0x4F5D , + [16720] = 0x8CAE , + [16721] = 0x8CAF , + [16722] = 0x8CB0 , + [16723] = 0x8CB1 , + [16724] = 0x8CB2 , + [16725] = 0x8CB3 , + [16726] = 0x8CB4 , + [16727] = 0x8CB5 , + [16728] = 0x8CB6 , + [16729] = 0x8CB7 , + [16730] = 0x8CB8 , + [16731] = 0x8CB9 , + [16732] = 0x8CBA , + [16733] = 0x8CBB , + [16734] = 0x8CBC , + [16735] = 0x8CBD , + [16736] = 0x8CBE , + [16737] = 0x8CBF , + [16738] = 0x8CC0 , + [16739] = 0x8CC1 , + [16740] = 0x8CC2 , + [16741] = 0x8CC3 , + [16742] = 0x8CC4 , + [16743] = 0x8CC5 , + [16744] = 0x8CC6 , + [16745] = 0x8CC7 , + [16746] = 0x8CC8 , + [16747] = 0x8CC9 , + [16748] = 0x8CCA , + [16749] = 0x8CCB , + [16750] = 0x8CCC , + [16751] = 0x8CCD , + [16752] = 0x8CCE , + [16753] = 0x8CCF , + [16754] = 0x8CD0 , + [16755] = 0x8CD1 , + [16756] = 0x8CD2 , + [16757] = 0x8CD3 , + [16758] = 0x8CD4 , + [16759] = 0x8CD5 , + [16760] = 0x8CD6 , + [16761] = 0x8CD7 , + [16762] = 0x8CD8 , + [16763] = 0x8CD9 , + [16764] = 0x8CDA , + [16765] = 0x8CDB , + [16766] = 0x8CDC , + [16767] = 0x8CDD , + [16768] = 0x8CDE , + [16769] = 0x8CDF , + [16770] = 0x8CE0 , + [16771] = 0x8CE1 , + [16772] = 0x8CE2 , + [16773] = 0x8CE3 , + [16774] = 0x8CE4 , + [16775] = 0x8CE5 , + [16776] = 0x8CE6 , + [16777] = 0x8CE7 , + [16778] = 0x8CE8 , + [16779] = 0x8CE9 , + [16780] = 0x8CEA , + [16781] = 0x8CEB , + [16782] = 0x8CEC , + [16783] = 0x8CED , + [16784] = 0x8CEE , + [16785] = 0x8CEF , + [16786] = 0x8CF0 , + [16787] = 0x8CF1 , + [16788] = 0x8CF2 , + [16789] = 0x8CF3 , + [16790] = 0x8CF4 , + [16791] = 0x8CF5 , + [16792] = 0x8CF6 , + [16793] = 0x8CF7 , + [16794] = 0x8CF8 , + [16795] = 0x8CF9 , + [16796] = 0x8CFA , + [16797] = 0x8CFB , + [16798] = 0x8CFC , + [16799] = 0x8CFD , + [16800] = 0x8CFE , + [16801] = 0x8CFF , + [16802] = 0x8D00 , + [16803] = 0x8D01 , + [16804] = 0x8D02 , + [16805] = 0x8D03 , + [16806] = 0x8D04 , + [16807] = 0x8D05 , + [16808] = 0x8D06 , + [16809] = 0x8D07 , + [16810] = 0x8D08 , + [16811] = 0x8D09 , + [16812] = 0x8D0A , + [16813] = 0x8D0B , + [16814] = 0x8D0C , + [16815] = 0x8D0D , + [16816] = 0x4F5F , + [16817] = 0x4F57 , + [16818] = 0x4F32 , + [16819] = 0x4F3D , + [16820] = 0x4F76 , + [16821] = 0x4F74 , + [16822] = 0x4F91 , + [16823] = 0x4F89 , + [16824] = 0x4F83 , + [16825] = 0x4F8F , + [16826] = 0x4F7E , + [16827] = 0x4F7B , + [16828] = 0x4FAA , + [16829] = 0x4F7C , + [16830] = 0x4FAC , + [16831] = 0x4F94 , + [16832] = 0x4FE6 , + [16833] = 0x4FE8 , + [16834] = 0x4FEA , + [16835] = 0x4FC5 , + [16836] = 0x4FDA , + [16837] = 0x4FE3 , + [16838] = 0x4FDC , + [16839] = 0x4FD1 , + [16840] = 0x4FDF , + [16841] = 0x4FF8 , + [16842] = 0x5029 , + [16843] = 0x504C , + [16844] = 0x4FF3 , + [16845] = 0x502C , + [16846] = 0x500F , + [16847] = 0x502E , + [16848] = 0x502D , + [16849] = 0x4FFE , + [16850] = 0x501C , + [16851] = 0x500C , + [16852] = 0x5025 , + [16853] = 0x5028 , + [16854] = 0x507E , + [16855] = 0x5043 , + [16856] = 0x5055 , + [16857] = 0x5048 , + [16858] = 0x504E , + [16859] = 0x506C , + [16860] = 0x507B , + [16861] = 0x50A5 , + [16862] = 0x50A7 , + [16863] = 0x50A9 , + [16864] = 0x50BA , + [16865] = 0x50D6 , + [16866] = 0x5106 , + [16867] = 0x50ED , + [16868] = 0x50EC , + [16869] = 0x50E6 , + [16870] = 0x50EE , + [16871] = 0x5107 , + [16872] = 0x510B , + [16873] = 0x4EDD , + [16874] = 0x6C3D , + [16875] = 0x4F58 , + [16876] = 0x4F65 , + [16877] = 0x4FCE , + [16878] = 0x9FA0 , + [16879] = 0x6C46 , + [16880] = 0x7C74 , + [16881] = 0x516E , + [16882] = 0x5DFD , + [16883] = 0x9EC9 , + [16884] = 0x9998 , + [16885] = 0x5181 , + [16886] = 0x5914 , + [16887] = 0x52F9 , + [16888] = 0x530D , + [16889] = 0x8A07 , + [16890] = 0x5310 , + [16891] = 0x51EB , + [16892] = 0x5919 , + [16893] = 0x5155 , + [16894] = 0x4EA0 , + [16895] = 0x5156 , + [16896] = 0x4EB3 , + [16897] = 0x886E , + [16898] = 0x88A4 , + [16899] = 0x4EB5 , + [16900] = 0x8114 , + [16901] = 0x88D2 , + [16902] = 0x7980 , + [16903] = 0x5B34 , + [16904] = 0x8803 , + [16905] = 0x7FB8 , + [16906] = 0x51AB , + [16907] = 0x51B1 , + [16908] = 0x51BD , + [16909] = 0x51BC , + [16910] = 0x8D0E , + [16911] = 0x8D0F , + [16912] = 0x8D10 , + [16913] = 0x8D11 , + [16914] = 0x8D12 , + [16915] = 0x8D13 , + [16916] = 0x8D14 , + [16917] = 0x8D15 , + [16918] = 0x8D16 , + [16919] = 0x8D17 , + [16920] = 0x8D18 , + [16921] = 0x8D19 , + [16922] = 0x8D1A , + [16923] = 0x8D1B , + [16924] = 0x8D1C , + [16925] = 0x8D20 , + [16926] = 0x8D51 , + [16927] = 0x8D52 , + [16928] = 0x8D57 , + [16929] = 0x8D5F , + [16930] = 0x8D65 , + [16931] = 0x8D68 , + [16932] = 0x8D69 , + [16933] = 0x8D6A , + [16934] = 0x8D6C , + [16935] = 0x8D6E , + [16936] = 0x8D6F , + [16937] = 0x8D71 , + [16938] = 0x8D72 , + [16939] = 0x8D78 , + [16940] = 0x8D79 , + [16941] = 0x8D7A , + [16942] = 0x8D7B , + [16943] = 0x8D7C , + [16944] = 0x8D7D , + [16945] = 0x8D7E , + [16946] = 0x8D7F , + [16947] = 0x8D80 , + [16948] = 0x8D82 , + [16949] = 0x8D83 , + [16950] = 0x8D86 , + [16951] = 0x8D87 , + [16952] = 0x8D88 , + [16953] = 0x8D89 , + [16954] = 0x8D8C , + [16955] = 0x8D8D , + [16956] = 0x8D8E , + [16957] = 0x8D8F , + [16958] = 0x8D90 , + [16959] = 0x8D92 , + [16960] = 0x8D93 , + [16961] = 0x8D95 , + [16962] = 0x8D96 , + [16963] = 0x8D97 , + [16964] = 0x8D98 , + [16965] = 0x8D99 , + [16966] = 0x8D9A , + [16967] = 0x8D9B , + [16968] = 0x8D9C , + [16969] = 0x8D9D , + [16970] = 0x8D9E , + [16971] = 0x8DA0 , + [16972] = 0x8DA1 , + [16973] = 0x8DA2 , + [16974] = 0x8DA4 , + [16975] = 0x8DA5 , + [16976] = 0x8DA6 , + [16977] = 0x8DA7 , + [16978] = 0x8DA8 , + [16979] = 0x8DA9 , + [16980] = 0x8DAA , + [16981] = 0x8DAB , + [16982] = 0x8DAC , + [16983] = 0x8DAD , + [16984] = 0x8DAE , + [16985] = 0x8DAF , + [16986] = 0x8DB0 , + [16987] = 0x8DB2 , + [16988] = 0x8DB6 , + [16989] = 0x8DB7 , + [16990] = 0x8DB9 , + [16991] = 0x8DBB , + [16992] = 0x8DBD , + [16993] = 0x8DC0 , + [16994] = 0x8DC1 , + [16995] = 0x8DC2 , + [16996] = 0x8DC5 , + [16997] = 0x8DC7 , + [16998] = 0x8DC8 , + [16999] = 0x8DC9 , + [17000] = 0x8DCA , + [17001] = 0x8DCD , + [17002] = 0x8DD0 , + [17003] = 0x8DD2 , + [17004] = 0x8DD3 , + [17005] = 0x8DD4 , + [17006] = 0x51C7 , + [17007] = 0x5196 , + [17008] = 0x51A2 , + [17009] = 0x51A5 , + [17010] = 0x8BA0 , + [17011] = 0x8BA6 , + [17012] = 0x8BA7 , + [17013] = 0x8BAA , + [17014] = 0x8BB4 , + [17015] = 0x8BB5 , + [17016] = 0x8BB7 , + [17017] = 0x8BC2 , + [17018] = 0x8BC3 , + [17019] = 0x8BCB , + [17020] = 0x8BCF , + [17021] = 0x8BCE , + [17022] = 0x8BD2 , + [17023] = 0x8BD3 , + [17024] = 0x8BD4 , + [17025] = 0x8BD6 , + [17026] = 0x8BD8 , + [17027] = 0x8BD9 , + [17028] = 0x8BDC , + [17029] = 0x8BDF , + [17030] = 0x8BE0 , + [17031] = 0x8BE4 , + [17032] = 0x8BE8 , + [17033] = 0x8BE9 , + [17034] = 0x8BEE , + [17035] = 0x8BF0 , + [17036] = 0x8BF3 , + [17037] = 0x8BF6 , + [17038] = 0x8BF9 , + [17039] = 0x8BFC , + [17040] = 0x8BFF , + [17041] = 0x8C00 , + [17042] = 0x8C02 , + [17043] = 0x8C04 , + [17044] = 0x8C07 , + [17045] = 0x8C0C , + [17046] = 0x8C0F , + [17047] = 0x8C11 , + [17048] = 0x8C12 , + [17049] = 0x8C14 , + [17050] = 0x8C15 , + [17051] = 0x8C16 , + [17052] = 0x8C19 , + [17053] = 0x8C1B , + [17054] = 0x8C18 , + [17055] = 0x8C1D , + [17056] = 0x8C1F , + [17057] = 0x8C20 , + [17058] = 0x8C21 , + [17059] = 0x8C25 , + [17060] = 0x8C27 , + [17061] = 0x8C2A , + [17062] = 0x8C2B , + [17063] = 0x8C2E , + [17064] = 0x8C2F , + [17065] = 0x8C32 , + [17066] = 0x8C33 , + [17067] = 0x8C35 , + [17068] = 0x8C36 , + [17069] = 0x5369 , + [17070] = 0x537A , + [17071] = 0x961D , + [17072] = 0x9622 , + [17073] = 0x9621 , + [17074] = 0x9631 , + [17075] = 0x962A , + [17076] = 0x963D , + [17077] = 0x963C , + [17078] = 0x9642 , + [17079] = 0x9649 , + [17080] = 0x9654 , + [17081] = 0x965F , + [17082] = 0x9667 , + [17083] = 0x966C , + [17084] = 0x9672 , + [17085] = 0x9674 , + [17086] = 0x9688 , + [17087] = 0x968D , + [17088] = 0x9697 , + [17089] = 0x96B0 , + [17090] = 0x9097 , + [17091] = 0x909B , + [17092] = 0x909D , + [17093] = 0x9099 , + [17094] = 0x90AC , + [17095] = 0x90A1 , + [17096] = 0x90B4 , + [17097] = 0x90B3 , + [17098] = 0x90B6 , + [17099] = 0x90BA , + [17100] = 0x8DD5 , + [17101] = 0x8DD8 , + [17102] = 0x8DD9 , + [17103] = 0x8DDC , + [17104] = 0x8DE0 , + [17105] = 0x8DE1 , + [17106] = 0x8DE2 , + [17107] = 0x8DE5 , + [17108] = 0x8DE6 , + [17109] = 0x8DE7 , + [17110] = 0x8DE9 , + [17111] = 0x8DED , + [17112] = 0x8DEE , + [17113] = 0x8DF0 , + [17114] = 0x8DF1 , + [17115] = 0x8DF2 , + [17116] = 0x8DF4 , + [17117] = 0x8DF6 , + [17118] = 0x8DFC , + [17119] = 0x8DFE , + [17120] = 0x8DFF , + [17121] = 0x8E00 , + [17122] = 0x8E01 , + [17123] = 0x8E02 , + [17124] = 0x8E03 , + [17125] = 0x8E04 , + [17126] = 0x8E06 , + [17127] = 0x8E07 , + [17128] = 0x8E08 , + [17129] = 0x8E0B , + [17130] = 0x8E0D , + [17131] = 0x8E0E , + [17132] = 0x8E10 , + [17133] = 0x8E11 , + [17134] = 0x8E12 , + [17135] = 0x8E13 , + [17136] = 0x8E15 , + [17137] = 0x8E16 , + [17138] = 0x8E17 , + [17139] = 0x8E18 , + [17140] = 0x8E19 , + [17141] = 0x8E1A , + [17142] = 0x8E1B , + [17143] = 0x8E1C , + [17144] = 0x8E20 , + [17145] = 0x8E21 , + [17146] = 0x8E24 , + [17147] = 0x8E25 , + [17148] = 0x8E26 , + [17149] = 0x8E27 , + [17150] = 0x8E28 , + [17151] = 0x8E2B , + [17152] = 0x8E2D , + [17153] = 0x8E30 , + [17154] = 0x8E32 , + [17155] = 0x8E33 , + [17156] = 0x8E34 , + [17157] = 0x8E36 , + [17158] = 0x8E37 , + [17159] = 0x8E38 , + [17160] = 0x8E3B , + [17161] = 0x8E3C , + [17162] = 0x8E3E , + [17163] = 0x8E3F , + [17164] = 0x8E43 , + [17165] = 0x8E45 , + [17166] = 0x8E46 , + [17167] = 0x8E4C , + [17168] = 0x8E4D , + [17169] = 0x8E4E , + [17170] = 0x8E4F , + [17171] = 0x8E50 , + [17172] = 0x8E53 , + [17173] = 0x8E54 , + [17174] = 0x8E55 , + [17175] = 0x8E56 , + [17176] = 0x8E57 , + [17177] = 0x8E58 , + [17178] = 0x8E5A , + [17179] = 0x8E5B , + [17180] = 0x8E5C , + [17181] = 0x8E5D , + [17182] = 0x8E5E , + [17183] = 0x8E5F , + [17184] = 0x8E60 , + [17185] = 0x8E61 , + [17186] = 0x8E62 , + [17187] = 0x8E63 , + [17188] = 0x8E64 , + [17189] = 0x8E65 , + [17190] = 0x8E67 , + [17191] = 0x8E68 , + [17192] = 0x8E6A , + [17193] = 0x8E6B , + [17194] = 0x8E6E , + [17195] = 0x8E71 , + [17196] = 0x90B8 , + [17197] = 0x90B0 , + [17198] = 0x90CF , + [17199] = 0x90C5 , + [17200] = 0x90BE , + [17201] = 0x90D0 , + [17202] = 0x90C4 , + [17203] = 0x90C7 , + [17204] = 0x90D3 , + [17205] = 0x90E6 , + [17206] = 0x90E2 , + [17207] = 0x90DC , + [17208] = 0x90D7 , + [17209] = 0x90DB , + [17210] = 0x90EB , + [17211] = 0x90EF , + [17212] = 0x90FE , + [17213] = 0x9104 , + [17214] = 0x9122 , + [17215] = 0x911E , + [17216] = 0x9123 , + [17217] = 0x9131 , + [17218] = 0x912F , + [17219] = 0x9139 , + [17220] = 0x9143 , + [17221] = 0x9146 , + [17222] = 0x520D , + [17223] = 0x5942 , + [17224] = 0x52A2 , + [17225] = 0x52AC , + [17226] = 0x52AD , + [17227] = 0x52BE , + [17228] = 0x54FF , + [17229] = 0x52D0 , + [17230] = 0x52D6 , + [17231] = 0x52F0 , + [17232] = 0x53DF , + [17233] = 0x71EE , + [17234] = 0x77CD , + [17235] = 0x5EF4 , + [17236] = 0x51F5 , + [17237] = 0x51FC , + [17238] = 0x9B2F , + [17239] = 0x53B6 , + [17240] = 0x5F01 , + [17241] = 0x755A , + [17242] = 0x5DEF , + [17243] = 0x574C , + [17244] = 0x57A9 , + [17245] = 0x57A1 , + [17246] = 0x587E , + [17247] = 0x58BC , + [17248] = 0x58C5 , + [17249] = 0x58D1 , + [17250] = 0x5729 , + [17251] = 0x572C , + [17252] = 0x572A , + [17253] = 0x5733 , + [17254] = 0x5739 , + [17255] = 0x572E , + [17256] = 0x572F , + [17257] = 0x575C , + [17258] = 0x573B , + [17259] = 0x5742 , + [17260] = 0x5769 , + [17261] = 0x5785 , + [17262] = 0x576B , + [17263] = 0x5786 , + [17264] = 0x577C , + [17265] = 0x577B , + [17266] = 0x5768 , + [17267] = 0x576D , + [17268] = 0x5776 , + [17269] = 0x5773 , + [17270] = 0x57AD , + [17271] = 0x57A4 , + [17272] = 0x578C , + [17273] = 0x57B2 , + [17274] = 0x57CF , + [17275] = 0x57A7 , + [17276] = 0x57B4 , + [17277] = 0x5793 , + [17278] = 0x57A0 , + [17279] = 0x57D5 , + [17280] = 0x57D8 , + [17281] = 0x57DA , + [17282] = 0x57D9 , + [17283] = 0x57D2 , + [17284] = 0x57B8 , + [17285] = 0x57F4 , + [17286] = 0x57EF , + [17287] = 0x57F8 , + [17288] = 0x57E4 , + [17289] = 0x57DD , + [17290] = 0x8E73 , + [17291] = 0x8E75 , + [17292] = 0x8E77 , + [17293] = 0x8E78 , + [17294] = 0x8E79 , + [17295] = 0x8E7A , + [17296] = 0x8E7B , + [17297] = 0x8E7D , + [17298] = 0x8E7E , + [17299] = 0x8E80 , + [17300] = 0x8E82 , + [17301] = 0x8E83 , + [17302] = 0x8E84 , + [17303] = 0x8E86 , + [17304] = 0x8E88 , + [17305] = 0x8E89 , + [17306] = 0x8E8A , + [17307] = 0x8E8B , + [17308] = 0x8E8C , + [17309] = 0x8E8D , + [17310] = 0x8E8E , + [17311] = 0x8E91 , + [17312] = 0x8E92 , + [17313] = 0x8E93 , + [17314] = 0x8E95 , + [17315] = 0x8E96 , + [17316] = 0x8E97 , + [17317] = 0x8E98 , + [17318] = 0x8E99 , + [17319] = 0x8E9A , + [17320] = 0x8E9B , + [17321] = 0x8E9D , + [17322] = 0x8E9F , + [17323] = 0x8EA0 , + [17324] = 0x8EA1 , + [17325] = 0x8EA2 , + [17326] = 0x8EA3 , + [17327] = 0x8EA4 , + [17328] = 0x8EA5 , + [17329] = 0x8EA6 , + [17330] = 0x8EA7 , + [17331] = 0x8EA8 , + [17332] = 0x8EA9 , + [17333] = 0x8EAA , + [17334] = 0x8EAD , + [17335] = 0x8EAE , + [17336] = 0x8EB0 , + [17337] = 0x8EB1 , + [17338] = 0x8EB3 , + [17339] = 0x8EB4 , + [17340] = 0x8EB5 , + [17341] = 0x8EB6 , + [17342] = 0x8EB7 , + [17343] = 0x8EB8 , + [17344] = 0x8EB9 , + [17345] = 0x8EBB , + [17346] = 0x8EBC , + [17347] = 0x8EBD , + [17348] = 0x8EBE , + [17349] = 0x8EBF , + [17350] = 0x8EC0 , + [17351] = 0x8EC1 , + [17352] = 0x8EC2 , + [17353] = 0x8EC3 , + [17354] = 0x8EC4 , + [17355] = 0x8EC5 , + [17356] = 0x8EC6 , + [17357] = 0x8EC7 , + [17358] = 0x8EC8 , + [17359] = 0x8EC9 , + [17360] = 0x8ECA , + [17361] = 0x8ECB , + [17362] = 0x8ECC , + [17363] = 0x8ECD , + [17364] = 0x8ECF , + [17365] = 0x8ED0 , + [17366] = 0x8ED1 , + [17367] = 0x8ED2 , + [17368] = 0x8ED3 , + [17369] = 0x8ED4 , + [17370] = 0x8ED5 , + [17371] = 0x8ED6 , + [17372] = 0x8ED7 , + [17373] = 0x8ED8 , + [17374] = 0x8ED9 , + [17375] = 0x8EDA , + [17376] = 0x8EDB , + [17377] = 0x8EDC , + [17378] = 0x8EDD , + [17379] = 0x8EDE , + [17380] = 0x8EDF , + [17381] = 0x8EE0 , + [17382] = 0x8EE1 , + [17383] = 0x8EE2 , + [17384] = 0x8EE3 , + [17385] = 0x8EE4 , + [17386] = 0x580B , + [17387] = 0x580D , + [17388] = 0x57FD , + [17389] = 0x57ED , + [17390] = 0x5800 , + [17391] = 0x581E , + [17392] = 0x5819 , + [17393] = 0x5844 , + [17394] = 0x5820 , + [17395] = 0x5865 , + [17396] = 0x586C , + [17397] = 0x5881 , + [17398] = 0x5889 , + [17399] = 0x589A , + [17400] = 0x5880 , + [17401] = 0x99A8 , + [17402] = 0x9F19 , + [17403] = 0x61FF , + [17404] = 0x8279 , + [17405] = 0x827D , + [17406] = 0x827F , + [17407] = 0x828F , + [17408] = 0x828A , + [17409] = 0x82A8 , + [17410] = 0x8284 , + [17411] = 0x828E , + [17412] = 0x8291 , + [17413] = 0x8297 , + [17414] = 0x8299 , + [17415] = 0x82AB , + [17416] = 0x82B8 , + [17417] = 0x82BE , + [17418] = 0x82B0 , + [17419] = 0x82C8 , + [17420] = 0x82CA , + [17421] = 0x82E3 , + [17422] = 0x8298 , + [17423] = 0x82B7 , + [17424] = 0x82AE , + [17425] = 0x82CB , + [17426] = 0x82CC , + [17427] = 0x82C1 , + [17428] = 0x82A9 , + [17429] = 0x82B4 , + [17430] = 0x82A1 , + [17431] = 0x82AA , + [17432] = 0x829F , + [17433] = 0x82C4 , + [17434] = 0x82CE , + [17435] = 0x82A4 , + [17436] = 0x82E1 , + [17437] = 0x8309 , + [17438] = 0x82F7 , + [17439] = 0x82E4 , + [17440] = 0x830F , + [17441] = 0x8307 , + [17442] = 0x82DC , + [17443] = 0x82F4 , + [17444] = 0x82D2 , + [17445] = 0x82D8 , + [17446] = 0x830C , + [17447] = 0x82FB , + [17448] = 0x82D3 , + [17449] = 0x8311 , + [17450] = 0x831A , + [17451] = 0x8306 , + [17452] = 0x8314 , + [17453] = 0x8315 , + [17454] = 0x82E0 , + [17455] = 0x82D5 , + [17456] = 0x831C , + [17457] = 0x8351 , + [17458] = 0x835B , + [17459] = 0x835C , + [17460] = 0x8308 , + [17461] = 0x8392 , + [17462] = 0x833C , + [17463] = 0x8334 , + [17464] = 0x8331 , + [17465] = 0x839B , + [17466] = 0x835E , + [17467] = 0x832F , + [17468] = 0x834F , + [17469] = 0x8347 , + [17470] = 0x8343 , + [17471] = 0x835F , + [17472] = 0x8340 , + [17473] = 0x8317 , + [17474] = 0x8360 , + [17475] = 0x832D , + [17476] = 0x833A , + [17477] = 0x8333 , + [17478] = 0x8366 , + [17479] = 0x8365 , + [17480] = 0x8EE5 , + [17481] = 0x8EE6 , + [17482] = 0x8EE7 , + [17483] = 0x8EE8 , + [17484] = 0x8EE9 , + [17485] = 0x8EEA , + [17486] = 0x8EEB , + [17487] = 0x8EEC , + [17488] = 0x8EED , + [17489] = 0x8EEE , + [17490] = 0x8EEF , + [17491] = 0x8EF0 , + [17492] = 0x8EF1 , + [17493] = 0x8EF2 , + [17494] = 0x8EF3 , + [17495] = 0x8EF4 , + [17496] = 0x8EF5 , + [17497] = 0x8EF6 , + [17498] = 0x8EF7 , + [17499] = 0x8EF8 , + [17500] = 0x8EF9 , + [17501] = 0x8EFA , + [17502] = 0x8EFB , + [17503] = 0x8EFC , + [17504] = 0x8EFD , + [17505] = 0x8EFE , + [17506] = 0x8EFF , + [17507] = 0x8F00 , + [17508] = 0x8F01 , + [17509] = 0x8F02 , + [17510] = 0x8F03 , + [17511] = 0x8F04 , + [17512] = 0x8F05 , + [17513] = 0x8F06 , + [17514] = 0x8F07 , + [17515] = 0x8F08 , + [17516] = 0x8F09 , + [17517] = 0x8F0A , + [17518] = 0x8F0B , + [17519] = 0x8F0C , + [17520] = 0x8F0D , + [17521] = 0x8F0E , + [17522] = 0x8F0F , + [17523] = 0x8F10 , + [17524] = 0x8F11 , + [17525] = 0x8F12 , + [17526] = 0x8F13 , + [17527] = 0x8F14 , + [17528] = 0x8F15 , + [17529] = 0x8F16 , + [17530] = 0x8F17 , + [17531] = 0x8F18 , + [17532] = 0x8F19 , + [17533] = 0x8F1A , + [17534] = 0x8F1B , + [17535] = 0x8F1C , + [17536] = 0x8F1D , + [17537] = 0x8F1E , + [17538] = 0x8F1F , + [17539] = 0x8F20 , + [17540] = 0x8F21 , + [17541] = 0x8F22 , + [17542] = 0x8F23 , + [17543] = 0x8F24 , + [17544] = 0x8F25 , + [17545] = 0x8F26 , + [17546] = 0x8F27 , + [17547] = 0x8F28 , + [17548] = 0x8F29 , + [17549] = 0x8F2A , + [17550] = 0x8F2B , + [17551] = 0x8F2C , + [17552] = 0x8F2D , + [17553] = 0x8F2E , + [17554] = 0x8F2F , + [17555] = 0x8F30 , + [17556] = 0x8F31 , + [17557] = 0x8F32 , + [17558] = 0x8F33 , + [17559] = 0x8F34 , + [17560] = 0x8F35 , + [17561] = 0x8F36 , + [17562] = 0x8F37 , + [17563] = 0x8F38 , + [17564] = 0x8F39 , + [17565] = 0x8F3A , + [17566] = 0x8F3B , + [17567] = 0x8F3C , + [17568] = 0x8F3D , + [17569] = 0x8F3E , + [17570] = 0x8F3F , + [17571] = 0x8F40 , + [17572] = 0x8F41 , + [17573] = 0x8F42 , + [17574] = 0x8F43 , + [17575] = 0x8F44 , + [17576] = 0x8368 , + [17577] = 0x831B , + [17578] = 0x8369 , + [17579] = 0x836C , + [17580] = 0x836A , + [17581] = 0x836D , + [17582] = 0x836E , + [17583] = 0x83B0 , + [17584] = 0x8378 , + [17585] = 0x83B3 , + [17586] = 0x83B4 , + [17587] = 0x83A0 , + [17588] = 0x83AA , + [17589] = 0x8393 , + [17590] = 0x839C , + [17591] = 0x8385 , + [17592] = 0x837C , + [17593] = 0x83B6 , + [17594] = 0x83A9 , + [17595] = 0x837D , + [17596] = 0x83B8 , + [17597] = 0x837B , + [17598] = 0x8398 , + [17599] = 0x839E , + [17600] = 0x83A8 , + [17601] = 0x83BA , + [17602] = 0x83BC , + [17603] = 0x83C1 , + [17604] = 0x8401 , + [17605] = 0x83E5 , + [17606] = 0x83D8 , + [17607] = 0x5807 , + [17608] = 0x8418 , + [17609] = 0x840B , + [17610] = 0x83DD , + [17611] = 0x83FD , + [17612] = 0x83D6 , + [17613] = 0x841C , + [17614] = 0x8438 , + [17615] = 0x8411 , + [17616] = 0x8406 , + [17617] = 0x83D4 , + [17618] = 0x83DF , + [17619] = 0x840F , + [17620] = 0x8403 , + [17621] = 0x83F8 , + [17622] = 0x83F9 , + [17623] = 0x83EA , + [17624] = 0x83C5 , + [17625] = 0x83C0 , + [17626] = 0x8426 , + [17627] = 0x83F0 , + [17628] = 0x83E1 , + [17629] = 0x845C , + [17630] = 0x8451 , + [17631] = 0x845A , + [17632] = 0x8459 , + [17633] = 0x8473 , + [17634] = 0x8487 , + [17635] = 0x8488 , + [17636] = 0x847A , + [17637] = 0x8489 , + [17638] = 0x8478 , + [17639] = 0x843C , + [17640] = 0x8446 , + [17641] = 0x8469 , + [17642] = 0x8476 , + [17643] = 0x848C , + [17644] = 0x848E , + [17645] = 0x8431 , + [17646] = 0x846D , + [17647] = 0x84C1 , + [17648] = 0x84CD , + [17649] = 0x84D0 , + [17650] = 0x84E6 , + [17651] = 0x84BD , + [17652] = 0x84D3 , + [17653] = 0x84CA , + [17654] = 0x84BF , + [17655] = 0x84BA , + [17656] = 0x84E0 , + [17657] = 0x84A1 , + [17658] = 0x84B9 , + [17659] = 0x84B4 , + [17660] = 0x8497 , + [17661] = 0x84E5 , + [17662] = 0x84E3 , + [17663] = 0x850C , + [17664] = 0x750D , + [17665] = 0x8538 , + [17666] = 0x84F0 , + [17667] = 0x8539 , + [17668] = 0x851F , + [17669] = 0x853A , + [17670] = 0x8F45 , + [17671] = 0x8F46 , + [17672] = 0x8F47 , + [17673] = 0x8F48 , + [17674] = 0x8F49 , + [17675] = 0x8F4A , + [17676] = 0x8F4B , + [17677] = 0x8F4C , + [17678] = 0x8F4D , + [17679] = 0x8F4E , + [17680] = 0x8F4F , + [17681] = 0x8F50 , + [17682] = 0x8F51 , + [17683] = 0x8F52 , + [17684] = 0x8F53 , + [17685] = 0x8F54 , + [17686] = 0x8F55 , + [17687] = 0x8F56 , + [17688] = 0x8F57 , + [17689] = 0x8F58 , + [17690] = 0x8F59 , + [17691] = 0x8F5A , + [17692] = 0x8F5B , + [17693] = 0x8F5C , + [17694] = 0x8F5D , + [17695] = 0x8F5E , + [17696] = 0x8F5F , + [17697] = 0x8F60 , + [17698] = 0x8F61 , + [17699] = 0x8F62 , + [17700] = 0x8F63 , + [17701] = 0x8F64 , + [17702] = 0x8F65 , + [17703] = 0x8F6A , + [17704] = 0x8F80 , + [17705] = 0x8F8C , + [17706] = 0x8F92 , + [17707] = 0x8F9D , + [17708] = 0x8FA0 , + [17709] = 0x8FA1 , + [17710] = 0x8FA2 , + [17711] = 0x8FA4 , + [17712] = 0x8FA5 , + [17713] = 0x8FA6 , + [17714] = 0x8FA7 , + [17715] = 0x8FAA , + [17716] = 0x8FAC , + [17717] = 0x8FAD , + [17718] = 0x8FAE , + [17719] = 0x8FAF , + [17720] = 0x8FB2 , + [17721] = 0x8FB3 , + [17722] = 0x8FB4 , + [17723] = 0x8FB5 , + [17724] = 0x8FB7 , + [17725] = 0x8FB8 , + [17726] = 0x8FBA , + [17727] = 0x8FBB , + [17728] = 0x8FBC , + [17729] = 0x8FBF , + [17730] = 0x8FC0 , + [17731] = 0x8FC3 , + [17732] = 0x8FC6 , + [17733] = 0x8FC9 , + [17734] = 0x8FCA , + [17735] = 0x8FCB , + [17736] = 0x8FCC , + [17737] = 0x8FCD , + [17738] = 0x8FCF , + [17739] = 0x8FD2 , + [17740] = 0x8FD6 , + [17741] = 0x8FD7 , + [17742] = 0x8FDA , + [17743] = 0x8FE0 , + [17744] = 0x8FE1 , + [17745] = 0x8FE3 , + [17746] = 0x8FE7 , + [17747] = 0x8FEC , + [17748] = 0x8FEF , + [17749] = 0x8FF1 , + [17750] = 0x8FF2 , + [17751] = 0x8FF4 , + [17752] = 0x8FF5 , + [17753] = 0x8FF6 , + [17754] = 0x8FFA , + [17755] = 0x8FFB , + [17756] = 0x8FFC , + [17757] = 0x8FFE , + [17758] = 0x8FFF , + [17759] = 0x9007 , + [17760] = 0x9008 , + [17761] = 0x900C , + [17762] = 0x900E , + [17763] = 0x9013 , + [17764] = 0x9015 , + [17765] = 0x9018 , + [17766] = 0x8556 , + [17767] = 0x853B , + [17768] = 0x84FF , + [17769] = 0x84FC , + [17770] = 0x8559 , + [17771] = 0x8548 , + [17772] = 0x8568 , + [17773] = 0x8564 , + [17774] = 0x855E , + [17775] = 0x857A , + [17776] = 0x77A2 , + [17777] = 0x8543 , + [17778] = 0x8572 , + [17779] = 0x857B , + [17780] = 0x85A4 , + [17781] = 0x85A8 , + [17782] = 0x8587 , + [17783] = 0x858F , + [17784] = 0x8579 , + [17785] = 0x85AE , + [17786] = 0x859C , + [17787] = 0x8585 , + [17788] = 0x85B9 , + [17789] = 0x85B7 , + [17790] = 0x85B0 , + [17791] = 0x85D3 , + [17792] = 0x85C1 , + [17793] = 0x85DC , + [17794] = 0x85FF , + [17795] = 0x8627 , + [17796] = 0x8605 , + [17797] = 0x8629 , + [17798] = 0x8616 , + [17799] = 0x863C , + [17800] = 0x5EFE , + [17801] = 0x5F08 , + [17802] = 0x593C , + [17803] = 0x5941 , + [17804] = 0x8037 , + [17805] = 0x5955 , + [17806] = 0x595A , + [17807] = 0x5958 , + [17808] = 0x530F , + [17809] = 0x5C22 , + [17810] = 0x5C25 , + [17811] = 0x5C2C , + [17812] = 0x5C34 , + [17813] = 0x624C , + [17814] = 0x626A , + [17815] = 0x629F , + [17816] = 0x62BB , + [17817] = 0x62CA , + [17818] = 0x62DA , + [17819] = 0x62D7 , + [17820] = 0x62EE , + [17821] = 0x6322 , + [17822] = 0x62F6 , + [17823] = 0x6339 , + [17824] = 0x634B , + [17825] = 0x6343 , + [17826] = 0x63AD , + [17827] = 0x63F6 , + [17828] = 0x6371 , + [17829] = 0x637A , + [17830] = 0x638E , + [17831] = 0x63B4 , + [17832] = 0x636D , + [17833] = 0x63AC , + [17834] = 0x638A , + [17835] = 0x6369 , + [17836] = 0x63AE , + [17837] = 0x63BC , + [17838] = 0x63F2 , + [17839] = 0x63F8 , + [17840] = 0x63E0 , + [17841] = 0x63FF , + [17842] = 0x63C4 , + [17843] = 0x63DE , + [17844] = 0x63CE , + [17845] = 0x6452 , + [17846] = 0x63C6 , + [17847] = 0x63BE , + [17848] = 0x6445 , + [17849] = 0x6441 , + [17850] = 0x640B , + [17851] = 0x641B , + [17852] = 0x6420 , + [17853] = 0x640C , + [17854] = 0x6426 , + [17855] = 0x6421 , + [17856] = 0x645E , + [17857] = 0x6484 , + [17858] = 0x646D , + [17859] = 0x6496 , + [17860] = 0x9019 , + [17861] = 0x901C , + [17862] = 0x9023 , + [17863] = 0x9024 , + [17864] = 0x9025 , + [17865] = 0x9027 , + [17866] = 0x9028 , + [17867] = 0x9029 , + [17868] = 0x902A , + [17869] = 0x902B , + [17870] = 0x902C , + [17871] = 0x9030 , + [17872] = 0x9031 , + [17873] = 0x9032 , + [17874] = 0x9033 , + [17875] = 0x9034 , + [17876] = 0x9037 , + [17877] = 0x9039 , + [17878] = 0x903A , + [17879] = 0x903D , + [17880] = 0x903F , + [17881] = 0x9040 , + [17882] = 0x9043 , + [17883] = 0x9045 , + [17884] = 0x9046 , + [17885] = 0x9048 , + [17886] = 0x9049 , + [17887] = 0x904A , + [17888] = 0x904B , + [17889] = 0x904C , + [17890] = 0x904E , + [17891] = 0x9054 , + [17892] = 0x9055 , + [17893] = 0x9056 , + [17894] = 0x9059 , + [17895] = 0x905A , + [17896] = 0x905C , + [17897] = 0x905D , + [17898] = 0x905E , + [17899] = 0x905F , + [17900] = 0x9060 , + [17901] = 0x9061 , + [17902] = 0x9064 , + [17903] = 0x9066 , + [17904] = 0x9067 , + [17905] = 0x9069 , + [17906] = 0x906A , + [17907] = 0x906B , + [17908] = 0x906C , + [17909] = 0x906F , + [17910] = 0x9070 , + [17911] = 0x9071 , + [17912] = 0x9072 , + [17913] = 0x9073 , + [17914] = 0x9076 , + [17915] = 0x9077 , + [17916] = 0x9078 , + [17917] = 0x9079 , + [17918] = 0x907A , + [17919] = 0x907B , + [17920] = 0x907C , + [17921] = 0x907E , + [17922] = 0x9081 , + [17923] = 0x9084 , + [17924] = 0x9085 , + [17925] = 0x9086 , + [17926] = 0x9087 , + [17927] = 0x9089 , + [17928] = 0x908A , + [17929] = 0x908C , + [17930] = 0x908D , + [17931] = 0x908E , + [17932] = 0x908F , + [17933] = 0x9090 , + [17934] = 0x9092 , + [17935] = 0x9094 , + [17936] = 0x9096 , + [17937] = 0x9098 , + [17938] = 0x909A , + [17939] = 0x909C , + [17940] = 0x909E , + [17941] = 0x909F , + [17942] = 0x90A0 , + [17943] = 0x90A4 , + [17944] = 0x90A5 , + [17945] = 0x90A7 , + [17946] = 0x90A8 , + [17947] = 0x90A9 , + [17948] = 0x90AB , + [17949] = 0x90AD , + [17950] = 0x90B2 , + [17951] = 0x90B7 , + [17952] = 0x90BC , + [17953] = 0x90BD , + [17954] = 0x90BF , + [17955] = 0x90C0 , + [17956] = 0x647A , + [17957] = 0x64B7 , + [17958] = 0x64B8 , + [17959] = 0x6499 , + [17960] = 0x64BA , + [17961] = 0x64C0 , + [17962] = 0x64D0 , + [17963] = 0x64D7 , + [17964] = 0x64E4 , + [17965] = 0x64E2 , + [17966] = 0x6509 , + [17967] = 0x6525 , + [17968] = 0x652E , + [17969] = 0x5F0B , + [17970] = 0x5FD2 , + [17971] = 0x7519 , + [17972] = 0x5F11 , + [17973] = 0x535F , + [17974] = 0x53F1 , + [17975] = 0x53FD , + [17976] = 0x53E9 , + [17977] = 0x53E8 , + [17978] = 0x53FB , + [17979] = 0x5412 , + [17980] = 0x5416 , + [17981] = 0x5406 , + [17982] = 0x544B , + [17983] = 0x5452 , + [17984] = 0x5453 , + [17985] = 0x5454 , + [17986] = 0x5456 , + [17987] = 0x5443 , + [17988] = 0x5421 , + [17989] = 0x5457 , + [17990] = 0x5459 , + [17991] = 0x5423 , + [17992] = 0x5432 , + [17993] = 0x5482 , + [17994] = 0x5494 , + [17995] = 0x5477 , + [17996] = 0x5471 , + [17997] = 0x5464 , + [17998] = 0x549A , + [17999] = 0x549B , + [18000] = 0x5484 , + [18001] = 0x5476 , + [18002] = 0x5466 , + [18003] = 0x549D , + [18004] = 0x54D0 , + [18005] = 0x54AD , + [18006] = 0x54C2 , + [18007] = 0x54B4 , + [18008] = 0x54D2 , + [18009] = 0x54A7 , + [18010] = 0x54A6 , + [18011] = 0x54D3 , + [18012] = 0x54D4 , + [18013] = 0x5472 , + [18014] = 0x54A3 , + [18015] = 0x54D5 , + [18016] = 0x54BB , + [18017] = 0x54BF , + [18018] = 0x54CC , + [18019] = 0x54D9 , + [18020] = 0x54DA , + [18021] = 0x54DC , + [18022] = 0x54A9 , + [18023] = 0x54AA , + [18024] = 0x54A4 , + [18025] = 0x54DD , + [18026] = 0x54CF , + [18027] = 0x54DE , + [18028] = 0x551B , + [18029] = 0x54E7 , + [18030] = 0x5520 , + [18031] = 0x54FD , + [18032] = 0x5514 , + [18033] = 0x54F3 , + [18034] = 0x5522 , + [18035] = 0x5523 , + [18036] = 0x550F , + [18037] = 0x5511 , + [18038] = 0x5527 , + [18039] = 0x552A , + [18040] = 0x5567 , + [18041] = 0x558F , + [18042] = 0x55B5 , + [18043] = 0x5549 , + [18044] = 0x556D , + [18045] = 0x5541 , + [18046] = 0x5555 , + [18047] = 0x553F , + [18048] = 0x5550 , + [18049] = 0x553C , + [18050] = 0x90C2 , + [18051] = 0x90C3 , + [18052] = 0x90C6 , + [18053] = 0x90C8 , + [18054] = 0x90C9 , + [18055] = 0x90CB , + [18056] = 0x90CC , + [18057] = 0x90CD , + [18058] = 0x90D2 , + [18059] = 0x90D4 , + [18060] = 0x90D5 , + [18061] = 0x90D6 , + [18062] = 0x90D8 , + [18063] = 0x90D9 , + [18064] = 0x90DA , + [18065] = 0x90DE , + [18066] = 0x90DF , + [18067] = 0x90E0 , + [18068] = 0x90E3 , + [18069] = 0x90E4 , + [18070] = 0x90E5 , + [18071] = 0x90E9 , + [18072] = 0x90EA , + [18073] = 0x90EC , + [18074] = 0x90EE , + [18075] = 0x90F0 , + [18076] = 0x90F1 , + [18077] = 0x90F2 , + [18078] = 0x90F3 , + [18079] = 0x90F5 , + [18080] = 0x90F6 , + [18081] = 0x90F7 , + [18082] = 0x90F9 , + [18083] = 0x90FA , + [18084] = 0x90FB , + [18085] = 0x90FC , + [18086] = 0x90FF , + [18087] = 0x9100 , + [18088] = 0x9101 , + [18089] = 0x9103 , + [18090] = 0x9105 , + [18091] = 0x9106 , + [18092] = 0x9107 , + [18093] = 0x9108 , + [18094] = 0x9109 , + [18095] = 0x910A , + [18096] = 0x910B , + [18097] = 0x910C , + [18098] = 0x910D , + [18099] = 0x910E , + [18100] = 0x910F , + [18101] = 0x9110 , + [18102] = 0x9111 , + [18103] = 0x9112 , + [18104] = 0x9113 , + [18105] = 0x9114 , + [18106] = 0x9115 , + [18107] = 0x9116 , + [18108] = 0x9117 , + [18109] = 0x9118 , + [18110] = 0x911A , + [18111] = 0x911B , + [18112] = 0x911C , + [18113] = 0x911D , + [18114] = 0x911F , + [18115] = 0x9120 , + [18116] = 0x9121 , + [18117] = 0x9124 , + [18118] = 0x9125 , + [18119] = 0x9126 , + [18120] = 0x9127 , + [18121] = 0x9128 , + [18122] = 0x9129 , + [18123] = 0x912A , + [18124] = 0x912B , + [18125] = 0x912C , + [18126] = 0x912D , + [18127] = 0x912E , + [18128] = 0x9130 , + [18129] = 0x9132 , + [18130] = 0x9133 , + [18131] = 0x9134 , + [18132] = 0x9135 , + [18133] = 0x9136 , + [18134] = 0x9137 , + [18135] = 0x9138 , + [18136] = 0x913A , + [18137] = 0x913B , + [18138] = 0x913C , + [18139] = 0x913D , + [18140] = 0x913E , + [18141] = 0x913F , + [18142] = 0x9140 , + [18143] = 0x9141 , + [18144] = 0x9142 , + [18145] = 0x9144 , + [18146] = 0x5537 , + [18147] = 0x5556 , + [18148] = 0x5575 , + [18149] = 0x5576 , + [18150] = 0x5577 , + [18151] = 0x5533 , + [18152] = 0x5530 , + [18153] = 0x555C , + [18154] = 0x558B , + [18155] = 0x55D2 , + [18156] = 0x5583 , + [18157] = 0x55B1 , + [18158] = 0x55B9 , + [18159] = 0x5588 , + [18160] = 0x5581 , + [18161] = 0x559F , + [18162] = 0x557E , + [18163] = 0x55D6 , + [18164] = 0x5591 , + [18165] = 0x557B , + [18166] = 0x55DF , + [18167] = 0x55BD , + [18168] = 0x55BE , + [18169] = 0x5594 , + [18170] = 0x5599 , + [18171] = 0x55EA , + [18172] = 0x55F7 , + [18173] = 0x55C9 , + [18174] = 0x561F , + [18175] = 0x55D1 , + [18176] = 0x55EB , + [18177] = 0x55EC , + [18178] = 0x55D4 , + [18179] = 0x55E6 , + [18180] = 0x55DD , + [18181] = 0x55C4 , + [18182] = 0x55EF , + [18183] = 0x55E5 , + [18184] = 0x55F2 , + [18185] = 0x55F3 , + [18186] = 0x55CC , + [18187] = 0x55CD , + [18188] = 0x55E8 , + [18189] = 0x55F5 , + [18190] = 0x55E4 , + [18191] = 0x8F94 , + [18192] = 0x561E , + [18193] = 0x5608 , + [18194] = 0x560C , + [18195] = 0x5601 , + [18196] = 0x5624 , + [18197] = 0x5623 , + [18198] = 0x55FE , + [18199] = 0x5600 , + [18200] = 0x5627 , + [18201] = 0x562D , + [18202] = 0x5658 , + [18203] = 0x5639 , + [18204] = 0x5657 , + [18205] = 0x562C , + [18206] = 0x564D , + [18207] = 0x5662 , + [18208] = 0x5659 , + [18209] = 0x565C , + [18210] = 0x564C , + [18211] = 0x5654 , + [18212] = 0x5686 , + [18213] = 0x5664 , + [18214] = 0x5671 , + [18215] = 0x566B , + [18216] = 0x567B , + [18217] = 0x567C , + [18218] = 0x5685 , + [18219] = 0x5693 , + [18220] = 0x56AF , + [18221] = 0x56D4 , + [18222] = 0x56D7 , + [18223] = 0x56DD , + [18224] = 0x56E1 , + [18225] = 0x56F5 , + [18226] = 0x56EB , + [18227] = 0x56F9 , + [18228] = 0x56FF , + [18229] = 0x5704 , + [18230] = 0x570A , + [18231] = 0x5709 , + [18232] = 0x571C , + [18233] = 0x5E0F , + [18234] = 0x5E19 , + [18235] = 0x5E14 , + [18236] = 0x5E11 , + [18237] = 0x5E31 , + [18238] = 0x5E3B , + [18239] = 0x5E3C , + [18240] = 0x9145 , + [18241] = 0x9147 , + [18242] = 0x9148 , + [18243] = 0x9151 , + [18244] = 0x9153 , + [18245] = 0x9154 , + [18246] = 0x9155 , + [18247] = 0x9156 , + [18248] = 0x9158 , + [18249] = 0x9159 , + [18250] = 0x915B , + [18251] = 0x915C , + [18252] = 0x915F , + [18253] = 0x9160 , + [18254] = 0x9166 , + [18255] = 0x9167 , + [18256] = 0x9168 , + [18257] = 0x916B , + [18258] = 0x916D , + [18259] = 0x9173 , + [18260] = 0x917A , + [18261] = 0x917B , + [18262] = 0x917C , + [18263] = 0x9180 , + [18264] = 0x9181 , + [18265] = 0x9182 , + [18266] = 0x9183 , + [18267] = 0x9184 , + [18268] = 0x9186 , + [18269] = 0x9188 , + [18270] = 0x918A , + [18271] = 0x918E , + [18272] = 0x918F , + [18273] = 0x9193 , + [18274] = 0x9194 , + [18275] = 0x9195 , + [18276] = 0x9196 , + [18277] = 0x9197 , + [18278] = 0x9198 , + [18279] = 0x9199 , + [18280] = 0x919C , + [18281] = 0x919D , + [18282] = 0x919E , + [18283] = 0x919F , + [18284] = 0x91A0 , + [18285] = 0x91A1 , + [18286] = 0x91A4 , + [18287] = 0x91A5 , + [18288] = 0x91A6 , + [18289] = 0x91A7 , + [18290] = 0x91A8 , + [18291] = 0x91A9 , + [18292] = 0x91AB , + [18293] = 0x91AC , + [18294] = 0x91B0 , + [18295] = 0x91B1 , + [18296] = 0x91B2 , + [18297] = 0x91B3 , + [18298] = 0x91B6 , + [18299] = 0x91B7 , + [18300] = 0x91B8 , + [18301] = 0x91B9 , + [18302] = 0x91BB , + [18303] = 0x91BC , + [18304] = 0x91BD , + [18305] = 0x91BE , + [18306] = 0x91BF , + [18307] = 0x91C0 , + [18308] = 0x91C1 , + [18309] = 0x91C2 , + [18310] = 0x91C3 , + [18311] = 0x91C4 , + [18312] = 0x91C5 , + [18313] = 0x91C6 , + [18314] = 0x91C8 , + [18315] = 0x91CB , + [18316] = 0x91D0 , + [18317] = 0x91D2 , + [18318] = 0x91D3 , + [18319] = 0x91D4 , + [18320] = 0x91D5 , + [18321] = 0x91D6 , + [18322] = 0x91D7 , + [18323] = 0x91D8 , + [18324] = 0x91D9 , + [18325] = 0x91DA , + [18326] = 0x91DB , + [18327] = 0x91DD , + [18328] = 0x91DE , + [18329] = 0x91DF , + [18330] = 0x91E0 , + [18331] = 0x91E1 , + [18332] = 0x91E2 , + [18333] = 0x91E3 , + [18334] = 0x91E4 , + [18335] = 0x91E5 , + [18336] = 0x5E37 , + [18337] = 0x5E44 , + [18338] = 0x5E54 , + [18339] = 0x5E5B , + [18340] = 0x5E5E , + [18341] = 0x5E61 , + [18342] = 0x5C8C , + [18343] = 0x5C7A , + [18344] = 0x5C8D , + [18345] = 0x5C90 , + [18346] = 0x5C96 , + [18347] = 0x5C88 , + [18348] = 0x5C98 , + [18349] = 0x5C99 , + [18350] = 0x5C91 , + [18351] = 0x5C9A , + [18352] = 0x5C9C , + [18353] = 0x5CB5 , + [18354] = 0x5CA2 , + [18355] = 0x5CBD , + [18356] = 0x5CAC , + [18357] = 0x5CAB , + [18358] = 0x5CB1 , + [18359] = 0x5CA3 , + [18360] = 0x5CC1 , + [18361] = 0x5CB7 , + [18362] = 0x5CC4 , + [18363] = 0x5CD2 , + [18364] = 0x5CE4 , + [18365] = 0x5CCB , + [18366] = 0x5CE5 , + [18367] = 0x5D02 , + [18368] = 0x5D03 , + [18369] = 0x5D27 , + [18370] = 0x5D26 , + [18371] = 0x5D2E , + [18372] = 0x5D24 , + [18373] = 0x5D1E , + [18374] = 0x5D06 , + [18375] = 0x5D1B , + [18376] = 0x5D58 , + [18377] = 0x5D3E , + [18378] = 0x5D34 , + [18379] = 0x5D3D , + [18380] = 0x5D6C , + [18381] = 0x5D5B , + [18382] = 0x5D6F , + [18383] = 0x5D5D , + [18384] = 0x5D6B , + [18385] = 0x5D4B , + [18386] = 0x5D4A , + [18387] = 0x5D69 , + [18388] = 0x5D74 , + [18389] = 0x5D82 , + [18390] = 0x5D99 , + [18391] = 0x5D9D , + [18392] = 0x8C73 , + [18393] = 0x5DB7 , + [18394] = 0x5DC5 , + [18395] = 0x5F73 , + [18396] = 0x5F77 , + [18397] = 0x5F82 , + [18398] = 0x5F87 , + [18399] = 0x5F89 , + [18400] = 0x5F8C , + [18401] = 0x5F95 , + [18402] = 0x5F99 , + [18403] = 0x5F9C , + [18404] = 0x5FA8 , + [18405] = 0x5FAD , + [18406] = 0x5FB5 , + [18407] = 0x5FBC , + [18408] = 0x8862 , + [18409] = 0x5F61 , + [18410] = 0x72AD , + [18411] = 0x72B0 , + [18412] = 0x72B4 , + [18413] = 0x72B7 , + [18414] = 0x72B8 , + [18415] = 0x72C3 , + [18416] = 0x72C1 , + [18417] = 0x72CE , + [18418] = 0x72CD , + [18419] = 0x72D2 , + [18420] = 0x72E8 , + [18421] = 0x72EF , + [18422] = 0x72E9 , + [18423] = 0x72F2 , + [18424] = 0x72F4 , + [18425] = 0x72F7 , + [18426] = 0x7301 , + [18427] = 0x72F3 , + [18428] = 0x7303 , + [18429] = 0x72FA , + [18430] = 0x91E6 , + [18431] = 0x91E7 , + [18432] = 0x91E8 , + [18433] = 0x91E9 , + [18434] = 0x91EA , + [18435] = 0x91EB , + [18436] = 0x91EC , + [18437] = 0x91ED , + [18438] = 0x91EE , + [18439] = 0x91EF , + [18440] = 0x91F0 , + [18441] = 0x91F1 , + [18442] = 0x91F2 , + [18443] = 0x91F3 , + [18444] = 0x91F4 , + [18445] = 0x91F5 , + [18446] = 0x91F6 , + [18447] = 0x91F7 , + [18448] = 0x91F8 , + [18449] = 0x91F9 , + [18450] = 0x91FA , + [18451] = 0x91FB , + [18452] = 0x91FC , + [18453] = 0x91FD , + [18454] = 0x91FE , + [18455] = 0x91FF , + [18456] = 0x9200 , + [18457] = 0x9201 , + [18458] = 0x9202 , + [18459] = 0x9203 , + [18460] = 0x9204 , + [18461] = 0x9205 , + [18462] = 0x9206 , + [18463] = 0x9207 , + [18464] = 0x9208 , + [18465] = 0x9209 , + [18466] = 0x920A , + [18467] = 0x920B , + [18468] = 0x920C , + [18469] = 0x920D , + [18470] = 0x920E , + [18471] = 0x920F , + [18472] = 0x9210 , + [18473] = 0x9211 , + [18474] = 0x9212 , + [18475] = 0x9213 , + [18476] = 0x9214 , + [18477] = 0x9215 , + [18478] = 0x9216 , + [18479] = 0x9217 , + [18480] = 0x9218 , + [18481] = 0x9219 , + [18482] = 0x921A , + [18483] = 0x921B , + [18484] = 0x921C , + [18485] = 0x921D , + [18486] = 0x921E , + [18487] = 0x921F , + [18488] = 0x9220 , + [18489] = 0x9221 , + [18490] = 0x9222 , + [18491] = 0x9223 , + [18492] = 0x9224 , + [18493] = 0x9225 , + [18494] = 0x9226 , + [18495] = 0x9227 , + [18496] = 0x9228 , + [18497] = 0x9229 , + [18498] = 0x922A , + [18499] = 0x922B , + [18500] = 0x922C , + [18501] = 0x922D , + [18502] = 0x922E , + [18503] = 0x922F , + [18504] = 0x9230 , + [18505] = 0x9231 , + [18506] = 0x9232 , + [18507] = 0x9233 , + [18508] = 0x9234 , + [18509] = 0x9235 , + [18510] = 0x9236 , + [18511] = 0x9237 , + [18512] = 0x9238 , + [18513] = 0x9239 , + [18514] = 0x923A , + [18515] = 0x923B , + [18516] = 0x923C , + [18517] = 0x923D , + [18518] = 0x923E , + [18519] = 0x923F , + [18520] = 0x9240 , + [18521] = 0x9241 , + [18522] = 0x9242 , + [18523] = 0x9243 , + [18524] = 0x9244 , + [18525] = 0x9245 , + [18526] = 0x72FB , + [18527] = 0x7317 , + [18528] = 0x7313 , + [18529] = 0x7321 , + [18530] = 0x730A , + [18531] = 0x731E , + [18532] = 0x731D , + [18533] = 0x7315 , + [18534] = 0x7322 , + [18535] = 0x7339 , + [18536] = 0x7325 , + [18537] = 0x732C , + [18538] = 0x7338 , + [18539] = 0x7331 , + [18540] = 0x7350 , + [18541] = 0x734D , + [18542] = 0x7357 , + [18543] = 0x7360 , + [18544] = 0x736C , + [18545] = 0x736F , + [18546] = 0x737E , + [18547] = 0x821B , + [18548] = 0x5925 , + [18549] = 0x98E7 , + [18550] = 0x5924 , + [18551] = 0x5902 , + [18552] = 0x9963 , + [18553] = 0x9967 , + [18554] = 0x9968 , + [18555] = 0x9969 , + [18556] = 0x996A , + [18557] = 0x996B , + [18558] = 0x996C , + [18559] = 0x9974 , + [18560] = 0x9977 , + [18561] = 0x997D , + [18562] = 0x9980 , + [18563] = 0x9984 , + [18564] = 0x9987 , + [18565] = 0x998A , + [18566] = 0x998D , + [18567] = 0x9990 , + [18568] = 0x9991 , + [18569] = 0x9993 , + [18570] = 0x9994 , + [18571] = 0x9995 , + [18572] = 0x5E80 , + [18573] = 0x5E91 , + [18574] = 0x5E8B , + [18575] = 0x5E96 , + [18576] = 0x5EA5 , + [18577] = 0x5EA0 , + [18578] = 0x5EB9 , + [18579] = 0x5EB5 , + [18580] = 0x5EBE , + [18581] = 0x5EB3 , + [18582] = 0x8D53 , + [18583] = 0x5ED2 , + [18584] = 0x5ED1 , + [18585] = 0x5EDB , + [18586] = 0x5EE8 , + [18587] = 0x5EEA , + [18588] = 0x81BA , + [18589] = 0x5FC4 , + [18590] = 0x5FC9 , + [18591] = 0x5FD6 , + [18592] = 0x5FCF , + [18593] = 0x6003 , + [18594] = 0x5FEE , + [18595] = 0x6004 , + [18596] = 0x5FE1 , + [18597] = 0x5FE4 , + [18598] = 0x5FFE , + [18599] = 0x6005 , + [18600] = 0x6006 , + [18601] = 0x5FEA , + [18602] = 0x5FED , + [18603] = 0x5FF8 , + [18604] = 0x6019 , + [18605] = 0x6035 , + [18606] = 0x6026 , + [18607] = 0x601B , + [18608] = 0x600F , + [18609] = 0x600D , + [18610] = 0x6029 , + [18611] = 0x602B , + [18612] = 0x600A , + [18613] = 0x603F , + [18614] = 0x6021 , + [18615] = 0x6078 , + [18616] = 0x6079 , + [18617] = 0x607B , + [18618] = 0x607A , + [18619] = 0x6042 , + [18620] = 0x9246 , + [18621] = 0x9247 , + [18622] = 0x9248 , + [18623] = 0x9249 , + [18624] = 0x924A , + [18625] = 0x924B , + [18626] = 0x924C , + [18627] = 0x924D , + [18628] = 0x924E , + [18629] = 0x924F , + [18630] = 0x9250 , + [18631] = 0x9251 , + [18632] = 0x9252 , + [18633] = 0x9253 , + [18634] = 0x9254 , + [18635] = 0x9255 , + [18636] = 0x9256 , + [18637] = 0x9257 , + [18638] = 0x9258 , + [18639] = 0x9259 , + [18640] = 0x925A , + [18641] = 0x925B , + [18642] = 0x925C , + [18643] = 0x925D , + [18644] = 0x925E , + [18645] = 0x925F , + [18646] = 0x9260 , + [18647] = 0x9261 , + [18648] = 0x9262 , + [18649] = 0x9263 , + [18650] = 0x9264 , + [18651] = 0x9265 , + [18652] = 0x9266 , + [18653] = 0x9267 , + [18654] = 0x9268 , + [18655] = 0x9269 , + [18656] = 0x926A , + [18657] = 0x926B , + [18658] = 0x926C , + [18659] = 0x926D , + [18660] = 0x926E , + [18661] = 0x926F , + [18662] = 0x9270 , + [18663] = 0x9271 , + [18664] = 0x9272 , + [18665] = 0x9273 , + [18666] = 0x9275 , + [18667] = 0x9276 , + [18668] = 0x9277 , + [18669] = 0x9278 , + [18670] = 0x9279 , + [18671] = 0x927A , + [18672] = 0x927B , + [18673] = 0x927C , + [18674] = 0x927D , + [18675] = 0x927E , + [18676] = 0x927F , + [18677] = 0x9280 , + [18678] = 0x9281 , + [18679] = 0x9282 , + [18680] = 0x9283 , + [18681] = 0x9284 , + [18682] = 0x9285 , + [18683] = 0x9286 , + [18684] = 0x9287 , + [18685] = 0x9288 , + [18686] = 0x9289 , + [18687] = 0x928A , + [18688] = 0x928B , + [18689] = 0x928C , + [18690] = 0x928D , + [18691] = 0x928F , + [18692] = 0x9290 , + [18693] = 0x9291 , + [18694] = 0x9292 , + [18695] = 0x9293 , + [18696] = 0x9294 , + [18697] = 0x9295 , + [18698] = 0x9296 , + [18699] = 0x9297 , + [18700] = 0x9298 , + [18701] = 0x9299 , + [18702] = 0x929A , + [18703] = 0x929B , + [18704] = 0x929C , + [18705] = 0x929D , + [18706] = 0x929E , + [18707] = 0x929F , + [18708] = 0x92A0 , + [18709] = 0x92A1 , + [18710] = 0x92A2 , + [18711] = 0x92A3 , + [18712] = 0x92A4 , + [18713] = 0x92A5 , + [18714] = 0x92A6 , + [18715] = 0x92A7 , + [18716] = 0x606A , + [18717] = 0x607D , + [18718] = 0x6096 , + [18719] = 0x609A , + [18720] = 0x60AD , + [18721] = 0x609D , + [18722] = 0x6083 , + [18723] = 0x6092 , + [18724] = 0x608C , + [18725] = 0x609B , + [18726] = 0x60EC , + [18727] = 0x60BB , + [18728] = 0x60B1 , + [18729] = 0x60DD , + [18730] = 0x60D8 , + [18731] = 0x60C6 , + [18732] = 0x60DA , + [18733] = 0x60B4 , + [18734] = 0x6120 , + [18735] = 0x6126 , + [18736] = 0x6115 , + [18737] = 0x6123 , + [18738] = 0x60F4 , + [18739] = 0x6100 , + [18740] = 0x610E , + [18741] = 0x612B , + [18742] = 0x614A , + [18743] = 0x6175 , + [18744] = 0x61AC , + [18745] = 0x6194 , + [18746] = 0x61A7 , + [18747] = 0x61B7 , + [18748] = 0x61D4 , + [18749] = 0x61F5 , + [18750] = 0x5FDD , + [18751] = 0x96B3 , + [18752] = 0x95E9 , + [18753] = 0x95EB , + [18754] = 0x95F1 , + [18755] = 0x95F3 , + [18756] = 0x95F5 , + [18757] = 0x95F6 , + [18758] = 0x95FC , + [18759] = 0x95FE , + [18760] = 0x9603 , + [18761] = 0x9604 , + [18762] = 0x9606 , + [18763] = 0x9608 , + [18764] = 0x960A , + [18765] = 0x960B , + [18766] = 0x960C , + [18767] = 0x960D , + [18768] = 0x960F , + [18769] = 0x9612 , + [18770] = 0x9615 , + [18771] = 0x9616 , + [18772] = 0x9617 , + [18773] = 0x9619 , + [18774] = 0x961A , + [18775] = 0x4E2C , + [18776] = 0x723F , + [18777] = 0x6215 , + [18778] = 0x6C35 , + [18779] = 0x6C54 , + [18780] = 0x6C5C , + [18781] = 0x6C4A , + [18782] = 0x6CA3 , + [18783] = 0x6C85 , + [18784] = 0x6C90 , + [18785] = 0x6C94 , + [18786] = 0x6C8C , + [18787] = 0x6C68 , + [18788] = 0x6C69 , + [18789] = 0x6C74 , + [18790] = 0x6C76 , + [18791] = 0x6C86 , + [18792] = 0x6CA9 , + [18793] = 0x6CD0 , + [18794] = 0x6CD4 , + [18795] = 0x6CAD , + [18796] = 0x6CF7 , + [18797] = 0x6CF8 , + [18798] = 0x6CF1 , + [18799] = 0x6CD7 , + [18800] = 0x6CB2 , + [18801] = 0x6CE0 , + [18802] = 0x6CD6 , + [18803] = 0x6CFA , + [18804] = 0x6CEB , + [18805] = 0x6CEE , + [18806] = 0x6CB1 , + [18807] = 0x6CD3 , + [18808] = 0x6CEF , + [18809] = 0x6CFE , + [18810] = 0x92A8 , + [18811] = 0x92A9 , + [18812] = 0x92AA , + [18813] = 0x92AB , + [18814] = 0x92AC , + [18815] = 0x92AD , + [18816] = 0x92AF , + [18817] = 0x92B0 , + [18818] = 0x92B1 , + [18819] = 0x92B2 , + [18820] = 0x92B3 , + [18821] = 0x92B4 , + [18822] = 0x92B5 , + [18823] = 0x92B6 , + [18824] = 0x92B7 , + [18825] = 0x92B8 , + [18826] = 0x92B9 , + [18827] = 0x92BA , + [18828] = 0x92BB , + [18829] = 0x92BC , + [18830] = 0x92BD , + [18831] = 0x92BE , + [18832] = 0x92BF , + [18833] = 0x92C0 , + [18834] = 0x92C1 , + [18835] = 0x92C2 , + [18836] = 0x92C3 , + [18837] = 0x92C4 , + [18838] = 0x92C5 , + [18839] = 0x92C6 , + [18840] = 0x92C7 , + [18841] = 0x92C9 , + [18842] = 0x92CA , + [18843] = 0x92CB , + [18844] = 0x92CC , + [18845] = 0x92CD , + [18846] = 0x92CE , + [18847] = 0x92CF , + [18848] = 0x92D0 , + [18849] = 0x92D1 , + [18850] = 0x92D2 , + [18851] = 0x92D3 , + [18852] = 0x92D4 , + [18853] = 0x92D5 , + [18854] = 0x92D6 , + [18855] = 0x92D7 , + [18856] = 0x92D8 , + [18857] = 0x92D9 , + [18858] = 0x92DA , + [18859] = 0x92DB , + [18860] = 0x92DC , + [18861] = 0x92DD , + [18862] = 0x92DE , + [18863] = 0x92DF , + [18864] = 0x92E0 , + [18865] = 0x92E1 , + [18866] = 0x92E2 , + [18867] = 0x92E3 , + [18868] = 0x92E4 , + [18869] = 0x92E5 , + [18870] = 0x92E6 , + [18871] = 0x92E7 , + [18872] = 0x92E8 , + [18873] = 0x92E9 , + [18874] = 0x92EA , + [18875] = 0x92EB , + [18876] = 0x92EC , + [18877] = 0x92ED , + [18878] = 0x92EE , + [18879] = 0x92EF , + [18880] = 0x92F0 , + [18881] = 0x92F1 , + [18882] = 0x92F2 , + [18883] = 0x92F3 , + [18884] = 0x92F4 , + [18885] = 0x92F5 , + [18886] = 0x92F6 , + [18887] = 0x92F7 , + [18888] = 0x92F8 , + [18889] = 0x92F9 , + [18890] = 0x92FA , + [18891] = 0x92FB , + [18892] = 0x92FC , + [18893] = 0x92FD , + [18894] = 0x92FE , + [18895] = 0x92FF , + [18896] = 0x9300 , + [18897] = 0x9301 , + [18898] = 0x9302 , + [18899] = 0x9303 , + [18900] = 0x9304 , + [18901] = 0x9305 , + [18902] = 0x9306 , + [18903] = 0x9307 , + [18904] = 0x9308 , + [18905] = 0x9309 , + [18906] = 0x6D39 , + [18907] = 0x6D27 , + [18908] = 0x6D0C , + [18909] = 0x6D43 , + [18910] = 0x6D48 , + [18911] = 0x6D07 , + [18912] = 0x6D04 , + [18913] = 0x6D19 , + [18914] = 0x6D0E , + [18915] = 0x6D2B , + [18916] = 0x6D4D , + [18917] = 0x6D2E , + [18918] = 0x6D35 , + [18919] = 0x6D1A , + [18920] = 0x6D4F , + [18921] = 0x6D52 , + [18922] = 0x6D54 , + [18923] = 0x6D33 , + [18924] = 0x6D91 , + [18925] = 0x6D6F , + [18926] = 0x6D9E , + [18927] = 0x6DA0 , + [18928] = 0x6D5E , + [18929] = 0x6D93 , + [18930] = 0x6D94 , + [18931] = 0x6D5C , + [18932] = 0x6D60 , + [18933] = 0x6D7C , + [18934] = 0x6D63 , + [18935] = 0x6E1A , + [18936] = 0x6DC7 , + [18937] = 0x6DC5 , + [18938] = 0x6DDE , + [18939] = 0x6E0E , + [18940] = 0x6DBF , + [18941] = 0x6DE0 , + [18942] = 0x6E11 , + [18943] = 0x6DE6 , + [18944] = 0x6DDD , + [18945] = 0x6DD9 , + [18946] = 0x6E16 , + [18947] = 0x6DAB , + [18948] = 0x6E0C , + [18949] = 0x6DAE , + [18950] = 0x6E2B , + [18951] = 0x6E6E , + [18952] = 0x6E4E , + [18953] = 0x6E6B , + [18954] = 0x6EB2 , + [18955] = 0x6E5F , + [18956] = 0x6E86 , + [18957] = 0x6E53 , + [18958] = 0x6E54 , + [18959] = 0x6E32 , + [18960] = 0x6E25 , + [18961] = 0x6E44 , + [18962] = 0x6EDF , + [18963] = 0x6EB1 , + [18964] = 0x6E98 , + [18965] = 0x6EE0 , + [18966] = 0x6F2D , + [18967] = 0x6EE2 , + [18968] = 0x6EA5 , + [18969] = 0x6EA7 , + [18970] = 0x6EBD , + [18971] = 0x6EBB , + [18972] = 0x6EB7 , + [18973] = 0x6ED7 , + [18974] = 0x6EB4 , + [18975] = 0x6ECF , + [18976] = 0x6E8F , + [18977] = 0x6EC2 , + [18978] = 0x6E9F , + [18979] = 0x6F62 , + [18980] = 0x6F46 , + [18981] = 0x6F47 , + [18982] = 0x6F24 , + [18983] = 0x6F15 , + [18984] = 0x6EF9 , + [18985] = 0x6F2F , + [18986] = 0x6F36 , + [18987] = 0x6F4B , + [18988] = 0x6F74 , + [18989] = 0x6F2A , + [18990] = 0x6F09 , + [18991] = 0x6F29 , + [18992] = 0x6F89 , + [18993] = 0x6F8D , + [18994] = 0x6F8C , + [18995] = 0x6F78 , + [18996] = 0x6F72 , + [18997] = 0x6F7C , + [18998] = 0x6F7A , + [18999] = 0x6FD1 , + [19000] = 0x930A , + [19001] = 0x930B , + [19002] = 0x930C , + [19003] = 0x930D , + [19004] = 0x930E , + [19005] = 0x930F , + [19006] = 0x9310 , + [19007] = 0x9311 , + [19008] = 0x9312 , + [19009] = 0x9313 , + [19010] = 0x9314 , + [19011] = 0x9315 , + [19012] = 0x9316 , + [19013] = 0x9317 , + [19014] = 0x9318 , + [19015] = 0x9319 , + [19016] = 0x931A , + [19017] = 0x931B , + [19018] = 0x931C , + [19019] = 0x931D , + [19020] = 0x931E , + [19021] = 0x931F , + [19022] = 0x9320 , + [19023] = 0x9321 , + [19024] = 0x9322 , + [19025] = 0x9323 , + [19026] = 0x9324 , + [19027] = 0x9325 , + [19028] = 0x9326 , + [19029] = 0x9327 , + [19030] = 0x9328 , + [19031] = 0x9329 , + [19032] = 0x932A , + [19033] = 0x932B , + [19034] = 0x932C , + [19035] = 0x932D , + [19036] = 0x932E , + [19037] = 0x932F , + [19038] = 0x9330 , + [19039] = 0x9331 , + [19040] = 0x9332 , + [19041] = 0x9333 , + [19042] = 0x9334 , + [19043] = 0x9335 , + [19044] = 0x9336 , + [19045] = 0x9337 , + [19046] = 0x9338 , + [19047] = 0x9339 , + [19048] = 0x933A , + [19049] = 0x933B , + [19050] = 0x933C , + [19051] = 0x933D , + [19052] = 0x933F , + [19053] = 0x9340 , + [19054] = 0x9341 , + [19055] = 0x9342 , + [19056] = 0x9343 , + [19057] = 0x9344 , + [19058] = 0x9345 , + [19059] = 0x9346 , + [19060] = 0x9347 , + [19061] = 0x9348 , + [19062] = 0x9349 , + [19063] = 0x934A , + [19064] = 0x934B , + [19065] = 0x934C , + [19066] = 0x934D , + [19067] = 0x934E , + [19068] = 0x934F , + [19069] = 0x9350 , + [19070] = 0x9351 , + [19071] = 0x9352 , + [19072] = 0x9353 , + [19073] = 0x9354 , + [19074] = 0x9355 , + [19075] = 0x9356 , + [19076] = 0x9357 , + [19077] = 0x9358 , + [19078] = 0x9359 , + [19079] = 0x935A , + [19080] = 0x935B , + [19081] = 0x935C , + [19082] = 0x935D , + [19083] = 0x935E , + [19084] = 0x935F , + [19085] = 0x9360 , + [19086] = 0x9361 , + [19087] = 0x9362 , + [19088] = 0x9363 , + [19089] = 0x9364 , + [19090] = 0x9365 , + [19091] = 0x9366 , + [19092] = 0x9367 , + [19093] = 0x9368 , + [19094] = 0x9369 , + [19095] = 0x936B , + [19096] = 0x6FC9 , + [19097] = 0x6FA7 , + [19098] = 0x6FB9 , + [19099] = 0x6FB6 , + [19100] = 0x6FC2 , + [19101] = 0x6FE1 , + [19102] = 0x6FEE , + [19103] = 0x6FDE , + [19104] = 0x6FE0 , + [19105] = 0x6FEF , + [19106] = 0x701A , + [19107] = 0x7023 , + [19108] = 0x701B , + [19109] = 0x7039 , + [19110] = 0x7035 , + [19111] = 0x704F , + [19112] = 0x705E , + [19113] = 0x5B80 , + [19114] = 0x5B84 , + [19115] = 0x5B95 , + [19116] = 0x5B93 , + [19117] = 0x5BA5 , + [19118] = 0x5BB8 , + [19119] = 0x752F , + [19120] = 0x9A9E , + [19121] = 0x6434 , + [19122] = 0x5BE4 , + [19123] = 0x5BEE , + [19124] = 0x8930 , + [19125] = 0x5BF0 , + [19126] = 0x8E47 , + [19127] = 0x8B07 , + [19128] = 0x8FB6 , + [19129] = 0x8FD3 , + [19130] = 0x8FD5 , + [19131] = 0x8FE5 , + [19132] = 0x8FEE , + [19133] = 0x8FE4 , + [19134] = 0x8FE9 , + [19135] = 0x8FE6 , + [19136] = 0x8FF3 , + [19137] = 0x8FE8 , + [19138] = 0x9005 , + [19139] = 0x9004 , + [19140] = 0x900B , + [19141] = 0x9026 , + [19142] = 0x9011 , + [19143] = 0x900D , + [19144] = 0x9016 , + [19145] = 0x9021 , + [19146] = 0x9035 , + [19147] = 0x9036 , + [19148] = 0x902D , + [19149] = 0x902F , + [19150] = 0x9044 , + [19151] = 0x9051 , + [19152] = 0x9052 , + [19153] = 0x9050 , + [19154] = 0x9068 , + [19155] = 0x9058 , + [19156] = 0x9062 , + [19157] = 0x905B , + [19158] = 0x66B9 , + [19159] = 0x9074 , + [19160] = 0x907D , + [19161] = 0x9082 , + [19162] = 0x9088 , + [19163] = 0x9083 , + [19164] = 0x908B , + [19165] = 0x5F50 , + [19166] = 0x5F57 , + [19167] = 0x5F56 , + [19168] = 0x5F58 , + [19169] = 0x5C3B , + [19170] = 0x54AB , + [19171] = 0x5C50 , + [19172] = 0x5C59 , + [19173] = 0x5B71 , + [19174] = 0x5C63 , + [19175] = 0x5C66 , + [19176] = 0x7FBC , + [19177] = 0x5F2A , + [19178] = 0x5F29 , + [19179] = 0x5F2D , + [19180] = 0x8274 , + [19181] = 0x5F3C , + [19182] = 0x9B3B , + [19183] = 0x5C6E , + [19184] = 0x5981 , + [19185] = 0x5983 , + [19186] = 0x598D , + [19187] = 0x59A9 , + [19188] = 0x59AA , + [19189] = 0x59A3 , + [19190] = 0x936C , + [19191] = 0x936D , + [19192] = 0x936E , + [19193] = 0x936F , + [19194] = 0x9370 , + [19195] = 0x9371 , + [19196] = 0x9372 , + [19197] = 0x9373 , + [19198] = 0x9374 , + [19199] = 0x9375 , + [19200] = 0x9376 , + [19201] = 0x9377 , + [19202] = 0x9378 , + [19203] = 0x9379 , + [19204] = 0x937A , + [19205] = 0x937B , + [19206] = 0x937C , + [19207] = 0x937D , + [19208] = 0x937E , + [19209] = 0x937F , + [19210] = 0x9380 , + [19211] = 0x9381 , + [19212] = 0x9382 , + [19213] = 0x9383 , + [19214] = 0x9384 , + [19215] = 0x9385 , + [19216] = 0x9386 , + [19217] = 0x9387 , + [19218] = 0x9388 , + [19219] = 0x9389 , + [19220] = 0x938A , + [19221] = 0x938B , + [19222] = 0x938C , + [19223] = 0x938D , + [19224] = 0x938E , + [19225] = 0x9390 , + [19226] = 0x9391 , + [19227] = 0x9392 , + [19228] = 0x9393 , + [19229] = 0x9394 , + [19230] = 0x9395 , + [19231] = 0x9396 , + [19232] = 0x9397 , + [19233] = 0x9398 , + [19234] = 0x9399 , + [19235] = 0x939A , + [19236] = 0x939B , + [19237] = 0x939C , + [19238] = 0x939D , + [19239] = 0x939E , + [19240] = 0x939F , + [19241] = 0x93A0 , + [19242] = 0x93A1 , + [19243] = 0x93A2 , + [19244] = 0x93A3 , + [19245] = 0x93A4 , + [19246] = 0x93A5 , + [19247] = 0x93A6 , + [19248] = 0x93A7 , + [19249] = 0x93A8 , + [19250] = 0x93A9 , + [19251] = 0x93AA , + [19252] = 0x93AB , + [19253] = 0x93AC , + [19254] = 0x93AD , + [19255] = 0x93AE , + [19256] = 0x93AF , + [19257] = 0x93B0 , + [19258] = 0x93B1 , + [19259] = 0x93B2 , + [19260] = 0x93B3 , + [19261] = 0x93B4 , + [19262] = 0x93B5 , + [19263] = 0x93B6 , + [19264] = 0x93B7 , + [19265] = 0x93B8 , + [19266] = 0x93B9 , + [19267] = 0x93BA , + [19268] = 0x93BB , + [19269] = 0x93BC , + [19270] = 0x93BD , + [19271] = 0x93BE , + [19272] = 0x93BF , + [19273] = 0x93C0 , + [19274] = 0x93C1 , + [19275] = 0x93C2 , + [19276] = 0x93C3 , + [19277] = 0x93C4 , + [19278] = 0x93C5 , + [19279] = 0x93C6 , + [19280] = 0x93C7 , + [19281] = 0x93C8 , + [19282] = 0x93C9 , + [19283] = 0x93CB , + [19284] = 0x93CC , + [19285] = 0x93CD , + [19286] = 0x5997 , + [19287] = 0x59CA , + [19288] = 0x59AB , + [19289] = 0x599E , + [19290] = 0x59A4 , + [19291] = 0x59D2 , + [19292] = 0x59B2 , + [19293] = 0x59AF , + [19294] = 0x59D7 , + [19295] = 0x59BE , + [19296] = 0x5A05 , + [19297] = 0x5A06 , + [19298] = 0x59DD , + [19299] = 0x5A08 , + [19300] = 0x59E3 , + [19301] = 0x59D8 , + [19302] = 0x59F9 , + [19303] = 0x5A0C , + [19304] = 0x5A09 , + [19305] = 0x5A32 , + [19306] = 0x5A34 , + [19307] = 0x5A11 , + [19308] = 0x5A23 , + [19309] = 0x5A13 , + [19310] = 0x5A40 , + [19311] = 0x5A67 , + [19312] = 0x5A4A , + [19313] = 0x5A55 , + [19314] = 0x5A3C , + [19315] = 0x5A62 , + [19316] = 0x5A75 , + [19317] = 0x80EC , + [19318] = 0x5AAA , + [19319] = 0x5A9B , + [19320] = 0x5A77 , + [19321] = 0x5A7A , + [19322] = 0x5ABE , + [19323] = 0x5AEB , + [19324] = 0x5AB2 , + [19325] = 0x5AD2 , + [19326] = 0x5AD4 , + [19327] = 0x5AB8 , + [19328] = 0x5AE0 , + [19329] = 0x5AE3 , + [19330] = 0x5AF1 , + [19331] = 0x5AD6 , + [19332] = 0x5AE6 , + [19333] = 0x5AD8 , + [19334] = 0x5ADC , + [19335] = 0x5B09 , + [19336] = 0x5B17 , + [19337] = 0x5B16 , + [19338] = 0x5B32 , + [19339] = 0x5B37 , + [19340] = 0x5B40 , + [19341] = 0x5C15 , + [19342] = 0x5C1C , + [19343] = 0x5B5A , + [19344] = 0x5B65 , + [19345] = 0x5B73 , + [19346] = 0x5B51 , + [19347] = 0x5B53 , + [19348] = 0x5B62 , + [19349] = 0x9A75 , + [19350] = 0x9A77 , + [19351] = 0x9A78 , + [19352] = 0x9A7A , + [19353] = 0x9A7F , + [19354] = 0x9A7D , + [19355] = 0x9A80 , + [19356] = 0x9A81 , + [19357] = 0x9A85 , + [19358] = 0x9A88 , + [19359] = 0x9A8A , + [19360] = 0x9A90 , + [19361] = 0x9A92 , + [19362] = 0x9A93 , + [19363] = 0x9A96 , + [19364] = 0x9A98 , + [19365] = 0x9A9B , + [19366] = 0x9A9C , + [19367] = 0x9A9D , + [19368] = 0x9A9F , + [19369] = 0x9AA0 , + [19370] = 0x9AA2 , + [19371] = 0x9AA3 , + [19372] = 0x9AA5 , + [19373] = 0x9AA7 , + [19374] = 0x7E9F , + [19375] = 0x7EA1 , + [19376] = 0x7EA3 , + [19377] = 0x7EA5 , + [19378] = 0x7EA8 , + [19379] = 0x7EA9 , + [19380] = 0x93CE , + [19381] = 0x93CF , + [19382] = 0x93D0 , + [19383] = 0x93D1 , + [19384] = 0x93D2 , + [19385] = 0x93D3 , + [19386] = 0x93D4 , + [19387] = 0x93D5 , + [19388] = 0x93D7 , + [19389] = 0x93D8 , + [19390] = 0x93D9 , + [19391] = 0x93DA , + [19392] = 0x93DB , + [19393] = 0x93DC , + [19394] = 0x93DD , + [19395] = 0x93DE , + [19396] = 0x93DF , + [19397] = 0x93E0 , + [19398] = 0x93E1 , + [19399] = 0x93E2 , + [19400] = 0x93E3 , + [19401] = 0x93E4 , + [19402] = 0x93E5 , + [19403] = 0x93E6 , + [19404] = 0x93E7 , + [19405] = 0x93E8 , + [19406] = 0x93E9 , + [19407] = 0x93EA , + [19408] = 0x93EB , + [19409] = 0x93EC , + [19410] = 0x93ED , + [19411] = 0x93EE , + [19412] = 0x93EF , + [19413] = 0x93F0 , + [19414] = 0x93F1 , + [19415] = 0x93F2 , + [19416] = 0x93F3 , + [19417] = 0x93F4 , + [19418] = 0x93F5 , + [19419] = 0x93F6 , + [19420] = 0x93F7 , + [19421] = 0x93F8 , + [19422] = 0x93F9 , + [19423] = 0x93FA , + [19424] = 0x93FB , + [19425] = 0x93FC , + [19426] = 0x93FD , + [19427] = 0x93FE , + [19428] = 0x93FF , + [19429] = 0x9400 , + [19430] = 0x9401 , + [19431] = 0x9402 , + [19432] = 0x9403 , + [19433] = 0x9404 , + [19434] = 0x9405 , + [19435] = 0x9406 , + [19436] = 0x9407 , + [19437] = 0x9408 , + [19438] = 0x9409 , + [19439] = 0x940A , + [19440] = 0x940B , + [19441] = 0x940C , + [19442] = 0x940D , + [19443] = 0x940E , + [19444] = 0x940F , + [19445] = 0x9410 , + [19446] = 0x9411 , + [19447] = 0x9412 , + [19448] = 0x9413 , + [19449] = 0x9414 , + [19450] = 0x9415 , + [19451] = 0x9416 , + [19452] = 0x9417 , + [19453] = 0x9418 , + [19454] = 0x9419 , + [19455] = 0x941A , + [19456] = 0x941B , + [19457] = 0x941C , + [19458] = 0x941D , + [19459] = 0x941E , + [19460] = 0x941F , + [19461] = 0x9420 , + [19462] = 0x9421 , + [19463] = 0x9422 , + [19464] = 0x9423 , + [19465] = 0x9424 , + [19466] = 0x9425 , + [19467] = 0x9426 , + [19468] = 0x9427 , + [19469] = 0x9428 , + [19470] = 0x9429 , + [19471] = 0x942A , + [19472] = 0x942B , + [19473] = 0x942C , + [19474] = 0x942D , + [19475] = 0x942E , + [19476] = 0x7EAD , + [19477] = 0x7EB0 , + [19478] = 0x7EBE , + [19479] = 0x7EC0 , + [19480] = 0x7EC1 , + [19481] = 0x7EC2 , + [19482] = 0x7EC9 , + [19483] = 0x7ECB , + [19484] = 0x7ECC , + [19485] = 0x7ED0 , + [19486] = 0x7ED4 , + [19487] = 0x7ED7 , + [19488] = 0x7EDB , + [19489] = 0x7EE0 , + [19490] = 0x7EE1 , + [19491] = 0x7EE8 , + [19492] = 0x7EEB , + [19493] = 0x7EEE , + [19494] = 0x7EEF , + [19495] = 0x7EF1 , + [19496] = 0x7EF2 , + [19497] = 0x7F0D , + [19498] = 0x7EF6 , + [19499] = 0x7EFA , + [19500] = 0x7EFB , + [19501] = 0x7EFE , + [19502] = 0x7F01 , + [19503] = 0x7F02 , + [19504] = 0x7F03 , + [19505] = 0x7F07 , + [19506] = 0x7F08 , + [19507] = 0x7F0B , + [19508] = 0x7F0C , + [19509] = 0x7F0F , + [19510] = 0x7F11 , + [19511] = 0x7F12 , + [19512] = 0x7F17 , + [19513] = 0x7F19 , + [19514] = 0x7F1C , + [19515] = 0x7F1B , + [19516] = 0x7F1F , + [19517] = 0x7F21 , + [19518] = 0x7F22 , + [19519] = 0x7F23 , + [19520] = 0x7F24 , + [19521] = 0x7F25 , + [19522] = 0x7F26 , + [19523] = 0x7F27 , + [19524] = 0x7F2A , + [19525] = 0x7F2B , + [19526] = 0x7F2C , + [19527] = 0x7F2D , + [19528] = 0x7F2F , + [19529] = 0x7F30 , + [19530] = 0x7F31 , + [19531] = 0x7F32 , + [19532] = 0x7F33 , + [19533] = 0x7F35 , + [19534] = 0x5E7A , + [19535] = 0x757F , + [19536] = 0x5DDB , + [19537] = 0x753E , + [19538] = 0x9095 , + [19539] = 0x738E , + [19540] = 0x7391 , + [19541] = 0x73AE , + [19542] = 0x73A2 , + [19543] = 0x739F , + [19544] = 0x73CF , + [19545] = 0x73C2 , + [19546] = 0x73D1 , + [19547] = 0x73B7 , + [19548] = 0x73B3 , + [19549] = 0x73C0 , + [19550] = 0x73C9 , + [19551] = 0x73C8 , + [19552] = 0x73E5 , + [19553] = 0x73D9 , + [19554] = 0x987C , + [19555] = 0x740A , + [19556] = 0x73E9 , + [19557] = 0x73E7 , + [19558] = 0x73DE , + [19559] = 0x73BA , + [19560] = 0x73F2 , + [19561] = 0x740F , + [19562] = 0x742A , + [19563] = 0x745B , + [19564] = 0x7426 , + [19565] = 0x7425 , + [19566] = 0x7428 , + [19567] = 0x7430 , + [19568] = 0x742E , + [19569] = 0x742C , + [19570] = 0x942F , + [19571] = 0x9430 , + [19572] = 0x9431 , + [19573] = 0x9432 , + [19574] = 0x9433 , + [19575] = 0x9434 , + [19576] = 0x9435 , + [19577] = 0x9436 , + [19578] = 0x9437 , + [19579] = 0x9438 , + [19580] = 0x9439 , + [19581] = 0x943A , + [19582] = 0x943B , + [19583] = 0x943C , + [19584] = 0x943D , + [19585] = 0x943F , + [19586] = 0x9440 , + [19587] = 0x9441 , + [19588] = 0x9442 , + [19589] = 0x9443 , + [19590] = 0x9444 , + [19591] = 0x9445 , + [19592] = 0x9446 , + [19593] = 0x9447 , + [19594] = 0x9448 , + [19595] = 0x9449 , + [19596] = 0x944A , + [19597] = 0x944B , + [19598] = 0x944C , + [19599] = 0x944D , + [19600] = 0x944E , + [19601] = 0x944F , + [19602] = 0x9450 , + [19603] = 0x9451 , + [19604] = 0x9452 , + [19605] = 0x9453 , + [19606] = 0x9454 , + [19607] = 0x9455 , + [19608] = 0x9456 , + [19609] = 0x9457 , + [19610] = 0x9458 , + [19611] = 0x9459 , + [19612] = 0x945A , + [19613] = 0x945B , + [19614] = 0x945C , + [19615] = 0x945D , + [19616] = 0x945E , + [19617] = 0x945F , + [19618] = 0x9460 , + [19619] = 0x9461 , + [19620] = 0x9462 , + [19621] = 0x9463 , + [19622] = 0x9464 , + [19623] = 0x9465 , + [19624] = 0x9466 , + [19625] = 0x9467 , + [19626] = 0x9468 , + [19627] = 0x9469 , + [19628] = 0x946A , + [19629] = 0x946C , + [19630] = 0x946D , + [19631] = 0x946E , + [19632] = 0x946F , + [19633] = 0x9470 , + [19634] = 0x9471 , + [19635] = 0x9472 , + [19636] = 0x9473 , + [19637] = 0x9474 , + [19638] = 0x9475 , + [19639] = 0x9476 , + [19640] = 0x9477 , + [19641] = 0x9478 , + [19642] = 0x9479 , + [19643] = 0x947A , + [19644] = 0x947B , + [19645] = 0x947C , + [19646] = 0x947D , + [19647] = 0x947E , + [19648] = 0x947F , + [19649] = 0x9480 , + [19650] = 0x9481 , + [19651] = 0x9482 , + [19652] = 0x9483 , + [19653] = 0x9484 , + [19654] = 0x9491 , + [19655] = 0x9496 , + [19656] = 0x9498 , + [19657] = 0x94C7 , + [19658] = 0x94CF , + [19659] = 0x94D3 , + [19660] = 0x94D4 , + [19661] = 0x94DA , + [19662] = 0x94E6 , + [19663] = 0x94FB , + [19664] = 0x951C , + [19665] = 0x9520 , + [19666] = 0x741B , + [19667] = 0x741A , + [19668] = 0x7441 , + [19669] = 0x745C , + [19670] = 0x7457 , + [19671] = 0x7455 , + [19672] = 0x7459 , + [19673] = 0x7477 , + [19674] = 0x746D , + [19675] = 0x747E , + [19676] = 0x749C , + [19677] = 0x748E , + [19678] = 0x7480 , + [19679] = 0x7481 , + [19680] = 0x7487 , + [19681] = 0x748B , + [19682] = 0x749E , + [19683] = 0x74A8 , + [19684] = 0x74A9 , + [19685] = 0x7490 , + [19686] = 0x74A7 , + [19687] = 0x74D2 , + [19688] = 0x74BA , + [19689] = 0x97EA , + [19690] = 0x97EB , + [19691] = 0x97EC , + [19692] = 0x674C , + [19693] = 0x6753 , + [19694] = 0x675E , + [19695] = 0x6748 , + [19696] = 0x6769 , + [19697] = 0x67A5 , + [19698] = 0x6787 , + [19699] = 0x676A , + [19700] = 0x6773 , + [19701] = 0x6798 , + [19702] = 0x67A7 , + [19703] = 0x6775 , + [19704] = 0x67A8 , + [19705] = 0x679E , + [19706] = 0x67AD , + [19707] = 0x678B , + [19708] = 0x6777 , + [19709] = 0x677C , + [19710] = 0x67F0 , + [19711] = 0x6809 , + [19712] = 0x67D8 , + [19713] = 0x680A , + [19714] = 0x67E9 , + [19715] = 0x67B0 , + [19716] = 0x680C , + [19717] = 0x67D9 , + [19718] = 0x67B5 , + [19719] = 0x67DA , + [19720] = 0x67B3 , + [19721] = 0x67DD , + [19722] = 0x6800 , + [19723] = 0x67C3 , + [19724] = 0x67B8 , + [19725] = 0x67E2 , + [19726] = 0x680E , + [19727] = 0x67C1 , + [19728] = 0x67FD , + [19729] = 0x6832 , + [19730] = 0x6833 , + [19731] = 0x6860 , + [19732] = 0x6861 , + [19733] = 0x684E , + [19734] = 0x6862 , + [19735] = 0x6844 , + [19736] = 0x6864 , + [19737] = 0x6883 , + [19738] = 0x681D , + [19739] = 0x6855 , + [19740] = 0x6866 , + [19741] = 0x6841 , + [19742] = 0x6867 , + [19743] = 0x6840 , + [19744] = 0x683E , + [19745] = 0x684A , + [19746] = 0x6849 , + [19747] = 0x6829 , + [19748] = 0x68B5 , + [19749] = 0x688F , + [19750] = 0x6874 , + [19751] = 0x6877 , + [19752] = 0x6893 , + [19753] = 0x686B , + [19754] = 0x68C2 , + [19755] = 0x696E , + [19756] = 0x68FC , + [19757] = 0x691F , + [19758] = 0x6920 , + [19759] = 0x68F9 , + [19760] = 0x9527 , + [19761] = 0x9533 , + [19762] = 0x953D , + [19763] = 0x9543 , + [19764] = 0x9548 , + [19765] = 0x954B , + [19766] = 0x9555 , + [19767] = 0x955A , + [19768] = 0x9560 , + [19769] = 0x956E , + [19770] = 0x9574 , + [19771] = 0x9575 , + [19772] = 0x9577 , + [19773] = 0x9578 , + [19774] = 0x9579 , + [19775] = 0x957A , + [19776] = 0x957B , + [19777] = 0x957C , + [19778] = 0x957D , + [19779] = 0x957E , + [19780] = 0x9580 , + [19781] = 0x9581 , + [19782] = 0x9582 , + [19783] = 0x9583 , + [19784] = 0x9584 , + [19785] = 0x9585 , + [19786] = 0x9586 , + [19787] = 0x9587 , + [19788] = 0x9588 , + [19789] = 0x9589 , + [19790] = 0x958A , + [19791] = 0x958B , + [19792] = 0x958C , + [19793] = 0x958D , + [19794] = 0x958E , + [19795] = 0x958F , + [19796] = 0x9590 , + [19797] = 0x9591 , + [19798] = 0x9592 , + [19799] = 0x9593 , + [19800] = 0x9594 , + [19801] = 0x9595 , + [19802] = 0x9596 , + [19803] = 0x9597 , + [19804] = 0x9598 , + [19805] = 0x9599 , + [19806] = 0x959A , + [19807] = 0x959B , + [19808] = 0x959C , + [19809] = 0x959D , + [19810] = 0x959E , + [19811] = 0x959F , + [19812] = 0x95A0 , + [19813] = 0x95A1 , + [19814] = 0x95A2 , + [19815] = 0x95A3 , + [19816] = 0x95A4 , + [19817] = 0x95A5 , + [19818] = 0x95A6 , + [19819] = 0x95A7 , + [19820] = 0x95A8 , + [19821] = 0x95A9 , + [19822] = 0x95AA , + [19823] = 0x95AB , + [19824] = 0x95AC , + [19825] = 0x95AD , + [19826] = 0x95AE , + [19827] = 0x95AF , + [19828] = 0x95B0 , + [19829] = 0x95B1 , + [19830] = 0x95B2 , + [19831] = 0x95B3 , + [19832] = 0x95B4 , + [19833] = 0x95B5 , + [19834] = 0x95B6 , + [19835] = 0x95B7 , + [19836] = 0x95B8 , + [19837] = 0x95B9 , + [19838] = 0x95BA , + [19839] = 0x95BB , + [19840] = 0x95BC , + [19841] = 0x95BD , + [19842] = 0x95BE , + [19843] = 0x95BF , + [19844] = 0x95C0 , + [19845] = 0x95C1 , + [19846] = 0x95C2 , + [19847] = 0x95C3 , + [19848] = 0x95C4 , + [19849] = 0x95C5 , + [19850] = 0x95C6 , + [19851] = 0x95C7 , + [19852] = 0x95C8 , + [19853] = 0x95C9 , + [19854] = 0x95CA , + [19855] = 0x95CB , + [19856] = 0x6924 , + [19857] = 0x68F0 , + [19858] = 0x690B , + [19859] = 0x6901 , + [19860] = 0x6957 , + [19861] = 0x68E3 , + [19862] = 0x6910 , + [19863] = 0x6971 , + [19864] = 0x6939 , + [19865] = 0x6960 , + [19866] = 0x6942 , + [19867] = 0x695D , + [19868] = 0x6984 , + [19869] = 0x696B , + [19870] = 0x6980 , + [19871] = 0x6998 , + [19872] = 0x6978 , + [19873] = 0x6934 , + [19874] = 0x69CC , + [19875] = 0x6987 , + [19876] = 0x6988 , + [19877] = 0x69CE , + [19878] = 0x6989 , + [19879] = 0x6966 , + [19880] = 0x6963 , + [19881] = 0x6979 , + [19882] = 0x699B , + [19883] = 0x69A7 , + [19884] = 0x69BB , + [19885] = 0x69AB , + [19886] = 0x69AD , + [19887] = 0x69D4 , + [19888] = 0x69B1 , + [19889] = 0x69C1 , + [19890] = 0x69CA , + [19891] = 0x69DF , + [19892] = 0x6995 , + [19893] = 0x69E0 , + [19894] = 0x698D , + [19895] = 0x69FF , + [19896] = 0x6A2F , + [19897] = 0x69ED , + [19898] = 0x6A17 , + [19899] = 0x6A18 , + [19900] = 0x6A65 , + [19901] = 0x69F2 , + [19902] = 0x6A44 , + [19903] = 0x6A3E , + [19904] = 0x6AA0 , + [19905] = 0x6A50 , + [19906] = 0x6A5B , + [19907] = 0x6A35 , + [19908] = 0x6A8E , + [19909] = 0x6A79 , + [19910] = 0x6A3D , + [19911] = 0x6A28 , + [19912] = 0x6A58 , + [19913] = 0x6A7C , + [19914] = 0x6A91 , + [19915] = 0x6A90 , + [19916] = 0x6AA9 , + [19917] = 0x6A97 , + [19918] = 0x6AAB , + [19919] = 0x7337 , + [19920] = 0x7352 , + [19921] = 0x6B81 , + [19922] = 0x6B82 , + [19923] = 0x6B87 , + [19924] = 0x6B84 , + [19925] = 0x6B92 , + [19926] = 0x6B93 , + [19927] = 0x6B8D , + [19928] = 0x6B9A , + [19929] = 0x6B9B , + [19930] = 0x6BA1 , + [19931] = 0x6BAA , + [19932] = 0x8F6B , + [19933] = 0x8F6D , + [19934] = 0x8F71 , + [19935] = 0x8F72 , + [19936] = 0x8F73 , + [19937] = 0x8F75 , + [19938] = 0x8F76 , + [19939] = 0x8F78 , + [19940] = 0x8F77 , + [19941] = 0x8F79 , + [19942] = 0x8F7A , + [19943] = 0x8F7C , + [19944] = 0x8F7E , + [19945] = 0x8F81 , + [19946] = 0x8F82 , + [19947] = 0x8F84 , + [19948] = 0x8F87 , + [19949] = 0x8F8B , + [19950] = 0x95CC , + [19951] = 0x95CD , + [19952] = 0x95CE , + [19953] = 0x95CF , + [19954] = 0x95D0 , + [19955] = 0x95D1 , + [19956] = 0x95D2 , + [19957] = 0x95D3 , + [19958] = 0x95D4 , + [19959] = 0x95D5 , + [19960] = 0x95D6 , + [19961] = 0x95D7 , + [19962] = 0x95D8 , + [19963] = 0x95D9 , + [19964] = 0x95DA , + [19965] = 0x95DB , + [19966] = 0x95DC , + [19967] = 0x95DD , + [19968] = 0x95DE , + [19969] = 0x95DF , + [19970] = 0x95E0 , + [19971] = 0x95E1 , + [19972] = 0x95E2 , + [19973] = 0x95E3 , + [19974] = 0x95E4 , + [19975] = 0x95E5 , + [19976] = 0x95E6 , + [19977] = 0x95E7 , + [19978] = 0x95EC , + [19979] = 0x95FF , + [19980] = 0x9607 , + [19981] = 0x9613 , + [19982] = 0x9618 , + [19983] = 0x961B , + [19984] = 0x961E , + [19985] = 0x9620 , + [19986] = 0x9623 , + [19987] = 0x9624 , + [19988] = 0x9625 , + [19989] = 0x9626 , + [19990] = 0x9627 , + [19991] = 0x9628 , + [19992] = 0x9629 , + [19993] = 0x962B , + [19994] = 0x962C , + [19995] = 0x962D , + [19996] = 0x962F , + [19997] = 0x9630 , + [19998] = 0x9637 , + [19999] = 0x9638 , + [20000] = 0x9639 , + [20001] = 0x963A , + [20002] = 0x963E , + [20003] = 0x9641 , + [20004] = 0x9643 , + [20005] = 0x964A , + [20006] = 0x964E , + [20007] = 0x964F , + [20008] = 0x9651 , + [20009] = 0x9652 , + [20010] = 0x9653 , + [20011] = 0x9656 , + [20012] = 0x9657 , + [20013] = 0x9658 , + [20014] = 0x9659 , + [20015] = 0x965A , + [20016] = 0x965C , + [20017] = 0x965D , + [20018] = 0x965E , + [20019] = 0x9660 , + [20020] = 0x9663 , + [20021] = 0x9665 , + [20022] = 0x9666 , + [20023] = 0x966B , + [20024] = 0x966D , + [20025] = 0x966E , + [20026] = 0x966F , + [20027] = 0x9670 , + [20028] = 0x9671 , + [20029] = 0x9673 , + [20030] = 0x9678 , + [20031] = 0x9679 , + [20032] = 0x967A , + [20033] = 0x967B , + [20034] = 0x967C , + [20035] = 0x967D , + [20036] = 0x967E , + [20037] = 0x967F , + [20038] = 0x9680 , + [20039] = 0x9681 , + [20040] = 0x9682 , + [20041] = 0x9683 , + [20042] = 0x9684 , + [20043] = 0x9687 , + [20044] = 0x9689 , + [20045] = 0x968A , + [20046] = 0x8F8D , + [20047] = 0x8F8E , + [20048] = 0x8F8F , + [20049] = 0x8F98 , + [20050] = 0x8F9A , + [20051] = 0x8ECE , + [20052] = 0x620B , + [20053] = 0x6217 , + [20054] = 0x621B , + [20055] = 0x621F , + [20056] = 0x6222 , + [20057] = 0x6221 , + [20058] = 0x6225 , + [20059] = 0x6224 , + [20060] = 0x622C , + [20061] = 0x81E7 , + [20062] = 0x74EF , + [20063] = 0x74F4 , + [20064] = 0x74FF , + [20065] = 0x750F , + [20066] = 0x7511 , + [20067] = 0x7513 , + [20068] = 0x6534 , + [20069] = 0x65EE , + [20070] = 0x65EF , + [20071] = 0x65F0 , + [20072] = 0x660A , + [20073] = 0x6619 , + [20074] = 0x6772 , + [20075] = 0x6603 , + [20076] = 0x6615 , + [20077] = 0x6600 , + [20078] = 0x7085 , + [20079] = 0x66F7 , + [20080] = 0x661D , + [20081] = 0x6634 , + [20082] = 0x6631 , + [20083] = 0x6636 , + [20084] = 0x6635 , + [20085] = 0x8006 , + [20086] = 0x665F , + [20087] = 0x6654 , + [20088] = 0x6641 , + [20089] = 0x664F , + [20090] = 0x6656 , + [20091] = 0x6661 , + [20092] = 0x6657 , + [20093] = 0x6677 , + [20094] = 0x6684 , + [20095] = 0x668C , + [20096] = 0x66A7 , + [20097] = 0x669D , + [20098] = 0x66BE , + [20099] = 0x66DB , + [20100] = 0x66DC , + [20101] = 0x66E6 , + [20102] = 0x66E9 , + [20103] = 0x8D32 , + [20104] = 0x8D33 , + [20105] = 0x8D36 , + [20106] = 0x8D3B , + [20107] = 0x8D3D , + [20108] = 0x8D40 , + [20109] = 0x8D45 , + [20110] = 0x8D46 , + [20111] = 0x8D48 , + [20112] = 0x8D49 , + [20113] = 0x8D47 , + [20114] = 0x8D4D , + [20115] = 0x8D55 , + [20116] = 0x8D59 , + [20117] = 0x89C7 , + [20118] = 0x89CA , + [20119] = 0x89CB , + [20120] = 0x89CC , + [20121] = 0x89CE , + [20122] = 0x89CF , + [20123] = 0x89D0 , + [20124] = 0x89D1 , + [20125] = 0x726E , + [20126] = 0x729F , + [20127] = 0x725D , + [20128] = 0x7266 , + [20129] = 0x726F , + [20130] = 0x727E , + [20131] = 0x727F , + [20132] = 0x7284 , + [20133] = 0x728B , + [20134] = 0x728D , + [20135] = 0x728F , + [20136] = 0x7292 , + [20137] = 0x6308 , + [20138] = 0x6332 , + [20139] = 0x63B0 , + [20140] = 0x968C , + [20141] = 0x968E , + [20142] = 0x9691 , + [20143] = 0x9692 , + [20144] = 0x9693 , + [20145] = 0x9695 , + [20146] = 0x9696 , + [20147] = 0x969A , + [20148] = 0x969B , + [20149] = 0x969D , + [20150] = 0x969E , + [20151] = 0x969F , + [20152] = 0x96A0 , + [20153] = 0x96A1 , + [20154] = 0x96A2 , + [20155] = 0x96A3 , + [20156] = 0x96A4 , + [20157] = 0x96A5 , + [20158] = 0x96A6 , + [20159] = 0x96A8 , + [20160] = 0x96A9 , + [20161] = 0x96AA , + [20162] = 0x96AB , + [20163] = 0x96AC , + [20164] = 0x96AD , + [20165] = 0x96AE , + [20166] = 0x96AF , + [20167] = 0x96B1 , + [20168] = 0x96B2 , + [20169] = 0x96B4 , + [20170] = 0x96B5 , + [20171] = 0x96B7 , + [20172] = 0x96B8 , + [20173] = 0x96BA , + [20174] = 0x96BB , + [20175] = 0x96BF , + [20176] = 0x96C2 , + [20177] = 0x96C3 , + [20178] = 0x96C8 , + [20179] = 0x96CA , + [20180] = 0x96CB , + [20181] = 0x96D0 , + [20182] = 0x96D1 , + [20183] = 0x96D3 , + [20184] = 0x96D4 , + [20185] = 0x96D6 , + [20186] = 0x96D7 , + [20187] = 0x96D8 , + [20188] = 0x96D9 , + [20189] = 0x96DA , + [20190] = 0x96DB , + [20191] = 0x96DC , + [20192] = 0x96DD , + [20193] = 0x96DE , + [20194] = 0x96DF , + [20195] = 0x96E1 , + [20196] = 0x96E2 , + [20197] = 0x96E3 , + [20198] = 0x96E4 , + [20199] = 0x96E5 , + [20200] = 0x96E6 , + [20201] = 0x96E7 , + [20202] = 0x96EB , + [20203] = 0x96EC , + [20204] = 0x96ED , + [20205] = 0x96EE , + [20206] = 0x96F0 , + [20207] = 0x96F1 , + [20208] = 0x96F2 , + [20209] = 0x96F4 , + [20210] = 0x96F5 , + [20211] = 0x96F8 , + [20212] = 0x96FA , + [20213] = 0x96FB , + [20214] = 0x96FC , + [20215] = 0x96FD , + [20216] = 0x96FF , + [20217] = 0x9702 , + [20218] = 0x9703 , + [20219] = 0x9705 , + [20220] = 0x970A , + [20221] = 0x970B , + [20222] = 0x970C , + [20223] = 0x9710 , + [20224] = 0x9711 , + [20225] = 0x9712 , + [20226] = 0x9714 , + [20227] = 0x9715 , + [20228] = 0x9717 , + [20229] = 0x9718 , + [20230] = 0x9719 , + [20231] = 0x971A , + [20232] = 0x971B , + [20233] = 0x971D , + [20234] = 0x971F , + [20235] = 0x9720 , + [20236] = 0x643F , + [20237] = 0x64D8 , + [20238] = 0x8004 , + [20239] = 0x6BEA , + [20240] = 0x6BF3 , + [20241] = 0x6BFD , + [20242] = 0x6BF5 , + [20243] = 0x6BF9 , + [20244] = 0x6C05 , + [20245] = 0x6C07 , + [20246] = 0x6C06 , + [20247] = 0x6C0D , + [20248] = 0x6C15 , + [20249] = 0x6C18 , + [20250] = 0x6C19 , + [20251] = 0x6C1A , + [20252] = 0x6C21 , + [20253] = 0x6C29 , + [20254] = 0x6C24 , + [20255] = 0x6C2A , + [20256] = 0x6C32 , + [20257] = 0x6535 , + [20258] = 0x6555 , + [20259] = 0x656B , + [20260] = 0x724D , + [20261] = 0x7252 , + [20262] = 0x7256 , + [20263] = 0x7230 , + [20264] = 0x8662 , + [20265] = 0x5216 , + [20266] = 0x809F , + [20267] = 0x809C , + [20268] = 0x8093 , + [20269] = 0x80BC , + [20270] = 0x670A , + [20271] = 0x80BD , + [20272] = 0x80B1 , + [20273] = 0x80AB , + [20274] = 0x80AD , + [20275] = 0x80B4 , + [20276] = 0x80B7 , + [20277] = 0x80E7 , + [20278] = 0x80E8 , + [20279] = 0x80E9 , + [20280] = 0x80EA , + [20281] = 0x80DB , + [20282] = 0x80C2 , + [20283] = 0x80C4 , + [20284] = 0x80D9 , + [20285] = 0x80CD , + [20286] = 0x80D7 , + [20287] = 0x6710 , + [20288] = 0x80DD , + [20289] = 0x80EB , + [20290] = 0x80F1 , + [20291] = 0x80F4 , + [20292] = 0x80ED , + [20293] = 0x810D , + [20294] = 0x810E , + [20295] = 0x80F2 , + [20296] = 0x80FC , + [20297] = 0x6715 , + [20298] = 0x8112 , + [20299] = 0x8C5A , + [20300] = 0x8136 , + [20301] = 0x811E , + [20302] = 0x812C , + [20303] = 0x8118 , + [20304] = 0x8132 , + [20305] = 0x8148 , + [20306] = 0x814C , + [20307] = 0x8153 , + [20308] = 0x8174 , + [20309] = 0x8159 , + [20310] = 0x815A , + [20311] = 0x8171 , + [20312] = 0x8160 , + [20313] = 0x8169 , + [20314] = 0x817C , + [20315] = 0x817D , + [20316] = 0x816D , + [20317] = 0x8167 , + [20318] = 0x584D , + [20319] = 0x5AB5 , + [20320] = 0x8188 , + [20321] = 0x8182 , + [20322] = 0x8191 , + [20323] = 0x6ED5 , + [20324] = 0x81A3 , + [20325] = 0x81AA , + [20326] = 0x81CC , + [20327] = 0x6726 , + [20328] = 0x81CA , + [20329] = 0x81BB , + [20330] = 0x9721 , + [20331] = 0x9722 , + [20332] = 0x9723 , + [20333] = 0x9724 , + [20334] = 0x9725 , + [20335] = 0x9726 , + [20336] = 0x9727 , + [20337] = 0x9728 , + [20338] = 0x9729 , + [20339] = 0x972B , + [20340] = 0x972C , + [20341] = 0x972E , + [20342] = 0x972F , + [20343] = 0x9731 , + [20344] = 0x9733 , + [20345] = 0x9734 , + [20346] = 0x9735 , + [20347] = 0x9736 , + [20348] = 0x9737 , + [20349] = 0x973A , + [20350] = 0x973B , + [20351] = 0x973C , + [20352] = 0x973D , + [20353] = 0x973F , + [20354] = 0x9740 , + [20355] = 0x9741 , + [20356] = 0x9742 , + [20357] = 0x9743 , + [20358] = 0x9744 , + [20359] = 0x9745 , + [20360] = 0x9746 , + [20361] = 0x9747 , + [20362] = 0x9748 , + [20363] = 0x9749 , + [20364] = 0x974A , + [20365] = 0x974B , + [20366] = 0x974C , + [20367] = 0x974D , + [20368] = 0x974E , + [20369] = 0x974F , + [20370] = 0x9750 , + [20371] = 0x9751 , + [20372] = 0x9754 , + [20373] = 0x9755 , + [20374] = 0x9757 , + [20375] = 0x9758 , + [20376] = 0x975A , + [20377] = 0x975C , + [20378] = 0x975D , + [20379] = 0x975F , + [20380] = 0x9763 , + [20381] = 0x9764 , + [20382] = 0x9766 , + [20383] = 0x9767 , + [20384] = 0x9768 , + [20385] = 0x976A , + [20386] = 0x976B , + [20387] = 0x976C , + [20388] = 0x976D , + [20389] = 0x976E , + [20390] = 0x976F , + [20391] = 0x9770 , + [20392] = 0x9771 , + [20393] = 0x9772 , + [20394] = 0x9775 , + [20395] = 0x9777 , + [20396] = 0x9778 , + [20397] = 0x9779 , + [20398] = 0x977A , + [20399] = 0x977B , + [20400] = 0x977D , + [20401] = 0x977E , + [20402] = 0x977F , + [20403] = 0x9780 , + [20404] = 0x9781 , + [20405] = 0x9782 , + [20406] = 0x9783 , + [20407] = 0x9784 , + [20408] = 0x9786 , + [20409] = 0x9787 , + [20410] = 0x9788 , + [20411] = 0x9789 , + [20412] = 0x978A , + [20413] = 0x978C , + [20414] = 0x978E , + [20415] = 0x978F , + [20416] = 0x9790 , + [20417] = 0x9793 , + [20418] = 0x9795 , + [20419] = 0x9796 , + [20420] = 0x9797 , + [20421] = 0x9799 , + [20422] = 0x979A , + [20423] = 0x979B , + [20424] = 0x979C , + [20425] = 0x979D , + [20426] = 0x81C1 , + [20427] = 0x81A6 , + [20428] = 0x6B24 , + [20429] = 0x6B37 , + [20430] = 0x6B39 , + [20431] = 0x6B43 , + [20432] = 0x6B46 , + [20433] = 0x6B59 , + [20434] = 0x98D1 , + [20435] = 0x98D2 , + [20436] = 0x98D3 , + [20437] = 0x98D5 , + [20438] = 0x98D9 , + [20439] = 0x98DA , + [20440] = 0x6BB3 , + [20441] = 0x5F40 , + [20442] = 0x6BC2 , + [20443] = 0x89F3 , + [20444] = 0x6590 , + [20445] = 0x9F51 , + [20446] = 0x6593 , + [20447] = 0x65BC , + [20448] = 0x65C6 , + [20449] = 0x65C4 , + [20450] = 0x65C3 , + [20451] = 0x65CC , + [20452] = 0x65CE , + [20453] = 0x65D2 , + [20454] = 0x65D6 , + [20455] = 0x7080 , + [20456] = 0x709C , + [20457] = 0x7096 , + [20458] = 0x709D , + [20459] = 0x70BB , + [20460] = 0x70C0 , + [20461] = 0x70B7 , + [20462] = 0x70AB , + [20463] = 0x70B1 , + [20464] = 0x70E8 , + [20465] = 0x70CA , + [20466] = 0x7110 , + [20467] = 0x7113 , + [20468] = 0x7116 , + [20469] = 0x712F , + [20470] = 0x7131 , + [20471] = 0x7173 , + [20472] = 0x715C , + [20473] = 0x7168 , + [20474] = 0x7145 , + [20475] = 0x7172 , + [20476] = 0x714A , + [20477] = 0x7178 , + [20478] = 0x717A , + [20479] = 0x7198 , + [20480] = 0x71B3 , + [20481] = 0x71B5 , + [20482] = 0x71A8 , + [20483] = 0x71A0 , + [20484] = 0x71E0 , + [20485] = 0x71D4 , + [20486] = 0x71E7 , + [20487] = 0x71F9 , + [20488] = 0x721D , + [20489] = 0x7228 , + [20490] = 0x706C , + [20491] = 0x7118 , + [20492] = 0x7166 , + [20493] = 0x71B9 , + [20494] = 0x623E , + [20495] = 0x623D , + [20496] = 0x6243 , + [20497] = 0x6248 , + [20498] = 0x6249 , + [20499] = 0x793B , + [20500] = 0x7940 , + [20501] = 0x7946 , + [20502] = 0x7949 , + [20503] = 0x795B , + [20504] = 0x795C , + [20505] = 0x7953 , + [20506] = 0x795A , + [20507] = 0x7962 , + [20508] = 0x7957 , + [20509] = 0x7960 , + [20510] = 0x796F , + [20511] = 0x7967 , + [20512] = 0x797A , + [20513] = 0x7985 , + [20514] = 0x798A , + [20515] = 0x799A , + [20516] = 0x79A7 , + [20517] = 0x79B3 , + [20518] = 0x5FD1 , + [20519] = 0x5FD0 , + [20520] = 0x979E , + [20521] = 0x979F , + [20522] = 0x97A1 , + [20523] = 0x97A2 , + [20524] = 0x97A4 , + [20525] = 0x97A5 , + [20526] = 0x97A6 , + [20527] = 0x97A7 , + [20528] = 0x97A8 , + [20529] = 0x97A9 , + [20530] = 0x97AA , + [20531] = 0x97AC , + [20532] = 0x97AE , + [20533] = 0x97B0 , + [20534] = 0x97B1 , + [20535] = 0x97B3 , + [20536] = 0x97B5 , + [20537] = 0x97B6 , + [20538] = 0x97B7 , + [20539] = 0x97B8 , + [20540] = 0x97B9 , + [20541] = 0x97BA , + [20542] = 0x97BB , + [20543] = 0x97BC , + [20544] = 0x97BD , + [20545] = 0x97BE , + [20546] = 0x97BF , + [20547] = 0x97C0 , + [20548] = 0x97C1 , + [20549] = 0x97C2 , + [20550] = 0x97C3 , + [20551] = 0x97C4 , + [20552] = 0x97C5 , + [20553] = 0x97C6 , + [20554] = 0x97C7 , + [20555] = 0x97C8 , + [20556] = 0x97C9 , + [20557] = 0x97CA , + [20558] = 0x97CB , + [20559] = 0x97CC , + [20560] = 0x97CD , + [20561] = 0x97CE , + [20562] = 0x97CF , + [20563] = 0x97D0 , + [20564] = 0x97D1 , + [20565] = 0x97D2 , + [20566] = 0x97D3 , + [20567] = 0x97D4 , + [20568] = 0x97D5 , + [20569] = 0x97D6 , + [20570] = 0x97D7 , + [20571] = 0x97D8 , + [20572] = 0x97D9 , + [20573] = 0x97DA , + [20574] = 0x97DB , + [20575] = 0x97DC , + [20576] = 0x97DD , + [20577] = 0x97DE , + [20578] = 0x97DF , + [20579] = 0x97E0 , + [20580] = 0x97E1 , + [20581] = 0x97E2 , + [20582] = 0x97E3 , + [20583] = 0x97E4 , + [20584] = 0x97E5 , + [20585] = 0x97E8 , + [20586] = 0x97EE , + [20587] = 0x97EF , + [20588] = 0x97F0 , + [20589] = 0x97F1 , + [20590] = 0x97F2 , + [20591] = 0x97F4 , + [20592] = 0x97F7 , + [20593] = 0x97F8 , + [20594] = 0x97F9 , + [20595] = 0x97FA , + [20596] = 0x97FB , + [20597] = 0x97FC , + [20598] = 0x97FD , + [20599] = 0x97FE , + [20600] = 0x97FF , + [20601] = 0x9800 , + [20602] = 0x9801 , + [20603] = 0x9802 , + [20604] = 0x9803 , + [20605] = 0x9804 , + [20606] = 0x9805 , + [20607] = 0x9806 , + [20608] = 0x9807 , + [20609] = 0x9808 , + [20610] = 0x9809 , + [20611] = 0x980A , + [20612] = 0x980B , + [20613] = 0x980C , + [20614] = 0x980D , + [20615] = 0x980E , + [20616] = 0x603C , + [20617] = 0x605D , + [20618] = 0x605A , + [20619] = 0x6067 , + [20620] = 0x6041 , + [20621] = 0x6059 , + [20622] = 0x6063 , + [20623] = 0x60AB , + [20624] = 0x6106 , + [20625] = 0x610D , + [20626] = 0x615D , + [20627] = 0x61A9 , + [20628] = 0x619D , + [20629] = 0x61CB , + [20630] = 0x61D1 , + [20631] = 0x6206 , + [20632] = 0x8080 , + [20633] = 0x807F , + [20634] = 0x6C93 , + [20635] = 0x6CF6 , + [20636] = 0x6DFC , + [20637] = 0x77F6 , + [20638] = 0x77F8 , + [20639] = 0x7800 , + [20640] = 0x7809 , + [20641] = 0x7817 , + [20642] = 0x7818 , + [20643] = 0x7811 , + [20644] = 0x65AB , + [20645] = 0x782D , + [20646] = 0x781C , + [20647] = 0x781D , + [20648] = 0x7839 , + [20649] = 0x783A , + [20650] = 0x783B , + [20651] = 0x781F , + [20652] = 0x783C , + [20653] = 0x7825 , + [20654] = 0x782C , + [20655] = 0x7823 , + [20656] = 0x7829 , + [20657] = 0x784E , + [20658] = 0x786D , + [20659] = 0x7856 , + [20660] = 0x7857 , + [20661] = 0x7826 , + [20662] = 0x7850 , + [20663] = 0x7847 , + [20664] = 0x784C , + [20665] = 0x786A , + [20666] = 0x789B , + [20667] = 0x7893 , + [20668] = 0x789A , + [20669] = 0x7887 , + [20670] = 0x789C , + [20671] = 0x78A1 , + [20672] = 0x78A3 , + [20673] = 0x78B2 , + [20674] = 0x78B9 , + [20675] = 0x78A5 , + [20676] = 0x78D4 , + [20677] = 0x78D9 , + [20678] = 0x78C9 , + [20679] = 0x78EC , + [20680] = 0x78F2 , + [20681] = 0x7905 , + [20682] = 0x78F4 , + [20683] = 0x7913 , + [20684] = 0x7924 , + [20685] = 0x791E , + [20686] = 0x7934 , + [20687] = 0x9F9B , + [20688] = 0x9EF9 , + [20689] = 0x9EFB , + [20690] = 0x9EFC , + [20691] = 0x76F1 , + [20692] = 0x7704 , + [20693] = 0x770D , + [20694] = 0x76F9 , + [20695] = 0x7707 , + [20696] = 0x7708 , + [20697] = 0x771A , + [20698] = 0x7722 , + [20699] = 0x7719 , + [20700] = 0x772D , + [20701] = 0x7726 , + [20702] = 0x7735 , + [20703] = 0x7738 , + [20704] = 0x7750 , + [20705] = 0x7751 , + [20706] = 0x7747 , + [20707] = 0x7743 , + [20708] = 0x775A , + [20709] = 0x7768 , + [20710] = 0x980F , + [20711] = 0x9810 , + [20712] = 0x9811 , + [20713] = 0x9812 , + [20714] = 0x9813 , + [20715] = 0x9814 , + [20716] = 0x9815 , + [20717] = 0x9816 , + [20718] = 0x9817 , + [20719] = 0x9818 , + [20720] = 0x9819 , + [20721] = 0x981A , + [20722] = 0x981B , + [20723] = 0x981C , + [20724] = 0x981D , + [20725] = 0x981E , + [20726] = 0x981F , + [20727] = 0x9820 , + [20728] = 0x9821 , + [20729] = 0x9822 , + [20730] = 0x9823 , + [20731] = 0x9824 , + [20732] = 0x9825 , + [20733] = 0x9826 , + [20734] = 0x9827 , + [20735] = 0x9828 , + [20736] = 0x9829 , + [20737] = 0x982A , + [20738] = 0x982B , + [20739] = 0x982C , + [20740] = 0x982D , + [20741] = 0x982E , + [20742] = 0x982F , + [20743] = 0x9830 , + [20744] = 0x9831 , + [20745] = 0x9832 , + [20746] = 0x9833 , + [20747] = 0x9834 , + [20748] = 0x9835 , + [20749] = 0x9836 , + [20750] = 0x9837 , + [20751] = 0x9838 , + [20752] = 0x9839 , + [20753] = 0x983A , + [20754] = 0x983B , + [20755] = 0x983C , + [20756] = 0x983D , + [20757] = 0x983E , + [20758] = 0x983F , + [20759] = 0x9840 , + [20760] = 0x9841 , + [20761] = 0x9842 , + [20762] = 0x9843 , + [20763] = 0x9844 , + [20764] = 0x9845 , + [20765] = 0x9846 , + [20766] = 0x9847 , + [20767] = 0x9848 , + [20768] = 0x9849 , + [20769] = 0x984A , + [20770] = 0x984B , + [20771] = 0x984C , + [20772] = 0x984D , + [20773] = 0x984E , + [20774] = 0x984F , + [20775] = 0x9850 , + [20776] = 0x9851 , + [20777] = 0x9852 , + [20778] = 0x9853 , + [20779] = 0x9854 , + [20780] = 0x9855 , + [20781] = 0x9856 , + [20782] = 0x9857 , + [20783] = 0x9858 , + [20784] = 0x9859 , + [20785] = 0x985A , + [20786] = 0x985B , + [20787] = 0x985C , + [20788] = 0x985D , + [20789] = 0x985E , + [20790] = 0x985F , + [20791] = 0x9860 , + [20792] = 0x9861 , + [20793] = 0x9862 , + [20794] = 0x9863 , + [20795] = 0x9864 , + [20796] = 0x9865 , + [20797] = 0x9866 , + [20798] = 0x9867 , + [20799] = 0x9868 , + [20800] = 0x9869 , + [20801] = 0x986A , + [20802] = 0x986B , + [20803] = 0x986C , + [20804] = 0x986D , + [20805] = 0x986E , + [20806] = 0x7762 , + [20807] = 0x7765 , + [20808] = 0x777F , + [20809] = 0x778D , + [20810] = 0x777D , + [20811] = 0x7780 , + [20812] = 0x778C , + [20813] = 0x7791 , + [20814] = 0x779F , + [20815] = 0x77A0 , + [20816] = 0x77B0 , + [20817] = 0x77B5 , + [20818] = 0x77BD , + [20819] = 0x753A , + [20820] = 0x7540 , + [20821] = 0x754E , + [20822] = 0x754B , + [20823] = 0x7548 , + [20824] = 0x755B , + [20825] = 0x7572 , + [20826] = 0x7579 , + [20827] = 0x7583 , + [20828] = 0x7F58 , + [20829] = 0x7F61 , + [20830] = 0x7F5F , + [20831] = 0x8A48 , + [20832] = 0x7F68 , + [20833] = 0x7F74 , + [20834] = 0x7F71 , + [20835] = 0x7F79 , + [20836] = 0x7F81 , + [20837] = 0x7F7E , + [20838] = 0x76CD , + [20839] = 0x76E5 , + [20840] = 0x8832 , + [20841] = 0x9485 , + [20842] = 0x9486 , + [20843] = 0x9487 , + [20844] = 0x948B , + [20845] = 0x948A , + [20846] = 0x948C , + [20847] = 0x948D , + [20848] = 0x948F , + [20849] = 0x9490 , + [20850] = 0x9494 , + [20851] = 0x9497 , + [20852] = 0x9495 , + [20853] = 0x949A , + [20854] = 0x949B , + [20855] = 0x949C , + [20856] = 0x94A3 , + [20857] = 0x94A4 , + [20858] = 0x94AB , + [20859] = 0x94AA , + [20860] = 0x94AD , + [20861] = 0x94AC , + [20862] = 0x94AF , + [20863] = 0x94B0 , + [20864] = 0x94B2 , + [20865] = 0x94B4 , + [20866] = 0x94B6 , + [20867] = 0x94B7 , + [20868] = 0x94B8 , + [20869] = 0x94B9 , + [20870] = 0x94BA , + [20871] = 0x94BC , + [20872] = 0x94BD , + [20873] = 0x94BF , + [20874] = 0x94C4 , + [20875] = 0x94C8 , + [20876] = 0x94C9 , + [20877] = 0x94CA , + [20878] = 0x94CB , + [20879] = 0x94CC , + [20880] = 0x94CD , + [20881] = 0x94CE , + [20882] = 0x94D0 , + [20883] = 0x94D1 , + [20884] = 0x94D2 , + [20885] = 0x94D5 , + [20886] = 0x94D6 , + [20887] = 0x94D7 , + [20888] = 0x94D9 , + [20889] = 0x94D8 , + [20890] = 0x94DB , + [20891] = 0x94DE , + [20892] = 0x94DF , + [20893] = 0x94E0 , + [20894] = 0x94E2 , + [20895] = 0x94E4 , + [20896] = 0x94E5 , + [20897] = 0x94E7 , + [20898] = 0x94E8 , + [20899] = 0x94EA , + [20900] = 0x986F , + [20901] = 0x9870 , + [20902] = 0x9871 , + [20903] = 0x9872 , + [20904] = 0x9873 , + [20905] = 0x9874 , + [20906] = 0x988B , + [20907] = 0x988E , + [20908] = 0x9892 , + [20909] = 0x9895 , + [20910] = 0x9899 , + [20911] = 0x98A3 , + [20912] = 0x98A8 , + [20913] = 0x98A9 , + [20914] = 0x98AA , + [20915] = 0x98AB , + [20916] = 0x98AC , + [20917] = 0x98AD , + [20918] = 0x98AE , + [20919] = 0x98AF , + [20920] = 0x98B0 , + [20921] = 0x98B1 , + [20922] = 0x98B2 , + [20923] = 0x98B3 , + [20924] = 0x98B4 , + [20925] = 0x98B5 , + [20926] = 0x98B6 , + [20927] = 0x98B7 , + [20928] = 0x98B8 , + [20929] = 0x98B9 , + [20930] = 0x98BA , + [20931] = 0x98BB , + [20932] = 0x98BC , + [20933] = 0x98BD , + [20934] = 0x98BE , + [20935] = 0x98BF , + [20936] = 0x98C0 , + [20937] = 0x98C1 , + [20938] = 0x98C2 , + [20939] = 0x98C3 , + [20940] = 0x98C4 , + [20941] = 0x98C5 , + [20942] = 0x98C6 , + [20943] = 0x98C7 , + [20944] = 0x98C8 , + [20945] = 0x98C9 , + [20946] = 0x98CA , + [20947] = 0x98CB , + [20948] = 0x98CC , + [20949] = 0x98CD , + [20950] = 0x98CF , + [20951] = 0x98D0 , + [20952] = 0x98D4 , + [20953] = 0x98D6 , + [20954] = 0x98D7 , + [20955] = 0x98DB , + [20956] = 0x98DC , + [20957] = 0x98DD , + [20958] = 0x98E0 , + [20959] = 0x98E1 , + [20960] = 0x98E2 , + [20961] = 0x98E3 , + [20962] = 0x98E4 , + [20963] = 0x98E5 , + [20964] = 0x98E6 , + [20965] = 0x98E9 , + [20966] = 0x98EA , + [20967] = 0x98EB , + [20968] = 0x98EC , + [20969] = 0x98ED , + [20970] = 0x98EE , + [20971] = 0x98EF , + [20972] = 0x98F0 , + [20973] = 0x98F1 , + [20974] = 0x98F2 , + [20975] = 0x98F3 , + [20976] = 0x98F4 , + [20977] = 0x98F5 , + [20978] = 0x98F6 , + [20979] = 0x98F7 , + [20980] = 0x98F8 , + [20981] = 0x98F9 , + [20982] = 0x98FA , + [20983] = 0x98FB , + [20984] = 0x98FC , + [20985] = 0x98FD , + [20986] = 0x98FE , + [20987] = 0x98FF , + [20988] = 0x9900 , + [20989] = 0x9901 , + [20990] = 0x9902 , + [20991] = 0x9903 , + [20992] = 0x9904 , + [20993] = 0x9905 , + [20994] = 0x9906 , + [20995] = 0x9907 , + [20996] = 0x94E9 , + [20997] = 0x94EB , + [20998] = 0x94EE , + [20999] = 0x94EF , + [21000] = 0x94F3 , + [21001] = 0x94F4 , + [21002] = 0x94F5 , + [21003] = 0x94F7 , + [21004] = 0x94F9 , + [21005] = 0x94FC , + [21006] = 0x94FD , + [21007] = 0x94FF , + [21008] = 0x9503 , + [21009] = 0x9502 , + [21010] = 0x9506 , + [21011] = 0x9507 , + [21012] = 0x9509 , + [21013] = 0x950A , + [21014] = 0x950D , + [21015] = 0x950E , + [21016] = 0x950F , + [21017] = 0x9512 , + [21018] = 0x9513 , + [21019] = 0x9514 , + [21020] = 0x9515 , + [21021] = 0x9516 , + [21022] = 0x9518 , + [21023] = 0x951B , + [21024] = 0x951D , + [21025] = 0x951E , + [21026] = 0x951F , + [21027] = 0x9522 , + [21028] = 0x952A , + [21029] = 0x952B , + [21030] = 0x9529 , + [21031] = 0x952C , + [21032] = 0x9531 , + [21033] = 0x9532 , + [21034] = 0x9534 , + [21035] = 0x9536 , + [21036] = 0x9537 , + [21037] = 0x9538 , + [21038] = 0x953C , + [21039] = 0x953E , + [21040] = 0x953F , + [21041] = 0x9542 , + [21042] = 0x9535 , + [21043] = 0x9544 , + [21044] = 0x9545 , + [21045] = 0x9546 , + [21046] = 0x9549 , + [21047] = 0x954C , + [21048] = 0x954E , + [21049] = 0x954F , + [21050] = 0x9552 , + [21051] = 0x9553 , + [21052] = 0x9554 , + [21053] = 0x9556 , + [21054] = 0x9557 , + [21055] = 0x9558 , + [21056] = 0x9559 , + [21057] = 0x955B , + [21058] = 0x955E , + [21059] = 0x955F , + [21060] = 0x955D , + [21061] = 0x9561 , + [21062] = 0x9562 , + [21063] = 0x9564 , + [21064] = 0x9565 , + [21065] = 0x9566 , + [21066] = 0x9567 , + [21067] = 0x9568 , + [21068] = 0x9569 , + [21069] = 0x956A , + [21070] = 0x956B , + [21071] = 0x956C , + [21072] = 0x956F , + [21073] = 0x9571 , + [21074] = 0x9572 , + [21075] = 0x9573 , + [21076] = 0x953A , + [21077] = 0x77E7 , + [21078] = 0x77EC , + [21079] = 0x96C9 , + [21080] = 0x79D5 , + [21081] = 0x79ED , + [21082] = 0x79E3 , + [21083] = 0x79EB , + [21084] = 0x7A06 , + [21085] = 0x5D47 , + [21086] = 0x7A03 , + [21087] = 0x7A02 , + [21088] = 0x7A1E , + [21089] = 0x7A14 , + [21090] = 0x9908 , + [21091] = 0x9909 , + [21092] = 0x990A , + [21093] = 0x990B , + [21094] = 0x990C , + [21095] = 0x990E , + [21096] = 0x990F , + [21097] = 0x9911 , + [21098] = 0x9912 , + [21099] = 0x9913 , + [21100] = 0x9914 , + [21101] = 0x9915 , + [21102] = 0x9916 , + [21103] = 0x9917 , + [21104] = 0x9918 , + [21105] = 0x9919 , + [21106] = 0x991A , + [21107] = 0x991B , + [21108] = 0x991C , + [21109] = 0x991D , + [21110] = 0x991E , + [21111] = 0x991F , + [21112] = 0x9920 , + [21113] = 0x9921 , + [21114] = 0x9922 , + [21115] = 0x9923 , + [21116] = 0x9924 , + [21117] = 0x9925 , + [21118] = 0x9926 , + [21119] = 0x9927 , + [21120] = 0x9928 , + [21121] = 0x9929 , + [21122] = 0x992A , + [21123] = 0x992B , + [21124] = 0x992C , + [21125] = 0x992D , + [21126] = 0x992F , + [21127] = 0x9930 , + [21128] = 0x9931 , + [21129] = 0x9932 , + [21130] = 0x9933 , + [21131] = 0x9934 , + [21132] = 0x9935 , + [21133] = 0x9936 , + [21134] = 0x9937 , + [21135] = 0x9938 , + [21136] = 0x9939 , + [21137] = 0x993A , + [21138] = 0x993B , + [21139] = 0x993C , + [21140] = 0x993D , + [21141] = 0x993E , + [21142] = 0x993F , + [21143] = 0x9940 , + [21144] = 0x9941 , + [21145] = 0x9942 , + [21146] = 0x9943 , + [21147] = 0x9944 , + [21148] = 0x9945 , + [21149] = 0x9946 , + [21150] = 0x9947 , + [21151] = 0x9948 , + [21152] = 0x9949 , + [21153] = 0x994A , + [21154] = 0x994B , + [21155] = 0x994C , + [21156] = 0x994D , + [21157] = 0x994E , + [21158] = 0x994F , + [21159] = 0x9950 , + [21160] = 0x9951 , + [21161] = 0x9952 , + [21162] = 0x9953 , + [21163] = 0x9956 , + [21164] = 0x9957 , + [21165] = 0x9958 , + [21166] = 0x9959 , + [21167] = 0x995A , + [21168] = 0x995B , + [21169] = 0x995C , + [21170] = 0x995D , + [21171] = 0x995E , + [21172] = 0x995F , + [21173] = 0x9960 , + [21174] = 0x9961 , + [21175] = 0x9962 , + [21176] = 0x9964 , + [21177] = 0x9966 , + [21178] = 0x9973 , + [21179] = 0x9978 , + [21180] = 0x9979 , + [21181] = 0x997B , + [21182] = 0x997E , + [21183] = 0x9982 , + [21184] = 0x9983 , + [21185] = 0x9989 , + [21186] = 0x7A39 , + [21187] = 0x7A37 , + [21188] = 0x7A51 , + [21189] = 0x9ECF , + [21190] = 0x99A5 , + [21191] = 0x7A70 , + [21192] = 0x7688 , + [21193] = 0x768E , + [21194] = 0x7693 , + [21195] = 0x7699 , + [21196] = 0x76A4 , + [21197] = 0x74DE , + [21198] = 0x74E0 , + [21199] = 0x752C , + [21200] = 0x9E20 , + [21201] = 0x9E22 , + [21202] = 0x9E28 , + [21203] = 0x9E29 , + [21204] = 0x9E2A , + [21205] = 0x9E2B , + [21206] = 0x9E2C , + [21207] = 0x9E32 , + [21208] = 0x9E31 , + [21209] = 0x9E36 , + [21210] = 0x9E38 , + [21211] = 0x9E37 , + [21212] = 0x9E39 , + [21213] = 0x9E3A , + [21214] = 0x9E3E , + [21215] = 0x9E41 , + [21216] = 0x9E42 , + [21217] = 0x9E44 , + [21218] = 0x9E46 , + [21219] = 0x9E47 , + [21220] = 0x9E48 , + [21221] = 0x9E49 , + [21222] = 0x9E4B , + [21223] = 0x9E4C , + [21224] = 0x9E4E , + [21225] = 0x9E51 , + [21226] = 0x9E55 , + [21227] = 0x9E57 , + [21228] = 0x9E5A , + [21229] = 0x9E5B , + [21230] = 0x9E5C , + [21231] = 0x9E5E , + [21232] = 0x9E63 , + [21233] = 0x9E66 , + [21234] = 0x9E67 , + [21235] = 0x9E68 , + [21236] = 0x9E69 , + [21237] = 0x9E6A , + [21238] = 0x9E6B , + [21239] = 0x9E6C , + [21240] = 0x9E71 , + [21241] = 0x9E6D , + [21242] = 0x9E73 , + [21243] = 0x7592 , + [21244] = 0x7594 , + [21245] = 0x7596 , + [21246] = 0x75A0 , + [21247] = 0x759D , + [21248] = 0x75AC , + [21249] = 0x75A3 , + [21250] = 0x75B3 , + [21251] = 0x75B4 , + [21252] = 0x75B8 , + [21253] = 0x75C4 , + [21254] = 0x75B1 , + [21255] = 0x75B0 , + [21256] = 0x75C3 , + [21257] = 0x75C2 , + [21258] = 0x75D6 , + [21259] = 0x75CD , + [21260] = 0x75E3 , + [21261] = 0x75E8 , + [21262] = 0x75E6 , + [21263] = 0x75E4 , + [21264] = 0x75EB , + [21265] = 0x75E7 , + [21266] = 0x7603 , + [21267] = 0x75F1 , + [21268] = 0x75FC , + [21269] = 0x75FF , + [21270] = 0x7610 , + [21271] = 0x7600 , + [21272] = 0x7605 , + [21273] = 0x760C , + [21274] = 0x7617 , + [21275] = 0x760A , + [21276] = 0x7625 , + [21277] = 0x7618 , + [21278] = 0x7615 , + [21279] = 0x7619 , + [21280] = 0x998C , + [21281] = 0x998E , + [21282] = 0x999A , + [21283] = 0x999B , + [21284] = 0x999C , + [21285] = 0x999D , + [21286] = 0x999E , + [21287] = 0x999F , + [21288] = 0x99A0 , + [21289] = 0x99A1 , + [21290] = 0x99A2 , + [21291] = 0x99A3 , + [21292] = 0x99A4 , + [21293] = 0x99A6 , + [21294] = 0x99A7 , + [21295] = 0x99A9 , + [21296] = 0x99AA , + [21297] = 0x99AB , + [21298] = 0x99AC , + [21299] = 0x99AD , + [21300] = 0x99AE , + [21301] = 0x99AF , + [21302] = 0x99B0 , + [21303] = 0x99B1 , + [21304] = 0x99B2 , + [21305] = 0x99B3 , + [21306] = 0x99B4 , + [21307] = 0x99B5 , + [21308] = 0x99B6 , + [21309] = 0x99B7 , + [21310] = 0x99B8 , + [21311] = 0x99B9 , + [21312] = 0x99BA , + [21313] = 0x99BB , + [21314] = 0x99BC , + [21315] = 0x99BD , + [21316] = 0x99BE , + [21317] = 0x99BF , + [21318] = 0x99C0 , + [21319] = 0x99C1 , + [21320] = 0x99C2 , + [21321] = 0x99C3 , + [21322] = 0x99C4 , + [21323] = 0x99C5 , + [21324] = 0x99C6 , + [21325] = 0x99C7 , + [21326] = 0x99C8 , + [21327] = 0x99C9 , + [21328] = 0x99CA , + [21329] = 0x99CB , + [21330] = 0x99CC , + [21331] = 0x99CD , + [21332] = 0x99CE , + [21333] = 0x99CF , + [21334] = 0x99D0 , + [21335] = 0x99D1 , + [21336] = 0x99D2 , + [21337] = 0x99D3 , + [21338] = 0x99D4 , + [21339] = 0x99D5 , + [21340] = 0x99D6 , + [21341] = 0x99D7 , + [21342] = 0x99D8 , + [21343] = 0x99D9 , + [21344] = 0x99DA , + [21345] = 0x99DB , + [21346] = 0x99DC , + [21347] = 0x99DD , + [21348] = 0x99DE , + [21349] = 0x99DF , + [21350] = 0x99E0 , + [21351] = 0x99E1 , + [21352] = 0x99E2 , + [21353] = 0x99E3 , + [21354] = 0x99E4 , + [21355] = 0x99E5 , + [21356] = 0x99E6 , + [21357] = 0x99E7 , + [21358] = 0x99E8 , + [21359] = 0x99E9 , + [21360] = 0x99EA , + [21361] = 0x99EB , + [21362] = 0x99EC , + [21363] = 0x99ED , + [21364] = 0x99EE , + [21365] = 0x99EF , + [21366] = 0x99F0 , + [21367] = 0x99F1 , + [21368] = 0x99F2 , + [21369] = 0x99F3 , + [21370] = 0x99F4 , + [21371] = 0x99F5 , + [21372] = 0x99F6 , + [21373] = 0x99F7 , + [21374] = 0x99F8 , + [21375] = 0x99F9 , + [21376] = 0x761B , + [21377] = 0x763C , + [21378] = 0x7622 , + [21379] = 0x7620 , + [21380] = 0x7640 , + [21381] = 0x762D , + [21382] = 0x7630 , + [21383] = 0x763F , + [21384] = 0x7635 , + [21385] = 0x7643 , + [21386] = 0x763E , + [21387] = 0x7633 , + [21388] = 0x764D , + [21389] = 0x765E , + [21390] = 0x7654 , + [21391] = 0x765C , + [21392] = 0x7656 , + [21393] = 0x766B , + [21394] = 0x766F , + [21395] = 0x7FCA , + [21396] = 0x7AE6 , + [21397] = 0x7A78 , + [21398] = 0x7A79 , + [21399] = 0x7A80 , + [21400] = 0x7A86 , + [21401] = 0x7A88 , + [21402] = 0x7A95 , + [21403] = 0x7AA6 , + [21404] = 0x7AA0 , + [21405] = 0x7AAC , + [21406] = 0x7AA8 , + [21407] = 0x7AAD , + [21408] = 0x7AB3 , + [21409] = 0x8864 , + [21410] = 0x8869 , + [21411] = 0x8872 , + [21412] = 0x887D , + [21413] = 0x887F , + [21414] = 0x8882 , + [21415] = 0x88A2 , + [21416] = 0x88C6 , + [21417] = 0x88B7 , + [21418] = 0x88BC , + [21419] = 0x88C9 , + [21420] = 0x88E2 , + [21421] = 0x88CE , + [21422] = 0x88E3 , + [21423] = 0x88E5 , + [21424] = 0x88F1 , + [21425] = 0x891A , + [21426] = 0x88FC , + [21427] = 0x88E8 , + [21428] = 0x88FE , + [21429] = 0x88F0 , + [21430] = 0x8921 , + [21431] = 0x8919 , + [21432] = 0x8913 , + [21433] = 0x891B , + [21434] = 0x890A , + [21435] = 0x8934 , + [21436] = 0x892B , + [21437] = 0x8936 , + [21438] = 0x8941 , + [21439] = 0x8966 , + [21440] = 0x897B , + [21441] = 0x758B , + [21442] = 0x80E5 , + [21443] = 0x76B2 , + [21444] = 0x76B4 , + [21445] = 0x77DC , + [21446] = 0x8012 , + [21447] = 0x8014 , + [21448] = 0x8016 , + [21449] = 0x801C , + [21450] = 0x8020 , + [21451] = 0x8022 , + [21452] = 0x8025 , + [21453] = 0x8026 , + [21454] = 0x8027 , + [21455] = 0x8029 , + [21456] = 0x8028 , + [21457] = 0x8031 , + [21458] = 0x800B , + [21459] = 0x8035 , + [21460] = 0x8043 , + [21461] = 0x8046 , + [21462] = 0x804D , + [21463] = 0x8052 , + [21464] = 0x8069 , + [21465] = 0x8071 , + [21466] = 0x8983 , + [21467] = 0x9878 , + [21468] = 0x9880 , + [21469] = 0x9883 , + [21470] = 0x99FA , + [21471] = 0x99FB , + [21472] = 0x99FC , + [21473] = 0x99FD , + [21474] = 0x99FE , + [21475] = 0x99FF , + [21476] = 0x9A00 , + [21477] = 0x9A01 , + [21478] = 0x9A02 , + [21479] = 0x9A03 , + [21480] = 0x9A04 , + [21481] = 0x9A05 , + [21482] = 0x9A06 , + [21483] = 0x9A07 , + [21484] = 0x9A08 , + [21485] = 0x9A09 , + [21486] = 0x9A0A , + [21487] = 0x9A0B , + [21488] = 0x9A0C , + [21489] = 0x9A0D , + [21490] = 0x9A0E , + [21491] = 0x9A0F , + [21492] = 0x9A10 , + [21493] = 0x9A11 , + [21494] = 0x9A12 , + [21495] = 0x9A13 , + [21496] = 0x9A14 , + [21497] = 0x9A15 , + [21498] = 0x9A16 , + [21499] = 0x9A17 , + [21500] = 0x9A18 , + [21501] = 0x9A19 , + [21502] = 0x9A1A , + [21503] = 0x9A1B , + [21504] = 0x9A1C , + [21505] = 0x9A1D , + [21506] = 0x9A1E , + [21507] = 0x9A1F , + [21508] = 0x9A20 , + [21509] = 0x9A21 , + [21510] = 0x9A22 , + [21511] = 0x9A23 , + [21512] = 0x9A24 , + [21513] = 0x9A25 , + [21514] = 0x9A26 , + [21515] = 0x9A27 , + [21516] = 0x9A28 , + [21517] = 0x9A29 , + [21518] = 0x9A2A , + [21519] = 0x9A2B , + [21520] = 0x9A2C , + [21521] = 0x9A2D , + [21522] = 0x9A2E , + [21523] = 0x9A2F , + [21524] = 0x9A30 , + [21525] = 0x9A31 , + [21526] = 0x9A32 , + [21527] = 0x9A33 , + [21528] = 0x9A34 , + [21529] = 0x9A35 , + [21530] = 0x9A36 , + [21531] = 0x9A37 , + [21532] = 0x9A38 , + [21533] = 0x9A39 , + [21534] = 0x9A3A , + [21535] = 0x9A3B , + [21536] = 0x9A3C , + [21537] = 0x9A3D , + [21538] = 0x9A3E , + [21539] = 0x9A3F , + [21540] = 0x9A40 , + [21541] = 0x9A41 , + [21542] = 0x9A42 , + [21543] = 0x9A43 , + [21544] = 0x9A44 , + [21545] = 0x9A45 , + [21546] = 0x9A46 , + [21547] = 0x9A47 , + [21548] = 0x9A48 , + [21549] = 0x9A49 , + [21550] = 0x9A4A , + [21551] = 0x9A4B , + [21552] = 0x9A4C , + [21553] = 0x9A4D , + [21554] = 0x9A4E , + [21555] = 0x9A4F , + [21556] = 0x9A50 , + [21557] = 0x9A51 , + [21558] = 0x9A52 , + [21559] = 0x9A53 , + [21560] = 0x9A54 , + [21561] = 0x9A55 , + [21562] = 0x9A56 , + [21563] = 0x9A57 , + [21564] = 0x9A58 , + [21565] = 0x9A59 , + [21566] = 0x9889 , + [21567] = 0x988C , + [21568] = 0x988D , + [21569] = 0x988F , + [21570] = 0x9894 , + [21571] = 0x989A , + [21572] = 0x989B , + [21573] = 0x989E , + [21574] = 0x989F , + [21575] = 0x98A1 , + [21576] = 0x98A2 , + [21577] = 0x98A5 , + [21578] = 0x98A6 , + [21579] = 0x864D , + [21580] = 0x8654 , + [21581] = 0x866C , + [21582] = 0x866E , + [21583] = 0x867F , + [21584] = 0x867A , + [21585] = 0x867C , + [21586] = 0x867B , + [21587] = 0x86A8 , + [21588] = 0x868D , + [21589] = 0x868B , + [21590] = 0x86AC , + [21591] = 0x869D , + [21592] = 0x86A7 , + [21593] = 0x86A3 , + [21594] = 0x86AA , + [21595] = 0x8693 , + [21596] = 0x86A9 , + [21597] = 0x86B6 , + [21598] = 0x86C4 , + [21599] = 0x86B5 , + [21600] = 0x86CE , + [21601] = 0x86B0 , + [21602] = 0x86BA , + [21603] = 0x86B1 , + [21604] = 0x86AF , + [21605] = 0x86C9 , + [21606] = 0x86CF , + [21607] = 0x86B4 , + [21608] = 0x86E9 , + [21609] = 0x86F1 , + [21610] = 0x86F2 , + [21611] = 0x86ED , + [21612] = 0x86F3 , + [21613] = 0x86D0 , + [21614] = 0x8713 , + [21615] = 0x86DE , + [21616] = 0x86F4 , + [21617] = 0x86DF , + [21618] = 0x86D8 , + [21619] = 0x86D1 , + [21620] = 0x8703 , + [21621] = 0x8707 , + [21622] = 0x86F8 , + [21623] = 0x8708 , + [21624] = 0x870A , + [21625] = 0x870D , + [21626] = 0x8709 , + [21627] = 0x8723 , + [21628] = 0x873B , + [21629] = 0x871E , + [21630] = 0x8725 , + [21631] = 0x872E , + [21632] = 0x871A , + [21633] = 0x873E , + [21634] = 0x8748 , + [21635] = 0x8734 , + [21636] = 0x8731 , + [21637] = 0x8729 , + [21638] = 0x8737 , + [21639] = 0x873F , + [21640] = 0x8782 , + [21641] = 0x8722 , + [21642] = 0x877D , + [21643] = 0x877E , + [21644] = 0x877B , + [21645] = 0x8760 , + [21646] = 0x8770 , + [21647] = 0x874C , + [21648] = 0x876E , + [21649] = 0x878B , + [21650] = 0x8753 , + [21651] = 0x8763 , + [21652] = 0x877C , + [21653] = 0x8764 , + [21654] = 0x8759 , + [21655] = 0x8765 , + [21656] = 0x8793 , + [21657] = 0x87AF , + [21658] = 0x87A8 , + [21659] = 0x87D2 , + [21660] = 0x9A5A , + [21661] = 0x9A5B , + [21662] = 0x9A5C , + [21663] = 0x9A5D , + [21664] = 0x9A5E , + [21665] = 0x9A5F , + [21666] = 0x9A60 , + [21667] = 0x9A61 , + [21668] = 0x9A62 , + [21669] = 0x9A63 , + [21670] = 0x9A64 , + [21671] = 0x9A65 , + [21672] = 0x9A66 , + [21673] = 0x9A67 , + [21674] = 0x9A68 , + [21675] = 0x9A69 , + [21676] = 0x9A6A , + [21677] = 0x9A6B , + [21678] = 0x9A72 , + [21679] = 0x9A83 , + [21680] = 0x9A89 , + [21681] = 0x9A8D , + [21682] = 0x9A8E , + [21683] = 0x9A94 , + [21684] = 0x9A95 , + [21685] = 0x9A99 , + [21686] = 0x9AA6 , + [21687] = 0x9AA9 , + [21688] = 0x9AAA , + [21689] = 0x9AAB , + [21690] = 0x9AAC , + [21691] = 0x9AAD , + [21692] = 0x9AAE , + [21693] = 0x9AAF , + [21694] = 0x9AB2 , + [21695] = 0x9AB3 , + [21696] = 0x9AB4 , + [21697] = 0x9AB5 , + [21698] = 0x9AB9 , + [21699] = 0x9ABB , + [21700] = 0x9ABD , + [21701] = 0x9ABE , + [21702] = 0x9ABF , + [21703] = 0x9AC3 , + [21704] = 0x9AC4 , + [21705] = 0x9AC6 , + [21706] = 0x9AC7 , + [21707] = 0x9AC8 , + [21708] = 0x9AC9 , + [21709] = 0x9ACA , + [21710] = 0x9ACD , + [21711] = 0x9ACE , + [21712] = 0x9ACF , + [21713] = 0x9AD0 , + [21714] = 0x9AD2 , + [21715] = 0x9AD4 , + [21716] = 0x9AD5 , + [21717] = 0x9AD6 , + [21718] = 0x9AD7 , + [21719] = 0x9AD9 , + [21720] = 0x9ADA , + [21721] = 0x9ADB , + [21722] = 0x9ADC , + [21723] = 0x9ADD , + [21724] = 0x9ADE , + [21725] = 0x9AE0 , + [21726] = 0x9AE2 , + [21727] = 0x9AE3 , + [21728] = 0x9AE4 , + [21729] = 0x9AE5 , + [21730] = 0x9AE7 , + [21731] = 0x9AE8 , + [21732] = 0x9AE9 , + [21733] = 0x9AEA , + [21734] = 0x9AEC , + [21735] = 0x9AEE , + [21736] = 0x9AF0 , + [21737] = 0x9AF1 , + [21738] = 0x9AF2 , + [21739] = 0x9AF3 , + [21740] = 0x9AF4 , + [21741] = 0x9AF5 , + [21742] = 0x9AF6 , + [21743] = 0x9AF7 , + [21744] = 0x9AF8 , + [21745] = 0x9AFA , + [21746] = 0x9AFC , + [21747] = 0x9AFD , + [21748] = 0x9AFE , + [21749] = 0x9AFF , + [21750] = 0x9B00 , + [21751] = 0x9B01 , + [21752] = 0x9B02 , + [21753] = 0x9B04 , + [21754] = 0x9B05 , + [21755] = 0x9B06 , + [21756] = 0x87C6 , + [21757] = 0x8788 , + [21758] = 0x8785 , + [21759] = 0x87AD , + [21760] = 0x8797 , + [21761] = 0x8783 , + [21762] = 0x87AB , + [21763] = 0x87E5 , + [21764] = 0x87AC , + [21765] = 0x87B5 , + [21766] = 0x87B3 , + [21767] = 0x87CB , + [21768] = 0x87D3 , + [21769] = 0x87BD , + [21770] = 0x87D1 , + [21771] = 0x87C0 , + [21772] = 0x87CA , + [21773] = 0x87DB , + [21774] = 0x87EA , + [21775] = 0x87E0 , + [21776] = 0x87EE , + [21777] = 0x8816 , + [21778] = 0x8813 , + [21779] = 0x87FE , + [21780] = 0x880A , + [21781] = 0x881B , + [21782] = 0x8821 , + [21783] = 0x8839 , + [21784] = 0x883C , + [21785] = 0x7F36 , + [21786] = 0x7F42 , + [21787] = 0x7F44 , + [21788] = 0x7F45 , + [21789] = 0x8210 , + [21790] = 0x7AFA , + [21791] = 0x7AFD , + [21792] = 0x7B08 , + [21793] = 0x7B03 , + [21794] = 0x7B04 , + [21795] = 0x7B15 , + [21796] = 0x7B0A , + [21797] = 0x7B2B , + [21798] = 0x7B0F , + [21799] = 0x7B47 , + [21800] = 0x7B38 , + [21801] = 0x7B2A , + [21802] = 0x7B19 , + [21803] = 0x7B2E , + [21804] = 0x7B31 , + [21805] = 0x7B20 , + [21806] = 0x7B25 , + [21807] = 0x7B24 , + [21808] = 0x7B33 , + [21809] = 0x7B3E , + [21810] = 0x7B1E , + [21811] = 0x7B58 , + [21812] = 0x7B5A , + [21813] = 0x7B45 , + [21814] = 0x7B75 , + [21815] = 0x7B4C , + [21816] = 0x7B5D , + [21817] = 0x7B60 , + [21818] = 0x7B6E , + [21819] = 0x7B7B , + [21820] = 0x7B62 , + [21821] = 0x7B72 , + [21822] = 0x7B71 , + [21823] = 0x7B90 , + [21824] = 0x7BA6 , + [21825] = 0x7BA7 , + [21826] = 0x7BB8 , + [21827] = 0x7BAC , + [21828] = 0x7B9D , + [21829] = 0x7BA8 , + [21830] = 0x7B85 , + [21831] = 0x7BAA , + [21832] = 0x7B9C , + [21833] = 0x7BA2 , + [21834] = 0x7BAB , + [21835] = 0x7BB4 , + [21836] = 0x7BD1 , + [21837] = 0x7BC1 , + [21838] = 0x7BCC , + [21839] = 0x7BDD , + [21840] = 0x7BDA , + [21841] = 0x7BE5 , + [21842] = 0x7BE6 , + [21843] = 0x7BEA , + [21844] = 0x7C0C , + [21845] = 0x7BFE , + [21846] = 0x7BFC , + [21847] = 0x7C0F , + [21848] = 0x7C16 , + [21849] = 0x7C0B , + [21850] = 0x9B07 , + [21851] = 0x9B09 , + [21852] = 0x9B0A , + [21853] = 0x9B0B , + [21854] = 0x9B0C , + [21855] = 0x9B0D , + [21856] = 0x9B0E , + [21857] = 0x9B10 , + [21858] = 0x9B11 , + [21859] = 0x9B12 , + [21860] = 0x9B14 , + [21861] = 0x9B15 , + [21862] = 0x9B16 , + [21863] = 0x9B17 , + [21864] = 0x9B18 , + [21865] = 0x9B19 , + [21866] = 0x9B1A , + [21867] = 0x9B1B , + [21868] = 0x9B1C , + [21869] = 0x9B1D , + [21870] = 0x9B1E , + [21871] = 0x9B20 , + [21872] = 0x9B21 , + [21873] = 0x9B22 , + [21874] = 0x9B24 , + [21875] = 0x9B25 , + [21876] = 0x9B26 , + [21877] = 0x9B27 , + [21878] = 0x9B28 , + [21879] = 0x9B29 , + [21880] = 0x9B2A , + [21881] = 0x9B2B , + [21882] = 0x9B2C , + [21883] = 0x9B2D , + [21884] = 0x9B2E , + [21885] = 0x9B30 , + [21886] = 0x9B31 , + [21887] = 0x9B33 , + [21888] = 0x9B34 , + [21889] = 0x9B35 , + [21890] = 0x9B36 , + [21891] = 0x9B37 , + [21892] = 0x9B38 , + [21893] = 0x9B39 , + [21894] = 0x9B3A , + [21895] = 0x9B3D , + [21896] = 0x9B3E , + [21897] = 0x9B3F , + [21898] = 0x9B40 , + [21899] = 0x9B46 , + [21900] = 0x9B4A , + [21901] = 0x9B4B , + [21902] = 0x9B4C , + [21903] = 0x9B4E , + [21904] = 0x9B50 , + [21905] = 0x9B52 , + [21906] = 0x9B53 , + [21907] = 0x9B55 , + [21908] = 0x9B56 , + [21909] = 0x9B57 , + [21910] = 0x9B58 , + [21911] = 0x9B59 , + [21912] = 0x9B5A , + [21913] = 0x9B5B , + [21914] = 0x9B5C , + [21915] = 0x9B5D , + [21916] = 0x9B5E , + [21917] = 0x9B5F , + [21918] = 0x9B60 , + [21919] = 0x9B61 , + [21920] = 0x9B62 , + [21921] = 0x9B63 , + [21922] = 0x9B64 , + [21923] = 0x9B65 , + [21924] = 0x9B66 , + [21925] = 0x9B67 , + [21926] = 0x9B68 , + [21927] = 0x9B69 , + [21928] = 0x9B6A , + [21929] = 0x9B6B , + [21930] = 0x9B6C , + [21931] = 0x9B6D , + [21932] = 0x9B6E , + [21933] = 0x9B6F , + [21934] = 0x9B70 , + [21935] = 0x9B71 , + [21936] = 0x9B72 , + [21937] = 0x9B73 , + [21938] = 0x9B74 , + [21939] = 0x9B75 , + [21940] = 0x9B76 , + [21941] = 0x9B77 , + [21942] = 0x9B78 , + [21943] = 0x9B79 , + [21944] = 0x9B7A , + [21945] = 0x9B7B , + [21946] = 0x7C1F , + [21947] = 0x7C2A , + [21948] = 0x7C26 , + [21949] = 0x7C38 , + [21950] = 0x7C41 , + [21951] = 0x7C40 , + [21952] = 0x81FE , + [21953] = 0x8201 , + [21954] = 0x8202 , + [21955] = 0x8204 , + [21956] = 0x81EC , + [21957] = 0x8844 , + [21958] = 0x8221 , + [21959] = 0x8222 , + [21960] = 0x8223 , + [21961] = 0x822D , + [21962] = 0x822F , + [21963] = 0x8228 , + [21964] = 0x822B , + [21965] = 0x8238 , + [21966] = 0x823B , + [21967] = 0x8233 , + [21968] = 0x8234 , + [21969] = 0x823E , + [21970] = 0x8244 , + [21971] = 0x8249 , + [21972] = 0x824B , + [21973] = 0x824F , + [21974] = 0x825A , + [21975] = 0x825F , + [21976] = 0x8268 , + [21977] = 0x887E , + [21978] = 0x8885 , + [21979] = 0x8888 , + [21980] = 0x88D8 , + [21981] = 0x88DF , + [21982] = 0x895E , + [21983] = 0x7F9D , + [21984] = 0x7F9F , + [21985] = 0x7FA7 , + [21986] = 0x7FAF , + [21987] = 0x7FB0 , + [21988] = 0x7FB2 , + [21989] = 0x7C7C , + [21990] = 0x6549 , + [21991] = 0x7C91 , + [21992] = 0x7C9D , + [21993] = 0x7C9C , + [21994] = 0x7C9E , + [21995] = 0x7CA2 , + [21996] = 0x7CB2 , + [21997] = 0x7CBC , + [21998] = 0x7CBD , + [21999] = 0x7CC1 , + [22000] = 0x7CC7 , + [22001] = 0x7CCC , + [22002] = 0x7CCD , + [22003] = 0x7CC8 , + [22004] = 0x7CC5 , + [22005] = 0x7CD7 , + [22006] = 0x7CE8 , + [22007] = 0x826E , + [22008] = 0x66A8 , + [22009] = 0x7FBF , + [22010] = 0x7FCE , + [22011] = 0x7FD5 , + [22012] = 0x7FE5 , + [22013] = 0x7FE1 , + [22014] = 0x7FE6 , + [22015] = 0x7FE9 , + [22016] = 0x7FEE , + [22017] = 0x7FF3 , + [22018] = 0x7CF8 , + [22019] = 0x7D77 , + [22020] = 0x7DA6 , + [22021] = 0x7DAE , + [22022] = 0x7E47 , + [22023] = 0x7E9B , + [22024] = 0x9EB8 , + [22025] = 0x9EB4 , + [22026] = 0x8D73 , + [22027] = 0x8D84 , + [22028] = 0x8D94 , + [22029] = 0x8D91 , + [22030] = 0x8DB1 , + [22031] = 0x8D67 , + [22032] = 0x8D6D , + [22033] = 0x8C47 , + [22034] = 0x8C49 , + [22035] = 0x914A , + [22036] = 0x9150 , + [22037] = 0x914E , + [22038] = 0x914F , + [22039] = 0x9164 , + [22040] = 0x9B7C , + [22041] = 0x9B7D , + [22042] = 0x9B7E , + [22043] = 0x9B7F , + [22044] = 0x9B80 , + [22045] = 0x9B81 , + [22046] = 0x9B82 , + [22047] = 0x9B83 , + [22048] = 0x9B84 , + [22049] = 0x9B85 , + [22050] = 0x9B86 , + [22051] = 0x9B87 , + [22052] = 0x9B88 , + [22053] = 0x9B89 , + [22054] = 0x9B8A , + [22055] = 0x9B8B , + [22056] = 0x9B8C , + [22057] = 0x9B8D , + [22058] = 0x9B8E , + [22059] = 0x9B8F , + [22060] = 0x9B90 , + [22061] = 0x9B91 , + [22062] = 0x9B92 , + [22063] = 0x9B93 , + [22064] = 0x9B94 , + [22065] = 0x9B95 , + [22066] = 0x9B96 , + [22067] = 0x9B97 , + [22068] = 0x9B98 , + [22069] = 0x9B99 , + [22070] = 0x9B9A , + [22071] = 0x9B9B , + [22072] = 0x9B9C , + [22073] = 0x9B9D , + [22074] = 0x9B9E , + [22075] = 0x9B9F , + [22076] = 0x9BA0 , + [22077] = 0x9BA1 , + [22078] = 0x9BA2 , + [22079] = 0x9BA3 , + [22080] = 0x9BA4 , + [22081] = 0x9BA5 , + [22082] = 0x9BA6 , + [22083] = 0x9BA7 , + [22084] = 0x9BA8 , + [22085] = 0x9BA9 , + [22086] = 0x9BAA , + [22087] = 0x9BAB , + [22088] = 0x9BAC , + [22089] = 0x9BAD , + [22090] = 0x9BAE , + [22091] = 0x9BAF , + [22092] = 0x9BB0 , + [22093] = 0x9BB1 , + [22094] = 0x9BB2 , + [22095] = 0x9BB3 , + [22096] = 0x9BB4 , + [22097] = 0x9BB5 , + [22098] = 0x9BB6 , + [22099] = 0x9BB7 , + [22100] = 0x9BB8 , + [22101] = 0x9BB9 , + [22102] = 0x9BBA , + [22103] = 0x9BBB , + [22104] = 0x9BBC , + [22105] = 0x9BBD , + [22106] = 0x9BBE , + [22107] = 0x9BBF , + [22108] = 0x9BC0 , + [22109] = 0x9BC1 , + [22110] = 0x9BC2 , + [22111] = 0x9BC3 , + [22112] = 0x9BC4 , + [22113] = 0x9BC5 , + [22114] = 0x9BC6 , + [22115] = 0x9BC7 , + [22116] = 0x9BC8 , + [22117] = 0x9BC9 , + [22118] = 0x9BCA , + [22119] = 0x9BCB , + [22120] = 0x9BCC , + [22121] = 0x9BCD , + [22122] = 0x9BCE , + [22123] = 0x9BCF , + [22124] = 0x9BD0 , + [22125] = 0x9BD1 , + [22126] = 0x9BD2 , + [22127] = 0x9BD3 , + [22128] = 0x9BD4 , + [22129] = 0x9BD5 , + [22130] = 0x9BD6 , + [22131] = 0x9BD7 , + [22132] = 0x9BD8 , + [22133] = 0x9BD9 , + [22134] = 0x9BDA , + [22135] = 0x9BDB , + [22136] = 0x9162 , + [22137] = 0x9161 , + [22138] = 0x9170 , + [22139] = 0x9169 , + [22140] = 0x916F , + [22141] = 0x917D , + [22142] = 0x917E , + [22143] = 0x9172 , + [22144] = 0x9174 , + [22145] = 0x9179 , + [22146] = 0x918C , + [22147] = 0x9185 , + [22148] = 0x9190 , + [22149] = 0x918D , + [22150] = 0x9191 , + [22151] = 0x91A2 , + [22152] = 0x91A3 , + [22153] = 0x91AA , + [22154] = 0x91AD , + [22155] = 0x91AE , + [22156] = 0x91AF , + [22157] = 0x91B5 , + [22158] = 0x91B4 , + [22159] = 0x91BA , + [22160] = 0x8C55 , + [22161] = 0x9E7E , + [22162] = 0x8DB8 , + [22163] = 0x8DEB , + [22164] = 0x8E05 , + [22165] = 0x8E59 , + [22166] = 0x8E69 , + [22167] = 0x8DB5 , + [22168] = 0x8DBF , + [22169] = 0x8DBC , + [22170] = 0x8DBA , + [22171] = 0x8DC4 , + [22172] = 0x8DD6 , + [22173] = 0x8DD7 , + [22174] = 0x8DDA , + [22175] = 0x8DDE , + [22176] = 0x8DCE , + [22177] = 0x8DCF , + [22178] = 0x8DDB , + [22179] = 0x8DC6 , + [22180] = 0x8DEC , + [22181] = 0x8DF7 , + [22182] = 0x8DF8 , + [22183] = 0x8DE3 , + [22184] = 0x8DF9 , + [22185] = 0x8DFB , + [22186] = 0x8DE4 , + [22187] = 0x8E09 , + [22188] = 0x8DFD , + [22189] = 0x8E14 , + [22190] = 0x8E1D , + [22191] = 0x8E1F , + [22192] = 0x8E2C , + [22193] = 0x8E2E , + [22194] = 0x8E23 , + [22195] = 0x8E2F , + [22196] = 0x8E3A , + [22197] = 0x8E40 , + [22198] = 0x8E39 , + [22199] = 0x8E35 , + [22200] = 0x8E3D , + [22201] = 0x8E31 , + [22202] = 0x8E49 , + [22203] = 0x8E41 , + [22204] = 0x8E42 , + [22205] = 0x8E51 , + [22206] = 0x8E52 , + [22207] = 0x8E4A , + [22208] = 0x8E70 , + [22209] = 0x8E76 , + [22210] = 0x8E7C , + [22211] = 0x8E6F , + [22212] = 0x8E74 , + [22213] = 0x8E85 , + [22214] = 0x8E8F , + [22215] = 0x8E94 , + [22216] = 0x8E90 , + [22217] = 0x8E9C , + [22218] = 0x8E9E , + [22219] = 0x8C78 , + [22220] = 0x8C82 , + [22221] = 0x8C8A , + [22222] = 0x8C85 , + [22223] = 0x8C98 , + [22224] = 0x8C94 , + [22225] = 0x659B , + [22226] = 0x89D6 , + [22227] = 0x89DE , + [22228] = 0x89DA , + [22229] = 0x89DC , + [22230] = 0x9BDC , + [22231] = 0x9BDD , + [22232] = 0x9BDE , + [22233] = 0x9BDF , + [22234] = 0x9BE0 , + [22235] = 0x9BE1 , + [22236] = 0x9BE2 , + [22237] = 0x9BE3 , + [22238] = 0x9BE4 , + [22239] = 0x9BE5 , + [22240] = 0x9BE6 , + [22241] = 0x9BE7 , + [22242] = 0x9BE8 , + [22243] = 0x9BE9 , + [22244] = 0x9BEA , + [22245] = 0x9BEB , + [22246] = 0x9BEC , + [22247] = 0x9BED , + [22248] = 0x9BEE , + [22249] = 0x9BEF , + [22250] = 0x9BF0 , + [22251] = 0x9BF1 , + [22252] = 0x9BF2 , + [22253] = 0x9BF3 , + [22254] = 0x9BF4 , + [22255] = 0x9BF5 , + [22256] = 0x9BF6 , + [22257] = 0x9BF7 , + [22258] = 0x9BF8 , + [22259] = 0x9BF9 , + [22260] = 0x9BFA , + [22261] = 0x9BFB , + [22262] = 0x9BFC , + [22263] = 0x9BFD , + [22264] = 0x9BFE , + [22265] = 0x9BFF , + [22266] = 0x9C00 , + [22267] = 0x9C01 , + [22268] = 0x9C02 , + [22269] = 0x9C03 , + [22270] = 0x9C04 , + [22271] = 0x9C05 , + [22272] = 0x9C06 , + [22273] = 0x9C07 , + [22274] = 0x9C08 , + [22275] = 0x9C09 , + [22276] = 0x9C0A , + [22277] = 0x9C0B , + [22278] = 0x9C0C , + [22279] = 0x9C0D , + [22280] = 0x9C0E , + [22281] = 0x9C0F , + [22282] = 0x9C10 , + [22283] = 0x9C11 , + [22284] = 0x9C12 , + [22285] = 0x9C13 , + [22286] = 0x9C14 , + [22287] = 0x9C15 , + [22288] = 0x9C16 , + [22289] = 0x9C17 , + [22290] = 0x9C18 , + [22291] = 0x9C19 , + [22292] = 0x9C1A , + [22293] = 0x9C1B , + [22294] = 0x9C1C , + [22295] = 0x9C1D , + [22296] = 0x9C1E , + [22297] = 0x9C1F , + [22298] = 0x9C20 , + [22299] = 0x9C21 , + [22300] = 0x9C22 , + [22301] = 0x9C23 , + [22302] = 0x9C24 , + [22303] = 0x9C25 , + [22304] = 0x9C26 , + [22305] = 0x9C27 , + [22306] = 0x9C28 , + [22307] = 0x9C29 , + [22308] = 0x9C2A , + [22309] = 0x9C2B , + [22310] = 0x9C2C , + [22311] = 0x9C2D , + [22312] = 0x9C2E , + [22313] = 0x9C2F , + [22314] = 0x9C30 , + [22315] = 0x9C31 , + [22316] = 0x9C32 , + [22317] = 0x9C33 , + [22318] = 0x9C34 , + [22319] = 0x9C35 , + [22320] = 0x9C36 , + [22321] = 0x9C37 , + [22322] = 0x9C38 , + [22323] = 0x9C39 , + [22324] = 0x9C3A , + [22325] = 0x9C3B , + [22326] = 0x89E5 , + [22327] = 0x89EB , + [22328] = 0x89EF , + [22329] = 0x8A3E , + [22330] = 0x8B26 , + [22331] = 0x9753 , + [22332] = 0x96E9 , + [22333] = 0x96F3 , + [22334] = 0x96EF , + [22335] = 0x9706 , + [22336] = 0x9701 , + [22337] = 0x9708 , + [22338] = 0x970F , + [22339] = 0x970E , + [22340] = 0x972A , + [22341] = 0x972D , + [22342] = 0x9730 , + [22343] = 0x973E , + [22344] = 0x9F80 , + [22345] = 0x9F83 , + [22346] = 0x9F85 , + [22347] = 0x9F86 , + [22348] = 0x9F87 , + [22349] = 0x9F88 , + [22350] = 0x9F89 , + [22351] = 0x9F8A , + [22352] = 0x9F8C , + [22353] = 0x9EFE , + [22354] = 0x9F0B , + [22355] = 0x9F0D , + [22356] = 0x96B9 , + [22357] = 0x96BC , + [22358] = 0x96BD , + [22359] = 0x96CE , + [22360] = 0x96D2 , + [22361] = 0x77BF , + [22362] = 0x96E0 , + [22363] = 0x928E , + [22364] = 0x92AE , + [22365] = 0x92C8 , + [22366] = 0x933E , + [22367] = 0x936A , + [22368] = 0x93CA , + [22369] = 0x938F , + [22370] = 0x943E , + [22371] = 0x946B , + [22372] = 0x9C7F , + [22373] = 0x9C82 , + [22374] = 0x9C85 , + [22375] = 0x9C86 , + [22376] = 0x9C87 , + [22377] = 0x9C88 , + [22378] = 0x7A23 , + [22379] = 0x9C8B , + [22380] = 0x9C8E , + [22381] = 0x9C90 , + [22382] = 0x9C91 , + [22383] = 0x9C92 , + [22384] = 0x9C94 , + [22385] = 0x9C95 , + [22386] = 0x9C9A , + [22387] = 0x9C9B , + [22388] = 0x9C9E , + [22389] = 0x9C9F , + [22390] = 0x9CA0 , + [22391] = 0x9CA1 , + [22392] = 0x9CA2 , + [22393] = 0x9CA3 , + [22394] = 0x9CA5 , + [22395] = 0x9CA6 , + [22396] = 0x9CA7 , + [22397] = 0x9CA8 , + [22398] = 0x9CA9 , + [22399] = 0x9CAB , + [22400] = 0x9CAD , + [22401] = 0x9CAE , + [22402] = 0x9CB0 , + [22403] = 0x9CB1 , + [22404] = 0x9CB2 , + [22405] = 0x9CB3 , + [22406] = 0x9CB4 , + [22407] = 0x9CB5 , + [22408] = 0x9CB6 , + [22409] = 0x9CB7 , + [22410] = 0x9CBA , + [22411] = 0x9CBB , + [22412] = 0x9CBC , + [22413] = 0x9CBD , + [22414] = 0x9CC4 , + [22415] = 0x9CC5 , + [22416] = 0x9CC6 , + [22417] = 0x9CC7 , + [22418] = 0x9CCA , + [22419] = 0x9CCB , + [22420] = 0x9C3C , + [22421] = 0x9C3D , + [22422] = 0x9C3E , + [22423] = 0x9C3F , + [22424] = 0x9C40 , + [22425] = 0x9C41 , + [22426] = 0x9C42 , + [22427] = 0x9C43 , + [22428] = 0x9C44 , + [22429] = 0x9C45 , + [22430] = 0x9C46 , + [22431] = 0x9C47 , + [22432] = 0x9C48 , + [22433] = 0x9C49 , + [22434] = 0x9C4A , + [22435] = 0x9C4B , + [22436] = 0x9C4C , + [22437] = 0x9C4D , + [22438] = 0x9C4E , + [22439] = 0x9C4F , + [22440] = 0x9C50 , + [22441] = 0x9C51 , + [22442] = 0x9C52 , + [22443] = 0x9C53 , + [22444] = 0x9C54 , + [22445] = 0x9C55 , + [22446] = 0x9C56 , + [22447] = 0x9C57 , + [22448] = 0x9C58 , + [22449] = 0x9C59 , + [22450] = 0x9C5A , + [22451] = 0x9C5B , + [22452] = 0x9C5C , + [22453] = 0x9C5D , + [22454] = 0x9C5E , + [22455] = 0x9C5F , + [22456] = 0x9C60 , + [22457] = 0x9C61 , + [22458] = 0x9C62 , + [22459] = 0x9C63 , + [22460] = 0x9C64 , + [22461] = 0x9C65 , + [22462] = 0x9C66 , + [22463] = 0x9C67 , + [22464] = 0x9C68 , + [22465] = 0x9C69 , + [22466] = 0x9C6A , + [22467] = 0x9C6B , + [22468] = 0x9C6C , + [22469] = 0x9C6D , + [22470] = 0x9C6E , + [22471] = 0x9C6F , + [22472] = 0x9C70 , + [22473] = 0x9C71 , + [22474] = 0x9C72 , + [22475] = 0x9C73 , + [22476] = 0x9C74 , + [22477] = 0x9C75 , + [22478] = 0x9C76 , + [22479] = 0x9C77 , + [22480] = 0x9C78 , + [22481] = 0x9C79 , + [22482] = 0x9C7A , + [22483] = 0x9C7B , + [22484] = 0x9C7D , + [22485] = 0x9C7E , + [22486] = 0x9C80 , + [22487] = 0x9C83 , + [22488] = 0x9C84 , + [22489] = 0x9C89 , + [22490] = 0x9C8A , + [22491] = 0x9C8C , + [22492] = 0x9C8F , + [22493] = 0x9C93 , + [22494] = 0x9C96 , + [22495] = 0x9C97 , + [22496] = 0x9C98 , + [22497] = 0x9C99 , + [22498] = 0x9C9D , + [22499] = 0x9CAA , + [22500] = 0x9CAC , + [22501] = 0x9CAF , + [22502] = 0x9CB9 , + [22503] = 0x9CBE , + [22504] = 0x9CBF , + [22505] = 0x9CC0 , + [22506] = 0x9CC1 , + [22507] = 0x9CC2 , + [22508] = 0x9CC8 , + [22509] = 0x9CC9 , + [22510] = 0x9CD1 , + [22511] = 0x9CD2 , + [22512] = 0x9CDA , + [22513] = 0x9CDB , + [22514] = 0x9CE0 , + [22515] = 0x9CE1 , + [22516] = 0x9CCC , + [22517] = 0x9CCD , + [22518] = 0x9CCE , + [22519] = 0x9CCF , + [22520] = 0x9CD0 , + [22521] = 0x9CD3 , + [22522] = 0x9CD4 , + [22523] = 0x9CD5 , + [22524] = 0x9CD7 , + [22525] = 0x9CD8 , + [22526] = 0x9CD9 , + [22527] = 0x9CDC , + [22528] = 0x9CDD , + [22529] = 0x9CDF , + [22530] = 0x9CE2 , + [22531] = 0x977C , + [22532] = 0x9785 , + [22533] = 0x9791 , + [22534] = 0x9792 , + [22535] = 0x9794 , + [22536] = 0x97AF , + [22537] = 0x97AB , + [22538] = 0x97A3 , + [22539] = 0x97B2 , + [22540] = 0x97B4 , + [22541] = 0x9AB1 , + [22542] = 0x9AB0 , + [22543] = 0x9AB7 , + [22544] = 0x9E58 , + [22545] = 0x9AB6 , + [22546] = 0x9ABA , + [22547] = 0x9ABC , + [22548] = 0x9AC1 , + [22549] = 0x9AC0 , + [22550] = 0x9AC5 , + [22551] = 0x9AC2 , + [22552] = 0x9ACB , + [22553] = 0x9ACC , + [22554] = 0x9AD1 , + [22555] = 0x9B45 , + [22556] = 0x9B43 , + [22557] = 0x9B47 , + [22558] = 0x9B49 , + [22559] = 0x9B48 , + [22560] = 0x9B4D , + [22561] = 0x9B51 , + [22562] = 0x98E8 , + [22563] = 0x990D , + [22564] = 0x992E , + [22565] = 0x9955 , + [22566] = 0x9954 , + [22567] = 0x9ADF , + [22568] = 0x9AE1 , + [22569] = 0x9AE6 , + [22570] = 0x9AEF , + [22571] = 0x9AEB , + [22572] = 0x9AFB , + [22573] = 0x9AED , + [22574] = 0x9AF9 , + [22575] = 0x9B08 , + [22576] = 0x9B0F , + [22577] = 0x9B13 , + [22578] = 0x9B1F , + [22579] = 0x9B23 , + [22580] = 0x9EBD , + [22581] = 0x9EBE , + [22582] = 0x7E3B , + [22583] = 0x9E82 , + [22584] = 0x9E87 , + [22585] = 0x9E88 , + [22586] = 0x9E8B , + [22587] = 0x9E92 , + [22588] = 0x93D6 , + [22589] = 0x9E9D , + [22590] = 0x9E9F , + [22591] = 0x9EDB , + [22592] = 0x9EDC , + [22593] = 0x9EDD , + [22594] = 0x9EE0 , + [22595] = 0x9EDF , + [22596] = 0x9EE2 , + [22597] = 0x9EE9 , + [22598] = 0x9EE7 , + [22599] = 0x9EE5 , + [22600] = 0x9EEA , + [22601] = 0x9EEF , + [22602] = 0x9F22 , + [22603] = 0x9F2C , + [22604] = 0x9F2F , + [22605] = 0x9F39 , + [22606] = 0x9F37 , + [22607] = 0x9F3D , + [22608] = 0x9F3E , + [22609] = 0x9F44 , + [22610] = 0x9CE3 , + [22611] = 0x9CE4 , + [22612] = 0x9CE5 , + [22613] = 0x9CE6 , + [22614] = 0x9CE7 , + [22615] = 0x9CE8 , + [22616] = 0x9CE9 , + [22617] = 0x9CEA , + [22618] = 0x9CEB , + [22619] = 0x9CEC , + [22620] = 0x9CED , + [22621] = 0x9CEE , + [22622] = 0x9CEF , + [22623] = 0x9CF0 , + [22624] = 0x9CF1 , + [22625] = 0x9CF2 , + [22626] = 0x9CF3 , + [22627] = 0x9CF4 , + [22628] = 0x9CF5 , + [22629] = 0x9CF6 , + [22630] = 0x9CF7 , + [22631] = 0x9CF8 , + [22632] = 0x9CF9 , + [22633] = 0x9CFA , + [22634] = 0x9CFB , + [22635] = 0x9CFC , + [22636] = 0x9CFD , + [22637] = 0x9CFE , + [22638] = 0x9CFF , + [22639] = 0x9D00 , + [22640] = 0x9D01 , + [22641] = 0x9D02 , + [22642] = 0x9D03 , + [22643] = 0x9D04 , + [22644] = 0x9D05 , + [22645] = 0x9D06 , + [22646] = 0x9D07 , + [22647] = 0x9D08 , + [22648] = 0x9D09 , + [22649] = 0x9D0A , + [22650] = 0x9D0B , + [22651] = 0x9D0C , + [22652] = 0x9D0D , + [22653] = 0x9D0E , + [22654] = 0x9D0F , + [22655] = 0x9D10 , + [22656] = 0x9D11 , + [22657] = 0x9D12 , + [22658] = 0x9D13 , + [22659] = 0x9D14 , + [22660] = 0x9D15 , + [22661] = 0x9D16 , + [22662] = 0x9D17 , + [22663] = 0x9D18 , + [22664] = 0x9D19 , + [22665] = 0x9D1A , + [22666] = 0x9D1B , + [22667] = 0x9D1C , + [22668] = 0x9D1D , + [22669] = 0x9D1E , + [22670] = 0x9D1F , + [22671] = 0x9D20 , + [22672] = 0x9D21 , + [22673] = 0x9D22 , + [22674] = 0x9D23 , + [22675] = 0x9D24 , + [22676] = 0x9D25 , + [22677] = 0x9D26 , + [22678] = 0x9D27 , + [22679] = 0x9D28 , + [22680] = 0x9D29 , + [22681] = 0x9D2A , + [22682] = 0x9D2B , + [22683] = 0x9D2C , + [22684] = 0x9D2D , + [22685] = 0x9D2E , + [22686] = 0x9D2F , + [22687] = 0x9D30 , + [22688] = 0x9D31 , + [22689] = 0x9D32 , + [22690] = 0x9D33 , + [22691] = 0x9D34 , + [22692] = 0x9D35 , + [22693] = 0x9D36 , + [22694] = 0x9D37 , + [22695] = 0x9D38 , + [22696] = 0x9D39 , + [22697] = 0x9D3A , + [22698] = 0x9D3B , + [22699] = 0x9D3C , + [22700] = 0x9D3D , + [22701] = 0x9D3E , + [22702] = 0x9D3F , + [22703] = 0x9D40 , + [22704] = 0x9D41 , + [22705] = 0x9D42 , + [22706] = 0xE234 , + [22707] = 0xE235 , + [22708] = 0xE236 , + [22709] = 0xE237 , + [22710] = 0xE238 , + [22711] = 0xE239 , + [22712] = 0xE23A , + [22713] = 0xE23B , + [22714] = 0xE23C , + [22715] = 0xE23D , + [22716] = 0xE23E , + [22717] = 0xE23F , + [22718] = 0xE240 , + [22719] = 0xE241 , + [22720] = 0xE242 , + [22721] = 0xE243 , + [22722] = 0xE244 , + [22723] = 0xE245 , + [22724] = 0xE246 , + [22725] = 0xE247 , + [22726] = 0xE248 , + [22727] = 0xE249 , + [22728] = 0xE24A , + [22729] = 0xE24B , + [22730] = 0xE24C , + [22731] = 0xE24D , + [22732] = 0xE24E , + [22733] = 0xE24F , + [22734] = 0xE250 , + [22735] = 0xE251 , + [22736] = 0xE252 , + [22737] = 0xE253 , + [22738] = 0xE254 , + [22739] = 0xE255 , + [22740] = 0xE256 , + [22741] = 0xE257 , + [22742] = 0xE258 , + [22743] = 0xE259 , + [22744] = 0xE25A , + [22745] = 0xE25B , + [22746] = 0xE25C , + [22747] = 0xE25D , + [22748] = 0xE25E , + [22749] = 0xE25F , + [22750] = 0xE260 , + [22751] = 0xE261 , + [22752] = 0xE262 , + [22753] = 0xE263 , + [22754] = 0xE264 , + [22755] = 0xE265 , + [22756] = 0xE266 , + [22757] = 0xE267 , + [22758] = 0xE268 , + [22759] = 0xE269 , + [22760] = 0xE26A , + [22761] = 0xE26B , + [22762] = 0xE26C , + [22763] = 0xE26D , + [22764] = 0xE26E , + [22765] = 0xE26F , + [22766] = 0xE270 , + [22767] = 0xE271 , + [22768] = 0xE272 , + [22769] = 0xE273 , + [22770] = 0xE274 , + [22771] = 0xE275 , + [22772] = 0xE276 , + [22773] = 0xE277 , + [22774] = 0xE278 , + [22775] = 0xE279 , + [22776] = 0xE27A , + [22777] = 0xE27B , + [22778] = 0xE27C , + [22779] = 0xE27D , + [22780] = 0xE27E , + [22781] = 0xE27F , + [22782] = 0xE280 , + [22783] = 0xE281 , + [22784] = 0xE282 , + [22785] = 0xE283 , + [22786] = 0xE284 , + [22787] = 0xE285 , + [22788] = 0xE286 , + [22789] = 0xE287 , + [22790] = 0xE288 , + [22791] = 0xE289 , + [22792] = 0xE28A , + [22793] = 0xE28B , + [22794] = 0xE28C , + [22795] = 0xE28D , + [22796] = 0xE28E , + [22797] = 0xE28F , + [22798] = 0xE290 , + [22799] = 0xE291 , + [22800] = 0x9D43 , + [22801] = 0x9D44 , + [22802] = 0x9D45 , + [22803] = 0x9D46 , + [22804] = 0x9D47 , + [22805] = 0x9D48 , + [22806] = 0x9D49 , + [22807] = 0x9D4A , + [22808] = 0x9D4B , + [22809] = 0x9D4C , + [22810] = 0x9D4D , + [22811] = 0x9D4E , + [22812] = 0x9D4F , + [22813] = 0x9D50 , + [22814] = 0x9D51 , + [22815] = 0x9D52 , + [22816] = 0x9D53 , + [22817] = 0x9D54 , + [22818] = 0x9D55 , + [22819] = 0x9D56 , + [22820] = 0x9D57 , + [22821] = 0x9D58 , + [22822] = 0x9D59 , + [22823] = 0x9D5A , + [22824] = 0x9D5B , + [22825] = 0x9D5C , + [22826] = 0x9D5D , + [22827] = 0x9D5E , + [22828] = 0x9D5F , + [22829] = 0x9D60 , + [22830] = 0x9D61 , + [22831] = 0x9D62 , + [22832] = 0x9D63 , + [22833] = 0x9D64 , + [22834] = 0x9D65 , + [22835] = 0x9D66 , + [22836] = 0x9D67 , + [22837] = 0x9D68 , + [22838] = 0x9D69 , + [22839] = 0x9D6A , + [22840] = 0x9D6B , + [22841] = 0x9D6C , + [22842] = 0x9D6D , + [22843] = 0x9D6E , + [22844] = 0x9D6F , + [22845] = 0x9D70 , + [22846] = 0x9D71 , + [22847] = 0x9D72 , + [22848] = 0x9D73 , + [22849] = 0x9D74 , + [22850] = 0x9D75 , + [22851] = 0x9D76 , + [22852] = 0x9D77 , + [22853] = 0x9D78 , + [22854] = 0x9D79 , + [22855] = 0x9D7A , + [22856] = 0x9D7B , + [22857] = 0x9D7C , + [22858] = 0x9D7D , + [22859] = 0x9D7E , + [22860] = 0x9D7F , + [22861] = 0x9D80 , + [22862] = 0x9D81 , + [22863] = 0x9D82 , + [22864] = 0x9D83 , + [22865] = 0x9D84 , + [22866] = 0x9D85 , + [22867] = 0x9D86 , + [22868] = 0x9D87 , + [22869] = 0x9D88 , + [22870] = 0x9D89 , + [22871] = 0x9D8A , + [22872] = 0x9D8B , + [22873] = 0x9D8C , + [22874] = 0x9D8D , + [22875] = 0x9D8E , + [22876] = 0x9D8F , + [22877] = 0x9D90 , + [22878] = 0x9D91 , + [22879] = 0x9D92 , + [22880] = 0x9D93 , + [22881] = 0x9D94 , + [22882] = 0x9D95 , + [22883] = 0x9D96 , + [22884] = 0x9D97 , + [22885] = 0x9D98 , + [22886] = 0x9D99 , + [22887] = 0x9D9A , + [22888] = 0x9D9B , + [22889] = 0x9D9C , + [22890] = 0x9D9D , + [22891] = 0x9D9E , + [22892] = 0x9D9F , + [22893] = 0x9DA0 , + [22894] = 0x9DA1 , + [22895] = 0x9DA2 , + [22896] = 0xE292 , + [22897] = 0xE293 , + [22898] = 0xE294 , + [22899] = 0xE295 , + [22900] = 0xE296 , + [22901] = 0xE297 , + [22902] = 0xE298 , + [22903] = 0xE299 , + [22904] = 0xE29A , + [22905] = 0xE29B , + [22906] = 0xE29C , + [22907] = 0xE29D , + [22908] = 0xE29E , + [22909] = 0xE29F , + [22910] = 0xE2A0 , + [22911] = 0xE2A1 , + [22912] = 0xE2A2 , + [22913] = 0xE2A3 , + [22914] = 0xE2A4 , + [22915] = 0xE2A5 , + [22916] = 0xE2A6 , + [22917] = 0xE2A7 , + [22918] = 0xE2A8 , + [22919] = 0xE2A9 , + [22920] = 0xE2AA , + [22921] = 0xE2AB , + [22922] = 0xE2AC , + [22923] = 0xE2AD , + [22924] = 0xE2AE , + [22925] = 0xE2AF , + [22926] = 0xE2B0 , + [22927] = 0xE2B1 , + [22928] = 0xE2B2 , + [22929] = 0xE2B3 , + [22930] = 0xE2B4 , + [22931] = 0xE2B5 , + [22932] = 0xE2B6 , + [22933] = 0xE2B7 , + [22934] = 0xE2B8 , + [22935] = 0xE2B9 , + [22936] = 0xE2BA , + [22937] = 0xE2BB , + [22938] = 0xE2BC , + [22939] = 0xE2BD , + [22940] = 0xE2BE , + [22941] = 0xE2BF , + [22942] = 0xE2C0 , + [22943] = 0xE2C1 , + [22944] = 0xE2C2 , + [22945] = 0xE2C3 , + [22946] = 0xE2C4 , + [22947] = 0xE2C5 , + [22948] = 0xE2C6 , + [22949] = 0xE2C7 , + [22950] = 0xE2C8 , + [22951] = 0xE2C9 , + [22952] = 0xE2CA , + [22953] = 0xE2CB , + [22954] = 0xE2CC , + [22955] = 0xE2CD , + [22956] = 0xE2CE , + [22957] = 0xE2CF , + [22958] = 0xE2D0 , + [22959] = 0xE2D1 , + [22960] = 0xE2D2 , + [22961] = 0xE2D3 , + [22962] = 0xE2D4 , + [22963] = 0xE2D5 , + [22964] = 0xE2D6 , + [22965] = 0xE2D7 , + [22966] = 0xE2D8 , + [22967] = 0xE2D9 , + [22968] = 0xE2DA , + [22969] = 0xE2DB , + [22970] = 0xE2DC , + [22971] = 0xE2DD , + [22972] = 0xE2DE , + [22973] = 0xE2DF , + [22974] = 0xE2E0 , + [22975] = 0xE2E1 , + [22976] = 0xE2E2 , + [22977] = 0xE2E3 , + [22978] = 0xE2E4 , + [22979] = 0xE2E5 , + [22980] = 0xE2E6 , + [22981] = 0xE2E7 , + [22982] = 0xE2E8 , + [22983] = 0xE2E9 , + [22984] = 0xE2EA , + [22985] = 0xE2EB , + [22986] = 0xE2EC , + [22987] = 0xE2ED , + [22988] = 0xE2EE , + [22989] = 0xE2EF , + [22990] = 0x9DA3 , + [22991] = 0x9DA4 , + [22992] = 0x9DA5 , + [22993] = 0x9DA6 , + [22994] = 0x9DA7 , + [22995] = 0x9DA8 , + [22996] = 0x9DA9 , + [22997] = 0x9DAA , + [22998] = 0x9DAB , + [22999] = 0x9DAC , + [23000] = 0x9DAD , + [23001] = 0x9DAE , + [23002] = 0x9DAF , + [23003] = 0x9DB0 , + [23004] = 0x9DB1 , + [23005] = 0x9DB2 , + [23006] = 0x9DB3 , + [23007] = 0x9DB4 , + [23008] = 0x9DB5 , + [23009] = 0x9DB6 , + [23010] = 0x9DB7 , + [23011] = 0x9DB8 , + [23012] = 0x9DB9 , + [23013] = 0x9DBA , + [23014] = 0x9DBB , + [23015] = 0x9DBC , + [23016] = 0x9DBD , + [23017] = 0x9DBE , + [23018] = 0x9DBF , + [23019] = 0x9DC0 , + [23020] = 0x9DC1 , + [23021] = 0x9DC2 , + [23022] = 0x9DC3 , + [23023] = 0x9DC4 , + [23024] = 0x9DC5 , + [23025] = 0x9DC6 , + [23026] = 0x9DC7 , + [23027] = 0x9DC8 , + [23028] = 0x9DC9 , + [23029] = 0x9DCA , + [23030] = 0x9DCB , + [23031] = 0x9DCC , + [23032] = 0x9DCD , + [23033] = 0x9DCE , + [23034] = 0x9DCF , + [23035] = 0x9DD0 , + [23036] = 0x9DD1 , + [23037] = 0x9DD2 , + [23038] = 0x9DD3 , + [23039] = 0x9DD4 , + [23040] = 0x9DD5 , + [23041] = 0x9DD6 , + [23042] = 0x9DD7 , + [23043] = 0x9DD8 , + [23044] = 0x9DD9 , + [23045] = 0x9DDA , + [23046] = 0x9DDB , + [23047] = 0x9DDC , + [23048] = 0x9DDD , + [23049] = 0x9DDE , + [23050] = 0x9DDF , + [23051] = 0x9DE0 , + [23052] = 0x9DE1 , + [23053] = 0x9DE2 , + [23054] = 0x9DE3 , + [23055] = 0x9DE4 , + [23056] = 0x9DE5 , + [23057] = 0x9DE6 , + [23058] = 0x9DE7 , + [23059] = 0x9DE8 , + [23060] = 0x9DE9 , + [23061] = 0x9DEA , + [23062] = 0x9DEB , + [23063] = 0x9DEC , + [23064] = 0x9DED , + [23065] = 0x9DEE , + [23066] = 0x9DEF , + [23067] = 0x9DF0 , + [23068] = 0x9DF1 , + [23069] = 0x9DF2 , + [23070] = 0x9DF3 , + [23071] = 0x9DF4 , + [23072] = 0x9DF5 , + [23073] = 0x9DF6 , + [23074] = 0x9DF7 , + [23075] = 0x9DF8 , + [23076] = 0x9DF9 , + [23077] = 0x9DFA , + [23078] = 0x9DFB , + [23079] = 0x9DFC , + [23080] = 0x9DFD , + [23081] = 0x9DFE , + [23082] = 0x9DFF , + [23083] = 0x9E00 , + [23084] = 0x9E01 , + [23085] = 0x9E02 , + [23086] = 0xE2F0 , + [23087] = 0xE2F1 , + [23088] = 0xE2F2 , + [23089] = 0xE2F3 , + [23090] = 0xE2F4 , + [23091] = 0xE2F5 , + [23092] = 0xE2F6 , + [23093] = 0xE2F7 , + [23094] = 0xE2F8 , + [23095] = 0xE2F9 , + [23096] = 0xE2FA , + [23097] = 0xE2FB , + [23098] = 0xE2FC , + [23099] = 0xE2FD , + [23100] = 0xE2FE , + [23101] = 0xE2FF , + [23102] = 0xE300 , + [23103] = 0xE301 , + [23104] = 0xE302 , + [23105] = 0xE303 , + [23106] = 0xE304 , + [23107] = 0xE305 , + [23108] = 0xE306 , + [23109] = 0xE307 , + [23110] = 0xE308 , + [23111] = 0xE309 , + [23112] = 0xE30A , + [23113] = 0xE30B , + [23114] = 0xE30C , + [23115] = 0xE30D , + [23116] = 0xE30E , + [23117] = 0xE30F , + [23118] = 0xE310 , + [23119] = 0xE311 , + [23120] = 0xE312 , + [23121] = 0xE313 , + [23122] = 0xE314 , + [23123] = 0xE315 , + [23124] = 0xE316 , + [23125] = 0xE317 , + [23126] = 0xE318 , + [23127] = 0xE319 , + [23128] = 0xE31A , + [23129] = 0xE31B , + [23130] = 0xE31C , + [23131] = 0xE31D , + [23132] = 0xE31E , + [23133] = 0xE31F , + [23134] = 0xE320 , + [23135] = 0xE321 , + [23136] = 0xE322 , + [23137] = 0xE323 , + [23138] = 0xE324 , + [23139] = 0xE325 , + [23140] = 0xE326 , + [23141] = 0xE327 , + [23142] = 0xE328 , + [23143] = 0xE329 , + [23144] = 0xE32A , + [23145] = 0xE32B , + [23146] = 0xE32C , + [23147] = 0xE32D , + [23148] = 0xE32E , + [23149] = 0xE32F , + [23150] = 0xE330 , + [23151] = 0xE331 , + [23152] = 0xE332 , + [23153] = 0xE333 , + [23154] = 0xE334 , + [23155] = 0xE335 , + [23156] = 0xE336 , + [23157] = 0xE337 , + [23158] = 0xE338 , + [23159] = 0xE339 , + [23160] = 0xE33A , + [23161] = 0xE33B , + [23162] = 0xE33C , + [23163] = 0xE33D , + [23164] = 0xE33E , + [23165] = 0xE33F , + [23166] = 0xE340 , + [23167] = 0xE341 , + [23168] = 0xE342 , + [23169] = 0xE343 , + [23170] = 0xE344 , + [23171] = 0xE345 , + [23172] = 0xE346 , + [23173] = 0xE347 , + [23174] = 0xE348 , + [23175] = 0xE349 , + [23176] = 0xE34A , + [23177] = 0xE34B , + [23178] = 0xE34C , + [23179] = 0xE34D , + [23180] = 0x9E03 , + [23181] = 0x9E04 , + [23182] = 0x9E05 , + [23183] = 0x9E06 , + [23184] = 0x9E07 , + [23185] = 0x9E08 , + [23186] = 0x9E09 , + [23187] = 0x9E0A , + [23188] = 0x9E0B , + [23189] = 0x9E0C , + [23190] = 0x9E0D , + [23191] = 0x9E0E , + [23192] = 0x9E0F , + [23193] = 0x9E10 , + [23194] = 0x9E11 , + [23195] = 0x9E12 , + [23196] = 0x9E13 , + [23197] = 0x9E14 , + [23198] = 0x9E15 , + [23199] = 0x9E16 , + [23200] = 0x9E17 , + [23201] = 0x9E18 , + [23202] = 0x9E19 , + [23203] = 0x9E1A , + [23204] = 0x9E1B , + [23205] = 0x9E1C , + [23206] = 0x9E1D , + [23207] = 0x9E1E , + [23208] = 0x9E24 , + [23209] = 0x9E27 , + [23210] = 0x9E2E , + [23211] = 0x9E30 , + [23212] = 0x9E34 , + [23213] = 0x9E3B , + [23214] = 0x9E3C , + [23215] = 0x9E40 , + [23216] = 0x9E4D , + [23217] = 0x9E50 , + [23218] = 0x9E52 , + [23219] = 0x9E53 , + [23220] = 0x9E54 , + [23221] = 0x9E56 , + [23222] = 0x9E59 , + [23223] = 0x9E5D , + [23224] = 0x9E5F , + [23225] = 0x9E60 , + [23226] = 0x9E61 , + [23227] = 0x9E62 , + [23228] = 0x9E65 , + [23229] = 0x9E6E , + [23230] = 0x9E6F , + [23231] = 0x9E72 , + [23232] = 0x9E74 , + [23233] = 0x9E75 , + [23234] = 0x9E76 , + [23235] = 0x9E77 , + [23236] = 0x9E78 , + [23237] = 0x9E79 , + [23238] = 0x9E7A , + [23239] = 0x9E7B , + [23240] = 0x9E7C , + [23241] = 0x9E7D , + [23242] = 0x9E80 , + [23243] = 0x9E81 , + [23244] = 0x9E83 , + [23245] = 0x9E84 , + [23246] = 0x9E85 , + [23247] = 0x9E86 , + [23248] = 0x9E89 , + [23249] = 0x9E8A , + [23250] = 0x9E8C , + [23251] = 0x9E8D , + [23252] = 0x9E8E , + [23253] = 0x9E8F , + [23254] = 0x9E90 , + [23255] = 0x9E91 , + [23256] = 0x9E94 , + [23257] = 0x9E95 , + [23258] = 0x9E96 , + [23259] = 0x9E97 , + [23260] = 0x9E98 , + [23261] = 0x9E99 , + [23262] = 0x9E9A , + [23263] = 0x9E9B , + [23264] = 0x9E9C , + [23265] = 0x9E9E , + [23266] = 0x9EA0 , + [23267] = 0x9EA1 , + [23268] = 0x9EA2 , + [23269] = 0x9EA3 , + [23270] = 0x9EA4 , + [23271] = 0x9EA5 , + [23272] = 0x9EA7 , + [23273] = 0x9EA8 , + [23274] = 0x9EA9 , + [23275] = 0x9EAA , + [23276] = 0xE34E , + [23277] = 0xE34F , + [23278] = 0xE350 , + [23279] = 0xE351 , + [23280] = 0xE352 , + [23281] = 0xE353 , + [23282] = 0xE354 , + [23283] = 0xE355 , + [23284] = 0xE356 , + [23285] = 0xE357 , + [23286] = 0xE358 , + [23287] = 0xE359 , + [23288] = 0xE35A , + [23289] = 0xE35B , + [23290] = 0xE35C , + [23291] = 0xE35D , + [23292] = 0xE35E , + [23293] = 0xE35F , + [23294] = 0xE360 , + [23295] = 0xE361 , + [23296] = 0xE362 , + [23297] = 0xE363 , + [23298] = 0xE364 , + [23299] = 0xE365 , + [23300] = 0xE366 , + [23301] = 0xE367 , + [23302] = 0xE368 , + [23303] = 0xE369 , + [23304] = 0xE36A , + [23305] = 0xE36B , + [23306] = 0xE36C , + [23307] = 0xE36D , + [23308] = 0xE36E , + [23309] = 0xE36F , + [23310] = 0xE370 , + [23311] = 0xE371 , + [23312] = 0xE372 , + [23313] = 0xE373 , + [23314] = 0xE374 , + [23315] = 0xE375 , + [23316] = 0xE376 , + [23317] = 0xE377 , + [23318] = 0xE378 , + [23319] = 0xE379 , + [23320] = 0xE37A , + [23321] = 0xE37B , + [23322] = 0xE37C , + [23323] = 0xE37D , + [23324] = 0xE37E , + [23325] = 0xE37F , + [23326] = 0xE380 , + [23327] = 0xE381 , + [23328] = 0xE382 , + [23329] = 0xE383 , + [23330] = 0xE384 , + [23331] = 0xE385 , + [23332] = 0xE386 , + [23333] = 0xE387 , + [23334] = 0xE388 , + [23335] = 0xE389 , + [23336] = 0xE38A , + [23337] = 0xE38B , + [23338] = 0xE38C , + [23339] = 0xE38D , + [23340] = 0xE38E , + [23341] = 0xE38F , + [23342] = 0xE390 , + [23343] = 0xE391 , + [23344] = 0xE392 , + [23345] = 0xE393 , + [23346] = 0xE394 , + [23347] = 0xE395 , + [23348] = 0xE396 , + [23349] = 0xE397 , + [23350] = 0xE398 , + [23351] = 0xE399 , + [23352] = 0xE39A , + [23353] = 0xE39B , + [23354] = 0xE39C , + [23355] = 0xE39D , + [23356] = 0xE39E , + [23357] = 0xE39F , + [23358] = 0xE3A0 , + [23359] = 0xE3A1 , + [23360] = 0xE3A2 , + [23361] = 0xE3A3 , + [23362] = 0xE3A4 , + [23363] = 0xE3A5 , + [23364] = 0xE3A6 , + [23365] = 0xE3A7 , + [23366] = 0xE3A8 , + [23367] = 0xE3A9 , + [23368] = 0xE3AA , + [23369] = 0xE3AB , + [23370] = 0x9EAB , + [23371] = 0x9EAC , + [23372] = 0x9EAD , + [23373] = 0x9EAE , + [23374] = 0x9EAF , + [23375] = 0x9EB0 , + [23376] = 0x9EB1 , + [23377] = 0x9EB2 , + [23378] = 0x9EB3 , + [23379] = 0x9EB5 , + [23380] = 0x9EB6 , + [23381] = 0x9EB7 , + [23382] = 0x9EB9 , + [23383] = 0x9EBA , + [23384] = 0x9EBC , + [23385] = 0x9EBF , + [23386] = 0x9EC0 , + [23387] = 0x9EC1 , + [23388] = 0x9EC2 , + [23389] = 0x9EC3 , + [23390] = 0x9EC5 , + [23391] = 0x9EC6 , + [23392] = 0x9EC7 , + [23393] = 0x9EC8 , + [23394] = 0x9ECA , + [23395] = 0x9ECB , + [23396] = 0x9ECC , + [23397] = 0x9ED0 , + [23398] = 0x9ED2 , + [23399] = 0x9ED3 , + [23400] = 0x9ED5 , + [23401] = 0x9ED6 , + [23402] = 0x9ED7 , + [23403] = 0x9ED9 , + [23404] = 0x9EDA , + [23405] = 0x9EDE , + [23406] = 0x9EE1 , + [23407] = 0x9EE3 , + [23408] = 0x9EE4 , + [23409] = 0x9EE6 , + [23410] = 0x9EE8 , + [23411] = 0x9EEB , + [23412] = 0x9EEC , + [23413] = 0x9EED , + [23414] = 0x9EEE , + [23415] = 0x9EF0 , + [23416] = 0x9EF1 , + [23417] = 0x9EF2 , + [23418] = 0x9EF3 , + [23419] = 0x9EF4 , + [23420] = 0x9EF5 , + [23421] = 0x9EF6 , + [23422] = 0x9EF7 , + [23423] = 0x9EF8 , + [23424] = 0x9EFA , + [23425] = 0x9EFD , + [23426] = 0x9EFF , + [23427] = 0x9F00 , + [23428] = 0x9F01 , + [23429] = 0x9F02 , + [23430] = 0x9F03 , + [23431] = 0x9F04 , + [23432] = 0x9F05 , + [23433] = 0x9F06 , + [23434] = 0x9F07 , + [23435] = 0x9F08 , + [23436] = 0x9F09 , + [23437] = 0x9F0A , + [23438] = 0x9F0C , + [23439] = 0x9F0F , + [23440] = 0x9F11 , + [23441] = 0x9F12 , + [23442] = 0x9F14 , + [23443] = 0x9F15 , + [23444] = 0x9F16 , + [23445] = 0x9F18 , + [23446] = 0x9F1A , + [23447] = 0x9F1B , + [23448] = 0x9F1C , + [23449] = 0x9F1D , + [23450] = 0x9F1E , + [23451] = 0x9F1F , + [23452] = 0x9F21 , + [23453] = 0x9F23 , + [23454] = 0x9F24 , + [23455] = 0x9F25 , + [23456] = 0x9F26 , + [23457] = 0x9F27 , + [23458] = 0x9F28 , + [23459] = 0x9F29 , + [23460] = 0x9F2A , + [23461] = 0x9F2B , + [23462] = 0x9F2D , + [23463] = 0x9F2E , + [23464] = 0x9F30 , + [23465] = 0x9F31 , + [23466] = 0xE3AC , + [23467] = 0xE3AD , + [23468] = 0xE3AE , + [23469] = 0xE3AF , + [23470] = 0xE3B0 , + [23471] = 0xE3B1 , + [23472] = 0xE3B2 , + [23473] = 0xE3B3 , + [23474] = 0xE3B4 , + [23475] = 0xE3B5 , + [23476] = 0xE3B6 , + [23477] = 0xE3B7 , + [23478] = 0xE3B8 , + [23479] = 0xE3B9 , + [23480] = 0xE3BA , + [23481] = 0xE3BB , + [23482] = 0xE3BC , + [23483] = 0xE3BD , + [23484] = 0xE3BE , + [23485] = 0xE3BF , + [23486] = 0xE3C0 , + [23487] = 0xE3C1 , + [23488] = 0xE3C2 , + [23489] = 0xE3C3 , + [23490] = 0xE3C4 , + [23491] = 0xE3C5 , + [23492] = 0xE3C6 , + [23493] = 0xE3C7 , + [23494] = 0xE3C8 , + [23495] = 0xE3C9 , + [23496] = 0xE3CA , + [23497] = 0xE3CB , + [23498] = 0xE3CC , + [23499] = 0xE3CD , + [23500] = 0xE3CE , + [23501] = 0xE3CF , + [23502] = 0xE3D0 , + [23503] = 0xE3D1 , + [23504] = 0xE3D2 , + [23505] = 0xE3D3 , + [23506] = 0xE3D4 , + [23507] = 0xE3D5 , + [23508] = 0xE3D6 , + [23509] = 0xE3D7 , + [23510] = 0xE3D8 , + [23511] = 0xE3D9 , + [23512] = 0xE3DA , + [23513] = 0xE3DB , + [23514] = 0xE3DC , + [23515] = 0xE3DD , + [23516] = 0xE3DE , + [23517] = 0xE3DF , + [23518] = 0xE3E0 , + [23519] = 0xE3E1 , + [23520] = 0xE3E2 , + [23521] = 0xE3E3 , + [23522] = 0xE3E4 , + [23523] = 0xE3E5 , + [23524] = 0xE3E6 , + [23525] = 0xE3E7 , + [23526] = 0xE3E8 , + [23527] = 0xE3E9 , + [23528] = 0xE3EA , + [23529] = 0xE3EB , + [23530] = 0xE3EC , + [23531] = 0xE3ED , + [23532] = 0xE3EE , + [23533] = 0xE3EF , + [23534] = 0xE3F0 , + [23535] = 0xE3F1 , + [23536] = 0xE3F2 , + [23537] = 0xE3F3 , + [23538] = 0xE3F4 , + [23539] = 0xE3F5 , + [23540] = 0xE3F6 , + [23541] = 0xE3F7 , + [23542] = 0xE3F8 , + [23543] = 0xE3F9 , + [23544] = 0xE3FA , + [23545] = 0xE3FB , + [23546] = 0xE3FC , + [23547] = 0xE3FD , + [23548] = 0xE3FE , + [23549] = 0xE3FF , + [23550] = 0xE400 , + [23551] = 0xE401 , + [23552] = 0xE402 , + [23553] = 0xE403 , + [23554] = 0xE404 , + [23555] = 0xE405 , + [23556] = 0xE406 , + [23557] = 0xE407 , + [23558] = 0xE408 , + [23559] = 0xE409 , + [23560] = 0x9F32 , + [23561] = 0x9F33 , + [23562] = 0x9F34 , + [23563] = 0x9F35 , + [23564] = 0x9F36 , + [23565] = 0x9F38 , + [23566] = 0x9F3A , + [23567] = 0x9F3C , + [23568] = 0x9F3F , + [23569] = 0x9F40 , + [23570] = 0x9F41 , + [23571] = 0x9F42 , + [23572] = 0x9F43 , + [23573] = 0x9F45 , + [23574] = 0x9F46 , + [23575] = 0x9F47 , + [23576] = 0x9F48 , + [23577] = 0x9F49 , + [23578] = 0x9F4A , + [23579] = 0x9F4B , + [23580] = 0x9F4C , + [23581] = 0x9F4D , + [23582] = 0x9F4E , + [23583] = 0x9F4F , + [23584] = 0x9F52 , + [23585] = 0x9F53 , + [23586] = 0x9F54 , + [23587] = 0x9F55 , + [23588] = 0x9F56 , + [23589] = 0x9F57 , + [23590] = 0x9F58 , + [23591] = 0x9F59 , + [23592] = 0x9F5A , + [23593] = 0x9F5B , + [23594] = 0x9F5C , + [23595] = 0x9F5D , + [23596] = 0x9F5E , + [23597] = 0x9F5F , + [23598] = 0x9F60 , + [23599] = 0x9F61 , + [23600] = 0x9F62 , + [23601] = 0x9F63 , + [23602] = 0x9F64 , + [23603] = 0x9F65 , + [23604] = 0x9F66 , + [23605] = 0x9F67 , + [23606] = 0x9F68 , + [23607] = 0x9F69 , + [23608] = 0x9F6A , + [23609] = 0x9F6B , + [23610] = 0x9F6C , + [23611] = 0x9F6D , + [23612] = 0x9F6E , + [23613] = 0x9F6F , + [23614] = 0x9F70 , + [23615] = 0x9F71 , + [23616] = 0x9F72 , + [23617] = 0x9F73 , + [23618] = 0x9F74 , + [23619] = 0x9F75 , + [23620] = 0x9F76 , + [23621] = 0x9F77 , + [23622] = 0x9F78 , + [23623] = 0x9F79 , + [23624] = 0x9F7A , + [23625] = 0x9F7B , + [23626] = 0x9F7C , + [23627] = 0x9F7D , + [23628] = 0x9F7E , + [23629] = 0x9F81 , + [23630] = 0x9F82 , + [23631] = 0x9F8D , + [23632] = 0x9F8E , + [23633] = 0x9F8F , + [23634] = 0x9F90 , + [23635] = 0x9F91 , + [23636] = 0x9F92 , + [23637] = 0x9F93 , + [23638] = 0x9F94 , + [23639] = 0x9F95 , + [23640] = 0x9F96 , + [23641] = 0x9F97 , + [23642] = 0x9F98 , + [23643] = 0x9F9C , + [23644] = 0x9F9D , + [23645] = 0x9F9E , + [23646] = 0x9FA1 , + [23647] = 0x9FA2 , + [23648] = 0x9FA3 , + [23649] = 0x9FA4 , + [23650] = 0x9FA5 , + [23651] = 0xF92C , + [23652] = 0xF979 , + [23653] = 0xF995 , + [23654] = 0xF9E7 , + [23655] = 0xF9F1 , + [23656] = 0xE40A , + [23657] = 0xE40B , + [23658] = 0xE40C , + [23659] = 0xE40D , + [23660] = 0xE40E , + [23661] = 0xE40F , + [23662] = 0xE410 , + [23663] = 0xE411 , + [23664] = 0xE412 , + [23665] = 0xE413 , + [23666] = 0xE414 , + [23667] = 0xE415 , + [23668] = 0xE416 , + [23669] = 0xE417 , + [23670] = 0xE418 , + [23671] = 0xE419 , + [23672] = 0xE41A , + [23673] = 0xE41B , + [23674] = 0xE41C , + [23675] = 0xE41D , + [23676] = 0xE41E , + [23677] = 0xE41F , + [23678] = 0xE420 , + [23679] = 0xE421 , + [23680] = 0xE422 , + [23681] = 0xE423 , + [23682] = 0xE424 , + [23683] = 0xE425 , + [23684] = 0xE426 , + [23685] = 0xE427 , + [23686] = 0xE428 , + [23687] = 0xE429 , + [23688] = 0xE42A , + [23689] = 0xE42B , + [23690] = 0xE42C , + [23691] = 0xE42D , + [23692] = 0xE42E , + [23693] = 0xE42F , + [23694] = 0xE430 , + [23695] = 0xE431 , + [23696] = 0xE432 , + [23697] = 0xE433 , + [23698] = 0xE434 , + [23699] = 0xE435 , + [23700] = 0xE436 , + [23701] = 0xE437 , + [23702] = 0xE438 , + [23703] = 0xE439 , + [23704] = 0xE43A , + [23705] = 0xE43B , + [23706] = 0xE43C , + [23707] = 0xE43D , + [23708] = 0xE43E , + [23709] = 0xE43F , + [23710] = 0xE440 , + [23711] = 0xE441 , + [23712] = 0xE442 , + [23713] = 0xE443 , + [23714] = 0xE444 , + [23715] = 0xE445 , + [23716] = 0xE446 , + [23717] = 0xE447 , + [23718] = 0xE448 , + [23719] = 0xE449 , + [23720] = 0xE44A , + [23721] = 0xE44B , + [23722] = 0xE44C , + [23723] = 0xE44D , + [23724] = 0xE44E , + [23725] = 0xE44F , + [23726] = 0xE450 , + [23727] = 0xE451 , + [23728] = 0xE452 , + [23729] = 0xE453 , + [23730] = 0xE454 , + [23731] = 0xE455 , + [23732] = 0xE456 , + [23733] = 0xE457 , + [23734] = 0xE458 , + [23735] = 0xE459 , + [23736] = 0xE45A , + [23737] = 0xE45B , + [23738] = 0xE45C , + [23739] = 0xE45D , + [23740] = 0xE45E , + [23741] = 0xE45F , + [23742] = 0xE460 , + [23743] = 0xE461 , + [23744] = 0xE462 , + [23745] = 0xE463 , + [23746] = 0xE464 , + [23747] = 0xE465 , + [23748] = 0xE466 , + [23749] = 0xE467 , + [23750] = 0xFA0C , + [23751] = 0xFA0D , + [23752] = 0xFA0E , + [23753] = 0xFA0F , + [23754] = 0xFA11 , + [23755] = 0xFA13 , + [23756] = 0xFA14 , + [23757] = 0xFA18 , + [23758] = 0xFA1F , + [23759] = 0xFA20 , + [23760] = 0xFA21 , + [23761] = 0xFA23 , + [23762] = 0xFA24 , + [23763] = 0xFA27 , + [23764] = 0xFA28 , + [23765] = 0xFA29 , + [23766] = 0x2E81 , + [23767] = 0xE816 , + [23768] = 0xE817 , + [23769] = 0xE818 , + [23770] = 0x2E84 , + [23771] = 0x3473 , + [23772] = 0x3447 , + [23773] = 0x2E88 , + [23774] = 0x2E8B , + [23775] = 0xE81E , + [23776] = 0x359E , + [23777] = 0x361A , + [23778] = 0x360E , + [23779] = 0x2E8C , + [23780] = 0x2E97 , + [23781] = 0x396E , + [23782] = 0x3918 , + [23783] = 0xE826 , + [23784] = 0x39CF , + [23785] = 0x39DF , + [23786] = 0x3A73 , + [23787] = 0x39D0 , + [23788] = 0xE82B , + [23789] = 0xE82C , + [23790] = 0x3B4E , + [23791] = 0x3C6E , + [23792] = 0x3CE0 , + [23793] = 0x2EA7 , + [23794] = 0xE831 , + [23795] = 0xE832 , + [23796] = 0x2EAA , + [23797] = 0x4056 , + [23798] = 0x415F , + [23799] = 0x2EAE , + [23800] = 0x4337 , + [23801] = 0x2EB3 , + [23802] = 0x2EB6 , + [23803] = 0x2EB7 , + [23804] = 0xE83B , + [23805] = 0x43B1 , + [23806] = 0x43AC , + [23807] = 0x2EBB , + [23808] = 0x43DD , + [23809] = 0x44D6 , + [23810] = 0x4661 , + [23811] = 0x464C , + [23812] = 0xE843 , + [23813] = 0x4723 , + [23814] = 0x4729 , + [23815] = 0x477C , + [23816] = 0x478D , + [23817] = 0x2ECA , + [23818] = 0x4947 , + [23819] = 0x497A , + [23820] = 0x497D , + [23821] = 0x4982 , + [23822] = 0x4983 , + [23823] = 0x4985 , + [23824] = 0x4986 , + [23825] = 0x499F , + [23826] = 0x499B , + [23827] = 0x49B7 , + [23828] = 0x49B6 , + [23829] = 0xE854 , + [23830] = 0xE855 , + [23831] = 0x4CA3 , + [23832] = 0x4C9F , + [23833] = 0x4CA0 , + [23834] = 0x4CA1 , + [23835] = 0x4C77 , + [23836] = 0x4CA2 , + [23837] = 0x4D13 , + [23838] = 0x4D14 , + [23839] = 0x4D15 , + [23840] = 0x4D16 , + [23841] = 0x4D17 , + [23842] = 0x4D18 , + [23843] = 0x4D19 , + [23844] = 0x4DAE , + [23845] = 0xE864 , + [23846] = 0xE468 , + [23847] = 0xE469 , + [23848] = 0xE46A , + [23849] = 0xE46B , + [23850] = 0xE46C , + [23851] = 0xE46D , + [23852] = 0xE46E , + [23853] = 0xE46F , + [23854] = 0xE470 , + [23855] = 0xE471 , + [23856] = 0xE472 , + [23857] = 0xE473 , + [23858] = 0xE474 , + [23859] = 0xE475 , + [23860] = 0xE476 , + [23861] = 0xE477 , + [23862] = 0xE478 , + [23863] = 0xE479 , + [23864] = 0xE47A , + [23865] = 0xE47B , + [23866] = 0xE47C , + [23867] = 0xE47D , + [23868] = 0xE47E , + [23869] = 0xE47F , + [23870] = 0xE480 , + [23871] = 0xE481 , + [23872] = 0xE482 , + [23873] = 0xE483 , + [23874] = 0xE484 , + [23875] = 0xE485 , + [23876] = 0xE486 , + [23877] = 0xE487 , + [23878] = 0xE488 , + [23879] = 0xE489 , + [23880] = 0xE48A , + [23881] = 0xE48B , + [23882] = 0xE48C , + [23883] = 0xE48D , + [23884] = 0xE48E , + [23885] = 0xE48F , + [23886] = 0xE490 , + [23887] = 0xE491 , + [23888] = 0xE492 , + [23889] = 0xE493 , + [23890] = 0xE494 , + [23891] = 0xE495 , + [23892] = 0xE496 , + [23893] = 0xE497 , + [23894] = 0xE498 , + [23895] = 0xE499 , + [23896] = 0xE49A , + [23897] = 0xE49B , + [23898] = 0xE49C , + [23899] = 0xE49D , + [23900] = 0xE49E , + [23901] = 0xE49F , + [23902] = 0xE4A0 , + [23903] = 0xE4A1 , + [23904] = 0xE4A2 , + [23905] = 0xE4A3 , + [23906] = 0xE4A4 , + [23907] = 0xE4A5 , + [23908] = 0xE4A6 , + [23909] = 0xE4A7 , + [23910] = 0xE4A8 , + [23911] = 0xE4A9 , + [23912] = 0xE4AA , + [23913] = 0xE4AB , + [23914] = 0xE4AC , + [23915] = 0xE4AD , + [23916] = 0xE4AE , + [23917] = 0xE4AF , + [23918] = 0xE4B0 , + [23919] = 0xE4B1 , + [23920] = 0xE4B2 , + [23921] = 0xE4B3 , + [23922] = 0xE4B4 , + [23923] = 0xE4B5 , + [23924] = 0xE4B6 , + [23925] = 0xE4B7 , + [23926] = 0xE4B8 , + [23927] = 0xE4B9 , + [23928] = 0xE4BA , + [23929] = 0xE4BB , + [23930] = 0xE4BC , + [23931] = 0xE4BD , + [23932] = 0xE4BE , + [23933] = 0xE4BF , + [23934] = 0xE4C0 , + [23935] = 0xE4C1 , + [23936] = 0xE4C2 , + [23937] = 0xE4C3 , + [23938] = 0xE4C4 , + [23939] = 0xE4C5 , + } , + ["gb18030_ranges"] = { + { 0 , 0x0080 } , + { 36 , 0x00A5 } , + { 38 , 0x00A9 } , + { 45 , 0x00B2 } , + { 50 , 0x00B8 } , + { 81 , 0x00D8 } , + { 89 , 0x00E2 } , + { 95 , 0x00EB } , + { 96 , 0x00EE } , + { 100 , 0x00F4 } , + { 103 , 0x00F8 } , + { 104 , 0x00FB } , + { 105 , 0x00FD } , + { 109 , 0x0102 } , + { 126 , 0x0114 } , + { 133 , 0x011C } , + { 148 , 0x012C } , + { 172 , 0x0145 } , + { 175 , 0x0149 } , + { 179 , 0x014E } , + { 208 , 0x016C } , + { 306 , 0x01CF } , + { 307 , 0x01D1 } , + { 308 , 0x01D3 } , + { 309 , 0x01D5 } , + { 310 , 0x01D7 } , + { 311 , 0x01D9 } , + { 312 , 0x01DB } , + { 313 , 0x01DD } , + { 341 , 0x01FA } , + { 428 , 0x0252 } , + { 443 , 0x0262 } , + { 544 , 0x02C8 } , + { 545 , 0x02CC } , + { 558 , 0x02DA } , + { 741 , 0x03A2 } , + { 742 , 0x03AA } , + { 749 , 0x03C2 } , + { 750 , 0x03CA } , + { 805 , 0x0402 } , + { 819 , 0x0450 } , + { 820 , 0x0452 } , + { 7922 , 0x2011 } , + { 7924 , 0x2017 } , + { 7925 , 0x201A } , + { 7927 , 0x201E } , + { 7934 , 0x2027 } , + { 7943 , 0x2031 } , + { 7944 , 0x2034 } , + { 7945 , 0x2036 } , + { 7950 , 0x203C } , + { 8062 , 0x20AD } , + { 8148 , 0x2104 } , + { 8149 , 0x2106 } , + { 8152 , 0x210A } , + { 8164 , 0x2117 } , + { 8174 , 0x2122 } , + { 8236 , 0x216C } , + { 8240 , 0x217A } , + { 8262 , 0x2194 } , + { 8264 , 0x219A } , + { 8374 , 0x2209 } , + { 8380 , 0x2210 } , + { 8381 , 0x2212 } , + { 8384 , 0x2216 } , + { 8388 , 0x221B } , + { 8390 , 0x2221 } , + { 8392 , 0x2224 } , + { 8393 , 0x2226 } , + { 8394 , 0x222C } , + { 8396 , 0x222F } , + { 8401 , 0x2238 } , + { 8406 , 0x223E } , + { 8416 , 0x2249 } , + { 8419 , 0x224D } , + { 8424 , 0x2253 } , + { 8437 , 0x2262 } , + { 8439 , 0x2268 } , + { 8445 , 0x2270 } , + { 8482 , 0x2296 } , + { 8485 , 0x229A } , + { 8496 , 0x22A6 } , + { 8521 , 0x22C0 } , + { 8603 , 0x2313 } , + { 8936 , 0x246A } , + { 8946 , 0x249C } , + { 9046 , 0x254C } , + { 9050 , 0x2574 } , + { 9063 , 0x2590 } , + { 9066 , 0x2596 } , + { 9076 , 0x25A2 } , + { 9092 , 0x25B4 } , + { 9100 , 0x25BE } , + { 9108 , 0x25C8 } , + { 9111 , 0x25CC } , + { 9113 , 0x25D0 } , + { 9131 , 0x25E6 } , + { 9162 , 0x2607 } , + { 9164 , 0x260A } , + { 9218 , 0x2641 } , + { 9219 , 0x2643 } , + { 11329 , 0x2E82 } , + { 11331 , 0x2E85 } , + { 11334 , 0x2E89 } , + { 11336 , 0x2E8D } , + { 11346 , 0x2E98 } , + { 11361 , 0x2EA8 } , + { 11363 , 0x2EAB } , + { 11366 , 0x2EAF } , + { 11370 , 0x2EB4 } , + { 11372 , 0x2EB8 } , + { 11375 , 0x2EBC } , + { 11389 , 0x2ECB } , + { 11682 , 0x2FFC } , + { 11686 , 0x3004 } , + { 11687 , 0x3018 } , + { 11692 , 0x301F } , + { 11694 , 0x302A } , + { 11714 , 0x303F } , + { 11716 , 0x3094 } , + { 11723 , 0x309F } , + { 11725 , 0x30F7 } , + { 11730 , 0x30FF } , + { 11736 , 0x312A } , + { 11982 , 0x322A } , + { 11989 , 0x3232 } , + { 12102 , 0x32A4 } , + { 12336 , 0x3390 } , + { 12348 , 0x339F } , + { 12350 , 0x33A2 } , + { 12384 , 0x33C5 } , + { 12393 , 0x33CF } , + { 12395 , 0x33D3 } , + { 12397 , 0x33D6 } , + { 12510 , 0x3448 } , + { 12553 , 0x3474 } , + { 12851 , 0x359F } , + { 12962 , 0x360F } , + { 12973 , 0x361B } , + { 13738 , 0x3919 } , + { 13823 , 0x396F } , + { 13919 , 0x39D1 } , + { 13933 , 0x39E0 } , + { 14080 , 0x3A74 } , + { 14298 , 0x3B4F } , + { 14585 , 0x3C6F } , + { 14698 , 0x3CE1 } , + { 15583 , 0x4057 } , + { 15847 , 0x4160 } , + { 16318 , 0x4338 } , + { 16434 , 0x43AD } , + { 16438 , 0x43B2 } , + { 16481 , 0x43DE } , + { 16729 , 0x44D7 } , + { 17102 , 0x464D } , + { 17122 , 0x4662 } , + { 17315 , 0x4724 } , + { 17320 , 0x472A } , + { 17402 , 0x477D } , + { 17418 , 0x478E } , + { 17859 , 0x4948 } , + { 17909 , 0x497B } , + { 17911 , 0x497E } , + { 17915 , 0x4984 } , + { 17916 , 0x4987 } , + { 17936 , 0x499C } , + { 17939 , 0x49A0 } , + { 17961 , 0x49B8 } , + { 18664 , 0x4C78 } , + { 18703 , 0x4CA4 } , + { 18814 , 0x4D1A } , + { 18962 , 0x4DAF } , + { 19043 , 0x9FA6 } , + { 33469 , 0xE76C } , + { 33470 , 0xE7C8 } , + { 33471 , 0xE7E7 } , + { 33484 , 0xE815 } , + { 33485 , 0xE819 } , + { 33490 , 0xE81F } , + { 33497 , 0xE827 } , + { 33501 , 0xE82D } , + { 33505 , 0xE833 } , + { 33513 , 0xE83C } , + { 33520 , 0xE844 } , + { 33536 , 0xE856 } , + { 33550 , 0xE865 } , + { 37845 , 0xF92D } , + { 37921 , 0xF97A } , + { 37948 , 0xF996 } , + { 38029 , 0xF9E8 } , + { 38038 , 0xF9F2 } , + { 38064 , 0xFA10 } , + { 38065 , 0xFA12 } , + { 38066 , 0xFA15 } , + { 38069 , 0xFA19 } , + { 38075 , 0xFA22 } , + { 38076 , 0xFA25 } , + { 38078 , 0xFA2A } , + { 39108 , 0xFE32 } , + { 39109 , 0xFE45 } , + { 39113 , 0xFE53 } , + { 39114 , 0xFE58 } , + { 39115 , 0xFE67 } , + { 39116 , 0xFE6C } , + { 39265 , 0xFF5F } , + { 39394 , 0xFFE6 } , + { 189000 , 0x10000 } , + } , +} diff --git a/Master/texmf-dist/tex/luatex/ctex/ctex-zhconv.lua b/Master/texmf-dist/tex/luatex/ctex/ctex-zhconv.lua new file mode 100644 index 00000000000..d478c2e4320 --- /dev/null +++ b/Master/texmf-dist/tex/luatex/ctex/ctex-zhconv.lua @@ -0,0 +1,204 @@ +-- +-- File ctex-zhconv.lua +-- +-- Copyright (C) 2020 by Qing Lee +-------------------------------------------------------------------------- +-- +-- This work may be distributed and/or modified under the +-- conditions of the LaTeX Project Public License, either +-- version 1.3c of this license or (at your option) any later +-- version. This version of this license is in +-- http://www.latex-project.org/lppl/lppl-1-3c.txt +-- and the latest version of this license is in +-- http://www.latex-project.org/lppl.txt +-- and version 1.3 or later is part of all distributions of +-- LaTeX version 2005/12/01 or later. +-- +-- This work has the LPPL maintenance status "maintained". +-- +-- The Current Maintainer of this work is Qing Lee. +-- +-- This work consists of the files ctex-zhconv.lua, ctex-zhconv-make.lua +-- and the derived file ctex-zhconv-index.lua. +-- +-------------------------------------------------------------------------- +-- + +if status.kpse_used ~= 1 then + kpse.set_program_name("luatex") +end + +local zhconv = { } +zhconv.module = { + name = "ctex-zhconv", + version = "0.2", + date = "2020/05/02", + description = "GBK/GB18030/Big5 encoder", + author = "Qing Lee", + copyright = "Qing Lee", + license = "LPPL v1.3c" +} + +local utf = require("unicode").utf8 +local ubyte, ugsub = utf.byte, utf.gsub + +local floor = math.floor +local unpack, insert, sort = table.unpack, table.insert, table.sort +local char, format = string.char, string.format + +zhconv.index = require("ctex-zhconv-index") +local index = zhconv.index + +zhconv.mapping = { } +local mapping = zhconv.mapping + +mapping.big5, mapping.gbk, mapping.gb18030 = { }, { }, { } +local gbk, gb18030, big5 = mapping.gbk, mapping.gb18030, mapping.big5 + +zhconv.bytes = { } +local bytes = zhconv.bytes + +-- Let lead be pointer / 190 + 0x81. +-- Let trail be pointer % 190. +-- Let offset be 0x40 if trail is less than 0x3F and 0x41 otherwise. +-- Return two bytes whose values are lead and trail + offset. +function bytes.gbk (pointer) + local lead = floor(pointer / 190) + 0x81 + local trail = pointer % 190 + local offset = trail < 0x3F and 0x40 or 0x41 + return format("%c%c", lead, trail + offset) +end + +-- Let lead be pointer / 157 + 0x81. +-- If lead is less than 0xA1, return error with code point. +-- Let trail be pointer % 157. +-- Let offset be 0x40 if trail is less than 0x3F and 0x62 otherwise. +-- Return two bytes whose values are lead and trail + offset. +function bytes.big5 (pointer) + local lead = floor(pointer / 157) + 0x81 + local trail = pointer % 157 + local offset = trail < 0x3F and 0x40 or 0x62 + return format("%c%c", lead, trail + offset) +end + +-- Let byte1 be pointer / 10 / 126 / 10. +-- Set pointer to pointer - byte1 × 10 × 126 × 10. +-- Let byte2 be pointer / 10 / 126. +-- Set pointer to pointer - byte2 × 10 × 126. +-- Let byte3 be pointer / 10. +-- Let byte4 be pointer - byte3 × 10. +-- Return four bytes whose values are byte1 + 0x81, byte2 + 0x30, byte3 + 0x81, byte4 + 0x30. +function bytes.gb18030 (pointer) + local pointer = pointer + local byte1 = floor(pointer / 12600) + 0x81 + pointer = pointer % 12600 + local byte2 = floor(pointer / 1260) + 0x30 + pointer = pointer % 1260 + local byte3 = floor(pointer / 10) + 0x81 + local byte4 = pointer % 10 + 0x30 + return format("%c%c%c%c", byte1, byte2, byte3, byte4) +end + +-- Let offset be the last code point in index gb18030 ranges that is equal to or +-- less than code point and let pointer offset be its corresponding pointer. +-- Return a pointer whose value is pointer offset + code point - offset. +do + local metatable = { } + local bytes, ranges = bytes.gb18030, index["gb18030_ranges"] + function metatable.__index (t, key) + if type(key) == "number" then + local n = #ranges + if key < 0x10000 then + local s = gbk[key] + if s then return s end + repeat + n = n - 1 + until ranges[n][2] <= key + end + local pointer, offset = unpack(ranges[n]) + return bytes(pointer + key - offset) + end + end + gb18030 = setmetatable(gb18030, metatable) +end + +-- The index Big5 pointer for code point is the return value of these steps: +-- 1. Let index be index Big5 excluding all entries whose pointer +-- is less than (0xA1 - 0x81) × 157. +-- 2. If code point is U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345, +-- return the last pointer corresponding to code point in index. +local big5_last = { + [0x2550] = true , + [0x255E] = true , + [0x2561] = true , + [0x256A] = true , + [0x5341] = true , + [0x5345] = true , +} + +do + +local function spairs (t) + local a = { } + for i, n in pairs(t) do insert(a, {i, n}) end + sort(a, function(b, c) return b[1] < c[1] end) + local i = 0 + local iter = function () + i = i + 1 + if a[i] then + return a[i][1], a[i][2] + end + end + return iter +end + +local chars = bytes.big5 +local m = (0xA1 - 0x81) * 157 +for i, v in spairs(index.big5) do + if i >= m then + if big5[v] then + if big5_last[v] then big5[v] = chars(i) end + else + big5[v] = chars(i) + end + end +end + +local chars = bytes.gbk +for i, v in pairs(index.gb18030) do + gbk[v] = chars(i) +end + +end + +-- If the gbk flag is set and code point is U+20AC, return byte 0x80. +gb18030[0x20AC] = gbk[0x20AC] +gbk[0x20AC] = char(0x80) + +local io_open = io.open +local encode_error = "Encoding %q not available!" +local file_error = "Open file %q failed!" + +function zhconv.conv (encoding, input, output) + local encoding = encoding:lower() + local mapping = assert(mapping[encoding], encode_error:format(encoding)) + local encoder = function (s) + local code_point = ubyte(s) + return code_point > 0x7F and mapping[code_point] + end + if output then + local handle = assert(io_open(input, "rb"), file_error:format(input)) + local stream = handle:read("*all") + handle:close() + handle = assert(io_open(output, "wb"), file_error:format(output)) + stream = stream:gsub("^\xEF\xBB\xBF", "") + stream = ugsub(stream, ".", encoder) + handle:write(stream) + handle:close() + else + local s = ugsub(input, ".", encoder) + return s + end +end + +return zhconv -- cgit v1.2.3