summaryrefslogtreecommitdiff
path: root/tex/context/base/font-mat.mkvi
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/font-mat.mkvi')
-rw-r--r--tex/context/base/font-mat.mkvi68
1 files changed, 38 insertions, 30 deletions
diff --git a/tex/context/base/font-mat.mkvi b/tex/context/base/font-mat.mkvi
index 85a10bf3a..4ecb9d082 100644
--- a/tex/context/base/font-mat.mkvi
+++ b/tex/context/base/font-mat.mkvi
@@ -15,6 +15,12 @@
\unprotect
+%D Be nice:
+
+\ifdefined\??fontinstanceready \else \installcorenamespace{fontinstanceready} \fi
+\ifdefined\??fontinstancebasic \else \installcorenamespace{fontinstancebasic} \fi
+\ifdefined\??fontinstanceclass \else \installcorenamespace{fontinstanceclass} \fi
+
%D \macros
%D {textonly}
%D
@@ -76,44 +82,44 @@
% for bold.
\def\font_helpers_set_math_family_a
- {\ifcsname\fontclass \fontbody\s!mm\fontfamily\fontsize\currentmathsize\endcsname \setfalse\font_auto_font_size
- \csname\fontclass \fontbody\s!mm\fontfamily\fontsize\currentmathsize\endcsname \else
- \ifcsname\fontclass \fontbody\s!mm\fontfamily \currentmathsize\endcsname \settrue\font_auto_font_size
- \csname\fontclass \fontbody\s!mm\fontfamily \currentmathsize\endcsname \else
+ {\ifcsname\??fontinstanceready\fontclass -\fontbody-\s!mm-\fontfamily-\fontsize\endcsname \setfalse\c_font_auto_size
+ \csname\??fontinstanceready\fontclass -\fontbody-\s!mm-\fontfamily-\fontsize\endcsname \else
+ \ifcsname\??fontinstanceready\fontclass -\fontbody-\s!mm-\fontfamily \endcsname \settrue \c_font_auto_size
+ \csname\??fontinstanceready\fontclass -\fontbody-\s!mm-\fontfamily \endcsname \else
\font_helpers_set_math_family_b
\fi\fi}
\def\font_helpers_set_math_family_b
- {\ifcsname\defaultfontclass\fontbody\s!mm\fontfamily\fontsize\currentmathsize\endcsname \setfalse\font_auto_font_size
- \csname\defaultfontclass\fontbody\s!mm\fontfamily\fontsize\currentmathsize\endcsname \else
- \ifcsname\defaultfontclass\fontbody\s!mm\fontfamily \currentmathsize\endcsname \settrue\font_auto_font_size
- \csname\defaultfontclass\fontbody\s!mm\fontfamily \currentmathsize\endcsname \else
+ {\ifcsname\??fontinstanceready\defaultfontclass-\fontbody-\s!mm-\fontfamily-\fontsize\endcsname \setfalse\c_font_auto_size
+ \csname\??fontinstanceready\defaultfontclass-\fontbody-\s!mm-\fontfamily-\fontsize\endcsname \else
+ \ifcsname\??fontinstanceready\defaultfontclass-\fontbody-\s!mm-\fontfamily \endcsname \settrue \c_font_auto_size
+ \csname\??fontinstanceready\defaultfontclass-\fontbody-\s!mm-\fontfamily \endcsname \else
\font_helpers_set_math_family_c
\fi\fi}
\def\font_helpers_set_math_family_c
- {\ifcsname \fontbody\s!mm\fontfamily\fontsize\currentmathsize\endcsname \setfalse\font_auto_font_size
- \csname \fontbody\s!mm\fontfamily\fontsize\currentmathsize\endcsname \else
- \ifcsname \fontbody\s!mm\fontfamily \currentmathsize\endcsname \settrue\font_auto_font_size
- \csname \fontbody\s!mm\fontfamily \currentmathsize\endcsname \else
- \nullfont \settrue\font_auto_font_size
+ {\ifcsname\??fontinstanceready \fontbody-\s!mm-\fontfamily-\fontsize\endcsname \setfalse\c_font_auto_size
+ \csname\??fontinstanceready \fontbody-\s!mm-\fontfamily-\fontsize\endcsname \else
+ \ifcsname\??fontinstanceready \fontbody-\s!mm-\fontfamily \endcsname \settrue \c_font_auto_size
+ \csname\??fontinstanceready \fontbody-\s!mm-\fontfamily \endcsname \else
+ \nullfont \settrue \c_font_auto_size
\fi\fi}
\def\font_helpers_set_math_family_indeed#mrtag#family% \currentmathsize etc are also used later on
{\let\savedfontbody\fontbody
\let\fontfamily#family%
- \let\currentmathsize\!!plusthree\let\fontbody\scriptscriptface\font_helpers_set_math_family_a\scriptscriptfont#mrtag\font
- \let\currentmathsize\!!plustwo \let\fontbody\scriptface \font_helpers_set_math_family_a\scriptfont #mrtag\font
- \let\currentmathsize\!!plusone \let\fontbody\textface \font_helpers_set_math_family_a\textfont #mrtag\font
+ \let\currentmathsize\!!plusthree\font_helpers_set_math_family_a\scriptscriptfont#mrtag\font
+ \let\currentmathsize\!!plustwo \font_helpers_set_math_family_a\scriptfont #mrtag\font
+ \let\currentmathsize\!!plusone \font_helpers_set_math_family_a\textfont #mrtag\font
\let\currentmathsize\empty
\let\fontbody\savedfontbody
- \setfalse\font_auto_font_size}
+ \setfalse\c_font_auto_size}
\def\font_helpers_set_math_family_bold_a#font#mbfam#mrfam%
- {\ifcsname\fontclass\fontbody\s!mm\fontfamily\fontsize\currentmathsize\endcsname \setfalse\font_auto_font_size
- \csname\fontclass\fontbody\s!mm\fontfamily\fontsize\currentmathsize\endcsname #font#mbfam\font \else
- \ifcsname\fontclass\fontbody\s!mm\fontfamily \currentmathsize\endcsname \settrue\font_auto_font_size
- \csname\fontclass\fontbody\s!mm\fontfamily \currentmathsize\endcsname #font#mbfam\font \else
+ {\ifcsname\??fontinstanceready\fontclass-\fontbody-\s!mm-\fontfamily-\fontsize\endcsname \setfalse\c_font_auto_size
+ \csname\??fontinstanceready\fontclass-\fontbody-\s!mm-\fontfamily-\fontsize\endcsname #font#mbfam\font \else
+ \ifcsname\??fontinstanceready\fontclass-\fontbody-\s!mm-\fontfamily \endcsname \settrue \c_font_auto_size
+ \csname\??fontinstanceready\fontclass-\fontbody-\s!mm-\fontfamily \endcsname #font#mbfam\font \else
#font#mbfam#font#mrfam%
\fi\fi}
@@ -122,13 +128,13 @@
\let\defaultfontclass\fontclass % else truefontname falls back on the wrong one
\let\savedfontbody\fontbody
\let\fontfamily#familytag%
- \let\currentmathsize\!!plusthree\let\fontbody\scriptscriptface\font_helpers_set_math_family_bold_a\scriptscriptfont#mbfam#mrfam%
- \let\currentmathsize\!!plustwo \let\fontbody\scriptface \font_helpers_set_math_family_bold_a\scriptfont #mbfam#mrfam%
- \let\currentmathsize\!!plusone \let\fontbody\textface \font_helpers_set_math_family_bold_a\textfont #mbfam#mrfam%
+ \let\currentmathsize\!!plusthree\font_helpers_set_math_family_bold_a\scriptscriptfont#mbfam#mrfam%
+ \let\currentmathsize\!!plustwo \font_helpers_set_math_family_bold_a\scriptfont #mbfam#mrfam%
+ \let\currentmathsize\!!plusone \font_helpers_set_math_family_bold_a\textfont #mbfam#mrfam%
\let\currentmathsize\empty
\let\fontbody\savedfontbody
\let\defaultfontclass\savedfontclass
- \setfalse\font_auto_font_size}
+ \setfalse\c_font_auto_size}
% optimized: math fonts are never changed (10K \bfa $x$: 3.2 => 2.5 (baseline 1.0))
%
@@ -141,9 +147,11 @@
\def\font_helpers_set_math_family#mrfam#familytag%
{\ifconditional\optimizemathfontdefinitions
- \ifcsname\??fontinstanceclass\fontclass\textface\s!mm#familytag1\fontsize1\endcsname
+ \ifcsname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-1\endcsname
+ % \writestatus{fonts}{math: reusing \fontclass\fontbody\s!mm#familytag\fontsize1}%
\font_helpers_preset_math_family_indeed#mrfam#familytag%
\else
+ % \writestatus{fonts}{math: defining \fontclass\fontbody\s!mm#familytag\fontsize1}%
\font_helpers_set_math_family_indeed#mrfam#familytag%
\fi
\else
@@ -152,7 +160,7 @@
\def\font_helpers_set_math_family_bold#mbfam#familytag#mrfam%
{\ifconditional\optimizemathfontdefinitions
- \ifcsname\??fontinstanceclass\fontclass\textface\s!mm#familytag1\fontsize1\endcsname
+ \ifcsname\??fontinstanceclass\fontclass-\textface-\s!mm-#familytag-\fontsize-1\endcsname
\font_helpers_preset_math_family_indeed#mbfam#familytag%
\else
\font_helpers_set_math_family_bold_indeed#mbfam#familytag#mrfam%
@@ -162,9 +170,9 @@
\fi}
\def\font_helpers_preset_math_family_indeed#fam#familytag%
- {\scriptscriptfont#fam\csname\??fontinstanceclass\fontclass\scriptscriptface\s!mm#familytag3\fontsize3\endcsname
- \scriptfont #fam\csname\??fontinstanceclass\fontclass\scriptface \s!mm#familytag2\fontsize2\endcsname
- \textfont #fam\csname\??fontinstanceclass\fontclass\textface \s!mm#familytag1\fontsize1\endcsname}
+ {\scriptscriptfont#fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-3\endcsname
+ \scriptfont #fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-2\endcsname
+ \textfont #fam\csname\??fontinstanceclass\fontclass-\fontbody-\s!mm-#familytag-\fontsize-1\endcsname}
\let\font_helpers_reset_fontclass_math_families\gobbleoneargument