diff options
15 files changed, 85 insertions, 106 deletions
diff --git a/Master/texmf-dist/doc/latex/fontspec/CHANGES.md b/Master/texmf-dist/doc/latex/fontspec/CHANGES.md index c5f5f6e6846..7dab8151f3c 100644 --- a/Master/texmf-dist/doc/latex/fontspec/CHANGES.md +++ b/Master/texmf-dist/doc/latex/fontspec/CHANGES.md @@ -1,6 +1,12 @@ Change history ============== +## v2.9c (2024/05/03) + + * Fix copy/paste regression bug with the `Language` feature (primarily exposed through `babel` package). (#513) + * Re-sync with `expl3` for deprecated commands. + + ## v2.9b (2024/04/27) * Add new `Letters=Uppercase` (LuaLaTeX only) as an interface to `luaotfload` diff --git a/Master/texmf-dist/doc/latex/fontspec/README.md b/Master/texmf-dist/doc/latex/fontspec/README.md index 349b2c39f23..6624bcca6b3 100644 --- a/Master/texmf-dist/doc/latex/fontspec/README.md +++ b/Master/texmf-dist/doc/latex/fontspec/README.md @@ -50,6 +50,9 @@ To add features to the font family currently in use: Package details --------------- +Repository documentation is provided at: + <http://latex3.github.io/fontspec/> + Release versions of fontspec are available from CTAN: <http://www.ctan.org/pkg/fontspec> @@ -59,19 +62,22 @@ Development and historical versions are available from Github: Please offer suggestions and file bug reports in the issue tracker: <http://github.com/latex3/fontspec/issues> -If you are running TeX Live, you can update to the latest version of this package by running +If you are running TeX Live, you can update to the latest version of this +package by running tlmgr install fontspec -If you wish to manually download the latest release version from CTAN, get the pre-built TDS package and extract it into your local texmf tree: +If you wish to manually download the latest release version from CTAN, +get the pre-built TDS package and extract it into your local texmf tree: http://mirror.ctan.org/install/macros/latex/contrib/fontspec.tds.zip -If you wish to use the latest development version from Github, use git to obtain the latest repository code with +If you wish to use the latest development version from Github, +use git to obtain the latest repository code with git clone git://github.com/latex3/fontspec.git -See the `working` branch for changes that have not been released to CTAN yet (no guarantees the code in that branch will always be fully functional). Having obtained the package from Github, install the package code by running +Having obtained the package from Github, install the package code by running l3build install diff --git a/Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdf b/Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdf Binary files differindex 464fc94ebeb..576b93ee4ca 100644 --- a/Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdf +++ b/Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdf diff --git a/Master/texmf-dist/doc/latex/fontspec/fontspec.pdf b/Master/texmf-dist/doc/latex/fontspec/fontspec.pdf Binary files differindex 70a93b184bd..0ceac30d40a 100644 --- a/Master/texmf-dist/doc/latex/fontspec/fontspec.pdf +++ b/Master/texmf-dist/doc/latex/fontspec/fontspec.pdf diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-opentype.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-opentype.dtx index 4ffc5cda4fa..5fbd797f445 100644 --- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-opentype.dtx +++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-opentype.dtx @@ -556,11 +556,11 @@ \@@_warning:nx {language-not-exist} {#1} \clist_set:Nn \l_tmpa_clist {#2} \clist_get:NN \l_tmpa_clist \l_@@_lang_tl - \exp_args:Noo \@@_check_script:NnF \l_@@_fontface_cs_tl \l_@@_script_tl + \exp_args:Noo \@@_check_lang:NnF \l_@@_fontface_cs_tl \l_@@_lang_tl { - \tl_set:Nn \l_@@_script_name_tl {#1} + \tl_set:Nn \l_@@_lang_name_tl {#1} \int_set:Nn \l_@@_language_int {\l_@@_strnum_int} - \tl_gset:Nx \g_@@_single_feat_tl { language=####1 } + \tl_gset:Nx \g_@@_single_feat_tl { language=\l_@@_lang_tl } } } } diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx index 49f019c6564..16e2922b396 100644 --- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx +++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx @@ -344,8 +344,8 @@ \tl_if_empty:NF \l_@@_script_name_tl { %<debug> \typeout{:::: Script=\l_@@_script_name_tl, Language=\l_@@_lang_name_tl} - \keys_set:nx {fontspec-opentype} {Script=\l_@@_script_name_tl} - \keys_set:nx {fontspec-opentype} {Language=\l_@@_lang_name_tl} + \keys_set:ne {fontspec-opentype} {Script=\l_@@_script_name_tl} + \keys_set:ne {fontspec-opentype} {Language=\l_@@_lang_name_tl} } } } @@ -557,7 +557,7 @@ \cs_new:Nn \fontspec_complete_fontname:Nn { \tl_set:Nx #1 {#2} - \tl_replace_all:Nnx #1 {*} {\l_@@_basename_tl} + \tl_replace_all:Nne #1 {*} {\l_@@_basename_tl} \@@_process_ext:N #1 } % \end{macrocode} @@ -573,13 +573,13 @@ { \tl_set:Nx \l_@@_this_font_tl {#3} - \tl_if_empty:xTF {#4} + \tl_if_empty:eTF {#4} { \clist_set:Nn \l_@@_sizefeat_clist {Size={-}} } { \@@_keys_set_known:nxN {fontspec-preparse-nested} {#4} \l_@@_tmp_tl } \tl_if_empty:NF \l_@@_this_font_tl { - \prop_put:Nxx \l_@@_nfssfont_prop {#1/#2} + \prop_put:Nee \l_@@_nfssfont_prop {#1/#2} { {#1}{#2}{\l_@@_this_font_tl}{#4}{\l_@@_sizefeat_clist} } } } @@ -662,7 +662,7 @@ { \bool_if:NF \l_@@_external_bool { - \tl_if_empty:xF {#2} + \tl_if_empty:eF {#2} { \tl_if_empty:NT #1 { @@ -776,7 +776,7 @@ \tl_clear:N \l_@@_size_tl \tl_set_eq:NN \l_@@_sizedfont_tl \l_@@_saved_fontname_tl % in case not spec'ed - \keys_set_known:nxN {fontspec-sizing} { \exp_after:wN \use:n #2 } + \keys_set_known:neN {fontspec-sizing} { \exp_after:wN \use:n #2 } \l_@@_sizing_leftover_clist \tl_if_empty:NT \l_@@_size_tl { \@@_error:n {no-size-info} } %<debug>\typeout{==~ size:~\l_@@_size_tl} diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx index c077a1bc1ff..a844b0e0560 100644 --- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx +++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx @@ -273,12 +273,12 @@ \seq_put_right:Nx \l_@@_bf_series_seq {\bfdefault} } - \tl_if_eq:oxT \g_@@_curr_series_tl {\bfdefault} + \tl_if_eq:oeT \g_@@_curr_series_tl {\bfdefault} { \tl_set_eq:NN \l_@@_fontname_bf_tl \l_@@_curr_bfname_tl } - \prop_put:NxV \l_@@_nfss_prop {BoldFont-\g_@@_curr_series_tl} \l_@@_curr_bfname_tl + \prop_put:NeV \l_@@_nfss_prop {BoldFont-\g_@@_curr_series_tl} \l_@@_curr_bfname_tl %<debug>\typeout{Setting~bold~font~"\l_@@_curr_bfname_tl"~with~series~"\g_@@_curr_series_tl"} @@ -335,7 +335,7 @@ \@@_keys_define_code:nnn {fontspec-preparse} {BoldFeatures} { \clist_put_right:Nn \l_@@_fontfeat_bf_clist {#1} -% \prop_put:NxV \l_@@_nfss_prop +% \prop_put:NeV \l_@@_nfss_prop % {BoldFont-\g_@@_curr_series_tl} \l_@@_curr_bfname_tl } \@@_keys_define_code:nnn {fontspec-preparse} {ItalicFeatures} diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-opening.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-opening.dtx index 3da1f25d7a0..7c19c341b33 100644 --- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-opening.dtx +++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-opening.dtx @@ -163,21 +163,10 @@ % % \begin{macrocode} \cs_generate_variant:Nn \int_set:Nn {Nv} -\cs_generate_variant:Nn \keys_set:nn {nx} -\cs_generate_variant:Nn \keys_set_known:nnN {nx} -\cs_generate_variant:Nn \prop_put:Nnn {Nxx} -\cs_generate_variant:Nn \prop_put:Nnn {NxV} -\cs_generate_variant:Nn \prop_gput_if_new:Nnn {NxV} -\cs_generate_variant:Nn \prop_gput:Nnn {Nxn} -\cs_generate_variant:Nn \prop_get:NnNT {NxN} -\cs_generate_variant:Nn \prop_get:NnNTF {NxN} -\cs_generate_variant:Nn \str_if_eq:nnTF {nv} -\cs_generate_variant:Nn \tl_if_empty_p:n {e} -\cs_generate_variant:Nn \tl_if_empty:nTF {x} -\cs_generate_variant:Nn \tl_if_empty:nF {x} +\cs_generate_variant:Nn \prop_gput_if_not_in:Nnn {NeV} +\cs_generate_variant:Nn \prop_gput:Nnn {Nxn} % needed by unicode-math \cs_generate_variant:Nn \tl_if_empty:nF {f} -\cs_generate_variant:Nn \tl_if_eq:nnT {ox} -\cs_generate_variant:Nn \tl_replace_all:Nnn {Nnx} +\cs_generate_variant:Nn \tl_if_eq:nnT {oe} % \end{macrocode} % % diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-opentype.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-opentype.dtx index 5a38be87ffd..d78e0a8be9d 100644 --- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-opentype.dtx +++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-opentype.dtx @@ -216,7 +216,7 @@ % The script used is whatever's held in \cmd\l_@@_script_int. By default, that's the % number corresponding to `|latn|'. % \begin{macrocode} -\prg_new_conditional:Nnn \@@_check_lang:Nn {TF} +\prg_new_conditional:Nnn \@@_check_lang:Nn {TF,F} { \@@_check_lang:NnnTF #1 {#2} {\l_@@_script_tl} {\prg_return_true:} {\prg_return_false:} } diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx index d58424a1654..6fdb9f4ad56 100644 --- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx +++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx @@ -102,8 +102,8 @@ \clist_map_inline:nn {\strongreset,#1} { ##1 - \prop_gput_if_new:NxV \g_@@_strong_prop { \f@series } { \l_@@_strongdef_int } - \prop_gput:Nxn \g_@@_strong_prop { switch-\int_use:N \l_@@_strongdef_int } { ##1 } + \prop_gput_if_not_in:NeV \g_@@_strong_prop { \f@series } { \l_@@_strongdef_int } + \prop_gput:Nen \g_@@_strong_prop { switch-\int_use:N \l_@@_strongdef_int } { ##1 } \int_incr:N \l_@@_strongdef_int } \group_end: @@ -118,7 +118,7 @@ \@nomath\strongenv %<debug> \typeout{Strong~ level:~\int_use:N \l_@@_strong_int} - \prop_get:NxNT \g_@@_strong_prop { \f@series } \l_@@_strong_tmp_tl + \prop_get:NeNT \g_@@_strong_prop { \f@series } \l_@@_strong_tmp_tl { \int_set:Nn \l_@@_strong_int { \l_@@_strong_tmp_tl } %<debug> \typeout{Series~ (\f@series)~ detected;~ new~ level:~\int_use:N \l_@@_strong_int} @@ -126,7 +126,7 @@ \int_incr:N \l_@@_strong_int - \prop_get:NxNTF \g_@@_strong_prop { switch-\int_use:N \l_@@_strong_int } \l_@@_strong_switch_tl + \prop_get:NeNTF \g_@@_strong_prop { switch-\int_use:N \l_@@_strong_int } \l_@@_strong_switch_tl { \l_@@_strong_switch_tl } { \int_zero:N \l_@@_strong_int diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec.dtx index f6a4a73d93e..e3002ff5e54 100644 --- a/Master/texmf-dist/source/latex/fontspec/fontspec.dtx +++ b/Master/texmf-dist/source/latex/fontspec/fontspec.dtx @@ -70,7 +70,7 @@ \ProvidesExplFile{fontspec.dtx} %</dtx> %<*fontspec> - {2024/04/27}{2.9b}{Font selection for XeLaTeX and LuaLaTeX} + {2024/05/03}{2.9c}{Font selection for XeLaTeX and LuaLaTeX} %</fontspec> % \end{macrocode} % @@ -89,8 +89,8 @@ %<lua>local fontspec = fontspec %<lua>fontspec.module = { %<lua> name = "fontspec", -%<lua> version = "2.9b", -%<lua> date = "2024/04/27", +%<lua> version = "2.9c", +%<lua> date = "2024/05/03", %<lua> description = "Font selection for XeLaTeX and LuaLaTeX", %<lua> author = "Khaled Hosny, Philipp Gesang, Will Robertson", %<lua> copyright = "Khaled Hosny, Philipp Gesang, Will Robertson", diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty index 8989970ff2b..17efa49db69 100644 --- a/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty +++ b/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty @@ -40,7 +40,7 @@ \RequirePackage{xparse} \ProvidesExplPackage{fontspec-luatex}% - {2024/04/27}{2.9b}{Font selection for XeLaTeX and LuaLaTeX} + {2024/05/03}{2.9c}{Font selection for XeLaTeX and LuaLaTeX} %%^^A%% fontspec-code-load.dtx -- part of FONTSPEC <latex3.github.io/fontspec> %%^^A%% fontspec-code-vars.dtx -- part of FONTSPEC <latex3.github.io/fontspec> @@ -472,21 +472,10 @@ \cs_set:Npn \__fontspec_lua_function:neee #1#2#3#4 { \lua_now:e { fontspec.#1 ("#2","#3","#4") } } \cs_set:Npn \__fontspec_lua_function:neeee #1#2#3#4#5 { \lua_now:e { fontspec.#1 ("#2","#3","#4","#5") } } \cs_generate_variant:Nn \int_set:Nn {Nv} -\cs_generate_variant:Nn \keys_set:nn {nx} -\cs_generate_variant:Nn \keys_set_known:nnN {nx} -\cs_generate_variant:Nn \prop_put:Nnn {Nxx} -\cs_generate_variant:Nn \prop_put:Nnn {NxV} -\cs_generate_variant:Nn \prop_gput_if_new:Nnn {NxV} -\cs_generate_variant:Nn \prop_gput:Nnn {Nxn} -\cs_generate_variant:Nn \prop_get:NnNT {NxN} -\cs_generate_variant:Nn \prop_get:NnNTF {NxN} -\cs_generate_variant:Nn \str_if_eq:nnTF {nv} -\cs_generate_variant:Nn \tl_if_empty_p:n {e} -\cs_generate_variant:Nn \tl_if_empty:nTF {x} -\cs_generate_variant:Nn \tl_if_empty:nF {x} +\cs_generate_variant:Nn \prop_gput_if_not_in:Nnn {NeV} +\cs_generate_variant:Nn \prop_gput:Nnn {Nxn} % needed by unicode-math \cs_generate_variant:Nn \tl_if_empty:nF {f} -\cs_generate_variant:Nn \tl_if_eq:nnT {ox} -\cs_generate_variant:Nn \tl_replace_all:Nnn {Nnx} +\cs_generate_variant:Nn \tl_if_eq:nnT {oe} %%^^A%% fontspec-code-fontload.dtx -- part of FONTSPEC <latex3.github.io/fontspec> @@ -1382,8 +1371,8 @@ { \tl_if_empty:NF \l__fontspec_script_name_tl { - \keys_set:nx {fontspec-opentype} {Script=\l__fontspec_script_name_tl} - \keys_set:nx {fontspec-opentype} {Language=\l__fontspec_lang_name_tl} + \keys_set:ne {fontspec-opentype} {Script=\l__fontspec_script_name_tl} + \keys_set:ne {fontspec-opentype} {Language=\l__fontspec_lang_name_tl} } } } @@ -1503,20 +1492,20 @@ \cs_new:Nn \fontspec_complete_fontname:Nn { \tl_set:Nx #1 {#2} - \tl_replace_all:Nnx #1 {*} {\l__fontspec_basename_tl} + \tl_replace_all:Nne #1 {*} {\l__fontspec_basename_tl} \__fontspec_process_ext:N #1 } \cs_new:Nn \__fontspec_add_nfssfont:nnnn { \tl_set:Nx \l__fontspec_this_font_tl {#3} - \tl_if_empty:xTF {#4} + \tl_if_empty:eTF {#4} { \clist_set:Nn \l__fontspec_sizefeat_clist {Size={-}} } { \__fontspec_keys_set_known:nxN {fontspec-preparse-nested} {#4} \l__fontspec_tmp_tl } \tl_if_empty:NF \l__fontspec_this_font_tl { - \prop_put:Nxx \l__fontspec_nfssfont_prop {#1/#2} + \prop_put:Nee \l__fontspec_nfssfont_prop {#1/#2} { {#1}{#2}{\l__fontspec_this_font_tl}{#4}{\l__fontspec_sizefeat_clist} } } } @@ -1528,7 +1517,7 @@ { \bool_if:NF \l__fontspec_external_bool { - \tl_if_empty:xF {#2} + \tl_if_empty:eF {#2} { \tl_if_empty:NT #1 { @@ -1595,7 +1584,7 @@ \tl_clear:N \l__fontspec_size_tl \tl_set_eq:NN \l__fontspec_sizedfont_tl \l__fontspec_saved_fontname_tl % in case not spec'ed - \keys_set_known:nxN {fontspec-sizing} { \exp_after:wN \use:n #2 } + \keys_set_known:neN {fontspec-sizing} { \exp_after:wN \use:n #2 } \l__fontspec_sizing_leftover_clist \tl_if_empty:NT \l__fontspec_size_tl { \__fontspec_error:n {no-size-info} } @@ -1957,7 +1946,7 @@ } } } -\prg_new_conditional:Nnn \__fontspec_check_lang:Nn {TF} +\prg_new_conditional:Nnn \__fontspec_check_lang:Nn {TF,F} { \__fontspec_check_lang:NnnTF #1 {#2} {\l__fontspec_script_tl} {\prg_return_true:} {\prg_return_false:} } @@ -2269,12 +2258,12 @@ \seq_put_right:Nx \l__fontspec_bf_series_seq {\bfdefault} } - \tl_if_eq:oxT \g__fontspec_curr_series_tl {\bfdefault} + \tl_if_eq:oeT \g__fontspec_curr_series_tl {\bfdefault} { \tl_set_eq:NN \l__fontspec_fontname_bf_tl \l__fontspec_curr_bfname_tl } - \prop_put:NxV \l__fontspec_nfss_prop {BoldFont-\g__fontspec_curr_series_tl} \l__fontspec_curr_bfname_tl + \prop_put:NeV \l__fontspec_nfss_prop {BoldFont-\g__fontspec_curr_series_tl} \l__fontspec_curr_bfname_tl } @@ -3072,11 +3061,11 @@ \__fontspec_warning:nx {language-not-exist} {#1} \clist_set:Nn \l_tmpa_clist {#2} \clist_get:NN \l_tmpa_clist \l__fontspec_lang_tl - \exp_args:Noo \__fontspec_check_script:NnF \l__fontspec_fontface_cs_tl \l__fontspec_script_tl + \exp_args:Noo \__fontspec_check_lang:NnF \l__fontspec_fontface_cs_tl \l__fontspec_lang_tl { - \tl_set:Nn \l__fontspec_script_name_tl {#1} + \tl_set:Nn \l__fontspec_lang_name_tl {#1} \int_set:Nn \l__fontspec_language_int {\l__fontspec_strnum_int} - \tl_gset:Nx \g__fontspec_single_feat_tl { language=####1 } + \tl_gset:Nx \g__fontspec_single_feat_tl { language=\l__fontspec_lang_tl } } } } @@ -3945,8 +3934,8 @@ \clist_map_inline:nn {\strongreset,#1} { ##1 - \prop_gput_if_new:NxV \g__fontspec_strong_prop { \f@series } { \l__fontspec_strongdef_int } - \prop_gput:Nxn \g__fontspec_strong_prop { switch-\int_use:N \l__fontspec_strongdef_int } { ##1 } + \prop_gput_if_not_in:NeV \g__fontspec_strong_prop { \f@series } { \l__fontspec_strongdef_int } + \prop_gput:Nen \g__fontspec_strong_prop { switch-\int_use:N \l__fontspec_strongdef_int } { ##1 } \int_incr:N \l__fontspec_strongdef_int } \group_end: @@ -3955,14 +3944,14 @@ { \@nomath\strongenv - \prop_get:NxNT \g__fontspec_strong_prop { \f@series } \l__fontspec_strong_tmp_tl + \prop_get:NeNT \g__fontspec_strong_prop { \f@series } \l__fontspec_strong_tmp_tl { \int_set:Nn \l__fontspec_strong_int { \l__fontspec_strong_tmp_tl } } \int_incr:N \l__fontspec_strong_int - \prop_get:NxNTF \g__fontspec_strong_prop { switch-\int_use:N \l__fontspec_strong_int } \l__fontspec_strong_switch_tl + \prop_get:NeNTF \g__fontspec_strong_prop { switch-\int_use:N \l__fontspec_strong_int } \l__fontspec_strong_switch_tl { \l__fontspec_strong_switch_tl } { \int_zero:N \l__fontspec_strong_int diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty index 3af47d00b5d..d0068bb3b76 100644 --- a/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty +++ b/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty @@ -40,7 +40,7 @@ \RequirePackage{xparse} \ProvidesExplPackage{fontspec-xetex}% - {2024/04/27}{2.9b}{Font selection for XeLaTeX and LuaLaTeX} + {2024/05/03}{2.9c}{Font selection for XeLaTeX and LuaLaTeX} %%^^A%% fontspec-code-load.dtx -- part of FONTSPEC <latex3.github.io/fontspec> %%^^A%% fontspec-code-vars.dtx -- part of FONTSPEC <latex3.github.io/fontspec> @@ -468,21 +468,10 @@ \int_set:Nn #1 { \__dim_eval:w #2 #1 \__dim_eval_end: } } \cs_generate_variant:Nn \int_set:Nn {Nv} -\cs_generate_variant:Nn \keys_set:nn {nx} -\cs_generate_variant:Nn \keys_set_known:nnN {nx} -\cs_generate_variant:Nn \prop_put:Nnn {Nxx} -\cs_generate_variant:Nn \prop_put:Nnn {NxV} -\cs_generate_variant:Nn \prop_gput_if_new:Nnn {NxV} -\cs_generate_variant:Nn \prop_gput:Nnn {Nxn} -\cs_generate_variant:Nn \prop_get:NnNT {NxN} -\cs_generate_variant:Nn \prop_get:NnNTF {NxN} -\cs_generate_variant:Nn \str_if_eq:nnTF {nv} -\cs_generate_variant:Nn \tl_if_empty_p:n {e} -\cs_generate_variant:Nn \tl_if_empty:nTF {x} -\cs_generate_variant:Nn \tl_if_empty:nF {x} +\cs_generate_variant:Nn \prop_gput_if_not_in:Nnn {NeV} +\cs_generate_variant:Nn \prop_gput:Nnn {Nxn} % needed by unicode-math \cs_generate_variant:Nn \tl_if_empty:nF {f} -\cs_generate_variant:Nn \tl_if_eq:nnT {ox} -\cs_generate_variant:Nn \tl_replace_all:Nnn {Nnx} +\cs_generate_variant:Nn \tl_if_eq:nnT {oe} %%^^A%% fontspec-code-fontload.dtx -- part of FONTSPEC <latex3.github.io/fontspec> @@ -1378,8 +1367,8 @@ { \tl_if_empty:NF \l__fontspec_script_name_tl { - \keys_set:nx {fontspec-opentype} {Script=\l__fontspec_script_name_tl} - \keys_set:nx {fontspec-opentype} {Language=\l__fontspec_lang_name_tl} + \keys_set:ne {fontspec-opentype} {Script=\l__fontspec_script_name_tl} + \keys_set:ne {fontspec-opentype} {Language=\l__fontspec_lang_name_tl} } } } @@ -1506,20 +1495,20 @@ \cs_new:Nn \fontspec_complete_fontname:Nn { \tl_set:Nx #1 {#2} - \tl_replace_all:Nnx #1 {*} {\l__fontspec_basename_tl} + \tl_replace_all:Nne #1 {*} {\l__fontspec_basename_tl} \__fontspec_process_ext:N #1 } \cs_new:Nn \__fontspec_add_nfssfont:nnnn { \tl_set:Nx \l__fontspec_this_font_tl {#3} - \tl_if_empty:xTF {#4} + \tl_if_empty:eTF {#4} { \clist_set:Nn \l__fontspec_sizefeat_clist {Size={-}} } { \__fontspec_keys_set_known:nxN {fontspec-preparse-nested} {#4} \l__fontspec_tmp_tl } \tl_if_empty:NF \l__fontspec_this_font_tl { - \prop_put:Nxx \l__fontspec_nfssfont_prop {#1/#2} + \prop_put:Nee \l__fontspec_nfssfont_prop {#1/#2} { {#1}{#2}{\l__fontspec_this_font_tl}{#4}{\l__fontspec_sizefeat_clist} } } } @@ -1550,7 +1539,7 @@ { \bool_if:NF \l__fontspec_external_bool { - \tl_if_empty:xF {#2} + \tl_if_empty:eF {#2} { \tl_if_empty:NT #1 { @@ -1617,7 +1606,7 @@ \tl_clear:N \l__fontspec_size_tl \tl_set_eq:NN \l__fontspec_sizedfont_tl \l__fontspec_saved_fontname_tl % in case not spec'ed - \keys_set_known:nxN {fontspec-sizing} { \exp_after:wN \use:n #2 } + \keys_set_known:neN {fontspec-sizing} { \exp_after:wN \use:n #2 } \l__fontspec_sizing_leftover_clist \tl_if_empty:NT \l__fontspec_size_tl { \__fontspec_error:n {no-size-info} } @@ -2001,7 +1990,7 @@ } } } -\prg_new_conditional:Nnn \__fontspec_check_lang:Nn {TF} +\prg_new_conditional:Nnn \__fontspec_check_lang:Nn {TF,F} { \__fontspec_check_lang:NnnTF #1 {#2} {\l__fontspec_script_tl} {\prg_return_true:} {\prg_return_false:} } @@ -2389,12 +2378,12 @@ \seq_put_right:Nx \l__fontspec_bf_series_seq {\bfdefault} } - \tl_if_eq:oxT \g__fontspec_curr_series_tl {\bfdefault} + \tl_if_eq:oeT \g__fontspec_curr_series_tl {\bfdefault} { \tl_set_eq:NN \l__fontspec_fontname_bf_tl \l__fontspec_curr_bfname_tl } - \prop_put:NxV \l__fontspec_nfss_prop {BoldFont-\g__fontspec_curr_series_tl} \l__fontspec_curr_bfname_tl + \prop_put:NeV \l__fontspec_nfss_prop {BoldFont-\g__fontspec_curr_series_tl} \l__fontspec_curr_bfname_tl } @@ -3195,11 +3184,11 @@ \__fontspec_warning:nx {language-not-exist} {#1} \clist_set:Nn \l_tmpa_clist {#2} \clist_get:NN \l_tmpa_clist \l__fontspec_lang_tl - \exp_args:Noo \__fontspec_check_script:NnF \l__fontspec_fontface_cs_tl \l__fontspec_script_tl + \exp_args:Noo \__fontspec_check_lang:NnF \l__fontspec_fontface_cs_tl \l__fontspec_lang_tl { - \tl_set:Nn \l__fontspec_script_name_tl {#1} + \tl_set:Nn \l__fontspec_lang_name_tl {#1} \int_set:Nn \l__fontspec_language_int {\l__fontspec_strnum_int} - \tl_gset:Nx \g__fontspec_single_feat_tl { language=####1 } + \tl_gset:Nx \g__fontspec_single_feat_tl { language=\l__fontspec_lang_tl } } } } @@ -4206,8 +4195,8 @@ \clist_map_inline:nn {\strongreset,#1} { ##1 - \prop_gput_if_new:NxV \g__fontspec_strong_prop { \f@series } { \l__fontspec_strongdef_int } - \prop_gput:Nxn \g__fontspec_strong_prop { switch-\int_use:N \l__fontspec_strongdef_int } { ##1 } + \prop_gput_if_not_in:NeV \g__fontspec_strong_prop { \f@series } { \l__fontspec_strongdef_int } + \prop_gput:Nen \g__fontspec_strong_prop { switch-\int_use:N \l__fontspec_strongdef_int } { ##1 } \int_incr:N \l__fontspec_strongdef_int } \group_end: @@ -4216,14 +4205,14 @@ { \@nomath\strongenv - \prop_get:NxNT \g__fontspec_strong_prop { \f@series } \l__fontspec_strong_tmp_tl + \prop_get:NeNT \g__fontspec_strong_prop { \f@series } \l__fontspec_strong_tmp_tl { \int_set:Nn \l__fontspec_strong_int { \l__fontspec_strong_tmp_tl } } \int_incr:N \l__fontspec_strong_int - \prop_get:NxNTF \g__fontspec_strong_prop { switch-\int_use:N \l__fontspec_strong_int } \l__fontspec_strong_switch_tl + \prop_get:NeNTF \g__fontspec_strong_prop { switch-\int_use:N \l__fontspec_strong_int } \l__fontspec_strong_switch_tl { \l__fontspec_strong_switch_tl } { \int_zero:N \l__fontspec_strong_int diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec.lua b/Master/texmf-dist/tex/latex/fontspec/fontspec.lua index 24051a5a4b1..f5507973c77 100644 --- a/Master/texmf-dist/tex/latex/fontspec/fontspec.lua +++ b/Master/texmf-dist/tex/latex/fontspec/fontspec.lua @@ -23,8 +23,8 @@ fontspec = fontspec or {} local fontspec = fontspec fontspec.module = { name = "fontspec", - version = "2.9b", - date = "2024/04/27", + version = "2.9c", + date = "2024/05/03", description = "Font selection for XeLaTeX and LuaLaTeX", author = "Khaled Hosny, Philipp Gesang, Will Robertson", copyright = "Khaled Hosny, Philipp Gesang, Will Robertson", diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec.sty index 7947399070a..ca1d17e2165 100644 --- a/Master/texmf-dist/tex/latex/fontspec/fontspec.sty +++ b/Master/texmf-dist/tex/latex/fontspec/fontspec.sty @@ -24,7 +24,7 @@ \RequirePackage{xparse} \ProvidesExplPackage{fontspec}% - {2024/04/27}{2.9b}{Font selection for XeLaTeX and LuaLaTeX} + {2024/05/03}{2.9c}{Font selection for XeLaTeX and LuaLaTeX} %%^^A%% fontspec-code-vars.dtx -- part of FONTSPEC <latex3.github.io/fontspec> \bool_new:N \g__fontspec_cfg_bool |