summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/font-fea.mkvi
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkiv/font-fea.mkvi')
-rw-r--r--tex/context/base/mkiv/font-fea.mkvi56
1 files changed, 56 insertions, 0 deletions
diff --git a/tex/context/base/mkiv/font-fea.mkvi b/tex/context/base/mkiv/font-fea.mkvi
index dade70494..840b64e9c 100644
--- a/tex/context/base/mkiv/font-fea.mkvi
+++ b/tex/context/base/mkiv/font-fea.mkvi
@@ -125,6 +125,12 @@
\def\font_basics_define_font_feature[#featureset][#parent][#settings]%
{\clf_definefontfeature{#featureset}{#parent}{#settings}}
+\unexpanded\def\adaptfontfeature
+ {\dodoubleargument\font_basics_adapt_font_feature}
+
+\def\font_basics_adapt_font_feature[#pattern][#settings]%
+ {\clf_adaptfontfeature{#pattern}{#settings}}
+
\unexpanded\def\fontfeatureslist
{\dodoubleargument\font_basics_features_list}
@@ -284,6 +290,38 @@
\letvalue{\??featureyes\s!unknown}\empty
\letvalue{\??featurenop\s!unknown}\empty
+% experimental bonus:
+
+% \unexpanded\def\addfflanguage
+% {\ifnum\c_font_feature_state=\plusone
+% \ifx\currentlanguage\currentfeature\else
+% \font_feature_add_language_indeed
+% \fi
+% \else
+% \font_feature_add_language_indeed
+% \fi}
+%
+% \unexpanded\def\font_feature_add_language_indeed
+% {\clf_addfeature{\m_font_feature_list}{\currentlanguage}%
+% \edef\m_font_feature_list{\m_font_feature_list+\currentlanguage}% also + at the lua end
+% \c_font_feature_state\plusone
+% \let\currentfeature\currentlanguage}
+%
+% some 3% slower:
+
+% \unexpanded\def\addfflanguage
+% {\let\m_font_feature_asked\currentlanguage
+% \font_feature_add}
+
+\let\m_font_feature_language\currentlanguage
+
+\unexpanded\def\addfflanguage
+ {\ifx\currentlanguage\m_font_feature_language\else
+ \let\m_font_feature_language\currentlanguage
+ \let\m_font_feature_asked \currentlanguage
+ \font_feature_add
+ \fi}
+
% just for old times sake:
\unexpanded\def\featureattribute#feature%
@@ -353,4 +391,22 @@
0%
\endgroup}
+% not nice but maybe handy
+
+% \starttyping
+% \blockligatures[fi,ff] \blockligatures[fl]
+%
+% \definefontfeature[default:b][default][blockligatures=yes]
+%
+% \setupbodyfont[pagella] \showfontkerns
+%
+% \definedfont[Serif*default:b]
+%
+% \startTEXpage[offset=1em]
+% fi ff fl
+% \stopTEXpage
+% \stoptyping
+
+\unexpanded\def\blockligatures[#1]{\clf_blockligatures{#1}}
+
\protect \endinput