diff options
author | Karl Berry <karl@freefriends.org> | 2015-05-15 21:47:05 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-05-15 21:47:05 +0000 |
commit | ff006c2d366e4f0f3503a131959ab1ae04ea5e5f (patch) | |
tree | 5bd1fb5973b570c58af7743d199882d28b2a17fd /Master/texmf-dist/tex | |
parent | da5eaf8777934443b5a33ff8ed1d8c195c1e3034 (diff) |
xecjk (15may15)
git-svn-id: svn://tug.org/texlive/trunk@37409 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty | 106 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg (renamed from Master/texmf-dist/tex/xelatex/xecjk/config/xeCJK.cfg) | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty | 182 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty | 14 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty | 24 | ||||
-rw-r--r-- | Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def | 14 |
6 files changed, 202 insertions, 142 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty index e8f62332b2f..2ff396c76be 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty @@ -6,8 +6,6 @@ %% %% xeCJK.dtx (with options: `listings') %% -%% $Id: xeCJK.dtx 750 2014-12-26 08:13:35Z sobenlee@gmail.com $ -%% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $ %% ----------------------------------------------------------------- %% Author: %% Wenchang Sun <sunwch@nankai.edu.cn> @@ -15,9 +13,9 @@ %% Leo Liu <leoliu.pku@gmail.com> %% Qing Lee <sobenlee@gmail.com> %% -%% Copyright (C) 2007--2014 Wenchang Sun -%% (C) 2009--2014 Leo Liu -%% (C) 2012--2014 Qing Lee +%% Copyright (C) 2007--2015 Wenchang Sun +%% (C) 2009--2015 Leo Liu +%% (C) 2012--2015 Qing Lee %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -33,11 +31,11 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 750 2014-12-26 08:13:35Z sobenlee@gmail.com $ +\GetIdInfo$Id: xeCJK.dtx 7321d12 2015-05-15 23:07:58 +0800 Qing Lee <sobenlee@gmail.com> $ {xeCJK patch file for listings} \ProvidesExplPackage {xeCJK-listings} - {\ExplFileDate}{3.3.0}{\ExplFileDescription} + {\ExplFileDate}{3.3.2}{\ExplFileDescription} \DeclareOption* { \PassOptionsToPackage { \CurrentOption } { xeCJK } } \ProcessOptions \scan_stop: \RequirePackage { xeCJK } @@ -48,47 +46,58 @@ { \tl_set_eq:NN \l_xeCJK_punct_style_tl \c__xeCJK_punct_style_plain_tl \l__xeCJK_restore_listings_toks_tl - \__xeCJK_listings_output_IVS: + \__xeCJK_listings_output_CM: } \lst@AddToHook { PreSet } { \bool_set_true:N \l__xeCJK_listings_env_bool } \cs_new_protected_nopar:Npn \__xeCJK_listings_initial_hook: { \tex_noindent:D - \bool_gset_false:N \g__xeCJK_listings_IVS_bool + \bool_gset_false:N \g__xeCJK_listings_CM_bool \tl_put_left:Nn \lst@numberstyle { \l__xeCJK_restore_listings_toks_tl } \xeCJK_add_to_shipout:n { \l__xeCJK_restore_listings_toks_tl } \lst@ifbreaklines \cs_set_eq:NN \__xeCJK_listings_CJK_toks_hook: \__xeCJK_listings_breaklines_toks: + \tl_if_empty:NF \lst@prebreak + { \tl_put_left:Nn \lst@prebreak { \l__xeCJK_restore_listings_toks_tl } } + \tl_if_empty:NF \lst@postbreak + { \tl_put_left:Nn \lst@postbreak { \l__xeCJK_restore_listings_toks_tl } } \fi: + \int_set:Nn \l__xeCJK_listings_max_char_int + { \lst@ifec 255 \else: 127 \fi: } } +\int_new:N \l__xeCJK_listings_max_char_int \cs_new_protected_nopar:Npn \__xeCJK_listings_toks_hook: { - \tl_set:Nx \l__xeCJK_restore_listings_toks_tl + \tl_clear:N \l__xeCJK_restore_listings_toks_tl + \seq_map_function:NN + \g__xeCJK_class_seq \__xeCJK_backup_inter_class_toks:n + \seq_map_inline:Nn \g__xeCJK_non_CJK_class_seq { - \__xeCJK_backup_inter_class_toks:nn { Boundary } { Default } - \__xeCJK_backup_inter_class_toks:nn { Boundary } { CJK } - \__xeCJK_backup_inter_class_toks:nn { Boundary } { IVS } - \__xeCJK_backup_inter_class_toks:nn { Boundary } { HangulJamo } - \__xeCJK_backup_inter_class_toks:nn { Boundary } { FullLeft } - \__xeCJK_backup_inter_class_toks:nn { Boundary } { FullRight } - } - \seq_map_inline:Nn \g__xeCJK_CJK_sub_class_seq - { - \tl_put_right:Nx \l__xeCJK_restore_listings_toks_tl - { \__xeCJK_backup_inter_class_toks:nn { Boundary } { CJK/##1 } } + \str_if_eq:nnF { ##1 } { Boundary } + { + \xeCJK_inter_class_toks:nnn { Boundary } { ##1 } + { \__xeCJK_listings_process_Default:nN { ##1 } } + } } - \xeCJK_inter_class_toks:nnn { Boundary } { Default } - { \__xeCJK_listings_process_Default:N } - \xeCJK_inter_class_toks:nnn { Boundary } { IVS } - { \__xeCJK_listings_process_IVS:nN { \c_zero } } + \xeCJK_inter_class_toks:nnn { Boundary } { CM } + { \__xeCJK_listings_process_CM:nN { \c_zero } } \__xeCJK_listings_CJK_toks_hook: } -\tl_new:N \l__xeCJK_restore_listings_toks_tl -\cs_new_nopar:Npn \__xeCJK_backup_inter_class_toks:nn #1#2 +\cs_new_protected_nopar:Npn \__xeCJK_backup_inter_class_toks:n #1 { - \xeCJK_inter_class_toks:nnn {#1} {#2} - { \xeCJK_get_inter_class_toks:nn {#1} {#2} } + \tl_set:Nx \l__xeCJK_tmp_tl + { \xeCJK_get_inter_class_toks:nn { Boundary } {#1} } + \tl_put_right:Nx \l__xeCJK_restore_listings_toks_tl + { + \xeCJK_inter_class_toks:nnn { Boundary } {#1} + { + \tl_if_empty:NTF \l__xeCJK_tmp_tl + { \exp_not:N \prg_do_nothing: } + { \exp_not:o \l__xeCJK_tmp_tl } + } + } } +\tl_new:N \l__xeCJK_restore_listings_toks_tl \cs_new_protected_nopar:Npn \__xeCJK_listings_CJK_toks_hook: { \xeCJK_inter_class_toks:nnn { Boundary } { CJK } @@ -121,11 +130,24 @@ { \__xeCJK_listings_process_breaklines_CJK:nN { \c_two } } } } -\cs_new_protected_nopar:Npn \__xeCJK_listings_process_Default:N #1 +\cs_new_protected_nopar:Npn \__xeCJK_listings_process_Default:nN #1#2 + { + \int_compare:nNnTF + { \xeCJK_token_value_charcode:N #2 } > \l__xeCJK_listings_max_char_int + { + \token_if_letter:NTF #2 + { \lst@ProcessLetter #2 } + { \lst@ProcessOther #2 } + } + { \__xeCJK_listings_output_Default:nN {#1} #2 } + } +\cs_new_protected_nopar:Npn \__xeCJK_listings_output_Default:nN #1#2 { - \token_if_letter:NTF #1 - { \lst@ProcessLetter #1 } - { \lst@ProcessOther #1 } + \group_begin: + \xeCJK_clear_inter_class_toks:nn { Boundary } {#1} + \xeCJK_inter_class_toks:nnn {#1} { Boundary } { \group_end: } + #2 + \scan_stop: } \cs_new_protected_nopar:Npn \__xeCJK_listings_process_CJK:nN #1#2 { @@ -240,25 +262,25 @@ \lst@ifbreaklines \int_zero:N \l__xeCJK_listings_flag_int \fi: \tex_futurelet:D \lst@lastother \lst@Append } -\cs_new_protected_nopar:Npn \__xeCJK_listings_process_IVS:nN +\cs_new_protected_nopar:Npn \__xeCJK_listings_process_CM:nN { \reverse_if:N \lst@ifflexible - \bool_gset_true:N \g__xeCJK_listings_IVS_bool + \bool_gset_true:N \g__xeCJK_listings_CM_bool \fi: \__xeCJK_listings_process_letter:nN } -\cs_new_protected_nopar:Npn \__xeCJK_listings_output_IVS: +\cs_new_protected_nopar:Npn \__xeCJK_listings_output_CM: { \reverse_if:N \lst@ifflexible - \bool_if:NT \g__xeCJK_listings_IVS_bool + \bool_if:NT \g__xeCJK_listings_CM_bool { - \bool_gset_false:N \g__xeCJK_listings_IVS_bool + \bool_gset_false:N \g__xeCJK_listings_CM_bool \xeCJK_cs_clear:N \lst@FillOutputBox \cs_set_eq:NN \CJKglue \tex_hss:D } \fi: } -\bool_new:N \g__xeCJK_listings_IVS_bool +\bool_new:N \g__xeCJK_listings_CM_bool \cs_new_protected:Npn \__xeCJK_listings_peek_active_loop:TF #1#2#3 { \token_if_active:NTF #3 @@ -267,7 +289,7 @@ \token_if_cs:NTF #3 { #2#3 } { - \int_compare:nNnTF { `#3 } > { \lst@ifec 255 \else: 127 \fi: } + \int_compare:nNnTF { `#3 } > { \l__xeCJK_listings_max_char_int } { \__xeCJK_listings_peek_active_loop:TF { #1#3 } { #2#3 } } { #2#3 } } @@ -284,7 +306,7 @@ \cs_new_protected_nopar:Npn \__xeCJK_listings_inline_group:w { \exp_after:wN \__xeCJK_listings_inline_group:n - \exp_after:wN { \if_false: } \fi: + \exp_after:wN { \if_int_compare:w `} = \c_zero \fi: } \cs_set_eq:NN \lst@InlineGJ \__xeCJK_listings_inline_group:w \cs_new_protected:Npn \__xeCJK_listings_inline_group:n #1 @@ -330,7 +352,7 @@ %% xeCJK-example-CJKfntef.tex, %% xeCJK-example-punctstyle.tex, %% xeCJK-example-verbatim.tex, -%% xeCJK-example-IVS.tex, +%% xeCJK-example-CM.tex, %% xeCJK-example-listings.tex, %% xunicode-symbols.tex, %% xunicode-commands.tex, diff --git a/Master/texmf-dist/tex/xelatex/xecjk/config/xeCJK.cfg b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg index b336cc017f1..7cf00c1becc 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/config/xeCJK.cfg +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg @@ -6,11 +6,11 @@ %% %% xeCJK.dtx (with options: `config') %% -\GetIdInfo$Id: xeCJK.dtx 750 2014-12-26 08:13:35Z sobenlee@gmail.com $ +\GetIdInfo$Id: xeCJK.dtx 7321d12 2015-05-15 23:07:58 +0800 Qing Lee <sobenlee@gmail.com> $ {Configuration file for xeCJK package} \ProvidesExplFile {\ExplFileName.cfg} - {\ExplFileDate}{3.3.0}{\ExplFileDescription} + {\ExplFileDate}{3.3.2}{\ExplFileDescription} %% %% diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty index 95567ec2e8f..565ad48c4e2 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty @@ -6,8 +6,6 @@ %% %% xeCJK.dtx (with options: `package') %% -%% $Id: xeCJK.dtx 750 2014-12-26 08:13:35Z sobenlee@gmail.com $ -%% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $ %% ----------------------------------------------------------------- %% Author: %% Wenchang Sun <sunwch@nankai.edu.cn> @@ -15,9 +13,9 @@ %% Leo Liu <leoliu.pku@gmail.com> %% Qing Lee <sobenlee@gmail.com> %% -%% Copyright (C) 2007--2014 Wenchang Sun -%% (C) 2009--2014 Leo Liu -%% (C) 2012--2014 Qing Lee +%% Copyright (C) 2007--2015 Wenchang Sun +%% (C) 2009--2015 Leo Liu +%% (C) 2012--2015 Qing Lee %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -33,11 +31,11 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 750 2014-12-26 08:13:35Z sobenlee@gmail.com $ +\GetIdInfo$Id: xeCJK.dtx 7321d12 2015-05-15 23:07:58 +0800 Qing Lee <sobenlee@gmail.com> $ {Typesetting CJK scripts with XeLaTeX} \ProvidesExplPackage {\ExplFileName} - {\ExplFileDate}{3.3.0}{\ExplFileDescription} + {\ExplFileDate}{3.3.2}{\ExplFileDescription} \msg_new:nnn { xeCJK } { Require-XeTeX } { The~xeCJK~package~requires~XeTeX~to~function.\\\\ @@ -328,25 +326,39 @@ \cs_new_nopar:Npn \xeCJK_token_value_class:N #1 { \XeTeXcharclass \xeCJK_token_value_charcode:N #1 } \cs_new_nopar:Npn \xeCJK_token_value_charcode:N #1 - { \exp_after:wN \__xeCJK_token_value_charcode:w \token_to_meaning:N #1 \q_stop } -\fp_compare:nNnTF { \int_use:N \xetex_XeTeXversion:D \XeTeXrevision } > { 0.9998 } - { - \cs_new_nopar:Npn \__xeCJK_token_value_charcode:w #1 ~ #2 ~ #3#4 \q_stop - { - \int_eval:n - { - \tl_if_empty:nTF {#4} - { `#3 } - { ( `#3 - "D800 ) * "400 + ( `#4 - "DC00 ) + "10000 } - } - } - \cs_new_eq:NN \xeCJK_xetex_mathcode:w \Umathcode - } - { - \cs_new_nopar:Npn \__xeCJK_token_value_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 - } + { \exp_after:wN \__xeCJK_get_charcode:w \token_to_meaning:N #1 \q_stop } +\group_begin: + \cs_set:Npn \__xeCJK_tmp:w #1 ~ #2 ~ #3#4#5 \q_stop + { + \tl_if_empty:nTF { #4#5 } + { + \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} + { + \cs_new_nopar:Npn \__xeCJK_get_charcode:w ##1 ~ ##2 ~ ##3##4 \q_stop + { + \int_eval:n + { + \tl_if_empty:nTF { ##4 } + { `##3 } + { ( `##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 + } + } + } + \exp_after:wN \__xeCJK_tmp:w \token_to_meaning:N ^^^^^20000 { } \q_stop +\group_end: \prg_new_conditional:Npnn \xeCJK_if_CJK_class:N #1 { p , T , F , TF } { \if_cs_exist:w \__xeCJK_CJK_class_tl:n { \xeCJK_token_value_class:N #1 } \cs_end: @@ -409,7 +421,7 @@ \xeCJK_new_class:n { HalfLeft } \xeCJK_new_class:n { HalfRight } \xeCJK_new_class:n { NormalSpace } -\xeCJK_new_class:n { IVS } +\xeCJK_new_class:n { CM } \xeCJK_new_class:n { HangulJamo } \clist_const:Nn \c__xeCJK_HalfLeft_chars_clist { "28 , "5B , "60 , "7B , "2329 } @@ -497,8 +509,9 @@ "2B740 -> "2B81F , "2F800 -> "2FA1F } -\clist_const:Nn \c__xeCJK_IVS_chars_clist +\clist_const:Nn \c__xeCJK_CM_chars_clist { + "302A -> "302F , "3099 -> "309A , "FE00 -> "FE0F , "E0100 -> "E01EF @@ -521,7 +534,7 @@ \tl_const:cn { \__xeCJK_CJK_class_tl:c { \__xeCJK_class_csname:n {#1} } } {#1} } \clist_map_function:nN - { CJK , FullLeft , FullRight , IVS , HangulJamo } \__xeCJK_save_CJK_class:n + { CJK , FullLeft , FullRight , CM , HangulJamo } \__xeCJK_save_CJK_class:n \cs_new_nopar:Npn \xeCJK_class_num:n #1 { \use:c { \__xeCJK_class_csname:n {#1} } } \NewDocumentCommand \xeCJKDeclareCharClass { s > { \TrimSpaces } m m } { @@ -541,7 +554,7 @@ { \xeCJK_class_num:n {#1} } } } - \xeCJK_set_char_class:nnn { "3099 } { "309A } { \xeCJK_class_num:n { IVS } } + \xeCJK_set_char_class:nnn { "3099 } { "309A } { \xeCJK_class_num:n { CM } } } \NewDocumentCommand \__xeCJK_set_char_class_aux:Nnw { m > { \SplitArgument { 1 } { -> } } m } { #1 #2 } @@ -598,7 +611,7 @@ { \xeCJK_declare_char_class:nV { CJK } \c__xeCJK_CJK_chars_clist \xeCJK_declare_char_class:nV { NormalSpace } \c__xeCJK_NormalSpace_chars_clist - \xeCJK_declare_char_class:nV { IVS } \c__xeCJK_IVS_chars_clist + \xeCJK_declare_char_class:nV { CM } \c__xeCJK_CM_chars_clist \xeCJK_declare_char_class:nV { HangulJamo } \c__xeCJK_HangulJamo_chars_clist \xeCJKResetPunctClass } @@ -625,8 +638,13 @@ \cs_new_protected_nopar:Npn \xeCJK_copy_inter_class_toks:nnnn #1#2#3#4 { \tl_set:Nx \l__xeCJK_tmp_tl { \xeCJK_get_inter_class_toks:nn {#3} {#4} } - \tl_if_empty:NF \l__xeCJK_tmp_tl - { \xeCJK_inter_class_toks:nnx {#1} {#2} { \exp_not:V \l__xeCJK_tmp_tl } } + \tl_if_empty:NTF \l__xeCJK_tmp_tl + { + \tl_set:Nx \l__xeCJK_tmp_tl { \xeCJK_get_inter_class_toks:nn {#1} {#2} } + \tl_if_empty:NF \l__xeCJK_tmp_tl + { \xeCJK_clear_inter_class_toks:nn {#1} {#2} } + } + { \xeCJK_inter_class_toks:nnx {#1} {#2} { \exp_not:o \l__xeCJK_tmp_tl } } } \cs_new_protected_nopar:Npn \xeCJK_replace_inter_class_toks:nnnn #1#2#3#4 { @@ -634,7 +652,7 @@ \tl_if_empty:NF \l__xeCJK_tmp_tl { \tl_replace_all:Nnn \l__xeCJK_tmp_tl {#3} {#4} - \xeCJK_inter_class_toks:nnx {#1} {#2} { \exp_not:V \l__xeCJK_tmp_tl } + \xeCJK_inter_class_toks:nnx {#1} {#2} { \exp_not:o \l__xeCJK_tmp_tl } } } \cs_new_protected_nopar:Npn \xeCJK_clear_Boundary_and_CJK_toks: @@ -653,12 +671,12 @@ { \seq_map_inline:Nn \g__xeCJK_class_seq { - \str_if_eq:nnTF {#1} { IVS } - { \xeCJK_copy_inter_class_toks:nnnn { IVS } {#1} { CJK } { CJK } } + \str_if_eq:nnTF {#1} { CM } + { \xeCJK_copy_inter_class_toks:nnnn { CM } {#1} { CJK } { CJK } } { - \xeCJK_copy_inter_class_toks:nnnn { IVS } {#1} { CJK } {#1} + \xeCJK_copy_inter_class_toks:nnnn { CM } {#1} { CJK } {#1} \str_if_eq:nnF {#1} { CJK } - { \xeCJK_copy_inter_class_toks:nnnn {#1} { IVS } {#1} { CJK } } + { \xeCJK_copy_inter_class_toks:nnnn {#1} { CM } {#1} { CJK } } } } } @@ -716,7 +734,7 @@ \bool_if:nTF { \xeCJK_if_last_node_p:n { CJK } || - \xeCJK_if_last_node_p:n { CJK-nobreak } + \xeCJK_if_last_node_p:n { CJK-widow } } { \xeCJK_remove_node: \CJKecglue } { @@ -800,8 +818,8 @@ { \xeCJK_if_last_node_p:n { CJK } || \xeCJK_if_last_node_p:n { CJK-space } } { \xeCJK_remove_node: \CJKglue } { - \xeCJK_if_last_node:nTF { CJK-nobreak } - { \xeCJK_remove_node: \xeCJK_no_break: \CJKglue } + \xeCJK_if_last_node:nTF { CJK-widow } + { \xeCJK_remove_node: \xeCJK_widow_penalty: \CJKglue } { \bool_if:nTF { @@ -878,7 +896,7 @@ \xeCJK_declare_node:n { CJK-space } \xeCJK_declare_node:n { default } \xeCJK_declare_node:n { default-space } -\xeCJK_declare_node:n { CJK-nobreak } +\xeCJK_declare_node:n { CJK-widow } \xeCJK_declare_node:n { normalspace } \keys_define:nn { xeCJK / options } { @@ -1393,6 +1411,13 @@ CheckSingle .default:n = { true } , CJKchecksingle .meta:n = { CheckSingle = true } } +\keys_define:nn { xeCJK / options } + { + WidowPenalty .int_set:N = \l__xeCJK_widow_penalty_int , + WidowPenalty .default:n = { \c_ten_thousand } + } +\cs_new_protected_nopar:Npn \xeCJK_widow_penalty: + { \tex_penalty:D \l__xeCJK_widow_penalty_int } \cs_new_protected_nopar:Npn \xeCJK_check_single:Nw #1 { \peek_catcode:NTF \c_catcode_letter_token @@ -1479,8 +1504,8 @@ { \peek_catcode:NTF \c_math_toggle_token { - \xeCJK_no_break: \__xeCJK_check_single_save:N #1 - \xeCJK_make_node:n { CJK-nobreak } #2 #4 + \xeCJK_widow_penalty: \__xeCJK_check_single_save:N #1 + \xeCJK_make_node:n { CJK-widow } #2 #4 } { \__xeCJK_check_single_save:N #1 #2#3#4 } } @@ -1492,8 +1517,8 @@ { \group_align_safe_end: \use_iii:nnn } { \xeCJK_check_single_env:nnNn } { - \xeCJK_no_break: \__xeCJK_check_single_save:N #1 - \xeCJK_make_node:n { CJK-nobreak } #2 + \xeCJK_widow_penalty: \__xeCJK_check_single_save:N #1 + \xeCJK_make_node:n { CJK-widow } #2#3 } { \__xeCJK_check_single_save:N #1 #2#3 } } @@ -3006,9 +3031,10 @@ \cs_new_protected_nopar:Npn \__xeCJK_load_fandol: { \setCJKmainfont - [ BoldFont = FandolSong-Bold , ItalicFont = FandolKai ] { FandolSong-Regular } - \setCJKsansfont [ BoldFont = FandolHei-Bold ] { FandolHei-Regular } - \setCJKmonofont { FandolFang } + [ Extension = .otf , BoldFont = FandolSong-Bold , ItalicFont = FandolKai-Regular ] + { FandolSong-Regular } + \setCJKsansfont [ Extension = .otf , BoldFont = FandolHei-Bold ] { FandolHei-Regular } + \setCJKmonofont [ Extension = .otf ] { FandolFang-Regular } } \__xeCJK_at_end_preamble:n { @@ -3501,6 +3527,7 @@ PunctStyle = quanjiao , NewLineCS = { \par \[ } , EnvCS = { \begin \end } , + WidowPenalty = \c_ten_thousand , NoBreakCS = { \footnote \footnotemark \nobreak } , KaiMingPunct = { ^^^^3002 ^^^^ff0e ^^^^ff1f ^^^^ff01 } , LongPunct = { ^^^^2014 ^^^^2015 ^^^^2500 ^^^^2025 ^^^^2026 } , @@ -3664,20 +3691,25 @@ The~current~meaning~of~`#1'~is:\\ \iow_indent:n {#2} } -\__xeCJK_math_robust:N \( -\__xeCJK_math_robust:N \) -\__xeCJK_math_robust:N \math -\__xeCJK_math_robust:N \endmath -\__xeCJK_math_robust:N \ensuremath -\bool_if:nF +\cs_if_eq:NNTF \( \math + { + \__xeCJK_math_robust:N \( + \cs_set_eq:NN \math \( + } { - \xeCJK_if_package_loaded_p:n { amsmath } || - \xeCJK_if_package_loaded_p:n { amsthm } + \__xeCJK_math_robust:N \( + \__xeCJK_math_robust:N \math } +\cs_if_eq:NNTF \) \endmath { - \__xeCJK_math_robust:N \[ - \__xeCJK_math_robust:N \] + \__xeCJK_math_robust:N \) + \cs_set_eq:NN \endmath \) } + { + \__xeCJK_math_robust:N \) + \__xeCJK_math_robust:N \endmath + } +\__xeCJK_math_robust:N \ensuremath \UndeclareTextCommand \nobreakspace { \UTFencname } \RenewDocumentCommand \nobreakspace { } { \leavevmode \nobreak \ } \AtBeginUTFCommand { \bool_if:NT \l__xeCJK_CJK_group_bool { \scan_stop: } } @@ -3764,12 +3796,14 @@ } { \@@italiccorr } } +\cs_new_eq:NN \g__xeCJK_xetex_allocator_int \xe@alloc@intercharclass \__xeCJK_after_end_preamble:n { \int_compare:nNnF - { \c_three + \seq_count:N \g__xeCJK_new_class_seq } = \xe@alloc@intercharclass + { \c_three + \seq_count:N \g__xeCJK_new_class_seq } = + { \g__xeCJK_xetex_allocator_int } { - \int_step_inline:nnnn \c_four \c_one \xe@alloc@intercharclass + \int_step_inline:nnnn \c_four \c_one \g__xeCJK_xetex_allocator_int { \seq_if_in:NnF \g__xeCJK_new_class_seq {#1} { \__xeCJK_set_others_toks:n {#1} } @@ -3946,14 +3980,22 @@ { \cs_new_eq:NN \Unicode \xeCJK_unicode_char:nn } } } -\cs_new_protected_nopar:Npn \xeCJK_char_from_charcode:Nn #1#2 +\str_if_eq_x:nnTF + { \token_to_str:N \Ucharcat } { \token_to_meaning:N \Ucharcat } { - \group_begin: - \char_set_lccode:nn { "4E00 } {#2} - \tl_to_lowercase:n + \cs_new_protected_nopar:Npn \xeCJK_char_from_charcode:Nn #1#2 + { \tl_const:Nx #1 { \Ucharcat \int_eval:n {#2} ~ \c_eleven } } + } + { + \cs_new_protected_nopar:Npn \xeCJK_char_from_charcode:Nn #1#2 { - \group_end: - \tl_const:Nn #1 { ^^^^4e00 } + \group_begin: + \char_set_lccode:nn { "4E00 } {#2} + \tex_lowercase:D + { + \group_end: + \tl_const:Nn #1 { ^^^^4e00 } + } } } \cs_new_nopar:Npn \__xeCJK_calc_unicode:nn #1#2 @@ -3962,9 +4004,9 @@ { \tex_char:D \etex_numexpr:D \__xeCJK_calc_unicode:nn {#1} {#2} \scan_stop: } \bool_if:NT \g__xeCJK_config_bool { - \@pushfilename + \ExplSyntaxOff \file_input:n { \g__xeCJK_config_name_tl .cfg } - \@popfilename + \ExplSyntaxOn } %% %% This package consists of the file xeCJK.dtx, @@ -3988,7 +4030,7 @@ %% xeCJK-example-CJKfntef.tex, %% xeCJK-example-punctstyle.tex, %% xeCJK-example-verbatim.tex, -%% xeCJK-example-IVS.tex, +%% xeCJK-example-CM.tex, %% xeCJK-example-listings.tex, %% xunicode-symbols.tex, %% xunicode-commands.tex, diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty index 26fb5c9d937..de0230a2d9c 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty @@ -6,8 +6,6 @@ %% %% xeCJK.dtx (with options: `fntef') %% -%% $Id: xeCJK.dtx 750 2014-12-26 08:13:35Z sobenlee@gmail.com $ -%% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $ %% ----------------------------------------------------------------- %% Author: %% Wenchang Sun <sunwch@nankai.edu.cn> @@ -15,9 +13,9 @@ %% Leo Liu <leoliu.pku@gmail.com> %% Qing Lee <sobenlee@gmail.com> %% -%% Copyright (C) 2007--2014 Wenchang Sun -%% (C) 2009--2014 Leo Liu -%% (C) 2012--2014 Qing Lee +%% Copyright (C) 2007--2015 Wenchang Sun +%% (C) 2009--2015 Leo Liu +%% (C) 2012--2015 Qing Lee %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -33,11 +31,11 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 750 2014-12-26 08:13:35Z sobenlee@gmail.com $ +\GetIdInfo$Id: xeCJK.dtx 7321d12 2015-05-15 23:07:58 +0800 Qing Lee <sobenlee@gmail.com> $ {xeCJK font effect} \ProvidesExplPackage {xeCJKfntef} - {\ExplFileDate}{3.3.0}{\ExplFileDescription} + {\ExplFileDate}{3.3.2}{\ExplFileDescription} \PassOptionsToPackage { normalem } { ulem } \DeclareOption* { \PassOptionsToPackage { \CurrentOption } { ulem } } \ProcessOptions \scan_stop: @@ -1036,7 +1034,7 @@ %% xeCJK-example-CJKfntef.tex, %% xeCJK-example-punctstyle.tex, %% xeCJK-example-verbatim.tex, -%% xeCJK-example-IVS.tex, +%% xeCJK-example-CM.tex, %% xeCJK-example-listings.tex, %% xunicode-symbols.tex, %% xunicode-commands.tex, diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty index 7c14a2bb634..a578dfd8b21 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty @@ -6,8 +6,6 @@ %% %% xeCJK.dtx (with options: `xunicode') %% -%% $Id: xeCJK.dtx 750 2014-12-26 08:13:35Z sobenlee@gmail.com $ -%% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $ %% ----------------------------------------------------------------- %% Author: %% Wenchang Sun <sunwch@nankai.edu.cn> @@ -15,9 +13,9 @@ %% Leo Liu <leoliu.pku@gmail.com> %% Qing Lee <sobenlee@gmail.com> %% -%% Copyright (C) 2007--2014 Wenchang Sun -%% (C) 2009--2014 Leo Liu -%% (C) 2012--2014 Qing Lee +%% Copyright (C) 2007--2015 Wenchang Sun +%% (C) 2009--2015 Leo Liu +%% (C) 2012--2015 Qing Lee %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -33,11 +31,11 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 750 2014-12-26 08:13:35Z sobenlee@gmail.com $ +\GetIdInfo$Id: xeCJK.dtx 7321d12 2015-05-15 23:07:58 +0800 Qing Lee <sobenlee@gmail.com> $ {addon file for xunicode} \ProvidesExplPackage {xunicode-addon} - {\ExplFileDate}{3.3.0}{\ExplFileDescription} + {\ExplFileDate}{3.3.2}{\ExplFileDescription} \pdftex_if_engine:T { \msg_new:nnnn { xunicode-addon } { cannot-use-pdftex } @@ -80,11 +78,13 @@ \clist_remove_duplicates:N \l__xunadd_encname_clist \use:x { - \bool_if:NT \l__kernel_expl_bool { \ExplSyntaxOff } + \ExplSyntaxOff \char_set_catcode_letter:n { 64 } \__xunadd_reload:N \exp_not:N \l__xunadd_encname_clist + \bool_if:NTF \l__kernel_expl_bool + { \ExplSyntaxOn } + { \ExplSyntaxOff } \char_set_catcode:nn { 64 } { \char_value_catcode:n { 64 } } - \bool_if:NT \l__kernel_expl_bool { \ExplSyntaxOn } } } \cs_new_protected:Npn \__xunadd_reload:N #1 @@ -216,7 +216,7 @@ \__xunadd_provide_text_command_default:N #1 \group_begin: \char_set_lccode:nn { `0 } { \__xunadd_check_slot:n {#3} } - \tl_to_lowercase:n + \tex_lowercase:D { \group_end: \__xunadd_declare_character:NNxn 0 @@ -335,7 +335,7 @@ \group_begin: \char_set_lccode:nn { `4 } { \__xunadd_check_slot:n {#4} } \char_set_lccode:nn { `5 } { \__xunadd_check_slot:n {#5} } - \tl_to_lowercase:n + \tex_lowercase:D { \group_end: \__xunadd_declare_encoded:NNNNxx 4 5 @@ -611,7 +611,7 @@ %% xeCJK-example-CJKfntef.tex, %% xeCJK-example-punctstyle.tex, %% xeCJK-example-verbatim.tex, -%% xeCJK-example-IVS.tex, +%% xeCJK-example-CM.tex, %% xeCJK-example-listings.tex, %% xunicode-symbols.tex, %% xunicode-commands.tex, diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def index 2f352d37fab..6a5b9d45c37 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def +++ b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def @@ -6,8 +6,6 @@ %% %% xeCJK.dtx (with options: `xunextra') %% -%% $Id: xeCJK.dtx 750 2014-12-26 08:13:35Z sobenlee@gmail.com $ -%% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $ %% ----------------------------------------------------------------- %% Author: %% Wenchang Sun <sunwch@nankai.edu.cn> @@ -15,9 +13,9 @@ %% Leo Liu <leoliu.pku@gmail.com> %% Qing Lee <sobenlee@gmail.com> %% -%% Copyright (C) 2007--2014 Wenchang Sun -%% (C) 2009--2014 Leo Liu -%% (C) 2012--2014 Qing Lee +%% Copyright (C) 2007--2015 Wenchang Sun +%% (C) 2009--2015 Leo Liu +%% (C) 2012--2015 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 +29,11 @@ %% The Current Maintainer of this work are Leo Liu and Qing Lee. %% ----------------------------------------------------------------- %% -\GetIdInfo$Id: xeCJK.dtx 750 2014-12-26 08:13:35Z sobenlee@gmail.com $ +\GetIdInfo$Id: xeCJK.dtx 7321d12 2015-05-15 23:07:58 +0800 Qing Lee <sobenlee@gmail.com> $ {extra definition for xunicode} \ProvidesExplFile {xunicode-extra.def} - {\ExplFileDate}{3.3.0}{\ExplFileDescription} + {\ExplFileDate}{3.3.2}{\ExplFileDescription} \ExplSyntaxOff \DeclareUTFComposite\textsuperscript \DeclareUTFComposite\textsubscript @@ -1472,7 +1470,7 @@ %% xeCJK-example-CJKfntef.tex, %% xeCJK-example-punctstyle.tex, %% xeCJK-example-verbatim.tex, -%% xeCJK-example-IVS.tex, +%% xeCJK-example-CM.tex, %% xeCJK-example-listings.tex, %% xunicode-symbols.tex, %% xunicode-commands.tex, |