summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/fontspec/fontspec-code-api.dtx
diff options
context:
space:
mode:
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.dtx23
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: }