From 863ce92b4332ab5f92ba66276c388bbb99e59be5 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 3 Feb 2016 23:03:09 +0000 Subject: xecjk (2feb16) git-svn-id: svn://tug.org/texlive/trunk@39568 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/xelatex/xecjk/xeCJK-listings.sty | 10 +- Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg | 4 +- Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty | 124 ++++++++++++--------- Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty | 11 +- .../tex/xelatex/xecjk/xunicode-addon.sty | 76 +++++++------ .../tex/xelatex/xecjk/xunicode-extra.def | 10 +- 6 files changed, 131 insertions(+), 104 deletions(-) (limited to 'Master/texmf-dist/tex/xelatex') diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty index 2ff396c76be..e4b52dd35c6 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty @@ -13,9 +13,9 @@ %% Leo Liu %% Qing Lee %% -%% Copyright (C) 2007--2015 Wenchang Sun -%% (C) 2009--2015 Leo Liu -%% (C) 2012--2015 Qing Lee +%% Copyright (C) 2007--2010 Wenchang Sun +%% (C) 2009--2016 Leo Liu +%% (C) 2012--2016 Qing Lee %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -31,11 +31,11 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 7321d12 2015-05-15 23:07:58 +0800 Qing Lee $ +\GetIdInfo$Id: xeCJK.dtx 2667062 2016-02-01 12:02:59 +0800 Qing Lee $ {xeCJK patch file for listings} \ProvidesExplPackage {xeCJK-listings} - {\ExplFileDate}{3.3.2}{\ExplFileDescription} + {\ExplFileDate}{3.3.3}{\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 7cf00c1becc..76461f6fdd3 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg @@ -6,11 +6,11 @@ %% %% xeCJK.dtx (with options: `config') %% -\GetIdInfo$Id: xeCJK.dtx 7321d12 2015-05-15 23:07:58 +0800 Qing Lee $ +\GetIdInfo$Id: xeCJK.dtx 2667062 2016-02-01 12:02:59 +0800 Qing Lee $ {Configuration file for xeCJK package} \ProvidesExplFile {\ExplFileName.cfg} - {\ExplFileDate}{3.3.2}{\ExplFileDescription} + {\ExplFileDate}{3.3.3}{\ExplFileDescription} %% %% diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty index 565ad48c4e2..78ae492ed29 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty @@ -13,9 +13,9 @@ %% Leo Liu %% Qing Lee %% -%% Copyright (C) 2007--2015 Wenchang Sun -%% (C) 2009--2015 Leo Liu -%% (C) 2012--2015 Qing Lee +%% Copyright (C) 2007--2010 Wenchang Sun +%% (C) 2009--2016 Leo Liu +%% (C) 2012--2016 Qing Lee %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -31,11 +31,11 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 7321d12 2015-05-15 23:07:58 +0800 Qing Lee $ +\GetIdInfo$Id: xeCJK.dtx 2667062 2016-02-01 12:02:59 +0800 Qing Lee $ {Typesetting CJK scripts with XeLaTeX} \ProvidesExplPackage {\ExplFileName} - {\ExplFileDate}{3.3.2}{\ExplFileDescription} + {\ExplFileDate}{3.3.3}{\ExplFileDescription} \msg_new:nnn { xeCJK } { Require-XeTeX } { The~xeCJK~package~requires~XeTeX~to~function.\\\\ @@ -43,7 +43,7 @@ instead~of~plain~"latex"~or~"pdflatex"~or~"lualatex".\\ Loading~xeCJK~will~abort! } -\xetex_if_engine:F { \msg_critical:nn { xeCJK } { Require-XeTeX } } +\sys_if_engine_xetex:F { \msg_critical:nn { xeCJK } { Require-XeTeX } } \msg_new:nnn { xeCJK } { l3-too-old } { Support~package~`#1'~too~old. \\\\ @@ -52,7 +52,7 @@ using~your~TeX~package~manager~or~from~CTAN.\\ \str_if_eq:nnT {#1} { expl3 } { Loading~xeCJK~will~abort! } } -\@ifpackagelater { expl3 } { 2014/07/20 } { } +\@ifpackagelater { expl3 } { 2015/09/24 } { } { \msg_critical:nnn { xeCJK } { l3-too-old } { expl3 } } \prg_new_conditional:Npnn \xeCJK_if_package_loaded:n #1 { p , T , F , TF } { @@ -120,15 +120,15 @@ } { \AtBeginDocument { \g__xeCJK_after_preamble_hook_tl } - \cs_new_protected_nopar:Npn \__xeCJK_document_left_hook: + \cs_new_protected_nopar:Npn \xeCJK@document@left@hook { \group_end: \g__xeCJK_at_end_preamble_hook_tl \group_begin: } - \cs_new_protected_nopar:Npn \__xeCJK_document_right_hook: + \cs_new_protected_nopar:Npn \xeCJK@document@right@hook { \scan_stop: \g__xeCJK_after_end_preamble_hook_tl \tex_ignorespaces:D } \cs_gset_nopar:Npx \document { - \__xeCJK_document_left_hook: + \xeCJK@document@left@hook \exp_not:o { \document } - \__xeCJK_document_right_hook: + \xeCJK@document@right@hook } } \__xeCJK_after_preamble:n @@ -324,7 +324,7 @@ \fi: } \cs_new_nopar:Npn \xeCJK_token_value_class:N #1 - { \XeTeXcharclass \xeCJK_token_value_charcode:N #1 } + { \xetex_charclass:D \xeCJK_token_value_charcode:N #1 } \cs_new_nopar:Npn \xeCJK_token_value_charcode:N #1 { \exp_after:wN \__xeCJK_get_charcode:w \token_to_meaning:N #1 \q_stop } \group_begin: @@ -334,7 +334,6 @@ { \cs_new_nopar:Npn \__xeCJK_get_charcode:w ##1 ~ ##2 ~ ##3 \q_stop { \int_eval:n { `##3 } } - \cs_new_eq:NN \xeCJK_xetex_mathcode:w \Umathcode } { \tl_if_empty:nTF {#5} @@ -348,12 +347,10 @@ { ( `##3 - "D800 ) * "400 + ( `##4 - "DC00 ) + "10000 } } } - \cs_new_eq:NN \xeCJK_xetex_mathcode:w \Umathcode } { \cs_new_nopar:Npn \__xeCJK_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop { \int_eval:n { \tl_if_empty:nTF { ##4 } { `##3 } { "20000 } } } - \cs_new_eq:NN \xeCJK_xetex_mathcode:w \XeTeXmathcode } } } @@ -380,8 +377,8 @@ xeCJKactive / false .code:n = { \makexeCJKinactive } , xeCJKactive .default:n = { true } } -\NewDocumentCommand \makexeCJKactive { } { \XeTeXinterchartokenstate = \c_one } -\NewDocumentCommand \makexeCJKinactive { } { \XeTeXinterchartokenstate = \c_zero } +\NewDocumentCommand \makexeCJKactive { } { \xetex_interchartokenstate:D = \c_one } +\NewDocumentCommand \makexeCJKinactive { } { \xetex_interchartokenstate:D = \c_zero } \char_set_catcode_ignore:n { "FEFF } \seq_new:N \g__xeCJK_class_seq \seq_new:N \g__xeCJK_new_class_seq @@ -414,10 +411,20 @@ Please~take~another~name. \\ } \xeCJK_save_class:nn { Default } { \c_zero } -\xeCJK_save_class:nn { CJK } { \c_one } -\xeCJK_save_class:nn { FullLeft } { \c_two } -\xeCJK_save_class:nn { FullRight } { \c_three } \xeCJK_save_class:nn { Boundary } { \c_two_hundred_fifty_five } +\int_compare:nNnTF { \xetex_charclass:D "4E00 } = \c_one + { + \xeCJK_save_class:nn { CJK } { \c_one } + \xeCJK_save_class:nn { FullLeft } { \c_two } + \xeCJK_save_class:nn { FullRight } { \c_three } + \int_const:Nn \c__xeCJK_class_begin_int { \c_three } + } + { + \xeCJK_new_class:n { CJK } + \xeCJK_new_class:n { FullLeft } + \xeCJK_new_class:n { FullRight } + \int_const:Nn \c__xeCJK_class_begin_int { \c_zero } + } \xeCJK_new_class:n { HalfLeft } \xeCJK_new_class:n { HalfRight } \xeCJK_new_class:n { NormalSpace } @@ -427,7 +434,7 @@ { "28 , "5B , "60 , "7B , "2329 } \clist_const:Nn \c__xeCJK_HalfRight_chars_clist { "21 , "22 , "25 , "27 , "29 , "2C , "2E , "3A , "3B , "3F , "5D , "7D , "232A } -\clist_const:Nn \c__xeCJK_NormalSpace_chars_clist { "2D , "2F , "5C , "2013 } +\clist_const:Nn \c__xeCJK_NormalSpace_chars_clist { "2D , "2F , "5C } \clist_const:Nn \c__xeCJK_OP_chars_clist { "2018 , "201C , @@ -444,7 +451,7 @@ } \clist_const:Nn \c__xeCJK_CL_chars_clist { - "00B7 , "2019 , "201D , "2014 , "2015 , "2025 , "2026 , "2027 , "2500 , + "00B7 , "2019 , "201D , "2013 , "2014 , "2025 , "2026 , "2027 , "3001 , "3002 , "3009 , "300B , "300D , "300F , "3011 , "3015 , "3017 , "3019 , "301B , "301E , "301F , "FE11 , "FE12 , "FE18 , "FE36 , "FE38 , "FE3A , "FE3C , "FE3E , "FE40 , "FE42 , "FE44 , "FE48 , "FE50 , "FE52 , "FE5A , "FE5C , "FE5E , @@ -507,6 +514,7 @@ "20000 -> "2A6DF , "2A700 -> "2B73F , "2B740 -> "2B81F , + "2B820 -> "2CEA1 , "2F800 -> "2FA1F } \clist_const:Nn \c__xeCJK_CM_chars_clist @@ -572,12 +580,15 @@ \int_set:Nn #4 { \int_max:nn {#1} { \IfNoValueTF {#2} {#1} {#2} } } } } -\int_set:Nn \l__xeCJK_begin_int { "AC00 } -\int_set:Nn \l__xeCJK_end_int { "D7A3 } -\xeCJK_int_until_do:nn { \l__xeCJK_begin_int > \l__xeCJK_end_int } +\token_if_letter:NF ^^^^ac00 { - \char_set_catcode_letter:n { \l__xeCJK_begin_int } - \int_incr:N \l__xeCJK_begin_int + \int_set:Nn \l__xeCJK_begin_int { "AC00 } + \int_set:Nn \l__xeCJK_end_int { "D7A3 } + \xeCJK_int_until_do:nn { \l__xeCJK_begin_int > \l__xeCJK_end_int } + { + \char_set_catcode_letter:n { \l__xeCJK_begin_int } + \int_incr:N \l__xeCJK_begin_int + } } \cs_new_protected_nopar:Npn \xeCJK_set_char_class:nnn #1#2#3 { @@ -585,7 +596,7 @@ \int_set:Nn \l__xeCJK_tmp_int {#3} \xeCJK_int_until_do:nn { \l__xeCJK_begin_int > \l__xeCJK_end_int } { - \XeTeXcharclass \l__xeCJK_begin_int = \l__xeCJK_tmp_int + \xetex_charclass:D \l__xeCJK_begin_int = \l__xeCJK_tmp_int \int_incr:N \l__xeCJK_begin_int } } @@ -593,12 +604,12 @@ { \int_set:Nn \l__xeCJK_tmp_int { \xeCJK_class_num:n {#2} } \clist_map_inline:cn { c__xeCJK_#1_chars_clist } - { \XeTeXcharclass ##1 = \l__xeCJK_tmp_int } + { \xetex_charclass:D ##1 = \l__xeCJK_tmp_int } } \NewDocumentCommand \normalspacedchars { m } { \tl_map_inline:nn {#1} - { \XeTeXcharclass `##1 = \xeCJK_class_num:n { NormalSpace } } + { \xetex_charclass:D `##1 = \xeCJK_class_num:n { NormalSpace } } } \NewDocumentCommand \xeCJKResetPunctClass { } { @@ -617,10 +628,10 @@ } \xeCJKResetCharClass \cs_new_protected_nopar:Npn \xeCJK_inter_class_toks:nnn #1#2#3 - { \XeTeXinterchartoks \xeCJK_class_num:n {#1} ~ \xeCJK_class_num:n {#2} = {#3} } + { \xetex_interchartoks:D \xeCJK_class_num:n {#1} ~ \xeCJK_class_num:n {#2} = {#3} } \cs_generate_variant:Nn \xeCJK_inter_class_toks:nnn { nnc , nnx } \cs_new_nopar:Npn \xeCJK_get_inter_class_toks:nn #1#2 - { \tex_the:D \XeTeXinterchartoks \xeCJK_class_num:n {#1} ~ \xeCJK_class_num:n {#2} } + { \tex_the:D \xetex_interchartoks:D \xeCJK_class_num:n {#1} ~ \xeCJK_class_num:n {#2} } \cs_new_protected_nopar:Npn \xeCJK_clear_inter_class_toks:nn #1#2 { \xeCJK_inter_class_toks:nnn {#1} {#2} { \prg_do_nothing: } } \cs_new_protected_nopar:Npn \xeCJK_pre_inter_class_toks:nnn #1#2#3 @@ -1674,11 +1685,11 @@ { \__xeCJK_switch_font:nn {#2} {#1} } } } -\cs_if_exist:NF \XeTeXglyphbounds +\cs_if_exist:NF \xetex_glyphbounds:D { \__xeCJK_msg_new:nn { XeTeX-too-old } { - \token_to_str:N \XeTeXglyphbounds \ is~not~defined.\\ + \token_to_str:N \xetex_glyphbounds:D \ is~not~defined.\\ CJK~punctuation~kerning~will~not~be~available.\\\\ You~have~to~update~XeTeX~to~the~version~0.9995.0~or~later. } @@ -2261,8 +2272,8 @@ \cs_generate_variant:Nn \xeCJK_calc_punct_dimen:N { f } \cs_new_nopar:Npn \xeCJK_glyph_bounds:NN #1#2 { - \dim_use:N \XeTeXglyphbounds #1 ~ - \XeTeXcharglyph \xeCJK_token_value_charcode:N #2 \exp_stop_f: + \dim_use:N \xetex_glyphbounds:D #1 ~ + \xetex_charglyph:D \xeCJK_token_value_charcode:N #2 \exp_stop_f: } \keys_define:nn { xeCJK / options } { @@ -3149,7 +3160,7 @@ \__xeCJK_check_num_range:nnNN {#1} {#2} \l__xeCJK_begin_int \l__xeCJK_end_int \xeCJK_int_until_do:nn { \l__xeCJK_begin_int > \l__xeCJK_end_int } { - \tex_global:D \xeCJK_xetex_mathcode:w + \tex_global:D \utex_mathcode:D \l__xeCJK_begin_int = #3 ~ #4 \l__xeCJK_begin_int \int_incr:N \l__xeCJK_begin_int } @@ -3326,7 +3337,7 @@ { \int_set:Nn \l__xeCJK_tmp_int { \xeCJK_class_num:n {#1} } \clist_map_inline:cn { c__xeCJK_#1_chars_clist } - { \XeTeXcharclass ##1 = \l__xeCJK_tmp_int } + { \xetex_charclass:D ##1 = \l__xeCJK_tmp_int } } \bool_new:N \l__xeCJK_verb_addon_bool \cs_new_eq:NN \CJKfixedspacing \xeCJKVerbAddon @@ -3400,7 +3411,7 @@ \xeCJK_glyph_if_exist:NTF { ^^^^2423 } { ^^^^2423 } { - \int_compare:nNnTF { \XeTeXfonttype \tex_font:D } = \c_zero + \int_compare:nNnTF { \xetex_fonttype:D \tex_font:D } = \c_zero { \str_if_eq_x:nnTF { \f@family } { \ttdefault } { \c_catcode_other_space_tl } @@ -3530,11 +3541,12 @@ WidowPenalty = \c_ten_thousand , NoBreakCS = { \footnote \footnotemark \nobreak } , KaiMingPunct = { ^^^^3002 ^^^^ff0e ^^^^ff1f ^^^^ff01 } , - LongPunct = { ^^^^2014 ^^^^2015 ^^^^2500 ^^^^2025 ^^^^2026 } , - MiddlePunct = { ^^^^2014 ^^^^2015 ^^^^2027 ^^^^2500 ^^^^00b7 ^^^^30fb ^^^^ff65 } , + LongPunct = { ^^^^2014 ^^^^2025 ^^^^2026 } , + MiddlePunct = { ^^^^2013 ^^^^2014 ^^^^2027 ^^^^00b7 ^^^^30fb ^^^^ff65 } , AllowBreakBetweenPuncts = false } \defaultCJKfontfeatures { Script = CJK } +\xeCJKsetwidth{^^^^2013}{0.5em} \ProcessKeysOptions { xeCJK / options } \RequirePackage { fontspec } [ 2012/05/01 ] \RequirePackage { xunicode-addon } @@ -3764,7 +3776,7 @@ \tl_replace_once:Nnn \sw@slant { \fix@penalty } { \xeCJK@fix@penalty } \cs_new_protected_nopar:Npn \xeCJK@italiccorr { - \int_compare:nNnTF \XeTeXinterchartokenstate > \c_zero + \int_compare:nNnTF \xetex_interchartokenstate:D > \c_zero { \xeCJK_if_last_node:nTF { default } { @@ -3800,10 +3812,11 @@ \__xeCJK_after_end_preamble:n { \int_compare:nNnF - { \c_three + \seq_count:N \g__xeCJK_new_class_seq } = + { \c__xeCJK_class_begin_int + \seq_count:N \g__xeCJK_new_class_seq } = { \g__xeCJK_xetex_allocator_int } { - \int_step_inline:nnnn \c_four \c_one \g__xeCJK_xetex_allocator_int + \int_step_inline:nnnn + { \c__xeCJK_class_begin_int + \c_one } \c_one \g__xeCJK_xetex_allocator_int { \seq_if_in:NnF \g__xeCJK_new_class_seq {#1} { \__xeCJK_set_others_toks:n {#1} } @@ -3839,9 +3852,9 @@ \cs_new_eq:NN \__xeCJK_group_end: \group_end: \tl_map_inline:nn { - \textellipsis \textemdash \textperiodcentered \textcentereddot - \textquoteleft \textquoteright \textquotedblleft \textquotedblright - \textcdot \textgrq \textgrqq + \textellipsis \textendash \textemdash \textperiodcentered + \textcentereddot \textquoteleft \textquoteright \textquotedblleft + \textquotedblright \textcdot \textgrq \textgrqq } { \AtBeginUTFCommand [#1] { \__xeCJK_group_begin: \makexeCJKinactive } @@ -3881,7 +3894,7 @@ \char_set_catcode_other:n { 183 } \cs_new_protected_nopar:Npn \__xeCJK_Default_Bxii: { - \int_compare:nNnTF \XeTeXinterchartokenstate > \c_zero + \int_compare:nNnTF \xetex_interchartokenstate:D > \c_zero { \__xeCJK_group_begin: \makexeCJKinactive ^^b7 \__xeCJK_group_end: } { ^^b7 } } @@ -3960,8 +3973,14 @@ } \__xeCJK_at_end_preamble:n { - \xeCJK_if_package_loaded:nT { everysel } - { \cs_undefine:c { ver@CJK . \c__xeCJK_package_ext_tl } } + \clist_map_inline:nn { everysel , microtype } + { + \xeCJK_if_package_loaded:nT {#1} + { + \cs_undefine:c { ver@CJK . \c__xeCJK_package_ext_tl } + \clist_map_break: + } + } } \cs_new_protected:Npn \CJKaddEncHook #1#2 { @@ -3980,11 +3999,10 @@ { \cs_new_eq:NN \Unicode \xeCJK_unicode_char:nn } } } -\str_if_eq_x:nnTF - { \token_to_str:N \Ucharcat } { \token_to_meaning:N \Ucharcat } +\cs_if_exist:NTF \utex_charcat:D { \cs_new_protected_nopar:Npn \xeCJK_char_from_charcode:Nn #1#2 - { \tl_const:Nx #1 { \Ucharcat \int_eval:n {#2} ~ \c_eleven } } + { \tl_const:Nx #1 { \char_generate:nn {#2} { \c_eleven } } } } { \cs_new_protected_nopar:Npn \xeCJK_char_from_charcode:Nn #1#2 diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty index de0230a2d9c..6eb48c1f651 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty @@ -13,9 +13,9 @@ %% Leo Liu %% Qing Lee %% -%% Copyright (C) 2007--2015 Wenchang Sun -%% (C) 2009--2015 Leo Liu -%% (C) 2012--2015 Qing Lee +%% Copyright (C) 2007--2010 Wenchang Sun +%% (C) 2009--2016 Leo Liu +%% (C) 2012--2016 Qing Lee %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -31,11 +31,11 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 7321d12 2015-05-15 23:07:58 +0800 Qing Lee $ +\GetIdInfo$Id: xeCJK.dtx 2667062 2016-02-01 12:02:59 +0800 Qing Lee $ {xeCJK font effect} \ProvidesExplPackage {xeCJKfntef} - {\ExplFileDate}{3.3.2}{\ExplFileDescription} + {\ExplFileDate}{3.3.3}{\ExplFileDescription} \PassOptionsToPackage { normalem } { ulem } \DeclareOption* { \PassOptionsToPackage { \CurrentOption } { ulem } } \ProcessOptions \scan_stop: @@ -977,6 +977,7 @@ } \NewEnviron { CJKfilltwosides* } [ 2 ] [ c ] { + \xeCJK_leave_vmode: \cs_set_eq:NN \CJKglue \xeCJK_fntef_hfilll: \tl_set:Nn \arraystretch { 1 } \cs_if_free:NF \extrarowheight diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty index a578dfd8b21..e033226ccfe 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty @@ -13,9 +13,9 @@ %% Leo Liu %% Qing Lee %% -%% Copyright (C) 2007--2015 Wenchang Sun -%% (C) 2009--2015 Leo Liu -%% (C) 2012--2015 Qing Lee +%% Copyright (C) 2007--2010 Wenchang Sun +%% (C) 2009--2016 Leo Liu +%% (C) 2012--2016 Qing Lee %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -31,38 +31,46 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 7321d12 2015-05-15 23:07:58 +0800 Qing Lee $ +\GetIdInfo$Id: xeCJK.dtx 2667062 2016-02-01 12:02:59 +0800 Qing Lee $ {addon file for xunicode} \ProvidesExplPackage {xunicode-addon} - {\ExplFileDate}{3.3.2}{\ExplFileDescription} -\pdftex_if_engine:T + {\ExplFileDate}{3.3.3}{\ExplFileDescription} +\bool_if:nF { - \msg_new:nnnn { xunicode-addon } { cannot-use-pdftex } + \sys_if_engine_xetex_p: || + \sys_if_engine_luatex_p: + } + { + \msg_new:nnnn { xunicode-addon } { xetex-luatex } { This~package~requires~either~XeTeX~or~LuaTeX~to~function.} { You~must~change~your~typesetting~engine~to,~e.g.,\\ "xelatex"~or~"lualatex"~instead~of~plain~"latex"~or~"pdflatex". } - \msg_critical:nn { xunicode-addon } { cannot-use-pdftex } + \msg_critical:nn { xunicode-addon } { xetex-luatex } } \RequirePackage { xparse } \clist_new:N \g__xunadd_encname_clist +\tl_if_exist:NT \UTFencname + { \clist_gput_right:Nx \g__xunadd_encname_clist { \UTFencname } } \DeclareOption* - { \clist_gput_left:NV \g__xunadd_encname_clist \CurrentOption } + { \clist_gput_right:NV \g__xunadd_encname_clist \CurrentOption } \ProcessOptions \scan_stop: -\tl_if_exist:NT \UTFencname - { \clist_gput_left:Nx \g__xunadd_encname_clist { \UTFencname } } \@ifpackageloaded { xunicode } { } { \clist_get:NNF \g__xunadd_encname_clist \UTFencname { - \xetex_if_engine:TF - { \tl_set:Nn \UTFencname { EU1 } } - { \tl_set:Nn \UTFencname { EU2 } } - \clist_set_eq:NN \g__xunadd_encname_clist \UTFencname + \file_if_exist:nTF { tuenc.def } + { \tl_set:Nn \UTFencname { TU } } + { + \sys_if_engine_xetex:TF + { \tl_set:Nn \UTFencname { EU1 } } + { \tl_set:Nn \UTFencname { EU2 } } + } + \clist_gset_eq:NN \g__xunadd_encname_clist \UTFencname } - \xetex_if_engine:TF + \sys_if_engine_xetex:TF { \RequirePackage { xunicode } } { \cs_set_eq:NN \__xunadd_tmp:w \XeTeXpicfile @@ -71,46 +79,46 @@ \cs_set_eq:NN \XeTeXpicfile \__xunadd_tmp:w } } -\AtEndOfPackage { \ReloadXunicode { \g__xunadd_encname_clist } } +\AtEndOfPackage { \__xunadd_reload:N \g__xunadd_encname_clist } \RenewDocumentCommand \ReloadXunicode { m } { \clist_set:Nx \l__xunadd_encname_clist {#1} - \clist_remove_duplicates:N \l__xunadd_encname_clist + \__xunadd_reload:N \l__xunadd_encname_clist + } +\cs_new_protected:Npn \__xunadd_reload:N #1 + { + \cs_set_eq:NN \__xunadd_tmp:w \iftipaonetoken + \cs_set_eq:NN \iftipaonetoken \scan_stop: \use:x { \ExplSyntaxOff \char_set_catcode_letter:n { 64 } - \__xunadd_reload:N \exp_not:N \l__xunadd_encname_clist + \exp_not:N \clist_map_function:NN \exp_not:N #1 \__xunadd_reload_aux:n \bool_if:NTF \l__kernel_expl_bool { \ExplSyntaxOn } { \ExplSyntaxOff } \char_set_catcode:nn { 64 } { \char_value_catcode:n { 64 } } } + \cs_set_eq:NN \iftipaonetoken \__xunadd_tmp:w } -\cs_new_protected:Npn \__xunadd_reload:N #1 +\cs_new_protected:Npn \__xunadd_reload_aux:n #1 { - \cs_set_eq:NN \__xunadd_tmp:w \iftipaonetoken - \cs_set_eq:NN \iftipaonetoken \scan_stop: - \clist_map_inline:Nn #1 + \cs_if_exist:cTF { T@ #1 } { - \cs_if_exist:cTF { T@ ##1 } - { - \tl_set:Nx \UTFencname {##1} - \clist_gput_right:Nx \g__xunadd_encname_clist {##1} - \file_input:n { xunicode.sty } - \file_input:n { xunicode-extra.def } - } - { \msg_error:nnn { xunicode-addon } { encoding-unknown } {##1} } + \tl_set:Nn \UTFencname {#1} + \clist_if_in:NnF \g__xunadd_encname_clist {#1} + { \clist_gput_right:Nn \g__xunadd_encname_clist {#1} } + \file_input:n { xunicode.sty } + \file_input:n { xunicode-extra.def } } - \cs_set_eq:NN \iftipaonetoken \__xunadd_tmp:w - \clist_gremove_duplicates:N \g__xunadd_encname_clist + { \msg_error:nnn { xunicode-addon } { encoding-unknown } {#1} } } \clist_new:N \l__xunadd_encname_clist \msg_new:nnnn { xunicode-addon } { encoding-unknown } { Encoding~scheme~"#1"~unknown. } { You~may~use \\\\ - \token_to_str:N \usepackage [ #1 , \encodingdefault ] {fontenc} \\\\ + \token_to_str:N \usepackage [ #1 , \encodingdefault ] \{fontenc\} \\\\ before~xunicode-addon~or~xunicode. } \RenewDocumentCommand \DeclareUTFmathsymbols { m } diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def index 6a5b9d45c37..242904283f7 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def +++ b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def @@ -13,9 +13,9 @@ %% Leo Liu %% Qing Lee %% -%% Copyright (C) 2007--2015 Wenchang Sun -%% (C) 2009--2015 Leo Liu -%% (C) 2012--2015 Qing Lee +%% Copyright (C) 2007--2010 Wenchang Sun +%% (C) 2009--2016 Leo Liu +%% (C) 2012--2016 Qing Lee %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -29,11 +29,11 @@ %% The Current Maintainer of this work are Leo Liu and Qing Lee. %% ----------------------------------------------------------------- %% -\GetIdInfo$Id: xeCJK.dtx 7321d12 2015-05-15 23:07:58 +0800 Qing Lee $ +\GetIdInfo$Id: xeCJK.dtx 2667062 2016-02-01 12:02:59 +0800 Qing Lee $ {extra definition for xunicode} \ProvidesExplFile {xunicode-extra.def} - {\ExplFileDate}{3.3.2}{\ExplFileDescription} + {\ExplFileDate}{3.3.3}{\ExplFileDescription} \ExplSyntaxOff \DeclareUTFComposite\textsuperscript \DeclareUTFComposite\textsubscript -- cgit v1.2.3