From 22aaabfaa8342d36886efc120442e53c947bc296 Mon Sep 17 00:00:00 2001 From: Karl Berry 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 %%^^A%% fontspec-vars.dtx -- part of 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