diff options
author | Karl Berry <karl@freefriends.org> | 2014-11-12 23:32:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-11-12 23:32:07 +0000 |
commit | 8c7b32258dcc47d52a82c8cf346c696dd0c669a0 (patch) | |
tree | bff03cf2ac31964d8f088cc6299da3825a9e9b30 /Master/texmf-dist/tex/xelatex/xecjk | |
parent | fce3dedd3f9904785b99f0021d2b39fb3a582474 (diff) |
xecjk (12nov14)
git-svn-id: svn://tug.org/texlive/trunk@35568 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xecjk')
6 files changed, 131 insertions, 56 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/config/xeCJK.cfg b/Master/texmf-dist/tex/xelatex/xecjk/config/xeCJK.cfg index 36e16e53f2a..7b1ade8512f 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/config/xeCJK.cfg +++ b/Master/texmf-dist/tex/xelatex/xecjk/config/xeCJK.cfg @@ -6,11 +6,11 @@ %% %% xeCJK.dtx (with options: `config') %% -\GetIdInfo$Id: xeCJK.dtx 729 2014-11-05 13:46:36Z sobenlee@gmail.com $ +\GetIdInfo$Id: xeCJK.dtx 737 2014-11-10 17:04:31Z sobenlee@gmail.com $ {Configuration file for xeCJK package} \ProvidesExplFile {\ExplFileName.cfg} - {\ExplFileDate}{3.2.14}{\ExplFileDescription} + {\ExplFileDate}{3.2.15}{\ExplFileDescription} %% %% diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty index 1b6723af1f6..ab7c3044a0a 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty @@ -6,7 +6,7 @@ %% %% xeCJK.dtx (with options: `listings') %% -%% $Id: xeCJK.dtx 729 2014-11-05 13:46:36Z sobenlee@gmail.com $ +%% $Id: xeCJK.dtx 737 2014-11-10 17:04:31Z sobenlee@gmail.com $ %% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $ %% ----------------------------------------------------------------- %% Author: @@ -33,11 +33,11 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 729 2014-11-05 13:46:36Z sobenlee@gmail.com $ +\GetIdInfo$Id: xeCJK.dtx 737 2014-11-10 17:04:31Z sobenlee@gmail.com $ {xeCJK patch file for listings} \ProvidesExplPackage {xeCJK-listings} - {\ExplFileDate}{3.2.14}{\ExplFileDescription} + {\ExplFileDate}{3.2.15}{\ExplFileDescription} \DeclareOption* { \PassOptionsToPackage { \CurrentOption } { xeCJK } } \ProcessOptions \scan_stop: \RequirePackage { xeCJK } @@ -58,7 +58,7 @@ \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: \__xeCJK_listings_breaklines_toks: + \cs_set_eq:NN \__xeCJK_listings_CJK_toks_hook: \__xeCJK_listings_breaklines_toks: \fi: } \cs_new_protected_nopar:Npn \__xeCJK_listings_toks_hook: @@ -68,6 +68,7 @@ \__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 } } @@ -96,6 +97,8 @@ { \__xeCJK_listings_process_CJK:nN { \c_two } } \xeCJK_inter_class_toks:nnn { Boundary } { FullRight } { \__xeCJK_listings_process_CJK:nN { \c_two } } + \xeCJK_inter_class_toks:nnn { Boundary } { HangulJamo } + { \__xeCJK_listings_process_CJK:nN { \c_two } } \seq_map_inline:Nn \g__xeCJK_CJK_sub_class_seq { \xeCJK_inter_class_toks:nnn { Boundary } { CJK/##1 } @@ -106,6 +109,8 @@ { \xeCJK_inter_class_toks:nnn { Boundary } { CJK } { \__xeCJK_listings_process_breaklines_CJK:nN { \c_two } } + \xeCJK_inter_class_toks:nnn { Boundary } { HangulJamo } + { \__xeCJK_listings_process_breaklines_CJK:nN { \c_two } } \xeCJK_inter_class_toks:nnn { Boundary } { FullLeft } { \__xeCJK_listings_process_FullLeft:nN { \c_two } } \xeCJK_inter_class_toks:nnn { Boundary } { FullRight } diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty index 017220fe745..3c8f4032d61 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty @@ -6,7 +6,7 @@ %% %% xeCJK.dtx (with options: `package') %% -%% $Id: xeCJK.dtx 729 2014-11-05 13:46:36Z sobenlee@gmail.com $ +%% $Id: xeCJK.dtx 737 2014-11-10 17:04:31Z sobenlee@gmail.com $ %% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $ %% ----------------------------------------------------------------- %% Author: @@ -33,11 +33,11 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 729 2014-11-05 13:46:36Z sobenlee@gmail.com $ +\GetIdInfo$Id: xeCJK.dtx 737 2014-11-10 17:04:31Z sobenlee@gmail.com $ {Typesetting CJK scripts with XeLaTeX} \ProvidesExplPackage {\ExplFileName} - {\ExplFileDate}{3.2.14}{\ExplFileDescription} + {\ExplFileDate}{3.2.15}{\ExplFileDescription} \msg_new:nnn { xeCJK } { Require-XeTeX } { The~xeCJK~package~requires~XeTeX~to~function.\\\\ @@ -402,11 +402,12 @@ \xeCJK_new_class:n { HalfRight } \xeCJK_new_class:n { NormalSpace } \xeCJK_new_class:n { IVS } +\xeCJK_new_class:n { HangulJamo } \clist_const:Nn \c__xeCJK_HalfLeft_chars_clist - { "28 , "2D , "5B , "60 , "7B , "2329 } + { "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 { "2F } +\clist_const:Nn \c__xeCJK_NormalSpace_chars_clist { "2D , "2F , "5C , "2013 } \clist_const:Nn \c__xeCJK_OP_chars_clist { "2018 , "201C , @@ -458,7 +459,6 @@ } \clist_const:Nn \c__xeCJK_CJK_chars_clist { - "1100 -> "11FF , "2E80 -> "2EFF , "2F00 -> "2FDF , "2FF0 -> "2FFF , @@ -478,9 +478,7 @@ "4E00 -> "9FFF , "A000 -> "A48F , "A490 -> "A4CF , - "A960 -> "A97F , "AC00 -> "D7AF , - "D7B0 -> "D7FF , "F900 -> "FAFF , "FE10 -> "FE1F , "FE30 -> "FE4F , @@ -498,6 +496,12 @@ "FE00 -> "FE0F , "E0100 -> "E01EF } +\clist_const:Nn \c__xeCJK_HangulJamo_chars_clist + { + "1100 -> "11FF , + "A960 -> "A97F , + "D7B0 -> "D7FF + } \seq_new:N \g__xeCJK_base_class_seq \seq_gset_eq:NN \g__xeCJK_base_class_seq \g__xeCJK_class_seq \seq_new:N \g__xeCJK_non_CJK_class_seq @@ -509,7 +513,8 @@ \seq_gput_right:Nn \g__xeCJK_CJK_class_seq {#1} \tl_const:cn { \__xeCJK_CJK_class_tl:c { \__xeCJK_class_csname:n {#1} } } {#1} } -\clist_map_function:nN { CJK , FullLeft , FullRight , IVS } \__xeCJK_save_CJK_class:n +\clist_map_function:nN + { CJK , FullLeft , FullRight , IVS , 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 } { @@ -587,6 +592,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 { HangulJamo } \c__xeCJK_HangulJamo_chars_clist \xeCJKResetPunctClass } \xeCJKResetCharClass @@ -648,6 +654,17 @@ } } } +\AtEndOfPackage + { + \seq_map_inline:Nn \g__xeCJK_class_seq + { + \str_if_eq:nnF {#1} { HangulJamo } + { + \xeCJK_copy_inter_class_toks:nnnn { HangulJamo } {#1} { CJK } {#1} + \xeCJK_copy_inter_class_toks:nnnn {#1} { HangulJamo } {#1} { CJK } + } + } + } \clist_map_inline:nn { Default , HalfLeft , HalfRight , NormalSpace } { \xeCJK_inter_class_toks:nnn {#1} { CJK } @@ -1602,7 +1619,7 @@ } \seq_gput_right:Nn \g__xeCJK_CJK_sub_class_seq {#2} \__xeCJK_save_CJK_class:n { #1/#2 } - \clist_map_inline:nn { CJK , FullLeft , FullRight } + \clist_map_inline:nn { CJK , FullLeft , FullRight , HangulJamo } { \xeCJK_pre_inter_class_toks:nnn { #1/#2 } {##1} { \__xeCJK_switch_font:nn {#2} {#1} } diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty index 5261b858507..2f786e46bd6 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty @@ -6,7 +6,7 @@ %% %% xeCJK.dtx (with options: `fntef') %% -%% $Id: xeCJK.dtx 729 2014-11-05 13:46:36Z sobenlee@gmail.com $ +%% $Id: xeCJK.dtx 737 2014-11-10 17:04:31Z sobenlee@gmail.com $ %% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $ %% ----------------------------------------------------------------- %% Author: @@ -33,11 +33,11 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 729 2014-11-05 13:46:36Z sobenlee@gmail.com $ +\GetIdInfo$Id: xeCJK.dtx 737 2014-11-10 17:04:31Z sobenlee@gmail.com $ {xeCJK font effect} \ProvidesExplPackage {xeCJKfntef} - {\ExplFileDate}{3.2.14}{\ExplFileDescription} + {\ExplFileDate}{3.2.15}{\ExplFileDescription} \PassOptionsToPackage { normalem } { ulem } \DeclareOption* { \PassOptionsToPackage { \CurrentOption } { ulem } } \ProcessOptions \scan_stop: @@ -55,11 +55,17 @@ \__xeCJK_ulem_initial: \bool_if:NT \l__xeCJK_ulem_subtract_bool { - \cs_set_eq:NN \xeCJK_ulem_leaders: \UL@leaders - \cs_set_eq:NN \UL@leaders \xeCJK_ulem_var_leaders: + \xeCJK_swap_cs:NN \UL@leaders \xeCJK_ulem_leaders: + \cs_set_eq:NN \__xeCJK_ulem_var_leaders: \xeCJK_ulem_var_leaders: \cs_set_eq:NN \xeCJK_ulem_right_skip: \__xeCJK_ulem_right_skip: } - \bool_if:NF \l__xeCJK_ulem_skip_bool + \bool_if:NT \l__xeCJK_ulem_hidden_bool + { \cs_set_eq:NN \UL@putbox \__xeCJK_ulem_hidden_box: } + \bool_if:NTF \l__xeCJK_ulem_skip_bool + { + \cs_set_eq:NN \__xeCJK_ulem_putbox: \UL@putbox + \cs_set_eq:NN \__xeCJK_ulem_hskip_aux:n \xeCJK_ulem_hskip:n + } { \xeCJK_swap_cs:NN \__xeCJK_punct_kern:n \__xeCJK_ulem_punct_kern:n \xeCJK_swap_cs:NN \__xeCJK_punct_hskip:n \__xeCJK_ulem_punct_hskip:n @@ -172,7 +178,7 @@ } \cs_new_eq:NN \__xeCJK_ulem_hskip:n \__xeCJK_ulem_hskip_first:n \cs_new_protected_nopar:Npn \xeCJK_ulem_hskip:n #1 - { \skip_set:Nn \UL@skip {#1} \UL@leaders } + { { \skip_set:Nn \UL@skip {#1} \UL@leaders } } \cs_new_protected_nopar:Npn \xeCJK_ulem_right: { \scan_stop: @@ -206,7 +212,8 @@ } } \cs_new_eq:NN \xeCJK_ulem_right_node: \prg_do_nothing: -\cs_new_eq:NN \xeCJK_ulem_leaders: \UL@leaders +\cs_new_protected_nopar:Npn \xeCJK_ulem_leaders: + { \__xeCJK_ulem_var_leaders: } \cs_new_protected_nopar:Npn \xeCJK_ulem_var_leaders: { \scan_stop: @@ -214,9 +221,10 @@ { \UL@leadtype \skip_horizontal:n { \UL@skip + \UL@pixel } \skip_horizontal:n { - \UL@pixel } - \cs_gset_eq:NN \UL@leaders \xeCJK_ulem_leaders: + \cs_gset_eq:NN \__xeCJK_ulem_var_leaders: \xeCJK_ulem_leaders: } } +\cs_new_eq:NN \__xeCJK_ulem_var_leaders: \xeCJK_ulem_var_leaders: \cs_new_eq:NN \xeCJK_ulem_right_skip: \prg_do_nothing: \cs_new_protected_nopar:Npn \__xeCJK_ulem_right_skip: { @@ -230,6 +238,13 @@ \cs_new_protected_nopar:Npn \__xeCJK_ulem_right_skip_hbox: { \box_set_to_last:N \l__xeCJK_tmp_box + \int_compare:nNnTF \etex_lastnodetype:D = \c_twelve + { \__xeCJK_ulem_right_skip_kern: } + { \__xeCJK_ulem_right_skip_glue: } + \box_use_clear:N \l__xeCJK_tmp_box + } +\cs_new_protected_nopar:Npn \__xeCJK_ulem_right_skip_kern: + { \dim_set:Nn \l__xeCJK_tmp_dim { - \box_wd:N \l__xeCJK_tmp_box } \dim_compare:nNnT \tex_lastkern:D = \l__xeCJK_tmp_dim { @@ -237,7 +252,6 @@ \__xeCJK_ulem_right_skip_glue: \tex_kern:D \l__xeCJK_tmp_dim } - \box_use_clear:N \l__xeCJK_tmp_box } \cs_new_protected_nopar:Npn \__xeCJK_ulem_right_skip_glue: { @@ -257,11 +271,28 @@ { \__xeCJK_ulem_right_skip_hbox: } \tex_penalty:D \l__xeCJK_tmp_int } +\cs_new_protected_nopar:Npn \__xeCJK_ulem_hidden_box: + { + \tl_if_empty:NF \UL@start + { + \xeCJK_zero_vrule: + \xeCJK_no_break: + \xeCJK_ulem_hskip:n { \box_wd:N \UL@box } + \box_use:N \c__xeCJK_null_box + } + } +\box_new:N \c__xeCJK_null_box +\hbox_gset:Nn \c__xeCJK_null_box { } +\cs_new_protected_nopar:Npn \xeCJK_zero_vrule: + { + \tex_vrule:D + width \c_zero_dim + depth \c_zero_dim + height \c_zero_dim \scan_stop: + } \cs_new_protected_nopar:Npn \__xeCJK_ulem_skip_punct_begin: { - \cs_set_eq:NN \__xeCJK_ulem_putbox: \UL@putbox \cs_set_eq:NN \UL@putbox \__xeCJK_ulem_skip_putbox: - \cs_set_eq:NN \__xeCJK_ulem_hskip_aux:n \xeCJK_ulem_hskip:n \cs_set_eq:NN \xeCJK_ulem_hskip:n \skip_horizontal:n } \cs_new_protected_nopar:Npn \__xeCJK_ulem_skip_punct_end: @@ -559,16 +590,12 @@ L \int_use:N \etex_currentgrouplevel:D } \cs_new_protected_nopar:Npn \__xeCJK_ulem_ccglue: - { \skip_set_eq:NN \UL@skip \l__xeCJK_ccglue_skip \UL@leaders } -\NewDocumentCommand \xeCJKfntefon - { > { \ReverseBoolean } s t- > { \ReverseBoolean } s } + { { \skip_set_eq:NN \UL@skip \l__xeCJK_ccglue_skip \UL@leaders } } +\NewDocumentCommand \xeCJKfntefon { s t- s o } { - \bool_set:Nn \l__xeCJK_ulem_skip_bool { #1 && #3 } - \bool_set_eq:NN \l__xeCJK_ulem_subtract_bool #2 + \xeCJK_ulem_boot:NNNn #1#2#3 {#4} \ULon } -\bool_new:N \l__xeCJK_ulem_subtract_bool -\bool_new:N \l__xeCJK_ulem_skip_bool \cs_new_eq:NN \xeCJK_ulem_on:n \UL@on \cs_set_protected:Npn \UL@on #1 { \xeCJK_ulem_on:n { \xeCJK_ulem_left: #1 \xeCJK_ulem_right: } } @@ -660,19 +687,25 @@ } \ULon } -\DeclareDocumentCommand \CJKunderanyline - { > { \ReverseBoolean } s t- > { \ReverseBoolean } s m m } +\DeclareDocumentCommand \CJKunderanyline { s t- s o m m } { \c_group_begin_token + \xeCJK_ulem_boot:NNNn #1#2#3 {#4} \xeCJK_fntef_initial:nn - {#5} + {#6} { \box_move_down:nn - {#4} + {#5} { \box_use:N \l__xeCJK_fntef_box } } - \bool_set:Nn \l__xeCJK_ulem_skip_bool { #1 && #3 } - \bool_set_eq:NN \l__xeCJK_ulem_subtract_bool #2 + \tl_if_empty:NF \l__xeCJK_ulem_boxdepth_tl + { \box_set_dp:Nn \ULC@box { \l__xeCJK_ulem_boxdepth_tl } } + \tl_if_empty:NF \l__xeCJK_ulem_sep_tl + { + \bool_set_true:N \l__xeCJK_fntef_bool + \dim_set:Nn \l__xeCJK_fntef_dim + { \l__xeCJK_ulem_sep_tl + \box_dp:N \ULC@box } + } \ULon } \cs_new_protected:Npn \xeCJK_fntef_boot:nnNNNn #1#2#3#4#5#6 @@ -684,8 +717,18 @@ \IfNoValueF {#6} { \keys_set:nn { xeCJK / options / #1 } {#6} } \bool_set_eq:Nc \l__xeCJK_ulem_skip_bool { l__xeCJK_#2_skip_bool } + \bool_set_eq:Nc \l__xeCJK_ulem_hidden_bool { l__xeCJK_#2_hidden_bool } \bool_set_eq:Nc \l__xeCJK_ulem_subtract_bool { l__xeCJK_#2_subtract_bool } } +\cs_new_protected:Npn \xeCJK_ulem_boot:NNNn #1#2#3#4 + { + \bool_if:nT { #1 || #3 } + { \bool_set_false:N \l__xeCJK_ulem_skip_bool } + \IfBooleanT #2 + { \bool_set_true:N \l__xeCJK_ulem_subtract_bool } + \IfNoValueF {#4} + { \keys_set:nn { xeCJK / options / ulem } {#4} } + } \cs_new_protected_nopar:Npn \xeCJK_fntef_initial:n { \xeCJK_leave_vmode: @@ -753,12 +796,14 @@ symbol / sep .tl_set:N = \l__xeCJK_symbol_sep_tl , symbol / boxdepth .tl_set:N = \l__xeCJK_symbol_boxdepth_tl , underline / skip .bool_set:N = \l__xeCJK_uline_skip_bool , + underline / hidden .bool_set:N = \l__xeCJK_uline_hidden_bool , underline / subtract .bool_set:N = \l__xeCJK_uline_subtract_bool , underline / thickness .tl_set:N = \l__xeCJK_uline_thickness_tl , underline / depth .tl_set:N = \l__xeCJK_uline_depth_tl , underline / sep .tl_set:N = \l__xeCJK_uline_sep_tl , underline / format .tl_set:N = \l__xeCJK_uline_format_tl , underdblline / skip .bool_set:N = \l__xeCJK_udbline_skip_bool , + underdblline / hidden .bool_set:N = \l__xeCJK_udbline_hidden_bool , underdblline / subtract .bool_set:N = \l__xeCJK_udbline_subtract_bool , underdblline / thickness .tl_set:N = \l__xeCJK_udbline_thickness_tl , underdblline / depth .tl_set:N = \l__xeCJK_udbline_depth_tl , @@ -766,19 +811,27 @@ underdblline / format .tl_set:N = \l__xeCJK_udbline_format_tl , underdblline / gap .tl_set:N = \l__xeCJK_udbline_gap_tl , underwave / skip .bool_set:N = \l__xeCJK_uwave_skip_bool , + underwave / hidden .bool_set:N = \l__xeCJK_uwave_hidden_bool , underwave / subtract .bool_set:N = \l__xeCJK_uwave_subtract_bool , underwave / symbol .tl_set:N = \l__xeCJK_uwave_symbol_tl , underwave / depth .tl_set:N = \l__xeCJK_uwave_depth_tl , underwave / sep .tl_set:N = \l__xeCJK_uwave_sep_tl , underwave / format .tl_set:N = \l__xeCJK_uwave_format_tl , sout / skip .bool_set:N = \l__xeCJK_sout_skip_bool , + sout / hidden .bool_set:N = \l__xeCJK_sout_hidden_bool , sout / subtract .bool_set:N = \l__xeCJK_sout_subtract_bool , sout / thickness .tl_set:N = \l__xeCJK_sout_thickness_tl , sout / height .tl_set:N = \l__xeCJK_sout_height_tl , sout / format .tl_set:N = \l__xeCJK_sout_format_tl , xout / skip .bool_set:N = \l__xeCJK_xout_skip_bool , + xout / hidden .bool_set:N = \l__xeCJK_xout_hidden_bool , xout / subtract .bool_set:N = \l__xeCJK_xout_subtract_bool , - xout / format .tl_set:N = \l__xeCJK_xout_format_tl + xout / format .tl_set:N = \l__xeCJK_xout_format_tl , + ulem / skip .bool_set:N = \l__xeCJK_ulem_skip_bool , + ulem / hidden .bool_set:N = \l__xeCJK_ulem_hidden_bool , + ulem / subtract .bool_set:N = \l__xeCJK_ulem_subtract_bool , + ulem / sep .tl_set:N = \l__xeCJK_ulem_sep_tl , + ulem / boxdepth .tl_set:N = \l__xeCJK_ulem_boxdepth_tl } \clist_map_inline:nn { underdot , underline , underdblline , underwave , sout , xout } @@ -791,9 +844,7 @@ underdot / symbol = \normalfont . , underdot / depth = 0.20 em , underdot / sep = 0.04 em , - underdot / boxdepth = \c_max_dim , symbol / sep = \c_zero_dim , - symbol / boxdepth = \c_max_dim , underline / skip = true , underline / thickness = \ULthickness , underline / depth = 0.20 em , @@ -869,19 +920,23 @@ { \keys_set:nn { xeCJK / options / #1 } {#3} } \xeCJK_fntef_sbox:n {#5} \bool_if:NTF \l__xeCJK_fntef_bool - { \xeCJK_make_under_symbol:nn { \l__xeCJK_fntef_dim } } + { \xeCJK_make_under_symbol:n { \l__xeCJK_fntef_dim } } { \bool_set_true:N \l__xeCJK_fntef_bool - \xeCJK_make_under_symbol:nn {#4} + \xeCJK_make_under_symbol:n {#4} + } + \tl_if_empty:cF { l__xeCJK_#2_boxdepth_tl } + { + \box_set_dp:Nn \l__xeCJK_under_symbol_box + { \use:c { l__xeCJK_#2_boxdepth_tl } } } - { \use:c { l__xeCJK_#2_boxdepth_tl } } \dim_set:Nn \l__xeCJK_fntef_dim { \use:c { l__xeCJK_#2_sep_tl } + \box_dp:N \l__xeCJK_under_symbol_box } \xeCJK_swap_cs:NN \CJKsymbol \__xeCJK_under_CJKsymbol:N \__xeCJK_restore_shipout_CJKsymbol: } \box_new:N \l__xeCJK_under_symbol_box -\cs_new_protected:Npn \xeCJK_make_under_symbol:nn #1#2 +\cs_new_protected:Npn \xeCJK_make_under_symbol:n #1 { \hbox_set:Nn \l__xeCJK_under_symbol_box { @@ -895,8 +950,6 @@ } } } - \dim_compare:nNnF {#2} = \c_max_dim - { \box_set_dp:Nn \l__xeCJK_under_symbol_box {#2} } } \cs_new_protected:Npn \__xeCJK_restore_shipout_CJKsymbol: { diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty index 98a8c6e43ab..0b502a778e9 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty +++ b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty @@ -6,7 +6,7 @@ %% %% xeCJK.dtx (with options: `xunicode') %% -%% $Id: xeCJK.dtx 729 2014-11-05 13:46:36Z sobenlee@gmail.com $ +%% $Id: xeCJK.dtx 737 2014-11-10 17:04:31Z sobenlee@gmail.com $ %% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $ %% ----------------------------------------------------------------- %% Author: @@ -33,11 +33,11 @@ %% \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} -\GetIdInfo$Id: xeCJK.dtx 729 2014-11-05 13:46:36Z sobenlee@gmail.com $ +\GetIdInfo$Id: xeCJK.dtx 737 2014-11-10 17:04:31Z sobenlee@gmail.com $ {addon file for xunicode} \ProvidesExplPackage {xunicode-addon} - {\ExplFileDate}{3.2.14}{\ExplFileDescription} + {\ExplFileDate}{3.2.15}{\ExplFileDescription} \pdftex_if_engine:T { \msg_new:nnnn { xunicode-addon } { cannot-use-pdftex } diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def index 366cd74108c..0bd04901a1f 100644 --- a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def +++ b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def @@ -6,7 +6,7 @@ %% %% xeCJK.dtx (with options: `xunextra') %% -%% $Id: xeCJK.dtx 729 2014-11-05 13:46:36Z sobenlee@gmail.com $ +%% $Id: xeCJK.dtx 737 2014-11-10 17:04:31Z sobenlee@gmail.com $ %% $URL: https://ctex-kit.googlecode.com/svn/trunk/xeCJK/xeCJK.dtx $ %% ----------------------------------------------------------------- %% Author: @@ -31,11 +31,11 @@ %% The Current Maintainer of this work are Leo Liu and Qing Lee. %% ----------------------------------------------------------------- %% -\GetIdInfo$Id: xeCJK.dtx 729 2014-11-05 13:46:36Z sobenlee@gmail.com $ +\GetIdInfo$Id: xeCJK.dtx 737 2014-11-10 17:04:31Z sobenlee@gmail.com $ {extra definition for xunicode} \ProvidesExplFile {xunicode-extra.def} - {\ExplFileDate}{3.2.14}{\ExplFileDescription} + {\ExplFileDate}{3.2.15}{\ExplFileDescription} \ExplSyntaxOff \DeclareUTFComposite\textsuperscript \DeclareUTFComposite\textsubscript |