diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/fontspec/fontspec-code-api.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/fontspec/fontspec-code-api.dtx | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-api.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-api.dtx index 7164cb47a88..09340f273fb 100644 --- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-api.dtx +++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-api.dtx @@ -97,8 +97,8 @@ \prop_get:cnN {g_@@_fontinfo_ \f@family _prop} {lang-num} \l_@@_tmp_tl \int_set:Nn \l_@@_language_int {\l_@@_tmp_tl} - \prop_get:cnN {g_@@_fontinfo_ \f@family _prop} {script-tag} \l_fontspec_script_tl - \prop_get:cnN {g_@@_fontinfo_ \f@family _prop} {lang-tag} \l_fontspec_lang_tl + \prop_get:cnN {g_@@_fontinfo_ \f@family _prop} {script-tag} \l_@@_script_tl + \prop_get:cnN {g_@@_fontinfo_ \f@family _prop} {lang-tag} \l_@@_lang_tl \@@_check_ot_feat:NnTF \font {#1} {\prg_return_true:} {\prg_return_false:} } @@ -173,7 +173,7 @@ { \prop_get:cnN {g_@@_fontinfo_ \f@family _prop} {script-num} \l_@@_tmp_tl \int_set:Nn \l_@@_script_int {\l_@@_tmp_tl} - \prop_get:cnN {g_@@_fontinfo_ \f@family _prop} {script-tag} \l_fontspec_script_tl + \prop_get:cnN {g_@@_fontinfo_ \f@family _prop} {script-tag} \l_@@_script_tl \@@_check_lang:NnTF \font {#1} \prg_return_true: \prg_return_false: } @@ -265,15 +265,18 @@ % variable because the actual \LaTeX\ family name is automatically generated % by fontspec and it's easier to keep it that way. % \begin{macrocode} -\cs_new:Nn \fontspec_set_family:Nnn +\cs_new:Nn \@@_tl_new_if_free:N { \tl_if_exist:NF #1 { \tl_new:N #1 } } +\cs_new:Nn \@@_set_family:NnnN { \tl_set:Nn \l_@@_fontface_cs_tl {\l_fontspec_font} % reset \tl_set:Nn \l_@@_family_label_tl {#1} \@@_select_font_family:nn {#2} {#3} - \tl_if_exist:NF #1 { \tl_new:N #1 } - \tl_set_eq:NN #1 \l_fontspec_family_tl + \@@_tl_new_if_free:N #1 + #4 #1 \l_fontspec_family_tl \tl_set:Nn \l_@@_fontface_cs_tl {\l_fontspec_font} % reset } +\cs_new:Nn \fontspec_gset_family:Nnn { \@@_set_family:NnnN #1 {#2} {#3} \tl_gset_eq:NN } +\cs_new:Nn \fontspec_set_family:Nnn { \@@_set_family:NnnN #1 {#2} {#3} \tl_set_eq:NN } % \end{macrocode} % % \begin{macrocode} @@ -289,14 +292,16 @@ % \begin{macrocode} \tl_new:N \l_@@_fontface_cs_tl \tl_set:Nn \l_@@_fontface_cs_tl {\l_fontspec_font} -\cs_new:Nn \fontspec_set_fontface:NNnn +\cs_new:Nn \@@_set_fontface:NNnnN { \tl_set:Nn \l_@@_fontface_cs_tl {#1} \tl_set:Nn \l_@@_family_label_tl {#2} \@@_select_font_family:nn {#3} {#4} - \tl_set_eq:NN #2 \l_fontspec_family_tl + #5 #2 \l_fontspec_family_tl \tl_set:Nn \l_@@_fontface_cs_tl {\l_fontspec_font} % reset } +\cs_new:Nn \fontspec_gset_fontface:NNnn { \@@_set_fontface:NNnnN #1 #2 {#3} {#4} \tl_gset_eq:NN } +\cs_new:Nn \fontspec_set_fontface:NNnn { \@@_set_fontface:NNnnN #1 #2 {#3} {#4} \tl_set_eq:NN } % \end{macrocode} % \end{macro} % @@ -326,6 +331,8 @@ % \begin{macrocode} \prg_new_conditional:Nnn \fontspec_if_current_feature:n {TF,T,F} { +%<debug>\typeout{::~fontspec_if_current_feature:n~{#1}} +%<debug>\typeout{::::~primitive_font_current_name:~=~\@@_primitive_font_current_name:} \exp_args:Nxx \tl_if_in:nnTF { \@@_primitive_font_current_name: } { \tl_to_str:n {#1} } { \prg_return_true: } { \prg_return_false: } |