summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-06-20 19:57:32 +0000
committerKarl Berry <karl@freefriends.org>2021-06-20 19:57:32 +0000
commit6586e04e3d94e8f8f6e7459fd81b8b45937deaef (patch)
treec8fd3f7a88f042c57da64330f7468faabd3a0f4a /Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
parent94b0aea54634a3d04d70edb84500ecc3199c0637 (diff)
xecjk (20jun21)
git-svn-id: svn://tug.org/texlive/trunk@59658 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty')
-rw-r--r--Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty68
1 files changed, 35 insertions, 33 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
index 25623ab698d..fcae06a5829 100644
--- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
+++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
@@ -7,8 +7,8 @@
%% xeCJK.dtx (with options: `package')
%%
%% Copyright (C) 2007--2010 by Wenchang Sun <sunwch@nankai.edu.cn>
-%% Copyright (C) 2009--2020 by Leo Liu <leoliu.pku@gmail.com>
-%% Copyright (C) 2012--2020 by Qing Lee <sobenlee@gmail.com>
+%% Copyright (C) 2009--2021 by Leo Liu <leoliu.pku@gmail.com>
+%% Copyright (C) 2012--2021 by Qing Lee <sobenlee@gmail.com>
%% ----------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -29,10 +29,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx f475abb 2020-10-19 20:24:03 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 71a7646 2021-06-20 17:05:49 +0800 Qing Lee <sobenlee@gmail.com> $
{Typesetting CJK scripts with XeLaTeX}
\ProvidesExplPackage{\ExplFileName}
- {\ExplFileDate}{3.8.6}{\ExplFileDescription}
+ {\ExplFileDate}{3.8.7}{\ExplFileDescription}
\msg_new:nnn { xeCJK } { Require-XeTeX }
{
The~xeCJK~package~requires~XeTeX~to~function.\\\\
@@ -51,17 +51,13 @@
}
\@ifpackagelater { expl3 } { 2020/02/08 } { }
{ \msg_critical:nnn { xeCJK } { l3-too-old } { expl3 } }
+\RequirePackage { ctexhook }
\prg_new_conditional:Npnn \xeCJK_if_package_loaded:n #1 { p , T , F , TF }
{
\tl_if_exist:cTF { ver@ #1 . \c__xeCJK_package_ext_tl }
{ \prg_return_true: } { \prg_return_false: }
}
\tl_const:Nx \c__xeCJK_package_ext_tl { \@pkgextension }
-\msg_new:nnn { xeCJK } { incompatible-package }
- {
- The~`#1'~package~and~xeCJK~are~incompatible.\\\\
- Please~do~not~use~it.
- }
\msg_new:nnn { xeCJK } { after-package }
{
The~`#1'~package~and~xeCJK~are~incompatible.\\\\
@@ -73,12 +69,11 @@
{ \msg_error:nnn { xeCJK } { after-package } {#1} }
}
\clist_map_inline:nn
- { CJKfntef , CJKulem , CJKvert , CJKpunct , CJKutf8 , CJK }
- {
- \xeCJK_if_package_loaded:nTF {#1}
- { \msg_error:nnn { xeCJK } { incompatible-package } {#1} }
- { \tl_const:cn { ver@ #1 . \c__xeCJK_package_ext_tl } { 9999/99/99 } }
- }
+ { CJKulem , CJKvert , CJKpunct , CJKutf8 , CJK }
+ { \ctex_disable_package:n {#1} }
+\ctex_if_format_at_least:nTF { 2020/10/01 }
+ { \ctex_replace_package:nn { CJKfntef } { xeCJKfntef } }
+ { \ctex_disable_package:n { CJKfntef } }
\RequirePackage { l3keys2e , xtemplate , xparse }
\tl_new:N \l__xeCJK_tmp_tl
\int_new:N \l__xeCJK_tmp_int
@@ -101,7 +96,6 @@
\cs_new_protected:Npn \xeCJK_no_break:
{ \tex_penalty:D \c__xeCJK_nobreak_penalty_int }
\int_const:Nn \c__xeCJK_nobreak_penalty_int { 10 000 }
-\RequirePackage { ctexhook }
\AtBeginDocument { \xeCJK@document@hook }
\ctex_at_end_preamble:n { \xeCJK@document@left@hook }
\ctex_after_end_preamble:n { \xeCJK@document@right@hook }
@@ -4993,30 +4987,38 @@
}
\__xeCJK_package_hook:nn { listings }
{ \RequirePackage { xeCJK-listings } }
-\clist_map_inline:nn { everysel , microtype }
+\__xeCJK_package_hook:nn { everysel }
{
- \__xeCJK_package_hook:nn {#1}
+ \cs_if_exist:NF \@EverySelectfont@Legacy
{ \cs_undefine:c { ver@CJK . \c__xeCJK_package_ext_tl } }
}
-\cs_new_protected:Npn \CJKaddEncHook #1#2
+\ctex_at_begin_package:nn { CJKnumb }
{
- \str_if_eq:nnT {#1} { \CJK@UnicodeEnc }
+ \tl_new:N \l__xeCJK_CJK_version_tl
+ \tl_set_eq:Nc \l__xeCJK_CJK_version_tl { ver@CJK . \c__xeCJK_package_ext_tl }
+ \tl_set:cn { ver@CJK . \c__xeCJK_package_ext_tl } { 9999/99/99 }
+ \cs_new_protected:Npn \CJKaddEncHook #1#2
{
- \group_begin:
- \cs_set_eq:NN \Unicode \xeCJK_unicode_char:nn
- \cs_set_eq:NN \def \xdef
- #2
- \group_end:
- \str_gset:Nn \CJK@tenthousand { ^^^^4e07 }
- \str_gset:Nn \CJK@hundredmillion { ^^^^4ebf }
- \tl_if_exist:NF \CJK@UnicodeEnc
- { \tl_const:Nn \CJK@UnicodeEnc { UTF8 } }
- \cs_if_exist:NF \Unicode
- { \cs_new_eq:NN \Unicode \xeCJK_unicode_char:nn }
+ \str_if_eq:nnT {#1} { \CJK@UnicodeEnc }
+ {
+ \group_begin:
+ \cs_set_eq:NN \Unicode \xeCJK_unicode_char:nn
+ \cs_set_eq:NN \def \xdef
+ #2
+ \group_end:
+ \str_gset:Nn \CJK@tenthousand { ^^^^4e07 }
+ \str_gset:Nn \CJK@hundredmillion { ^^^^4ebf }
+ \tl_if_exist:NF \CJK@UnicodeEnc
+ { \tl_const:Nn \CJK@UnicodeEnc { UTF8 } }
+ \cs_if_exist:NF \Unicode
+ { \cs_new_eq:NN \Unicode \xeCJK_unicode_char:nn }
+ }
}
+ \cs_new:Npn \xeCJK_unicode_char:nn #1#2
+ { \tex_Uchar:D \tex_numexpr:D (#1) * 256 + (#2) \scan_stop: }
}
-\cs_new:Npn \xeCJK_unicode_char:nn #1#2
- { \tex_Uchar:D \tex_numexpr:D (#1) * 256 + (#2) \scan_stop: }
+\ctex_at_end_package:nn { CJKnumb }
+ { \tl_set_eq:cN { ver@CJK . \c__xeCJK_package_ext_tl } \l__xeCJK_CJK_version_tl }
\bool_if:NT \g__xeCJK_config_bool
{
\ExplSyntaxOff