From 56441f33e039906e85170d92fcf2a1db33ca8188 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 14 Jul 2022 20:21:57 +0000 Subject: xecjk (14jul22) git-svn-id: svn://tug.org/texlive/trunk@63899 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/xelatex/xecjk/xeCJK-listings.sty | 4 +- Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg | 4 +- Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty | 61 +++++++++++++++++----- Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty | 4 +- .../tex/xelatex/xecjk/xunicode-addon.sty | 4 +- .../tex/xelatex/xecjk/xunicode-extra.def | 4 +- 6 files changed, 58 insertions(+), 23 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty index eac1338321b..c328a489127 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty @@ -29,10 +29,10 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx de49417 2022-06-04 19:40:54 +0800 Qing Lee $ +\GetIdInfo$Id: xeCJK.dtx 49800bb 2022-07-14 18:54:00 +0800 Qing Lee $ {xeCJK patch file for listings} \ProvidesExplPackage{xeCJK-listings} - {\ExplFileDate}{3.8.9}{\ExplFileDescription} + {\ExplFileDate}{3.9.0}{\ExplFileDescription} \DeclareOption* { \PassOptionsToPackage { \CurrentOption } { xeCJK } } \ProcessOptions \scan_stop: \RequirePackage { xeCJK } diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg index d99cb3de6fb..c8fa2962892 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg @@ -6,10 +6,10 @@ %% %% xeCJK.dtx (with options: `config') %% -\GetIdInfo$Id: xeCJK.dtx de49417 2022-06-04 19:40:54 +0800 Qing Lee $ +\GetIdInfo$Id: xeCJK.dtx 49800bb 2022-07-14 18:54:00 +0800 Qing Lee $ {Configuration file for xeCJK package} \ProvidesExplFile{\ExplFileName.cfg} - {\ExplFileDate}{3.8.9}{\ExplFileDescription} + {\ExplFileDate}{3.9.0}{\ExplFileDescription} %% %% diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty index 2cac4a0fb2b..2ff401c2514 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty @@ -29,10 +29,10 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx de49417 2022-06-04 19:40:54 +0800 Qing Lee $ +\GetIdInfo$Id: xeCJK.dtx 49800bb 2022-07-14 18:54:00 +0800 Qing Lee $ {Typesetting CJK scripts with XeLaTeX} \ProvidesExplPackage{\ExplFileName} - {\ExplFileDate}{3.8.9}{\ExplFileDescription} + {\ExplFileDate}{3.9.0}{\ExplFileDescription} \msg_new:nnn { xeCJK } { Require-XeTeX } { The~xeCJK~package~requires~XeTeX~to~function.\\\\ @@ -74,7 +74,9 @@ \ctex_if_format_at_least:nTF { 2020/10/01 } { \ctex_replace_package:nn { CJKfntef } { xeCJKfntef } } { \ctex_disable_package:n { CJKfntef } } -\RequirePackage { l3keys2e , xtemplate , xparse } +\cs_if_exist:NF \NewDocumentCommand + { \RequirePackage { xparse } } +\RequirePackage { xtemplate } \tl_new:N \l__xeCJK_tmp_tl \int_new:N \l__xeCJK_tmp_int \box_new:N \l__xeCJK_tmp_box @@ -831,7 +833,7 @@ } { \token_if_space:NTF \l_peek_token - { { \xeCJK_make_node:n { default-space } } } + { \xeCJK_make_space_node: } { { \xeCJK_make_node:n { default } } } } } @@ -864,7 +866,7 @@ } { \token_if_space:NTF \l_peek_token - { { \xeCJK_make_node:n { default-space } } } + { \xeCJK_make_space_node: } { { \xeCJK_make_node:n { normalspace } } } } } @@ -954,7 +956,10 @@ { \CJKglue } \prg_new_conditional:Npnn \xeCJK_if_last_node:n #1 { p , T , F , TF } { - \if_dim:w \use:c { c__xeCJK_#1_node_dim } = \tex_lastkern:D + \if_dim:w + \cs_if_exist_use:cTF { c__xeCJK_#1_node_dim } + { = \tex_lastkern:D } + { \use:c { c__xeCJK_#1_node_skip } = \tex_lastskip:D } \prg_return_true: \else: \prg_return_false: \fi: } \cs_new_protected:Npn \xeCJK_declare_node:n #1 @@ -964,25 +969,47 @@ { \dim_gset:cn } { \dim_const:cn } { c__xeCJK_#1_node_dim } { \g__xeCJK_node_int sp } } +\cs_new_protected:Npn \xeCJK_declare_glue_node:n #1 + { + \int_gincr:N \g__xeCJK_node_int + \skip_if_exist:cTF { c__xeCJK_#1_node_skip } + { \skip_gset:cn } { \skip_const:cn } + { c__xeCJK_#1_node_skip } { \g__xeCJK_node_int sp } + } \int_new:N \g__xeCJK_node_int \int_gset:Nn \g__xeCJK_node_int { 10 } \cs_new_protected:Npn \xeCJK_make_node:n #1 { \exp_args:Nc \__xeCJK_make_node:N { c__xeCJK_#1_node_dim } } \cs_new:Npn \__xeCJK_node:n #1 { \use:c { c__xeCJK_#1_node_dim } } +\cs_new:Npn \__xeCJK_gule_node:n #1 + { \use:c { c__xeCJK_#1_node_skip } } \cs_new_protected:Npn \__xeCJK_make_node:N #1 { \tex_kern:D - #1 \tex_kern:D #1 } \cs_new_protected:Npn \xeCJK_remove_node: - { \tex_unkern:D \tex_unkern:D } + { + \int_compare:nNnTF \tex_lastnodetype:D = { 12 } + { \tex_unkern:D \tex_unkern:D } + { + \int_compare:nNnT \tex_lastnodetype:D = { 11 } + { \tex_unskip:D \tex_unskip:D } + } + } \xeCJK_declare_node:n { CJK } \xeCJK_declare_node:n { CJK-space } \xeCJK_declare_node:n { default } -\xeCJK_declare_node:n { default-space } \xeCJK_declare_node:n { CJK-widow } \xeCJK_declare_node:n { normalspace } +\xeCJK_declare_glue_node:n { default-space } +\cs_new_eq:NN \xeCJK_make_space_node: \prg_do_nothing: +\cs_new_protected:Npx \__xeCJK_make_space_node: + { + \tex_hskip:D - \__xeCJK_gule_node:n { default-space } + \tex_hskip:D \__xeCJK_gule_node:n { default-space } + } \keys_define:nn { xeCJK / options } { CJKglue .code:n = @@ -1004,6 +1031,7 @@ { \bool_set_true:N \l__xeCJK_xecglue_bool \cs_set_eq:NN \xeCJK_space_or_xecglue: \CJKecglue + \cs_set_eq:NN \xeCJK_make_space_node: \__xeCJK_make_space_node: \cs_set_eq:NN \xeCJK_check_for_xglue: \__xeCJK_check_for_xglue: \cs_set_eq:NN \xeCJK_check_for_ecglue: \__xeCJK_check_for_xecglue: \cs_set_eq:NN @@ -1014,6 +1042,7 @@ { \bool_set_false:N \l__xeCJK_xecglue_bool \cs_set_eq:NN \xeCJK_space_or_xecglue: \xeCJK_space_glue: + \xeCJK_cs_clear:N \xeCJK_make_space_node: \xeCJK_cs_clear:N \xeCJK_check_for_xglue: \cs_set_eq:NN \xeCJK_check_for_ecglue: \__xeCJK_check_for_ecglue: \cs_set_eq:NN @@ -1026,6 +1055,7 @@ \cs_set_protected:Npn \CJKecglue {#1} \xeCJK_glue_to_skip:nN {#1} \l__xeCJK_ecglue_skip \cs_set_eq:NN \xeCJK_space_or_xecglue: \CJKecglue + \cs_set_eq:NN \xeCJK_make_space_node: \__xeCJK_make_space_node: \cs_set_eq:NN \xeCJK_check_for_xglue: \__xeCJK_check_for_xglue: \cs_set_eq:NN \xeCJK_check_for_ecglue: \__xeCJK_check_for_xecglue: \cs_set_eq:NN @@ -1113,7 +1143,7 @@ { \__xeCJK_node:n { CJK } } { \xeCJK_remove_node: \xeCJK_make_node:n { CJK-space } } { \__xeCJK_node:n { default } } - { \xeCJK_remove_node: \xeCJK_make_node:n { default-space } } + { \xeCJK_remove_node: \xeCJK_make_space_node: } } \group_align_safe_begin: \token_if_macro:NTF \l_peek_token @@ -1794,7 +1824,7 @@ \xeCJK_get_punct_bounds:No \c__xeCJK_right_tl \g__xeCJK_last_punct_tl \__xeCJK_punct_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl \group_align_safe_begin: - \tl_case:NoTF \l_peek_token + \token_case_meaning:NoTF \l_peek_token { \l__xeCJK_no_break_cs_case_tl } { \group_align_safe_end: @@ -1806,7 +1836,7 @@ \xeCJK_class_group_end: \__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl } -\prg_generate_conditional_variant:Nnn \tl_case:Nn { No } { TF , F } +\prg_generate_conditional_variant:Nnn \token_case_meaning:Nn { No } { TF , F } \cs_new_protected:Npn \xeCJK_check_FullRight_symbol:Nw #1 { \peek_remove_spaces:n { \__xeCJK_save_FullRight_symbol:N #1 } } \cs_new_protected:Npn \xeCJK_cs_case_keys_define:nNNnn #1#2#3#4#5 @@ -1996,7 +2026,7 @@ } \cs_new_protected:Npn \xeCJK_check_single_cs:NNn #1#2#3 { - \tl_case:NoF \l_peek_token + \token_case_meaning:NoF \l_peek_token { \l__xeCJK_check_single_cs_case_tl } { \use_iii:nnn } { \xeCJK_check_single_env:nnNn } @@ -4486,7 +4516,12 @@ } \defaultCJKfontfeatures { Script = CJK } \xeCJKsetwidth { ^^^^2013 } { 0.5 em } -\ProcessKeysOptions { xeCJK / options } +\cs_if_exist:NTF \ProcessKeyOptions + { \ProcessKeyOptions [ xeCJK / options ] } + { + \RequirePackage { l3keys2e } + \ProcessKeysOptions { xeCJK / options } + } \RequirePackage { fontspec } [ 2020/02/03 ] \tl_const:Nx \c__xeCJK_encoding_tl { \g_fontspec_encoding_tl } \keys_define:nn { xeCJK / options } diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty index 93017324c00..d979e844256 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty @@ -29,10 +29,10 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx de49417 2022-06-04 19:40:54 +0800 Qing Lee $ +\GetIdInfo$Id: xeCJK.dtx 49800bb 2022-07-14 18:54:00 +0800 Qing Lee $ {xeCJK font effect} \ProvidesExplPackage{xeCJKfntef} - {\ExplFileDate}{3.8.9}{\ExplFileDescription} + {\ExplFileDate}{3.9.0}{\ExplFileDescription} \PassOptionsToPackage { normalem } { ulem } \DeclareOption* { \PassOptionsToPackage { \CurrentOption } { ulem } } \ProcessOptions \scan_stop: diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty index 50a568239e4..26c747957d9 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty @@ -29,10 +29,10 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx de49417 2022-06-04 19:40:54 +0800 Qing Lee $ +\GetIdInfo$Id: xeCJK.dtx 49800bb 2022-07-14 18:54:00 +0800 Qing Lee $ {addon file for xunicode} \ProvidesExplPackage{xunicode-addon} - {\ExplFileDate}{3.8.9}{\ExplFileDescription} + {\ExplFileDate}{3.9.0}{\ExplFileDescription} \bool_lazy_or:nnF { \sys_if_engine_xetex_p: } { \sys_if_engine_luatex_p: } diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def index e3fcbcf7510..60e5bfb7799 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def +++ b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def @@ -27,10 +27,10 @@ %% %% ---------------------------------------------------------------------- %% -\GetIdInfo$Id: xeCJK.dtx de49417 2022-06-04 19:40:54 +0800 Qing Lee $ +\GetIdInfo$Id: xeCJK.dtx 49800bb 2022-07-14 18:54:00 +0800 Qing Lee $ {extra definition for xunicode} \ProvidesExplFile{xunicode-extra.def} - {\ExplFileDate}{3.8.9}{\ExplFileDescription} + {\ExplFileDate}{3.9.0}{\ExplFileDescription} \DeclareUTFSymbol\texthyphenationpoint{"2027} \DeclareUTFSymbol\texttwoemdash{"2E3A} \DeclareUTFComposite\textsuperscript -- cgit v1.2.3