texlive[71163] Master/texmf-dist: fontspec (3may24)

commits+karl at tug.org commits+karl at tug.org
Fri May 3 23:23:54 CEST 2024


Revision: 71163
          https://tug.org/svn/texlive?view=revision&revision=71163
Author:   karl
Date:     2024-05-03 23:23:54 +0200 (Fri, 03 May 2024)
Log Message:
-----------
fontspec (3may24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/fontspec/CHANGES.md
    trunk/Master/texmf-dist/doc/latex/fontspec/README.md
    trunk/Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdf
    trunk/Master/texmf-dist/doc/latex/fontspec/fontspec.pdf
    trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-opentype.dtx
    trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx
    trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx
    trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-opening.dtx
    trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-opentype.dtx
    trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx
    trunk/Master/texmf-dist/source/latex/fontspec/fontspec.dtx
    trunk/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
    trunk/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
    trunk/Master/texmf-dist/tex/latex/fontspec/fontspec.lua
    trunk/Master/texmf-dist/tex/latex/fontspec/fontspec.sty

Modified: trunk/Master/texmf-dist/doc/latex/fontspec/CHANGES.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/fontspec/CHANGES.md	2024-05-03 21:23:40 UTC (rev 71162)
+++ trunk/Master/texmf-dist/doc/latex/fontspec/CHANGES.md	2024-05-03 21:23:54 UTC (rev 71163)
@@ -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`

Modified: trunk/Master/texmf-dist/doc/latex/fontspec/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/fontspec/README.md	2024-05-03 21:23:40 UTC (rev 71162)
+++ trunk/Master/texmf-dist/doc/latex/fontspec/README.md	2024-05-03 21:23:54 UTC (rev 71163)
@@ -50,6 +50,9 @@
 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 @@
 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
 

Modified: trunk/Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/fontspec/fontspec.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-opentype.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-opentype.dtx	2024-05-03 21:23:40 UTC (rev 71162)
+++ trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-opentype.dtx	2024-05-03 21:23:54 UTC (rev 71163)
@@ -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 }
               }
           }
       }

Modified: trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx	2024-05-03 21:23:40 UTC (rev 71162)
+++ trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx	2024-05-03 21:23:54 UTC (rev 71163)
@@ -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}

Modified: trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx	2024-05-03 21:23:40 UTC (rev 71162)
+++ trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx	2024-05-03 21:23:54 UTC (rev 71163)
@@ -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}

Modified: trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-opening.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-opening.dtx	2024-05-03 21:23:40 UTC (rev 71162)
+++ trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-opening.dtx	2024-05-03 21:23:54 UTC (rev 71163)
@@ -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}
 %
 %

Modified: trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-opentype.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-opentype.dtx	2024-05-03 21:23:40 UTC (rev 71162)
+++ trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-opentype.dtx	2024-05-03 21:23:54 UTC (rev 71163)
@@ -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:}
   }

Modified: trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx	2024-05-03 21:23:40 UTC (rev 71162)
+++ trunk/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx	2024-05-03 21:23:54 UTC (rev 71163)
@@ -102,8 +102,8 @@
       \clist_map_inline:nn {\strongreset,#1}
         {
           ##1
-          \prop_gput_if_new:NxV \g_@@_strong_prop { \f at 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 at 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 at series } \l_@@_strong_tmp_tl
+    \prop_get:NeNT \g_@@_strong_prop { \f at series } \l_@@_strong_tmp_tl
       {
         \int_set:Nn \l_@@_strong_int { \l_@@_strong_tmp_tl }
 %<debug> \typeout{Series~ (\f at 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

Modified: trunk/Master/texmf-dist/source/latex/fontspec/fontspec.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/fontspec/fontspec.dtx	2024-05-03 21:23:40 UTC (rev 71162)
+++ trunk/Master/texmf-dist/source/latex/fontspec/fontspec.dtx	2024-05-03 21:23:54 UTC (rev 71163)
@@ -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",

Modified: trunk/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty	2024-05-03 21:23:40 UTC (rev 71162)
+++ trunk/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty	2024-05-03 21:23:54 UTC (rev 71163)
@@ -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,7 +1492,7 @@
 \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
@@ -1510,13 +1499,13 @@
   {
     \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 at 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 at 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,7 +3944,7 @@
   {
     \@nomath\strongenv
 
-    \prop_get:NxNT \g__fontspec_strong_prop { \f at series } \l__fontspec_strong_tmp_tl
+    \prop_get:NeNT \g__fontspec_strong_prop { \f at series } \l__fontspec_strong_tmp_tl
       {
         \int_set:Nn \l__fontspec_strong_int { \l__fontspec_strong_tmp_tl }
       }
@@ -3962,7 +3951,7 @@
 
     \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

Modified: trunk/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty	2024-05-03 21:23:40 UTC (rev 71162)
+++ trunk/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty	2024-05-03 21:23:54 UTC (rev 71163)
@@ -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,7 +1495,7 @@
 \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
@@ -1513,13 +1502,13 @@
   {
     \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 at 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 at 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,7 +4205,7 @@
   {
     \@nomath\strongenv
 
-    \prop_get:NxNT \g__fontspec_strong_prop { \f at series } \l__fontspec_strong_tmp_tl
+    \prop_get:NeNT \g__fontspec_strong_prop { \f at series } \l__fontspec_strong_tmp_tl
       {
         \int_set:Nn \l__fontspec_strong_int { \l__fontspec_strong_tmp_tl }
       }
@@ -4223,7 +4212,7 @@
 
     \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

Modified: trunk/Master/texmf-dist/tex/latex/fontspec/fontspec.lua
===================================================================
--- trunk/Master/texmf-dist/tex/latex/fontspec/fontspec.lua	2024-05-03 21:23:40 UTC (rev 71162)
+++ trunk/Master/texmf-dist/tex/latex/fontspec/fontspec.lua	2024-05-03 21:23:54 UTC (rev 71163)
@@ -23,8 +23,8 @@
 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",

Modified: trunk/Master/texmf-dist/tex/latex/fontspec/fontspec.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/fontspec/fontspec.sty	2024-05-03 21:23:40 UTC (rev 71162)
+++ trunk/Master/texmf-dist/tex/latex/fontspec/fontspec.sty	2024-05-03 21:23:54 UTC (rev 71163)
@@ -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



More information about the tex-live-commits mailing list.