summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-01-30 21:06:15 +0000
committerKarl Berry <karl@freefriends.org>2018-01-30 21:06:15 +0000
commitf223ad48afe014b1314fd294f0e099232f46b63e (patch)
treeb757d99568ed6dede03f757f40094089706e23f2 /Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty
parent4011de170d5d27b6758bef7c7146ab7297b80301 (diff)
xecjk (30jan18)
git-svn-id: svn://tug.org/texlive/trunk@46497 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty')
-rw-r--r--Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty154
1 files changed, 95 insertions, 59 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty
index 827bf5e5f01..f7c67505480 100644
--- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty
+++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty
@@ -7,8 +7,8 @@
%% xeCJK.dtx (with options: `fntef')
%%
%% Copyright (C) 2007--2010 by Wenchang Sun <sunwch@nankai.edu.cn>
-%% Copyright (C) 2009--2017 by Leo Liu <leoliu.pku@gmail.com>
-%% Copyright (C) 2012--2017 by Qing Lee <sobenlee@gmail.com>
+%% Copyright (C) 2009--2018 by Leo Liu <leoliu.pku@gmail.com>
+%% Copyright (C) 2012--2018 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 5a18688 2017-11-22 19:12:51 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 54327e6 2018-01-28 19:10:14 +0800 Qing Lee <sobenlee@gmail.com> $
{xeCJK font effect}
\ProvidesExplPackage{xeCJKfntef}
- {\ExplFileDate}{3.5.1}{\ExplFileDescription}
+ {\ExplFileDate}{3.6.0}{\ExplFileDescription}
\PassOptionsToPackage { normalem } { ulem }
\DeclareOption* { \PassOptionsToPackage { \CurrentOption } { ulem } }
\ProcessOptions \scan_stop:
@@ -70,7 +70,6 @@
\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
\xeCJK_cs_clear:N \__xeCJK_ulem_skip_punct_begin:
\xeCJK_cs_clear:N \__xeCJK_ulem_skip_punct_end:
@@ -96,6 +95,8 @@
{ \__xeCJK_ulem_glue:n \l__xeCJK_ecglue_skip }
\cs_set_protected_nopar:Npn \xeCJK_space_glue:
{ \__xeCJK_ulem_glue:n \l__xeCJK_space_skip }
+ \cs_set_eq:NN \xeCJK_punct_node:N \use_none:n
+ \cs_set_eq:NN \xeCJK_if_last_punct:TF \use_ii:nn
\keys_set:nn { xeCJK / options }
{ CheckFullRight = false , xCJKecglue = false }
}
@@ -247,7 +248,7 @@
\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
+ \box_use_drop:N \l__xeCJK_tmp_box
}
\cs_new_protected_nopar:Npn \__xeCJK_ulem_right_skip_kern:
{
@@ -303,18 +304,20 @@
\cs_new_protected_nopar:Npn \__xeCJK_ulem_skip_putbox:
{
\tl_if_empty:NF \UL@start
- { \box_use_clear:N \UL@box }
+ { \box_use_drop:N \UL@box }
}
\cs_new_protected_nopar:Npn \__xeCJK_ulem_initial:
{
\__xeCJK_ulem_swap_cs:NN
- \xeCJK_FullLeft_and_Default: \__xeCJK_ulem_FullLeft_and_Default:
- \xeCJK_FullLeft_and_CJK: \__xeCJK_ulem_FullLeft_and_CJK:
- \xeCJK_FullRight_and_Default: \__xeCJK_ulem_FullRight_and_Default:
- \xeCJK_FullRight_and_CJK: \__xeCJK_ulem_FullRight_and_CJK:
- \xeCJK_CJK_and_CJK:N \__xeCJK_ulem_CJK_and_CJK:N
- \xeCJK_CJK_and_Boundary:w \__xeCJK_ulem_CJK_and_Boundary:w
- \xeCJK@fix@penalty \__xeCJK_ulem_fix_penalty:
+ \xeCJK_FullLeft_and_Default: \__xeCJK_ulem_FullLeft_and_Default:
+ \xeCJK_FullLeft_and_CJK: \__xeCJK_ulem_FullLeft_and_CJK:
+ \xeCJK_FullLeft_and_Boundary: \__xeCJK_ulem_FullLeft_and_Boundary:
+ \xeCJK_FullRight_and_Default: \__xeCJK_ulem_FullRight_and_Default:
+ \xeCJK_FullRight_and_CJK: \__xeCJK_ulem_FullRight_and_CJK:
+ \xeCJK_FullRight_and_Boundary: \__xeCJK_ulem_FullRight_and_Boundary:
+ \xeCJK_CJK_and_CJK:N \__xeCJK_ulem_CJK_and_CJK:N
+ \xeCJK_CJK_and_Boundary:w \__xeCJK_ulem_CJK_and_Boundary:w
+ \xeCJK@fix@penalty \__xeCJK_ulem_fix_penalty:
\__xeCJK_punct_breakable_kern:n \__xeCJK_ulem_punct_breakable_kern:n
\__xeCJK_Default_and_FullLeft_glue:N \__xeCJK_ulem_Default_and_FullLeft_glue:N
\__xeCJK_Default_and_FullRight_glue:N \__xeCJK_ulem_Default_and_FullRight_glue:N
@@ -392,6 +395,7 @@
\xeCJK_class_group_end:
\UL@stop \__xeCJK_ulem_ccglue: \UL@start
\__xeCJK_ulem_class_group_begin:
+ \xeCJK_select_font:
\CJKsymbol
}
{ \__xeCJK_ulem_CJK_and_CJK:N }
@@ -400,7 +404,6 @@
{
\xeCJK_class_group_begin:
\xeCJK_clear_Boundary_and_CJK_toks:
- \xeCJK_select_font:
}
\cs_new_protected_nopar:Npn \__xeCJK_ulem_between_CJK_blocks:nnN #1#2
{
@@ -425,8 +428,8 @@
{
\UL@stop
\__xeCJK_ulem_skip_punct_begin:
- \__xeCJK_punct_glue:NN \c__xeCJK_left_tl {#1}
- \__xeCJK_punct_offset:NN \c__xeCJK_left_tl {#1}
+ \__xeCJK_punct_glue:NN \c__xeCJK_left_tl #1
+ \__xeCJK_punct_offset:NN \c__xeCJK_left_tl #1
\UL@start
}
{ \__xeCJK_ulem_Default_and_FullLeft_glue:N #1 }
@@ -437,7 +440,7 @@
{
\UL@stop
\__xeCJK_ulem_skip_punct_begin:
- \__xeCJK_punct_glue:NN \c__xeCJK_left_tl {#1}
+ \__xeCJK_punct_glue:NN \c__xeCJK_left_tl #1
\UL@start
}
{ \__xeCJK_ulem_Boundary_and_FullLeft_glue:N #1 }
@@ -449,11 +452,12 @@
\xeCJK_class_group_end:
\UL@stop
\__xeCJK_ulem_skip_punct_begin:
- \__xeCJK_ulem_ccglue:
- \__xeCJK_punct_glue:NN \c__xeCJK_left_tl {#1}
- \__xeCJK_punct_offset:NN \c__xeCJK_left_tl {#1}
+ \__xeCJK_ulem_punct_ccglue:
+ \__xeCJK_punct_glue:NN \c__xeCJK_left_tl #1
+ \__xeCJK_punct_offset:NN \c__xeCJK_left_tl #1
\UL@start
\__xeCJK_ulem_class_group_begin:
+ \xeCJK_select_punct_font:
}
{ \__xeCJK_ulem_CJK_and_FullLeft_glue:N #1 }
}
@@ -463,16 +467,13 @@
{
\UL@stop
\__xeCJK_ulem_skip_punct_begin:
- \__xeCJK_punct_if_long:NTF {#1}
- { \__xeCJK_ulem_ccglue: }
+ \__xeCJK_punct_if_long:NTF #1
+ { \xeCJK_allow_break: }
+ { \xeCJK_no_break: }
+ \__xeCJK_punct_if_middle:NT #1
{
- \__xeCJK_punct_if_middle:NTF {#1}
- {
- \xeCJK_no_break:
- \__xeCJK_punct_glue:NN \c__xeCJK_right_tl {#1}
- \__xeCJK_punct_bound_rule:NN \c__xeCJK_left_tl {#1}
- }
- { \xeCJK_no_break: }
+ \__xeCJK_punct_glue:NN \c__xeCJK_right_tl #1
+ \__xeCJK_punct_bound_rule:NN \c__xeCJK_left_tl #1
}
\UL@start
}
@@ -483,8 +484,20 @@
\xeCJK_if_ulem_patch:TF
{
\xeCJK_class_group_end:
- \__xeCJK_Default_and_FullRight_glue:N {#1}
+ \UL@stop
+ \__xeCJK_ulem_skip_punct_begin:
+ \__xeCJK_punct_if_long:NTF #1
+ { \xeCJK_allow_break: }
+ { \xeCJK_no_break: }
+ \__xeCJK_punct_if_middle:NT #1
+ {
+ \__xeCJK_ulem_punct_ccglue:
+ \__xeCJK_punct_glue:NN \c__xeCJK_right_tl #1
+ \__xeCJK_punct_bound_rule:NN \c__xeCJK_left_tl #1
+ }
+ \UL@start
\__xeCJK_ulem_class_group_begin:
+ \xeCJK_select_punct_font:
}
{ \__xeCJK_ulem_CJK_and_FullRight_glue:N #1 }
}
@@ -494,7 +507,7 @@
{
\__xeCJK_punct_if_middle:NTF \g__xeCJK_last_punct_tl
{
- \xeCJK_get_punct_bounds:NN \c__xeCJK_left_tl \g__xeCJK_last_punct_tl
+ \xeCJK_get_punct_bounds:No \c__xeCJK_left_tl \g__xeCJK_last_punct_tl
\__xeCJK_punct_bound_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\xeCJK_class_group_end: \UL@stop \xeCJK_no_break:
\__xeCJK_punct_glue:NN \c__xeCJK_left_tl \g__xeCJK_last_punct_tl
@@ -506,12 +519,32 @@
}
{ \__xeCJK_ulem_FullLeft_and_Default: }
}
+\cs_new_protected_nopar:Npn \__xeCJK_ulem_FullLeft_and_Boundary:
+ {
+ \xeCJK_if_ulem_patch:TF
+ {
+ \__xeCJK_punct_if_middle:NTF \g__xeCJK_last_punct_tl
+ {
+ \xeCJK_get_punct_bounds:No \c__xeCJK_left_tl \g__xeCJK_last_punct_tl
+ \__xeCJK_punct_bound_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
+ \xeCJK_class_group_end: \UL@stop \xeCJK_no_break:
+ \__xeCJK_punct_glue:NN \c__xeCJK_left_tl \g__xeCJK_last_punct_tl
+ }
+ { \xeCJK_class_group_end: \UL@stop }
+ \__xeCJK_ulem_skip_punct_end:
+ \xeCJK_no_break:
+ \UL@start
+ \tex_ignorespaces:D
+ }
+ { \__xeCJK_ulem_FullLeft_and_Boundary: }
+ }
\cs_new_protected_nopar:Npn \__xeCJK_ulem_FullLeft_and_CJK:
{
\xeCJK_if_ulem_patch:TF
{
\xeCJK_FullLeft_and_Default:
\__xeCJK_ulem_class_group_begin:
+ \xeCJK_select_font:
}
{ \__xeCJK_ulem_FullLeft_and_CJK: }
}
@@ -529,6 +562,21 @@
}
{ \__xeCJK_ulem_FullRight_and_Default: }
}
+\cs_new_protected_nopar:Npn \__xeCJK_ulem_FullRight_and_Boundary:
+ {
+ \xeCJK_if_ulem_patch:TF
+ {
+ \__xeCJK_punct_rule:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
+ \xeCJK_class_group_end:
+ \UL@stop
+ \__xeCJK_punct_offset:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
+ \__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
+ \__xeCJK_ulem_skip_punct_end:
+ \UL@start
+ \tex_ignorespaces:D
+ }
+ { \__xeCJK_ulem_FullRight_and_Boundary: }
+ }
\cs_new_protected_nopar:Npn \__xeCJK_ulem_FullRight_and_CJK:
{
\xeCJK_if_ulem_patch:TF
@@ -538,10 +586,11 @@
\UL@stop
\__xeCJK_punct_offset:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
\__xeCJK_punct_glue:NN \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
- \__xeCJK_ulem_ccglue:
+ \__xeCJK_ulem_punct_ccglue:
\__xeCJK_ulem_skip_punct_end:
\UL@start
\__xeCJK_ulem_class_group_begin:
+ \xeCJK_select_font:
}
{ \__xeCJK_ulem_FullRight_and_CJK: }
}
@@ -551,15 +600,6 @@
{ \xeCJK_ulem_hskip:n }
{ \__xeCJK_ulem_punct_hskip:n }
}
-\cs_new_protected_nopar:Npn \__xeCJK_ulem_punct_kern:n #1
- {
- \xeCJK_if_ulem_patch:TF
- {
- \dim_compare:nNnF {#1} = \c_zero_dim
- { \xeCJK_ulem_hskip:n {#1} }
- }
- { \__xeCJK_ulem_punct_kern:n {#1} }
- }
\cs_new_protected_nopar:Npn \__xeCJK_ulem_punct_breakable_kern:n #1
{
\xeCJK_if_ulem_patch:TF
@@ -567,6 +607,7 @@
\xeCJK_class_group_end:
\UL@stop \xeCJK_ulem_hskip:n {#1} \UL@start
\__xeCJK_ulem_class_group_begin:
+ \xeCJK_select_punct_font:
}
{ \__xeCJK_ulem_punct_breakable_kern:n {#1} }
}
@@ -594,9 +635,11 @@
}
\cs_new_protected_nopar:Npn \__xeCJK_ulem_ccglue:
{ { \skip_set_eq:NN \UL@skip \l__xeCJK_ccglue_skip \UL@leaders } }
+\cs_new_protected_nopar:Npn \__xeCJK_ulem_punct_ccglue:
+ { \__xeCJK_punct_hskip:n { \l__xeCJK_ccglue_skip } }
\cs_new_protected_nopar:Npn \xeCJK_ulem_group_begin:
{
- \xeCJK_leave_vmode:
+ \mode_leave_vertical:
\c_group_begin_token
}
\cs_new_protected_nopar:Npn \xeCJK_ulem_group_end:
@@ -608,7 +651,7 @@
{ \__xeCJK_ulem_on:n { \xeCJK_ulem_left: #1 \xeCJK_ulem_right: } }
\NewDocumentCommand \xeCJKfntefon { s t- s o }
{
- \xeCJK_leave_vmode:
+ \mode_leave_vertical:
\xeCJK_ulem_boot:NNNn #1#2#3 {#4}
\xeCJK_ulem_on:n
}
@@ -725,9 +768,9 @@
{
\bool_lazy_or:nnT {#3} {#5}
{ \bool_set_false:c { l__xeCJK_#2_skip_bool } }
- \IfBooleanT #4
+ \bool_if:NT #4
{ \bool_set_true:c { l__xeCJK_#2_subtract_bool } }
- \IfNoValueF {#6}
+ \tl_if_novalue:nF {#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 }
@@ -738,9 +781,9 @@
{
\bool_lazy_or:nnT {#1} {#3}
{ \bool_set_false:N \l__xeCJK_ulem_skip_bool }
- \IfBooleanT #2
+ \bool_if:NT #2
{ \bool_set_true:N \l__xeCJK_ulem_subtract_bool }
- \IfNoValueF {#4}
+ \tl_if_novalue:nF {#4}
{ \keys_set:nn { xeCJK / options / ulem } {#4} }
}
\cs_new_protected_nopar:Npn \xeCJK_fntef_initial:n
@@ -793,12 +836,6 @@
\color_group_end:
}
}
-\cs_new_protected_nopar:Npn \xeCJK_leave_vmode:
- {
- \if_mode_vertical:
- \exp_after:wN \tex_indent:D
- \fi:
- }
\keys_define:nn { xeCJK / options }
{
underdot / symbol .tl_set:N = \l__xeCJK_udot_symbol_tl ,
@@ -930,7 +967,7 @@
}
\cs_new_protected:Npn \__xeCJK_under_symbol_auxii:nnnnnn #1#2#3#4#5#6
{
- \xeCJK_leave_vmode:
+ \mode_leave_vertical:
\group_begin:
\xeCJK_under_symbol_initial:nnnnn {#1} {#2} {#3} {#4} {#5}
\__xeCJK_under_symbol_text_format:c { l__xeCJK_#2_text_format_tl }
@@ -941,7 +978,7 @@
}
\cs_new_protected:Npn \xeCJK_under_symbol_initial:nnnnn #1#2#3#4#5
{
- \IfNoValueF {#3}
+ \tl_if_novalue:nF {#3}
{ \keys_set:nn { xeCJK / options / #1 } {#3} }
\xeCJK_fntef_sbox:n {#5}
\bool_if:NTF \l__xeCJK_fntef_bool
@@ -1016,7 +1053,7 @@
}
\NewEnviron { CJKfilltwosides* } [ 2 ] [ c ]
{
- \xeCJK_leave_vmode:
+ \mode_leave_vertical:
\cs_set_eq:NN \CJKglue \xeCJK_fntef_hfilll:
\tl_set:Nn \arraystretch { 1 }
\cs_if_free:NF \extrarowheight
@@ -1050,8 +1087,7 @@
}
\cs_new_protected_nopar:Npn \xeCJK_fntef_hfilll:
{ \skip_horizontal:N \c__xeCJK_filll_skip }
-\skip_new:N \c__xeCJK_filll_skip
-\skip_set:Nn \c__xeCJK_filll_skip { \c_zero_dim plus 1 filll }
+\skip_const:Nn \c__xeCJK_filll_skip { \c_zero_dim plus 1 filll }
%%
%% This package consists of the files xeCJK.dtx,
%% full-stop.map,