summaryrefslogtreecommitdiff
path: root/tex/context/base/math-ini.mkiv
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2013-02-26 01:40:31 +0200
committerMarius <mariausol@gmail.com>2013-02-26 01:40:31 +0200
commit0d5087c4edd28707b198afabd26016fe922c6e35 (patch)
tree4fb23acb74c0c046a91dc4d1006b689d89448d49 /tex/context/base/math-ini.mkiv
parentf6b142ac209f26e0164dd37933dd622251f9564c (diff)
downloadcontext-0d5087c4edd28707b198afabd26016fe922c6e35.tar.gz
beta 2013.02.26 00:17
Diffstat (limited to 'tex/context/base/math-ini.mkiv')
-rw-r--r--tex/context/base/math-ini.mkiv84
1 files changed, 70 insertions, 14 deletions
diff --git a/tex/context/base/math-ini.mkiv b/tex/context/base/math-ini.mkiv
index 71263c06f..823ffaabd 100644
--- a/tex/context/base/math-ini.mkiv
+++ b/tex/context/base/math-ini.mkiv
@@ -1334,14 +1334,6 @@
\newconstant\c_math_styles_state_cramped
\newconstant\c_math_styles_state_size
-\def\math_style_add_to_cache
- {\c_math_styles_state_style \zerocount
- \c_math_styles_state_cramped\zerocount
- \c_math_styles_state_size \zerocount
- \rawprocesscommacommand[\m_math_style_asked]\math_style_collect
- \global\expandafter\let\csname\??mathstylecache\m_math_style_asked\normalexpanded{\endcsname
- \math_style_add_to_cache_choice}}
-
\def\math_style_add_to_cache_choice {%
\ifcase\c_math_styles_state_size
\ifcase\c_math_styles_state_style
@@ -1423,12 +1415,6 @@
\let\setmathstyle\math_style_set
-\def\math_style_set_indeed
- {\ifcsname\??mathstylecache\m_math_style_asked\endcsname \else
- \math_style_add_to_cache
- \fi
- \csname\??mathstylecache\m_math_style_asked\endcsname}
-
\def\installmathstyle#1#2%
{\ifcsname\??mathstylecommand#1\endcsname \else
\setvalue{\??mathstylecommand#1}{#2}%
@@ -1463,6 +1449,76 @@
\fi}
%D \startbuffer
+%D \definemathstyle[mystyle][scriptscript]
+%D
+%D $text\startmathstyle[mystyle]scriptscript\stopmathstyle text$
+%D \stopbuffer
+%D
+%D \typebuffer \blank \start \getbuffer \stop \blank
+
+\installcorenamespace {mathstyle}
+
+\unexpanded\def\definemathstyle
+ {\dodoubleargument\math_style_define}
+
+\def\math_style_define[#1][#2]%
+ {\c_math_styles_state_style \zerocount
+ \c_math_styles_state_cramped\zerocount
+ \c_math_styles_state_size \zerocount
+ \rawprocesscommacommand[#2]\math_style_collect
+ \expandafter\let\csname\??mathstyle#1\normalexpanded{\endcsname\math_style_add_to_cache_choice}}
+
+% \def\math_style_set_indeed
+% {\ifcsname\??mathstyle\m_math_style_asked\endcsname
+% \csname\??mathstyle\m_math_style_asked\endcsname
+% \else
+% \math_style_set_indeed_cached
+% \fi}
+%
+% \def\math_style_set_indeed_cached
+% {\ifcsname\??mathstylecache\m_math_style_asked\endcsname
+% % already in cache
+% \else
+% \math_style_add_to_cache
+% \fi
+% \csname\??mathstylecache\m_math_style_asked\endcsname}
+%
+% \def\math_style_add_to_cache
+% {\c_math_styles_state_style \zerocount
+% \c_math_styles_state_cramped\zerocount
+% \c_math_styles_state_size \zerocount
+% \rawprocesscommacommand[\m_math_style_asked]\math_style_collect
+% \global\expandafter\let\csname\??mathstylecache\m_math_style_asked\normalexpanded{\endcsname\math_style_add_to_cache_choice}}
+%
+% ugly but more efficient (as called often)
+
+\def\math_style_set_indeed
+ {\csname\??mathstyle
+ \ifcsname\??mathstyle\m_math_style_asked\endcsname
+ \m_math_style_asked
+ \else
+ \??mathstyle
+ \fi
+ \endcsname}
+
+\setvalue{\??mathstyle\??mathstyle}%
+ {\csname\??mathstylecache
+ \ifcsname\??mathstylecache\m_math_style_asked\endcsname
+ \m_math_style_asked
+ \else
+ \??mathstylecache
+ \fi
+ \endcsname}
+
+\setvalue{\??mathstylecache\??mathstylecache}%
+ {\c_math_styles_state_style \zerocount
+ \c_math_styles_state_cramped\zerocount
+ \c_math_styles_state_size \zerocount
+ \rawprocesscommacommand[\m_math_style_asked]\math_style_collect
+ \global\expandafter\let\csname\??mathstylecache\m_math_style_asked\normalexpanded{\endcsname\math_style_add_to_cache_choice}%
+ \csname\??mathstylecache\m_math_style_asked\endcsname}
+
+%D \startbuffer
%D $x\begingroup\setupmathstyle[script]x\endgroup x$
%D $x{\setupmathstyle[script]x}x$
%D $x\startmathstyle[script]x\stopmathstyle x$