summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2013-02-20 14:35:00 +0100
committerHans Hagen <pragma@wxs.nl>2013-02-20 14:35:00 +0100
commit083ac4b7ab6d389ef0ec8531318064ea2770b7b1 (patch)
tree6fc9e7560a6edcecf36b873b9a62c7271692da96 /tex
parent1656acb127a5b7a031fa356f360a8f8a0e138206 (diff)
downloadcontext-083ac4b7ab6d389ef0ec8531318064ea2770b7b1.tar.gz
beta 2013.02.20 14:35
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/cont-new.mkii2
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4129 -> 4131 bytes
-rw-r--r--tex/context/base/context-version.pngbin40326 -> 40287 bytes
-rw-r--r--tex/context/base/context.mkii2
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/java-imp-fld.mkiv66
-rw-r--r--tex/context/base/math-fen.mkiv7
-rw-r--r--tex/context/base/math-frc.mkiv22
-rw-r--r--tex/context/base/math-ini.mkiv326
-rw-r--r--tex/context/base/mult-de.mkii1
-rw-r--r--tex/context/base/mult-def.lua3
-rw-r--r--tex/context/base/mult-en.mkii1
-rw-r--r--tex/context/base/mult-fr.mkii1
-rw-r--r--tex/context/base/mult-it.mkii1
-rw-r--r--tex/context/base/mult-low.lua5
-rw-r--r--tex/context/base/mult-nl.mkii1
-rw-r--r--tex/context/base/mult-pe.mkii1
-rw-r--r--tex/context/base/mult-ro.mkii1
-rw-r--r--tex/context/base/mult-sys.mkiv3
-rw-r--r--tex/context/base/spac-ali.mkiv50
-rw-r--r--tex/context/base/status-files.pdfbin24749 -> 24755 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin208700 -> 208837 bytes
-rw-r--r--tex/context/interface/keys-cs.xml1
-rw-r--r--tex/context/interface/keys-de.xml1
-rw-r--r--tex/context/interface/keys-en.xml1
-rw-r--r--tex/context/interface/keys-fr.xml1
-rw-r--r--tex/context/interface/keys-it.xml1
-rw-r--r--tex/context/interface/keys-nl.xml1
-rw-r--r--tex/context/interface/keys-pe.xml1
-rw-r--r--tex/context/interface/keys-ro.xml1
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
32 files changed, 450 insertions, 57 deletions
diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii
index 0b5b8df02..3d7223fc4 100644
--- a/tex/context/base/cont-new.mkii
+++ b/tex/context/base/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2013.02.19 19:38}
+\newcontextversion{2013.02.20 14:35}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index d45cba489..298c7cd14 100644
--- a/tex/context/base/cont-new.mkiv
+++ b/tex/context/base/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2013.02.19 19:38}
+\newcontextversion{2013.02.20 14:35}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index 863b7b6da..4306be443 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png
index dcd4ad222..38acb2773 100644
--- a/tex/context/base/context-version.png
+++ b/tex/context/base/context-version.png
Binary files differ
diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii
index 9eba64cf0..f347b8494 100644
--- a/tex/context/base/context.mkii
+++ b/tex/context/base/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2013.02.19 19:38}
+\edef\contextversion{2013.02.20 14:35}
%D For those who want to use this:
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index dad7c3621..d5d34fe8f 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -25,7 +25,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2013.02.19 19:38}
+\edef\contextversion{2013.02.20 14:35}
%D For those who want to use this:
diff --git a/tex/context/base/java-imp-fld.mkiv b/tex/context/base/java-imp-fld.mkiv
index 28dc3523e..aaec257f2 100644
--- a/tex/context/base/java-imp-fld.mkiv
+++ b/tex/context/base/java-imp-fld.mkiv
@@ -281,6 +281,7 @@ function Reset_Fields(FieldSet) {
}
i++ ;
}
+ this.dirty = false ;
}
function Set_Fields(FieldSet) {
@@ -294,6 +295,7 @@ function Set_Fields(FieldSet) {
}
i++ ;
}
+ this.dirty = false ;
}
function Set_Field(FieldSet, FieldName) {
@@ -301,6 +303,7 @@ function Set_Field(FieldSet, FieldName) {
v = Field_Name(FieldSet,FieldName) ;
if (v) {
v.value = "Yes" ;
+ this.dirty = false ;
}
}
@@ -309,6 +312,7 @@ function Reset_Field(FieldSet, FieldName) {
v = Field_Name(FieldSet,FieldName) ;
if (v) {
v.value = "Off" ;
+ this.dirty = false ;
}
}
@@ -335,6 +339,7 @@ function Walk_Field(FieldSet) {
break ;
}
}
+ this.dirty = false ;
}
var FieldSets = new Array() ;
@@ -351,6 +356,7 @@ function Do_Get_Check_Walk_Field(FieldSet) {
f.timeout = null ;
f.repeat = true ;
f.total = 0 ;
+ f.pauseset = new Array() ;
FieldSets[FieldSet] = f ;
for (var i=1; i>0; i++) {
var v = Field_Name(FieldSet,i) ;
@@ -361,7 +367,9 @@ function Do_Get_Check_Walk_Field(FieldSet) {
}
f.start = 0 ;
f.stop = f.total ;
+ f.pause = 0 ;
}
+ this.dirty = false ;
return f
}
@@ -376,7 +384,14 @@ function Do_Next_Auto_Walk_Field_Step(FieldSet,fieldset,n) {
if (v) {
fieldset.number = n ;
v.value = "Yes" ;
+ if (fieldset.pauseset[n]) {
+ // fieldset.pause = n ;
+ // Do_Stop_Auto_Walk_Field(Fieldset) ;
+ Do_Stop_Auto_Walk_Field(FieldSet) ;
+ fieldset.paused = true ;
+ }
}
+ this.dirty = false ;
}
function Do_Next_Auto_Walk_Field(FieldSet) {
@@ -392,6 +407,7 @@ function Do_Next_Auto_Walk_Field(FieldSet) {
} else {
Do_Next_Auto_Walk_Field_Step(FieldSet,fieldset,fieldset.number+1) ;
}
+ this.dirty = false ;
}
}
@@ -403,6 +419,7 @@ function Do_Stop_Auto_Walk_Field(FieldSet) {
app.clearTimeOut(fieldset.timeout) ;
} catch (e) {
}
+ this.dirty = false ;
}
}
@@ -412,6 +429,7 @@ function Do_Start_Auto_Walk_Field(FieldSet) {
Do_Stop_Auto_Walk_Field(FieldSet) ;
Do_Next_Auto_Walk_Field(FieldSet) ;
fieldset.timeout = app.setInterval("Do_Next_Auto_Walk_Field('"+FieldSet+"')", fieldset.delay) ;
+ this.dirty = false ;
}
}
@@ -444,27 +462,47 @@ function Pause_Walk_Field(FieldSet) {
}
}
-function Start_Pause_Walk_Field(FieldSet, Delay, Option, Start, Stop) {
+function Start_Pause_Walk_Field(FieldSet, Delay, Option) {
var fieldset = Do_Get_Check_Walk_Field(FieldSet) ;
if (fieldset) {
if (Option == "once") {
fieldset.repeat = false ;
+ } else if (Option == "pause") {
+ fieldset.repeat = false ;
} else {
fieldset.repeat = true ;
}
- if (typeof Start == "string") {
- fieldset.start = parseInt(Start) ;
- } else if (typeof Start == "number") {
- fieldset.start = Start ;
- } else {
- fieldset.start = 1 ;
- }
- if (typeof Stop == "string") {
- fieldset.stop = parseInt(Stop) ;
- } else if (typeof Stop == "number") {
- fieldset.stop = Stop ;
- } else {
+ if (Option == "pause") {
+ for (i=3; i<arguments.length; i++) {
+ fieldset.pauseset[parseInt(arguments[i])] = true ;
+ }
+ if (fieldset.pause == fieldset.stop) {
+ fieldset.start = 1 ;
+ fieldset.pause = 0 ;
+ } else if (fieldset.pause > 1) {
+ fieldset.start = fieldset.pause - 1 ;
+ } else {
+ fieldset.start = 1 ;
+ }
fieldset.stop = fieldset.total ;
+ } else {
+ var Start = arguments[3] ;
+ var Stop = arguments[4] ;
+ if (typeof Start == "string") {
+ fieldset.start = parseInt(Start) ;
+ } else if (typeof Start == "number") {
+ fieldset.start = Start ;
+ } else {
+ fieldset.start = 1 ;
+ }
+ if (typeof Stop == "string") {
+ fieldset.stop = parseInt(Stop) ;
+ } else if (typeof Stop == "number") {
+ fieldset.stop = Stop ;
+ } else {
+ fieldset.stop = fieldset.total ;
+ }
+ fieldset.pause = 0 ;
}
if (fieldset.running) {
if (fieldset.paused) {
@@ -525,6 +563,7 @@ function Previous_Walk_Field(FieldSet) {
if (v) {
v.value = "Yes" ;
}
+ this.dirty = false ;
}
}
}
@@ -549,6 +588,7 @@ function Next_Walk_Field(FieldSet) {
if (v) {
v.value = "Yes" ;
}
+ this.dirty = false ;
}
}
}
diff --git a/tex/context/base/math-fen.mkiv b/tex/context/base/math-fen.mkiv
index bd6b6a75f..de50ace0c 100644
--- a/tex/context/base/math-fen.mkiv
+++ b/tex/context/base/math-fen.mkiv
@@ -15,6 +15,8 @@
\unprotect
+% todo: mathstyle
+
% \definemathfence [fancybracket] [bracket] [command=yes,color=blue]
%
% test $|x|$ test \par
@@ -42,6 +44,7 @@
[\c!left="002E,
\c!right="002E,
\c!middle="002E,
+ \c!mathstyle=,
\c!color=,
\c!command=]
@@ -62,6 +65,7 @@
\unexpanded\def\math_fenced_fenced[#1]%
{\begingroup
\edef\currentmathfence{#1}%
+ \startusemathstyleparameter\mathfenceparameter
\let\fence\math_fenced_middle
\edef\p_math_fenced_color{\mathfenceparameter\c!color}%
\ifx\p_math_fenced_color\empty
@@ -74,6 +78,7 @@
{\math_fenced_left
#1%
\math_fenced_right
+ \stopusemathstyleparameter
\endgroup}
\def\math_fenced_colored#1%
@@ -84,6 +89,7 @@
\pushcolor[\p_math_fenced_color]%
\math_fenced_right
\popcolor
+ \stopusemathstyleparameter
\endgroup}
\appendtoks
@@ -95,6 +101,7 @@
\definemathfence [braces] [\c!left="007B,\c!right="007D]
\definemathfence [bar] [\c!left="007C,\c!right="007C]
\definemathfence [doublebar] [\c!left="2016,\c!right="2016]
+\definemathfence [angle] [\c!left="003C,\c!right="003E]
%definemathfence [fancybracket] [bracket] [command=yes,color=red]
diff --git a/tex/context/base/math-frc.mkiv b/tex/context/base/math-frc.mkiv
index 8aa78196b..ae78b9290 100644
--- a/tex/context/base/math-frc.mkiv
+++ b/tex/context/base/math-frc.mkiv
@@ -72,24 +72,14 @@
% \def\math_fractions_auto #1#2{\relax\mathematics{\Ustack{{#1}\normalover{#2}}}}
\def\math_fractions_forced#1#2#3%
- {\vcenter\expandafter\bgroup
- \expandafter\hbox\expandafter\bgroup\expandafter
- \startimath
- \triggermathstyle\normalmathstyle
- \Ustack{{#1{#2}}\normalover{#1{#3}}}%
- \stopimath
- \egroup
- \egroup}
+ {\normalexpanded{\vcenter\bgroup\hbox\bgroup\startimath\triggermathstyle\normalmathstyle}%
+ \Ustack{{#1{#2}}\normalover{#1{#3}}}%
+ \stopimath\egroup\egroup}
\def\math_fractions_auto#1#2%
- {\vcenter\expandafter\bgroup
- \expandafter\hbox\expandafter\bgroup\expandafter
- \startimath
- \triggermathstyle\normalmathstyle
- \Ustack{{#1}\normalover{#2}}%
- \stopimath
- \egroup
- \egroup}
+ {\normalexpanded{\vcenter\bgroup\hbox\bgroup\startimath\triggermathstyle\normalmathstyle}%
+ \Ustack{{#1}\normalover{#2}}%
+ \stopimath\egroup\egroup}
% \def\math_fractions_auto{\math_fractions_forced\firstofoneargument}
diff --git a/tex/context/base/math-ini.mkiv b/tex/context/base/math-ini.mkiv
index 25ae27d0f..71263c06f 100644
--- a/tex/context/base/math-ini.mkiv
+++ b/tex/context/base/math-ini.mkiv
@@ -22,6 +22,10 @@
%D and AMS math in order to achieve backward compatinility. We also kept an eye on
%D future usage of these modules in the perspective of MathML and unicode fonts.
+%D There is a subtle issue with grouping: the \type {\begingroup} method will not
+%D restore a changed mathstyle so best avoid that one. However, there are cases where
+%D we really need to use such grouping.
+
\unprotect
%D We move these definitions into the format:
@@ -1168,6 +1172,328 @@
\font_basics_switchtobodyfont\m_math_text_choice_face
\let\next}
+%D Here is the new mechanism ... it might replace some of the above but we will do
+%D that stepwise. Keep in mind that cramped only affects superscripts and even then,
+%D only when in a smaller size than normal.
+%D
+%D \def\TestMe#1%
+%D {\NC \ttbf #1
+%D \NC \ruledhbox{$\setupmathstyle[#1]x + x_j^2 + x_i^{e^2} + \frac{1}{x}$}
+%D \NC \ruledhbox{$\setupmathstyle[#1,small]x + x_j^2 + x_i^{e^2} + \frac{1}{x}$}
+%D \NC \NR}
+%D
+%D \starttabulate[|l|r|l|]
+%D \HL
+%D \NC \NC \NC \ttbf ...,small \NC \NR
+%D \HL
+%D \TestMe{text} \TestMe{text,cramped}
+%D \TestMe{script} \TestMe{script,cramped}
+%D \TestMe{scriptscript} \TestMe{scriptscript,cramped}
+%D \TestMe{display} \TestMe{display,cramped}
+%D \HL
+%D \stoptabulate
+
+\def\triggerdisplaystyle
+ {\ifcase\normalmathstyle\relax
+ \displaystyle \or
+ \crampeddisplaystyle \or
+ \displaystyle \or
+ \crampeddisplaystyle \or
+ \displaystyle \or
+ \crampeddisplaystyle \or
+ \displaystyle \or
+ \crampeddisplaystyle \or
+ \fi}
+
+\def\triggertextstyle
+ {\ifcase\normalmathstyle\relax
+ \textstyle \or
+ \crampedtextstyle \or
+ \textstyle \or
+ \crampedtextstyle \or
+ \textstyle \or
+ \crampedtextstyle \or
+ \textstyle \or
+ \crampedtextstyle \else
+ \fi}
+
+\def\triggerscriptstyle
+ {\ifcase\normalmathstyle\relax
+ \scriptstyle \or
+ \crampedscriptstyle \or
+ \scriptstyle \or
+ \crampedscriptstyle \or
+ \scriptstyle \or
+ \crampedscriptstyle \or
+ \scriptstyle \or
+ \crampedscriptstyle \or
+ \fi}
+
+\def\triggerscriptscriptstyle
+ {\ifcase\normalmathstyle\relax
+ \scriptscriptstyle \or
+ \crampedscriptscriptstyle \or
+ \scriptscriptstyle \or
+ \crampedscriptscriptstyle \or
+ \scriptscriptstyle \or
+ \crampedscriptscriptstyle \or
+ \scriptscriptstyle \or
+ \crampedscriptscriptstyle \or
+ \fi}
+
+\def\triggeruncrampedstyle
+ {\ifcase\normalmathstyle\relax
+ \or \displaystyle \or
+ \or \textstyle \or
+ \or \scriptstyle \or
+ \or \scriptscriptstyle \fi}
+
+\def\triggercrampedstyle
+ {\ifcase\normalmathstyle\relax
+ \crampeddisplaystyle \or \or
+ \crampedtextstyle \or \or
+ \crampedscriptstyle \or \or
+ \crampedscriptscriptstyle \fi}
+
+\def\triggersmallstyle
+ {\ifcase\normalmathstyle\relax
+ \scriptstyle \or
+ \crampedscriptstyle \or
+ \scriptstyle \or
+ \crampedscriptstyle \or
+ \scriptscriptstyle \or
+ \crampedscriptscriptstyle \or
+ \scriptscriptstyle \or
+ \crampedscriptscriptstyle \or
+ \fi}
+
+\def\triggeruncrampedsmallstyle
+ {\ifcase\normalmathstyle\relax
+ \scriptstyle \or
+ \scriptstyle \or
+ \scriptstyle \or
+ \scriptstyle \or
+ \scriptscriptstyle \or
+ \scriptscriptstyle \or
+ \scriptscriptstyle \or
+ \scriptscriptstyle \or
+ \fi}
+
+\def\triggercrampedsmallstyle
+ {\ifcase\normalmathstyle\relax
+ \crampedscriptstyle \or
+ \crampedscriptstyle \or
+ \crampedscriptstyle \or
+ \crampedscriptstyle \or
+ \crampedscriptscriptstyle \or
+ \crampedscriptscriptstyle \or
+ \crampedscriptscriptstyle \or
+ \crampedscriptscriptstyle \or
+ \fi}
+
+\def\triggerbigstyle
+ {\ifcase\normalmathstyle\relax
+ \displaystyle \or
+ \crampeddisplaystyle \or
+ \textstyle \or
+ \crampedtextstyle \or
+ \textstyle \or
+ \crampedtextstyle \or
+ \scriptstyle \or
+ \crampedscriptstyle \or
+ \fi}
+
+\def\triggeruncrampedbigstyle
+ {\ifcase\normalmathstyle\relax
+ \displaystyle \or
+ \displaystyle \or
+ \textstyle \or
+ \textstyle \or
+ \textstyle \or
+ \textstyle \or
+ \scriptstyle \or
+ \scriptstyle \or
+ \fi}
+
+\def\triggercrampedbigstyle
+ {\ifcase\normalmathstyle\relax
+ \crampeddisplaystyle \or
+ \crampeddisplaystyle \or
+ \crampedtextstyle \or
+ \crampedtextstyle \or
+ \crampedtextstyle \or
+ \crampedtextstyle \or
+ \crampedscriptstyle \or
+ \crampedscriptstyle \or
+ \fi}
+
+\installcorenamespace{mathstylecommand}
+\installcorenamespace{mathstylecache}
+
+\newconstant\c_math_styles_state_style
+\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
+ \ifcase\c_math_styles_state_cramped
+ \relax \or
+ \noexpand\triggeruncrampedstyle \or
+ \noexpand\triggercrampedstyle \fi
+ \or\ifcase\c_math_styles_state_cramped
+ \noexpand\triggerdisplaystyle \or
+ \displaystyle \or
+ \crampeddisplaystyle \fi
+ \or\ifcase\c_math_styles_state_cramped
+ \noexpand\triggertextstyle \or
+ \textstyle \or
+ \crampedtextstyle \fi
+ \or\ifcase\c_math_styles_state_cramped
+ \noexpand\triggerscriptstyle \or
+ \scriptstyle \or
+ \crampedscriptstyle \fi
+ \or\ifcase\c_math_styles_state_cramped
+ \noexpand\triggerscriptscriptstyle \or
+ \scriptscriptstyle \or
+ \crampedscriptscriptstyle \fi
+ \fi
+ \or % small
+ \ifcase\c_math_styles_state_style
+ \ifcase\c_math_styles_state_cramped
+ \noexpand\triggersmallstyle \or
+ \noexpand\triggeruncrampedsmallstyle \or
+ \noexpand\triggercrampedsmallstyle \fi
+ \or\ifcase\c_math_styles_state_cramped
+ \noexpand\triggerscriptstyle \or
+ \scriptstyle \or
+ \crampedscriptstyle \fi
+ \or\ifcase\c_math_styles_state_cramped
+ \noexpand\triggerscriptstyle \or
+ \scriptstyle \or
+ \crampedscriptstyle \fi
+ \or\ifcase\c_math_styles_state_cramped
+ \noexpand\triggerscriptscriptstyle \or
+ \scriptscriptstyle \or
+ \crampedscriptscriptstyle \fi
+ \or\ifcase\c_math_styles_state_cramped
+ \noexpand\triggerscriptscriptstyle \or
+ \scriptscriptstyle \or
+ \crampedscriptscriptstyle \fi
+ \fi
+ \or % large
+ \ifcase\c_math_styles_state_style
+ \ifcase\c_math_styles_state_cramped
+ \noexpand\triggerbigstyle \or
+ \noexpand\triggeruncrampedbigstyle \or
+ \noexpand\triggercrampedbigstyle \fi
+ \or\ifcase\c_math_styles_state_cramped
+ \noexpand\triggerdisplaystyle \or
+ \displaystyle \or
+ \crampeddisplaystyle \fi
+ \or\ifcase\c_math_styles_state_cramped
+ \noexpand\triggertextstyle \or
+ \textstyle \or
+ \crampedtextstyle \fi
+ \or\ifcase\c_math_styles_state_cramped
+ \noexpand\triggertextstyle \or
+ \textstyle \or
+ \crampedtextstyle \fi
+ \or\ifcase\c_math_styles_state_cramped
+ \noexpand\triggerscriptstyle \or
+ \scriptstyle \or
+ \crampedscriptstyle \fi
+ \fi
+ \fi
+}
+
+\unexpanded\def\math_style_set#1%
+ {\edef\m_math_style_asked{#1}%
+ \ifx\m_math_style_asked\empty \else
+ \math_style_set_indeed
+ \fi}
+
+\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}%
+ \fi}
+
+\def\math_style_collect#1%
+ {\csname\??mathstylecommand#1\endcsname}
+
+\setvalue{\??mathstylecommand\s!display }{\c_math_styles_state_style \plusone}
+\setvalue{\??mathstylecommand\s!text }{\c_math_styles_state_style \plustwo}
+\setvalue{\??mathstylecommand\s!script }{\c_math_styles_state_style \plusthree}
+\setvalue{\??mathstylecommand\s!scriptscript}{\c_math_styles_state_style \plusfour}
+
+\setvalue{\??mathstylecommand\s!uncramped }{\c_math_styles_state_cramped\plusone}
+\setvalue{\??mathstylecommand\s!cramped }{\c_math_styles_state_cramped\plustwo}
+\setvalue{\??mathstylecommand\v!normal }{\c_math_styles_state_cramped\plusone}
+\setvalue{\??mathstylecommand\v!packed }{\c_math_styles_state_cramped\plustwo}
+
+\setvalue{\??mathstylecommand\v!small }{\c_math_styles_state_size \plusone}
+\setvalue{\??mathstylecommand\v!big }{\c_math_styles_state_size \plustwo}
+
+\unexpanded\def\setupmathstyle[#1]%
+ {\edef\m_math_style_asked{#1}%
+ \ifx\m_math_style_asked\empty \else
+ \math_style_set_indeed
+ \fi}
+
+\unexpanded\def\usemathstyleparameter#1% faster local variant
+ {\edef\m_math_style_asked{#1\c!mathstyle}%
+ \ifx\m_math_style_asked\empty \else
+ \math_style_set_indeed
+ \fi}
+
+%D \startbuffer
+%D $x\begingroup\setupmathstyle[script]x\endgroup x$
+%D $x{\setupmathstyle[script]x}x$
+%D $x\startmathstyle[script]x\stopmathstyle x$
+%D \stopbuffer
+%D
+%D \typebuffer \getbuffer
+
+\unexpanded\def\startmathstyle[#1]%
+ {\edef\m_math_style_asked{#1}%
+ \ifx\m_math_style_asked\empty
+ \let\stopmathstyle\relax
+ \else
+ \bgroup
+ \math_style_set_indeed
+ \let\stopmathstyle\egroup
+ \fi}
+
+\let\stopmathstyle\relax
+
+\unexpanded\def\startusemathstyleparameter#1%
+ {\edef\m_math_style_asked{#1\c!mathstyle}%
+ \ifx\m_math_style_asked\empty
+ \let\stopusemathstyleparameter\relax
+ \else
+ \bgroup
+ \math_style_set_indeed
+ \let\stopusemathstyleparameter\egroup
+ \fi}
+
+\let\stopusemathstyleparameter\relax
+
%D Something similar can be used in the (re|)|definition of \type {\text}. This
%D version is a variation on the one in the math module (see \type{m-math} and|/|or
%D \type {m-newmat}).
diff --git a/tex/context/base/mult-de.mkii b/tex/context/base/mult-de.mkii
index 3bf540b9f..6e489a6e3 100644
--- a/tex/context/base/mult-de.mkii
+++ b/tex/context/base/mult-de.mkii
@@ -799,6 +799,7 @@
\setinterfaceconstant{marking}{beschriftung}
\setinterfaceconstant{marstyle}{beschrstil}
\setinterfaceconstant{mask}{mask}
+\setinterfaceconstant{mathstyle}{mathstyle}
\setinterfaceconstant{max}{max}
\setinterfaceconstant{maxdepth}{maxdepth}
\setinterfaceconstant{maxheight}{maxhoehe}
diff --git a/tex/context/base/mult-def.lua b/tex/context/base/mult-def.lua
index 3c7700414..27701863e 100644
--- a/tex/context/base/mult-def.lua
+++ b/tex/context/base/mult-def.lua
@@ -10363,6 +10363,9 @@ return {
["pe"]="بست",
["ro"]="strut",
},
+ ["mathstyle"]={
+ ["en"]="mathstyle",
+ },
["style"]={
["cs"]="pismeno",
["de"]="stil",
diff --git a/tex/context/base/mult-en.mkii b/tex/context/base/mult-en.mkii
index 80d86546e..f000fc308 100644
--- a/tex/context/base/mult-en.mkii
+++ b/tex/context/base/mult-en.mkii
@@ -799,6 +799,7 @@
\setinterfaceconstant{marking}{marking}
\setinterfaceconstant{marstyle}{marstyle}
\setinterfaceconstant{mask}{mask}
+\setinterfaceconstant{mathstyle}{mathstyle}
\setinterfaceconstant{max}{max}
\setinterfaceconstant{maxdepth}{maxdepth}
\setinterfaceconstant{maxheight}{maxheight}
diff --git a/tex/context/base/mult-fr.mkii b/tex/context/base/mult-fr.mkii
index e68763dfc..53e96c2eb 100644
--- a/tex/context/base/mult-fr.mkii
+++ b/tex/context/base/mult-fr.mkii
@@ -799,6 +799,7 @@
\setinterfaceconstant{marking}{marquage}
\setinterfaceconstant{marstyle}{stylemarquage}
\setinterfaceconstant{mask}{mask}
+\setinterfaceconstant{mathstyle}{mathstyle}
\setinterfaceconstant{max}{max}
\setinterfaceconstant{maxdepth}{maxdepth}
\setinterfaceconstant{maxheight}{hauteurmax}
diff --git a/tex/context/base/mult-it.mkii b/tex/context/base/mult-it.mkii
index e86a35b97..0cff5e809 100644
--- a/tex/context/base/mult-it.mkii
+++ b/tex/context/base/mult-it.mkii
@@ -799,6 +799,7 @@
\setinterfaceconstant{marking}{marcatura}
\setinterfaceconstant{marstyle}{stilemarcatura}
\setinterfaceconstant{mask}{mask}
+\setinterfaceconstant{mathstyle}{mathstyle}
\setinterfaceconstant{max}{max}
\setinterfaceconstant{maxdepth}{maxdepth}
\setinterfaceconstant{maxheight}{altezzamax}
diff --git a/tex/context/base/mult-low.lua b/tex/context/base/mult-low.lua
index edb6c7376..3af1f1a44 100644
--- a/tex/context/base/mult-low.lua
+++ b/tex/context/base/mult-low.lua
@@ -320,6 +320,11 @@ return {
"mathstylehbox", "mathstylevbox", "mathstylevcenter", "mathstylevcenteredhbox", "mathstylevcenteredvbox",
"mathtext", "setmathsmalltextbox", "setmathtextbox",
--
+ "triggerdisplaystyle", "triggertextstyle", "triggerscriptstyle", "triggerscriptscriptstyle",
+ "triggeruncrampedstyle", "triggercrampedstyle",
+ "triggersmallstyle", "triggeruncrampedsmallstyle", "triggercrampedsmallstyle",
+ "triggerbigstyle", "triggeruncrampedbigstyle", "triggercrampedbigstyle",
+ --
"luaexpr", "expdoifelse", "expdoif", "expdoifnot", "expdoifcommonelse", "expdoifinsetelse",
--
"ctxdirectlua", "ctxlatelua", "ctxsprint", "ctxwrite", "ctxcommand", "ctxdirectcommand", "ctxlatecommand", "ctxreport",
diff --git a/tex/context/base/mult-nl.mkii b/tex/context/base/mult-nl.mkii
index 3e4d6ede1..cb0e25052 100644
--- a/tex/context/base/mult-nl.mkii
+++ b/tex/context/base/mult-nl.mkii
@@ -799,6 +799,7 @@
\setinterfaceconstant{marking}{markering}
\setinterfaceconstant{marstyle}{marletter}
\setinterfaceconstant{mask}{masker}
+\setinterfaceconstant{mathstyle}{mathstyle}
\setinterfaceconstant{max}{max}
\setinterfaceconstant{maxdepth}{maxdepth}
\setinterfaceconstant{maxheight}{maxhoogte}
diff --git a/tex/context/base/mult-pe.mkii b/tex/context/base/mult-pe.mkii
index ecff40bd7..fdd2d5eda 100644
--- a/tex/context/base/mult-pe.mkii
+++ b/tex/context/base/mult-pe.mkii
@@ -799,6 +799,7 @@
\setinterfaceconstant{marking}{نشانه‌گذاری}
\setinterfaceconstant{marstyle}{سبک‌حاش}
\setinterfaceconstant{mask}{mask}
+\setinterfaceconstant{mathstyle}{mathstyle}
\setinterfaceconstant{max}{بیشترین}
\setinterfaceconstant{maxdepth}{maxdepth}
\setinterfaceconstant{maxheight}{بیشترین‌ارتفاع}
diff --git a/tex/context/base/mult-ro.mkii b/tex/context/base/mult-ro.mkii
index 6f4a1be86..17a870310 100644
--- a/tex/context/base/mult-ro.mkii
+++ b/tex/context/base/mult-ro.mkii
@@ -799,6 +799,7 @@
\setinterfaceconstant{marking}{marcaje}
\setinterfaceconstant{marstyle}{stilmarcaj}
\setinterfaceconstant{mask}{mask}
+\setinterfaceconstant{mathstyle}{mathstyle}
\setinterfaceconstant{max}{max}
\setinterfaceconstant{maxdepth}{maxdepth}
\setinterfaceconstant{maxheight}{inaltimemaxima}
diff --git a/tex/context/base/mult-sys.mkiv b/tex/context/base/mult-sys.mkiv
index f98076666..9e5ca5034 100644
--- a/tex/context/base/mult-sys.mkiv
+++ b/tex/context/base/mult-sys.mkiv
@@ -283,9 +283,12 @@
\definesystemconstant {document}
%definesystemconstant {fam}
+\definesystemconstant {display}
\definesystemconstant {text}
\definesystemconstant {script}
\definesystemconstant {scriptscript}
+\definesystemconstant {uncramped}
+\definesystemconstant {cramped}
\definesystemconstant {lefthyphenmin}
\definesystemconstant {righthyphenmin}
diff --git a/tex/context/base/spac-ali.mkiv b/tex/context/base/spac-ali.mkiv
index 9ebe7a761..84f941657 100644
--- a/tex/context/base/spac-ali.mkiv
+++ b/tex/context/base/spac-ali.mkiv
@@ -499,9 +499,8 @@
\let\raggedcommand \relax
\let\updateraggedskips\relax
-\def\spac_align_add_to_cache#1%
- {\edef\askedraggedalign{#1}%
- \let\raggedbox\relax % why
+\def\spac_align_add_to_cache
+ {\let\raggedbox\relax % why
% we inherit hyphenation and tolerance
\t_spac_align_collected \emptytoks
\c_spac_align_state_broad \zerocount
@@ -509,10 +508,10 @@
\c_spac_align_state_vertical \zerocount
\c_spac_align_state_direction \zerocount % what is default ?
\c_spac_align_state_page \zerocount
- \ifcsname\??aligncommand\askedraggedalign\endcsname
- \csname\??aligncommand\askedraggedalign\endcsname % not much gain in new method
+ \ifcsname\??aligncommand\m_spac_align_asked\endcsname
+ \csname\??aligncommand\m_spac_align_asked\endcsname % not much gain in new method
\else
- \rawprocesscommacommand[\askedraggedalign]\spac_align_collect
+ \rawprocesscommacommand[\m_spac_align_asked]\spac_align_collect
\fi
\normalexpanded{\t_spac_align_collected
{% \resetrealignsignal % can go as it is always set
@@ -525,8 +524,8 @@
}}% kept, nice for tracing
\edef\raggedcommand {\the\t_spac_align_collected }%
\edef\updateraggedskips{\spac_align_flush_horizontal}%
- \global\expandafter\let\csname\??alignmentnormalcache#1\endcsname\raggedcommand
- \global\expandafter\let\csname\??alignmentraggedcache#1\endcsname\updateraggedskips}
+ \global\expandafter\let\csname\??alignmentnormalcache\m_spac_align_asked\endcsname\raggedcommand
+ \global\expandafter\let\csname\??alignmentraggedcache\m_spac_align_asked\endcsname\updateraggedskips}
\def\spac_align_collect#1%
{\csname\??aligncommand#1\endcsname}
@@ -534,11 +533,12 @@
% The local (key driven) setter:
\unexpanded\def\spac_align_prepare#1% deferred
- {\expandafter\let\expandafter\raggedcommand\csname\??alignmentnormalcache#1\endcsname
+ {\edef\m_spac_align_asked{#1}%
+ \expandafter\let\expandafter\raggedcommand\csname\??alignmentnormalcache\m_spac_align_asked\endcsname
\ifx\raggedcommand\relax
- \spac_align_add_to_cache{#1}%
+ \spac_align_add_to_cache
\else
- \expandafter\let\expandafter\updateraggedskips\csname\??alignmentraggedcache#1\endcsname
+ \expandafter\let\expandafter\updateraggedskips\csname\??alignmentraggedcache\m_spac_align_asked\endcsname
\fi}
\let\dosetraggedcommand\spac_align_prepare % sort of public
@@ -549,26 +549,30 @@
{\dosingleempty\spac_align_setup}
\def\spac_align_setup[#1]% immediate
- {\expandafter\let\expandafter\raggedcommand\csname\??alignmentnormalcache#1\endcsname
+ {\edef\m_spac_align_asked{#1}%
+ \expandafter\let\expandafter\raggedcommand\csname\??alignmentnormalcache\m_spac_align_asked\endcsname
\ifx\raggedcommand\relax
- \spac_align_add_to_cache{#1}%
+ \spac_align_add_to_cache
\else
- \expandafter\let\expandafter\updateraggedskips\csname\??alignmentraggedcache#1\endcsname
+ \expandafter\let\expandafter\updateraggedskips\csname\??alignmentraggedcache\m_spac_align_asked\endcsname
\fi
\raggedcommand}
\unexpanded\def\usealignparameter#1% faster local variant
- {\edef\m_spac_align{#1\c!align}%
- \ifx\m_spac_align\empty\else
- \expandafter\let\expandafter\raggedcommand\csname\??alignmentnormalcache\m_spac_align\endcsname
- \ifx\raggedcommand\relax
- \spac_align_add_to_cache\m_spac_align
- \else
- \expandafter\let\expandafter\updateraggedskips\csname\??alignmentraggedcache\m_spac_align\endcsname
- \fi
- \raggedcommand
+ {\edef\m_spac_align_asked{#1\c!align}%
+ \ifx\m_spac_align_asked\empty\else
+ \spac_align_use_indeed
\fi}
+\def\spac_align_use_indeed
+ {\expandafter\let\expandafter\raggedcommand\csname\??alignmentnormalcache\m_spac_align_asked\endcsname
+ \ifx\raggedcommand\relax
+ \spac_align_add_to_cache
+ \else
+ \expandafter\let\expandafter\updateraggedskips\csname\??alignmentraggedcache\m_spac_align_asked\endcsname
+ \fi
+ \raggedcommand}
+
% The keywords:
\unexpanded\def\installalign#1#2% beware: commands must be unexpandable!
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 4a97358a2..28ccc3ba4 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index aad48ee2e..6125bcfed 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files differ
diff --git a/tex/context/interface/keys-cs.xml b/tex/context/interface/keys-cs.xml
index a4afdd708..d23b118bf 100644
--- a/tex/context/interface/keys-cs.xml
+++ b/tex/context/interface/keys-cs.xml
@@ -805,6 +805,7 @@
<cd:constant name='marking' value='znaceni'/>
<cd:constant name='marstyle' value='stylsnacky'/>
<cd:constant name='mask' value='mask'/>
+ <cd:constant name='mathstyle' value='mathstyle'/>
<cd:constant name='max' value='max'/>
<cd:constant name='maxdepth' value='maxdepth'/>
<cd:constant name='maxheight' value='maxvyska'/>
diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml
index db8b98c10..8212bbcee 100644
--- a/tex/context/interface/keys-de.xml
+++ b/tex/context/interface/keys-de.xml
@@ -805,6 +805,7 @@
<cd:constant name='marking' value='beschriftung'/>
<cd:constant name='marstyle' value='beschrstil'/>
<cd:constant name='mask' value='mask'/>
+ <cd:constant name='mathstyle' value='mathstyle'/>
<cd:constant name='max' value='max'/>
<cd:constant name='maxdepth' value='maxdepth'/>
<cd:constant name='maxheight' value='maxhoehe'/>
diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml
index ea8596926..a45d0fa74 100644
--- a/tex/context/interface/keys-en.xml
+++ b/tex/context/interface/keys-en.xml
@@ -805,6 +805,7 @@
<cd:constant name='marking' value='marking'/>
<cd:constant name='marstyle' value='marstyle'/>
<cd:constant name='mask' value='mask'/>
+ <cd:constant name='mathstyle' value='mathstyle'/>
<cd:constant name='max' value='max'/>
<cd:constant name='maxdepth' value='maxdepth'/>
<cd:constant name='maxheight' value='maxheight'/>
diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml
index 13a6924bd..3736c85db 100644
--- a/tex/context/interface/keys-fr.xml
+++ b/tex/context/interface/keys-fr.xml
@@ -805,6 +805,7 @@
<cd:constant name='marking' value='marquage'/>
<cd:constant name='marstyle' value='stylemarquage'/>
<cd:constant name='mask' value='mask'/>
+ <cd:constant name='mathstyle' value='mathstyle'/>
<cd:constant name='max' value='max'/>
<cd:constant name='maxdepth' value='maxdepth'/>
<cd:constant name='maxheight' value='hauteurmax'/>
diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index 63fb0d4f3..a007be298 100644
--- a/tex/context/interface/keys-it.xml
+++ b/tex/context/interface/keys-it.xml
@@ -805,6 +805,7 @@
<cd:constant name='marking' value='marcatura'/>
<cd:constant name='marstyle' value='stilemarcatura'/>
<cd:constant name='mask' value='mask'/>
+ <cd:constant name='mathstyle' value='mathstyle'/>
<cd:constant name='max' value='max'/>
<cd:constant name='maxdepth' value='maxdepth'/>
<cd:constant name='maxheight' value='altezzamax'/>
diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml
index aee1820ca..cfa2d94bf 100644
--- a/tex/context/interface/keys-nl.xml
+++ b/tex/context/interface/keys-nl.xml
@@ -805,6 +805,7 @@
<cd:constant name='marking' value='markering'/>
<cd:constant name='marstyle' value='marletter'/>
<cd:constant name='mask' value='masker'/>
+ <cd:constant name='mathstyle' value='mathstyle'/>
<cd:constant name='max' value='max'/>
<cd:constant name='maxdepth' value='maxdepth'/>
<cd:constant name='maxheight' value='maxhoogte'/>
diff --git a/tex/context/interface/keys-pe.xml b/tex/context/interface/keys-pe.xml
index 0e39a6ae7..5c3420a21 100644
--- a/tex/context/interface/keys-pe.xml
+++ b/tex/context/interface/keys-pe.xml
@@ -805,6 +805,7 @@
<cd:constant name='marking' value='نشانه‌گذاری'/>
<cd:constant name='marstyle' value='سبک‌حاش'/>
<cd:constant name='mask' value='mask'/>
+ <cd:constant name='mathstyle' value='mathstyle'/>
<cd:constant name='max' value='بیشترین'/>
<cd:constant name='maxdepth' value='maxdepth'/>
<cd:constant name='maxheight' value='بیشترین‌ارتفاع'/>
diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index e9ff43962..b4f8f6276 100644
--- a/tex/context/interface/keys-ro.xml
+++ b/tex/context/interface/keys-ro.xml
@@ -805,6 +805,7 @@
<cd:constant name='marking' value='marcaje'/>
<cd:constant name='marstyle' value='stilmarcaj'/>
<cd:constant name='mask' value='mask'/>
+ <cd:constant name='mathstyle' value='mathstyle'/>
<cd:constant name='max' value='max'/>
<cd:constant name='maxdepth' value='maxdepth'/>
<cd:constant name='maxheight' value='inaltimemaxima'/>
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index c4859243f..5fd322a73 100644
--- a/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : luatex-fonts-merged.lua
-- parent file : luatex-fonts.lua
--- merge date : 02/19/13 19:38:41
+-- merge date : 02/20/13 14:35:17
do -- begin closure to overcome local limits and interference