summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/xelatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-06-06 21:13:35 +0000
committerKarl Berry <karl@freefriends.org>2020-06-06 21:13:35 +0000
commit8cc59967284bfbd130d8d906ead1db117b8f253c (patch)
tree4a9f4118e691bed652651a754eef03b07799eef1 /Master/texmf-dist/tex/xelatex
parent596c6ae45e88c08e1b3f42b8286862ae3a9665fa (diff)
xecjk (6jun20)
git-svn-id: svn://tug.org/texlive/trunk@55443 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/xelatex')
-rw-r--r--Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty4
-rw-r--r--Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg4
-rw-r--r--Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty234
-rw-r--r--Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty7
-rw-r--r--Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty4
-rw-r--r--Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def4
6 files changed, 181 insertions, 76 deletions
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty
index c85691e4527..a601ffff36a 100644
--- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty
+++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK-listings.sty
@@ -29,10 +29,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 94baac7 2020-06-06 23:21:05 +0800 Qing Lee <sobenlee@gmail.com> $
{xeCJK patch file for listings}
\ProvidesExplPackage{xeCJK-listings}
- {\ExplFileDate}{3.8.3}{\ExplFileDescription}
+ {\ExplFileDate}{3.8.4}{\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 0ad5db5a3b1..de040c0a3dd 100644
--- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg
+++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.cfg
@@ -6,10 +6,10 @@
%%
%% xeCJK.dtx (with options: `config')
%%
-\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 94baac7 2020-06-06 23:21:05 +0800 Qing Lee <sobenlee@gmail.com> $
{Configuration file for xeCJK package}
\ProvidesExplFile{\ExplFileName.cfg}
- {\ExplFileDate}{3.8.3}{\ExplFileDescription}
+ {\ExplFileDate}{3.8.4}{\ExplFileDescription}
%%
%%
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
index 6b75e14ae19..1f278796fa8 100644
--- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
+++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJK.sty
@@ -29,10 +29,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 94baac7 2020-06-06 23:21:05 +0800 Qing Lee <sobenlee@gmail.com> $
{Typesetting CJK scripts with XeLaTeX}
\ProvidesExplPackage{\ExplFileName}
- {\ExplFileDate}{3.8.3}{\ExplFileDescription}
+ {\ExplFileDate}{3.8.4}{\ExplFileDescription}
\msg_new:nnn { xeCJK } { Require-XeTeX }
{
The~xeCJK~package~requires~XeTeX~to~function.\\\\
@@ -173,9 +173,10 @@
\cs_set_eq:NN #2 \__xeCJK_swap_cs_aux:w
\cs_undefine:N \__xeCJK_swap_cs_aux:w
}
-\cs_new_protected: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 }
+\cs_new_protected:Npn \xeCJK_font_gset_to_current:N
+ { \exp_after:wN \__xeCJK_font_gset_to_current_aux:NN \tex_the:D \tex_font:D }
+\cs_new_protected:Npn \__xeCJK_font_gset_to_current_aux:NN #1#2
+ { \cs_if_eq:NNF #1 \tex_nullfont:D { \cs_gset_eq:NN #2#1 } }
\prg_new_conditional:Npnn \xeCJK_glyph_if_exist:N #1 { p , T , F , TF }
{
\tex_iffontchar:D \tex_font:D `#1 \exp_stop_f:
@@ -771,6 +772,7 @@
\xeCJK_select_font:
\xeCJK_clear_inter_class_toks:nn {#1} { CJK }
\xeCJK_clear_Boundary_and_CJK_toks:
+ \xeCJK_fallback_symbol:NN
\CJKsymbol
}
\xeCJK_inter_class_toks:nnn { CJK } {#1} { \xeCJK_class_group_end: }
@@ -876,6 +878,7 @@
\xeCJK_class_group_begin:
\xeCJK_clear_Boundary_and_CJK_toks:
\xeCJK_select_font:
+ \xeCJK_fallback_symbol:NN
\CJKsymbol
}
\cs_new_protected:Npn \xeCJK_check_for_glue:
@@ -1131,11 +1134,23 @@
\xeCJK_inter_class_toks:nnn { CJK } { CJK }
{ \xeCJK_CJK_and_CJK:N }
\cs_new_protected:Npn \xeCJK_CJK_and_CJK:N
- { \CJKglue \CJKsymbol }
+ {
+ \CJKglue
+ \xeCJK_fallback_symbol:NN
+ \CJKsymbol
+ }
\xeCJK_inter_class_toks:nnn { FullLeft } { CJK }
- { \xeCJK_FullLeft_and_CJK: \CJKsymbol }
+ {
+ \xeCJK_FullLeft_and_CJK:
+ \xeCJK_fallback_symbol:NN
+ \CJKsymbol
+ }
\xeCJK_inter_class_toks:nnn { FullRight } { CJK }
- { \xeCJK_FullRight_and_CJK: \CJKsymbol }
+ {
+ \xeCJK_FullRight_and_CJK:
+ \xeCJK_fallback_symbol:NN
+ \CJKsymbol
+ }
\seq_map_inline:Nn \g__xeCJK_non_CJK_class_seq
{
\clist_map_inline:nn { FullLeft , FullRight }
@@ -1387,6 +1402,7 @@
\xeCJK_clear_Boundary_and_CJK_toks:
\tl_gset:Nn \g__xeCJK_last_punct_tl {#2}
\__xeCJK_punct_rule:NN \c__xeCJK_left_tl #2
+ \xeCJK_fallback_punct_symbol:NN
\CJKpunctsymbol #2
}
\cs_new_protected:Npn \__xeCJK_Default_and_FullLeft_glue:N #1
@@ -1398,6 +1414,7 @@
\tl_gset:Nn \g__xeCJK_last_punct_tl {#1}
\__xeCJK_punct_rule:NN \c__xeCJK_left_tl #1
\__xeCJK_select_punct_font:
+ \xeCJK_fallback_punct_symbol:NN
\CJKpunctsymbol #1
}
\cs_new_protected:Npn \__xeCJK_CJK_and_FullLeft_glue:N #1
@@ -1414,6 +1431,7 @@
\xeCJK_clear_Boundary_and_CJK_toks:
\tl_gset:Nn \g__xeCJK_last_punct_tl {#1}
\__xeCJK_punct_rule:NN \c__xeCJK_left_tl #1
+ \xeCJK_fallback_punct_symbol:NN
\CJKpunctsymbol #1
}
\cs_new_protected:Npn \__xeCJK_Boundary_and_FullLeft_glue:N #1
@@ -1686,6 +1704,7 @@
\xeCJK_get_punct_kerning:oN \g__xeCJK_last_punct_tl #1
\__xeCJK_punct_kern:NN \g__xeCJK_last_punct_tl #1
\tl_gset:Nn \g__xeCJK_last_punct_tl {#1}
+ \xeCJK_fallback_punct_symbol:NN
\CJKpunctsymbol #1
}
\cs_new_protected:Npn \xeCJK_FullLeft_and_FullRight:N #1
@@ -1702,6 +1721,7 @@
\xeCJK_get_punct_kerning:oN \g__xeCJK_last_punct_tl #1
\xeCJK_punct_kern:NN \g__xeCJK_last_punct_tl #1
\tl_gset:Nn \g__xeCJK_last_punct_tl {#1}
+ \xeCJK_fallback_punct_symbol:NN
\CJKpunctsymbol #1
}
\cs_new_protected:Npn \xeCJK_FullRight_and_FullRight:N #1
@@ -1741,7 +1761,11 @@
} ,
CheckFullRight .default:n = { true }
}
-\cs_new:Npn \xeCJK_FullRight_symbol:N { \CJKpunctsymbol }
+\cs_new_protected:Npn \xeCJK_FullRight_symbol:N
+ {
+ \xeCJK_fallback_punct_symbol:NN
+ \CJKpunctsymbol
+ }
\cs_new_protected:Npn \xeCJK_check_FullRight:
{
\xeCJK_get_punct_bounds:No \c__xeCJK_right_tl \g__xeCJK_last_punct_tl
@@ -2086,8 +2110,11 @@
}
{
\xeCJK_replace_inter_class_toks:nnnn {##1} { #1/#2 }
- { \CJKsymbol }
- { \__xeCJK_switch_font:nn {#1} {#2} \CJKsymbol }
+ { \xeCJK_fallback_symbol:NN }
+ {
+ \__xeCJK_switch_font:nn {#1} {#2}
+ \xeCJK_fallback_symbol:NN
+ }
}
}
\xeCJK_copy_inter_class_toks:nnnn { #1/#2 } { #1/#2 } {#1} {#1}
@@ -2242,7 +2269,7 @@
}
}
\cs_new:Npn \__xeCJK_punct_csname:n #1
- { c__xeCJK_\l_xeCJK_current_font_tl/\l_xeCJK_punct_style_tl/#1/tl }
+ { c__xeCJK_\l_xeCJK_current_punct_font_tl/\l_xeCJK_punct_style_tl/#1/tl }
\cs_new:Npn \__xeCJK_use_punct_dim:nN #1#2
{ \use:c { \__xeCJK_punct_csname:n { dim/#1/#2 } } }
\cs_new:Npn \__xeCJK_use_punct_dim:nNN #1#2#3
@@ -2400,6 +2427,7 @@
{
\group_begin:
\xeCJK_select_punct_font:
+ \xeCJK_fallback_punct_symbol:NN
\xeCJK_calc_punct_dimen:N #2
\group_end:
\dim_set:Nn \l__xeCJK_bound_dim
@@ -2902,73 +2930,143 @@
AutoFallBack .choice: ,
AutoFallBack / true .code:n =
{
- \cs_if_eq:NNF \CJKsymbol \xeCJK_fallback_test_glyph:N
- {
- \cs_set_eq:NN \__xeCJK_fallback_save_CJKsymbol:N \CJKsymbol
- \cs_set_eq:NN \CJKsymbol \xeCJK_fallback_test_glyph:N
- }
+ \cs_set_eq:NN \xeCJK_fallback_symbol:NN
+ \__xeCJK_fallback_symbol:NN
+ \cs_set_eq:NN \xeCJK_fallback_punct_symbol:NN
+ \__xeCJK_fallback_punct_symbol:NN
+ \cs_set_eq:NN \xeCJK_clear_fallback_font:
+ \__xeCJK_clear_fallback_font:
} ,
AutoFallBack / false .code:n =
{
- \cs_if_eq:NNT \CJKsymbol \xeCJK_fallback_test_glyph:N
- { \cs_set_eq:NN \CJKsymbol \__xeCJK_fallback_save_CJKsymbol:N }
+ \xeCJK_cs_clear:N \xeCJK_fallback_symbol:NN
+ \xeCJK_cs_clear:N \xeCJK_fallback_punct_symbol:NN
+ \xeCJK_cs_clear:N \xeCJK_clear_fallback_font:
} ,
AutoFallBack .default:n = { true } ,
fallback .meta:n = { AutoFallBack = true }
}
-\cs_new_protected:Npn \xeCJK_fallback_test_glyph:N #1
+\cs_new_protected:Npn \__xeCJK_fallback_symbol:NN #1#2
{
- \xeCJK_glyph_if_exist:NTF #1
- { \__xeCJK_fallback_save_CJKsymbol:N #1 }
- {
- \group_begin:
- \xeCJK_aftergroup_reset_Boundary:N #1
- \tl_set_eq:NN \l__xeCJK_fallback_family_tl \l_xeCJK_family_tl
- \xeCJK_fallback_loop:No #1 { \l_xeCJK_family_tl/FallBack }
- \group_end:
- }
+ \xeCJK_reset_fallback_font:
+ \xeCJK_glyph_if_exist:NF #2
+ { \__xeCJK_fallback_symbol_aux:NN }
+ #1#2
}
-\cs_new_protected:Npn \xeCJK_aftergroup_reset_Boundary:N #1
+\cs_new_protected:Npn \__xeCJK_fallback_punct_symbol:NN #1#2
{
- \tl_set:Nx \l__xeCJK_tmp_tl
- { \tex_the:D \tex_XeTeXcharclass:D `#1 ~ \xeCJK_class_num:n { Boundary } }
- \tl_gset:Nx \g__xeCJK_aftergroup_Boundary_tl
- { \tex_the:D \tex_XeTeXinterchartoks:D \l__xeCJK_tmp_tl }
- \tex_XeTeXinterchartoks:D \l__xeCJK_tmp_tl = { \prg_do_nothing: }
- \group_insert_after:N \g__xeCJK_aftergroup_Boundary_tl
+ \xeCJK_reset_fallback_font:
+ \xeCJK_glyph_if_exist:NF #2
+ { \__xeCJK_fallback_punct_symbol_aux:NN }
+ #1#2
}
-\tl_new:N \g__xeCJK_aftergroup_Boundary_tl
-\cs_new_protected:Npn \xeCJK_fallback_loop:Nn #1#2
+\cs_new_eq:NN \xeCJK_fallback_symbol:NN \prg_do_nothing:
+\cs_new_eq:NN \xeCJK_fallback_punct_symbol:NN \prg_do_nothing:
+\cs_new_protected:Npn \__xeCJK_fallback_symbol_aux:NN
{
- \xeCJK_family_if_exist:nTF {#2}
- {
- \tl_set:Nn \l_xeCJK_family_tl {#2}
- \tl_set_eq:NN \CJK@family \l__xeCJK_fontspec_family_tl
- \xeCJK_select_font:
- \xeCJK_glyph_if_exist:NTF #1
- { \__xeCJK_fallback_save_CJKsymbol:N #1 }
- { \xeCJK_fallback_loop:No #1 { \l_xeCJK_family_tl/FallBack } }
- }
+ \__xeCJK_fallback_symbol_aux:nnNN
+ { \CJK@family }
+ { \l_xeCJK_family_tl }
+ }
+\cs_new_protected:Npn \__xeCJK_fallback_punct_symbol_aux:NN
+ {
+ \__xeCJK_fallback_symbol_aux:nnNN
+ { \CJK@punctfamily }
+ { \l_xeCJK_punct_family_tl }
+ }
+\cs_new_protected:Npn \__xeCJK_fallback_symbol_aux:nnNN
+ {
+ \cs_set_protected:Npx \xeCJK_reset_fallback_font:
{
- \str_if_eq:eeTF { \CJKfamilydefault } { \l__xeCJK_fallback_family_tl }
- {
- \__xeCJK_warning:nxxx { missing-glyph }
- { \l_xeCJK_family_tl } {#1}
- { \int_to_Hex:n { `#1 } }
- \__xeCJK_fallback_save_CJKsymbol:N #1
- }
- {
- \tl_set:Nx \l__xeCJK_fallback_family_tl { \CJKfamilydefault }
- \xeCJK_fallback_loop:Nn #1 { \l__xeCJK_fallback_family_tl }
- }
+ \tex_the:D \tex_font:D
+ \xeCJK_clear_fallback_font:
}
+ \exp_args:Nxx \__xeCJK_fallback_loop:nnNN
+ }
+\cs_new_protected:Npn \__xeCJK_clear_fallback_font:
+ { \cs_set_eq:NN \xeCJK_reset_fallback_font: \prg_do_nothing: }
+\cs_new_eq:NN \xeCJK_reset_fallback_font: \prg_do_nothing:
+\cs_new_eq:NN \xeCJK_clear_fallback_font: \prg_do_nothing:
+\cs_new_protected:Npn \__xeCJK_fallback_loop:nnNN
+ {
+ \cs_set_eq:NN \__xeCJK_fallback_loop:TF \use_i:nn
+ \__xeCJK_fallback_loop:nnnNN { FallBack }
+ }
+\cs_generate_variant:Nn \__xeCJK_fallback_loop:Nn { Nx }
+\cs_new_protected:Npn \__xeCJK_fallback_loop:nnnNN #1#2#3
+ {
+ \xeCJK_select_fallback_font:nnn {#1} {#2} {#3}
+ \__xeCJK_fallback_loop:TF
+ { \__xeCJK_fallback_loop_aux:nnnNN }
+ { \__xeCJK_fallback_missing_glyph:nnnNN }
+ {#1} {#2} {#3}
+ }
+\cs_new_protected:Npn \__xeCJK_fallback_loop_aux:nnnNN #1#2#3#4#5
+ {
+ \xeCJK_glyph_if_exist:NF #5
+ { \__xeCJK_fallback_loop:nnnNN { #1/FallBack } {#2} {#3} }
+ #4#5
+ }
+\cs_new_protected:Npn \__xeCJK_fallback_missing_glyph:nnnNN #1#2#3#4#5
+ {
+ \__xeCJK_warning:nxxx { missing-glyph } {#1} {#2} {#5}
+ #4#5
}
-\cs_generate_variant:Nn \xeCJK_fallback_loop:Nn { No }
+\cs_new_protected:Npn \xeCJK_select_fallback_font:nnn #1#2
+ {
+ \__xeCJK_select_fallback_font:cnnn
+ { \__xeCJK_font_csname:n { #2/#1 } } {#1} {#2}
+ }
+\cs_new_protected:Npn \__xeCJK_select_fallback_font:Nnnn #1
+ {
+ \cs_if_exist:NF #1
+ { \__xeCJK_fallback_font_initial:NNnnn }
+ #1 \use_none:nnn
+ }
+\cs_generate_variant:Nn \__xeCJK_select_fallback_font:Nnnn { c }
+\cs_new_protected:Npn \__xeCJK_fallback_font_initial:NNnnn #1#2#3#4#5
+ {
+ \xeCJK_family_if_exist:nTF { #5/#3 }
+ { \__xeCJK_font_initial:Nn #1 { #5/#3 } }
+ { \__xeCJK_fallback_font_initial_auxi:Nnnn #1 {#5} {#3} {#4} }
+ #1
+ }
+\cs_new_protected:Npn \__xeCJK_fallback_font_initial_auxi:Nnnn #1
+ {
+ \exp_args:NNx \__xeCJK_fallback_font_initial_auxii:Nnnnn
+ #1 { \CJKfamilydefault }
+ }
+\cs_new_protected:Npn \__xeCJK_fallback_font_initial_auxii:Nnnnn #1#2#3
+ {
+ \str_if_eq:nnTF {#2} {#3}
+ { \__xeCJK_fallback_loop_end:Nnnn }
+ { \__xeCJK_fallback_font_initial_auxiii:Nnnn }
+ #1 {#2}
+ }
+\cs_new_protected:Npn \__xeCJK_fallback_font_initial_auxiii:Nnnn #1#2
+ {
+ \xeCJK_family_if_exist:nTF {#2}
+ { \__xeCJK_fallback_font_initial_auxiv:Nnnn }
+ { \__xeCJK_fallback_loop_end:Nnnn }
+ #1 {#2}
+ }
+\cs_new_protected:Npn \__xeCJK_fallback_font_initial_auxiv:Nnnn #1#2#3#4
+ {
+ \__xeCJK_font_initial:Nn #1 {#2}
+ \exp_args:Nc \__xeCJK_fallback_font_initial_auxiii:Nnnn
+ { \__xeCJK_font_csname:n { #4/#3/FallBack } }
+ { #2/FallBack } { #3/FallBack } {#4}
+ }
+\cs_new_eq:NN \__xeCJK_fallback_loop:TF \use_i:nn
+\cs_new_protected:Npn \__xeCJK_fallback_loop_end:Nnnn #1#2#3#4
+ { \cs_gset_eq:NN #1 \__xeCJK_fallback_loop_end: }
+\cs_new_protected:Npn \__xeCJK_fallback_loop_end:
+ { \cs_set_eq:NN \__xeCJK_fallback_loop:TF \use_ii:nn }
\__xeCJK_msg_new:nn { missing-glyph }
{
- CJKfamily~`\__xeCJK_msg_family_map:n {#1}'~
- ( \prop_item:Nn \g__xeCJK_family_font_name_prop {#1} )~
- does~not~contain~glyph~`#2'~(U+#3).\\
+ CJKfamily~`\__xeCJK_msg_family_map:n {#2}'~(#1)~
+ does~not~contain~glyph~`#3'~
+ ( U + \int_to_Hex:n { `#3 } )~\msg_line_context:.
}
\NewDocumentCommand \setCJKfallbackfamilyfont { m o m }
{
@@ -3310,6 +3408,7 @@
}
\cs_new_protected:Npn \__xeCJK_select_font:Nn #1#2
{
+ \xeCJK_clear_fallback_font:
\cs_if_exist:NF #1 { \__xeCJK_font_initial:Nn #1 {#2} }
#1
}
@@ -3333,6 +3432,8 @@
\tl_new:N \CJK@punctfamily
\tl_new:N \l_xeCJK_punct_family_tl
\tl_new:N \l_xeCJK_current_punct_font_tl
+\tl_set:Nn \CJK@punctfamily { \CJK@family }
+\tl_set:Nn \l_xeCJK_punct_family_tl { \l_xeCJK_family_tl }
\tl_set:No \l_xeCJK_current_punct_font_tl
{ \__xeCJK_font_csname:n { \CJK@punctfamily } }
\cs_new_eq:NN \__xeCJK_select_font: \prg_do_nothing:
@@ -3357,6 +3458,7 @@
}
\cs_new_protected:Npn \__xeCJK_select_font:Nnn #1#2#3
{
+ \xeCJK_clear_fallback_font:
\cs_if_exist:NF #1
{ \__xeCJK_block_font_initial:Nnn #1 {#2} {#3} }
#1
@@ -3479,8 +3581,8 @@
PunctFamily .value_required:n = { true } ,
PunctFamily / false .code:n =
{
- \tl_clear:N \l_xeCJK_punct_family_tl
- \tl_clear:N \CJK@punctfamily
+ \tl_set:Nn \CJK@punctfamily { \CJK@family }
+ \tl_set:Nn \l_xeCJK_punct_family_tl { \l_xeCJK_family_tl }
\xeCJK_cs_clear:N \__xeCJK_select_font:
\xeCJK_cs_clear:N \__xeCJK_select_punct_font:
\cs_set_eq:NN \xeCJK_select_punct_font: \xeCJK_select_font:
@@ -4319,8 +4421,8 @@
Sorry,~but~xeCJK/options~does~not~have~a~key~called~`#1'.\\\\
The~key~`#1'~is~being~ignored.
}
-\cs_new:Npn \CJKsymbol #1 {#1}
-\cs_new:Npn \CJKpunctsymbol #1 {#1}
+\cs_new_eq:NN \CJKsymbol \use:n
+\cs_new_eq:NN \CJKpunctsymbol \use:n
\keys_set:nn { xeCJK / options }
{
CJKglue = { \skip_horizontal:n { \c_zero_dim plus 0.08 \tex_baselineskip:D } } ,
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty b/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty
index 9b122f2b5f0..f9b3da127f9 100644
--- a/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty
+++ b/Master/texmf-dist/tex/xelatex/xecjk/xeCJKfntef.sty
@@ -29,10 +29,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 94baac7 2020-06-06 23:21:05 +0800 Qing Lee <sobenlee@gmail.com> $
{xeCJK font effect}
\ProvidesExplPackage{xeCJKfntef}
- {\ExplFileDate}{3.8.3}{\ExplFileDescription}
+ {\ExplFileDate}{3.8.4}{\ExplFileDescription}
\PassOptionsToPackage { normalem } { ulem }
\DeclareOption* { \PassOptionsToPackage { \CurrentOption } { ulem } }
\ProcessOptions \scan_stop:
@@ -394,6 +394,7 @@
\UL@stop \__xeCJK_ulem_ccglue: \UL@start
\__xeCJK_ulem_class_group_begin:
\xeCJK_select_font:
+ \xeCJK_fallback_symbol:NN
\CJKsymbol
}
{ \__xeCJK_ulem_CJK_and_CJK:N }
@@ -412,11 +413,13 @@
\xeCJK_class_group_begin:
\xeCJK_clear_Boundary_and_CJK_toks:
\__xeCJK_switch_font:nn {#1} {#2}
+ \xeCJK_fallback_symbol:NN
\CJKsymbol
}
{
\skip_horizontal:N \l__xeCJK_ccglue_skip
\__xeCJK_switch_font:nn {#1} {#2}
+ \xeCJK_fallback_symbol:NN
\CJKsymbol
}
}
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty
index 8679c7f1346..fd7c39dd6b9 100644
--- a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty
+++ b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-addon.sty
@@ -29,10 +29,10 @@
%%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 94baac7 2020-06-06 23:21:05 +0800 Qing Lee <sobenlee@gmail.com> $
{addon file for xunicode}
\ProvidesExplPackage{xunicode-addon}
- {\ExplFileDate}{3.8.3}{\ExplFileDescription}
+ {\ExplFileDate}{3.8.4}{\ExplFileDescription}
\bool_lazy_or:nnF
{ \sys_if_engine_xetex_p: }
{ \sys_if_engine_luatex_p: }
diff --git a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def
index 7cf38d8d31e..1b632efafa3 100644
--- a/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def
+++ b/Master/texmf-dist/tex/xelatex/xecjk/xunicode-extra.def
@@ -27,10 +27,10 @@
%%
%% ----------------------------------------------------------------------
%%
-\GetIdInfo$Id: xeCJK.dtx b971c22 2020-05-01 21:10:43 +0800 Qing Lee <sobenlee@gmail.com> $
+\GetIdInfo$Id: xeCJK.dtx 94baac7 2020-06-06 23:21:05 +0800 Qing Lee <sobenlee@gmail.com> $
{extra definition for xunicode}
\ProvidesExplFile{xunicode-extra.def}
- {\ExplFileDate}{3.8.3}{\ExplFileDescription}
+ {\ExplFileDate}{3.8.4}{\ExplFileDescription}
\DeclareUTFSymbol\texthyphenationpoint{"2027}
\DeclareUTFSymbol\texttwoemdash{"2E3A}
\DeclareUTFComposite\textsuperscript