From 22aaabfaa8342d36886efc120442e53c947bc296 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Tue, 31 Jul 2018 20:54:05 +0000
Subject: fontspec (31jul18)

git-svn-id: svn://tug.org/texlive/trunk@48320 c570f23f-e606-0410-a88d-b1316a301751
---
 .../tex/latex/fontspec/fontspec-xetex.sty          | 153 +++++++++++----------
 1 file changed, 78 insertions(+), 75 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty')

diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
index d9e499698f6..e9ba96a3392 100644
--- a/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
+++ b/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
@@ -41,7 +41,7 @@
 
 \RequirePackage{xparse}
 \ProvidesExplPackage{fontspec-xetex}%
-  {2018/07/29}{v2.6h}{Font selection for XeLaTeX and LuaLaTeX}
+  {2018/07/30}{v2.6h}{Font selection for XeLaTeX and LuaLaTeX}
 
 %%^^A%%  fontspec-code-load.dtx -- part of FONTSPEC <wspr.io/fontspec>
 %%^^A%%  fontspec-vars.dtx -- part of FONTSPEC <wspr.io/fontspec>
@@ -86,7 +86,7 @@
 \dim_new:N \l__fontspec_tmpa_dim
 \dim_new:N \l__fontspec_tmpb_dim
 \dim_new:N \l__fontspec_tmpc_dim
-\seq_new:N \g__fontspec_bf_series_seq
+\seq_new:N \l__fontspec_bf_series_seq
 \clist_new:N \g__fontspec_default_fontopts_clist
 \clist_new:N \g__fontspec_all_keyval_modules_clist
 \clist_new:N \l__fontspec_sizefeat_clist
@@ -152,7 +152,12 @@
 \tl_new:N \l__fontspec_sizedfont_tl
 \tl_new:N \l__fontspec_this_font_tl
 \tl_new:N \l__fontspec_tmp_tl
+\tl_new:N \l__fontspec_tmpa_tl
+\tl_new:N \l__fontspec_tmpb_tl
 \tl_new:N \l__fontspec_ttc_index_tl
+\tl_new:N \l__fontspec_emshape_query_tl
+\tl_new:N \l__fontspec_em_switch_tl
+\tl_new:N \l__fontspec_em_tmp_tl
 \tl_new:N \g__fontspec_mathrm_tl
 \tl_new:N \g__fontspec_bfmathrm_tl
 \tl_new:N \g__fontspec_mathsf_tl
@@ -1028,8 +1033,8 @@
     \__fontspec_set_font_type:N \font
     \bool_if:NTF \l__fontspec_ot_bool
      {
-      \prop_get:cnN {g__fontspec_fontinfo_ \f@family _prop} {script-num} \l__fontspec_tmpf_tl
-      \int_set:Nn \l__fontspec_script_int {\l__fontspec_tmpf_tl}
+      \prop_get:cnN {g__fontspec_fontinfo_ \f@family _prop} {script-num} \l__fontspec_tmp_tl
+      \int_set:Nn \l__fontspec_script_int {\l__fontspec_tmp_tl}
       \prop_get:cnN {g__fontspec_fontinfo_ \f@family _prop} {script-tag}  \l_fontspec_script_tl
 
       \__fontspec_check_lang:NnTF \font {#1} \prg_return_true: \prg_return_false:
@@ -1524,9 +1529,15 @@
     \__fontspec_load_external_fontoptions:Nn \l_fontspec_fontname_tl {#1}
     \prop_get:NVNF \g__fontspec_fontopts_prop \l_fontspec_fontname_tl \l__fontspec_fontopts_clist
      { \clist_clear:N \l__fontspec_fontopts_clist }
+    \keys_set_groups:nnV {fontspec/fontname} {getfontname} \l__fontspec_fontopts_clist
     \__fontspec_primitive_font_set:Nnn \l_fontspec_font { \__fontspec_construct_font_call:nn {\l_fontspec_fontname_tl} {} } {\f@size pt}
     \__fontspec_primitive_font_if_null:NT \l_fontspec_font { \__fontspec_error:nx {font-not-found} {#1} }
  }
+\keys_define:nn {fontspec/fontname}
+  {
+    Font .tl_set:N = \l_fontspec_fontname_tl ,
+    Font .groups:n = {getfontname} ,
+  }
 \cs_new:Nn \__fontspec_declare_shape:nnnn
  {
   \tl_clear:N \l__fontspec_nfss_tl
@@ -1716,7 +1727,6 @@
   \tl_gclear:N \g__fontspec_defined_shapes_tl
   \tl_gclear:N \g__fontspec_curr_series_tl
   \tl_gset_eq:NN \g__fontspec_nfss_enc_tl \g_fontspec_encoding_tl
-
  }
 \cs_new:Nn \__fontspec_init_fontface:
   {
@@ -2048,31 +2058,31 @@
  }
 \prg_new_conditional:Nnn \__fontspec_make_AAT_feature_string:Nnn {TF,T,F}
  {
-  \tl_set:Nx \l_tmpa_tl { \XeTeXfeaturename #1 #2 }
-  \tl_if_empty:NTF \l_tmpa_tl
+  \tl_set:Nx \l__fontspec_tmpa_tl { \XeTeXfeaturename #1 #2 }
+  \tl_if_empty:NTF \l__fontspec_tmpa_tl
    { \prg_return_false: }
    {
     \int_compare:nTF { \XeTeXisexclusivefeature #1 #2 > 0 }
      {
-      \tl_set:Nx \l_tmpb_tl {\XeTeXselectorname #1 #2\space #3}
+      \tl_set:Nx \l__fontspec_tmpb_tl {\XeTeXselectorname #1 #2\space #3}
      }
      {
       \int_if_even:nTF {#3}
        {
-        \tl_set:Nx \l_tmpb_tl {\XeTeXselectorname #1 #2\space #3}
+        \tl_set:Nx \l__fontspec_tmpb_tl {\XeTeXselectorname #1 #2\space #3}
        }
        {
-        \tl_set:Nx \l_tmpb_tl
+        \tl_set:Nx \l__fontspec_tmpb_tl
          {
           \XeTeXselectorname #1 #2\space \numexpr#3-1\relax
          }
-        \tl_if_empty:NF \l_tmpb_tl { \tl_put_left:Nn \l_tmpb_tl {!} }
+        \tl_if_empty:NF \l__fontspec_tmpb_tl { \tl_put_left:Nn \l__fontspec_tmpb_tl {!} }
        }
     }
-    \tl_if_empty:NTF \l_tmpb_tl
+    \tl_if_empty:NTF \l__fontspec_tmpb_tl
      { \prg_return_false: }
      {
-      \tl_set:Nx \l_fontspec_feature_string_tl { \l_tmpa_tl = \l_tmpb_tl }
+      \tl_set:Nx \l_fontspec_feature_string_tl { \l__fontspec_tmpa_tl = \l__fontspec_tmpb_tl }
       \prg_return_true:
      }
    }
@@ -2161,77 +2171,70 @@
  {
   \tl_set:Nn \l__fontspec_ttc_index_tl {:#1}
  }
-\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {BoldSeries}
- {
-  \tl_gset:Nx \g__fontspec_curr_series_tl { #1 }
-  \seq_gput_right:Nx \g__fontspec_bf_series_seq { #1 }
- }
 \__fontspec_keys_define_code:nnn {fontspec-preparse-external} {UprightFont}
- {
-  \fontspec_complete_fontname:Nn \l__fontspec_fontname_up_tl {#1}
- }
-\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {FontName}
- {
-  \fontspec_complete_fontname:Nn \l__fontspec_fontname_up_tl {#1}
- }
+  {
+    \fontspec_complete_fontname:Nn \l__fontspec_fontname_up_tl {#1}
+  }
+\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {ItalicFont}
+  {
+    \tl_if_empty:nTF {#1}
+      {
+        \bool_set_true:N \l__fontspec_noit_bool
+      }
+      {
+        \bool_set_false:N \l__fontspec_noit_bool
+        \fontspec_complete_fontname:Nn \l__fontspec_fontname_it_tl {#1}
+      }
+  }
+\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {SlantedFont}
+  {
+    \fontspec_complete_fontname:Nn \l__fontspec_fontname_sl_tl {#1}
+  }
 \__fontspec_keys_define_code:nnn {fontspec-preparse-external} {BoldFont}
- {
-  \tl_if_empty:nTF {#1}
-   {
-    \bool_set_true:N \l__fontspec_nobf_bool
-   }
-   {
-    \bool_set_false:N \l__fontspec_nobf_bool
-    \fontspec_complete_fontname:Nn \l__fontspec_curr_bfname_tl {#1}
+  {
+    \tl_if_empty:nTF {#1}
+      {
+        \bool_set_true:N \l__fontspec_nobf_bool
+      }
+      {
+        \bool_set_false:N \l__fontspec_nobf_bool
+        \fontspec_complete_fontname:Nn \l__fontspec_curr_bfname_tl {#1}
 
-    \seq_if_empty:NT \g__fontspec_bf_series_seq
-     {
-      \tl_gset:Nx \g__fontspec_curr_series_tl {\bfdefault}
-      \seq_gput_right:Nx \g__fontspec_bf_series_seq {\bfdefault}
-     }
-    \tl_if_eq:oxT \g__fontspec_curr_series_tl {\bfdefault}
-     { \tl_set_eq:NN \l__fontspec_fontname_bf_tl \l__fontspec_curr_bfname_tl }
+        \seq_if_empty:NT \l__fontspec_bf_series_seq
+          {
+            \tl_gset:Nx \g__fontspec_curr_series_tl {\bfdefault}
+            \seq_put_right:Nx \l__fontspec_bf_series_seq {\bfdefault}
+          }
 
+        \tl_if_eq:oxT \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:NxV \l__fontspec_nfss_prop {BoldFont-\g__fontspec_curr_series_tl} \l__fontspec_curr_bfname_tl
 
-   }
- }
-\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {ItalicFont}
- {
-  \tl_if_empty:nTF {#1}
-   {
-    \bool_set_true:N \l__fontspec_noit_bool
-   }
-   {
-    \bool_set_false:N \l__fontspec_noit_bool
-    \fontspec_complete_fontname:Nn \l__fontspec_fontname_it_tl {#1}
-   }
- }
+
+      }
+  }
 \__fontspec_keys_define_code:nnn {fontspec-preparse-external} {BoldItalicFont}
- {
-  \fontspec_complete_fontname:Nn \l__fontspec_fontname_bfit_tl {#1}
- }
-\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {SlantedFont}
- {
-  \fontspec_complete_fontname:Nn \l__fontspec_fontname_sl_tl {#1}
- }
+  {
+    \fontspec_complete_fontname:Nn \l__fontspec_fontname_bfit_tl {#1}
+  }
 \__fontspec_keys_define_code:nnn {fontspec-preparse-external} {BoldSlantedFont}
- {
-  \fontspec_complete_fontname:Nn \l__fontspec_fontname_bfsl_tl {#1}
- }
+  {
+    \fontspec_complete_fontname:Nn \l__fontspec_fontname_bfsl_tl {#1}
+  }
 \__fontspec_keys_define_code:nnn {fontspec} {SmallCapsFont}
- {
-  \tl_if_empty:nTF {#1}
-   {
-    \bool_set_true:N \l__fontspec_nosc_bool
-   }
-   {
-    \bool_set_false:N \l__fontspec_nosc_bool
-    \fontspec_complete_fontname:Nn \l__fontspec_fontname_sc_tl {#1}
-   }
- }
+  {
+    \tl_if_empty:nTF {#1}
+      {
+        \bool_set_true:N \l__fontspec_nosc_bool
+      }
+      {
+        \bool_set_false:N \l__fontspec_nosc_bool
+        \fontspec_complete_fontname:Nn \l__fontspec_fontname_sc_tl {#1}
+      }
+  }
 \__fontspec_keys_define_code:nnn {fontspec-preparse} {UprightFeatures}
  {
   \clist_set:Nn \l__fontspec_fontfeat_up_clist {#1}
-- 
cgit v1.2.3

