summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-02-10 22:12:31 +0000
committerKarl Berry <karl@freefriends.org>2020-02-10 22:12:31 +0000
commit3851cb5112493bb4778c751f24b877d07cc568bf (patch)
tree26db8a0f5170aa7ebf9bacad7d93a2cb60fda305 /Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
parentb814ea176d325bbd2efe7b03cadec07545aa2c77 (diff)
xecjk (10feb20)
git-svn-id: svn://tug.org/texlive/trunk@53750 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty')
-rw-r--r--Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty318
1 files changed, 134 insertions, 184 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
index 3a38fdb023a..c376cac7fd6 100644
--- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
+++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
@@ -7,8 +7,8 @@
%% xeCJK.dtx (with options: `package')
%%
%% Copyright (C) 2007--2010 by Wenchang Sun <sunwch@nankai.edu.cn>
-%% Copyright (C) 2009--2019 by Leo Liu <leoliu.pku@gmail.com>
-%% Copyright (C) 2012--2019 by Qing Lee <sobenlee@gmail.com>
+%% Copyright (C) 2009--2020 by Leo Liu <leoliu.pku@gmail.com>
+%% Copyright (C) 2012--2020 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 4449ab5 2019-06-02 23:02:31 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 06a6ce4 2020-02-10 22:37:50 +0800 Qing Lee <sobenlee@gmail.com> $
{Typesetting CJK scripts with XeLaTeX}
\ProvidesExplPackage{\ExplFileName}
- {\ExplFileDate}{3.7.4}{\ExplFileDescription}
+ {\ExplFileDate}{3.8.0}{\ExplFileDescription}
\msg_new:nnn { xeCJK } { Require-XeTeX }
{
The~xeCJK~package~requires~XeTeX~to~function.\\\\
@@ -49,7 +49,7 @@
using~your~TeX~package~manager~or~from~CTAN.\\
\str_if_eq:nnT {#1} { expl3 } { Loading~xeCJK~will~abort! }
}
-\@ifpackagelater { expl3 } { 2019/03/05 } { }
+\@ifpackagelater { expl3 } { 2020/02/08 } { }
{ \msg_critical:nnn { xeCJK } { l3-too-old } { expl3 } }
\prg_new_conditional:Npnn \xeCJK_if_package_loaded:n #1 { p , T , F , TF }
{
@@ -67,21 +67,19 @@
The~`#1'~package~and~xeCJK~are~incompatible.\\\\
Please~load~it~after~xeCJK.
}
-\clist_map_inline:nn { CJKfntef , CJKnumb }
+\clist_map_inline:nn { CJKnumb }
{
\xeCJK_if_package_loaded:nT {#1}
{ \msg_error:nnn { xeCJK } { after-package } {#1} }
}
-\clist_map_inline:nn { CJKulem , CJKvert , CJKpunct , CJKutf8 , CJK }
+\clist_map_inline:nn
+ { CJKfntef , CJKulem , CJKvert , CJKpunct , CJKutf8 , CJK }
{
\xeCJK_if_package_loaded:nTF {#1}
{ \msg_error:nnn { xeCJK } { incompatible-package } {#1} }
{ \tl_const:cn { ver@ #1 . \c__xeCJK_package_ext_tl } { 9999/99/99 } }
}
-\RequirePackage { xtemplate }
-\@ifpackagelater { xtemplate } { 2012/11/10 } { }
- { \msg_error:nnn { xeCJK } { l3-too-old } { xtemplate } }
-\RequirePackage { xparse , l3keys2e }
+\RequirePackage { l3keys2e , xtemplate , xparse }
\tl_new:N \l__xeCJK_tmp_tl
\int_new:N \l__xeCJK_tmp_int
\box_new:N \l__xeCJK_tmp_box
@@ -182,11 +180,9 @@
\cs_set_eq:NN #2 \__xeCJK_swap_cs_aux:w
\cs_undefine:N \__xeCJK_swap_cs_aux:w
}
-\cs_new_protected_nopar:Npn \xeCJK_font_gset_to_current:c #1
- {
- \exp_last_unbraced:Nco \cs_gset_eq:NN
- {#1} \tex_the:D \tex_font:D
- }
+\cs_new_protected_nopar:Npn \xeCJK_font_gset_to_current:N #1
+ { \exp_after:wN \cs_gset_eq:NN \exp_after:wN #1 \tex_the:D \tex_font:D }
+\cs_generate_variant:Nn \xeCJK_font_gset_to_current:N { c }
\prg_new_conditional:Npnn \xeCJK_glyph_if_exist:N #1 { p , T , F , TF }
{
\tex_iffontchar:D \tex_font:D `#1 \exp_stop_f:
@@ -292,8 +288,10 @@
\cs_new_protected:Npn \xeCJK_peek_catcode_ignore_spaces:NTF #1#2#3
{
\cs_set_eq:NN \l__xeCJK_peek_search_token #1 \scan_stop:
- \tl_set:Nn \__xeCJK_peek_catcode_true:w { \group_align_safe_end: #2 }
- \tl_set:Nn \__xeCJK_peek_catcode_false:w { \group_align_safe_end: #3 }
+ \cs_set_protected:Npx \__xeCJK_peek_catcode_true:w
+ { \exp_not:N \group_align_safe_end: \exp_not:n {#2} }
+ \cs_set_protected:Npx \__xeCJK_peek_catcode_false:w
+ { \exp_not:N \group_align_safe_end: \exp_not:n {#3} }
\bool_set_false:N \l__xeCJK_peek_ignore_spaces_bool
\group_align_safe_begin:
\peek_after:Nw \__xeCJK_peek_catcode_ignore_spaces_branches:w
@@ -317,25 +315,9 @@
\fi:
}
\cs_new_eq:NN \l__xeCJK_peek_search_token ?
-\tl_new:N \__xeCJK_peek_catcode_true:w
-\tl_new:N \__xeCJK_peek_catcode_false:w
+\cs_new_eq:NN \__xeCJK_peek_catcode_true:w \prg_do_nothing:
+\cs_new_eq:NN \__xeCJK_peek_catcode_false:w \prg_do_nothing:
\bool_new:N \l__xeCJK_peek_ignore_spaces_bool
-\cs_new_protected:Npn \xeCJK_peek_after_ignore_spaces:nw #1
- {
- \tl_set:Nn \__xeCJK_peek_after_do:w { \group_align_safe_end: #1 }
- \group_align_safe_begin:
- \peek_after:Nw \__xeCJK_peek_ignore_spaces_branches:w
- }
-\cs_new_protected_nopar:Npn \__xeCJK_peek_ignore_spaces_branches:w
- {
- \if_meaning:w \l_peek_token \c_space_token
- \exp_after:wN \peek_after:Nw
- \exp_after:wN \__xeCJK_peek_ignore_spaces_branches:w
- \tex_romannumeral:D 0
- \else:
- \exp_after:wN \__xeCJK_peek_after_do:w
- \fi:
- }
\cs_new_nopar:Npn \xeCJK_token_value_class:N #1
{ \tex_XeTeXcharclass:D \xeCJK_token_value_charcode:N #1 }
\cs_new_nopar:Npn \xeCJK_token_value_charcode:N #1
@@ -1779,10 +1761,7 @@
}
\prg_generate_conditional_variant:Nnn \tl_case:Nn { No } { TF , F }
\cs_new_protected_nopar:Npn \xeCJK_check_FullRight_symbol:Nw #1
- {
- \xeCJK_peek_after_ignore_spaces:nw
- { \__xeCJK_save_FullRight_symbol:N #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
{
\tl_new:N #2
@@ -2646,7 +2625,7 @@
\dim_compare:nNnTF { \use:c { l__xeCJK_#1_punct_width_dim } } < \c_max_dim
{ \use:c { l__xeCJK_#1_punct_width_dim } }
{
- \fp_compare:nNnTF { \use:c { l__xeCJK_#1_punct_ratio_fp } } ? \c_zero_fp
+ \fp_if_nan:nTF { \use:c { l__xeCJK_#1_punct_ratio_fp } }
{ \c_max_dim }
{
\fp_use:c { l__xeCJK_#1_punct_ratio_fp }
@@ -2757,7 +2736,7 @@
\dim_compare:nNnTF \l__xeCJK_kerning_total_width_dim < \c_max_dim
{ \__xeCJK_calc_kerning_margin:nNN \l__xeCJK_kerning_total_width_dim }
{
- \fp_compare:nNnTF \l__xeCJK_kerning_total_ratio_fp ? \c_zero_fp
+ \fp_if_nan:nTF { \l__xeCJK_kerning_total_ratio_fp }
{
\xeCJK_if_same_class:NNTF #1 #2
{ \__xeCJK_kerning_width_or_ratio:nNN { same } }
@@ -2781,7 +2760,7 @@
\dim_compare:nNnTF { \use:c { l__xeCJK_#1_align_margin_dim } } < \c_max_dim
{ \use:c { l__xeCJK_#1_align_margin_dim } }
{
- \fp_compare:nNnTF { \use:c { l__xeCJK_#1_align_ratio_fp } } ? \c_zero_fp
+ \fp_if_nan:nTF { \use:c { l__xeCJK_#1_align_ratio_fp } }
{
\dim_compare:nNnTF \l__xeCJK_kerning_margin_width_dim < \c_max_dim
{ \l__xeCJK_kerning_margin_width_dim \use_none:n }
@@ -3314,22 +3293,27 @@
{ \__xeCJK_font_csname:n { \CJK@family } }
\cs_new_protected_nopar:Npn \xeCJK_select_font:
{
- \exp_args:Nc \cs_if_exist_use:NF { \l_xeCJK_current_font_tl }
+ \__xeCJK_select_font:cn
+ { \l_xeCJK_current_font_tl }
+ { \l_xeCJK_family_tl }
+ }
+\cs_new_protected_nopar:Npn \__xeCJK_select_font:Nn #1#2
+ {
+ \cs_if_exist_use:NF #1
{
- \__xeCJK_family_use:n { \l_xeCJK_family_tl }
- \xeCJK_font_gset_to_current:c { \l_xeCJK_current_font_tl }
+ \__xeCJK_family_use:n {#2}
+ \xeCJK_font_gset_to_current:N #1
}
}
+\cs_generate_variant:Nn \__xeCJK_select_font:Nn { c }
\tl_new:N \l__xeCJK_current_coor_tl
\cs_new_eq:NN \xeCJK@setfont \xeCJK_select_font:
\cs_new_eq:NN \xeCJK_select_punct_font: \xeCJK_select_font:
\cs_new_protected_nopar:Npn \__xeCJK_select_punct_font_aux:
{
- \exp_args:Nc \cs_if_exist_use:NF { \l_xeCJK_current_punct_font_tl }
- {
- \__xeCJK_family_use:n { \l_xeCJK_punct_family_tl }
- \xeCJK_font_gset_to_current:c { \l_xeCJK_current_punct_font_tl }
- }
+ \__xeCJK_select_font:cn
+ { \l_xeCJK_current_punct_font_tl }
+ { \l_xeCJK_punct_family_tl }
}
\tl_new:N \CJK@punctfamily
\tl_new:N \l_xeCJK_punct_family_tl
@@ -3351,15 +3335,21 @@
\__xeCJK_msg_new:nn { CJK-block } { Switch~from~block~`#1'~to~`#2'. }
\cs_new_protected_nopar:Npn \xeCJK_select_font:n #1
{
- \exp_args:Nc \cs_if_exist_use:NF
+ \__xeCJK_select_font:cnn
{ \__xeCJK_font_csname:n { \CJK@family/#1 } }
+ { \l_xeCJK_family_tl }
+ {#1}
+ }
+\cs_new_protected_nopar:Npn \__xeCJK_select_font:Nnn #1#2#3
+ {
+ \cs_if_exist_use:NF #1
{
- \xeCJK_block_family:nn { \l_xeCJK_family_tl } {#1}
- \__xeCJK_family_use:n { \l_xeCJK_family_tl/#1 }
- \xeCJK_font_gset_to_current:c
- { \__xeCJK_font_csname:n { \CJK@family/#1 } }
+ \xeCJK_block_family:nn {#2} {#3}
+ \__xeCJK_family_use:n { #2/#3 }
+ \xeCJK_font_gset_to_current:N #1
}
}
+\cs_generate_variant:Nn \__xeCJK_select_font:Nnn { c }
\cs_new_protected_nopar:Npn \xeCJK_block_family:nn #1#2
{
\xeCJK_family_if_exist:xF { #1/#2 }
@@ -3385,11 +3375,36 @@
{ \__xeCJK_family_nfss_csname:n {#1} }
{
\exp_not:N \fontencoding { \c__xeCJK_encoding_tl }
- \tl_set:Nn \exp_not:N \f@family {#2}
+ \__xeCJK_nfss_family:n {#2}
\exp_not:N \selectfont
}
}
\cs_generate_variant:Nn \__xeCJK_gset_family_nfss_cs:nn { xx }
+\cs_if_exist:NTF \fontseriesforce
+ {
+ \cs_new_protected_nopar:Npn \__xeCJK_nfss_family:n #1
+ {
+ \str_if_eq:eeF { \f@series } { \bfdefault }
+ {
+ \str_case_e:nn { \f@family }
+ {
+ { \rmdefault } { \__xeCJK_nfss_series:n { rm } }
+ { \sfdefault } { \__xeCJK_nfss_series:n { sf } }
+ { \ttdefault } { \__xeCJK_nfss_series:n { tt } }
+ }
+ }
+ \fontfamily {#1}
+ }
+ \cs_new_protected_nopar:Npn \__xeCJK_nfss_series:n #1
+ {
+ \str_if_eq:eeT { \f@series } { \use:c { bfseries@#1 } }
+ { \fontseriesforce { \bfdefault } }
+ }
+ }
+ {
+ \cs_new_protected_nopar:Npn \__xeCJK_nfss_family:n #1
+ { \tl_set:Nn \f@family {#1} }
+ }
\prg_new_protected_conditional:Npnn \xeCJK_family_if_exist:n #1 { T , F , TF }
{
\prop_get:NnNTF \g__xeCJK_family_name_prop
@@ -3471,7 +3486,7 @@
\tl_new:N \CJK@family
\cs_new_protected_nopar:Npn \__xeCJK_gobble_CJKfamily:
{ \cs_set_eq:NN \CJKfamily \__xeCJK_gobble_CJKfamily:wn }
-\DeclareExpandableDocumentCommand \__xeCJK_gobble_CJKfamily:wn { t+ t- m } { }
+\NewExpandableDocumentCommand \__xeCJK_gobble_CJKfamily:wn { t+ t- m } { }
\cs_new_protected_nopar:Npn \xeCJK_family_if_exist_use:n #1
{
\xeCJK_family_if_exist:nTF {#1}
@@ -4159,41 +4174,51 @@
}
\fp_new:N \l__xeCJK_scale_factor_fp
\prop_new:N \g__xeCJK_scale_family_prop
-\cs_new_protected_nopar:Npn \xeCJK_visible_space:
+\cs_new_protected_nopar:Npn \xeCJK_setup_visible_space:
{
\xeCJK_make_boundary:
\xeCJK_glyph_if_exist:NTF { ^^^^2423 }
- { ^^^^2423 }
+ { \tl_set:Nn \l__xeCJK_visible_space_tl { ^^^^2423 } }
{
\int_compare:nNnTF { \tex_XeTeXfonttype:D \tex_font:D } = \c_zero_int
{
- \str_if_eq:eeTF { \f@family } { \ttdefault }
- { \c_catcode_other_space_tl }
- { \textvisiblespace }
+ \tl_set:Nx \l__xeCJK_visible_space_tl
+ {
+ \str_if_eq:eeTF { \f@family } { \ttdefault }
+ { \c_catcode_other_space_tl }
+ { \exp_not:N \textvisiblespace }
+ }
}
- { \xeCJK_visible_space_fallback: }
+ { \__xeCJK_visible_space_fallback: }
}
+ \cs_set_eq:NN \@xobeysp \l__xeCJK_visible_space_tl
}
-\AtEndOfPackage
- { \cs_gset_eq:NN \fontspec_visible_space: \xeCJK_visible_space: }
-\cs_new_protected_nopar:Npn \xeCJK_visible_space_fallback:
- { {
- \cs_if_exist_use:cF { xeCJK/space/\curr@fontshape/\f@size }
- { \xeCJK_set_visible_space_font: }
- ^^^^2423
- } }
-\cs_new_protected_nopar:Npn \xeCJK_set_visible_space_font:
- {
- \tl_set:Nx \l__xeCJK_current_coor_tl
+\tl_new:N \l__xeCJK_visible_space_tl
+\cs_set_eq:NN \@setupverbvisiblespace \xeCJK_setup_visible_space:
+\cs_new_protected_nopar:Npn \__xeCJK_visible_space_fallback:
+ {
+ \exp_args:Nc \__xeCJK_visible_space_fallback_auxi:N
{ xeCJK/space/\curr@fontshape/\f@size }
- \exp_args:No \__xeCJK_set_visible_space_size:n
- { \dim_use:N \tex_fontdimen:D 2 ~ \tex_font:D }
- \xeCJK_font_gset_to_current:c { \l__xeCJK_current_coor_tl }
+ }
+\cs_new_protected_nopar:Npn \__xeCJK_visible_space_fallback_auxi:N #1
+ {
+ \cs_if_exist:NF #1
+ { \__xeCJK_visible_space_fallback_auxii:N #1 }
+ \tl_set:Nn \l__xeCJK_visible_space_tl {#1}
+ }
+\cs_new_protected_nopar:Npn \__xeCJK_visible_space_fallback_auxii:N #1
+ {
+ \group_begin:
+ \exp_args:No \__xeCJK_set_visible_space_size:n
+ { \dim_use:N \tex_fontdimen:D 2 ~ \tex_font:D }
+ \cs_new_protected_nopar:Npx #1
+ { \group_begin: \tex_the:D \tex_font:D ^^^^2423 \group_end: }
+ \group_end:
}
\cs_new_protected_nopar:Npn \__xeCJK_set_visible_space_size:n #1
{
- \fontencoding { \g_fontspec_encoding_tl }
- \tl_set:Nx \f@family { lmtt }
+ \fontencoding { \UnicodeEncodingName }
+ \tl_set:Nn \f@family { lmtt }
\selectfont
\dim_compare:nNnF {#1} = { \tex_fontdimen:D 2 ~ \tex_font:D }
{
@@ -4303,7 +4328,7 @@
\defaultCJKfontfeatures { Script = CJK }
\xeCJKsetwidth { ^^^^2013 } { 0.5 em }
\ProcessKeysOptions { xeCJK / options }
-\RequirePackage { fontspec } [ 2019/03/15 ]
+\RequirePackage { fontspec } [ 2020/02/03 ]
\tl_const:Nx \c__xeCJK_encoding_tl { \g_fontspec_encoding_tl }
\keys_define:nn { xeCJK / options }
{
@@ -4312,7 +4337,7 @@
}
\__xeCJK_msg_new:nn { option-invalid }
{
- The~`#1'~option~only~can~be~set~in~the~optional~argument~to~the\\
+ The~`#1'~option~can~only~be~set~in~the~optional~argument~to~the\\
\token_to_str:N \usepackage \ command~when~xeCJK~is~being~loaded.\\\\
Please~do~not~set~it~via~the~\token_to_str:N \xeCJKsetup \ command.
}
@@ -4359,33 +4384,6 @@
\xeCJK_set_char_class:nnn {#1} {#2} {#3}
\xeCJKResetPunctClass
}
-\cs_new_protected_nopar:Npn \xeCJK_fix_hbar:
- {
- \cs_if_free:NF \symlegacymaths
- {
- \group_begin:
- \cs_set_nopar:Npn \__xeCJK_tmp:w
- { { \mathchar '26 \mkern -9mu h } }
- \exp_after:wN \group_end:
- \if_meaning:w \__xeCJK_tmp:w \hbar
- \cs_set_protected_nopar:Npx \hbar
- { {
- \mathchar
- \int_eval:n { \symlegacymaths * 256 + '26 } ~
- \mkern -9mu h
- } }
- \fi:
- }
- }
-\cs_if_exist:NTF \fontspec_maybe_setup_maths:
- {
- \cs_gset_protected_nopar:Npx \fontspec_maybe_setup_maths:
- {
- \exp_not:o { \fontspec_maybe_setup_maths: }
- \xeCJK_fix_hbar:
- }
- }
- { \AtBeginDocument { \xeCJK_fix_hbar: } }
\cs_new_protected_nopar:Npn \xeCJK@update@fam
{
\addto@hook \everymath
@@ -4425,20 +4423,6 @@
{ \cs_if_exist_p:N \Url@MathSetup }
{ \tl_put_right:Nn \Url@MathSetup { \xeCJK@update@fam } }
}
-\@ifpackagelater { fontspec } { 2014/06/21 } { }
- {
- \cs_gset_protected_nopar:Npx \fontspec_setup_maths:
- {
- \exp_not:o
- {
- \fontspec_setup_maths:
- \bool_lazy_or:nnT
- { \tl_if_empty_p:N \g__fontspec_bfmathrm_tl }
- { \tl_if_empty_p:N \g_fontspec_bfmathrm_tl }
- { \DeclareSymbolFontAlphabet \mathrm { operators } }
- }
- }
- }
\cs_new_protected_nopar:Npn \__xeCJK_math_robust:N #1
{
\group_begin: \exp_args:NcNc \group_end:
@@ -4505,59 +4489,41 @@
\__xeCJK_math_robust:N \endmath
}
\__xeCJK_math_robust:N \ensuremath
-\__xeCJK_msg_new:nn { conflict-package }
+\cs_if_exist:NTF \@rmfamilyhook
{
- The~`#1'~package~is~too~old. \\
- Please~update~an~up~to~date~version~of~it\\
- using~your~TeX~package~manager~or~from~CTAN.
- }
-\xeCJK_if_package_loaded:nTF { realscripts }
- {
- \@ifpackagelater { realscripts } { 2010/10/10 } { }
+ \cs_set_eq:NN \xeCJK@family \xeCJK_switch_family:x
+ \g@addto@macro \@rmfamilyhook { \xeCJK@family { \CJKrmdefault } }
+ \g@addto@macro \@sffamilyhook { \xeCJK@family { \CJKsfdefault } }
+ \g@addto@macro \@ttfamilyhook { \xeCJK@family { \CJKttdefault } }
+ \exp_args:Nx \g@addto@macro
{
- \__xeCJK_error:nx { conflict-package }
- {
- \xeCJK_if_package_loaded:nTF { xltxtra }
- { xltxtra } { realscripts }
- }
+ \cs_if_exist:NTF \@defaultfamilyhook
+ { \exp_not:N \@defaultfamilyhook }
+ { \exp_not:c { normalfont ~ } }
}
+ { \xeCJK@family { \CJKfamilydefault } }
}
{
- \cs_new_eq:NN \__xeCJK_dim_max:nn \dim_max:nn
- \cs_new_eq:NN \__xeCJK_dim_min:nn \dim_min:nn
- \__xeCJK_at_end_preamble:n
+ \RenewDocumentCommand \fontfamily { m }
{
- \xeCJK_if_package_loaded:nT { realscripts }
- {
- \@ifpackagelater { realscripts } { 2010/10/10 } { }
- {
- \cs_gset_eq:NN \dim_max:nn \__xeCJK_dim_max:nn
- \cs_gset_eq:NN \dim_min:nn \__xeCJK_dim_min:nn
- }
- }
- \cs_undefine:N \__xeCJK_dim_max:nn
- \cs_undefine:N \__xeCJK_dim_min:nn
+ \tl_set:Nx \f@family {#1}
+ \xeCJK@fontfamily {#1}
}
- }
-\RenewDocumentCommand \fontfamily { m }
- {
- \tl_set:Nx \f@family {#1}
- \xeCJK@fontfamily {#1}
- }
-\cs_new_protected_nopar:Npn \xeCJK@fontfamily #1
- {
- \str_if_eq:nnTF {#1} { \familydefault }
- { \xeCJK_switch_family:x { \CJKfamilydefault } }
- { \__xeCJK_update_family_aux: }
- }
-\cs_new_protected_nopar:Npn \__xeCJK_update_family_aux:
- {
- \str_case_e:nn { \f@family }
+ \cs_new_protected_nopar:Npn \xeCJK@fontfamily #1
{
- { \rmdefault } { \xeCJK_switch_family:x { \CJKrmdefault } }
- { \sfdefault } { \xeCJK_switch_family:x { \CJKsfdefault } }
- { \ttdefault } { \xeCJK_switch_family:x { \CJKttdefault } }
- { \familydefault } { \xeCJK_switch_family:x { \CJKfamilydefault } }
+ \str_if_eq:nnTF {#1} { \familydefault }
+ { \xeCJK_switch_family:x { \CJKfamilydefault } }
+ { \__xeCJK_update_family_aux: }
+ }
+ \cs_new_protected_nopar:Npn \__xeCJK_update_family_aux:
+ {
+ \str_case_e:nn { \f@family }
+ {
+ { \rmdefault } { \xeCJK_switch_family:x { \CJKrmdefault } }
+ { \sfdefault } { \xeCJK_switch_family:x { \CJKsfdefault } }
+ { \ttdefault } { \xeCJK_switch_family:x { \CJKttdefault } }
+ { \familydefault } { \xeCJK_switch_family:x { \CJKfamilydefault } }
+ }
}
}
\cs_new_eq:NN \xeCJK@fix@penalty \fix@penalty
@@ -4847,22 +4813,6 @@
{ \cs_if_exist_p:N \icprotect }
{ \exp_after:wN \tex_let:D \cs:w cprotect \cs_end: \icprotect }
}
-\cs_if_eq:NNTF \ifCTEX@fntef \tex_iftrue:D
- { \AtEndOfPackage { \RequirePackage { xeCJKfntef } } }
- {
- \__xeCJK_at_end_preamble:n
- {
- \xeCJK_if_package_loaded:nF { xeCJKfntef }
- {
- \xeCJK_if_package_loaded:nTF { CJKfntef }
- { \RequirePackage { xeCJKfntef } }
- {
- \xeCJK_if_package_loaded:nT { ulem }
- { \RequirePackage { xeCJKfntef } }
- }
- }
- }
- }
\__xeCJK_at_end_preamble:n
{
\xeCJK_if_package_loaded:nT { listings }