summaryrefslogtreecommitdiff
path: root/tex/context/base/font-ini.mkiv
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2011-12-18 17:20:20 +0200
committerMarius <mariausol@gmail.com>2011-12-18 17:20:20 +0200
commit7bbf37f0a73ae037ff44a3d06c0eb0cadd7ec0e8 (patch)
tree92ae80df7792cccea92be38539f721f859bf9636 /tex/context/base/font-ini.mkiv
parent8c264fd9af50c767be17918fc6b4d0da09167dec (diff)
downloadcontext-7bbf37f0a73ae037ff44a3d06c0eb0cadd7ec0e8.tar.gz
beta 2011.12.18 15:57
Diffstat (limited to 'tex/context/base/font-ini.mkiv')
-rw-r--r--tex/context/base/font-ini.mkiv82
1 files changed, 22 insertions, 60 deletions
diff --git a/tex/context/base/font-ini.mkiv b/tex/context/base/font-ini.mkiv
index 4f6f2927a..99018eb2b 100644
--- a/tex/context/base/font-ini.mkiv
+++ b/tex/context/base/font-ini.mkiv
@@ -14,6 +14,9 @@
% runtime commands will move to modules
+% at some point fontclass will always have a value so that quite some
+% code can go away
+
% todo: reconsider design sizes ... kick 'm out which removes the size
% code and simplifies things considerably. After all, there will be no
% lm math in sizes.
@@ -195,18 +198,18 @@
{\dosingleempty\dodefinedfont}
\unexpanded\def\startfont
- {\bgroup\definedfont}
+ {\begingroup\definedfont}
\unexpanded\def\stopfont
- {\egroup}
+ {\endgroup}
\def\doiffontcharelse#1#2%
- {\bgroup
+ {\begingroup
\definedfont[#1]%
\iffontchar\font#2\relax
- \egroup\expandafter\firstoftwoarguments
+ \endgroup\expandafter\firstoftwoarguments
\else
- \egroup\expandafter\secondoftwoarguments
+ \endgroup\expandafter\secondoftwoarguments
\fi}
%D For more detailed (and historic information) we refer to the file
@@ -556,9 +559,6 @@
\let\currentmathsize\!!plusthree\let\fontbody\scriptscriptface\dodosetmathfamily\scriptscriptfont#1\font
\let\currentmathsize\!!plustwo \let\fontbody\scriptface \dodosetmathfamily\scriptfont #1\font
\let\currentmathsize\!!plusone \let\fontbody\textface \dodosetmathfamily\textfont #1\font
- \ifconditional\optimizemathfontdefinitions
- \dosavefontclassmathfamily#1#2%
- \fi
\let\currentmathsize\empty
\let\fontbody\savedfontbody
\autofontsizefalse}
@@ -588,9 +588,6 @@
\let\currentmathsize\!!plusthree\let\fontbody\scriptscriptface\dodosetboldmathfamily\scriptscriptfont#1#3%
\let\currentmathsize\!!plustwo \let\fontbody\scriptface \dodosetboldmathfamily\scriptfont #1#3%
\let\currentmathsize\!!plusone \let\fontbody\textface \dodosetboldmathfamily\textfont #1#3%
- \ifconditional\optimizemathfontdefinitions
- \dosavefontclassmathfamily#1#2%
- \fi
\let\currentmathsize\empty
\let\fontbody\savedfontbody
\let\defaultfontclass\savedfontclass
@@ -607,8 +604,8 @@
\def\dosetmathfamily#1#2% fam tag
{\ifconditional\optimizemathfontdefinitions
- \ifcsname\??ff:\fontclass:\textface:\c!mm:#2:\fontsize\endcsname
- \csname\??ff:\fontclass:\textface:\c!mm:#2:\fontsize\endcsname
+ \ifcsname*\fontclass\textface\c!mm#21\fontsize1*\endcsname
+ \dopresetmathfamilyindeed#1#2%
\else
\dosetmathfamilyindeed#1#2%
\fi
@@ -618,8 +615,8 @@
\def\dosetboldmathfamily#1#2#3% fam tag
{\ifconditional\optimizemathfontdefinitions
- \ifcsname\??ff:\fontclass:\textface:\c!mm:#2:\fontsize\endcsname
- \csname\??ff:\fontclass:\textface:\c!mm:#2:\fontsize\endcsname
+ \ifcsname*\fontclass\textface\c!mm#21\fontsize1*\endcsname
+ \dopresetmathfamilyindeed#1#2%
\else
\dosetboldmathfamilyindeed#1#2#3%
\fi
@@ -627,32 +624,17 @@
\dosetboldmathfamilyindeed#1#2#3%
\fi}
-\unexpanded\def\doresetfontclassmathfamily#1#2#3%
- {\global\expandafter\let\csname\??ff:#1:\textface:\c!mm:#2:#3\endcsname\undefined}
+\def\dopresetmathfamilyindeed#1#2%
+ {\scriptscriptfont#1\csname*\fontclass\scriptscriptface\c!mm#23\fontsize3*\endcsname
+ \scriptfont #1\csname*\fontclass\scriptface \c!mm#22\fontsize2*\endcsname
+ \textfont #1\csname*\fontclass\textface \c!mm#21\fontsize1*\endcsname}
-\def\dosavefontclassmathfamilyindeed#1#2% weird double 1-3 .. will be cleaned up
- {\expandafter\xdef\csname\??ff:\fontclass:\textface:\c!mm:#2:\fontsize\endcsname{%
- \scriptscriptfont#1\csname*\fontclass\scriptscriptface\c!mm#23\fontsize3*\endcsname
- \scriptfont #1\csname*\fontclass\scriptface \c!mm#22\fontsize2*\endcsname
- \textfont #1\csname*\fontclass\textface \c!mm#21\fontsize1*\endcsname}%
- \ifcsname\??ff:l:\fontclass\endcsname \else
- \expandafter\newtoks\csname\??ff:l:\fontclass\endcsname
- \fi
- \normalexpanded{\global\csname\??ff:l:\fontclass\endcsname
- {\the\csname\??ff:l:\fontclass\endcsname\doresetfontclassmathfamily{\fontclass}{#2}{\fontsize}}}%
- }
-
-\def\resetfontclassmathfamilies#1%
- {\ifcsname\??ff:l:#1\endcsname
- \the\csname\??ff:l:#1\endcsname
- \global\csname\??ff:l:#1\endcsname\emptytoks
- \fi}
+\let\resetfontclassmathfamilies\gobbleoneargument
+\let\dosavefontclassmathfamily \gobbletwoarguments
-\let\dosavefontclassmathfamily\gobbletwoarguments
-
-\appendtoks
- \glet\dosavefontclassmathfamily\dosavefontclassmathfamilyindeed
-\to \everystarttext
+% \appendtoks
+% \glet\dosavefontclassmathfamily\dosavefontclassmathfamilyindeed
+% \to \everystarttext
% It would be nice if characters could be defined in a neutral way (say fam 255) and
% be mapped to a real family during noad list construction. However, this changes
@@ -2295,19 +2277,6 @@
\setnewconstant\fontdigits\plustwo % was 1
-% \def\normalizebodyfontsize#1\to#2%
-% {\@EA\@EA\@EA\donormalizedbodyfontsize\@EA\WITHOUTPT\the\dimexpr#1+\ifcase\fontdigits.5\or.05\or.005\fi\points\relax000\to#2}
-%
-% \def\donormalizedbodyfontsize#1.#2#3#4#5\to#6% \points ?
-% {\edef#6% not \ifcase#2\else due to \relax adding
-% {#1%
-% \ifcase\fontdigits
-% \or \ifcase#2 \else .#2\fi % 1
-% \or \ifcase#2#3 \else .#2\ifcase#3 \else #3\fi\fi % 2
-% \else \ifcase#2#3#4 \else .#2\ifcase#4 \ifcase#3 \else#3\fi \else#3#4\fi\fi % 3
-% \fi
-% \s!pt}}
-
\def\normalizebodyfontsize#1\to#2%
{\edef#2{\ctxcommand{nbfs(\number\dimexpr#1\relax,\number\fontdigits)}}}
@@ -2755,14 +2724,7 @@
% For Taco: optional fall backs:
-\ifx\checkfontclass\undefined \let\checkfontclass\gobbleoneargument \fi % implemented in type-ini
-
-% \def\setcurrentfontstyle#1%
-% {%\message{[3 #1]}%
-% \checkfontclass{#1}%
-% \edef\fontstyle{#1}%
-% \ifmmode\mr\fi % otherwise \rm not downward compatible
-% \synchronizefont}
+\ifdefined\checkfontclass \else \let\checkfontclass\gobbleoneargument \fi % implemented in type-ini
\unexpanded\def\setcurrentfontstyle#1%
{%\message{[3 #1]}%