summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--context/perltk/texexec.pl14
-rw-r--r--tex/context/base/colo-ini.tex200
-rw-r--r--tex/context/base/colo-pra.tex64
-rw-r--r--tex/context/base/colo-run.tex203
-rw-r--r--tex/context/base/cont-old.tex3
-rw-r--r--tex/context/base/cont-sys.ori92
-rw-r--r--tex/context/base/context.tex7
-rw-r--r--tex/context/base/core-reg.tex81
-rw-r--r--tex/context/base/core-spa.tex1870
-rw-r--r--tex/context/base/enco-def.tex35
-rw-r--r--tex/context/base/enco-ini.tex9
-rw-r--r--tex/context/base/enco-run.tex32
-rw-r--r--tex/context/base/font-aer.tex69
-rw-r--r--tex/context/base/font-ams.tex506
-rw-r--r--tex/context/base/font-ant.tex28
-rw-r--r--tex/context/base/font-arb.tex2
-rw-r--r--tex/context/base/font-ber.tex92
-rw-r--r--tex/context/base/font-chi.tex2
-rw-r--r--tex/context/base/font-cmr.tex613
-rw-r--r--tex/context/base/font-con.tex65
-rw-r--r--tex/context/base/font-csr.tex111
-rw-r--r--tex/context/base/font-eul.tex177
-rw-r--r--tex/context/base/font-fil.tex121
-rw-r--r--tex/context/base/font-heb.tex2
-rw-r--r--tex/context/base/font-ini.tex2343
-rw-r--r--tex/context/base/font-lbr.tex302
-rw-r--r--tex/context/base/font-map.tex2
-rw-r--r--tex/context/base/font-pcr.tex32
-rw-r--r--tex/context/base/font-phv.tex26
-rw-r--r--tex/context/base/font-plr.tex130
-rw-r--r--tex/context/base/font-pos.tex21
-rw-r--r--tex/context/base/font-ppl.tex26
-rw-r--r--tex/context/base/font-ptm.tex26
-rw-r--r--tex/context/base/font-run.tex221
-rw-r--r--tex/context/base/font-unk.tex169
-rw-r--r--tex/context/base/font-vnr.tex4
-rw-r--r--tex/context/base/lang-ini.tex6
-rw-r--r--tex/context/base/main-001.tex1863
-rw-r--r--tex/context/base/math-ams.tex317
-rw-r--r--tex/context/base/math-eul.tex127
-rw-r--r--tex/context/base/math-ini.tex351
-rw-r--r--tex/context/base/math-lbr.tex167
-rw-r--r--tex/context/base/math-tex.tex495
-rw-r--r--tex/context/base/math-tim.tex371
-rw-r--r--tex/context/base/mult-sys.tex7
-rw-r--r--tex/context/base/s-mod-00.tex408
-rw-r--r--tex/context/base/s-mod-01.tex144
-rw-r--r--tex/context/base/s-mod-02.tex409
-rw-r--r--tex/context/base/s-pre-00.tex31
-rw-r--r--tex/context/base/setupa.tex771
-rw-r--r--tex/context/base/setupb.tex8635
-rw-r--r--tex/context/base/setupd.tex182
-rw-r--r--tex/context/base/supp-box.tex12
-rw-r--r--tex/context/base/supp-fil.tex8
-rw-r--r--tex/context/base/syst-con.tex21
-rw-r--r--tex/context/base/syst-gen.tex2
-rw-r--r--tex/context/base/syst-new.tex7
-rw-r--r--tex/context/base/thrd-ran.tex13
-rw-r--r--tex/context/base/type-enc.tex528
-rw-r--r--tex/context/base/type-exa.tex69
-rw-r--r--tex/context/base/type-ini.tex253
-rw-r--r--tex/context/base/type-map.tex26
-rw-r--r--tex/context/base/type-pre.tex210
-rw-r--r--tex/context/base/type-run.tex53
-rw-r--r--tex/context/base/type-siz.tex554
-rw-r--r--tex/context/base/type-spe.tex38
-rw-r--r--tex/context/base/type-syn.tex274
-rw-r--r--tex/context/base/verb-ini.tex12
-rw-r--r--tex/context/base/x-fig-00.tex2
-rw-r--r--tex/context/base/xtag-ini.tex16
-rw-r--r--tex/context/base/xtag-run.tex (renamed from tex/context/base/xtag-vis.tex)0
-rw-r--r--tex/context/extra/setup-qr.tex178
-rw-r--r--tex/context/sample/douglas.tex23
-rw-r--r--tex/context/sample/knuth.tex16
-rw-r--r--tex/context/sample/materie.tex50
-rw-r--r--tex/context/sample/reich.tex11
-rw-r--r--tex/context/sample/tufte.tex13
-rw-r--r--tex/context/sample/zapf.tex11
-rw-r--r--tex/context/user/cont-sys.rme (renamed from tex/context/base/cont-sys.rme)37
79 files changed, 18686 insertions, 5735 deletions
diff --git a/context/perltk/texexec.pl b/context/perltk/texexec.pl
index c5f11859e..56cbd258c 100644
--- a/context/perltk/texexec.pl
+++ b/context/perltk/texexec.pl
@@ -1303,16 +1303,12 @@ sub RunModule
"--documents $FileName.pl $FileName.pm $FileName.mp $FileName.tex" ) ;
print " module : $FileName\n\n" ;
open (MOD, ">$ModuleFile.tex") ;
- print MOD "% format=dutch \n" ;
- print MOD "\\starttekst \n" ;
- print MOD "\\input modu-abr \n" ;
- print MOD "\\input modu-arg \n" ;
- print MOD "\\input modu-env \n" ;
- print MOD "\\input modu-mod \n" ;
- print MOD "\\input modu-pap \n" ;
+ print MOD "% format=dutch\n" ;
+ print MOD "\\gebruikmodule[abr-01,mod-01]\n" ;
print MOD "\\def\\ModuleNumber{1}\n" ;
- print MOD "\\input $FileName.ted \n" ;
- print MOD "\\stoptekst \n" ;
+ print MOD "\\starttekst\n" ;
+ print MOD "\\input $FileName.ted\n" ;
+ print MOD "\\stoptekst\n" ;
close (MOD) ;
$ConTeXtInterface = "nl" ;
RunConTeXtFile($ModuleFile, "tex") ;
diff --git a/tex/context/base/colo-ini.tex b/tex/context/base/colo-ini.tex
index 4bbf139af..41233ed90 100644
--- a/tex/context/base/colo-ini.tex
+++ b/tex/context/base/colo-ini.tex
@@ -1169,72 +1169,7 @@
%D
%D \showsetup{\y!showpalet}
-\def\showpalet%
- {\dodoubleargument\doshowpalet}
-
-\def\doshowpalet[#1][#2]%
- {\doifdefined{\??pa#1}
- {\doifinsetelse{\v!vertikaal}{#2}
- {\showverticalpalet[#1][#2]}
- {\showhorizontalpalet[#1][#2]}}}
-
-\def\showverticalpalet[#1][#2]%
- {\localvbox
- {\offinterlineskip
- \setuppalet[#1]
- \def\rule%
- {\vrule\!!width3em\!!height\ht\strutbox\!!depth\dp\strutbox}
- \tabskip\!!zeropoint
- \def\doshowpalet##1%
- {\doifinsetelse{\v!nummer}{#2}{##1\hskip.5em}{}&
- \color[##1]{\rule}\graycolor[##1]{\rule}&
- \doifinset{\v!waarde}{#2}{\hskip.5em\colorvalue{##1}}\crcr}
- \halign
- {\hss##&\hss##\hss&##\cr
- &\doifinset{\v!naam}{#2}{\strut#1}&\cr%
- \processpalet[#1]\doshowpalet\crcr}}}
-
-\def\showhorizontalpalet[#1][#2]%
- {\localvbox
- {\offinterlineskip
- \setuppalet[#1]
- \tabskip\!!zeropoint
- \!!widtha=\!!zeropoint
- \doifinset{\v!nummer}{#2}
- {\def\doshowpalet##1%
- {\setbox0=\hbox{##1}%
- \ifdim\!!widtha<\wd0\!!widtha=\wd0\fi}%
- \processpalet[#1]\doshowpalet}%
- \advance\!!widtha by 1em
- \ifdim\!!widtha<5em
- \!!widtha=5em
- \fi
- \halign
- {##&&\hbox to \!!widtha{\hss##\hss}\cr
- \doifinset{\v!nummer}{#2}
- {\def\doshowpalet##1{&\strut##1}%
- \processpalet[#1]\doshowpalet}\cr
- \doifinset{\v!naam}{#2}{#1\hskip.5em}%
- \def\doshowpalet##1%
- {&\color[##1]{\vrule\!!width\!!widtha\!!height\ht\strutbox\!!depth\!!zeropoint}}%
- \processpalet[#1]\doshowpalet\crcr
- \def\doshowpalet##1%
- {&\graycolor[##1]{\vrule\!!width\!!widtha\!!height\!!zeropoint\!!depth\dp\strutbox}}%
- \processpalet[#1]\doshowpalet\crcr
- \doifinset{\v!waarde}{#2}
- {\def\doshowpalet##1%
- {&\vbox
- {\hsize\!!widtha
- \vskip.25ex
- \everypar{\strut}
- \veryraggedcenter
- \let\colorformatseparator=\endgraf
- \colorvalue{##1}}}%
- \processpalet[#1]\doshowpalet}%
- \crcr}}}
-
-\def\processpalet[#1]%
- {\expanded{\globalprocesscommalist[\getvalue{\??pa#1}]}}
+\fetchruntimecommand \showpalet {\f!coloprefix\s!run}
%D \macros
%D {definecolorgroup}
@@ -1311,60 +1246,7 @@
%D
%D \showsetup{\y!showcolorgroup}
-\def\showcolorgroup%
- {\dodoubleargument\doshowcolorgroup}
-
-\def\doshowcolorgroup[#1][#2]%
- {\doifdefined{\??cr#1:1}
- {\doifinsetelse{\v!vertikaal}{#2}
- {\showverticalcolorgroup[#1][#2]}
- {\showhorizontalcolorgroup[#1][#2]}}}
-
-\def\showhorizontalcolorgroup[#1][#2]%
- {\localvbox
- {\offinterlineskip
- \setuppalet
- \tabskip\!!zeropoint
- \def\rule%
- {\vrule\!!width4em\!!height\ht\strutbox\!!depth\dp\strutbox}
- \def\colorformatseparator{\strut\cr}
- \def\dodoshowgroup##1%
- {\halign
- {\hss####\hss\cr
- \doifinset{\v!nummer}{#2}{\strut##1}\cr
- \color[#1:##1]{\vrule\!!width4em\!!height\ht\strutbox\!!depth\!!zeropoint}\cr
- \graycolor[#1:##1]{\vrule\!!width4em\!!height\!!zeropoint\!!depth\dp\strutbox}\cr
- \doifinset{\v!waarde}{#2}{\colorvalue{#1:##1}\strut}\crcr}}
- \def\doshowgroup##1%
- {\doifdefined{\??cr#1:##1}
- {\vbox{\dodoshowgroup{##1}}}}
- \hbox
- {\doifinset{\v!naam}{#2}
- {\strut
- \doifinsetelse{\v!waarde}{#2}
- {\raise3\lineheight\hbox{#1\hskip.5em}}
- {#1}%
- \hskip.5em}%
- \doshowgroup1\doshowgroup2\doshowgroup3\doshowgroup4%
- \doshowgroup5\doshowgroup6\doshowgroup7\doshowgroup8}}}
-
-\def\showverticalcolorgroup[#1][#2]%
- {\localvbox
- {\offinterlineskip
- \setuppalet
- \tabskip\!!zeropoint
- \def\rule%
- {\vrule\!!width2.5em\!!height\ht\strutbox\!!depth\dp\strutbox}
- \def\doshowgroup##1%
- {\doifdefined{\??cr#1:##1}
- {\doifinset{\v!nummer}{#2}{##1\hskip.5em}&
- \color[#1:##1]{\rule}\graycolor[#1:##1]{\rule}&
- \doifinset{\v!waarde}{#2}{\hskip.5em\colorvalue{#1:##1}}\crcr}}
- \halign
- {\hss##&\hss##\hss&##\hss\cr
- &\doifinset{\v!naam}{#2}{\strut#1}&\crcr
- \doshowgroup1\doshowgroup2\doshowgroup3\doshowgroup4%
- \doshowgroup5\doshowgroup6\doshowgroup7\doshowgroup8}}}
+\fetchruntimecommand \showcolorgroup {\f!coloprefix\s!run}
%D There are ten predefined color groups, like
%D \color[groen]{\em groen}, \color[rood]{\em rood},
@@ -1423,37 +1305,7 @@
%D
%D \showsetup{\y!comparepalet}
-\def\comparepalet%
- {\dosingleargument\docomparepalet}
-
-\def\docomparepalet[#1]%
- {\doifdefined{\??pa#1}
- {\hbox
- {\dodocomparepalet\color[#1]%
- \quad
- \dodocomparepalet\graycolor[#1]}}}
-
-\def\dodocomparepalet#1[#2]%
- {\localvbox
- {\offinterlineskip
- \setuppalet[#2]
- \getcommacommandsize[\getvalue{\??pa#2}]
- \!!widtha=2em\relax
- \hsize=\commalistsize\!!widtha
- \def\rule%
- {\vrule\!!width.5\!!widtha\!!height2.25ex\!!depth-.75ex}
- \def\dododocomparepalet##1%
- {\hbox
- {\setbox0=\hbox
- {#1[##1]{\vrule\!!width\hsize\!!height3ex}}%
- \wd0=\!!zeropoint\box0
- \hbox to \hsize
- {\def\dododocomparepalet####1%
- {\hbox to \!!widtha
- {\hss#1[####1]{\rule}\hss}}%
- \processcommacommand[\getvalue{\??pa#2}]\dododocomparepalet}}
- \endgraf}
- \processcommacommand[\getvalue{\??pa#2}]\dododocomparepalet}}
+\fetchruntimecommand \comparepalet {\f!coloprefix\s!run}
%D \macros
%D {comparecolorgroup}
@@ -1476,34 +1328,7 @@
%D
%D \showsetup{\y!comparecolorgroup}
-\def\comparecolorgroup%
- {\dosingleargument\docomparecolorgroup}
-
-\def\docomparecolorgroup[#1]%
- {\doifdefined{\??cr#1:1}
- {\hbox
- {\dodocomparecolorgroup\color[#1]%
- \quad
- \dodocomparecolorgroup\graycolor[#1]}}}
-
-\def\dodocomparecolorgroup#1[#2]%
- {\localvbox
- {\!!counta=0
- \dorecurse{15}
- {\doifdefined{\??cr#2:\recurselevel}{\advance\!!counta by 1}}
- \!!widtha=2em\relax
- \hsize=\!!counta\!!widtha
- \def\rule%
- {\vrule\!!width.5\!!widtha\!!height2.25ex\!!depth-.75ex}
- \def\dododocomparecolorgroup##1%
- {\hbox to \hsize
- {\setbox0=\hbox
- {#1[#2:##1]{\vrule\!!width\hsize\!!height3ex}}%
- \wd0=\!!zeropoint\box0
- \hbox to \hsize
- {\hss\dorecurse{\!!counta}{#1[#2:\recurselevel]{\rule}\hss}}}
- \endgraf}
- \dorecurse{\!!counta}{\dododocomparecolorgroup\recurselevel}}}
+\fetchruntimecommand \comparecolorgroup {\f!coloprefix\s!run}
%D \macros
%D {showcolor}
@@ -1519,22 +1344,7 @@
%D
%D \showsetup{\y!showcolor}
-\def\showcolor[#1]%
- {\bgroup
- \setupcolor[#1]
- \stelwitruimtein[\v!geen]
- \def\rule%
- {\vrule\!!width4em\!!height\ht\strutbox\!!depth\dp\strutbox}
- \def\docommand##1%
- {\hbox
- {\graycolor[##1]{\rule}\quad
- \color[##1]{\rule}\quad
- \grayvalue{##1}\quad
- \hbox to 12em{\colorvalue{##1}\hss}%
- \strut##1}
- \endgraf}
- \processcommacommand[\colorlist]\docommand
- \egroup}
+\fetchruntimecommand \showcolor {\f!coloprefix\s!run}
%D \macros
%D {negativecolorbox}
diff --git a/tex/context/base/colo-pra.tex b/tex/context/base/colo-pra.tex
new file mode 100644
index 000000000..a915762cb
--- /dev/null
+++ b/tex/context/base/colo-pra.tex
@@ -0,0 +1,64 @@
+%D \module
+%D [ file=colo-pra,
+%D version=1997.1.3,
+%D title=\CONTEXT\ Color Macros,
+%D subtitle=PRAGMA,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D This module is not meant for third party use and defines
+%D some \PRAGMA\ specific colors.
+
+% huisstijl
+
+\definecolor [pragmaburcolor] [r=1,g=0.62,b=0.06] % (Pantone 138 CV)
+\definecolor [pragmaburkleur] [pragmaburcolor]
+
+\definecolor [pragmaadecolor] [r=1,g=0.62,b=0.06] % (Pantone 138 CV)
+\definecolor [pragmaadekleur] [pragmaadecolor]
+
+\definecolor [pragmapodcolor] [r=.6,g=.7,b=.8] % (rather mathematic)
+\definecolor [pragmapodkleur] [pragmapodcolor]
+
+\definecolor [pragmacolor] [pragmaburcolor]
+\definecolor [pragmakleur] [pragmaburcolor]
+
+\definecolor [texprettyone] [r=.8, g=0, b=0] % red
+\definecolor [texprettytwo] [r=0, g=.6, b=0] % green
+\definecolor [texprettythree] [r=.0, g=.0, b=.9] % blue
+\definecolor [texprettyfour] [r=.8, g=.8, b=.6] % yellow
+
+\definecolor [BackgroundColor] [r=1, g=1, b=.7]
+\definecolor [InteractionColor] [r=.1, g=.5, b=.8]
+
+\definecolor [AchtergrondKleur] [BackgroundColor]
+\definecolor [InteractieKleur] [InteractionColor]
+
+\definecolor [DemoRed] [r=1, g=.6, b=.6]
+\definecolor [DemoRood] [DemoRed]
+
+\definecolor [DemoBlue] [r=.6, g=.8, b=1]
+\definecolor [DemoBlauw] [DemoBlue]
+
+\definecolor [DemoYellow] [BackgroundColor]
+\definecolor [DemoGeel] [BackgroundColor]
+
+% demonstratiekleuren
+
+\definecolor [cyaan:x] [r=.3, g=.85, b=1]
+\definecolor [cyaan:y] [r=.4, g=.8, b=1]
+\definecolor [cyaan:z] [r=.5, g=.75, b=1]
+
+% schermkleuren
+
+\definecolor [schermgroen] [r=0, g=.8, b=0]
+\definecolor [schermrood] [r=.8, g=0, b=0]
+\definecolor [schermcyaan] [r=0, g=.8, b=.8]
+\definecolor [schermgeel] [r=.9, g=.9, b=0]
+
+\endinput
diff --git a/tex/context/base/colo-run.tex b/tex/context/base/colo-run.tex
new file mode 100644
index 000000000..0b6c6da68
--- /dev/null
+++ b/tex/context/base/colo-run.tex
@@ -0,0 +1,203 @@
+\unprotect
+
+\gdef\showpalet%
+ {\dodoubleargument\doshowpalet}
+
+\gdef\doshowpalet[#1][#2]%
+ {\doifdefined{\??pa#1}
+ {\doifinsetelse{\v!vertikaal}{#2}
+ {\showverticalpalet[#1][#2]}
+ {\showhorizontalpalet[#1][#2]}}}
+
+\gdef\showverticalpalet[#1][#2]%
+ {\localvbox
+ {\offinterlineskip
+ \setuppalet[#1]
+ \def\rule%
+ {\vrule\!!width3em\!!height\ht\strutbox\!!depth\dp\strutbox}
+ \tabskip\!!zeropoint
+ \def\doshowpalet##1%
+ {\doifinsetelse{\v!nummer}{#2}{##1\hskip.5em}{}&
+ \color[##1]{\rule}\graycolor[##1]{\rule}&
+ \doifinset{\v!waarde}{#2}{\hskip.5em\colorvalue{##1}}\crcr}
+ \halign
+ {\hss##&\hss##\hss&##\cr
+ &\doifinset{\v!naam}{#2}{\strut#1}&\cr%
+ \processpalet[#1]\doshowpalet\crcr}}}
+
+\gdef\showhorizontalpalet[#1][#2]%
+ {\localvbox
+ {\offinterlineskip
+ \setuppalet[#1]
+ \tabskip\!!zeropoint
+ \!!widtha=\!!zeropoint
+ \doifinset{\v!nummer}{#2}
+ {\def\doshowpalet##1%
+ {\setbox0=\hbox{##1}%
+ \ifdim\!!widtha<\wd0\!!widtha=\wd0\fi}%
+ \processpalet[#1]\doshowpalet}%
+ \advance\!!widtha by 1em
+ \ifdim\!!widtha<5em
+ \!!widtha=5em
+ \fi
+ \halign
+ {##&&\hbox to \!!widtha{\hss##\hss}\cr
+ \doifinset{\v!nummer}{#2}
+ {\def\doshowpalet##1{&\strut##1}%
+ \processpalet[#1]\doshowpalet}\cr
+ \doifinset{\v!naam}{#2}{#1\hskip.5em}%
+ \def\doshowpalet##1%
+ {&\color[##1]{\vrule\!!width\!!widtha\!!height\ht\strutbox\!!depth\!!zeropoint}}%
+ \processpalet[#1]\doshowpalet\crcr
+ \def\doshowpalet##1%
+ {&\graycolor[##1]{\vrule\!!width\!!widtha\!!height\!!zeropoint\!!depth\dp\strutbox}}%
+ \processpalet[#1]\doshowpalet\crcr
+ \doifinset{\v!waarde}{#2}
+ {\def\doshowpalet##1%
+ {&\vbox
+ {\hsize\!!widtha
+ \vskip.25ex
+ \everypar{\strut}
+ \veryraggedcenter
+ \let\colorformatseparator=\endgraf
+ \colorvalue{##1}}}%
+ \processpalet[#1]\doshowpalet}%
+ \crcr}}}
+
+\gdef\processpalet[#1]%
+ {\expanded{\globalprocesscommalist[\getvalue{\??pa#1}]}}
+
+\gdef\showcolorgroup%
+ {\dodoubleargument\doshowcolorgroup}
+
+\gdef\doshowcolorgroup[#1][#2]%
+ {\doifdefined{\??cr#1:1}
+ {\doifinsetelse{\v!vertikaal}{#2}
+ {\showverticalcolorgroup[#1][#2]}
+ {\showhorizontalcolorgroup[#1][#2]}}}
+
+\gdef\showhorizontalcolorgroup[#1][#2]%
+ {\localvbox
+ {\offinterlineskip
+ \setuppalet
+ \tabskip\!!zeropoint
+ \def\rule%
+ {\vrule\!!width4em\!!height\ht\strutbox\!!depth\dp\strutbox}
+ \def\colorformatseparator{\strut\cr}
+ \def\dodoshowgroup##1%
+ {\halign
+ {\hss####\hss\cr
+ \doifinset{\v!nummer}{#2}{\strut##1}\cr
+ \color[#1:##1]{\vrule\!!width4em\!!height\ht\strutbox\!!depth\!!zeropoint}\cr
+ \graycolor[#1:##1]{\vrule\!!width4em\!!height\!!zeropoint\!!depth\dp\strutbox}\cr
+ \doifinset{\v!waarde}{#2}{\colorvalue{#1:##1}\strut}\crcr}}
+ \def\doshowgroup##1%
+ {\doifdefined{\??cr#1:##1}
+ {\vbox{\dodoshowgroup{##1}}}}
+ \hbox
+ {\doifinset{\v!naam}{#2}
+ {\strut
+ \doifinsetelse{\v!waarde}{#2}
+ {\raise3\lineheight\hbox{#1\hskip.5em}}
+ {#1}%
+ \hskip.5em}%
+ \doshowgroup1\doshowgroup2\doshowgroup3\doshowgroup4%
+ \doshowgroup5\doshowgroup6\doshowgroup7\doshowgroup8}}}
+
+\gdef\showverticalcolorgroup[#1][#2]%
+ {\localvbox
+ {\offinterlineskip
+ \setuppalet
+ \tabskip\!!zeropoint
+ \def\rule%
+ {\vrule\!!width2.5em\!!height\ht\strutbox\!!depth\dp\strutbox}
+ \def\doshowgroup##1%
+ {\doifdefined{\??cr#1:##1}
+ {\doifinset{\v!nummer}{#2}{##1\hskip.5em}&
+ \color[#1:##1]{\rule}\graycolor[#1:##1]{\rule}&
+ \doifinset{\v!waarde}{#2}{\hskip.5em\colorvalue{#1:##1}}\crcr}}
+ \halign
+ {\hss##&\hss##\hss&##\hss\cr
+ &\doifinset{\v!naam}{#2}{\strut#1}&\crcr
+ \doshowgroup1\doshowgroup2\doshowgroup3\doshowgroup4%
+ \doshowgroup5\doshowgroup6\doshowgroup7\doshowgroup8}}}
+
+\gdef\showcolor[#1]%
+ {\bgroup
+ \setupcolor[#1]
+ \stelwitruimtein[\v!geen]
+ \def\rule%
+ {\vrule\!!width4em\!!height\ht\strutbox\!!depth\dp\strutbox}
+ \def\docommand##1%
+ {\hbox
+ {\graycolor[##1]{\rule}\quad
+ \color[##1]{\rule}\quad
+ \grayvalue{##1}\quad
+ \hbox to 12em{\colorvalue{##1}\hss}%
+ \strut##1}
+ \endgraf}
+ \processcommacommand[\colorlist]\docommand
+ \egroup}
+
+\gdef\comparepalet%
+ {\dosingleargument\docomparepalet}
+
+\gdef\docomparepalet[#1]%
+ {\doifdefined{\??pa#1}
+ {\hbox
+ {\dodocomparepalet\color[#1]%
+ \quad
+ \dodocomparepalet\graycolor[#1]}}}
+
+\gdef\dodocomparepalet#1[#2]%
+ {\localvbox
+ {\offinterlineskip
+ \setuppalet[#2]
+ \getcommacommandsize[\getvalue{\??pa#2}]
+ \!!widtha=2em\relax
+ \hsize=\commalistsize\!!widtha
+ \def\rule%
+ {\vrule\!!width.5\!!widtha\!!height2.25ex\!!depth-.75ex}
+ \def\dododocomparepalet##1%
+ {\hbox
+ {\setbox0=\hbox
+ {#1[##1]{\vrule\!!width\hsize\!!height3ex}}%
+ \wd0=\!!zeropoint\box0
+ \hbox to \hsize
+ {\def\dododocomparepalet####1%
+ {\hbox to \!!widtha
+ {\hss#1[####1]{\rule}\hss}}%
+ \processcommacommand[\getvalue{\??pa#2}]\dododocomparepalet}}
+ \endgraf}
+ \processcommacommand[\getvalue{\??pa#2}]\dododocomparepalet}}
+
+\gdef\comparecolorgroup%
+ {\dosingleargument\docomparecolorgroup}
+
+\gdef\docomparecolorgroup[#1]%
+ {\doifdefined{\??cr#1:1}
+ {\hbox
+ {\dodocomparecolorgroup\color[#1]%
+ \quad
+ \dodocomparecolorgroup\graycolor[#1]}}}
+
+\gdef\dodocomparecolorgroup#1[#2]%
+ {\localvbox
+ {\!!counta=0
+ \dorecurse{15}
+ {\doifdefined{\??cr#2:\recurselevel}{\advance\!!counta by 1}}
+ \!!widtha=2em\relax
+ \hsize=\!!counta\!!widtha
+ \def\rule%
+ {\vrule\!!width.5\!!widtha\!!height2.25ex\!!depth-.75ex}
+ \def\dododocomparecolorgroup##1%
+ {\hbox to \hsize
+ {\setbox0=\hbox
+ {#1[#2:##1]{\vrule\!!width\hsize\!!height3ex}}%
+ \wd0=\!!zeropoint\box0
+ \hbox to \hsize
+ {\hss\dorecurse{\!!counta}{#1[#2:\recurselevel]{\rule}\hss}}}
+ \endgraf}
+ \dorecurse{\!!counta}{\dododocomparecolorgroup\recurselevel}}}
+
+\protect \endinput
diff --git a/tex/context/base/cont-old.tex b/tex/context/base/cont-old.tex
index 5451de8b0..6fb82c4dd 100644
--- a/tex/context/base/cont-old.tex
+++ b/tex/context/base/cont-old.tex
@@ -82,6 +82,9 @@
%substitutecommand \showcorpsenvironment \showbodyfontenvironment
%def \corpssize {\bodyfontsize}
+
+\substitutecommand \showencoding {\showaccents\showcharacters}
+
\protect
\endinput
diff --git a/tex/context/base/cont-sys.ori b/tex/context/base/cont-sys.ori
new file mode 100644
index 000000000..cbeee6a1e
--- /dev/null
+++ b/tex/context/base/cont-sys.ori
@@ -0,0 +1,92 @@
+%D \module
+%D [ file=cont-sys,
+%D version=1995.10.10,
+%D title=\CONTEXT\ Miscellaneous Macros,
+%D subtitle=System Specific Setups,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\unprotect
+
+% Here you can take care of overloading some (style)
+% defaults. What goes here, depends on your local system.
+%
+% Set default file name mapping:
+%
+% \usetypescript [ber]
+%
+% Overload Lucida by Adobe-15:
+%
+% \definetypescriptsynonym [lbr] [pos]
+%
+% Compensate for missing files:
+%
+% \definefontsynonym [Courier-Bold] [Courier]
+% \definefontsynonym [Courier-BoldOblique] [Courier]
+%
+% \definefontsynonym [gbhei] [gbsong]
+% \definefontsynonym [gbheisl] [gbsong]
+% \definefontsynonym [gbheisl] [gbsong]
+%
+% Setting up a global figure path (beware, \c!gebied may change):
+%
+% \setupexternalfigures
+% [\c!gebied={e:/fig/eps,t:/pragma/metapost/symbols}]
+%
+% Loading a specific special driver:
+%
+% \setupoutput
+% [dviwindo]
+%
+% Enabling \CONTEXT\ navigation symbols as well as \euro's.
+
+\usesymbols
+ [nav,eur]
+
+\setupsymbolset
+ [navigation 1]
+
+\setupinteraction
+ [\c!symboolset=navigation 1]
+
+% Changing language defaults:
+%
+% \setuplanguage
+% [nl]
+% [\c!leftquote=\upperleftsinglesixquote,
+% \c!leftquotation=\upperleftdoublesixquote]
+%
+% So far for the settings.
+
+% Loading local preferences:
+%
+% \input prag-gen % company styles
+% \input prag-log % more company styles
+%
+% Enabling run time \METAPOST\ (also enable \write18 in texmf.cnf):
+
+ \runMPgraphicstrue
+\runMPTEXgraphicstrue
+ \recycleMPslotstrue
+\useMETAFUNformattrue
+
+% Enabling nested pretty printing:
+
+ \newprettytrue
+
+% Protect filenames:
+
+ \protectbufferstrue
+
+% not really needed
+
+% \runutilityfiletrue
+
+% So far.
+
+\protect \endinput
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index 512010c0d..c04c6ce80 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -13,7 +13,7 @@
\catcode`\{=1 \catcode`\}=2
-\def\contextversion{2001.4.9}
+\def\contextversion{2001.4.23}
%D Welcome to the main module. When this module is ran through
%D \type{initex} or \type{tex -i} or \type{whatevertex} using
@@ -171,6 +171,7 @@
\input core-mat.tex
\input core-syn.tex
\input core-mul.tex % moved
+\input core-spa.tex
\input main-001.tex % still to be split
\input core-sec.tex
\input core-pag.tex
@@ -215,6 +216,10 @@
\input font-ini.tex
\input font-uni.tex
+\input type-ini.tex
+
+\input math-ini.tex
+
%D Now we're ready for more core modules.
\input core-fnt.tex
diff --git a/tex/context/base/core-reg.tex b/tex/context/base/core-reg.tex
index 3b996ee09..841df4e46 100644
--- a/tex/context/base/core-reg.tex
+++ b/tex/context/base/core-reg.tex
@@ -72,48 +72,92 @@
\processseparatedlist[#1][+]\docommando
\!!stringa}
-\def\doprocesspageregister[#1]#2%
+% \def\doprocesspageregister[#1]#2%
+% {\begingroup
+% \thisisnextinternal{\s!ind}%
+% \ifduplicate\getlastregisterentry{#2}\fi
+% \convertexpanded{\??id\currentregister}{#2}\asciiregisterentry
+% \makesectionformat
+% \edef\schrijfwegnaarregister%
+% {\writeutility%
+% {r \ifcase\registerpagestatus\space\or e \or f \or t \fi
+% {\currentregister} %
+% {\nextinternalreference} %
+% {#1} %
+% {\asciiregisterentry} %
+% {\sectionformat::\noexpand\pagenumber} %
+% {\noexpand\realfolio}}}%
+% \schrijfwegnaarregister
+% \getfirstcharacter\currentregister
+% \registerinfo{> \firstcharacter}{#2}%
+% \endgroup}
+
+\def\doprocesspageregister[#1]#2#3% key altnum entry
{\begingroup
\thisisnextinternal{\s!ind}%
- \ifduplicate\getlastregisterentry{#2}\fi
- \convertexpanded{\??id\currentregister}{#2}\asciiregisterentry
+ \ifduplicate\getlastregisterentry{#3}\fi
+ \convertexpanded{\??id\currentregister}{#3}\asciiregisterentry
\makesectionformat
- \edef\schrijfwegnaarregister%
+ \doifelsevalue{\??id\currentregister\c!eigennummer}{\v!ja}{\donetrue}{\donefalse}%
+ \edef\schrijfwegnaarregister% spaces between } { are essential for texutil's split
{\writeutility%
{r \ifcase\registerpagestatus\space\or e \or f \or t \fi
{\currentregister} %
{\nextinternalreference} %
{#1} %
{\asciiregisterentry} %
- {\sectionformat::\noexpand\pagenumber} %
+% {\sectionformat::\noexpand\pagenumber} %
+ {\sectionformat::\ifdone#2\else\noexpand\pagenumber\fi} %
{\noexpand\realfolio}}}%
\schrijfwegnaarregister
\getfirstcharacter\currentregister
- \registerinfo{> \firstcharacter}{#2}%
+ \registerinfo{> \firstcharacter}{#3}%
\endgroup}
-\def\complexdoregister[#1]#2%
- {\doprocesspageregister[#1]{#2}%
- \ifvmode\nobreak\fi
- \GotoPar}
+%\def\complexdoregister[#1]#2%
+% {\doprocesspageregister[#1]{#2}%
+% \ifvmode\nobreak\fi
+% \GotoPar}
%\def\doregister#1%
% {\def\currentregister{#1}%
% \complexorsimpleempty\doregister}
+%\def\doregister#1%
+% {\chardef\registerpagestatus=1
+% \def\currentregister{#1}%
+% \complexorsimpleempty\doregister}
+
\def\doregister#1%
{\chardef\registerpagestatus=1
\def\currentregister{#1}%
- \complexorsimpleempty\doregister}
+ \doifelsevalue{\??id\currentregister\c!eigennummer}{\v!ja}
+ {\def\next{\dosingleempty\dodoregister}}
+ {\def\next{\dosingleempty\donoregister}}%
+ \next}
+
+\def\donoregister[#1]%
+ {\dodoregister[#1]{}}
+
+\def\dodoregister[#1]#2#3%
+ {\doprocesspageregister[#1]{#2}{#3}%
+ \ifvmode\nobreak\fi
+ \GotoPar}
\def\startregister%
{\dodoubleargument\dostartregister}
+%\def\dostartregister[#1][#2]#3%
+% {\chardef\registerpagestatus=2
+% \def\currentregister{#1}%
+% \setgvalue{\??id#1\??id#2}{\dodostopregister[#1][#2]{#3}}%
+% \complexdoregister[#2]{#3}}
+
\def\dostartregister[#1][#2]#3%
{\chardef\registerpagestatus=2
\def\currentregister{#1}%
\setgvalue{\??id#1\??id#2}{\dodostopregister[#1][#2]{#3}}%
- \complexdoregister[#2]{#3}}
+ \donoregister[#2]{#3}}
\def\stopregister%
{\dodoubleargument\dostopregister}
@@ -121,10 +165,15 @@
\def\dostopregister[#1][#2]%
{\getvalue{\??id#1\??id#2}\setgvalue{\??id#1\??id#2}{}}
+%\def\dodostopregister[#1][#2]%
+% {\chardef\registerpagestatus=3
+% \def\currentregister{#1}%
+% \complexdoregister[#2]}
+
\def\dodostopregister[#1][#2]%
{\chardef\registerpagestatus=3
\def\currentregister{#1}%
- \complexdoregister[#2]}
+ \donoregister[#2]}
\def\complexdozieregister[#1]#2#3%
{\begingroup
@@ -150,9 +199,13 @@
{\def\currentregister{#1}%
\complexorsimpleempty\dozieregister}
+%\def\doschrijfnaarregister[#1]% % de twee-traps-aanroep is nodig
+% {\edef\currentregister{#1}% % om gebruik van \ExpandBothAfter
+% \doprocesspageregister} % mogelijk te maken
+
\def\doschrijfnaarregister[#1]% % de twee-traps-aanroep is nodig
{\edef\currentregister{#1}% % om gebruik van \ExpandBothAfter
- \doprocesspageregister} % mogelijk te maken
+ \doprocesspageregister{}} % mogelijk te maken
\def\schrijfnaarregister%
{\dodoubleempty\doschrijfnaarregister}
diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex
new file mode 100644
index 000000000..87983690f
--- /dev/null
+++ b/tex/context/base/core-spa.tex
@@ -0,0 +1,1870 @@
+%D \module
+%D [ file=core-spa,
+%D version=1997.03.31,
+%D title=\CONTEXT\ Core Macros,
+%D subtitle=Spacing,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\writestatus{loading}{Context Spacing Macros}
+
+\unprotect
+
+\newevery \everybodyfont \Everybodyfont % just to be sure
+
+\appendtoks \presetnormallineheight \to \everybodyfont
+\appendtoks \setnormalbaselines \to \everybodyfont
+\appendtoks \setstrut \to \everybodyfont
+\appendtoks \settopskip \to \everybodyfont
+\appendtoks \setmaxdepth \to \everybodyfont
+\appendtoks \spacing 1\to \everybodyfont
+\appendtoks \stelinspringenin \to \everybodyfont
+\appendtoks \stelblankoin \to \everybodyfont
+\appendtoks \stelwitruimtein \to \everybodyfont
+%\appendtoks\setupfootnotes \to \everybodyfont
+\appendtoks \stelspatieringin \to \everybodyfont % nieuw
+\appendtoks \setdisplayskips \to \everybodyfont % nieuw
+
+\def\stelfactorenin%
+ {\stelwitruimtein
+ \stelblankoin
+ \settopskip
+ \setmaxdepth}
+
+%D There are two ways to influence the interline spacing. The
+%D most general and often most consistent way is using
+%D
+%D \showsetup{\y!stelinterliniein}
+%D
+%D For instance
+%D
+%D \starttypen
+%D \setupinterlinespace[line=2.8ex]
+%D \stoptypen
+%D
+%D This setting adapts itself to the bodyfontsize, while for
+%D instance saying
+%D
+%D \starttypen
+%D \setupinterlinespace[line=12pt]
+%D \stoptypen
+%D
+%D sets things fixed for all sizes, which is definitely not
+%D what we want. Therefore one can also say:
+%D
+%D \starttypen
+%D \definecorpsenvironment[9pt][interlinespace=11pt]
+%D \stoptypen
+%D
+%D One can still use \type{\setupinterlinespace} (without
+%D arguments) to set the interline space according to the
+%D current font, e.g. a \type{\bfa}.
+
+\newif\iflocalinterlinespace
+
+% font-ini
+
+\ifx\bodyfontinterlinespecs\undefined
+
+ \let\bodyfontinterlinespecs\empty
+ \let\bodyfontinterlinespace\empty
+
+\fi
+
+\def\presetnormallineheight%
+ {\edef\normallineheight{\@@itregel}%
+ \iflocalinterlinespace \else
+ \doifdefined{\bodyfontinterlinespecs}
+ {\doifsomething{\bodyfontinterlinespace}
+ {\edef\normallineheight{\bodyfontinterlinespace}}}%
+ \fi}
+
+\def\complexstelinterliniein[#1]% \commalistelement ipv #1
+ {\doifassignmentelse{#1}
+ {\getparameters[\??it][#1]%
+ \scratchdimen=0\@@ithoogte pt
+ \advance\scratchdimen by 0\@@itdiepte pt
+ \ifdim\scratchdimen>1pt
+ \showmessage{\m!layouts}{10}{\@@ithoogte,\@@itdiepte}%
+ \let\@@ithoogte=\strutheightfactor
+ \let\@@itdiepte=\strutdepthfactor
+ \else
+ \let\strutheightfactor=\@@ithoogte
+ \let\strutdepthfactor=\@@itdiepte
+ \fi
+ \let\minimallinedistance=\@@itafstand
+ \let\normallineheight=\@@itregel % let ! ! ! ! ! ivm ex
+ \let\topskipfactor=\@@itboven
+ \let\maxdepthfactor=\@@itonder
+ \setfontparameters % redundant \setstrut
+ \updateraggedskips} % yes indeed
+ {\processallactionsinset % \regelwit = dummy !
+ [#1]
+ [ \v!aan=>\oninterlineskip,
+ \v!uit=>\offinterlineskip,
+ \v!reset=>\setfontparameters,
+ \s!unknown=>\assignvalue{#1}{\regelwit}{1.00}{1.25}{1.50}%
+ \spacing{\regelwit}]}}
+
+\def\simplestelinterliniein%
+ {\localinterlinespacetrue
+ \setfontparameters
+ \updateraggedskips % funny one here
+ \localinterlinespacefalse}
+
+\definecomplexorsimple\stelinterliniein
+
+% In earlier versions \type{\bigskipamount} was
+% \type{\ht\strutbox} and the stretch was plus or minus
+% \type{.4\dp\strutbox}. Don't ask me why. The most recent
+% implementation is based on a user supplied distance, which
+% is by default \type{.75\normalskipamount} where
+% \type{\normalskipamount} equals the current baseline
+% distance.
+
+\newif\ifblankoreset \blankoresetfalse
+\newif\ifblankoblokkeer \blankoblokkeerfalse
+\newif\ifblankogeenwit \blankogeenwitfalse
+\newif\ifdoeblanko \doeblankofalse
+\newif\ifblankoflexibel \blankoflexibeltrue
+\newif\ifblankobuiten
+\newif\ifblankoforceer
+
+\newskip\blankoskip \blankoskip=\bigskipamount
+\newskip\blankoskipamount
+
+\def\skipfactor {.75}
+\def\skipgluefactor {.25}
+
+\def\normalskipamount%
+ {\openlineheight
+ \ifgridsnapping \else \ifblankoflexibel
+ \!!plus\skipgluefactor\openlineheight
+ \!!minus\skipgluefactor\openlineheight
+ \fi \fi
+ \relax}
+
+\def\regelafstand{\normalskipamount}
+
+\def\deblankoskip{\skipfactor\regelafstand}
+
+\def\laatsteblankoskip%
+ {\blankoskip}
+
+\def\geenblanko%
+ {\removelastskip}
+
+\def\dosingleblanko#1% ook nog \v!halveregel+fuzzysnap
+ {\doifelse{#1}{\v!regel}
+ {\blankoskipamount=\openlineheight}
+ {\ifgridsnapping
+ \assigndimension{#1}{\blankoskipamount}%
+ {.25\openlineheight}{.5\openlineheight}{\openlineheight}%
+ \else
+ \assigndimension{#1}{\blankoskipamount}%
+ {\smallskipamount}{\medskipamount}{\bigskipamount}%
+ \fi}%
+ \global\advance\blankoskip by \blankoskipamount}
+
+\newif\iffuzzyvskip
+
+% old
+%
+% \def\doblanko#1%
+% {\processallactionsinset
+% [#1]
+% [ \v!groot=>\dosingleblanko\v!groot, % happens often
+% \v!buiten=>\ifvmode\ifinner\blankobuitentrue\fi\fi,
+% \v!reset=>\global\blankoresettrue,
+% \v!flexibel=>\global\lokaalblankoflexibeltrue,
+% \v!vast=>\global\lokaalblankovasttrue,
+% \v!back=>\geenblanko,
+% \v!wit=>\global\advance\blankoskip by \parskip,
+% \v!formule=>\global\advance\blankoskip by \medskipamount,
+% \v!geenwit=>\global\blankogeenwittrue,
+% -\v!wit=>\global\advance\blankoskip by -\parskip,
+% \v!blokkeer=>\global\blankoblokkeertrue,
+% \v!forceer=>\global\blankoforceertrue,
+% \v!regel=>\global\advance\blankoskip by \lineheight,
+% \v!halveregel=>\global\fuzzyvskiptrue\global\advance\blankoskip by .5\lineheight,
+% \s!unknown=>{\herhaalmetcommando[#1]\dosingleblanko}]}
+%
+% new, see below
+
+\def\doblanko#1%
+ {\processallactionsinset
+ [#1]
+ [ \v!groot=>\dosingleblanko\v!groot, % happens often
+ \v!buiten=>\ifvmode\ifinner\blankobuitentrue\fi\fi,
+ \v!reset=>\global\blankoresettrue,
+ \v!flexibel=>\global\lokaalblankoflexibeltrue,
+ \v!vast=>\global\lokaalblankovasttrue,
+ \v!back=>\geenblanko,
+ \v!wit=>\global\advance\blankoskip by \parskip,
+ \v!formule=>\global\advance\blankoskip by \medskipamount,
+ \v!geenwit=>\global\blankogeenwittrue,
+ -\v!wit=>\global\advance\blankoskip by -\parskip,
+ \v!blokkeer=>\global\blankoblokkeertrue,
+ \v!forceer=>\global\blankoforceertrue,
+ \v!regel=>\global\advance\blankoskip by \lineheight,
+ \v!halveregel=>\global\fuzzyvskiptrue\global\advance\blankoskip by .5\lineheight,
+ \s!unknown=>\doindirectblanko{#1}]}
+
+\def\oldprevdepth{\prevdepth}%
+\def\newprevdepth{-1001pt}
+
+\def\mindimen{0.00002pt} % beter 1sp
+
+\newif\iflokaalblankovast
+\newif\iflokaalblankoflexibel
+
+\def\docomplexdoblanko[#1]% pas op \relax's zijn nodig ivm volgende \if
+ {\global\blankoresetfalse
+ \global\blankoblokkeerfalse
+ \global\blankogeenwitfalse
+ \global\lokaalblankoflexibelfalse
+ \global\lokaalblankovastfalse
+ \global\blankoskip=\!!zeropoint
+ \global\blankoforceerfalse
+ \blankobuitenfalse
+ \processcommalist[#1]\doblanko
+\ifdim\blankoskip=\!!zeropoint\relax
+ \iflokaalblankoflexibel \dosingleblanko\currentblanko \fi
+ \iflokaalblankovast \dosingleblanko\currentblanko \fi
+\fi
+ \ifblankobuiten
+ \else
+ \par
+ \ifvmode %in pos fonts gaat dit mis
+ \ifblankoforceer%\ifdim\prevdepth>\!!zeropoint\else
+ % -1000pt signals top of page or column (\ejectcolumn)
+ \vbox{\strut}\kern-\lineheight
+ \fi%\fi
+ \ifblankoblokkeer
+ \global\doeblankofalse
+ \edef\oldprevdepth{\the\prevdepth}%
+ \prevdepth=\newprevdepth
+ \else
+ \global\doeblankotrue
+ \fi
+ \ifblankoreset
+ \global\doeblankotrue
+ \ifdim\prevdepth=\newprevdepth
+ \prevdepth=\oldprevdepth
+ \fi
+ \fi
+ \ifdoeblanko
+ \ifdim\lastskip<\blankoskip\relax
+ % else when \blanko[2*groot] + \blanko[3*groot] with parskip
+ % equaling 1*groot, gives a groot=\parskip so adding a small
+ % value makes it distinguishable; can also be done at parskip
+ % setting time (better)
+ \global\advance\blankoskip by \mindimen\relax % = skip
+ % test this on 2* + 3* and parskip groot
+ \ifblankogeenwit
+ \global\advance\blankoskip by -\parskip
+ \else
+ \ifdim\lastskip=\parskip
+ \else % force this due to previous comment
+ \ifdim\parskip>\!!zeropoint\relax
+ \ifdim\blankoskip<\parskip\relax
+ \global\blankoskip=\!!zeropoint
+ \else
+ \global\advance\blankoskip by -\parskip
+ \fi
+ \fi
+ \fi
+ \fi
+\ifblankoflexibel \else
+ \blankoskip=1\blankoskip
+\fi
+\iflokaalblankovast
+ \blankoskip=1\blankoskip
+\fi
+\iflokaalblankoflexibel
+ \blankoskip=1\blankoskip
+ \!!plus\skipgluefactor\blankoskip
+ \!!minus\skipgluefactor\blankoskip
+\fi
+ \ifdim\prevdepth=\newprevdepth
+ \else
+ \iffuzzyvskip
+ \removelastfuzzyvskip
+ \fuzzyvskip\blankoskip\relax
+ \else
+ \removelastskip
+ \vskip\blankoskip\relax
+ \fi
+ \fi
+ \else
+ \iffuzzyvskip
+ \removelastfuzzyvskip
+ \fuzzyvskip\blankoskip\relax
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \global\fuzzyvskipfalse
+ \presetindentation}
+
+\def\complexdodoblanko[#1]%
+ {\flushfootnotes
+ \ifopelkaar
+ \ifinpagebody
+ \expanded{\docomplexdoblanko[#1]}% \expanded=nieuw
+ \else
+ \par
+ \fi
+ \else
+ \expanded{\docomplexdoblanko[#1]}% \expanded = nieuw
+ \fi}
+
+% old
+%
+% \def\doindirectblanko#1%
+% {\ifundefined{\??bo#1}% <-etex \expandafter\ifx\csname\??bo#1\endcsname\relax
+% \expanded{\complexdodoblanko[#1]}%
+% \else
+% \expandafter\complexdoblanko\expandafter[\csname\??bo#1\endcsname]%
+% \fi}
+%
+% \def\complexdoblanko[#1]% enables [force,8\bodyfontsize]
+% {\doifinstringelse{,}{#1}
+% {\expanded{\complexdodoblanko[#1]}}
+% {\doifnumberelse{#1}
+% {\expanded{\complexdodoblanko[#1]}}
+% {\doindirectblanko{#1}}}}
+%
+% new, more robust
+%
+% \def\doindirectblanko#1%
+% {\edef\ascii{#1}\convertcommand\ascii\to\ascii
+% \ifundefined{\??bo\ascii}% <-etex \expandafter\ifx\csname\??bo#1\endcsname\rel
+% \herhaalmetcommando[#1]\dosingleblanko
+% \else
+% \expandafter\complexdoblanko\expandafter[\csname\??bo\ascii\endcsname]%
+% \fi}
+%
+% even more robust
+
+\def\doindirectblanko#1%
+ {\edef\ascii{#1}\convertcommand\ascii\to\ascii
+ \ifundefined{\??bo\ascii}% <-etex \expandafter\ifx\csname\??bo#1\endcsname
+ \expanded{\herhaalmetcommando[#1]\noexpand\dosingleblanko}%
+ \else
+ \expandafter\complexdoblanko\expandafter[\csname\??bo\ascii\endcsname]%
+ \fi}
+
+\def\complexdoblanko[#1]% enables [force,8\bodyfontsize]
+ {\expanded{\complexdodoblanko[#1]}}
+
+\def\currentblanko%
+ {\v!groot}
+
+%D For a long time we had:
+%D
+%D \starttypen
+%D \def\simpledoblanko%
+%D {\doifelse{\currentwitruimte}{\v!geen}
+%D {\blanko[\currentblanko]}
+%D {\blanko[\currentwitruimte]}}
+%D \stoptypen
+%D
+%D But Berend de Boer wanted more control, so now we have:
+
+\def\simpledoblanko%
+ {\doifelse{\currentwitruimte}{\v!geen}
+ {\blanko[\currentblanko]}
+ {\blanko[\s!default]}}
+
+%D Another useful definition would be:
+%D
+%D \starttypen
+%D \definieerblanko
+%D [\s!default]
+%D [\v!groot]
+%D \stoptypen
+
+\def\blanko% % the \relax is definitely needed due to the many \if's
+ {\relax\complexorsimple\doblanko}
+
+%\def\dostelblankoin#1%
+% {\bgroup % rommelig
+% \skip0=#1\relax
+% \xdef\globalblanko{\the\skip0}%
+% \egroup
+% \bigskipamount=\globalblanko
+% \smallskipamount=\globalblanko
+% \medskipamount=\globalblanko
+% \divide\medskipamount by 2\relax
+% \divide\smallskipamount by 4\relax}%
+
+\def\dostelblankoin#1%
+ {\bigskipamount=#1\relax
+ \ifblankoflexibel \else
+ \bigskipamount=1\bigskipamount
+ \fi
+ \smallskipamount=\bigskipamount
+ \medskipamount=\bigskipamount
+ \divide\medskipamount by 2
+ \divide\smallskipamount by 4 }%
+
+\def\complexstelblankoin[#1]%
+ {\ifgridsnapping
+ \blankoflexibelfalse
+ \else
+ \ExpandFirstAfter\processallactionsinset
+ [#1]
+ [ \v!flexibel=>\blankoflexibeltrue,
+ \v!vast=>\blankoflexibelfalse]%
+ \fi
+ \ExpandFirstAfter\processallactionsinset
+ [#1]
+ [ \v!flexibel=>\dostelblankoin{\deblankoskip},
+ \v!vast=>\dostelblankoin{\deblankoskip},
+ \v!regel=>\edef\deblankoskip{\regelafstand}%
+ \dostelblankoin{\deblankoskip}%
+ \let\deblanko=\v!groot,
+ \v!halveregel=>\scratchskip=.5\regelafstand
+ \edef\deblankoskip{\the\scratchskip}%
+ \dostelblankoin{\deblankoskip}%
+ \let\deblanko=\v!middel,
+ \v!groot=>\ifgridsnapping
+ \edef\deblankoskip{\regelafstand}%
+ \dostelblankoin{\deblankoskip}%
+ \fi
+ \def\currentblanko{\v!groot}%
+ \let\deblanko=\v!groot,
+ \v!middel=>\def\currentblanko{\v!middel}%
+ \let\deblanko=\v!middel,
+ \v!klein=>\def\currentblanko{\v!klein}%
+ \let\deblanko=\v!klein,
+ \v!normaal=>\dostelblankoin{\deblankoskip}%
+ \let\deblanko=\v!groot,
+ \v!standaard=>\edef\deblankoskip{\skipfactor\regelafstand}%
+ \dostelblankoin{\deblankoskip}%
+ \let\deblanko=\v!groot,
+ \s!default=>\dostelblankoin{\deblankoskip}%
+ \let\deblanko=\v!groot,
+ \s!unknown=>\let\deblankoskip=\commalistelement
+ \dostelblankoin{\deblankoskip}%
+ \let\deblanko=\v!groot]%
+ \stelwitruimtein}
+
+% \definecomplexorsimpleempty\stelblankoin
+%
+% speed gain: 60 sec -> 30 sec
+
+\definecomplexorsimple\stelblankoin
+
+\def\simplestelblankoin% == snelle \stelblankoin[\s!default]
+ {\ifgridsnapping
+ \blankoflexibelfalse
+ \fi
+ \dostelblankoin{\deblankoskip}%
+ \let\deblanko\v!groot
+ \stelwitruimtein}
+
+\def\dodefinieerblanko[#1][#2]%
+ {\def\docommando##1{\setvalue{\??bo##1}{#2}}%
+ \processcommalist[#1]\docommando}
+
+\def\definieerblanko%
+ {\dodoubleargument\dodefinieerblanko}
+
+\def\savecurrentblanko%
+ {\edef\restorecurrentblanko%
+ {\bigskipamount=\the\bigskipamount
+ \medskipamount=\the\medskipamount
+ \smallskipamount=\the\smallskipamount
+ \noexpand\def\noexpand\currentblanko{\currentblanko}%
+ \ifblankoflexibel
+ \noexpand\blankoflexibeltrue
+ \else
+ \noexpand\blankoflexibelfalse
+ \fi}}
+
+\def\inhibitblank% the fast, local way
+ {\endgraf\ifvmode\prevdepth\newprevdepth\fi}
+
+%D Now.
+
+\definieerblanko
+ [\s!default]
+ [\v!wit]
+
+\let\currentvoorwit=\empty
+
+\newdimen\voorwit
+
+\newif\ifindentfirstparagraph % \indentfirstparagraphtrue
+
+\def\presetindentation%
+ {\doifoutervmode
+ {\ifindentfirstparagraph\else\noindentation\fi}}
+
+%\def\dostelinspringenin[#1]%
+% {\processallactionsinset
+% [#1]
+% [ \v!eerste=>\indentfirstparagraphtrue,
+% \v!volgende=>\indentfirstparagraphfalse,
+% \s!default=>\dodostelinspringenin,
+% \s!unknown=>\edef\currentvoorwit{\commalistelement}%
+% \dodostelinspringenin]}
+%
+%\def\dodostelinspringenin%
+% {\assigndimension{\currentvoorwit}{\voorwit}{1em}{1.5em}{2em}%
+% \parindent=\voorwit\relax}
+%
+%\def\stelinspringenin%
+% {\dosingleempty\dostelinspringenin}
+
+\definecomplexorsimple\stelinspringenin
+
+\def\complexstelinspringenin[#1]%
+ {\processallactionsinset
+ [#1]
+ [ \v!eerste=>\indentfirstparagraphtrue,
+ \v!volgende=>\indentfirstparagraphfalse,
+ \s!default=>\simplestelinspringenin,
+ \s!unknown=>\edef\currentvoorwit{\commalistelement}%
+ \simplestelinspringenin]}
+
+\def\simplestelinspringenin%
+ {\assigndimension{\currentvoorwit}{\voorwit}{1em}{1.5em}{2em}%
+ \parindent=\voorwit\relax}
+
+\def\doinspringen[#1]%
+ {\processallactionsinset
+ [#1]
+ [ \v!nee=>\parindent=\voorwit\relax\noindent,
+ \v!niet=>\parindent=\voorwit\relax\noindent,
+ \v!ja=>\parindent=\voorwit\relax, % geen \indent !
+ \v!eerste=>\indentfirstparagraphtrue,
+ \v!volgende=>\indentfirstparagraphfalse,
+ \v!altijd=>\parindent=\voorwit\relax, % geen \indent !
+ \v!nooit=>\parindent=\!!zeropoint\relax]}
+
+\def\inspringen%
+ {\dosingleargument\doinspringen}
+
+\def\nietinspringen{\inspringen[\v!nee,\v!volgende]}
+\def\welinspringen {\inspringen[\v!ja,\v!eerste]}
+
+% \frenchspacing leidt soms tot afbreken tussen -, vandaar
+% de variant \newfrenchspacing.
+
+\def\dofrenchspacing#1%
+ {\sfcode`\.#1 \sfcode`\,#1\relax
+ \sfcode`\?#1 \sfcode`\!#1\relax
+ \sfcode`\:#1 \sfcode`\;#1\relax}
+
+\def\frenchspacing%
+ {\dofrenchspacing{1000}} % \@m
+
+\def\newfrenchspacing%
+ {\dofrenchspacing{1050}} % \@ml
+
+\def\complexstelspatieringin[#1]%
+ {\processaction
+ [#1]
+ [\v!opelkaar=>\newfrenchspacing,
+ \v!ruim=>\nonfrenchspacing]%
+ \updateraggedskips}
+
+\def\simplestelspatieringin%
+ {\updateraggedskips}
+
+\definecomplexorsimple\stelspatieringin
+
+\bgroup
+\catcode`\~=\@@active % eigenlijk is ~ al actief
+\gdef\fixedspaces% % in Plain \TeX, maar we weten
+ {\catcode`\~=\@@active % nooit wat er inmiddels is
+ \def~{\fixedspace}} % gebeurd, vandaar.
+\egroup
+
+\def\space { }
+\def\fixedspace {\hskip.5em\relax}
+\def\nospace {\unskip\ignorespaces}
+
+\let\spatie \space
+\let\hardespatie\fixedspace
+\let\geenspatie \nospace
+
+\def\opelkaar%
+ {\nointerlineskip}
+
+\def\omlaag[#1]% nog eens mooier, relateren aan blanko
+ {\nointerlineskip
+ \vskip#1 }
+
+\newskip\tussenwit
+\tussenwit=\!!zeropoint
+
+\def\blankokleinmaat%
+ {\smallskipamount}
+
+\def\blankomiddelmaat%
+ {\medskipamount}
+
+\def\blankogrootmaat%
+ {\bigskipamount}
+
+\def\currentwitruimte%
+ {\!!zeropoint}
+
+\def\stelwitruimteopnieuwin%
+ {\expanded{\stelwitruimtein[\currentwitruimte]}}
+
+\newif\ifwitruimteflexibel \witruimteflexibeltrue
+
+%\def\dodostelwitruimtein[#1]%
+% {%\witruimteflexibeltrue
+% \processallactionsinset
+% [#1]
+% [\v!herstel=>,
+% \v!vast=>\witruimteflexibelfalse,
+% \v!flexibel=>\witruimteflexibeltrue,
+% \v!regel=>\tussenwit=\baselineskip,
+% \v!halveregel=>\tussenwit=.5\baselineskip,
+% \s!default=>\doifnot{\currentwitruimte}{\v!geen}
+% {\stelwitruimteopnieuwin},
+% \s!unknown=>\@EA\assigndimension\@EA{\commalistelement} % \@EA is nodig
+% {\tussenwit}
+% {\blankokleinmaat}{\blankomiddelmaat}{\blankogrootmaat}]% % te vangen
+% \edef\currentwitruimte%
+% {\ifdim\tussenwit=\!!zeropoint
+% \v!geen
+% \else
+% \ifgridsnapping\the\baselineskip\else\the\tussenwit\fi
+% \fi}%
+% \ifgridsnapping
+% \witruimteflexibelfalse
+% \tussenwit=1\tussenwit
+% \ifdim\tussenwit>\!!zeropoint
+% \tussenwit=\baselineskip
+% \fi
+% \else
+% \ifwitruimteflexibel \else \tussenwit=1\tussenwit \fi
+% \fi
+% \parskip=\tussenwit}
+%
+%\def\dostelwitruimtein[#1]%
+% {\expanded{\dodostelwitruimtein[#1]}}
+%
+%\def\stelwitruimtein%
+% {\dosingleempty\dostelwitruimtein}
+
+\definecomplexorsimple\stelwitruimtein
+
+\def\complexstelwitruimtein[#1]%
+ {\expanded{\dostelwitruimtein[#1]}%
+ \dodostelwitruimtein}
+
+\def\dostelwitruimtein[#1]%
+ {\processallactionsinset
+ [#1]
+ [\v!herstel=>,
+ \v!vast=>\witruimteflexibelfalse,
+ \v!flexibel=>\witruimteflexibeltrue,
+ \v!regel=>\tussenwit=\baselineskip,
+ \v!halveregel=>\tussenwit=.5\baselineskip,
+ \s!default=>\doifnot{\currentwitruimte}{\v!geen}
+ {\stelwitruimteopnieuwin},
+ \s!unknown=>\@EA\assigndimension\@EA{\commalistelement} % \@EA is nodig
+ {\tussenwit}
+ {\blankokleinmaat}{\blankomiddelmaat}{\blankogrootmaat}]} % te vangen
+
+\def\dodostelwitruimtein%
+ {\edef\currentwitruimte%
+ {\ifdim\tussenwit=\!!zeropoint
+ \v!geen
+ \else
+ \ifgridsnapping\the\baselineskip\else\the\tussenwit\fi
+ \fi}%
+ \ifgridsnapping
+ \witruimteflexibelfalse
+ \tussenwit=1\tussenwit
+ \ifdim\tussenwit>\!!zeropoint
+ \tussenwit=\baselineskip
+ \fi
+ \else
+ \ifwitruimteflexibel \else \tussenwit=1\tussenwit \fi
+ \fi
+ \parskip=\tussenwit}
+
+\def\simplestelwitruimtein% == snelle \stelwitruimtein[\s!default]
+ {\doifnot{\currentwitruimte}{\v!geen}
+ {\stelwitruimteopnieuwin}%
+ \dodostelwitruimtein}
+
+\def\geenwitruimte%
+ {\ifdim\parskip>\!!zeropoint\relax
+ \ifdim\lastskip=-\parskip
+ \else
+ \vskip-\parskip
+ \fi
+ \fi}
+
+\def\savecurrentwitruimte%
+ {\edef\restorecurrentwitruimte%
+ {\tussenwit=\the\tussenwit
+ \parskip=\the\parskip
+ \noexpand\def\noexpand\currentwitruimte{\currentwitruimte}%
+ \ifwitruimteflexibel
+ \noexpand\witruimteflexibeltrue
+ \else
+ \noexpand\witruimteflexibelfalse
+ \fi}}
+
+% deze variant is nodig binnen \startopelkaar
+% steeds testen:
+%
+% \hoofdstuk{..}
+% \plaatslijst[..]
+% \hoofdstuk{..}
+% \input tufte
+%
+% met/zonder witruimte
+
+\def\witruimte%
+ {\par
+ \ifdim\parskip>\!!zeropoint\relax
+ %\ifdim\lastskip>\parskip \else
+ % \removelastskip interferes with blanko blokkeer en klein
+ \vskip\parskip
+ %\fi
+ \fi}
+
+\def\nonoblanko[#1]%
+ {\par}
+
+\def\noblanko%
+ {\dosingleempty\nonoblanko}
+
+% De onderstaande macro handelt ook de situatie dat er geen
+% tekst tussen \start ... \stop is geplaatst. Daartoe wordt de
+% laatste skip over de lege tekst heen gehaald. Dit komt goed
+% van pas bij het plaatsen van (mogelijk lege) lijsten.
+
+\newif\ifopelkaar
+
+\def\noparskipsignal {0.00001pt}
+\def\lastdoneparskip {0pt}
+
+\def\startopelkaar%
+ {\dosingleempty\dostartopelkaar}
+
+\def\dostartopelkaar[#1]% nesting afvangen
+ {\par
+ \ifvmode
+ \edef\lastdoneparskip{\the\lastskip}%
+\edef\lastdoneprevdepth{\the\prevdepth}% zeer recent toegevoegd
+ \ifdim\prevdepth=-1000pt % toegevoegd omdat binnen
+ \else % een vbox een extra skip
+ \witruimte % ongewenst is; dit kan
+\baselinecorrection %% zie in \plaatsregister[n=1]
+ \vskip\noparskipsignal % waarschijnlijk ook in
+ \fi % blanko blokkeer
+ \bgroup
+ \doifelse{#1}{\v!blanko}
+ {\opelkaarfalse}
+ {\opelkaartrue}%
+ \blanko[\v!blokkeer]%
+ \stelwitruimtein[\v!geen]
+ \fi}
+
+\def\stopopelkaar%
+ {\par
+\ifvmode
+ \egroup
+ \ifdim\lastskip=\noparskipsignal\relax
+ \removelastskip
+ \geenwitruimte
+ \vskip-\lastdoneparskip
+ \vskip+\lastdoneparskip
+\prevdepth-\lastdoneprevdepth % zeer recent toegevoegd
+ \fi
+\fi}
+
+\def\startvanelkaar%
+ {\blanko
+ \leavevmode
+ \bgroup}
+
+\def\stopvanelkaar%
+ {\egroup
+ \blanko}
+
+% De onderstaande macro's moeten nog eens nader worden uitgewerkt.
+% Ze spelen een rol bij de spatiering rond omkaderde teksten
+% en/of boxen zonder diepte.
+
+\def\toonregelcorrectie {\showbaselinecorrection}
+\def\regelcorrectie {\baselinecorrection}
+
+\definecomplexorsimpleempty\startregelcorrectie
+
+% \prevdepth crosses pageboundaries!
+
+\let\dorondomregelcorrectie=\relax
+
+\def\complexstartregelcorrectie[#1]%
+ {\bgroup
+ \processaction
+ [#1]
+ [ \v!blanko=>\let\dorondomregelcorrectie=\blanko,
+ \s!default=>\let\dorondomregelcorrectie=\relax,
+ \s!unknown=>{\def\dorondomregelcorrectie{\blanko[#1]}}]%
+ \dorondomregelcorrectie
+ \startbaselinecorrection
+ \offbaselinecorrection}
+
+\def\stopregelcorrectie%
+ {\stopbaselinecorrection
+ \dorondomregelcorrectie
+ \egroup}
+
+\def\corrigeerwitruimte%
+ {\dowithnextbox
+ {\startbaselinecorrection
+ \box\nextbox
+ \stopbaselinecorrection}%
+ \vbox}
+
+\def\toonstruts%
+ {\setteststrut}
+
+% Hieronder volgen enkele instellingen en macro's ten behoeve
+% van de interlinie en \strut. De waarden 2.8, 0.07, 0.72 en
+% 0.28 zijn ooit eens ontleend aan INRS-TEX en moeten wellicht
+% nog eens instelbaar worden.
+%
+% \lineheight : de hoogte van een regel
+% \spacing{getal} : instellen interlinie
+% \normalbaselines : instellen regelafstend
+%
+% \setstrut : instellen \strut
+% \setnostrut : resetten \strut, \endstrut, \begstrut
+%
+% \setteststrut : instellen zichtbare struts
+% \resetteststrut : instellen onzichtbare struts
+%
+% \setfontparameters : instellen na fontset
+%
+% De hoogte van een regel (\lineheight) is gelijk aan de
+% som van de hoogte (\ht) en diepte (\dp) van \strutbox.
+%
+% \strut : denkbeeldig blokje met hoogte en diepte
+%
+% Een \hbox kan als deze aan het begin van een regel staat
+% een breedte \hsize krijgen. Dit is soms te voorkomen met het
+% commando \leavevmode. Binnen een \vbox geeft dit echter
+% niet altijd het gewenste resultaat, vandaar het commando
+%
+% \leaveoutervmode
+
+% Pas op: niet zomaar \topskip en \baselineskip aanpassen
+% en zeker niet \widowpenalty. Dit kan ernstige gevolgen
+% hebben voor kolommen.
+%
+% Enige glue kan op zich geen kwaad, echter als blanko=vast,
+% dan moet ook de rek 0 zijn. Binnen kolommen is rek ook
+% niet bepaald mooi. Een hele kleine waarde (0.025) voldoet,
+% omdat een positieve glue eindeloos rekbaar is.
+
+\newdimen\strutdimen
+\newdimen\lineheight
+\newdimen\openlineheight
+\newdimen\openstrutheight
+\newdimen\openstrutdepth
+\def\strutheightfactor {.72}
+\def\strutdepthfactor {.28}
+
+\def\baselinefactor {2.8}
+\def\baselinegluefactor {0}
+
+\def\normallineheight {\baselinefactor ex}
+\def\minimallinedistance {\lineskip}
+
+\def\strutheight {0pt}
+\def\strutdepth {0pt}
+\def\strutwidth {0pt}
+
+\def\spacingfactor {1}
+
+\def\topskipfactor {1.0}
+\def\maxdepthfactor {0.5}
+
+\def\systemtopskipfactor {\topskipfactor}
+\def\systemmaxdepthfactor {\maxdepthfactor}
+
+% De onderstaande definitie wordt in de font-module overruled
+
+\ifx\globalbodyfontsize\undefined
+ \newdimen\globalbodyfontsize
+ \globalbodyfontsize=12pt
+\fi
+\ifx\normalizedbodyfontsize\undefined
+ \def\normalizedbodyfontsize{12pt}
+\fi
+
+% door een \dimen. Dit is geen probleem omdat (1) de default
+% korpsgrootte 12pt is en (2) de fonts nog niet geladen zijn
+% en de instellingen bij het laden nogmaals plaatsvinden.
+
+\def\topskipcorrection%
+ {\ifdim\topskip>\openstrutheight
+ \vskip\topskip
+ \vskip-\openstrutheight
+ \fi
+ \vbox{\strut}
+ \vskip-\openlineheight}
+
+\def\settopskip% the extra test is needed for the lbr family
+ {\topskip=\systemtopskipfactor\globalbodyfontsize
+ \ifgridsnapping \else
+ \ifr@ggedbottom\!!plus5\globalbodyfontsize\fi
+ \fi
+ \relax % the skip
+ \ifdim\topskip<\strutheightfactor\openlineheight
+ \topskip=\strutheightfactor\openlineheight\relax
+ \fi}
+
+\def\setmaxdepth%
+ {\maxdepth=\systemmaxdepthfactor\globalbodyfontsize}
+
+\def\normalbaselines%
+ {\baselineskip\normalbaselineskip
+ \lineskip\normallineskip
+ \lineskiplimit\normallineskiplimit}
+
+\def\setnormalbaselines%
+ {\lineheight=\normallineheight
+ \openlineheight=\spacingfactor\lineheight
+\openstrutheight=\strutheightfactor\openlineheight
+\openstrutdepth =\strutdepthfactor \openlineheight
+ \normalbaselineskip=
+ \openlineheight
+ \!!plus\baselinegluefactor\openlineheight
+ \!!minus\baselinegluefactor\openlineheight
+ \normallineskip\minimallinedistance\relax % \!!onepoint\relax
+ \normallineskiplimit\!!zeropoint\relax
+ \normalbaselines}
+
+\def\setspacingfactor#1\to#2\by#3\\%
+ {\strutdimen=#2pt\relax
+ \strutdimen=#3\strutdimen
+ \edef#1{\withoutpt{\the\strutdimen}}}
+
+\def\spacing#1%
+ {\ifgridsnapping
+ \edef\spacingfactor{1}%
+ \showmessage{\m!layouts}{11}{#1}%
+ \else
+ \edef\spacingfactor{#1}%
+ \fi
+ \setspacingfactor\systemtopskipfactor\to\topskipfactor\by#1\\%
+ \setspacingfactor\systemmaxdepthfactor\to\maxdepthfactor\by#1\\%
+ \setnormalbaselines
+ \setstrut}
+
+\def\setstrutdimen#1#2#3% % een strut is n.m maal ex
+ {\strutdimen=\normallineheight % wat niet per se \lineheight
+ \strutdimen=#2\strutdimen % is omdat een strut lokaal
+ \strutdimen=#3\strutdimen % kan afwijken van de globale
+ \edef#1{\the\strutdimen}} % strut
+
+% plain definition:
+%
+% \def\strut{\relax\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi}
+%
+% could be:
+%
+% \def\strut{\relax\ifmmode\copy\else\unhcopy\fi\strutbox}
+
+\let\normalstrut=\strut
+
+% The double \hbox construction enables us to \backtrack
+% boxes.
+
+% \def\setstrut%
+% {\setstrutdimen\strutheight\strutheightfactor\spacingfactor
+% \setstrutdimen\strutdepth \strutdepthfactor \spacingfactor
+% \let\strut=\normalstrut
+% \setbox\strutbox=\normalhbox
+% {\normalhbox
+% {\vrule
+% \!!width \strutwidth
+% \!!height \strutheight
+% \!!depth \strutdepth
+% \normalkern-\strutwidth}}}
+
+\def\setstrut%
+ {\setstrutdimen\strutheight\strutheightfactor\spacingfactor
+ \setstrutdimen\strutdepth \strutdepthfactor \spacingfactor
+ \dosetstrut}
+
+\def\setcharstrut#1%
+ {\setbox\strutbox=\hbox{#1}%
+ \edef\strutheight{\the\ht\strutbox}%
+ \edef\strutdepth {\the\dp\strutbox}%
+ \dosetstrut}
+
+\def\setcapstrut% could be M, but Q has descender
+ {\setcharstrut{Q}}
+
+%D Centered looks nicer:
+
+\def\dosetstrut%
+ {\let\strut=\normalstrut
+ \setbox\strutbox=\normalhbox
+ {\normalhbox to \!!zeropoint
+ {% \hss % new, will be option
+ \vrule
+ \!!width \strutwidth
+ \!!height\strutheight
+ \!!depth \strutdepth
+ \hss}}}
+
+%D Sometimes a capstrut comes in handy
+%D
+%D \starttabulatie[|Tl|l|l|]
+%D \NC yes \NC normal strut \NC {\toonstruts\setupstrut[ja]\strut} \NC \NR
+%D \NC no \NC no strut \NC {\toonstruts\setupstrut[nee]\strut} \NC \NR
+%D \NC kap \NC a capital strut (i.e. Q) \NC {\toonstruts\setupstrut[kap]\strut} \NC \NR
+%D \NC A B \unknown \NC a character strut (e.g. A) \NC {\toonstruts\setupstrut[A]\strut} \NC \NR
+%D \NC \NC a normal strut \NC {\toonstruts\setupstrut\strut} \NC \NR
+%D \stoptabulatie
+
+\def\setupstrut%
+ {\dosingleempty\dosetupstrut}
+
+\def\dosetupstrut[#1]% yet undocumented
+ {\processaction
+ [#1]
+ [ \v!ja=>\setstrut,
+ \v!nee=>\setnostrut,
+ \v!kap=>\setcapstrut,
+ \s!default=>\setstrut,
+ \s!unknown=>\setcharstrut{\commalistelement}]}
+
+\def\setteststrut%
+ {\def\strutwidth{.8pt}%
+ \setstrut}
+
+\def\begstrut%
+ {\relax\ifdim\ht\strutbox=\!!zeropoint\else
+ \strut
+ \normalpenalty\!!tenthousand
+ \normalhskip\!!zeropoint
+ \ignorespaces
+ \fi}
+
+\def\endstrut%
+ {\relax\ifhmode\ifdim\ht\strutbox=\!!zeropoint\else
+ \unskip\unskip\unskip
+ \normalpenalty\!!tenthousand
+ \normalhskip\!!zeropoint
+ \strut
+ \fi\fi}
+
+\def\setnostrut%
+ {\setbox\strutbox=\normalhbox{\normalhbox{}}%
+ \let\strut=\empty
+ \let\endstrut=\empty
+ \let\begstrut=\empty}
+
+% unsave:
+%
+% \def\pseudostrut%
+% {\bgroup
+% \setnostrut
+% \normalstrut
+% \egroup}
+%
+% try:
+%
+% \startchemie
+% \chemie[ONE,Z0,SB15,MOV1,SB15,Z0][C,C]
+% \stopchemie
+%
+% so:
+
+\def\pseudostrut%
+ {\noindent} % better: \dontleavehmode
+
+\let\pseudobegstrut\pseudostrut
+
+\def\pseudoendstrut% removes all kind of signals
+ {\ifhmode\unskip\unskip\unskip\unskip\fi}
+
+\def\resetteststrut%
+ {\let\strutwidth=\!!zeropoint
+ \setstrut}
+
+\ifx\setfontparameters\undefined
+ \def\setfontparameters{\the\everybodyfont}
+\fi
+
+%D Handy:
+
+\def\baselinedistance{\the\lineheight}
+
+%D We need \type{\normaloffinterlineskip} because the new
+%D definition contains an assignment, and |<|don't ask me
+%D why|>| this assignment gives troubles in for instance the
+%D visual debugger.
+
+\ifx\undefined\normaloffinterlineskip
+ \let\normaloffinterlineskip=\offinterlineskip % knuth's original
+\fi
+
+\def\offinterlineskip%
+ {\ifdim\baselineskip>\!!zeropoint
+ \edef\oninterlineskip%
+ {\baselineskip=\the\baselineskip
+ \lineskip=\the\lineskip
+ \lineskiplimit=\the\lineskiplimit
+ \noexpand\let\noexpand\offinterlineskip=\noexpand\normaloffinterlineskip}%
+ \else
+ \let\oninterlineskip=\setnormalbaselines
+ \fi
+ \normaloffinterlineskip}
+
+\let\oninterlineskip=\relax
+
+\def\leaveoutervmode%
+ {\ifvmode\ifinner\else
+ \leavevmode
+ \fi\fi}
+
+% We stellen enkele penalties anders in dan Plain TEX:
+
+\def\defaultwidowpenalty{2000} % was: 1000
+\def\defaultclubpenalty {2000} % was: 800
+
+\widowpenalty=\defaultwidowpenalty\relax
+\clubpenalty =\defaultclubpenalty \relax
+
+% Bovendien definieren we enkele extra \fill's:
+
+\def\hfilll%
+ {\hskip\!!zeropoint\!!plus1filll\relax}
+
+\def\vfilll%
+ {\vskip\!!zeropoint\!!plus1filll\relax}
+
+% De onderstaande hulpmacro's moeten nog eens instelbaar worden
+% gemaakt.
+
+\def\tfskipsize{1em\relax}
+
+\def\tfkernsize{1ex\relax}
+
+\def\tfskip%
+ {{\tf\hskip\tfskipsize}}
+
+\def\tfkern%
+ {{\tf\kern\tfkernsize}}
+
+\newskip\linkssmaller
+\newskip\rechtssmaller
+\newskip\middensmaller
+
+\def\dosinglesmaller#1%
+ {\processaction
+ [#1]
+ [ \v!links=>\global\advance\linkssmaller by \@@sllinks,
+ \v!midden=>\global\advance\middensmaller by \@@slmidden,
+ \v!rechts=>\global\advance\rechtssmaller by \@@slrechts,
+ \s!unknown=>\global\advance\middensmaller by \commalistelement]}
+
+\def\dosmaller[#1]%
+ {\processaction
+ [#1]
+ [ \v!links=>\global\advance\linkssmaller by \@@sllinks,
+ \v!midden=>\global\advance\middensmaller by \@@slmidden,
+ \v!rechts=>\global\advance\rechtssmaller by \@@slrechts,
+ \s!unknown=>{\herhaalmetcommando[#1]\dosinglesmaller}]}
+
+\def\complexstartsmaller[#1]%
+ {\par
+ \bgroup
+ \global\linkssmaller=\!!zeropoint
+ \global\rechtssmaller=\!!zeropoint
+ \global\middensmaller=\!!zeropoint
+ \processcommalistwithparameters[#1]\dosmaller
+ \advance\leftskip by \linkssmaller
+ \advance\rightskip by \rechtssmaller
+ \advance\leftskip by \middensmaller
+ \advance\rightskip by \middensmaller}
+
+\def\simplestartsmaller%
+ {\startsmaller[\v!midden]}
+
+\definecomplexorsimple\startsmaller
+
+\def\stopsmaller%
+ {\par % else skips forgotten
+ \egroup}
+
+\def\stelsmallerin%
+ {\dodoubleargument\getparameters[\??sl]}
+
+\def\dodefinieerhbox[#1][#2]%
+ {\setvalue{hbox#1}##1%
+ {\hbox to #2{\begstrut##1\endstrut\hss}}}
+
+\def\definieerhbox%
+ {\dodoubleargument\dodefinieerhbox}
+
+\def\lrcbox#1#2#%
+ {\vbox#2\bgroup
+ \let\\=\endgraf
+ \forgetall#1\let\next=}
+
+\def\lbox%
+ {\lrcbox\raggedleft}
+
+\def\rbox%
+ {\lrcbox\raggedright}
+
+\def\cbox%
+ {\lrcbox\raggedcenter}
+
+\def\dosetraggedvbox#1%
+ {\processaction
+ [#1]
+ [ \v!links=>\def\raggedbox{\lbox},
+ \v!rechts=>\def\raggedbox{\rbox},
+ \v!midden=>\def\raggedbox{\cbox},
+ \v!nee=>\def\raggedbox{\vbox\bgroup\raggedright\let\next=},
+ \s!default=>\def\raggedbox{\vbox},
+ \s!unknown=>\def\raggedbox{\vbox}]}
+
+\def\dosetraggedhbox#1%
+ {\processaction
+ [#1]
+ [ \v!links=>\let\raggedbox\regellinks,
+ \v!rechts=>\let\raggedbox\regelrechts,
+ \v!midden=>\let\raggedbox\regelmidden,
+ \v!normaal=>\let\raggedbox\hbox,
+ \s!default=>\let\raggedbox\hbox,
+ \s!unknown=>\let\raggedbox\hbox]}
+
+% \def\dosetraggedcommand#1% ook ruim,rechts en zo
+% {\processaction
+% [#1]
+% [ \v!links=>\def\raggedcommand{\raggedleft},
+% \v!rechts=>\def\raggedcommand{\raggedright},
+% \v!midden=>\def\raggedcommand{\raggedcenter},
+% \v!nee=>\def\raggedcommand{\raggedright},
+% \v!normaal=>\let\raggedcommand\relax,
+% \s!default=>\def\raggedcommand{\raggedcenter},
+% \s!unknown=>\let\raggedcommand\relax]}
+
+\def\dosetraggedcommand#1%
+ {\expanded{\dodosetraggedcommand{#1}}}
+
+\def\dodosetraggedcommand#1%
+ {\doifinsetelse{\v!ruim} {#1}{\!!doneatrue}{\!!doneafalse}%
+ \doifinsetelse{\v!breed}{#1}{\!!donebtrue}{\!!donebfalse}%
+ \let\raggedcommand\relax
+ \let\raggedtopcommand\empty
+ \let\raggedbottomcommand\empty
+ \!!donectrue
+ \ExpandFirstAfter\processallactionsinset
+ [#1]
+ [ \v!links=>\if!!donea \def\raggedcommand{\veryraggedleft}%
+ \else \def\raggedcommand{\raggedleft}%
+ \fi
+ \!!donecfalse, % {\v!links,\v!midden}
+ \v!rechts=>\if!!donea \def\raggedcommand{\veryraggedright}%
+ \else \def\raggedcommand{\raggedright}%
+ \fi
+ \!!donecfalse, % {\v!rechts,\v!midden}
+ \v!midden=>\if!!donec
+ \if!!doneb \def\raggedcommand{\raggedwidecenter}%
+ \else\if!!donea \def\raggedcommand{\veryraggedcenter}%
+ \else \def\raggedcommand{\raggedcenter}%
+ \fi\fi
+ \!!donecfalse % {\v!midden,\v!midden}
+ \else
+ \let\raggedbottomcommand\vfilll % bonus, pretty strong
+ \let\raggedtopcommand \vfilll % used with \framed for
+ \fi, % instance in tables
+ \v!hoog=>\let\raggedbottomcommand\vfilll, % and since we lack a
+ \v!laag=>\let\raggedtopcommand \vfilll, % proper keyword, but
+ \v!laho=>\let\raggedbottomcommand\vfilll % we do support the
+ \let\raggedtopcommand \vfilll, % ugly laho (lohi)
+ \v!nee=>\def\raggedcommand{\raggedright},
+ \v!ja=>\let\raggedcommand\relax,
+ \v!normaal=>\let\raggedcommand\relax]}
+
+% Nodig i.v.m. inspringen eerste alineas
+
+\def\explicithmode%
+ {\unhbox\voidb@x}
+
+% Nodig voor gebruikers
+
+\def\geentest{\donottest}
+
+% Nog doen:
+%
+% \goodbreak -> \allowbreak en \dosomebreak{..} in koppen
+%
+% bij koppen zowieso: \blanko[reset]
+
+% Nog in commando verwerken:
+%
+% \voorkeur … la \blanko
+%
+% Om ongewenste witruimte te voorkomen kan met \dosomebreak{\break}
+% een \penalty v¢¢r witruimte worden geplaatst.
+
+\def\removelastskip% a redefinition of plain
+ {\ifvmode\ifdim\lastskip=\z@\else\vskip-\lastskip\fi\fi}
+
+\def\dosomebreak#1%
+ {\skip0=\lastskip
+ \removelastskip
+ %\type{#1}%
+ #1\relax
+ \ifdim\skip0=\!!zeropoint
+ \else
+ \vskip\skip0
+ \fi}
+
+% beter, vooral in \vbox; nog in \pagina toepassen s!
+
+\def\doifoutervmode#1%
+ {\ifvmode\ifinner\else#1\fi\fi}
+
+\def\dosomebreak#1%
+ {\doifoutervmode
+ {\skip0=\lastskip
+ \removelastskip
+ %\leavevmode\type{#1}%
+ #1\relax
+ \ifdim\skip0=\!!zeropoint % else interference with footnotes
+ \else
+ \vskip\skip0
+ \fi}}
+
+% Idem:
+%
+% \springin
+
+%\def\noindentation% vervallen
+% {\EveryPar
+% {\ifdim\parindent=\!!zeropoint
+% \else
+% \bgroup
+% \setbox0=\lastbox
+% \egroup
+% \fi
+% \EveryPar{}}}
+
+\newif\ifindentation \indentationtrue % documenteren, naar buiten
+
+\let\checkindentation=\relax
+
+\def\donoindentation%
+ {\ifdim\parindent=\!!zeropoint
+ \else
+ \bgroup
+ \setbox0=\lastbox
+ \egroup
+ \fi}
+
+\def\noindentation% made global
+ {\ifinpagebody \else
+ \global\indentationfalse
+ \gdef\checkindentation%
+ {\donoindentation
+ \gdef\checkindentation{\global\indentationtrue}}%
+ \fi}
+
+\def\nonoindentation% bv bij floats
+ {\ifinpagebody \else
+ \global\indentationtrue
+ \gdef\checkindentation{\global\indentationtrue}%
+ \fi}
+
+\def\indentation%
+ {\ifvmode \ifdim\parindent=\!!zeropoint \else
+ % was : \hskip\parindent
+ % can be: \indent
+ % but we test:
+ \noindent\hskip\parindent
+ \fi \fi}
+
+% vergeten
+
+\def\forgeteverypar%
+ {\everypar{}}
+
+\def\forgeteverypar%
+ {\everypar{\the\neverypar}}
+
+\def\forgetparindent%
+ {\forgeteverypar
+ \indentfirstparagraphtrue % recently added
+ \stelinspringenin[\v!geen]}
+
+\def\forgetparskip%
+ {\stelwitruimtein[\v!geen]}
+
+\def\forgetbothskips%
+ {\tolerance=1500
+ \leftskip\!!zeropoint
+ \rightskip\!!zeropoint\relax}
+
+\def\forgetspacing%
+ {\emergencystretch\!!zeropoint\relax}
+
+\def\forgetall%
+ {\the\everyforgetall}
+
+\appendtoks \let\par\endgraf \to \everyforgetall % i.v.m. getpar etc
+\appendtoks \notragged \to \everyforgetall
+\appendtoks \forgetparskip \to \everyforgetall
+\appendtoks \forgetparindent \to \everyforgetall
+\appendtoks \forgetbothskips \to \everyforgetall
+\appendtoks \forgetspacing \to \everyforgetall % i.v.m. funny spacing in pagebody
+\appendtoks \everypar\emptytoks \to \everyforgetall % indeed!
+
+\def\localvbox#1#%
+ {\vbox#1\bgroup
+ \forgetparskip
+ \setlocalhsize
+ \hsize=\localhsize
+ \forgetparindent
+ \forgetbothskips
+ \forgeteverypar
+ \let\next=}
+
+% ach ja
+
+\unexpanded\def\dostartattributes#1#2#3%
+ {\begingroup % geen \bgroup, anders in mathmode lege \hbox
+ \doifdefinedelse{#1#2}
+ {\def\fontattribute{\getvalue{#1#2}}}
+ {\let\fontattribute=\empty}%
+ \doifdefinedelse{#1#3}
+ {\def\colorattribute{\getvalue{#1#3}}}
+ {\let\colorattribute=\empty}%
+ \startcolor[\colorattribute]%
+ \@EA\doconvertfont\@EA{\fontattribute}}
+
+\unexpanded\def\dostopattributes%
+ {\stopcolor
+ \endgroup}
+
+\unexpanded\def\doattributes#1#2#3#4%
+ {\dostartattributes{#1}{#2}{#3}{#4}\dostopattributes}
+
+% kan vaker worden toegepast:
+
+\newskip\leftskipadaption
+
+\def\doadaptleftskip#1%
+ {\dosetleftskipadaption{#1}%
+ \advance\leftskip by \leftskipadaption}
+
+\def\dosetleftskipadaption#1%
+ {\leftskipadaption\!!zeropoint
+ \processaction[#1] % \ExpandFirstAfter
+ [\v!standaard=>\leftskipadaption=
+ \ifdim\voorwit=\!!zeropoint\@@sllinks\else\voorwit\fi,
+ \v!ja=>\leftskipadaption=
+ \ifdim\voorwit=\!!zeropoint\@@sllinks\else\voorwit\fi,
+ \v!nee=>,
+ \s!unknown=>\leftskipadaption=#1]}
+
+% Dit hoort eigenlijk thuis onder het kopje boodschappen cq,
+% meldingen.
+
+\let\mindermeldingen\dontcomplain
+
+\definetwopasslist{\s!paragraph}
+
+\newcounter\nofraggedparagraphs
+
+\def\doparagraphreference% looks very much like domarginreference
+ {\doglobal\increment\nofraggedparagraphs\relax
+ \edef\writeparref%
+ {\writeutilitycommand%
+ {\twopassentry%
+ {\s!paragraph}%
+ {\nofraggedparagraphs}%
+ {\noexpand\realfolio}}}%
+ \writeparref}
+
+\def\setraggedparagraphmode#1#2%
+ {\ifinner
+ \ifdubbelzijdig
+ \gettwopassdata{\s!paragraph}%
+ \iftwopassdatafound
+ \ifodd\twopassdata#1\else#2\fi
+ \else
+ \ifodd\realfolio#1\else#2\fi
+ \fi
+ \doparagraphreference
+ \else
+ #2\relax
+ \fi
+ \else
+ #2\relax
+ \fi}
+
+% \let\doifrightpageelse\setraggedparagraphmode
+
+% De onderstaande macro's zijn opgenomen in Plain TeX.
+%
+% \def\raggedright%
+% {\rightskip\z@ plus2em \spaceskip.3333em \xspaceskip.5em\relax}
+%
+% \def\ttraggedright%
+% {\tttf\rightskip\z@ plus2em\relax}
+%
+% \newif\ifr@ggedbottom
+%
+% \def\raggedbottom%
+% {\topskip 10\p@ plus60\p@ \r@ggedbottomtrue}
+%
+% \def\normalbottom%
+% {\topskip 10\p@ \r@ggedbottomfalse}
+%
+% en worden hieronder wat aangepast.
+
+% the three boolean will become obsolete some day in favour
+% of \bottomraggedness
+
+\chardef\bottomraggedness=0 % 0=ragged 1=normal/align 2=baseline
+
+\def\bottomalignlimit{3\lineheight}
+
+\newif\ifn@rmalbottom
+\newif\ifr@ggedbottom
+\newif\ifb@selinebottom
+
+\def\raggedbottom%
+ {\chardef\bottomraggedness=0
+ \n@rmalbottomfalse
+ \r@ggedbottomtrue
+ \b@selinebottomfalse
+ \settopskip}
+
+\def\alignbottom%
+ {\chardef\bottomraggedness=1
+ \n@rmalbottomtrue
+ \r@ggedbottomfalse
+ \b@selinebottomfalse
+ \settopskip}
+
+\def\baselinebottom%
+ {\chardef\bottomraggedness=2
+ \n@rmalbottomfalse
+ \r@ggedbottomfalse
+ \b@selinebottomtrue
+ \settopskip}
+
+\let\normalbottom=\alignbottom % downward compatible
+
+% so, the new one will be
+%
+% \chardef\bottomraggedness=0 % 0=ragged 1=normal/align 2=baseline
+%
+% \def\bottomalignlimit{3\lineheight} % will be settable
+%
+% \def\raggedbottom {\chardef\bottomraggedness=0 \settopskip}
+% \def\alignbottom {\chardef\bottomraggedness=1 \settopskip}
+% \def\baselinebottom{\chardef\bottomraggedness=2 \settopskip}
+%
+% \let\normalbottom =\alignbottom
+
+% \hyphenpenalty = ( 2.5 * \hsize ) / \raggedness
+% \tolerance >= 1500 % was 200
+% \raggedness = 2 .. 6\korpsgrootte
+
+\chardef\raggedstatus=0 % normal left center right
+
+\def\leftraggedness {2\bodyfontsize}
+\def\rightraggedness {2\bodyfontsize}
+\def\middleraggedness {6\bodyfontsize}
+
+%D More hyphenation control, will be combined with align
+%D setup.
+
+\def\nohyphens%
+ {\ifx\dohyphens\relax
+ \edef\dohyphens%
+ {\hyphenpenalty\the\hyphenpenalty
+ \exhyphenpenalty\the\exhyphenpenalty\relax}%
+ \fi
+ \hyphenpenalty\@M
+ \exhyphenpenalty\@M}
+
+\let\dohyphens\relax
+
+%D To prevent unwanted side effects, we also have to check
+%D for hyphens here:
+
+\def\setraggedness#1%
+ {\ifnum\tolerance<1500\relax % small values have
+ \tolerance=1500\relax % unwanted side effects
+ \fi
+ \spaceskip=2.5\hsize % we misuse these registers
+ \xspaceskip=#1\relax % for temporary storage;
+ \divide\spaceskip by \xspaceskip % they are changed anyway
+ \ifx\dohyphens\relax
+ \hyphenpenalty=\spaceskip % \else no hyphens is active
+ \fi}
+
+\let\updateraggedskips\relax
+
+\def\setraggedskips#1#2#3#4#5#6#7% never change this name
+ {\def\updateraggedskips%
+ {\dosetraggedskips{#1}{#2}{#3}{#4}{#5}{#6}{#7}}%
+ \updateraggedskips}
+
+\def\dosetraggedskips#1#2#3#4#5#6#7%
+ {\chardef\raggedstatus=#1\relax
+ \leftskip=1\leftskip\!!plus#2\relax % zie: Tex By Topic 8.1.3
+ \rightskip=1\rightskip\!!plus#3\relax % zie: Tex By Topic 8.1.3
+ \spaceskip#4\relax
+ \xspaceskip#5\relax
+ \parfillskip\!!zeropoint\!!plus#6\relax
+ \parindent#7\relax}
+
+\def\notragged%
+ {\setraggedskips{0}{0em}{0em}{0em}{0em}{1fil}{\parindent}}
+
+\def\raggedleft%
+ {\setraggedness\leftraggedness
+ \setraggedskips{1}{\leftraggedness}{0em}{.3333em}{.5em}{0em}{0em}}
+
+\def\raggedcenter%
+ {\setraggedness\middleraggedness
+ \setraggedskips{2}{\middleraggedness}{\middleraggedness}{.3333em}{.5em}{0em}{0em}}
+
+%D We used to have:
+%D
+%D \starttypen
+%D \def\raggedright%
+%D {\setraggedness\rightraggedness
+%D \setraggedskips{3}{0em}{\rightraggedness}{.3333em}{.5em}{0em}{\parindent}}
+%D \stoptypen
+%D
+%D However, the next alternative, suggested by Taco, is better.
+
+\def\raggedright%
+ {\setraggedness\rightraggedness
+ \setraggedskips{3}{0em}{\rightraggedness}{.3333em}{.5em}{1fil}{\parindent}}
+
+\def\veryraggedleft%
+ {\setraggedskips{1}{1fil}{0em}{.3333em}{.5em}{0em}{0em}}
+
+%D When we want the last line to have a natural width:
+%D
+%D \starttypen
+%D \def\veryraggedleft%
+%D {\setraggedskips{1}{1fil}{0em}{.3333em}{.5em}{0em}{-1fil}}
+%D \stoptypen
+%D
+%D but this one is not accepted by the macros.
+
+\def\veryraggedcenter%
+ {\setraggedskips{2}{1fil}{1fil}{.3333em}{.5em}{0em}{0em}}
+
+\def\veryraggedright%
+ {\setraggedskips{3}{0em}{1fil}{.3333em}{.5em}{0em}{\parindent}}
+
+\def\ttraggedright%
+ {\tttf
+ \setraggedskips{3}{0em}{\rightraggedness}{0em}{0em}{0em}{\parindent}} % {\voorwit}}
+
+%D A bonus one:
+
+\def\raggedwidecenter%
+ {\setraggedness\middleraggedness
+ \setraggedskips{2}{.5fil}{.5fil}{.3333em}{.5em}{0em}{0em}}
+
+\newif\if@@asragged \@@asraggedtrue % old method
+
+\def\dodosteluitlijnenin[#1]%
+ {\doifinsetelse{\v!ruim} {#1}{\!!doneatrue}{\!!doneafalse}%
+ \doifinsetelse{\v!breed}{#1}{\!!donebtrue}{\!!donebfalse}%
+ \ExpandFirstAfter\processallactionsinset
+ [#1]
+ [ \v!regel=>\baselinebottom,
+ \v!onder=>\raggedbottom,
+ \v!hoogte=>\normalbottom,
+ \v!breedte=>\notragged,
+ \v!normaal=>\notragged,
+ \v!ja=>\notragged,
+ \v!nee=>\raggedright,
+\if@@asragged\v!binnen\else\v!buiten\fi
+ =>\setraggedparagraphmode\raggedleft\raggedright,
+\if@@asragged\v!buiten\else\v!binnen\fi
+ =>\setraggedparagraphmode\raggedright\raggedleft,
+\if@@asragged\v!links\else\v!rechts\fi
+ =>\if!!donea\veryraggedleft \else\raggedleft \fi,
+\if@@asragged\v!rechts\else\v!links\fi
+ =>\if!!donea\veryraggedright \else\raggedright \fi,
+ \v!midden=>\if!!doneb\raggedwidecenter\else
+ \if!!donea\veryraggedcenter\else\raggedcenter\fi\fi,
+ \v!hangend=>\enableprotruding,
+ \v!niethangend=>\disableprotruding,
+ \v!afgebroken=>\dohyphens,
+\v!nietafgebroken=>\nohyphens,
+ \v!nieuw=>\@@asraggedfalse, % so new will give you consistency
+ \v!reset=>\notragged\normalbottom]}
+
+\def\dosteluitlijnenin[#1]%
+ {\expanded{\dodosteluitlijnenin[#1]}}
+
+\def\steluitlijnenin%
+ {\dosingleargument\dosteluitlijnenin}
+
+\def\startuitlijnen%
+ {\bgroup
+ \steluitlijnenin}
+
+\def\stopuitlijnen
+ {\par
+ \egroup}
+
+%\def\regellinks#1%
+% {\noindent\leftline{{\strut#1}}}
+%
+%\def\regelrechts#1%
+% {\noindent\rightline{{#1\strut}}}
+%
+%\def\regelmidden#1%
+% {\noindent\centerline{{\strut#1}}}
+
+\def\doalignline#1#2%
+ {\dowithnextbox
+ {\noindent\hbox to \hsize
+ {\strut#1\unhbox\nextbox#2}}
+ \hbox}
+
+% also supporting \\
+%
+% \def\doalignline#1#2%
+% {\dowithnextbox
+% {\noindent\hbox to \hsize
+% {\strut#1\unhbox\nextbox#2}}
+% \hbox\bgroup
+% \def\\{\egroup\par\doalignline#1#2\bgroup}\let\next=}
+
+\def\doalignline#1#2%
+ {\bgroup
+ \def\\{\egroup\par\doalignline#1#2\bgroup}%
+ \dowithnextbox
+ {\noindent\hbox to \hsize
+ {\strut#1\unhbox\nextbox#2}\egroup}
+ \hbox}
+
+% directe commando's
+
+\def\regellinks {\doalignline \relax \hss }
+\def\regelrechts{\doalignline \hss \relax}
+\def\regelmidden{\doalignline \hss \hss }
+
+\def\regelbegrensd#1{\limitatetext{#1}{\hsize}{\unknown}}
+
+% indirecte commando's
+
+\setvalue{regel\v!links }{\doalignline \relax \hss }
+\setvalue{regel\v!rechts}{\doalignline \hss \relax}
+\setvalue{regel\v!midden}{\doalignline \hss \hss }
+
+\def\doregelplaats#1%
+ {\getvalue{regel#1}}
+
+\def\dosteltolerantiein[#1]%
+ {\doifinsetelse{\v!vertikaal}{#1}%
+ {\ExpandFirstAfter\processallactionsinset
+ [#1]
+ [\v!zeerstreng=>\def\bottomtolerance{},
+ \v!streng=>\def\bottomtolerance{.050},
+ \v!soepel=>\def\bottomtolerance{.075},
+ \v!zeersoepel=>\def\bottomtolerance{.100}]}%
+ {\ExpandFirstAfter\processallactionsinset
+ [#1]
+ [ \v!rek=>\emergencystretch=\bodyfontsize,
+ \v!zeerstreng=>\tolerance=200,
+ \v!streng=>\tolerance=1500,
+ \v!soepel=>\tolerance=3000,
+ \v!zeersoepel=>\tolerance=4500]}}
+
+\def\steltolerantiein%
+ {\dosingleargument\dosteltolerantiein}
+
+\def\woordrechts%
+ {\groupedcommand{\hfill\hbox}{\parfillskip\!!zeropoint}}
+
+
+\stelwitruimtein
+ [\v!geen]
+
+\inspringen
+ [\v!nooit]
+
+\stelinspringenin
+ [\v!geen]
+
+\stelblankoin
+ [\v!standaard,
+ \v!groot]
+
+\definieerblanko[\v!default] [\currentblanko]
+\definieerblanko[\v!voor] [\v!default]
+\definieerblanko[\v!tussen] [\v!default]
+\definieerblanko[\v!na] [\v!voor]
+
+% doen?
+
+\def\@@blankovoor {\blanko[\v!voor]} %
+\def\@@blankotussen{\blanko[\v!tussen]} % scheelt 5 tokens == >20 bytes
+\def\@@blankona {\blanko[\v!na]} %
+
+\stelinterliniein
+ [\c!hoogte=.72,
+ \c!diepte=.28,
+ \c!boven=1.0,
+ \c!onder=0.4,
+ \c!afstand=1pt,
+ \c!regel=2.8ex]
+
+\stelsmallerin
+ [\c!links=1.5em,
+ \c!rechts=1.5em,
+ \c!midden=1.5em]
+
+\steltolerantiein
+ [\v!horizontaal,\v!zeerstreng]
+
+\steltolerantiein
+ [\v!vertikaal,\v!streng]
+
+\steluitlijnenin
+ [\v!onder,
+ \v!breedte]
+
+\stelspatieringin
+ [\v!opelkaar]
+
+\protect \endinput
diff --git a/tex/context/base/enco-def.tex b/tex/context/base/enco-def.tex
index f49549e98..37f108b60 100644
--- a/tex/context/base/enco-def.tex
+++ b/tex/context/base/enco-def.tex
@@ -27,6 +27,7 @@
\definecharacter textcaron 20
\definecharacter textbreve 21
\definecharacter textmacron 22
+\definecharacter textring 23
\definecharacter textcedilla 24
\definecharacter textogonek 24 % no !
\definecharacter textbottomdot 46
@@ -78,6 +79,8 @@
\definecharacter atilde {\buildtextaccent\texttilde a}
\definecharacter Itilde {\buildtextaccent\texttilde \dotlessI}
\definecharacter itilde {\buildtextaccent\texttilde \dotlessi}
+\definecharacter Ntilde {\buildtextaccent\texttilde N}
+\definecharacter ntilde {\buildtextaccent\texttilde n}
\definecharacter Otilde {\buildtextaccent\texttilde O}
\definecharacter otilde {\buildtextaccent\texttilde o}
\definecharacter Utilde {\buildtextaccent\texttilde U}
@@ -179,10 +182,10 @@
\definecharacter Uogonek {\buildtextogonek U}
\definecharacter uogonek {\buildtextogonek u}
-\definecharacter Aring {A}
-\definecharacter aring {a}
-\definecharacter Uring {U}
-\definecharacter uring {u}
+\definecharacter Aring {\buildtextaccent\textring A}
+\definecharacter aring {\buildtextaccent\textring a}
+\definecharacter Uring {\buildtextaccent\textring U}
+\definecharacter uring {\buildtextaccent\textring u}
\definecharacter Abreve {\buildtextaccent\textbreve A}
\definecharacter abreve {\buildtextaccent\textbreve a}
@@ -223,16 +226,22 @@
\definecharacter dotlessI {I}
\definecharacter dotlessJ {J}
-\definecharacter AEligature {\char"1D }
-\definecharacter aeligature {\char"1A }
-\definecharacter Lstroke {\char32L}
-\definecharacter lstroke {\char32l}
-\definecharacter Ostroke {\char"1F }
-\definecharacter ostroke {\char"1C }
-\definecharacter OEligature {\char"1E }
-\definecharacter oeligature {\char"1B }
+% \definecharacter ffligature {\char11 }
+% \definecharacter filigature {\char12 }
+% \definecharacter flligature {\char13 }
+% \definecharacter ffiligature {\char14 }
+% \definecharacter fflligature {\char15 }
+
+\definecharacter AEligature {\char29 } % "1D
+\definecharacter aeligature {\char26 } % "1A
+\definecharacter Lstroke {\hsmash{\char32}L}
+\definecharacter lstroke {\hsmash{\char32}l}
+\definecharacter Ostroke {\char31 } % "1F
+\definecharacter ostroke {\char28 } % "1C
+\definecharacter OEligature {\char30 } % "1E
+\definecharacter oeligature {\char27 } % "1B
\definecharacter Ssharp {SS}
-\definecharacter ssharp {\char"19 }
+\definecharacter ssharp {\char25 } % "19
\definecharacter IJligature {IJ}
\definecharacter ijligature {ij}
diff --git a/tex/context/base/enco-ini.tex b/tex/context/base/enco-ini.tex
index 3e9c1da1e..a65fa843b 100644
--- a/tex/context/base/enco-ini.tex
+++ b/tex/context/base/enco-ini.tex
@@ -386,8 +386,9 @@
\ifx\enabledmapping\charactermapping \else
\doifdefined{\@map@\charactermapping}
{\the\csname\@map@\charactermapping\endcsname}%
+ \edef\enabledmapping{\charactermapping}%
\enablelanguagespecifics[\currentlanguage]% new
- \edef\enabledmapping{\charactermapping\currentlanguage}%
+% \edef\enabledmapping{\charactermapping\currentlanguage}%
\fi
\synchronizepatterns}
@@ -960,9 +961,9 @@
%D can be used to check the correct loading of hyphenation
%D patterns.
-\fetchruntimecommand \showaccents {\f!encodingprefix run}
-\fetchruntimecommand \showcharacters {\f!encodingprefix run}
-\fetchruntimecommand \showhyphenations {\f!encodingprefix run}
+\fetchruntimecommand \showaccents {\f!encodingprefix\s!run}
+\fetchruntimecommand \showcharacters {\f!encodingprefix\s!run}
+\fetchruntimecommand \showhyphenations {\f!encodingprefix\s!run}
%D {\em The next section is experimental and implements font
%D specific features, like hanging punctuation.}
diff --git a/tex/context/base/enco-run.tex b/tex/context/base/enco-run.tex
index 02df0abde..082d89050 100644
--- a/tex/context/base/enco-run.tex
+++ b/tex/context/base/enco-run.tex
@@ -18,7 +18,7 @@
{\ifcase##1\relax\red\or\blue\else\green\fi##1\hss##2}}%
\let\normalbuildtextaccent\buildtextaccent
\let\normalbottomaccent \bottomaccent
-% \def\char{\green\normalchar}%
+ %\def\char{\green\normalchar}%
\def\char% can be used in \oalign
{\bgroup\def\char{\green\normalchar\scratchcounter\egroup}%
\afterassignment\char\scratchcounter}%
@@ -26,25 +26,28 @@
\def\bottomaccent{\let\green\empty\red\normalbottomaccent}}
\gdef\visualizecharacterslegend%
- {\hbox{\currentencoding:\space
+ {\hbox{\currentencoding\space\fontname\font:\space
{\blue composed}\space{\red bottom}\space{\green char}\space raw}}
\gdef\showaccents%
{\bgroup
+ \savefont
+ \setuptextrules[\c!letter=]
\starttextrule{\visualizecharacterslegend}
+ \restorefont\stelinterliniein
\visualizecharacters
\def\do##1%
{{\def\dodo####1%
- {\hss\hbox to 1em{\hss\expanded{##1####1\recurselevel}\hss}}%
- \hbox to \hsize
- {\localcolortrue
- \hbox to 2em{\tttf\string##1\hss}%
- \dorecurse{26}{\dodo\character}}%
- \hbox to \hsize
- {\localcolortrue
- \hskip2em
- \dorecurse{26}{\dodo\Character}}}%
- \par}
+ {\hss\hbox to 1em{\hss\expanded{##1####1\recurselevel}\hss}}%
+ \hbox to \hsize
+ {\localcolortrue
+ \hbox to 2em{\tttf\string##1\hss}%
+ \dorecurse{26}{\dodo\character}}%
+ \hbox to \hsize
+ {\localcolortrue
+ \hskip2em
+ \dorecurse{26}{\dodo\Character}}}%
+ \par}
\do\'\do\`\do\^\do\~\do\"
\do\H\do\r\do\v\do\u\do\=
\do\.\do\b\do\d\do\k\do\c
@@ -53,6 +56,9 @@
\gdef\showcharacters%
{\bgroup
+ \savefont
+ \setuptextrules[\c!letter=]
+ \starttextrule{\visualizecharacterslegend}
\dontcomplain
\forgetall
\def\startencoding[##1]{}
@@ -74,10 +80,12 @@
\edef\enccols{\number\dimen0}
\visualizecharacters
\startcolumns[\c!n=\enccols,\c!afstand=2em]
+ \restorefont\stelinterliniein
\def\definecharacter ##1 ##2 %
{\hbox{\localcolortrue\hbox to \encwidth{\getvalue{##1}\hss}##1}\par}
\readsysfile{\f!encodingprefix def}{}{}
\stopcolumns
+ \stoptextrule
\egroup}
\gdef\showhyphenations#1%
diff --git a/tex/context/base/font-aer.tex b/tex/context/base/font-aer.tex
deleted file mode 100644
index 4e21fc1d8..000000000
--- a/tex/context/base/font-aer.tex
+++ /dev/null
@@ -1,69 +0,0 @@
-%D \module
-%D [ file=font-aer,
-%D version=2000.09.20,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Computer Modern,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D This file remaps the default Computer Modern Font Files
-%D onto the virtual EC ones, so that hyphenations work well.
-
-\resetfontdefinitionfile[cmr]
-
-\definefontsynonym [cmb10] [aeb10] [encoding=ec]
-\definefontsynonym [cmcsc10] [aecsc10] [encoding=ec]
-\definefontsynonym [cmsl10] [aesl10] [encoding=ec]
-\definefontsynonym [cmssbx10] [aessbx10] [encoding=ec]
-\definefontsynonym [cmti7] [aeti7] [encoding=ec]
-\definefontsynonym [cmbx10] [aebx10] [encoding=ec]
-\definefontsynonym [cmitt10] [aeitt10] [encoding=ec]
-\definefontsynonym [cmsl12] [aesl12] [encoding=ec]
-\definefontsynonym [cmssdc10] [aessdc10] [encoding=ec]
-\definefontsynonym [cmti8] [aeti8] [encoding=ec]
-\definefontsynonym [cmbx12] [aebx12] [encoding=ec]
-\definefontsynonym [cmr10] [aer10] [encoding=ec]
-\definefontsynonym [cmsl8] [aesl8] [encoding=ec]
-\definefontsynonym [cmssi10] [aessi10] [encoding=ec]
-\definefontsynonym [cmti9] [aeti9] [encoding=ec]
-\definefontsynonym [cmbx5] [aebx5] [encoding=ec]
-\definefontsynonym [cmr12] [aer12] [encoding=ec]
-\definefontsynonym [cmsl9] [aesl9] [encoding=ec]
-\definefontsynonym [cmssi12] [aessi12] [encoding=ec]
-\definefontsynonym [cmtt10] [aett10] [encoding=ec]
-\definefontsynonym [cmbx6] [aebx6] [encoding=ec]
-\definefontsynonym [cmr17] [aer17] [encoding=ec]
-\definefontsynonym [cmsltt10] [aesltt10] [encoding=ec]
-\definefontsynonym [cmssi17] [aessi17] [encoding=ec]
-\definefontsynonym [cmtt12] [aett12] [encoding=ec]
-\definefontsynonym [cmbx7] [aebx7] [encoding=ec]
-\definefontsynonym [cmr5] [aer5] [encoding=ec]
-\definefontsynonym [cmss10] [aess10] [encoding=ec]
-\definefontsynonym [cmssi8] [aessi8] [encoding=ec]
-\definefontsynonym [cmtt8] [aett8] [encoding=ec]
-\definefontsynonym [cmbx8] [aebx8] [encoding=ec]
-\definefontsynonym [cmr6] [aer6] [encoding=ec]
-\definefontsynonym [cmss12] [aess12] [encoding=ec]
-\definefontsynonym [cmssi9] [aessi9] [encoding=ec]
-\definefontsynonym [cmtt9] [aett9] [encoding=ec]
-\definefontsynonym [cmbx9] [aebx9] [encoding=ec]
-\definefontsynonym [cmr7] [aer7] [encoding=ec]
-\definefontsynonym [cmss17] [aess17] [encoding=ec]
-\definefontsynonym [cmtcsc10] [aetcsc10] [encoding=ec]
-\definefontsynonym [cmbxsl10] [aebxsl10] [encoding=ec]
-\definefontsynonym [cmr8] [aer8] [encoding=ec]
-\definefontsynonym [cmss8] [aess8] [encoding=ec]
-\definefontsynonym [cmti10] [aeti10] [encoding=ec]
-\definefontsynonym [cmbxti10] [aebxti10] [encoding=ec]
-\definefontsynonym [cmr9] [aer9] [encoding=ec]
-\definefontsynonym [cmss9] [aess9] [encoding=ec]
-\definefontsynonym [cmti12] [aeti12] [encoding=ec]
-
-\setupbodyfont[cmr]
-
-\endinput
diff --git a/tex/context/base/font-ams.tex b/tex/context/base/font-ams.tex
deleted file mode 100644
index be264f3ce..000000000
--- a/tex/context/base/font-ams.tex
+++ /dev/null
@@ -1,506 +0,0 @@
-%D \module
-%D [ file=font-ams,
-%D version=1995.1.1,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=AMS Math Symbols,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-
-%D Here we implement the symbol fonts as provided by the
-%D American Mathematical Society. The names of these symbols
-%D can be found in The Joy of \TeX\ by M.~Spivak.
-%D
-%D First we extend the already defined font sets a bit. We make
-%D use of the \type{sa} option.
-
-\definefontsynonym [MathAlpha] [msam10]
-\definefontsynonym [MathBeta] [msbm10]
-
-\definebodyfont [14.4pt,12pt,11pt,10pt,9pt] [mm]
- [ma=msam10 sa 1,
- mb=msbm10 sa 1]
-
-\definebodyfont [8pt,7pt] [mm]
- [ma=msam7 sa 1,
- mb=msbm7 sa 1]
-
-\definebodyfont [6pt,5pt,4pt] [mm]
- [ma=msam5 sa 1,
- mb=msbm5 sa 1]
-
-%D We already have defined some additional math families. This
-%D means that do not have to do this again. It would exhaust our
-%D limited pool of \type{\fam}'s anyway.
-
-\unprotect
-
-\let\msafam=\mafam
-\let\msbfam=\mbfam
-
-\let\msafam@=\hexmafam
-\let\msbfam@=\hexmbfam
-
-\protect
-
-%D The following piece of \TEX\ is part of the distribution
-%D of the \AMS\ fonts. The macros are slightly adapted to the
-%D \CONTEXT\ way of font handling, which means that we have
-%D commented out some sections. The comments are original.
-
-%D \starttypen
-%D %% @texfile{
-%D %% filename="amssym.def",
-%D %% version="2.1",
-%D %% date="5-APR-1991",
-%D %% filetype="TeX: option",
-%D %% copyright="Copyright (C) American Mathematical Society,
-%D %% all rights reserved. Copying of this file is
-%D %% authorized only if either:
-%D %% (1) you make absolutely no changes to your copy
-%D %% including name; OR
-%D %% (2) if you do make changes, you first rename it to some
-%D %% other name.",
-%D %% author="American Mathematical Society",
-%D %% address="American Mathematical Society,
-%D %% Technical Support Department,
-%D %% P. O. Box 6248,
-%D %% Providence, RI 02940,
-%D %% USA",
-%D %% telephone="401-455-4080 or (in the USA) 800-321-4AMS",
-%D %% email="Internet: Tech-Support@Math.AMS.org",
-%D %% codetable="ISO/ASCII",
-%D %% checksumtype="line count",
-%D %% checksum="108",
-%D %% keywords="amsfonts, tex",
-%D %% abstract="This file contains definitions that perform the same
-%D %% functions as similar ones in AMS-TeX, so that the file
-%D %% AMSSYM.TEX can be used outside of AMS-TeX. Instructions
-%D %% for using this file and the AMS symbol fonts are
-%D %% included in the AMSFonts 2.0 User's Guide."
-%D %% }
-%D \stoptypen
-
-\expandafter\ifx\csname amssym.def\endcsname\relax\else\endinput\fi
-
-%D Store the catcode of the @ in the csname so that it can be
-%D restored later.
-
-\expandafter\edef\csname amssym.def\endcsname%
- {\catcode`\noexpand\@=\the\catcode`\@\normalspace}
-
-%D Set the catcode to 11 for use in private control sequence
-%D names.
-
-\unprotect % \catcode`\@=11
-
-%D Include all definitions related to the fonts msam, msbm and
-%D eufm, so that when this file is used by itself, the results
-%D with respect to those fonts are equivalent to what they
-%D would have been using \AMSTEX. Most symbols in fonts msam
-%D and msbm are defined using \type{\newsymbol}; however, a few
-%D symbols that replace composites defined in plain must be
-%D defined with \type{\mathchardef}.
-
-\let\normalundefine\undefine
-\let\normalnewsymbol\newsymbol
-
-\def\undefine#1%
- {\let#1\undefined}
-
-\def\newsymbol#1#2#3#4#5%
- {\let\next@\relax
- \ifnum#2=\@ne
- \let\next@\msafam@
- \else
- \ifnum#2=\tw@
- \let\next@\msbfam@
- \fi
- \fi
- \mathchardef#1="#3\next@#4#5}
-
-\def\mathhexbox@#1#2#3%
- {\relax
- \ifmmode
- \mathpalette{}{\m@th\mathchar"#1#2#3}%
- \else
- \leavevmode
- \hbox{$\m@th\mathchar"#1#2#3$}%
- \fi}
-
-%D \starttypen
-%D \def\hexnumber@#1%
-%D {\ifcase#1
-%D 0\or 1\or 2\or 3\or
-%D 4\or 5\or 6\or 7\or
-%D 8\or 9\or A\or B\or
-%D C\or D\or E\or F\fi}
-%D
-%D \font\tenmsa=msam10
-%D \font\sevenmsa=msam7
-%D \font\fivemsa=msam5
-%D \newfam\msafam
-%D \textfont\msafam=\tenmsa
-%D \scriptfont\msafam=\sevenmsa
-%D \scriptscriptfont\msafam=\fivemsa
-%D \edef\msafam@%
-%D {\hexnumber@\msafam}
-%D \stoptypen
-
-\mathchardef\dabar@"0\msafam@39
-
-\def\dashrightarrow {\mathrel{\dabar@\dabar@\mathchar"0\msafam@4B}}
-\def\dashleftarrow {\mathrel{\mathchar"0\msafam@4C\dabar@\dabar@}}
-\let\dasharrow \dashrightarrow
-\def\ulcorner {\delimiter"4\msafam@70\msafam@70 }
-\def\urcorner {\delimiter"5\msafam@71\msafam@71 }
-\def\llcorner {\delimiter"4\msafam@78\msafam@78 }
-\def\lrcorner {\delimiter"5\msafam@79\msafam@79 }
-\def\yen {{\mathhexbox@\msafam@55 }}
-\def\checkmark {{\mathhexbox@\msafam@58 }}
-\def\circledR {{\mathhexbox@\msafam@72 }}
-\def\maltese {{\mathhexbox@\msafam@7A }}
-
-%D \starttypen
-%D \font\tenmsb=msbm10
-%D \font\sevenmsb=msbm7
-%D \font\fivemsb=msbm5
-%D \newfam\msbfam
-%D \textfont\msbfam=\tenmsb
-%D \scriptfont\msbfam=\sevenmsb
-%D \scriptscriptfont\msbfam=\fivemsb
-%D \edef\msbfam@%
-%D {\hexnumber@\msbfam}
-%D \stoptypen
-
-\def\Bbb#1%
- {{\fam\msbfam\relax#1}}
-
-\def\widehat#1%
- {\setbox\z@\hbox{$\m@th#1$}%
- \ifdim\wd\z@>\tw@ em%
- \mathaccent"0\msbfam@5B{#1}%
- \else
- \mathaccent"0362{#1}%
- \fi}
-
-\def\widetilde#1%
- {\setbox\z@\hbox{$\m@th#1$}%
- \ifdim\wd\z@>\tw@ em%
- \mathaccent"0\msbfam@5D{#1}%
- \else
- \mathaccent"0365{#1}%
- \fi}
-
-%D \starttypen
-%D \font\teneufm=eufm10
-%D \font\seveneufm=eufm7
-%D \font\fiveeufm=eufm5
-%D \newfam\eufmfam
-%D \textfont\eufmfam=\teneufm
-%D \scriptfont\eufmfam=\seveneufm
-%D \scriptscriptfont\eufmfam=\fiveeufm
-%D \def\frak#1{{\fam\eufmfam\relax#1}}
-%D \let\goth\frak
-%D \stoptypen
-
-%D Restore the catcode value for @ that was previously saved.
-
-\csname amssym.def\endcsname
-
-%D \starttypen
-%D %% @texfile{
-%D %% filename="amssym.tex",
-%D %% version="2.1a",
-%D %% date="31-OCT-1991",
-%D %% filetype="TeX: option",
-%D %% copyright="Copyright (C) American Mathematical Society,
-%D %% all rights reserved. Copying of this file is
-%D %% authorized only if either:
-%D %% (1) you make absolutely no changes to your copy
-%D %% including name; OR
-%D %% (2) if you do make changes, you first rename it to some
-%D %% other name.",
-%D %% author="American Mathematical Society",
-%D %% address="American Mathematical Society,
-%D %% Technical Support Department,
-%D %% P. O. Box 6248,
-%D %% Providence, RI 02940,
-%D %% USA",
-%D %% telephone="401-455-4080 or (in the USA) 800-321-4AMS",
-%D %% email="Internet: Tech-Support@Math.AMS.org",
-%D %% codetable="ISO/ASCII",
-%D %% checksumtype="line count",
-%D %% checksum="279",
-%D %% keywords="amstex, ams-tex, tex, amsfonts, math symbols",
-%D %% abstract="This file defines names for all the math symbols in
-%D %% the math symbol fonts of the AMSFonts package (MSAM and
-%D %% MSBM). If this file is not used by way of the AMS-TeX
-%D %% \UseAMSsymbols command, it must be used in conjunction
-%D %% with AMSSYM.DEF, which provides a definition of the
-%D %% \newsymbol and \undefine commands.
-%D %% Instructions for using the AMS symbol fonts are
-%D %% included in: AMS-TeX 2.1 User's Guide; AMSFonts 2.1
-%D %% User's Guide; The Joy of TeX, editions dated 1990 or
-%D %% later."
-%D %% }
-%D \stoptypen
-
-%D Save the current value of the @-sign catcode so that it can
-%D be restored afterwards. This allows us to call amssym.tex
-%D either within an \AMSTEX\ document style file or by itself,
-%D in addition to providing a means of testing whether the file
-%D has been previously loaded. We want to avoid inputting this
-%D file twice because when \AMSTEX\ is being used
-%D \type{\newsymbol} will give an error message if used to
-%D define a control sequence name that is already defined.
-
-%D If the csname is not equal to \type{\relax}, we assume this
-%D file has already been loaded and \type{\endinput}
-%D immediately.
-
-\expandafter\ifx\csname pre amssym.tex at\endcsname\relax \else \endinput\fi
-
-%D Otherwise we store the catcode of the @ in the csname.
-
-\expandafter\chardef\csname pre amssym.tex at\endcsname=\the\catcode`\@
-
-%D Set the catcode to 11 for use in private control sequence
-%D names.
-
-\catcode`\@=11
-
-%D Most symbols in fonts msam and msbm are defined using
-%D \type{\newsymbol}. A few that are delimiters or otherwise
-%D require special treatment have already been defined as soon
-%D as the fonts were loaded. Finally, a few symbols that
-%D replace composites defined in plain must be undefined first.
-
-\newsymbol\boxdot 1200
-\newsymbol\boxplus 1201
-\newsymbol\boxtimes 1202
-\newsymbol\square 1003
-\newsymbol\blacksquare 1004
-\newsymbol\centerdot 1205
-\newsymbol\lozenge 1006
-\newsymbol\blacklozenge 1007
-\newsymbol\circlearrowright 1308
-\newsymbol\circlearrowleft 1309
-\undefine\rightleftharpoons
-\newsymbol\rightleftharpoons 130A
-\newsymbol\leftrightharpoons 130B
-\newsymbol\boxminus 120C
-\newsymbol\Vdash 130D
-\newsymbol\Vvdash 130E
-\newsymbol\vDash 130F
-\newsymbol\twoheadrightarrow 1310
-\newsymbol\twoheadleftarrow 1311
-\newsymbol\leftleftarrows 1312
-\newsymbol\rightrightarrows 1313
-\newsymbol\upuparrows 1314
-\newsymbol\downdownarrows 1315
-\newsymbol\upharpoonright 1316
- \let\restriction\upharpoonright
-\newsymbol\downharpoonright 1317
-\newsymbol\upharpoonleft 1318
-\newsymbol\downharpoonleft 1319
-\newsymbol\rightarrowtail 131A
-\newsymbol\leftarrowtail 131B
-\newsymbol\leftrightarrows 131C
-\newsymbol\rightleftarrows 131D
-\newsymbol\Lsh 131E
-\newsymbol\Rsh 131F
-\newsymbol\rightsquigarrow 1320
-\newsymbol\leftrightsquigarrow 1321
-\newsymbol\looparrowleft 1322
-\newsymbol\looparrowright 1323
-\newsymbol\circeq 1324
-\newsymbol\succsim 1325
-\newsymbol\gtrsim 1326
-\newsymbol\gtrapprox 1327
-\newsymbol\multimap 1328
-\newsymbol\therefore 1329
-\newsymbol\because 132A
-\newsymbol\doteqdot 132B
- \let\Doteq\doteqdot
-\newsymbol\triangleq 132C
-\newsymbol\precsim 132D
-\newsymbol\lesssim 132E
-\newsymbol\lessapprox 132F
-\newsymbol\eqslantless 1330
-\newsymbol\eqslantgtr 1331
-\newsymbol\curlyeqprec 1332
-\newsymbol\curlyeqsucc 1333
-\newsymbol\preccurlyeq 1334
-\newsymbol\leqq 1335
-\newsymbol\leqslant 1336
-\newsymbol\lessgtr 1337
-\newsymbol\backprime 1038
-\newsymbol\risingdotseq 133A
-\newsymbol\fallingdotseq 133B
-\newsymbol\succcurlyeq 133C
-\newsymbol\geqq 133D
-\newsymbol\geqslant 133E
-\newsymbol\gtrless 133F
-\newsymbol\sqsubset 1340
-\newsymbol\sqsupset 1341
-\newsymbol\vartriangleright 1342
-\newsymbol\vartriangleleft 1343
-\newsymbol\trianglerighteq 1344
-\newsymbol\trianglelefteq 1345
-\newsymbol\bigstar 1046
-\newsymbol\between 1347
-\newsymbol\blacktriangledown 1048
-\newsymbol\blacktriangleright 1349
-\newsymbol\blacktriangleleft 134A
-\newsymbol\vartriangle 134D
-\newsymbol\blacktriangle 104E
-\newsymbol\triangledown 104F
-\newsymbol\eqcirc 1350
-\newsymbol\lesseqgtr 1351
-\newsymbol\gtreqless 1352
-\newsymbol\lesseqqgtr 1353
-\newsymbol\gtreqqless 1354
-\newsymbol\Rrightarrow 1356
-\newsymbol\Lleftarrow 1357
-\newsymbol\veebar 1259
-\newsymbol\barwedge 125A
-\newsymbol\doublebarwedge 125B
-\undefine\angle
-\newsymbol\angle 105C
-\newsymbol\measuredangle 105D
-\newsymbol\sphericalangle 105E
-\newsymbol\varpropto 135F
-\newsymbol\smallsmile 1360
-\newsymbol\smallfrown 1361
-\newsymbol\Subset 1362
-\newsymbol\Supset 1363
-\newsymbol\Cup 1264
- \let\doublecup\Cup
-\newsymbol\Cap 1265
- \let\doublecap\Cap
-\newsymbol\curlywedge 1266
-\newsymbol\curlyvee 1267
-\newsymbol\leftthreetimes 1268
-\newsymbol\rightthreetimes 1269
-\newsymbol\subseteqq 136A
-\newsymbol\supseteqq 136B
-\newsymbol\bumpeq 136C
-\newsymbol\Bumpeq 136D
-\newsymbol\lll 136E
- \let\llless\lll
-\newsymbol\ggg 136F
- \let\gggtr\ggg
-\newsymbol\circledS 1073
-\newsymbol\pitchfork 1374
-\newsymbol\dotplus 1275
-\newsymbol\backsim 1376
-\newsymbol\backsimeq 1377
-\newsymbol\complement 107B
-\newsymbol\intercal 127C
-\newsymbol\circledcirc 127D
-\newsymbol\circledast 127E
-\newsymbol\circleddash 127F
-\newsymbol\lvertneqq 2300
-\newsymbol\gvertneqq 2301
-\newsymbol\nleq 2302
-\newsymbol\ngeq 2303
-\newsymbol\nless 2304
-\newsymbol\ngtr 2305
-\newsymbol\nprec 2306
-\newsymbol\nsucc 2307
-\newsymbol\lneqq 2308
-\newsymbol\gneqq 2309
-\newsymbol\nleqslant 230A
-\newsymbol\ngeqslant 230B
-\newsymbol\lneq 230C
-\newsymbol\gneq 230D
-\newsymbol\npreceq 230E
-\newsymbol\nsucceq 230F
-\newsymbol\precnsim 2310
-\newsymbol\succnsim 2311
-\newsymbol\lnsim 2312
-\newsymbol\gnsim 2313
-\newsymbol\nleqq 2314
-\newsymbol\ngeqq 2315
-\newsymbol\precneqq 2316
-\newsymbol\succneqq 2317
-\newsymbol\precnapprox 2318
-\newsymbol\succnapprox 2319
-\newsymbol\lnapprox 231A
-\newsymbol\gnapprox 231B
-\newsymbol\nsim 231C
-\newsymbol\ncong 231D
-\newsymbol\diagup 231E
-\newsymbol\diagdown 231F
-\newsymbol\varsubsetneq 2320
-\newsymbol\varsupsetneq 2321
-\newsymbol\nsubseteqq 2322
-\newsymbol\nsupseteqq 2323
-\newsymbol\subsetneqq 2324
-\newsymbol\supsetneqq 2325
-\newsymbol\varsubsetneqq 2326
-\newsymbol\varsupsetneqq 2327
-\newsymbol\subsetneq 2328
-\newsymbol\supsetneq 2329
-\newsymbol\nsubseteq 232A
-\newsymbol\nsupseteq 232B
-\newsymbol\nparallel 232C
-\newsymbol\nmid 232D
-\newsymbol\nshortmid 232E
-\newsymbol\nshortparallel 232F
-\newsymbol\nvdash 2330
-\newsymbol\nVdash 2331
-\newsymbol\nvDash 2332
-\newsymbol\nVDash 2333
-\newsymbol\ntrianglerighteq 2334
-\newsymbol\ntrianglelefteq 2335
-\newsymbol\ntriangleleft 2336
-\newsymbol\ntriangleright 2337
-\newsymbol\nleftarrow 2338
-\newsymbol\nrightarrow 2339
-\newsymbol\nLeftarrow 233A
-\newsymbol\nRightarrow 233B
-\newsymbol\nLeftrightarrow 233C
-\newsymbol\nleftrightarrow 233D
-\newsymbol\divideontimes 223E
-\newsymbol\varnothing 203F
-\newsymbol\nexists 2040
-\newsymbol\Finv 2060
-\newsymbol\Game 2061
-\newsymbol\mho 2066
-\newsymbol\eth 2067
-\newsymbol\eqsim 2368
-\newsymbol\beth 2069
-\newsymbol\gimel 206A
-\newsymbol\daleth 206B
-\newsymbol\lessdot 236C
-\newsymbol\gtrdot 236D
-\newsymbol\ltimes 226E
-\newsymbol\rtimes 226F
-\newsymbol\shortmid 2370
-\newsymbol\shortparallel 2371
-\newsymbol\smallsetminus 2272
-\newsymbol\thicksim 2373
-\newsymbol\thickapprox 2374
-\newsymbol\approxeq 2375
-\newsymbol\succapprox 2376
-\newsymbol\precapprox 2377
-\newsymbol\curvearrowleft 2378
-\newsymbol\curvearrowright 2379
-\newsymbol\digamma 207A
-\newsymbol\varkappa 207B
-\newsymbol\Bbbk 207C
-\newsymbol\hslash 207D
-\undefine\hbar
-\newsymbol\hbar 207E
-\newsymbol\backepsilon 237F
-
-%D Restore the catcode value for @ that was previously saved.
-
-\let\undefine\normalundefine
-\let\newsymbol\normalnewsymbol
-
-\protect % \catcode`\@=\csname pre amssym.tex at\endcsname
-
-\endinput
diff --git a/tex/context/base/font-ant.tex b/tex/context/base/font-ant.tex
deleted file mode 100644
index b3e41e1d0..000000000
--- a/tex/context/base/font-ant.tex
+++ /dev/null
@@ -1,28 +0,0 @@
-%D \module
-%D [ file=font-ant,
-%D version=1998.8.25,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=AntykwaTorunska,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D The Antikwa Torunska font family is a rather nice
-%D and subtle one. Although primary meant for the polish
-%D language, it can be used for other languages as well.
-
-\definefontsynonym [Serif] [AntykwaTorunska-Regular]
-\definefontsynonym [SerifBold] [AntykwaTorunska-Bold]
-\definefontsynonym [SerifItalic] [AntykwaTorunska-Italic]
-\definefontsynonym [SerifSlanted] [AntykwaTorunska-Italic]
-\definefontsynonym [SerifBoldItalic] [AntykwaTorunska-Bold]
-\definefontsynonym [SerifBoldSlanted] [AntykwaTorunska-Bold]
-\definefontsynonym [SerifCaps] [AntykwaTorunska-Regular]
-
-\definebodyfont [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt] [rm] [default]
-
-\endinput
diff --git a/tex/context/base/font-arb.tex b/tex/context/base/font-arb.tex
index 2303381e6..cd915fdff 100644
--- a/tex/context/base/font-arb.tex
+++ b/tex/context/base/font-arb.tex
@@ -1,3 +1,5 @@
+% NOT YET ADAPTED TO THE NEW FONT MACROS
+
% I still need to hook in some features into the setup
% macro. I also have to (re)define farsi etc. in ways
% similar to arab, so that we have dedicated environments.
diff --git a/tex/context/base/font-ber.tex b/tex/context/base/font-ber.tex
deleted file mode 100644
index cc429dd00..000000000
--- a/tex/context/base/font-ber.tex
+++ /dev/null
@@ -1,92 +0,0 @@
-%D \module
-%D [ file=font-ber,
-%D version=1998.7.16,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Karl Berry Font Names,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-\definefontsynonym [Baskerville] [mbvr8t] [encoding=ec]
-\definefontsynonym [Baskerville-Italic] [mbvri8t] [encoding=ec]
-\definefontsynonym [Baskerville-Bold] [mbvb8t] [encoding=ec]
-\definefontsynonym [Baskerville-BoldItalic] [mbvbi8t] [encoding=ec]
-\definefontsynonym [Baskerville-SemiBold] [mbvs8t] [encoding=ec]
-\definefontsynonym [Baskerville-SemiBoldItalic] [mbvsi8t] [encoding=ec]
-
-\definefontsynonym [Courier] [pcrr8t] [encoding=ec]
-\definefontsynonym [Courier-Bold] [pcrb8t] [encoding=ec]
-\definefontsynonym [Courier-Oblique] [pcrro8t] [encoding=ec]
-\definefontsynonym [Courier-BoldOblique] [pcrbo8t] [encoding=ec]
-
-\definefontsynonym [Helvetica] [phvr8t] [encoding=ec]
-\definefontsynonym [Helvetica-Oblique] [phvro8t] [encoding=ec]
-\definefontsynonym [Helvetica-Bold] [phvb8t] [encoding=ec]
-\definefontsynonym [Helvetica-BoldOblique] [phvbo8t] [encoding=ec]
-
-\definefontsynonym [Times-Roman] [ptmr8t] [encoding=ec]
-\definefontsynonym [Times-Italic] [ptmri8t] [encoding=ec]
-\definefontsynonym [Times-Bold] [ptmb8t] [encoding=ec]
-\definefontsynonym [Times-BoldItalic] [ptmbi8t] [encoding=ec]
-
-\definefontsynonym [AntykwaTorunska-Regular] [zatr8t] [encoding=ec]
-\definefontsynonym [AntykwaTorunska-Italic] [zatri8t] [encoding=ec]
-\definefontsynonym [AntykwaTorunska-Bold] [zatb8t] [encoding=ec]
-
-\definefontsynonym [Palatino-Roman] [uplr8t] [encoding=ec]
-\definefontsynonym [Palatino-Italic] [uplri8t] [encoding=ec]
-\definefontsynonym [Palatino-Slanted] [uplro8t] [encoding=ec]
-\definefontsynonym [Palatino-Bold] [uplb8t] [encoding=ec]
-\definefontsynonym [Palatino-BoldItalic] [uplbi8t] [encoding=ec]
-\definefontsynonym [Palatino-BoldSlanted] [uplbo8t] [encoding=ec]
-
-\definefontsynonym [AvantGarde] [pag]
-\definefontsynonym [BookmanLight] [pbk]
-\definefontsynonym [CentaurMT] [pur]
-\definefontsynonym [Garamond] [pgm]
-\definefontsynonym [GillSans] [pgs]
-\definefontsynonym [NewBaskerville] [pnb]
-\definefontsynonym [Optima] [pop]
-\definefontsynonym [Palatino] [ppl]
-\definefontsynonym [Symbol] [psy]
-\definefontsynonym [Univers] [pun]
-\definefontsynonym [Utopia] [put]
-\definefontsynonym [ZapfChancery] [pzc]
-\definefontsynonym [ZapfDingbats] [pzd]
-
-\definefontsynonym [LucidaBright] [hlhr8t] [encoding=ec]
-\definefontsynonym [LucidaBright-Demi] [hlhb8t] [encoding=ec]
-\definefontsynonym [LucidaBright-Italic] [hlhri8t] [encoding=ec]
-\definefontsynonym [LucidaBright-Oblique] [hlhro8t] [encoding=ec]
-\definefontsynonym [LucidaBright-DemiItalic] [hlhbi8t] [encoding=ec]
-\definefontsynonym [LucidaBrightSmallcaps] [hlhrc8t] [encoding=ec]
-
-\definefontsynonym [LucidaSans] [hlsr8t] [encoding=ec]
-\definefontsynonym [LucidaSans-Demi] [hlsb8t] [encoding=ec]
-\definefontsynonym [LucidaSans-Italic] [hlsri8t] [encoding=ec]
-\definefontsynonym [LucidaSans-DemiItalic] [hlsbi8t] [encoding=ec]
-\definefontsynonym [LucidaSans-Typewriter] [hlsrt8t] [encoding=ec]
-\definefontsynonym [LucidaSans-TypewriterBold] [hlsbt8t] [encoding=ec]
-\definefontsynonym [LucidaSans-TypewriterOblique] [hlsrot8t] [encoding=ec]
-\definefontsynonym [LucidaSans-TypewriterBoldOblique] [hlsbot8t] [encoding=ec]
-
-\definefontsynonym [LucidaHandwriting-Italic] [hlcriw8t] [encoding=ec]
-\definefontsynonym [LucidaCalligraphy-Italic] [hlcrie8t] [encoding=ec]
-
-\definefontsynonym [LucidaNewMath-AltDemiItalic] [hlcdima]
-\definefontsynonym [LucidaNewMath-AltItalic] [hlcrima]
-\definefontsynonym [LucidaNewMath-Arrows] [hlcra]
-\definefontsynonym [LucidaNewMath-Arrows-Demi] [hlcda]
-\definefontsynonym [LucidaNewMath-Extension] [hlcrv]
-\definefontsynonym [LucidaNewMath-Roman] [hlcrm]
-\definefontsynonym [LucidaNewMath-Demibold] [hlcdm]
-\definefontsynonym [LucidaNewMath-DemiItalic] [hlcdim]
-\definefontsynonym [LucidaNewMath-Italic] [hlcrim]
-\definefontsynonym [LucidaNewMath-Symbol] [hlcry]
-\definefontsynonym [LucidaNewMath-Symbol-Demi] [hlcdy]
-
-\endinput
diff --git a/tex/context/base/font-chi.tex b/tex/context/base/font-chi.tex
index 676f5a053..49c70aeb2 100644
--- a/tex/context/base/font-chi.tex
+++ b/tex/context/base/font-chi.tex
@@ -1,3 +1,5 @@
+% NOT YET ADAPTED TO THE NEW FONT MACROS
+
%D \module
%D [ file=font-chi,
%D version=1999.10.10,
diff --git a/tex/context/base/font-cmr.tex b/tex/context/base/font-cmr.tex
deleted file mode 100644
index 11e28b258..000000000
--- a/tex/context/base/font-cmr.tex
+++ /dev/null
@@ -1,613 +0,0 @@
-%D \module
-%D [ file=font-cmr,
-%D version=1995.1.1,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Computer Modern,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D The Computer Modern Roman is derived from the Monotype~8a
-%D Times Roman. In this module, that is loaded by default, we
-%D define all relevant alternatives.
-
-%D Now watch these definitions. They permits us to generate
-%D undefined sizes on the fly. We take 10 point as starting
-%D point.
-
-\definefontsynonym [Serif] [ComputerModern]
-\definefontsynonym [SerifBold] [ComputerModern-Bold]
-\definefontsynonym [SerifItalic] [ComputerModern-Italic]
-\definefontsynonym [SerifSlanted] [ComputerModern-Slanted]
-\definefontsynonym [SerifBoldItalic] [ComputerModern-BoldItalic]
-\definefontsynonym [SerifBoldSlanted] [ComputerModern-BoldSlanted]
-\definefontsynonym [SerifCaps] [ComputerModern-Caps]
-
-\definefontsynonym [Sans] [ComputerModernSans]
-\definefontsynonym [SansBold] [ComputerModernSans-Bold]
-\definefontsynonym [SansItalic] [ComputerModernSans-Italic]
-\definefontsynonym [SansSlanted] [ComputerModernSans-Slanted]
-\definefontsynonym [SansBoldItalic] [ComputerModernSans-BoldItalic]
-\definefontsynonym [SansBoldSlanted] [ComputerModernSans-BoldSlanted]
-\definefontsynonym [SansCaps] [ComputerModernSans-Caps]
-
-\definefontsynonym [Mono] [ComputerModernMono]
-\definefontsynonym [MonoBold] [ComputerModernMono-Bold]
-\definefontsynonym [MonoItalic] [ComputerModernMono-Italic]
-\definefontsynonym [MonoSlanted] [ComputerModernMono-Slanted]
-\definefontsynonym [MonoBoldItalic] [ComputerModernMono-BoldItalic]
-\definefontsynonym [MonoBoldSlanted] [ComputerModernMono-BoldSlanted]
-\definefontsynonym [MonoCaps] [ComputerModernMono-Caps]
-
-\definefontsynonym [MathRoman] [ComputerModernMath-Roman]
-\definefontsynonym [MathExtension] [ComputerModernMath-Extension]
-\definefontsynonym [MathItalic] [ComputerModernMath-Italic]
-\definefontsynonym [MathSymbol] [ComputerModernMath-Symbol]
-
-\definefontsynonym [OldStyle] [MathItalic]
-
-\definefontsynonym [Fraktur] [eufm10]
-\definefontsynonym [Gothic] [eufm10]
-\definefontsynonym [Calligraphic] [cmsy10]
-
-%D What follows next is the main definition part.
-
-\definebodyfont [12pt] [rm]
- [ tf=cmr12,
- tfa=cmr12 scaled \magstep1,
- tfb=cmr12 scaled \magstep2,
- tfc=cmr12 scaled \magstep3,
- tfd=cmr12 scaled \magstep4,
- bf=cmbx12,
- it=cmti12,
- sl=cmsl12,
- bi=cmbxti10 at 12pt,
- bs=cmbxsl10 at 12pt,
- sc=cmcsc10 at 12pt]
-
-\definebodyfont [12pt] [ss]
- [ tf=cmss12,
- tfa=cmss12 scaled \magstep1,
- tfb=cmss12 scaled \magstep2,
- tfc=cmss12 scaled \magstep3,
- tfd=cmss12 scaled \magstep4,
- bf=cmssbx10 at 12pt,
- it=cmssi12,
- sl=cmssi12,
- bi=cmssbx10 at 12pt,
- bs=cmssbx10 at 12pt,
- sc=cmss10 at 12pt]
-
-\definebodyfont [12pt] [tt]
- [ tf=cmtt12,
- tfa=cmtt12 scaled \magstep1,
- tfb=cmtt12 scaled \magstep2,
- tfc=cmtt12 scaled \magstep3,
- tfd=cmtt12 scaled \magstep4,
- sl=cmsltt10 at 12pt,
- it=cmitt10 at 12pt]
-
-\definebodyfont [12pt] [mm]
- [ex=cmex10 at 12pt,
- mi=cmmi12,
- sy=cmsy10 at 12pt]
-
-\definebodyfont [12pt] [hw]
- [tf=cmtt12]
-
-\definebodyfont [12pt] [cg]
- [tf=cmtt12]
-
-\definebodyfont [11pt] [rm]
- [ tf=cmr10 at 11pt,
- tfa=cmr9 scaled \magstep2,
- tfb=cmr9 scaled \magstep3,
- tfc=cmr9 scaled \magstep4,
- tfd=cmr9 scaled \magstep5,
- bf=cmbx10 at 11pt,
- sl=cmsl10 at 11pt,
- it=cmti10 at 11pt,
- bi=cmbxti10 at 11pt,
- bs=cmbxsl10 at 11pt,
- sc=cmcsc10 at 11pt]
-
-\definebodyfont [11pt] [ss]
- [ tf=cmss10 at 11pt,
- tfa=cmss9 scaled \magstep2,
- tfb=cmss9 scaled \magstep3,
- tfc=cmss9 scaled \magstep4,
- tfd=cmss9 scaled \magstep5,
- bf=cmssbx10 at 11pt,
- it=cmssi10 at 11pt,
- sl=cmssi10 at 11pt,
- bi=cmssbx10 at 11pt,
- bs=cmssbx10 at 11pt,
- sc=cmss10 at 11pt]
-
-\definebodyfont [11pt] [tt]
- [tf=cmtt10 at 11pt,
- sl=cmsltt10 at 11pt,
- it=cmitt10 at 11pt]
-
-\definebodyfont [11pt] [mm]
- [ex=cmex10 at 11pt,
- mi=cmmi10 at 11pt,
- sy=cmsy10 at 11pt]
-
-\definebodyfont [11pt] [hw]
- [tf=cmtt10 at 11pt]
-
-\definebodyfont [11pt] [cg]
- [tf=cmtt10 at 11pt]
-
-\definebodyfont [10pt] [rm]
- [ tf=cmr10,
- tfa=cmr10 scaled \magstep1,
- tfb=cmr10 scaled \magstep2,
- tfc=cmr10 scaled \magstep3,
- tfd=cmr10 scaled \magstep4,
- bf=cmbx10,
- it=cmti10,
- sl=cmsl10,
- bi=cmbxti10,
- bs=cmbxsl10,
- sc=cmcsc10]
-
-\definebodyfont [10pt] [ss]
- [ tf=cmss10,
- tfa=cmss10 scaled \magstep1,
- tfb=cmss10 scaled \magstep2,
- tfc=cmss10 scaled \magstep3,
- tfd=cmss10 scaled \magstep4,
- bf=cmssbx10,
- it=cmssi10,
- sl=cmssi10,
- bi=cmssbx10,
- bs=cmssbx10,
- sc=cmss10]
-
-\definebodyfont [10pt] [tt]
- [ tf=cmtt10,
- tfa=cmtt10 scaled \magstep1,
- tfb=cmtt10 scaled \magstep2,
- tfc=cmtt10 scaled \magstep3,
- tfd=cmtt10 scaled \magstep4,
- sl=cmsltt10,
- it=cmitt10]
-
-\definebodyfont [10pt] [mm]
- [ex=cmex10,
- mi=cmmi10,
- sy=cmsy10]
-
-\definebodyfont [10pt] [hw]
- [tf=cmtt10]
-
-\definebodyfont [10pt] [cg]
- [tf=cmtt10]
-
-\definebodyfont [9pt] [rm]
- [ tf=cmr9,
- tfa=cmr9 scaled \magstep1,
- tfb=cmr9 scaled \magstep2,
- tfc=cmr9 scaled \magstep3,
- tfd=cmr9 scaled \magstep4,
- bf=cmbx9,
- it=cmti9,
- sl=cmsl9,
- bi=cmbxti10 at 9pt,
- bs=cmbxsl10 at 9pt,
- sc=cmcsc10 at 9pt]
-
-\definebodyfont [9pt] [ss]
- [ tf=cmss9,
- tfa=cmss9 scaled \magstep1,
- tfb=cmss9 scaled \magstep2,
- tfc=cmss9 scaled \magstep3,
- tfd=cmss9 scaled \magstep4,
- bf=cmssbx10 at 9pt,
- it=cmssi9,
- sl=cmssi9,
- bi=cmssbx10 at 9pt,
- bs=cmssbx10 at 9pt,
- sc=cmss9]
-
-\definebodyfont [9pt] [tt]
- [tf=cmtt9,
- sl=cmsltt10 at 9pt,
- it=cmitt10 at 9pt]
-
-\definebodyfont [9pt] [mm]
- [ex=cmex10 at 9pt,
- mi=cmmi9,
- sy=cmsy9]
-
-\definebodyfont [9pt] [hw]
- [tf=cmtt9]
-
-\definebodyfont [9pt] [cg]
- [tf=cmtt9]
-
-\definebodyfont [8pt] [rm]
- [ tf=cmr8,
- tfa=cmr8 scaled \magstep1,
- tfb=cmr8 scaled \magstep2,
- tfc=cmr8 scaled \magstep3,
- tfd=cmr8 scaled \magstep4,
- bf=cmbx8,
- it=cmti8,
- sl=cmsl8,
- bi=cmbxti10 at 8pt,
- bs=cmbxsl10 at 8pt,
- sc=cmcsc10 at 8pt]
-
-\definebodyfont [8pt] [ss]
- [ tf=cmss8,
- tfa=cmss8 scaled \magstep1,
- tfb=cmss8 scaled \magstep2,
- tfc=cmss8 scaled \magstep3,
- tfd=cmss8 scaled \magstep4,
- bf=cmssbx10 at 8pt,
- it=cmssi8,
- sl=cmssi8,
- bi=cmssbx10 at 8pt,
- bs=cmssbx10 at 8pt,
- sc=cmss8]
-
-\definebodyfont [8pt] [tt]
- [tf=cmtt8,
- sl=cmsltt10 at 8pt,
- it=cmitt10 at 8pt]
-
-\definebodyfont [8pt] [mm]
- [ex=cmex10 at 8pt,
- mi=cmmi8,
- sy=cmsy8]
-
-\definebodyfont [8pt] [hw]
- [tf=cmtt8]
-
-\definebodyfont [8pt] [cg]
- [tf=cmtt8]
-
-\definebodyfont [7pt] [rm]
- [ tf=cmr7,
- tfa=cmr7 scaled \magstep1,
- tfb=cmr7 scaled \magstep2,
- tfc=cmr7 scaled \magstep3,
- tfd=cmr7 scaled \magstep4,
- bf=cmbx7,
- it=cmti10 at 7pt,
- sl=cmsl10 at 7pt,
- bi=cmbxti10 at 7pt,
- bs=cmbxsl10 at 7pt,
- sc=cmcsc10 at 7pt]
-
-\definebodyfont [7pt] [ss]
- [ tf=cmss10 at 7pt,
- tfa=cmss8, % scaled 1000,
- tfb=cmss8 scaled \magstep1,
- tfc=cmss8 scaled \magstep2,
- tfd=cmss8 scaled \magstep3,
- bf=cmssbx10 at 7pt,
- it=cmssi10 at 7pt,
- sl=cmssi10 at 7pt,
- bs=cmssbx10 at 7pt,
- bi=cmssbx10 at 7pt,
- sc=cmss10 at 7pt]
-
-\definebodyfont [7pt] [tt]
- [tf=cmtt10 at 7pt,
- sl=cmsltt10 at 7pt,
- it=cmitt10 at 7pt]
-
-\definebodyfont [7pt] [mm]
- [ex=cmex10 at 7pt,
- mi=cmmi7,
- sy=cmsy7]
-
-\definebodyfont [6pt] [rm]
- [ tf=cmr6,
- tfa=cmr6 scaled \magstep1,
- tfb=cmr6 scaled \magstep2,
- tfc=cmr6 scaled \magstep3,
- tfd=cmr6 scaled \magstep4,
- bf=cmbx6,
- it=cmti10 at 6pt,
- sl=cmsl10 at 6pt,
- bi=cmbxti10 at 6pt,
- bs=cmbxsl10 at 6pt,
- sc=cmcsc10 at 6pt]
-
-\definebodyfont [6pt] [ss]
- [tf=cmss10 at 6pt,
- bf=cmssbx10 at 6pt,
- it=cmssi10 at 6pt,
- sl=cmssi10 at 6pt,
- bs=cmssbx10 at 6pt,
- bi=cmssbx10 at 6pt,
- sc=cmss10 at 6pt]
-
-\definebodyfont [6pt] [tt]
- [tf=cmtt10 at 6pt,
- sl=cmsltt10 at 6pt,
- it=cmitt10 at 6pt]
-
-\definebodyfont [6pt] [mm]
- [ex=cmex10 at 6pt,
- mi=cmmi6,
- sy=cmsy6]
-
-\definebodyfont [5pt] [rm]
- [ tf=cmr5,
- tfa=cmr5 scaled \magstep1,
- tfb=cmr5 scaled \magstep2,
- tfc=cmr5 scaled \magstep3,
- tfd=cmr5 scaled \magstep4,
- bf=cmbx5,
- it=cmti10 at 5pt,
- sl=cmsl10 at 5pt,
- bi=cmbxti10 at 5pt,
- bs=cmbxsl10 at 5pt,
- sc=cmcsc10 at 5pt]
-
-\definebodyfont [5pt] [ss]
- [tf=cmss10 at 5pt,
- bf=cmssbx10 at 5pt,
- it=cmssi10 at 5pt,
- sl=cmssi10 at 5pt,
- bs=cmssbx10 at 5pt,
- bi=cmssbx10 at 5pt,
- sc=cmss10 at 5pt]
-
-\definebodyfont [5pt] [tt]
- [tf=cmtt10 at 5pt,
- sl=cmsltt10 at 5pt,
- it=cmitt10 at 5pt]
-
-\definebodyfont [5pt] [mm]
- [ex=cmex10 at 5pt,
- mi=cmmi5,
- sy=cmsy5]
-
-\definebodyfont [4pt] [rm]
- [tf=cmr10 at 4pt,
- bf=cmbx10 at 4pt,
- it=cmti10 at 4pt,
- sl=cmsl10 at 4pt,
- bi=cmbxti10 at 4pt,
- bs=cmbxsl10 at 4pt,
- sc=cmr10 at 4pt]
-
-\definebodyfont [4pt] [ss]
- [tf=cmss10 at 4pt,
- bf=cmssbx10 at 4pt,
- it=cmssi10 at 4pt,
- sl=cmssi10 at 4pt,
- bs=cmssbx10 at 4pt,
- bi=cmssbx10 at 4pt,
- sc=cmss10 at 4pt]
-
-\definebodyfont [4pt] [tt]
- [tf=cmtt10 at 4pt,
- sl=cmsltt10 at 4pt,
- it=cmitt10 at 4pt]
-
-\definebodyfont [4pt] [mm]
- [ex=cmex10 at 4pt,
- mi=cmmi10 at 4pt,
- sy=cmsy10 at 4pt]
-
-%D At the cost of some more memory we preload a few more
-%D fonts.
-
-\definebodyfont [12pt] [rm]
- [bfa=cmbx12 scaled \magstep1,
- bfb=cmbx12 scaled \magstep2,
- bfc=cmbx12 scaled \magstep3,
- bfd=cmbx12 scaled \magstep4,
- ita=cmti12 scaled \magstep1,
- itb=cmti12 scaled \magstep2,
- itc=cmti12 scaled \magstep3,
- itd=cmti12 scaled \magstep4,
- sla=cmsl12 scaled \magstep1,
- slb=cmsl12 scaled \magstep2,
- slc=cmsl12 scaled \magstep3,
- sld=cmsl12 scaled \magstep4,
- bsa=cmbxsl10 scaled \magstep2,
- bsb=cmbxsl10 scaled \magstep3,
- bsc=cmbxsl10 scaled \magstep4,
- bsd=cmbxsl10 scaled \magstep5,
- sca=cmcsc10 scaled \magstep2,
- scb=cmcsc10 scaled \magstep3,
- scc=cmcsc10 scaled \magstep4,
- scd=cmcsc10 scaled \magstep5]
-
-\definebodyfont [11pt] [rm]
- [bfa=cmbx9 scaled \magstep2,
- bfb=cmbx9 scaled \magstep3,
- bfc=cmbx9 scaled \magstep4,
- bfd=cmbx9 scaled \magstep5,
- ita=cmti9 scaled \magstep2,
- itb=cmti9 scaled \magstep3,
- itc=cmti9 scaled \magstep4,
- itd=cmsl9 scaled \magstep5,
- sla=cmsl9 scaled \magstep2,
- slb=cmsl9 scaled \magstep3,
- slc=cmsl9 scaled \magstep4,
- sld=cmsl9 scaled \magstep5,
- sca=cmcsc9 scaled \magstep2,
- scb=cmcsc9 scaled \magstep3,
- scc=cmcsc9 scaled \magstep4,
- scd=cmcsc9 scaled \magstep5]
-
-\definebodyfont [10pt] [rm]
- [bfa=cmbx10 scaled \magstep1,
- bfb=cmbx10 scaled \magstep2,
- bfc=cmbx10 scaled \magstep3,
- bfd=cmbx10 scaled \magstep4,
- ita=cmti10 scaled \magstep1,
- itb=cmti10 scaled \magstep2,
- itc=cmti10 scaled \magstep3,
- itd=cmti10 scaled \magstep4,
- sla=cmsl10 scaled \magstep1,
- slb=cmsl10 scaled \magstep2,
- slc=cmsl10 scaled \magstep3,
- sld=cmsl10 scaled \magstep4,
- bsa=cmbxsl10 scaled \magstep1,
- bsb=cmbxsl10 scaled \magstep2,
- bsc=cmbxsl10 scaled \magstep3,
- bsd=cmbxsl10 scaled \magstep4,
- sca=cmcsc10 scaled \magstep1,
- scb=cmcsc10 scaled \magstep2,
- scc=cmcsc10 scaled \magstep3,
- scd=cmcsc10 scaled \magstep4]
-
-\definebodyfont [9pt] [rm]
- [bfa=cmbx9 scaled \magstep1,
- bfb=cmbx9 scaled \magstep2,
- bfc=cmbx9 scaled \magstep3,
- bfd=cmbx9 scaled \magstep4,
- ita=cmti9 scaled \magstep1,
- itb=cmti9 scaled \magstep2,
- itc=cmti9 scaled \magstep3,
- itd=cmti9 scaled \magstep4,
- sla=cmsl9 scaled \magstep1,
- slb=cmsl9 scaled \magstep2,
- slc=cmsl9 scaled \magstep3,
- sld=cmsl9 scaled \magstep4,
- sca=cmcsc9 scaled \magstep1,
- scb=cmcsc9 scaled \magstep2,
- scc=cmcsc9 scaled \magstep3,
- scd=cmcsc9 scaled \magstep4]
-
-\definebodyfont [8pt] [rm]
- [bfa=cmbx8 scaled \magstep1,
- bfb=cmbx8 scaled \magstep2,
- bfc=cmbx8 scaled \magstep3,
- bfd=cmbx8 scaled \magstep4,
- sca=cmcsc8 scaled \magstep1,
- scb=cmcsc8 scaled \magstep2,
- scc=cmcsc8 scaled \magstep3,
- scd=cmcsc8 scaled \magstep4]
-
-\definebodyfont [7pt] [rm]
- [bfa=cmbx7 scaled \magstep1,
- bfb=cmbx7 scaled \magstep2,
- bfc=cmbx7 scaled \magstep3,
- bfd=cmbx7 scaled \magstep4]
-
-\definebodyfont [6pt] [rm]
- [bfa=cmbx6 scaled \magstep1,
- bfb=cmbx6 scaled \magstep2,
- bfc=cmbx6 scaled \magstep3,
- bfd=cmbx6 scaled \magstep4]
-
-\definebodyfont [12pt] [ss]
- [bfa=cmss12 scaled \magstep1,
- bfb=cmss12 scaled \magstep2,
- bfc=cmss12 scaled \magstep3,
- bfd=cmss12 scaled \magstep4,
- sla=cmssi10 scaled \magstep2,
- slb=cmssi10 scaled \magstep3,
- slc=cmssi10 scaled \magstep4,
- sld=cmssi10 scaled \magstep5,
- bsa=cmssi10 scaled \magstep2,
- bsb=cmssi10 scaled \magstep3,
- bsc=cmssi10 scaled \magstep4,
- bsd=cmssi10 scaled \magstep5]
-
-\definebodyfont [10pt] [ss]
- [bfa=cmss10 scaled \magstep1,
- bfb=cmss10 scaled \magstep2,
- bfc=cmss10 scaled \magstep3,
- bfd=cmss10 scaled \magstep4,
- sla=cmssi10 scaled \magstep1,
- slb=cmssi10 scaled \magstep2,
- slc=cmssi10 scaled \magstep3,
- sld=cmssi10 scaled \magstep4,
- bsa=cmssi10 scaled \magstep1,
- bsb=cmssi10 scaled \magstep2,
- bsc=cmssi10 scaled \magstep3,
- bsd=cmssi10 scaled \magstep4]
-
-\definebodyfont [12pt] [tt]
- [sla=cmsltt10 scaled \magstep2,
- slb=cmsltt10 scaled \magstep3,
- slc=cmsltt10 scaled \magstep4,
- sld=cmsltt10 scaled \magstep5]
-
-\definebodyfont [10pt] [tt]
- [sla=cmsltt10 scaled \magstep1,
- slb=cmsltt10 scaled \magstep2,
- slc=cmsltt10 scaled \magstep3,
- sld=cmsltt10 scaled \magstep4]
-
-%D Small is beautiful, but sometimes large is needed. We
-%D therefore define some rather large Computer Modern Roman
-%D bodyfont sizes, that can be used in for instance headings.
-
-%D We can use \type{sa} here because there are no genuine
-%D design sizes larger than 12pt (exept from cmr17).
-
-\definebodyfont [14.4pt,17.3pt,20.7pt] [rm]
- [tf=cmr12 sa 1,
- bf=cmbx12 sa 1,
- it=cmti12 sa 1,
- sl=cmsl12 sa 1,
- bi=cmbxti10 sa 1,
- bs=cmbxsl10 sa 1,
- tfa=cmr12 sa 1.200,
- tfb=cmr12 sa 1.440,
- tfc=cmr12 sa 1.728,
- tfd=cmr12 sa 2.074,
- sc=cmcsc10 sa 1.200]
-
-\definebodyfont [14.4pt,17.3pt,20.7pt] [ss]
- [tf=cmss12 sa 1,
- bf=cmssbx10 sa 1,
- it=cmssi12 sa 1,
- sl=cmssi12 sa 1,
- bi=cmssbx10 sa 1,
- bs=cmssbx10 sa 1,
- tfa=cmss12 sa 1.200,
- tfb=cmss12 sa 1.440,
- tfc=cmss12 sa 1.728,
- tfd=cmss12 sa 2.074,
- sc=cmss12 sa 1]
-
-\definebodyfont [14.4pt,17.3pt,20.7pt] [tt]
- [tf=cmtt12 sa 1,
- sl=cmsltt10 sa 1,
- it=cmitt10 sa 1,
- tfa=cmtt12 sa 1.200,
- tfb=cmtt12 sa 1.440,
- tfc=cmtt12 sa 1.728,
- tfd=cmtt12 sa 2.074]
-
-\definebodyfont [14.4pt,17.3pt,20.7pt] [mm]
- [ex=cmex10 sa 1,
- mi=cmmi12 sa 1,
- sy=cmsy10 sa 1]
-
-% hack to prevent mapping of filenames, watch the space!
-
-\definebodyfont [12pt] [mm] [mr= cmr12]
-\definebodyfont [11pt] [mm] [mr= cmr10 at 11pt]
-\definebodyfont [10pt] [mm] [mr= cmr10]
-\definebodyfont [9pt] [mm] [mr= cmr9]
-\definebodyfont [8pt] [mm] [mr= cmr8]
-\definebodyfont [7pt] [mm] [mr= cmr7]
-\definebodyfont [6pt] [mm] [mr= cmr6]
-\definebodyfont [5pt] [mm] [mr= cmr5]
-\definebodyfont [4pt] [mm] [mr= cmr5]
-
-\definebodyfont [14.4pt] [mm] [mr= cmr12 at 14.4pt]
-\definebodyfont [17.3pt] [mm] [mr= cmr12 at 17.3pt]
-\definebodyfont [20.7pt] [mm] [mr= cmr12 at 20.7pt]
-
-\endinput
diff --git a/tex/context/base/font-con.tex b/tex/context/base/font-con.tex
deleted file mode 100644
index 4f180904b..000000000
--- a/tex/context/base/font-con.tex
+++ /dev/null
@@ -1,65 +0,0 @@
-%D \module
-%D [ file=font-con,
-%D version=1995.1.1,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Concrete Roman,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D The Concrete Modern Roman is just an alternative Computer
-%D Modern Roman.
-
-\definebodyfont [12pt] [rm]
- [tf=ccr10 at 12pt, % scaled \magstep1
- it=ccti10 at 12pt, % scaled \magstep1
- sl=ccsl10 at 12pt, % scaled \magstep1
- sc=cccsc10 at 12pt] % scaled \magstep1
-
-\definebodyfont [11pt] [rm]
- [tf=ccr10 at 11pt, % scaled \magstephalf
- it=ccti10 at 11pt, % scaled \magstephalf
- sl=ccsl10 at 11pt, % scaled \magstephalf
- sc=cccsc10 at 11pt] % scaled \magstephalf
-
-\definebodyfont [10pt] [rm]
- [tf=ccr10,
- it=ccti10,
- sl=ccsl10,
- sc=cccsc10]
-
-\definebodyfont [9pt] [rm]
- [tf=ccr9,
- it=ccr9,
- sl=ccr9,
- sc=ccr9]
-
-\definebodyfont [8pt] [rm]
- [tf=ccr8,
- it=ccr8,
- sl=ccr8,
- sc=ccr8]
-
-\definebodyfont [7pt] [rm]
- [tf=ccr7,
- it=ccr7,
- sl=ccr7,
- sc=ccr7]
-
-\definebodyfont [6pt] [rm]
- [tf=ccr6,
- it=ccr6,
- sl=ccr6,
- sc=ccr6]
-
-\definebodyfont [5pt] [rm]
- [tf=ccr5,
- it=ccr5,
- sl=ccr5,
- sc=ccr5]
-
-\endinput
diff --git a/tex/context/base/font-csr.tex b/tex/context/base/font-csr.tex
deleted file mode 100644
index c9149f666..000000000
--- a/tex/context/base/font-csr.tex
+++ /dev/null
@@ -1,111 +0,0 @@
-%D \module
-%D [ file=font-csr,
-%D version=1998.12.1,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Computer Modern Czech/Slovak,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D For Than.
-
-% \definefontsynonym [Serif] [csr10] [encoding=il2]
-% \definefontsynonym [SerifBold] [csbx10] [encoding=il2]
-% \definefontsynonym [SerifItalic] [csti10] [encoding=il2]
-% \definefontsynonym [SerifSlanted] [cssl10] [encoding=il2]
-% \definefontsynonym [SerifBoldItalic] [csbxti10] [encoding=il2]
-% \definefontsynonym [SerifBoldSlanted] [csbxsl10] [encoding=il2]
-% \definefontsynonym [SerifCaps] [csr10] [encoding=il2]
-%
-% \definefontsynonym [Sans] [csss10] [encoding=il2]
-% \definefontsynonym [SansBold] [csssbx10] [encoding=il2]
-% \definefontsynonym [SansItalic] [csssi10] [encoding=il2]
-% \definefontsynonym [SansSlanted] [csssi10] [encoding=il2]
-% \definefontsynonym [SansBoldItalic] [csssbx10] [encoding=il2]
-% \definefontsynonym [SansBoldSlanted] [csssbx10] [encoding=il2]
-% \definefontsynonym [SansCaps] [csss10] [encoding=il2]
-%
-% \definefontsynonym [Mono] [cstt10] [encoding=il2]
-% \definefontsynonym [MonoBold] [cstt10] [encoding=il2]
-% \definefontsynonym [MonoItalic] [csitt10] [encoding=il2]
-% \definefontsynonym [MonoSlanted] [cssltt10] [encoding=il2]
-% \definefontsynonym [MonoBoldItalic] [cstt10] [encoding=il2]
-% \definefontsynonym [MonoBoldSlanted] [cstt10] [encoding=il2]
-% \definefontsynonym [MonoCaps] [cstt10] [encoding=il2]
-%
-% \definefontsynonym [MathRoman] [csr10] [encoding=il2]
-% \definefontsynonym [MathExtension] [cmex10]
-% \definefontsynonym [MathItalic] [cmmi10]
-% \definefontsynonym [MathSymbol] [cmsy10]
-%
-% \definefontsynonym [OldStyle] [MathItalic]
-%
-% \definebodyfont
-% [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt]
-% [rm,ss,tt,mm]
-% [default]
-
-\input font-cmr.tex
-
-\definefontsynonym [cmr10] [csr10] [encoding=il2]
-\definefontsynonym [cmr12] [csr12] [encoding=il2]
-\definefontsynonym [cmr17] [csr17] [encoding=il2]
-\definefontsynonym [cmr9] [csr9] [encoding=il2]
-\definefontsynonym [cmr8] [csr8] [encoding=il2]
-\definefontsynonym [cmr7] [csr7] [encoding=il2]
-\definefontsynonym [cmr6] [csr6] [encoding=il2]
-\definefontsynonym [cmr5] [csr5] [encoding=il2]
-\definefontsynonym [cmbx10] [csbx10] [encoding=il2]
-\definefontsynonym [cmbx12] [csbx12] [encoding=il2]
-\definefontsynonym [cmbx9] [csbx9] [encoding=il2]
-\definefontsynonym [cmbx8] [csbx8] [encoding=il2]
-\definefontsynonym [cmbx7] [csbx7] [encoding=il2]
-\definefontsynonym [cmbx6] [csbx6] [encoding=il2]
-\definefontsynonym [cmbx5] [csbx5] [encoding=il2]
-\definefontsynonym [cmb10] [csb10] [encoding=il2]
-\definefontsynonym [cmti10] [csti10] [encoding=il2]
-\definefontsynonym [cmti12] [csti12] [encoding=il2]
-\definefontsynonym [cmti9] [csti9] [encoding=il2]
-\definefontsynonym [cmti8] [csti8] [encoding=il2]
-\definefontsynonym [cmti7] [csti7] [encoding=il2]
-\definefontsynonym [cmtt10] [cstt10] [encoding=il2]
-\definefontsynonym [cmtt12] [cstt12] [encoding=il2]
-\definefontsynonym [cmtt9] [cstt9] [encoding=il2]
-\definefontsynonym [cmtt8] [cstt8] [encoding=il2]
-\definefontsynonym [cmsltt10] [cssltt10] [encoding=il2]
-\definefontsynonym [cmvtt10] [csvtt10] [encoding=il2]
-\definefontsynonym [cmss10] [csss10] [encoding=il2]
-\definefontsynonym [cmss12] [csss12] [encoding=il2]
-\definefontsynonym [cmss17] [csss17] [encoding=il2]
-\definefontsynonym [cmss9] [csss9] [encoding=il2]
-\definefontsynonym [cmss8] [csss8] [encoding=il2]
-\definefontsynonym [cmssi10] [csssi10] [encoding=il2]
-\definefontsynonym [cmssi12] [csssi12] [encoding=il2]
-\definefontsynonym [cmssi17] [csssi17] [encoding=il2]
-\definefontsynonym [cmssi9] [csssi9] [encoding=il2]
-\definefontsynonym [cmssi8] [csssi8] [encoding=il2]
-\definefontsynonym [cmsl10] [cssl10] [encoding=il2]
-\definefontsynonym [cmsl12] [cssl12] [encoding=il2]
-\definefontsynonym [cmsl9] [cssl9] [encoding=il2]
-\definefontsynonym [cmsl8] [cssl8] [encoding=il2]
-\definefontsynonym [cmssq8] [csssq8] [encoding=il2]
-\definefontsynonym [cmssqi8] [csssqi8] [encoding=il2]
-\definefontsynonym [cmssdc10] [csssdc10] [encoding=il2]
-\definefontsynonym [cmssbx10] [csssbx10] [encoding=il2]
-\definefontsynonym [cminch] [csinch] [encoding=il2]
-\definefontsynonym [cmdunh10] [csdunh10] [encoding=il2]
-\definefontsynonym [cmbxsl10] [csbxsl10] [encoding=il2]
-\definefontsynonym [cmff10] [csff10] [encoding=il2]
-\definefontsynonym [cmfib8] [csfib8] [encoding=il2]
-\definefontsynonym [cmbxti10] [csbxti10] [encoding=il2]
-\definefontsynonym [cmitt10] [csitt10] [encoding=il2]
-\definefontsynonym [cmu10] [csu10] [encoding=il2]
-\definefontsynonym [cmfi10] [csfi10] [encoding=il2]
-\definefontsynonym [cmcsc10] [cscsc10] [encoding=il2]
-\definefontsynonym [cmtcsc10] [cstcsc10] [encoding=il2]
-
-\endinput
diff --git a/tex/context/base/font-eul.tex b/tex/context/base/font-eul.tex
deleted file mode 100644
index 0d8b747cc..000000000
--- a/tex/context/base/font-eul.tex
+++ /dev/null
@@ -1,177 +0,0 @@
-%D \module
-%D [ file=font-eul,
-%D version=1995.1.1,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Euler,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D The Euler Fonts are designed by Herman Zapf and can be
-%D used with the Concrete Fonts defined elsewhere.
-
-\definebodyfont [12pt] [mm] % scaled \magstep1
- [mi=eurm10 at 12pt,
- ex=euex10 at 12pt,
- ma=euex10 at 12pt,
- mb=eusm10 at 12pt,
- mc=eufm10 at 12pt]
-
-\definebodyfont [11pt] [mm] % scaled \magstephalf
- [mi=eurm10 at 11pt,
- ex=euex10 at 11pt,
- ma=euex10 at 11pt,
- mb=eusm10 at 11pt,
- mc=eufm10 at 11pt]
-
-\definebodyfont [10pt] [mm]
- [mi=eurm10,
- ex=euex10,
- ma=euex10,
- mb=eusm10,
- mc=eufm10]
-
-\definebodyfont [9pt] [mm]
- [mi=eurm10 at 9pt,
- ex=euex10 at 9pt,
- ma=euex10 at 9pt,
- mb=eusm10 at 9pt,
- mc=eufm10 at 9pt]
-
-\definebodyfont [8pt] [mm]
- [mi=eurm7 at 8pt,
- ex=euex10 at 8pt,
- ma=euex10 at 8pt,
- mb=eusm7 at 8pt,
- mc=eufm7 at 8pt]
-
-\definebodyfont [7pt] [mm]
- [mi=eurm7,
- ex=euex10 at 7pt,
- ma=euex10 at 7pt,
- mb=eusm7,
- mc=eufm7]
-
-\definebodyfont [6pt] [mm]
- [mi=eurm7 at 6pt,
- ex=euex10 at 6pt,
- ma=euex10 at 6pt,
- mb=eusm7 at 6pt,
- mc=eufm7 at 6pt]
-
-\definebodyfont [5pt] [mm]
- [mi=eurm5,
- ex=euex10 at 5pt,
- ma=euex10 at 5pt,
- mb=eusm5,
- mc=eufm5]
-
-%D Here we copy part of the files that are distributed along
-%D with these fonts, but first we define some extra families.
-
-\let\exfam=\mafam % was A
-\let\smfam=\mbfam % was 8
-\let\fmfam=\mcfam % was 9
-
-\let\hexexfam=\hexmafam
-\let\hexsmfam=\hexmbfam
-\let\hexfmfam=\hexmcfam
-
-%D Now we're up to the redefinitions.
-
-\mathcode`0="7130
-\mathcode`1="7131
-\mathcode`2="7132
-\mathcode`3="7133
-\mathcode`4="7134
-\mathcode`5="7135
-\mathcode`6="7136
-\mathcode`7="7137
-\mathcode`8="7138
-\mathcode`9="7139
-
-\mathchardef\intop ="1\hexexfam 52
-\mathchardef\ointop ="1\hexexfam 48
-\mathchardef\coprod ="1\hexexfam 60
-\mathchardef\prod ="1\hexexfam 51
-\mathchardef\sum ="1\hexexfam 50
-\mathchardef\braceld ="\hexexfam 7A
-\mathchardef\bracerd ="\hexexfam 7B
-\mathchardef\bracelu ="\hexexfam 7C
-\mathchardef\braceru ="\hexexfam 7D
-\mathchardef\infty ="0\hexexfam 31
-
-\mathchardef\nearrow ="3\hexexfam 25
-\mathchardef\searrow ="3\hexexfam 26
-\mathchardef\nwarrow ="3\hexexfam 2D
-\mathchardef\swarrow ="3\hexexfam 2E
-\mathchardef\Leftrightarrow ="3\hexexfam 2C
-\mathchardef\Leftarrow ="3\hexexfam 28
-\mathchardef\Rightarrow ="3\hexexfam 29
-\mathchardef\leftrightarrow ="3\hexexfam 24
-\mathchardef\leftarrow ="3\hexexfam 20
-\mathchardef\rightarrow ="3\hexexfam 21
-
-\let\gets =\leftarrow
-\let\to =\rightarrow
-
-\mathcode`\^^W ="3\hexexfam 24
-\mathcode`\^^X ="3\hexexfam 20
-\mathcode`\^^Y ="3\hexexfam 21
-\mathcode`\^^K ="3\hexexfam 22
-\mathcode`\^^A ="3\hexexfam 23
-
-\def\uparrow {\delimiter"3\hexexfam 22378 }
-\def\downarrow {\delimiter"3\hexexfam 23379 }
-\def\updownarrow {\delimiter"3\hexexfam 6C33F }
-\def\Uparrow {\delimiter"3\hexexfam 2A37E }
-\def\Downarrow {\delimiter"3\hexexfam 2B37F }
-\def\Updownarrow {\delimiter"3\hexexfam 6D377 }
-
-\mathchardef\leftharpoonup ="3\hexexfam 18
-\mathchardef\leftharpoondown ="3\hexexfam 19
-\mathchardef\rightharpoonup ="3\hexexfam 1A
-\mathchardef\rightharpoondown ="3\hexexfam 1B
-
-\mathcode`+="2\hexfmfam 2B
-\mathcode`-="2\hexfmfam 2D
-\mathcode`!="0\hexfmfam 21
-\mathcode`(="4\hexfmfam 28 \delcode`(="\hexfmfam 28300
-\mathcode`)="5\hexfmfam 29 \delcode`)="\hexfmfam 29301
-\mathcode`[="4\hexfmfam 5B \delcode`[="\hexfmfam 5B302
-\mathcode`]="5\hexfmfam 5D \delcode`]="\hexfmfam 5D303
-\mathcode`=="3\hexfmfam 3D
-
-\mathchardef\Relbar ="303D % we need the old = to match \Arrows
-\mathchardef\Gamma ="7100
-\mathchardef\Delta ="7101
-\mathchardef\Theta ="7102
-\mathchardef\Lambda ="7103
-\mathchardef\Xi ="7104
-\mathchardef\Pi ="7105
-\mathchardef\Sigma ="7106
-\mathchardef\Upsilon ="7107
-\mathchardef\Phi ="7108
-\mathchardef\Psi ="7109
-\mathchardef\Omega ="710A
-
-\let\varsigma =\sigma % Euler doesn't have these
-\let\varrho =\rho % Euler doesn't have these
-\mathchardef\aleph ="0D40
-
-\def\rbrace {\delimiter"5\hexsmfam 67A09 } \let\}=\rbrace
-\def\lbrace {\delimiter"4\hexsmfam 66A08 } \let\{=\lbrace
-
-\mathchardef\leq ="3\hexsmfam 14 \let\le=\leq
-\mathchardef\geq ="3\hexsmfam 15 \let\ge=\geq
-\mathchardef\Re ="0\hexsmfam 3C
-\mathchardef\Im ="0\hexsmfam 3D
-
-\def\vert {\delimiter"\hexsmfam 6A30C }
-\def\backslash {\delimiter"\hexsmfam 6E30F }
-
-\endinput
diff --git a/tex/context/base/font-fil.tex b/tex/context/base/font-fil.tex
deleted file mode 100644
index 84411624d..000000000
--- a/tex/context/base/font-fil.tex
+++ /dev/null
@@ -1,121 +0,0 @@
-%D \module
-%D [ file=font-fil,
-%D version=1998.11.4,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Original Font Names,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-\definefontsynonym [ComputerModern] [cmr10]
-\definefontsynonym [ComputerModern-Bold] [cmbx10]
-\definefontsynonym [ComputerModern-Italic] [cmti10]
-\definefontsynonym [ComputerModern-Slanted] [cmsl10]
-\definefontsynonym [ComputerModern-BoldItalic] [cmbxti10]
-\definefontsynonym [ComputerModern-BoldSlanted] [cmbxsl10]
-\definefontsynonym [ComputerModern-Caps] [cmr10]
-
-\definefontsynonym [ComputerModernSans] [cmss10]
-\definefontsynonym [ComputerModernSans-Bold] [cmssbx10]
-\definefontsynonym [ComputerModernSans-Italic] [cmssi10]
-\definefontsynonym [ComputerModernSans-Slanted] [cmssi10]
-\definefontsynonym [ComputerModernSans-BoldItalic] [cmssbx10]
-\definefontsynonym [ComputerModernSans-BoldSlanted] [cmssbx10]
-\definefontsynonym [ComputerModernSans-Caps] [cmss10]
-
-\definefontsynonym [ComputerModernMono] [cmtt10]
-\definefontsynonym [ComputerModernMono-Bold] [cmtt10]
-\definefontsynonym [ComputerModernMono-Italic] [cmitt10]
-\definefontsynonym [ComputerModernMono-Slanted] [cmsltt10]
-\definefontsynonym [ComputerModernMono-BoldItalic] [cmtt10]
-\definefontsynonym [ComputerModernMono-BoldSlanted] [cmtt10]
-\definefontsynonym [ComputerModernMono-Caps] [cmtt10]
-
-\definefontsynonym [ComputerModernMath-Roman] [cmr10]
-\definefontsynonym [ComputerModernMath-Extension] [cmex10]
-\definefontsynonym [ComputerModernMath-Italic] [cmmi10]
-\definefontsynonym [ComputerModernMath-Symbol] [cmsy10]
-
-\definefontsynonym [Courier] [com] [encoding=texnansi]
-\definefontsynonym [Courier-Oblique] [coo] [encoding=texnansi]
-\definefontsynonym [Courier-Bold] [cob] [encoding=texnansi]
-\definefontsynonym [Courier-BoldOblique] [cobo] [encoding=texnansi]
-
-\definefontsynonym [Helvetica] [hv] [encoding=texnansi]
-\definefontsynonym [Helvetica-Oblique] [hvo] [encoding=texnansi]
-\definefontsynonym [Helvetica-Bold] [hvb] [encoding=texnansi]
-\definefontsynonym [Helvetica-BoldOblique] [hvbo] [encoding=texnansi]
-
-\definefontsynonym [Times-Roman] [tir] [encoding=texnansi]
-\definefontsynonym [Times-Italic] [tii] [encoding=texnansi]
-\definefontsynonym [Times-Bold] [tib] [encoding=texnansi]
-\definefontsynonym [Times-BoldItalic] [tibi] [encoding=texnansi]
-
-\definefontsynonym [Times-MathRoman] [tir] [encoding=texnansi]
-\definefontsynonym [Times-MathExtension] [mtex]
-\definefontsynonym [Times-MathItalic] [mtmi]
-\definefontsynonym [Times-MathSymbol] [mtsy]
-
-\definefontsynonym [LucidaBlackletter] [lbl] [encoding=texnansi]
-\definefontsynonym [LucidaBright] [lbr] [encoding=texnansi]
-\definefontsynonym [LucidaBright-Demi] [lbd] [encoding=texnansi]
-\definefontsynonym [LucidaBright-DemiItalic] [lbdi] [encoding=texnansi]
-\definefontsynonym [LucidaBright-Italic] [lbi] [encoding=texnansi]
-\definefontsynonym [LucidaBrightSmallcaps] [lbrsc] [encoding=texnansi]
-\definefontsynonym [LucidaBrightSmallcaps-Demi] [lbdsc] [encoding=texnansi]
-\definefontsynonym [LucidaBright-Oblique] [lbsl] [encoding=texnansi]
-\definefontsynonym [LucidaCalligraphy-Italic] [lbc] [encoding=texnansi]
-\definefontsynonym [LucidaCasual] [lbkr] [encoding=texnansi]
-\definefontsynonym [LucidaCasual-Italic] [lbki] [encoding=texnansi]
-\definefontsynonym [LucidaFax] [lfr] [encoding=texnansi]
-\definefontsynonym [LucidaFax-Demi] [lfd] [encoding=texnansi]
-\definefontsynonym [LucidaFax-DemiItalic] [lfdi] [encoding=texnansi]
-\definefontsynonym [LucidaFax-Italic] [lfi] [encoding=texnansi]
-\definefontsynonym [LucidaHandwriting-Italic] [lbh] [encoding=texnansi]
-\definefontsynonym [LucidaSans] [lsr] [encoding=texnansi]
-\definefontsynonym [LucidaSans-Demi] [lsd] [encoding=texnansi]
-\definefontsynonym [LucidaSans-DemiItalic] [lsdi] [encoding=texnansi]
-\definefontsynonym [LucidaSans-Italic] [lsi] [encoding=texnansi]
-\definefontsynonym [LucidaSans-Bold] [lsb] [encoding=texnansi]
-\definefontsynonym [LucidaSans-BoldItalic] [lsbi] [encoding=texnansi]
-\definefontsynonym [LucidaSans-Typewriter] [lstr] [encoding=texnansi]
-\definefontsynonym [LucidaSans-TypewriterBold] [lstb] [encoding=texnansi]
-\definefontsynonym [LucidaSans-TypewriterBoldOblique] [lstbo] [encoding=texnansi]
-\definefontsynonym [LucidaSans-TypewriterOblique] [lsto] [encoding=texnansi]
-\definefontsynonym [LucidaTypewriter] [lbtr] [encoding=texnansi]
-\definefontsynonym [LucidaTypewriterBold] [lbtb] [encoding=texnansi]
-\definefontsynonym [LucidaTypewriterBoldOblique] [lbtbo] [encoding=texnansi]
-\definefontsynonym [LucidaTypewriterOblique] [lbto] [encoding=texnansi]
-\definefontsynonym [LucidaNewMath-AltDemiItalic] [lbmdo] [encoding=texnansi]
-\definefontsynonym [LucidaNewMath-AltItalic] [lbmo] [encoding=texnansi]
-\definefontsynonym [LucidaNewMath-Arrows] [lbma] [encoding=texnansi]
-\definefontsynonym [LucidaNewMath-Arrows-Demi] [lbmad] [encoding=texnansi]
-\definefontsynonym [LucidaNewMath-Extension] [lbme] [encoding=texnansi]
-\definefontsynonym [LucidaNewMath-Roman] [lbmr] [encoding=texnansi]
-\definefontsynonym [LucidaNewMath-Demibold] [lbmd] [encoding=texnansi]
-\definefontsynonym [LucidaNewMath-DemiItalic] [lbmdi] [encoding=texnansi]
-\definefontsynonym [LucidaNewMath-Italic] [lbmi] [encoding=texnansi]
-\definefontsynonym [LucidaNewMath-Symbol] [lbms] [encoding=texnansi]
-\definefontsynonym [LucidaNewMath-Symbol-Demi] [lbmsd] [encoding=texnansi]
-
-\definefontsynonym [Informal-Regular] [ifrm10cm]
-\definefontsynonym [Informal-Bold] [ifrb10cm]
-\definefontsynonym [Informal-Oblique] [ifro10cm]
-\definefontsynonym [Informal-BoldOblique] [ifbo10cm]
-
-\definefontsynonym [Informal-MathExtendedSymbols] [ifex10]
-\definefontsynonym [Informal-MathItalics] [ifmi10]
-\definefontsynonym [Informal-MathSymbols] [ifsy10]
-
-\definefontsynonym [AntykwaTorunska-Bold] [anttb] [encoding=texnansi]
-\definefontsynonym [AntykwaTorunska-Regular] [anttr] [encoding=texnansi]
-\definefontsynonym [AntykwaTorunska-Italic] [anttri] [encoding=texnansi]
-
-\definefontsynonym [ContextNavigation] [contnav]
-\definefontsynonym [RalfSmithFormalScript] [rsfs10]
-
-\endinput
diff --git a/tex/context/base/font-heb.tex b/tex/context/base/font-heb.tex
index 573189618..2982b3dfc 100644
--- a/tex/context/base/font-heb.tex
+++ b/tex/context/base/font-heb.tex
@@ -1,3 +1,5 @@
+% NOT YET ADAPTED TO THE NEW FONT MACROS
+
\input font-arb.tex
\writestatus{loading}{Context Font Macros / Hebrew (ArabTeX) support}
diff --git a/tex/context/base/font-ini.tex b/tex/context/base/font-ini.tex
index 2347ddcd3..bf904b9ab 100644
--- a/tex/context/base/font-ini.tex
+++ b/tex/context/base/font-ini.tex
@@ -1,6 +1,7 @@
%D \module
%D [ file=font-ini,
-%D version=1998.09.11,
+%D version=1998.09.11, % (second)
+%D version=2001.02.20, % (third)
%D title=\CONTEXT\ Font Macros,
%D subtitle=Initialization,
%D author=Hans Hagen,
@@ -8,13 +9,40 @@
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
\writestatus{loading}{Context Font Macros (ini)}
\unprotect
-
+
+% adapted, else wrong interlinespace
+
+\def\setfontparameters%
+ {\synchronizefontsfalse
+ \the\everybodyfont
+ \synchronizefontstrue}
+
+% handy
+
+\newcounter\pushedfont
+
+\def\savefont%
+ {\increment\pushedfont
+ \expanded{\definefont[\string\pushedfont:\pushedfont][\lastfontname]}}
+
+\def\restorefont%
+ {\getvalue{\string\pushedfont:\pushedfont}}
+
+% new
+
+\def\dodefinedfont[#1]%
+ {\iffirstargument\definefont[\string\definedfont][#1]\fi
+ \getvalue{\string\definedfont}}
+
+\def\definedfont%
+ {\dosingleempty\dodefinedfont}
+
\startmessages dutch library: fonts
title: korps
1: codering --
@@ -80,7 +108,7 @@
5: stile -- non definito
6: -- caricato
7: formato sconosciuto --
- 8: stile -- definito
+ 8: stile -- definito
% 9: mappatura -- caricata
10: file di font sconosciuto --
\stopmessages
@@ -121,6 +149,17 @@
%D underlaying macros, and extended those to a level at which
%D probably no one will ever recognize them.
%D
+%D In 2001 we ran into a couple of projects where more than
+%D one combined set of fonts was involved in a document. To
+%D make definitions more readable, as well as to overcome the
+%D problem of ever growing file name lists, and also because
+%D we needed to scale fonts relative to each other, the low
+%D level implementation was partly rewritten. Global
+%D font assignments, relative scaling, font classes and alike
+%D were added then. At the same time some macros were made a
+%D bit more readable, and math support was extended to the
+%D larger sizes.
+%D
%D One important characteristic of the font mechanism presented
%D here is the postponing of font loading. This makes it
%D possible to distribute \type{fmt} files without bothering
@@ -229,7 +268,7 @@
%D \stoptabel
%D \stopregelcorrectie
-%D The more primitive is (still) predefined:
+%D For old stylish Frans Goddijn we have:
%D
%D \startregelcorrectie
%D \starttabel[|l||]
@@ -360,8 +399,8 @@
%D \stoptypen
%D
%D And compare $\rm \scriptstyle THIS$ with the slightly larger
-%D \kap{THIS}: \ruledhbox{$\rm \scriptstyle\ scriptstyle THIS$}
-%D or \ruledhbox{\kap{THIS x style}} makes a big difference.
+%D \kap{THIS}: \ruledhbox{$\rm \scriptstyle scriptstyle: THIS$}
+%D or \ruledhbox{\kap{x style: THIS}} makes a big difference.
%D \macros
%D {mf}
@@ -418,9 +457,14 @@
%D \type{\tf}:
\unexpanded\def\mf%
- {\dodosetmathfont{\fontalternative}%
+ {\dodosetmathfont\fontalternative
\getvalue{\fontalternative}}
+% \unexpanded\def\mf%
+% {\dodosetmathfont\fontalternative
+% \getvalue{\fontalternative}%
+% \fam\getvalue{\fontalternative\s!fam}}
+
%D The previous example was typeset saying:
%D
%D \typebuffer
@@ -470,17 +514,16 @@
\def\mathop%
{\normalmathop
\bgroup
- \let\rm=\mf
+ \let\rm\mf
\let\next=}
-%D We can fix arbitrary horizontal boxes by redefining the
+%D We can fix arbitrary horizontal boxes by redefining the
%D \TEX\ primitive \type{\hbox}:
%D
%D \starttypen
%D \let\normalhbox=\hbox
%D
-%D \def\hbox%
-%D {\ifmmode\mbox\else\normalhbox\fi}
+%D \def\hbox{\ifmmode\mbox\else\normalhbox\fi}
%D \stoptypen
%D
%D with
@@ -527,8 +570,8 @@
\def\enablembox%
{\appendtoks
- \ifx\normalhbox\undefined\let\normalhbox=\hbox\fi
- \let\hbox=\mbox
+ \ifx\normalhbox\undefined\let\normalhbox\hbox\fi
+ \let\hbox\mbox
\to\everymath}
%D So in fact one can enable this feature if needed. I would say:
@@ -597,20 +640,20 @@
%D needed for the \AMS\ Symbol Fonts and Extended Lucida
%D Bright.
-\chardef\mafam=12 % \newfam\mafam % C (ConTeXt) Math A Fam (AmsTeX A)
-\chardef\mbfam=13 % \newfam\mbfam % D (ConTeXt) Math B Fam (AmsTeX B)
-\chardef\mcfam=14 % \newfam\mcfam % E (ConTeXt) Math C Fam
-\chardef\mdfam=15 % \newfam\mdfam % F (ConTeXt) Math D Fam (MathTime)
+\chardef\mafam=12 % \newfam\mafam % C (ConTeXt) Math A Fam (AmsTeX A)
+\chardef\mbfam=13 % \newfam\mbfam % D (ConTeXt) Math B Fam (AmsTeX B)
+\chardef\mcfam=14 % \newfam\mcfam % E (ConTeXt) Math C Fam (MathTime)
+\chardef\mdfam=15 % \newfam\mdfam % F (ConTeXt) Math D Fam (MathTime)
%D Because there are 16~families and because \type{\ttfam}
-%D is reused, at the moment we have no so many families
-%D left. By default, we map any newly defined family on the
+%D is reused, at the moment we have no so many families
+%D left. By default, we map any newly defined family on the
%D last one (F).
-\def\newfam#1{\chardef#1=15 }
+\def\newfam#1{\chardef#1=15 }
-%D This hack is also needed because in \ETEX\ we are going
-%D to reuse the \type {\newfam} allocation counter.
+%D This hack is also needed because in \ETEX\ we are going
+%D to reuse the \type {\newfam} allocation counter.
%D To ease the support of font packages, we als define
%D shortcuts to these familynames. This is necessary because
@@ -632,9 +675,9 @@
%D \macros
%D {uchar}
%D
-%D This macro prepares \CONTEXT\ for \UNICODE\ support. By
-%D defining it here, we have at least an safeguard for utility
-%D file reading.
+%D This macro prepares \CONTEXT\ for \UNICODE\ support. By
+%D defining it here, we have at least an safeguard for utility
+%D file reading.
\unexpanded\def\uchar#1#2{[#1,#2]}
@@ -647,31 +690,213 @@
\def\@letter@ {@f@le@} % first alternative typeface
\def\@noletter@ {@f@no@} % second alternative typeface
-%D We also define a list of all text (i.e.\ non math symbol)
-%D families. By assigning \type{\dowithfamily} some suitable
-%D meaning one can process such lists quite fast. The current
-%D implementation uses the commalist processing macros and is
-%D not that slow either.
+%D The families can be grouped into math specific ones and
+%D more text related families, although text ones can be
+%D mapped onto the math ones to get for instance bold math.
+%D
+%D Both groups of families are handles by a couple of token
+%D list tagged as strategies. This implementation makes
+%D implementing extensions more comfortable.
+
+\newtoks \textstrategies
+\newtoks \mathstrategies
+\newtoks \symbstrategies
+
+\def\synchronizetext{\the\textstrategies\fam\mrfam} % stylish text in mmode
+\def\synchronizemath{\the\mathstrategies\fam\mrfam} % math stuff in mmode
+\def\synchronizesymb{\the\symbstrategies\fam\mrfam} % stylish math stuff in mmode
+
+\appendtoks
+ \dosettextfamily\c!tf
+ \dosettextfamily\c!bf
+ \dosettextfamily\c!sl
+ \dosettextfamily\c!it
+ \dosettextfamily\c!bs
+ \dosettextfamily\c!bi
+ \dosettextfamily\c!sc
+\to \textstrategies
+
+\def\dosettextfamily#1%
+ {\dodosettextfamily\scriptscriptfont\scriptscriptface#1%
+ \dodosettextfamily\scriptfont \scriptface #1%
+ \dodosettextfamily\textfont \textface #1}
+
+% \def\s!nullfont{nullfont}
+
+\beginTEX
+
+\def\dodosettextfamily#1#2#3%
+ {\@EA\ifx\csname\fontclass#2\c!mm#3\fontsize\endcsname\relax
+ \@EA\ifx\csname\fontclass#2\c!mm#3\endcsname \relax
+ \@EA\ifx\csname\fontclass#2\c!rm#3\fontsize\endcsname\relax
+ \@EA\ifx\csname\fontclass#2\c!rm#3\endcsname \relax
+ \@EA\ifx\csname #2\c!mm#3\fontsize\endcsname\relax
+ \@EA\ifx\csname #2\c!mm#3\endcsname \relax
+ \@EA\ifx\csname #2\c!rm#3\fontsize\endcsname\relax
+ \@EA\ifx\csname #2\c!rm#3\endcsname \relax
+ \autofontsizetrue \nullfont \else
+ \autofontsizetrue \csname#2\c!rm#3\endcsname \fi\else
+ \autofontsizefalse \csname#2\c!rm#3\fontsize\endcsname\fi\else
+ \autofontsizetrue \csname#2\c!mm#3\endcsname \fi\else
+ \autofontsizefalse \csname#2\c!mm#3\fontsize\endcsname\fi\else
+ \autofontsizetrue \csname\fontclass#2\c!rm#3\endcsname \fi\else
+ \autofontsizefalse \csname\fontclass#2\c!rm#3\fontsize\endcsname\fi\else
+ \autofontsizetrue \csname\fontclass#2\c!mm#3\endcsname \fi\else
+ \autofontsizefalse \csname\fontclass#2\c!mm#3\fontsize\endcsname\fi
+ #1\csname#3\s!fam\endcsname\font}
+
+\endTEX
+
+\beginETEX \ifcsname
+
+\def\dodosettextfamily#1#2#3%
+ {\ifcsname\fontclass#2\c!mm#3\fontsize\endcsname \autofontsizefalse
+ \csname\fontclass#2\c!mm#3\fontsize\endcsname \else
+ \ifcsname\fontclass#2\c!mm#3\endcsname \autofontsizetrue
+ \csname\fontclass#2\c!mm#3\endcsname \else
+ \ifcsname\fontclass#2\c!rm#3\fontsize\endcsname \autofontsizefalse
+ \csname\fontclass#2\c!rm#3\fontsize\endcsname \else
+ \ifcsname\fontclass#2\c!rm#3\endcsname \autofontsizetrue
+ \csname\fontclass#2\c!rm#3\endcsname \else
+ \ifcsname #2\c!mm#3\fontsize\endcsname \autofontsizefalse
+ \csname #2\c!mm#3\fontsize\endcsname \else
+ \ifcsname #2\c!mm#3\endcsname \autofontsizetrue
+ \csname #2\c!mm#3\endcsname \else
+ \ifcsname #2\c!rm#3\fontsize\endcsname \autofontsizefalse
+ \csname #2\c!rm#3\fontsize\endcsname \else
+ \ifcsname #2\c!rm#3\endcsname \autofontsizetrue
+ \csname #2\c!rm#3\endcsname \else
+ \nullfont \autofontsizetrue
+ \fi\fi\fi\fi\fi\fi\fi\fi
+ #1\csname#3\s!fam\endcsname\font}
+
+\endETEX
+
+\def\mrfallback{\c!rm\c!tf}
+
+\appendtoks
+ \dosetmathfamily\mrfam\textface\scriptface\scriptscriptface\c!mr\mrfallback
+ \dosetmathfamily\mifam\textface\scriptface\scriptscriptface\c!mi\empty
+ \dosetskewchar\defaultskewcharmi % implemented later on
+ \dosetmathfamily\syfam\textface\scriptface\scriptscriptface\c!sy\empty
+ \dosetskewchar\defaultskewcharsy % implemented later on
+ \dosetmathfamily\exfam\textface\textface \textface \c!ex\empty
+ \dosetmathfamily\mafam\textface\scriptface\scriptscriptface\c!ma\empty
+ \dosetmathfamily\mbfam\textface\scriptface\scriptscriptface\c!mb\empty
+ \dosetmathfamily\mcfam\textface\scriptface\scriptscriptface\c!mc\empty
+ \dosetmathfamily\nnfam\textface\scriptface\scriptscriptface\c!nn\empty
+\to \mathstrategies
+
+\def\dosetmathfamily#1#2#3#4#5#6%
+ {\dodosetmathfamily\scriptscriptfont#4#1#5{#6}%
+ \dodosetmathfamily\scriptfont #3#1#5{#6}%
+ \dodosetmathfamily\textfont #2#1#5{#6}}
+
+\beginTEX
+
+\def\dodosetmathfamily#1#2#3#4#5%
+ {\@EA\ifx \csname\fontclass#2\c!mm#4\fontsize\endcsname\relax
+ \@EA\ifx \csname\fontclass#2\c!mm#4\endcsname \relax
+ \@EA\ifx \csname\fontclass#2#5\fontsize\endcsname \relax
+ \@EA\ifx \csname\fontclass#2#5\endcsname \relax
+ \@EA\ifx \csname #2\c!mm#4\fontsize\endcsname\relax
+ \@EA\ifx \csname #2\c!mm#4\endcsname \relax
+ \@EA\ifx \csname #2#5\fontsize\endcsname \relax
+ \@EA\ifx \csname #2#5\endcsname \relax
+ \autofontsizetrue \nullfont \else
+ \autofontsizetrue \csname #2#5\endcsname \fi \else
+ \autofontsizefalse \csname #2#5\fontsize\endcsname \fi \else
+ \autofontsizetrue \csname #2\c!mm#4\endcsname \fi \else
+ \autofontsizefalse \csname #2\c!mm#4\fontsize\endcsname\fi \else
+ \autofontsizetrue \csname\fontclass#2#5\endcsname \fi \else
+ \autofontsizefalse \csname\fontclass#2#5\fontsize\endcsname \fi \else
+ \autofontsizetrue \csname\fontclass#2\c!mm#4\endcsname \fi \else
+ \autofontsizefalse \csname\fontclass#2\c!mm#4\fontsize\endcsname\fi
+ #1#3\font}
+
+\endTEX
+
+\beginETEX \ifcsname
+
+\def\dodosetmathfamily#1#2#3#4#5%
+ {\ifcsname\fontclass#2\c!mm#4\fontsize\endcsname \autofontsizefalse
+ \csname\fontclass#2\c!mm#4\fontsize\endcsname \else
+ \ifcsname\fontclass#2\c!mm#4\endcsname \autofontsizetrue
+ \csname\fontclass#2\c!mm#4\endcsname \else
+ \ifcsname\fontclass#2#5\fontsize\endcsname \autofontsizefalse
+ \csname\fontclass#2#5\fontsize\endcsname \else
+ \ifcsname\fontclass#2#5\endcsname \autofontsizetrue
+ \csname\fontclass#2#5\endcsname \else
+ \ifcsname #2\c!mm#4\fontsize\endcsname \autofontsizefalse
+ \csname #2\c!mm#4\fontsize\endcsname \else
+ \ifcsname #2\c!mm#4\endcsname \autofontsizetrue
+ \csname #2\c!mm#4\endcsname \else
+ \ifcsname #2#5\fontsize\endcsname \autofontsizefalse
+ \csname #2#5\fontsize\endcsname \else
+ \ifcsname #2#5\endcsname \autofontsizetrue
+ \csname #2#5\endcsname \else
+ \nullfont \autofontsizetrue
+ \fi\fi\fi\fi\fi\fi\fi\fi
+ #1#3\font}
+
+\endETEX
+
+\appendtoks
+ \dosetsymbfamily\mrfam\textface\scriptface\scriptscriptface\c!mr
+ \dosetsymbfamily\mifam\textface\scriptface\scriptscriptface\c!mi
+ \dosetsymbfamily\syfam\textface\scriptface\scriptscriptface\c!sy
+ \dosetsymbfamily\exfam\textface\textface \textface \c!ex
+ \dosetsymbfamily\mafam\textface\scriptface\scriptscriptface\c!ma
+ \dosetsymbfamily\mbfam\textface\scriptface\scriptscriptface\c!mb
+ \dosetsymbfamily\mcfam\textface\scriptface\scriptscriptface\c!mc
+\to \symbstrategies
+
+\def\dosetsymbfamily#1#2#3#4#5%
+ {\dodosetsymbfamily\scriptscriptfont#4#1#5%
+ \dodosetsymbfamily\scriptfont #3#1#5%
+ \dodosetsymbfamily\textfont #2#1#5}
+
+\beginTEX
+
+\def\dodosetsymbfamily#1#2#3#4%
+ {\@EA\ifx\csname\fontclass#2\c!mm#4\fontalternative\fontsize\endcsname\relax
+ \@EA\ifx\csname#2\c!mm#4\fontalternative\fontsize\endcsname\relax
+ \else
+ \csname#2\c!mm#4\fontalternative\fontsize\endcsname
+ #1#3\font
+ \fi
+ \else
+ \csname\fontclass#2\c!mm#4\fontalternative\fontsize\endcsname
+ #1#3\font
+ \fi}
-\def\familylist%
- {\c!tf,\c!sl,\c!it,\c!bf,\c!bs,\c!bi,\c!sc}
+\endTEX
-\def\processfamilylist%
- {\dowithfamily\c!tf
- \dowithfamily\c!sl
- \dowithfamily\c!it
- \dowithfamily\c!bf
- \dowithfamily\c!bs
- \dowithfamily\c!bi
- \dowithfamily\c!sc}
+\beginETEX \ifcsname
-%D This list will be extended when needed with (pseudo)
-%D families. The speude ones will in fact use the NoName
-%D family.
+\def\dodosetsymbfamily#1#2#3#4%
+ {\ifcsname\fontclass#2\c!mm#4\fontalternative\fontsize\endcsname
+ \csname\fontclass#2\c!mm#4\fontalternative\fontsize\endcsname
+ #1#3\font
+ \else\ifcsname#2\c!mm#4\fontalternative\fontsize\endcsname
+ \csname#2\c!mm#4\fontalternative\fontsize\endcsname
+ #1#3\font
+ \fi\fi}
+\def\dodosetsymbfamily#1#2#3#4%
+ {\ifcsname\fontclass#2\c!mm#4\fontalternative\fontsize\endcsname
+ \csname\fontclass#2\c!mm#4\fontalternative\fontsize\endcsname
+ #1#3\font
+ \else\ifcsname#2\c!mm#4\fontalternative\fontsize\endcsname
+ \csname#2\c!mm#4\fontalternative\fontsize\endcsname
+ #1#3\font
+ \fi\fi}
+
+\endETEX
+
%D All used styles, like rm, ss and tt, are saved in a comma
%D separated list. Appart from practical limitations one can
-%D define as many styles as needed, but first we
+%D define as many styles as needed.
\let\stylelist=\empty
@@ -709,8 +934,14 @@
%D \HL
%D \stoptabel
+\def\magstep#1% \relax removed, otherwise space after it sticks, else added
+ {\ifcase#1 \@m\or1200\or1440\or1728\or2074\or2488\or\@m\fi}
+
+\def\magstephalf%
+ {1095}
+
\def\magfactor#1%
- {\ifcase#1 1.000\or 1.200\or 1.440\or 1.728\or 2.074\or 2.488\or 1\fi}
+ {\ifcase#1 1.000\or1.200\or1.440\or1.728\or2.074\or2.488\or1\fi}
\def\magfactorhalf%
{1.095}
@@ -718,165 +949,165 @@
%D These macros enable the use of definitions like \type{sa
%D \magfactor3} which saves us both (mis|)|calculations and
%D potential mistypings.
-%D
+%D
%D Because \type {sa} (scaled at) and \type {mo} (mapped on)
%D are not low level \TEX\ supported alternatives, we have to
%D test for it ourselves. In doing so, we need an auxiliary
%D \DIMENSION. We cannot use \type{\scratchdimen} because font
%D loading can happen at any moment due to postponed loading.
%D We could instead have used dirty grouping tricks, but this
-%D one works too.
-
-%%% \newdimen\scaledfont
-%%%
-%%% REPLACED
-%%%
-%%% % \def\docalculatefont#1 sa #2sa#3*#4*#5*% The spaces are needed!
-%%% % {\edef\fontscale{#2}%
-%%% % \ifx\fontscale\empty
-%%% % \expandafter\font\csname#4#5\endcsname=#1\relax
-%%% % \else
-%%% % \scaledfont=#4\relax
-%%% % \expandafter\font\csname#4#5\endcsname=#1 at \fontscale\scaledfont\relax
-%%% % \fi}
-%%%
-%%% \def\splitfontdefinition#1 #2 #3 #4\end%
-%%% {\def\somefontname{#1}%
-%%% \doifelse{#2}{*}
-%%% {\let\somefontspec=\empty}
-%%% {\def\somefontspec{ #2 #3}}}
-%%%
-%%% % \def\docalculatefont#1 sa #2sa#3*#4*#5*% The spaces are needed!
-%%% % {\edef\fontscale{#2}%
-%%% % \expandafter\splitfontdefinition#1 * * \end
-%%% % \ifx\fontscale\empty \else
-%%% % \scaledfont=#4\relax
-%%% % \def\somefontspec{ at \fontscale\scaledfont}%
-%%% % \fi
-%%% % \expandafter\font\csname#4#5\endcsname=
-%%% % \truefilename{\somefontname}\somefontspec\relax}
-%%%
-%%% %D We also accept \type{sa a}||\type{sa d} as specification.
-%%%
-%%% \def\checkfontscale#1#2\end% should be optimized
-%%% {\doifnumberelse{#1}{}
-%%% {\doifdefinedelse{\??ft\s!default#1}
-%%% {\edef\fontscale{\getvalue{\??ft\s!default#1}}}
-%%% {\edef\fontscale{1}}}}
-%%%
-%%% % \def\docalculatefont#1 sa #2sa#3*#4*#5*% The spaces are needed!
-%%% % {\edef\fontscale{#2}%
-%%% % \expandafter\splitfontdefinition#1 * * \end
-%%% % \ifx\fontscale\empty \else
-%%% % \expandafter\checkfontscale#2 \end % #2 can be "a " (space!)
-%%% % \scaledfont=#4\relax
-%%% % \def\somefontspec{ at \fontscale\scaledfont}%
-%%% % \fi
-%%% % \expandafter\font\csname#4#5\endcsname=
-%%% % \truefilename{\somefontname}\somefontspec\relax}
-%%%
-%%% \def\defaultfontfile{cmtt10}
-%%% \edef\nullfontname {\fontname\nullfont}
-%%% \edef\dummyfontname {font\strippedcsname\\}
-%%%
-%%% \def\docalculatefont#1 sa #2sa#3*#4*#5*% The spaces are needed!
-%%% {\edef\fontscale{#2}%
-%%% \expandafter\splitfontdefinition#1 * * \end
-%%% \ifx\fontscale\empty \else
-%%% \expandafter\checkfontscale#2 \end % #2 can be "a " (space!)
-%%% \scaledfont=#4\relax
-%%% \def\somefontspec{ at \fontscale\scaledfont}%
-%%% \fi
-%%% \edef\fontfile{\truefontname\somefontname}%
-%%% \ifx\fontfile\s!unknown
-%%% \let\fontfile\defaultfontfile
-%%% \else
-%%% \edef\fontdata{\truefontdata\somefontname}%
-%%% \ifx\fontdata\empty \else
-%%% %\@EA\getparameters\@EA[\@EA\fontfile\@EA]\@EA[\fontdata]%
-%%% \@EA\rawgetparameters\@EA[\@EA\fontfile\@EA]\@EA[\fontdata]%
-%%% \fi
-%%% \fi
-%%% % faster
-%%% %\expandafter\font\csname#4#5\endcsname\fontfile\somefontspec\relax
-%%% % nicer
-%%% \edef\lastfontname{\fontfile\somefontspec}%
-%%% \expandafter\font\csname#4#5\endcsname\lastfontname
-%%% \expandafter\font\csname\dummyfontname\endcsname\lastfontname\relax}
-%%% % safer but sometimes introducing newlines in the log
-%%% %\batchmode
-%%% %\font\lastloadedfont\fontfile\somefontspec\relax
-%%% %\errorstopmode
-%%% %\edef\lastfontname{\fontname\lastloadedfont}%
-%%% %\ifx\lastfontname\nullfontname
-%%% % \showmessage{\m!fonts}{10}{\fontfile}%
-%%% % \expandafter\font\csname#4#5\endcsname=\defaultfontfile\somefontspec\relax
-%%% %\else
-%%% % \expandafter\let\csname#4#5\endcsname\lastloadedfont
-%%% %\fi}
-
-\newdimen\scaledfont
-
-\def\parsefontspec[#1]%
- {\edef\somefontspec{#1}%
- \@EA\@EA\@EA\doparsefontspec\@EA\somefontspec\space\relax]}
-
-\def\doparsefontspec#1 #2#3]#4#5%
- {\ifx#2\relax
- \let\somefontname\somefontspec
- \let\somefontspec\empty
- \donoparsefontspec{#5}%
+%D one works too.
+
+\def\norelativefontsize{1}
+\def\dorelativefontsize{1}
+\def\relativefontsize {1}
+
+\def\s!rscale{rscale}
+
+\def\dostorerelativefontsize#1%
+ {\ifx\fontclass\empty\else\global\fi
+ \letvalue{#1\s!rscale}\relativefontsize}
+
+\beginTEX
+
+\def\dosetrelativefontsize#1%
+ {\expandafter\ifx\csname#1\s!rscale\endcsname\relax
+ \let\dorelativefontsize\norelativefontsize
\else
- \@EA\dodoparsefontspec\@EA[\somefontspec]{#4}{#5}%
+ %\edef\dorelativefontsize{\csname#1\s!rscale\endcsname}%
+ \@EA\let\@EA\dorelativefontsize\csname#1\s!rscale\endcsname
\fi}
-
-\def\dodoparsefontspec[#1 #2#3#4]#5#6% [spec]{sa/mo size}{name}
- {\edef\somefontname{#1}%
- \edef\fontscale%
- {\ifx#2s\ifx#3a#4\fi\else % sa = scaled at
- \ifx#2m\ifx#3o#4\fi\fi\fi}% mo = mapped on
- \ifx\fontscale\empty
- \edef\somefontspec{ #2#3#4}%
+
+\endTEX
+
+\beginETEX \ifcsname
+
+\def\dosetrelativefontsize#1%
+ {\ifcsname#1\s!rscale\endcsname
+ %\edef\dorelativefontsize{\csname#1\s!rscale\endcsname}%
+ \@EA\let\@EA\dorelativefontsize\csname#1\s!rscale\endcsname
\else
- \expandafter\checkfontscale\fontscale\end
- \scaledfont=#5\relax
- \ifx#2m\setmappedfontsize\scaledfont\fi
- \def\somefontspec{ at \fontscale\scaledfont}%
- \fi
- \donoparsefontspec{#6}}
+ \let\dorelativefontsize\norelativefontsize
+ \fi}
+
+\endETEX
+
+\def\doresetrelativefontsize%
+ {\let\dorelativefontsize\norelativefontsize}
+
+\newdimen\scaledfont
+
+\def\@fs@{@fs@}
+
+\def\parsefontspec#1%
+ {\edef\somefontspec{#1\space\relax}%
+ \@EA\doparsefontspec\somefontspec]%
+ \donoparsefontspec}
+
+\def\doparsefontspec#1 #2%
+ {\def\somefontname{#1}%
+ \ifx#2\relax
+ \expandafter\setnaturalfontspec
+ \else
+ \expandafter\setforcedfontspec
+ \fi#2}
+
+\def\setnaturalfontspec#1]%
+ {\@fs@scaled\!!thousand}
+
+\def\setforcedfontspec#1 #2\relax]%
+ {\getvalue{\@fs@#1}{#2}}
+
+\def\@fs@scaled#1%
+ {\scaledfont#1pt%
+ \scaledfont\dorelativefontsize\scaledfont
+ \ifautofontsize\scaledfont\currentfontbodyscale\scaledfont\fi
+ \scratchcounter\scaledfont
+ \advance\scratchcounter \!!medcard
+ \divide\scratchcounter \!!maxcard
+ \edef\somefontspec{ scaled \the\scratchcounter}}
+
+\def\@fs@at#1%
+ {\scaledfont#1%
+ \scaledfont\dorelativefontsize\scaledfont
+ \ifautofontsize\scaledfont\currentfontbodyscale\scaledfont\fi
+ \def\somefontspec{ at \scaledfont}}
+
+\def\@fs@sa%
+ {\scaledfont\fontbody
+ \setsamofontspec}
+
+\def\@fs@mo%
+ {\scaledfont\setmappedfontsize\fontbody
+ \setsamofontspec}
+
+\def\setsamofontspec#1%
+ {\checkfontscale#1\end\scaledfont
+ \scaledfont\dorelativefontsize\scaledfont
+ \ifautofontsize
+ \def\somefontspec{ at \currentfontbodyscale\scaledfont}%
+ \else
+ \def\somefontspec{ at \scaledfont}%
+ \fi}
+
+\def\getglobalfontparameters%
+ {\expandafter\setglobalfontparameter\fontdata,]=,}
+
+\def\setglobalfontparameter#1=#2,%
+ {\if]#1\else
+ \expandafter\gdef\csname\fontfile#1\endcsname{#2}%
+ \expandafter\setglobalfontparameter
+ \fi}
+
+\def\getfontparameters%
+ {\expandafter\setfontparameter\fontdata,]=,}
+
+\def\setfontparameter#1=#2,%
+ {\if]#1\else
+ \expandafter\def\csname\fontfile#1\endcsname{#2}%
+ \expandafter\setfontparameter
+ \fi}
\def\donoparsefontspec#1%
{\edef\fontfile{\truefontname\somefontname}%
+ %\writestatus{specifying}{\somefontname/\fontfile/\somefontspec}%
\ifx\fontfile\s!unknown
+ %\writestatus{missing}{\somefontname}%
\let\fontfile\defaultfontfile
- \else
- \edef\fontdata{\truefontdata\somefontname}%
+ \else
+ \edef\fontdata{\truefontdata\fontfile}%
\ifx\fontdata\empty \else
- %\@EA\getparameters\@EA[\@EA\fontfile\@EA]\@EA[\fontdata]%
- \@EA\rawgetparameters\@EA[\@EA\fontfile\@EA]\@EA[\fontdata]%
+ %\writestatus{storing}{\fontfile\space(\fontdata)]}%
+ \ifx\fontclass\empty
+ \getfontparameters
+ \else
+ \getglobalfontparameters
+ \fi
\fi
\fi
\edef\lastfontname{\fontfile\somefontspec}% not really needed
+ %\writestatus{tfmloading}{[#1] [\lastfontname][\the\scaledfont]}%
+ \ifx\fontclass\empty\else\global\fi
\expandafter\font\csname#1\endcsname\lastfontname\relax
\the\everyfont % new
- % the second \font definition prevents fuzzy font refs
+ % the second \font definition prevents fuzzy font refs
% \expandafter\font\csname\dummyfontname\endcsname\lastfontname
% but somehow they changed tex so that it does not matter any more
- \relax}
+ \relax}
\def\defaultfontfile{cmtt10}
\edef\nullfontname {\fontname\nullfont}
\edef\dummyfontname {font\strippedcsname\\}
-%D \macros
+%D \macros
%D {everyfont,everyfontswitch}
%D
-%D For special purposes, we provide a hook.
+%D For special purposes, we provide a hook.
\newevery \everyfont \relax
\newevery \everyfontswitch \relax
-% safer but sometimes introducing newlines in the log
+% safer but sometimes introducing newlines in the log
%
% \batchmode
% \font\lastloadedfont\fontfile\somefontspec\relax
@@ -891,18 +1122,30 @@
%D We also accept \type{sa a}||\type{sa d} as specification.
-\def\checkfontscale#1#2\end% should be optimized
- {\doifnumberelse{#1}{}
- {\doifdefinedelse{\??ft\s!default#1}
- {\edef\fontscale{\getvalue{\??ft\s!default#1}}}
- {\edef\fontscale{1}}}}
+\beginETEX \ifcsname
+
+\def\checkfontscale#1#2\end#3%
+ {#3\ifcsname\??ft\s!default\noexpand#1\endcsname
+ \csname\??ft\s!default\noexpand#1\endcsname\else#1#2%
+ \fi#3}
+
+\endETEX
+
+\beginTEX
+
+\def\checkfontscale#1#2\end#3%
+ {#3\expandafter\ifx\csname\??ft\s!default\noexpand#1\endcsname\relax
+ #1#2\else\csname\??ft\s!default\noexpand#1\endcsname
+ \fi#3}
+
+\endTEX
%D The duplicate font definition, using the ever the same dummy
%D font name, results in less fuzzy error messages. In the log
%D file, for instance when overfull boxes are reported, the
%D simple keyword `font' replaces the \TEX\ ordinated name. The
%D latter can be too misleading, due to the fact that \TEX\ has
-%D a rather optimized font memory management. Thanks to Taco
+%D a rather optimized font memory management. Thanks to Taco
%D for helping me sort this out.
%D \macros
@@ -920,54 +1163,81 @@
%D
%D \startregels
%D name: \type {\truefontname{Lucida-Bright}}
-%D data: \type {\truefontdata{Lucida-Bright}}
+%D data: \type {\truefontdata{\truefontname{Lucida-Bright}}}
%D \stopregels
\def\definefontsynonym%
{\dotripleempty\dodefinefontsynonym}
\def\dodefinefontsynonym[#1][#2][#3]%
- {\setevalue{\??ff#1}{{#2}{#3}}}
+ {\ifthirdargument
+ \setevalue{\??ff#1}{#2}%
+ \ifx\fontclass\empty\else\global\fi
+ \setevalue{\??ff\??ff#2}{#3}%
+ \else
+ \setevalue{\??ff\fontclass#1}{#2}%
+ \fi}
-\def\truefontname#1%
- {\dotruefontname{#1}{}}
+\beginTEX
-\def\dotruefontname#1#2%
- {\ifundefined{\??ff#1}%
- #1%
+\def\truefontdata#1%
+ {\expandafter\ifx\csname\??ff\??ff#1\endcsname\relax
\else
- \@EA\@EA\@EA\dotruefontname\csname\??ff#1\endcsname
+ \csname\??ff\??ff#1\endcsname
\fi}
+\def\truefontname#1%
+ {\expandafter\ifx\csname\??ff\fontclass#1\endcsname\relax
+ \expandafter\ifx\csname\??ff#1\endcsname\relax
+ #1%
+ \else
+ \@EA\truefontname\csname\??ff#1\endcsname
+ \fi
+ \else
+ \@EA\truefontname\csname\??ff\fontclass#1\endcsname
+ \fi}
+
+\endTEX
+
+\beginETEX \ifcsname
+
\def\truefontdata#1%
- {\dotruefontdata{#1}{}}
+ {\ifcsname\??ff\??ff#1\endcsname
+ \csname\??ff\??ff#1\endcsname
+ \fi}
-\def\dotruefontdata#1#2%
- {\ifundefined{\??ff#1}%
- #2%
+\def\truefontname#1%
+ {\ifcsname\??ff\fontclass#1\endcsname
+ \@EA\truefontname\csname\??ff\fontclass#1\endcsname
+ \else\ifcsname\??ff#1\endcsname
+ \@EA\truefontname\csname\??ff#1\endcsname
\else
- \@EA\@EA\@EA\dotruefontdata\csname\??ff#1\endcsname
- \fi}
+ #1%
+ \fi\fi}
+
+\endETEX
%D \macros
%D {getfontfileparameters}
%D
-%D For special purposes, one can use the next macro to
+%D For special purposes, one can use the next macro to
%D access font file characteristics, for instance:
%D
%D \starttypen
%D \getfontfileparameters{Regular}
%D \stoptypen
%D
-%D can result in:
+%D can result in:
%D
%D \starttypen
%D \def\currentfontfileencoding{texnansi}
%D \stoptypen
+\def\@@currentfontfile{currentfontfile}
+
\def\getfontfileparameters#1%
- {\edef\fontdata{\truefontdata{#1}}%
- \expanded{\getparameters[currentfontfile][\fontdata]}}
+ {\edef\fontdata{\truefontdata{\truefontname{#1}}}%
+ \expanded{\getparameters[\@@currentfontfile][\fontdata]}}
%D \macros
%D {definefont}
@@ -976,10 +1246,10 @@
%D one for local use:
%D
%D \starttypen
-%D \definefont[Some][LucidaBright at 100pt] \Some some
-%D \definefont[More][LucidaBright scaled 3000] \More more
-%D \definefont[Nice][LucidaBright mp 2] \Nice nice
-%D \definefont[Text][LucidaBright sa 5.4] \Text last
+%D \definefont[Some][LucidaBright at 100pt] \Some some
+%D \definefont[More][LucidaBright scaled 3000] \More more
+%D \definefont[Nice][LucidaBright mp 2] \Nice nice
+%D \definefont[Text][LucidaBright sa 5.4] \Text last
%D \stoptypen
%D
%D The implementation one looks familiar:
@@ -987,128 +1257,40 @@
\def\definefont%
{\dodoubleargument\dodefinefont}
-%%% REPLACED
-%%%
-%%% \def\dodefinefont[#1][#2]%
-%%% {\doifinstringelse{ }{#2}
-%%% {\unexpanded\setvalue{#1}{\dododefinefont{#1}#2 sa sa*}}
-%%% {\dodefinefont[#1][#2 sa 1]}}
-%%%
-%%% \def\dododefinefont#1#2sa #3sa#4*%
-%%% {\edef\fontscale{#3}%
-%%% \expandafter\splitfontdefinition#2 * * \end
-%%% \ifx\fontscale\empty\else % new 2000/8/31
-%%% \expandafter\checkfontscale#3 \end
-%%% \fi
-%%% \expandafter\font\csname#1\endcsname=\truefontname\somefontname
-%%% \ifx\fontscale\empty
-%%% \somefontspec
-%%% \else
-%%% \space at \fontscale\bodyfontsize
-%%% \fi
-%%% \getvalue{#1}}
-
-\def\dodefinefont[#1][#2]%
+\def\dodefinefont[#1][#2]%
{\doifinstringelse{ }{#2}
{\unexpanded\setvalue{#1}{\dododefinefont{#1}{#2}}}
{\dodefinefont[#1][#2 sa 1]}}
-%D The * makes the switch local, so that we can redefine a
-%D logical name and/or change the size in between.
+%D The \type {*} makes the switch local, so that we can redefine a
+%D logical name and/or change the size in between.
-% \def\dododefinefont#1#2%
-% {\parsefontspec[#2]{\bodyfontsize}{#1}\getvalue{#1}}
+\newif\ifautofontsize \autofontsizetrue
-\def\dododefinefont#1#2%
- {\parsefontspec[#2]{\bodyfontsize}{*#1*}%
- \getvalue{*#1*}%
- \setfontcharacteristics % new
+\def\dododefinefont#1#2%
+ {\dosetrelativefontsize{#1}%
+ \parsefontspec{#2}{**#1**}%
+ \getvalue{**#1**}%
+ \doresetrelativefontsize
+ \setfontcharacteristics
+ \autofontsizefalse
+ \the\everyfontswitch}
+
+\def\xxdododefinefont#1#2% \autofontsizetrue is set by calling routine
+ {\ifcsname*\fontclass#1\fontsize*\endcsname\else
+ \dosetrelativefontsize{\fontclass#1}% dangerous with fallback
+ \parsefontspec{#2}{*\fontclass#1\fontsize*}%
+ \doresetrelativefontsize
+ \fi
+ \csname*\fontclass#1\fontsize*\endcsname
+ \setfontcharacteristics
+ \autofontsizefalse
\the\everyfontswitch}
%D I considered checking for mistakenly use of \PLAIN's
%D \type{\magstep}'s but although it would take only a few
%D lines of code, this would not add to consistent use. I
-%D therefore removed this check. Here we also handle the
-%D optional hyphenchar definitions, like:
-%D
-%D \starttypen
-%D \definebodyfont [12pt] [rm] [hyphenchar=45]
-%D \stoptypen
-
-%%% REPLACED
-%%%
-%%% \beginTEX
-%%%
-%%% \def\dodoloadfont#1#2#3#4%
-%%% {\edef\calculatedfont{\csname\??ft#1#2#3\endcsname\space}%
-%%% \expandafter\docalculatefont\calculatedfont sa sa*#1*#2#3*%
-%%% \@EA\hyphenchar\csname#1#2#3\endcsname=
-%%% \@EA\ifx\csname\??ft#1#2\s!hyphenchar\endcsname\relax
-%%% #4%
-%%% \else
-%%% \csname\??ft#1#2\s!hyphenchar\endcsname
-%%% \fi\relax
-%%% \csname#1#2#3\endcsname}
-%%%
-%%% \endTEX
-%%%
-%%% \beginETEX \ifcsname
-%%%
-%%% \def\dodoloadfont#1#2#3#4%
-%%% {\edef\calculatedfont{\csname\??ft#1#2#3\endcsname\space}%
-%%% \expandafter\docalculatefont\calculatedfont sa sa*#1*#2#3*%
-%%% \@EA\hyphenchar\csname#1#2#3\endcsname=
-%%% \ifcsname\??ft#1#2\s!hyphenchar\endcsname
-%%% \csname\??ft#1#2\s!hyphenchar\endcsname
-%%% \else
-%%% #4%
-%%% \fi\relax
-%%% \csname#1#2#3\endcsname}
-%%%
-%%% \endETEX
-
-%D The loading macro is used in two macros. One of them takes
-%D care of fixed width teletype fonts.
-
-\def\doloadfont#1#2#3%
- {%\debuggerinfo{\m!fonts}{loaded #1#2#3}%
- \dodoloadfont{#1}{#2}{#3}{45}}
-
-\def\doloadttfont#1#2#3%
- {%\debuggerinfo{\m!fonts}{loaded fixed #1#2#3}%
- \dodoloadfont{#1}{#2}{#3}{-1}}
-
-\beginTEX
-
-\def\dodoloadfont#1#2#3#4%
- {\edef\calculatedfont{[\csname\??ft#1#2#3\endcsname]}%
- \@EA\parsefontspec\calculatedfont{#1}{#1#2#3}%
- \@EA\hyphenchar\csname#1#2#3\endcsname=
- \@EA\ifx\csname\??ft#1#2\s!hyphenchar\endcsname\relax
- #4%
- \else
- \csname\??ft#1#2\s!hyphenchar\endcsname
- \fi\relax
- \csname#1#2#3\endcsname
- \the\everyfontswitch}
-
-\endTEX
-
-\beginETEX \ifcsname
-
-\def\dodoloadfont#1#2#3#4%
- {\edef\calculatedfont{[\csname\??ft#1#2#3\endcsname]}%
- \@EA\parsefontspec\calculatedfont{#1}{#1#2#3}%
- \@EA\hyphenchar\csname#1#2#3\endcsname=
- \ifcsname\??ft#1#2\s!hyphenchar\endcsname
- \csname\??ft#1#2\s!hyphenchar\endcsname
- \else
- #4%
- \fi\relax
- \csname#1#2#3\endcsname
- \the\everyfontswitch}
-
-\endETEX
+%D therefore removed this check.
%D \macros
%D {mapfontsize}
@@ -1117,12 +1299,12 @@
%D slightly different sizes than the ones given. This happens
%D for instance with the Math Times fonts. Mapped font sizes
%D can be specified by using the \type {mo} key instead of
-%D \type {sa} in font definitions.
+%D \type {sa} in font definitions.
%D
%D \startbuffer
-%D \mapfontsize[10pt][11pt]
-%D \mapfontsize[11pt][12pt]
-%D \mapfontsize[12pt][13pt]
+%D \mapfontsize[10pt][11pt]
+%D \mapfontsize[11pt][12pt]
+%D \mapfontsize[12pt][13pt]
%D
%D \definefont[test][Serif]\test TEST \par
%D \definefont[test][Serif sa 5]\test TEST \par
@@ -1148,8 +1330,10 @@
\beginTEX
\def\setmappedfontsize#1%
- {\expandafter\ifx\csname\??ft*\the#1\endcsname\relax\else
- #1=\csname\??ft*\the#1\endcsname
+ {\expandafter\ifx\csname\??ft*#1\endcsname\relax
+ #1%
+ \else
+ \csname\??ft*#1\endcsname
\fi}
\endTEX
@@ -1157,8 +1341,10 @@
\beginETEX \ifcsname
\def\setmappedfontsize#1%
- {\ifcsname\??ft*\the#1\endcsname
- #1=\csname\??ft*\the#1\endcsname
+ {\ifcsname\??ft*#1\endcsname
+ \csname\??ft*#1\endcsname
+ \else
+ #1%
\fi}
\endETEX
@@ -1173,13 +1359,35 @@
\def\getfontname#1%
{\getvalue{\??ft#1}}
-%D \macros
-%D {currentfontscale}
+%D To be documented.
+
+\let\sizelist\empty
+
+\def\definefontsize[#1]%
+ {\addtocommalist{#1}\sizelist
+ \def\docommando##1%
+ {\def\dodocommando####1%
+ {\def\dododocommando########1%
+ {\checkbodyfont{}{########1}{####1}{##1}}%
+ \processcommacommand[\stylelist]\dododocommando}%
+ \processcommacommand[\alternativelist]\dodocommando}%
+ \processcommacommand[\sizelist]\docommando}
+
+\def\alternativetextlist{\c!tf,\c!bf,\c!it,\c!sl,\c!bs,\c!bi,\c!sc}
+\def\alternativemathlist{\c!mr,\c!mi,\c!sy,\c!ex,\c!ma,\c!mb}
+
+\let\alternativelist\alternativetextlist % upward compatible
+
+%\definefontsize[\c!a] \definefontsize[\c!b]
+%\definefontsize[\c!c] \definefontsize[\c!d]
+
+%D \macros
+%D {currentfontscale,currentfontbodyscale}
%D
-%D Sometimes we need to have access to the font scale
-%D including the \type{a}||\type{d} sizes. The next macro
-%D returns the current scaling factor. Take a look at
-%D \type {cont-log.tex} for an example of its use.
+%D Sometimes we need to have access to the font scale
+%D including the \type{a}||\type{d} sizes. The next macro
+%D returns the current scaling factor. Take a look at
+%D \type {cont-log.tex} for an example of its use.
\beginTEX
@@ -1194,6 +1402,17 @@
\csname\??ft\s!default\xfontsize\endcsname
\fi}
+\def\currentfontbodyscale%
+ {\@EA\ifx\csname\??ft\s!default\fontsize\endcsname\relax
+ \@EA\ifx\csname\??ft\s!default\s!text\endcsname\relax
+ 1%
+ \else
+ \csname\??ft\s!default\s!text\endcsname
+ \fi
+ \else
+ \csname\??ft\s!default\fontsize\endcsname
+ \fi}
+
\endTEX
\beginETEX \ifcsname
@@ -1207,20 +1426,29 @@
1%
\fi\fi}
+\def\currentfontbodyscale%
+ {\ifcsname\??ft\s!default\fontsize\endcsname
+ \csname\??ft\s!default\fontsize\endcsname
+ \else\ifcsname\??ft\s!default\s!text\endcsname
+ \csname\??ft\s!default\s!text\endcsname
+ \else
+ 1%
+ \fi\fi}
+
\endETEX
%D Both alternatives use \type {\xfontsize}, a macro that
%D expands to the current size in terms of \type {a} \unknown
-%D \type {d}, nothing, or \type {x} \unknown \type {xx}.
+%D \type {d}, nothing, or \type {x} \unknown \type {xx}.
\def\xfontsize{\ifcase\currentxfontsize\fontsize\or\c!x\else\c!xx\fi}
-%D A typical use of this command is in commands that switch
-%D to another font bypassing the font mechanism:
-%D
-%D \starttypen
+%D A typical use of this command is in commands that switch
+%D to another font bypassing the font mechanism:
+%D
+%D \starttypen
%D \font\myfont=\truefontname{MyFont} at \currentfontscale\bodyfontsize
-%D \stoptypen
+%D \stoptypen
%D Now we enter the area of font switching. The switching
%D mechanism has to take care of several situations, like:
@@ -1265,7 +1493,7 @@
%D settings apply. All second parameters are specified in
%D dimensions and tell us more about related sizes.
%D
-%D Afterwards, one can change values with
+%D Afterwards, one can change values with
%D
%D \showsetup{\y!setupbodyfontenvironment}
%D
@@ -1281,14 +1509,11 @@
\let\bodyfontenvironmentlist\empty
-\def\definebodyfontenvironment%
- {\dodoubleempty\dodefinebodyfontenvironment}
-
\newcount\@@fontdefhack
\def\@@beginfontdef%
{\ifcase\@@fontdefhack
- \let\k!savedtext =\k!text \let\k!text =\s!text
+ \let\k!savedtext =\k!text \let\k!text =\s!text
\let\k!k!savedtext =\k!k!text \def\k!k!text {1}%
\let\k!saveddefault =\k!default \let\k!default =\s!default
\let\k!k!saveddefault=\k!k!default \def\k!k!default {1}%
@@ -1304,45 +1529,78 @@
\let\k!text =\k!savedtext
\fi}
-\def\dodefinebodyfontenvironment[#1][#2]%
- {\@@beginfontdef
- \doifelse{#1}{\s!default}
- {\getparameters[\??ft\s!default][#2]}
- {\normalizebodyfontsize#1\to\tempbodyfontsize
- \addtocommalist\tempbodyfontsize\bodyfontenvironmentlist
- \@EA\dododefinebodyfontenvironment\@EA[\tempbodyfontsize][#2]}%
- \@@endfontdef}
+\def\definebodyfontenvironment%
+ {\dotripleempty\dodefinebodyfontenvironment}
-\def\dododefinebodyfontenvironment[#1][#2]%
- {\doifundefined{\??ft#1\s!text}
+\def\dodefinebodyfontenvironment[#1][#2][#3]% [class] size settings
+ {\ifthirdargument
+ \@@beginfontdef
+ \doifelse{#2}{\s!default}
+ {\getparameters[\??ft\s!default][#3]}
+ {\normalizebodyfontsize#2\to\tempbodyfontsize
+ \addtocommalist\tempbodyfontsize\bodyfontenvironmentlist
+ \@EA\dododefinebodyfontenvironment\@EA[\tempbodyfontsize][#1][#3]}%
+ \@@endfontdef
+ \else
+ \definebodyfontenvironment[\fontclass][#1][#2]% changed
+ \fi}
+
+\def\dododefinebodyfontenvironment[#1][#2][#3]% size class settings
+ {\doifundefined{\??ft#2#1\s!text}
{\def\docommando##1%
{\scratchdimen=#1\relax
\scratchdimen=\getvalue{\??ft\s!default##1}\scratchdimen
\normalizebodyfontsize\scratchdimen\to\tempbodyfontsize
- \setevalue{\??ft#1##1}{\tempbodyfontsize}}%
- \processcommalist
- [\s!text,\s!script,\s!scriptscript,\c!x,\c!xx,\c!groot,\c!klein]
- \docommando
- \copyparameters
- [\??ft#1][\??ft\s!default]
+ \setevalue{\??ft#2#1##1}{\tempbodyfontsize}%
+ %\expanded{\checkbodyfontenvironment[\tempbodyfontsize]}%
+ }%
+ \processcommalist
+ [\s!text,\s!script,\s!scriptscript,\c!x,\c!xx,\c!groot,\c!klein]
+ \docommando
+ \copyparameters
+ [\??ft#2#1][\??ft\s!default]
[\c!interlinie,\c!em]}%
\@@beginfontdef
- \getparameters[\??ft#1][#2]%
+ \getparameters[\??ft#2#1][#3]%
\@@endfontdef
- \setvalue{\@size@#1}{\docompletefontswitch[#1]}}
+ \setvalue{\@size@#2#1}{\docompletefontswitch[#1]}}
+\def\checkbodyfontenvironment[#1]%
+ {\definebodyfontenvironment[\fontclass][#1][]}
+
\def\setupbodyfontenvironment%
- {\dodoubleargument\dosetupbodyfontenvironment}
+ {\dotripleempty\dosetupbodyfontenvironment}
-\def\dosetupbodyfontenvironment[#1][#2]%
+\def\dosetupbodyfontenvironment[#1][#2][#3]% class size settings
{\@@beginfontdef
- \getparameters[\??ft#1][#2]%
+ \ifthirdargument
+ \getparameters[\??ft#1#2][#3]%
+ \else
+ \getparameters[\??ft#1][#2]%
+ \fi
\@@endfontdef}
-%D The interlinespace is communicated with the following macros:
+%D Just a couple of interface macros:
+
+\beginTEX
+
+\def\bodyfontvariable#1%
+ {\??ft\@EA\ifx\csname\??ft\fontclass#1\endcsname\relax\else\fontclass\fi#1}
+
+\endTEX
+
+\beginETEX \ifcsname
+
+\def\bodyfontvariable#1%
+ {\??ft\ifcsname\??ft\fontclass#1\endcsname\fontclass\fi#1}
+
+\endETEX
+
+\def\bodyfontcsname%
+ {\csname\bodyfontvariable}
\def\bodyfontinterlinespecs%
- {\??ft\normalizedbodyfontsize\c!interlinie}
+ {\bodyfontvariable{\normalizedbodyfontsize\c!interlinie}}
\def\bodyfontinterlinespace%
{\csname\bodyfontinterlinespecs\endcsname}
@@ -1367,14 +1625,10 @@
%D
%D \showsetup{\y!definebodyfont}
%D
-%D This commands takes three arguments, where \ShowArgument\
-%D takes a (series of) bodyfont size(s) and \ShowArgument\
-%D the style group to which the definitions belong.
-%D
-%D Argument \ShowArgument\ accepts any suitable alternative,
-%D as specified by the \TEX\ families, extended with~a, b~and
-%D higher sizes or the normal \TEX\ mathematical families and
-%D some more.
+%D This commands takes three arguments: a (series of) bodyfont
+%D size(s), the style group to which the definitions belong,
+%D and an alternative, as specified by the \TEX\ (math) families,
+%D extended with~a, b~\unknown.
%D
%D We show two examples, that show all the alternative
%D scaling options. The \type{\tfa} alternatives can be
@@ -1416,36 +1670,49 @@
%D Instead of \type{rm} (roman) one can define \type{ss} (sans
%D serif), \type{tt} (teletype), \type{hw} (hand written),
%D \type{cg} (calygraphic) and whatever styles.
-
-\def\definebodyfont%
- {\dotripleargument\dodefinebodyfont}
-
+%D
%D The first argument may be a comma separated list. This,
%D combined with specifications using \type{sa} can save a lot
%D of typing. Although all arguments should be specified, we
%D treat the second argument as optional.
+%D
+%D Defining a bodyfont involves two actions: defining the
+%D specific style related alternatives, like \type{\rma},
+%D \type{\bfa} and \type{\rmsla}, and storing the definitions
+%D of their bodyfont size related fonts. The first step is
+%D bodyfont independant but executed every time. This permits
+%D user definitions like \type{\tfw} or \type{\bfq} for real
+%D large alternatives.
-%\def\dodefinebodyfont[#1][#2][#3]%
-% {\ifthirdargument
-% \def\dododefinebodyfont##1%
-% {\dodododefinebodyfont[##1][#2][#3]}%
-% \processcommalist[#1]\dododefinebodyfont
-% \else
-% \definebodyfont[#1][\c!rm][#2]%
-% \fi}
+\def\definebodyfont%
+ {\doquadrupleempty\redefinebodyfont}
-\def\dodefinedefaultbodyfont[#1][#2]%
- {\def\dododefinedefaultbodyfont##1%
- {\def\dodododefinedefaultbodyfont####1{\getvalue{\s!default####1}{##1}}%
- \processcommalist[#2]\dodododefinedefaultbodyfont}%
- \processcommalist[#1]\dododefinedefaultbodyfont}
+\def\redefinebodyfont[#1][#2][#3][#4]%
+ {\iffourthargument
+ \processcommalist[#1]{\reredefinebodyfont[#2][#3][#4]}%
+ \else
+ \dodefinebodyfont[#1][#2][#3]%
+ \fi}
-\def\dodefinebodyfont[#1][#2][#3]%
+\def\reredefinebodyfont[#1][#2][#3]#4%
+ {\pushmacro\fontclass
+ \doifelse{#4}{\s!default}
+ {\let\fontclass\empty}
+ {\def\fontclass{#4}}%
+ \definebodyfont[#1][#2][#3]%
+ \popmacro\fontclass}
+
+\def\dodefinebodyfont[#1][#2][#3]% body|identifier style defs|identifier
{\ifthirdargument
- \doifelse{#3}{\s!default} % new
- {\dodefinedefaultbodyfont[#1][#2]}
- {\def\dododefinebodyfont##1{\dodododefinebodyfont[##1][#2][#3]}%
- \processcommalist[#1]\dododefinebodyfont}%
+ \doifnumberelse{#1}
+ {\doifassignmentelse{#3}
+ {% [12pt] [style] [settings]
+ \doifundefined{#2}{\expanded{\definefontstyle[#2][#2]}}% new
+ \processcommalist[#1]{\dododefinebodyfont{#2}{#3}}}
+ {% [12pt] [style] [identifier]
+ \dodefinedefaultbodyfont[#1][#2][#3]}} % body style identifier
+ {% [identifier] [style] [settings]
+ \setvalue{\s!default#1#2}##1##2{\expanded{\dodefinebodyfont[##1][##2][#3]}}}%
\else\ifsecondargument
\definebodyfont[#1][\c!rm][#2]%
\else
@@ -1455,103 +1722,68 @@
{\definebodyfont[#1][\c!rm][]}% make sure some basics are set up.
\fi\fi}
-%D Defining a bodyfont involves two actions: defining the specific
-%D style related alternatives, like \type{\rma}, \type{\bfa}
-%D and \type{\rmsla}, and storing the definitions of their
-%D bodyfont size related fonts. The first step is bodyfont
-%D independant but executed every time. This permits user
-%D definitions like \type{\tfw} or \type{\bfq} for real large
-%D alternatives.
-
-% \def\dodododefinebodyfont[#1][#2][#3]% er kan wat naar buiten
-% {\doifelse{#1}{\s!default}
-% {\setvalue{\s!default#2}##1{\definebodyfont[##1][#2][#3]}}
-% {\geteparameters[\??ft#1#2][#3]% We expand them!
-% \dodefinebodyfontenvironment[#1][]% Just to be sure.
-% \def\doiffamily##1##2##3\\% adapted
-% {\doifinstringelse{##1##2}\familylist
-% {}
-% {\addtocommalist{##1##2}\familylist
-% %\settextfonts
-% \unexpanded\setvalue{##1##2}%
-% {\getvalue{#2}\getvalue{##1##2}}%
-% \unexpanded\setvalue{##1##2\c!x}%
-% {\getvalue{##1##2}\getvalue{##1##2\c!x}}%
-% \unexpanded\setvalue{##1##2\c!xx}%
-% {\getvalue{##1##2}\getvalue{##1##2\c!xx}}}%
-% \doifsomething{##3}
-% {\unexpanded\setvalue{#2##3}% eg: \rma, \ssa
-% {\switchtofontstyle{#2}{##3}}%
-% \unexpanded\setvalue{##1##2##3}% eg: \tfa, \bfa
-% {\switchtofontalternative{##1##2}{##3}}%
-% \unexpanded\setvalue{#2##1##2##3}% eg: \rmtfa, \ssbfa
-% {\switchtofontstylealternative{#2}{##1##2}{##3}}}}%
-% \def\dododododefinebodyfont##1%
-% {\doifnot{##1}{\s!hyphenchar}
-% {\doifdefined{\??ft#1#2##1}
-% {%\letvalue{@#1#2##1@}=\characterencoding
-% \setevalue{@#1#2##1@}{\currentencoding}% strips @
-% \doifelse{#2}{\c!tt}
-% {\unexpanded\setvalue{#1#2##1}{\doloadttfont{#1}{#2}{##1}}}
-% {\unexpanded\setvalue{#1#2##1}{\doloadfont{#1}{#2}{##1}}}%
-% \bgroup
-% \let\relax=\empty
-% %\debuggerinfo
-% % {\m!fonts}{\getvalue{\??ft#1#2##1} defined as #1 #2 ##1}%
-% \egroup}%
-% \doifnot{#2}{\c!mm} % new!
-% {\expandafter\doiffamily##1\\}}}%
-% \processassignlist[#3]\dododododefinebodyfont}}
-
-% This saves 5K in the fmt file.
-
-\def\dodododefinebodyfont[#1][#2][#3]% er kan wat naar buiten
- {\doifelse{#1}{\s!default}
- {\setvalue{\s!default#2}##1{\definebodyfont[##1][#2][#3]}}
- {\geteparameters[\??ft#1#2][#3]% We expand them!
- \dodefinebodyfontenvironment[#1][]% Just to be sure.
- \processassignlist[#3]{\dododododefinebodyfont{#1}{#2}}}}
-
-\def\dododododefinebodyfont#1#2#3%
- {\doifnot{#3}{\s!hyphenchar}
- {\doifdefined{\??ft#1#2#3}
- {\setevalue{@#1#2#3@}{\currentencoding}% strips @
- \doifelse{#2}{\c!tt}
- {\unexpanded\setvalue{#1#2#3}{\doloadttfont{#1}{#2}{#3}}}
- {\unexpanded\setvalue{#1#2#3}{\doloadfont{#1}{#2}{#3}}}%
- \bgroup
- \let\relax=\empty
- %\debuggerinfo
- % {\m!fonts}{\getvalue{\??ft#1#2#3} defined as #1 #2 #3}%
- \egroup}%
- \doifnot{#2}{\c!mm} % new!
- {\expandafter\doiffamily#3\\#2\\}}}
-
-%D !! This one will change !!
-
-\def\doiffamily#1#2#3\\#4\\% adapted
- {\doifinstringelse{#1#2}\familylist
- {}
- {\addtocommalist{#1#2}\familylist
- % eg \bf
- \unexpanded\setvalue{#1#2}%
- {\getvalue{#4}\getvalue{#1#2}}% funny strange escape, the #4
- % eg \bfx
- \unexpanded\setvalue{#1#2\c!x}%
- {\getvalue{#1#2}\getvalue{#1#2\c!x}}%
- % eg \bfxx
- \unexpanded\setvalue{#1#2\c!xx}%
- {\getvalue{#1#2}\getvalue{#1#2\c!xx}}}%
- \doifsomething{#3}
- {% eg: \rma, \ssa
- \unexpanded\setvalue{#4#3}%
- {\switchtofontstyle{#4}{#3}}%
- % eg: \tfa, \bfa
- \unexpanded\setvalue{#1#2#3}%
- {\switchtofontalternative{#1#2}{#3}}%
- % eg: \rmtfa, \ssbfa
- \unexpanded\setvalue{#4#1#2#3}%
- {\switchtofontstylealternative{#4}{#1#2}{#3}}}}
+\def\dododefinebodyfont#1#2#3% style defs body
+ {\checkbodyfontenvironment[#3]% just to be sure.
+ \processcommalist[#2]{\dodododefinebodyfont{#1}{#3}}}
+
+\def\dodododefinebodyfont#1#2#3% style body def
+ {\dododododefinebodyfont{#1}{#2}[#3]}
+
+\newif \ifresolvefontfile % protected by fontclass anyway
+
+\def\resolvefontname#1 {\truefontname{#1} }
+
+\def\iflocalclassfonts{\ifx\fontclass\empty}
+
+% \let\iflocalclassfonts\iffalse
+
+\def\dododododefinebodyfont#1#2[#3#4#5=#6]% style body def
+ {\ifundefined{#1#3#4#5}%
+ \checkbodyfont{#2}{#1}{#3#4}{#5}% not \definefontsize[#5]
+ \fi
+ \dostorerelativefontsize{\fontclass#2#1#3#4#5}%
+ \iflocalclassfonts
+ \letbeundefined{*#2#1#3#4#5*}%
+ \unexpanded
+ \setvalue{#2#1#3#4#5}{\xxdododefinefont
+ {#2#1#3#4#5}{#6}}%
+ \else
+ %\expanded{\writestatus{defining}{[\fontclass][#2#1#3#4#5] \resolvefontname#6 }}%
+ \global\letbeundefined{*\fontclass#2#1#3#4#5*}%
+ \ifresolvefontfile
+ \unexpanded
+ \setxvalue{\fontclass#2#1#3#4#5}{\noexpand\xxdododefinefont
+ {#2#1#3#4#5}{\resolvefontname#6 }}%
+ \else
+ \unexpanded
+ \setgvalue{\fontclass#2#1#3#4#5}{\xxdododefinefont
+ {#2#1#3#4#5}{#6}}%
+ \fi
+ \fi}
+
+\def\checkbodyfont#1#2#3#4% body style alternative size / global
+ {% beware: #4 can be empty
+ \unexpanded\setgvalue {#2#4}{\setcurrentfontstylesize {#2}{#4}}% \rma
+ \unexpanded\setgvalue {#3#4}{\setcurrentfontalternativesize {#3}{#4}}% \sla
+ \unexpanded\setgvalue {#2#3#4}{\setcurrentfontstylealternativesize{#2}{#3}{#4}}% \rmsla
+ \unexpanded\setgvalue {#2}{\setcurrentfontstyle {#2}}% \rm
+ \unexpanded\setgvalue {#3}{\setcurrentfontalternative {#3}}% \sl
+ \unexpanded\setgvalue {#2\c!x}{\setcurrentfontxstylealternative {#3}}% \rmx
+ \unexpanded\setgvalue{#2\c!xx}{\setcurrentfontxxstylealternative {#3}}% \rmxx
+ \unexpanded\setgvalue {#3\c!x}{\setcurrentfontxalternative {#3}}% \slx
+ \unexpanded\setgvalue{#3\c!xx}{\setcurrentfontxxalternative {#3}}% \slxx
+ \unexpanded\setgvalue {#2#3}{\setcurrentfontstylealternative {#2}{#3}}}% \rmsl
+
+\def\dodefinedefaultbodyfont[#1][#2][#3]% sizes styles identifier
+ {\def\dododefinedefaultbodyfont##1%
+ {\def\dodododefinedefaultbodyfont####1%
+ {\def\dododododefinedefaultbodyfont########1%
+ {\doifdefined{\s!default########1####1}
+ {% [12pt] [style] [identifier]
+ \getvalue{\s!default########1####1}{##1}{####1}}}%
+ \processcommalist[#3]\dododododefinedefaultbodyfont}%
+ \processcommalist[#2]\dodododefinedefaultbodyfont}%
+ \processcommalist[#1]\dododefinedefaultbodyfont}
%D Unknown families are added to the family list! For the
%D moment we also set the direct calls here. Some day a better
@@ -1560,7 +1792,7 @@
\newif\ifdefiningunknownfont
-\def\defineunknownfont#1%
+\def\defineunknownfont#1%
{\let\c!savedtext=\c!text
\let\c!text=\s!text
\donefalse
@@ -1581,7 +1813,7 @@
\def\defineunknownbodyfont##1%
{\doifdefined{\s!default##1}{\donetrue\getvalue{\s!default##1}{#1}}}%
\processcommacommand
- [\stylelist,\c!mm]
+ [\stylelist]
\defineunknownbodyfont
\ifdone
\setvalue{\@size@#1}{\docompletefontswitch[#1]}%
@@ -1602,16 +1834,12 @@
%D Fonts are not loaded yet! This means that at format
%D generation time, no font files are preloaded.
-% %D We could have use \type{\unexpanded\setvalue} instead of
-% %D the \type{\donottest} prefixes. However, this would lead to
-% %D about 600 extra entries in the hash table.
-
-%D A previous implementation used:
-%D
+%D A previous implementation used:
+%D
%D \starttypen
%D \type {\setvalue{name}{\donottest...}}
%D \stoptypen
-%D
+%D
%D instead of the more memory hungry:
%D
%D \starttypen
@@ -1619,9 +1847,9 @@
%D \stoptypen
%D
%D The first alternative saves about 500 hash entries (about
-%D 2.5\% of the total number of entries used. The second
-%D alternative is currently used, because that one can more
-%D easily be made \ETEX\ aware.
+%D 2.5\% of the total number of entries used. The second
+%D alternative is currently used, because that one can more
+%D easily be made \ETEX\ aware.
%D \macros
%D {everybodyfont,Everybodyfont}
@@ -1631,7 +1859,9 @@
%D in other modules. Here we only provide the hooks that
%D garantees their handling.
-\newevery \everybodyfont \Everybodyfont
+\ifx\everybodyfont\undefined % permits reloading
+ \newevery \everybodyfont \Everybodyfont
+\fi
%D At the system level one can initialize thing like:
%D
@@ -1691,7 +1921,7 @@
%D often not the way users specify the bodyfont size. Therefore
%D we also store the normalized value.
-\chardef\fontdigits=1 %
+\chardef\fontdigits=1 %
\def\donormalizedbodyfontsize#1.#2#3#4\to#5%
{\edef#5%
@@ -1721,20 +1951,21 @@
%D some day.
%D \macros
-%D {fontsize,fontstyle}
+%D {fontstyle,fontalternative,fontsize}
%D
%D Within a bodyfont, fonts can come in different sizes. For
%D instance \type{\tf} is accompanied by \type{\tfa},
-%D \type{\tfb} etc. The third character in these sequences
+%D \type{\tfb} etc. The first two characters denote the
+%D alternative, while the third character in these sequences
%D represents the size. The actual size is saved in a macro
-
-\let\fontsize = \empty
-
+%D
%D The style, being roman (\type{\rm}), sans serif (\type{\ss})
%D etc. is also available in a macro in \type{rm}, \type{ss}
%D etc. form:
-\let\fontstyle = \empty
+\let\fontalternative = \c!tf
+\let\fontstyle = \empty
+\let\fontsize = \empty
%D All things related to fonts are grouped into files with
%D names like \type{font-cmr}. These files are loaded by:
@@ -1744,18 +1975,18 @@
\newif\ifloadfontdefinitionfileonce
-\def\doreadfontdefinitionfile#1%
- {\doifundefined{\c!file\f!fontprefix#1}%
+\def\doreadfontdefinitionfile#1#2% #1 = set/switch state
+ {\doifundefined{\c!file\f!fontprefix#2}%
{\ifloadfontdefinitionfileonce
- \letvalue{\c!file\f!fontprefix#1}\empty
+ \letvalue{\c!file\f!fontprefix#2}\empty
\fi
\startreadingfile
- \readsysfile{\truefilename{\f!fontprefix#1}}
- {\showmessage{\m!fonts}{2}{#1}}
- {\makeshortfilename[\truefilename{\f!fontprefix#1}]%
+ \readsysfile{\truefilename{\f!fontprefix#2}}
+ {\showmessage{\m!fonts}{2}{#2}}
+ {\makeshortfilename[\truefilename{\f!fontprefix#2}]%
\readsysfile{\shortfilename}
- {\showmessage{\m!fonts}{2}{#1}}
- {\showmessage{\m!fonts}{3}{#1}}}%
+ {\showmessage{\m!fonts}{2}{#2}}
+ {\showmessage{\m!fonts}{3}{#2}}}%
\stopreadingfile}}
%D When \type {\loadfontdefinitionfiletrue}, such files are
@@ -1764,7 +1995,7 @@
%D all kind of font, which of course is a kind of
%D typographically sin. The \type{"} is made inactive if
%D needed to prevent problems with loading files that use this
-%D character in numbers.
+%D character in numbers.
\def\doswitchpoints[#1]%
{\expanded{\dodoswitchpoints{#1}}}
@@ -1776,14 +2007,15 @@
{\getvalue{\@size@#1}%
\localbodyfontsize=#1\relax
\normalizebodyfontsize\localbodyfontsize\to\normalizedbodyfontsize
- \the\everybodyfont}
+ }% \the\everybodyfont}
{\showmessage{\m!fonts}{4}{#1}}}
-\def\doswitchstyle[#1]%
+\unprotected \def\doswitchstyle[#1]%
{\doifdefinedelse{\@style@#1}
{\getvalue{\@style@#1}%
\edef\fontstyle{#1}%
- \the\everybodyfont} % cleaner, in setting size as well as style
+ \ifmmode\mr\fi % in order to be compatible with \rm in math mode
+ }% \the\everybodyfont} % cleaner, in setting size as well as style
{\showmessage{\m!fonts}{5}{#1}}}
%D \TEX\ loads font metric files like \type{cmr10.tfm} and
@@ -1839,43 +2071,44 @@
\def\preloadfonts%
{\showmessage{\m!fonts}{6}{\normalizedbodyfontsize\normalspace\fontstyle}%
+ \global\loadingfontsfalse
\doswitchpoints[\normalizedbodyfontsize]%
\doswitchstyle[\fontstyle]%
- \global\let\preloadfonts=\relax
- \global\loadingfontsfalse}
+\the\everybodyfont
+ \global\let\preloadfonts=\relax}
%D Here comes the main font switching macros. These macros
%D handle changes in size as well as returning to the global
%D bodyfont size.
-\def\dosetfont[#1]%
- {\doifelse{#1}{\v!globaal}
+\def\dosetfont#1#2% #1 = set/switch state
+ {\doifelse{#2}{\v!globaal}
{\restoreglobalbodyfont}
- {\processcommalist[#1]\dodosetfont
+ {\processcommalist[#2]{\dodosetfont{#1}}% ##1 get also passed
\ifloadingfonts\else
\doswitchpoints[\normalizedbodyfontsize]%
\doswitchstyle[\fontstyle]%
\fi}%
\chardef\currentxfontsize=0\relax}
-\def\dodosetfont#1%
- {\dododosetfont{#1}{\showmessage{\m!fonts}{4}{#1}}}
+\def\dodosetfont#1#2% #1 = set/switch state
+ {\dododosetfont{#1}{#2}{\showmessage{\m!fonts}{4}{#2}}}
-\def\dododosetfont#1#2%
- {\doifnumberelse{#1}
- {\scratchdimen=#1\relax
+\def\dododosetfont#1#2#3% #1 = set/switch state
+ {\doifnumberelse{#2}
+ {\scratchdimen=#2\relax
\normalizebodyfontsize\scratchdimen\to\normalizedsetfont
\doifundefined{\@size@\normalizedsetfont}
- {\defineunknownfont{#1}}%
+ {\defineunknownfont{#2}}%
\doifdefinedelse{\@size@\normalizedsetfont}
{\localbodyfontsize=\normalizedsetfont
\let\normalizedbodyfontsize=\normalizedsetfont}
- {#2\dosetsubstitutefont{#1}}}
- {\doifelse{#1}{\v!reset}
+ {#3\dosetsubstitutefont{#1}{#2}}}
+ {\doifelse{#2}{\v!reset}
{\let\fontsize=\empty}
- {\doifdefinedelse{\@style@#1}
- {\edef\fontstyle{#1}}
- {\doreadfontdefinitionfile{#1}}}}}
+ {\doifdefinedelse{\@style@#2}
+ {\edef\fontstyle{#2}}
+ {\doreadfontdefinitionfile{#1}{#2}}}}}
%D In the previous macros we use \type{\currentxfontsize} to
%D hold the current x||size of the font. This enables us to
@@ -1891,34 +2124,200 @@
%D are more probable to occur. By taking a value slightly
%D smaller than half a point, we can use the next method.
-\def\dosetsubstitutefont#1%
- {\scratchdimen=#1\relax
+\def\dosetsubstitutefont#1#2% #1 = set/switch state
+ {\scratchdimen=#2\relax
\advance\scratchdimen by .499pt
\dimensiontocount\scratchdimen\scratchcounter
\advance\scratchcounter by -1
\ifnum\scratchcounter>3
- \dododosetfont{\the\scratchcounter pt}{}%
+ \dododosetfont{#1}{\the\scratchcounter pt}{}%
+ \fi}
+
+% The following bunch of macros deals with the (run time)
+% expansion of names onto the definitions made by \type
+% {\definebodyfont}.
+
+% \let\fontbody \empty % ... 10pt 11pt 12pt ...
+% \let\fontstyle \empty % rm ss tt mm hw cg ...
+% \let\fontalternative\empty % tf bf sl it bs bi sc ...
+% \let\fontsize \empty % xy-abcd ...
+
+\def\fontbody{\normalizedbodyfontsize}
+
+\let\fontclass\empty \let\globalfontclass\fontclass
+
+\def\setcurrentfontclass#1%
+ {\edef\fontclass{#1}}
+
+\let\defaultfontbody \!!twelvepoint
+\let\defaultfontstyle \c!rm
+\let\defaultfontalternative \c!tf
+\let\defaultfontsize \empty
+
+\def\dosetcurrentfontsize#1%
+ {\let\!!stringa\fontsize
+ \edef\fontsize{#1}%
+ \ifx\!!stringa\fontsize\else
+ \synchronizemath
+ \synchronizetext
+ \fi}
+
+\def\dosetcurrentfontalternative#1%
+ {\edef\fontalternative{#1}%
+ \ifmmode % maybe better no test
+ \fam\csname\fontalternative\s!fam\endcsname
+ \fi}
+
+\def\setcurrentfont#1#2#3#4%
+ {%\message{[1 #1 #2 #3 #4]}%
+ \edef\fontbody{#1}%
+ \edef\fontstyle{#2}%
+ \dosetcurrentfontalternative{#3}%
+ \dosetcurrentfontsize{#4}%
+ \synchronizefont}
+
+\def\setcurrentfontbody#1%
+ {%\message{[2 #1]}%
+ \edef\fontbody{#1}%
+ \synchronizefont}
+
+\def\setcurrentfontstyle#1%
+ {%\message{[3 #1]}%
+ \edef\fontstyle{#1}%
+ \ifmmode\mr\fi % otherwise \rm not downward compatible
+ \synchronizefont}
+
+\def\setcurrentfontbodyalternative#1#2%
+ {%\message{[4 #1 #2]}%
+ \edef\fontbody{#1}%
+ \dosetcurrentfontalternative{#2}%
+ \synchronizefont}
+
+\def\setcurrentfontalternative#1%
+ {%\message{[5 #1]}%
+ \dosetcurrentfontalternative{#1}%
+ \synchronizefont}
+
+\def\setcurrentfontsize#1%
+ {%\message{[6 #1]}%
+ \dosetcurrentfontsize{#1}%
+ \synchronizefont}
+
+\def\setcurrentfontstylealternative#1#2% \rmsl
+ {%\message{[7 #1 #2]}%
+ \edef\fontstyle{#1}%
+ \dosetcurrentfontalternative{#2}%
+ \synchronizefont}
+
+\def\setcurrentfontstylesize#1#2% \rmsl
+ {%\message{[8 #1 #2]}%
+ \edef\fontstyle{#1}%
+ \dosetcurrentfontsize{#2}%
+ \synchronizefont}
+
+\def\setcurrentfontalternativesize#1#2% \sla
+ {%\message{[9 #1 #2]}%
+ \dosetcurrentfontalternative{#1}%
+ \dosetcurrentfontsize{#2}%
+ \synchronizefont}
+
+\def\setcurrentfontstylealternativesize#1#2#3% \rmsla
+ {%\message{[10 #1 #2 #3]}%
+ \edef\fontstyle{#1}%
+ \dosetcurrentfontalternative{#2}%
+ \dosetcurrentfontsize{#3}%
+ \synchronizefont}
+
+%D In principle one can assign alternative fallback routines.
+%D Some day we will.
+
+\newtoks\fontstrategies
+
+\def\synchronizefont%
+ {\let\fontstrategy\dofontstrategy
+ \the\fontstrategies}
+
+\beginTEX
+
+\def\dofontstrategy#1#2#3#4#5#6%
+ {\expandafter\ifx\csname#2#3#4#5#6\endcsname\relax\else
+ #1\csname#2#3#4#5#6\endcsname
+ \let\fontstrategy\gobblesixarguments
+ \fi}
+
+\endTEX
+
+\beginETEX \ifcsname
+
+\def\dofontstrategy#1#2#3#4#5#6%
+ {\ifcsname#2#3#4#5#6\endcsname
+ #1\csname#2#3#4#5#6\endcsname
+ \let\fontstrategy\gobblesixarguments
\fi}
-%D Next we're going to implement some switching macros we
-%D already used in when defining fonts. The first one takes
-%D care of the style and is used by commands like \type{\rma}.
+\endETEX
+
+% font class
+
+\appendtoks \fontstrategy \autofontsizefalse % --- --- --- --- % pt tt bf a
+ \fontclass \fontbody \fontstyle \fontalternative \fontsize
+\to \fontstrategies
+
+\appendtoks \fontstrategy \autofontsizetrue % --- --- --- def % pt tt bf
+ \fontclass \fontbody \fontstyle \fontalternative \defaultfontsize
+\to \fontstrategies
+
+\appendtoks \fontstrategy \autofontsizetrue % --- --- def --- % pt tt tf a
+ \fontclass \fontbody \fontstyle \defaultfontalternative \fontsize
+\to \fontstrategies
+
+\appendtoks \fontstrategy \autofontsizetrue % --- --- def def % pt tt tf
+ \fontclass \fontbody \fontstyle \defaultfontalternative \defaultfontsize
+\to \fontstrategies
+
+\appendtoks \fontstrategy \autofontsizefalse % --- def def def % pt rm tf
+ \fontclass \fontbody \defaultfontstyle \defaultfontalternative \defaultfontsize
+\to \fontstrategies
+
+\appendtoks \fontstrategy \autofontsizetrue % def def def def % rm tf
+ \fontclass \defaultfontbody \defaultfontstyle \defaultfontalternative \defaultfontsize
+\to \fontstrategies
+
+% no font class
+
+\appendtoks \fontstrategy \autofontsizefalse % --- --- --- --- % pt tt bf a
+ \empty \fontbody \fontstyle \fontalternative \fontsize
+\to \fontstrategies
+
+\appendtoks \fontstrategy \autofontsizetrue % --- --- --- def % pt tt bf
+ \empty \fontbody \fontstyle \fontalternative \defaultfontsize
+\to \fontstrategies
+
+\appendtoks \fontstrategy \autofontsizetrue % --- --- def --- % pt tt tf a
+ \empty \fontbody \fontstyle \defaultfontalternative \fontsize
+\to \fontstrategies
+
+\appendtoks \fontstrategy \autofontsizetrue % --- --- def def % pt tt tf
+ \empty \fontbody \fontstyle \defaultfontalternative \defaultfontsize
+\to \fontstrategies
-\def\switchtofontstyle#1#2%
- {\getvalue{#1}%
- \getvalue{\c!tf#2}}
+\appendtoks \fontstrategy \autofontsizefalse % --- def def def % pt rm tf
+ \empty \fontbody \defaultfontstyle \defaultfontalternative \defaultfontsize
+\to \fontstrategies
-%D The second one is responsible for commands like \type{\bfa}
-%D and the third one handles the combined \type{\rmbfa}
-%D alternatives.
+\appendtoks \fontstrategy \autofontsizetrue % def def def def % rm tf
+ \empty \defaultfontbody \defaultfontstyle \defaultfontalternative \defaultfontsize
+\to \fontstrategies
-\def\switchtofontalternative#1#2%
- {\def\fontsize{#2}%
- \setfontstyle{\fontstyle}{\fontstyle}%
- \getvalue{#1}}
+%D Let's synchronize:
-\def\switchtofontstylealternative#1#2#3%
- {\getvalue{\normalizedbodyfontsize#1#2#3}}
+\newif\ifsynchronizefonts \synchronizefontstrue
+
+\prependtoks
+ \ifsynchronizefonts
+ \synchronizemath \synchronizetext \synchronizefont
+ \fi
+\to \everybodyfont
%D Setting the normal sized as well as the x and xx smaller
%D sizes is accomplished by the next set of macros. When in
@@ -1927,35 +2326,44 @@
%D in text mode the values defined by the bodyfontenvironment are
%D used. Here we also set \type{\currentxfontsize}.
-\def\dosetsomextypeface#1%
- {\doifdefinedelse{#1}
- {\getvalue{#1}}
- {\showmessage{\m!fonts}{7}{#1}}}%
+\beginTEX
-\def\dosetxtypeface#1%
- {\chardef\currentxfontsize=1
+\def\dosetcurrentfontxxxalternative#1#2#3#4%
+ {\chardef\currentxfontsize=#2
\ifmmode
- \scriptstyle
- \else
- \dosetsomextypeface
- {\getvalue{\??ft\normalizedbodyfontsize\c!x}% % pt
- \getvalue{\@shortstyle@\fontstyle}% % rm
- #1}% % tf
- \unexpanded\def\tx{\dosetxxtypeface{#1}}%
- \fi}
+ #4%
+ \else\expandafter\ifx\csname\bodyfontvariable{\normalizedbodyfontsize#3}\endcsname\relax\else
+ \setcurrentfontbodyalternative{\bodyfontcsname\normalizedbodyfontsize#3\endcsname}{#1}%
+ \fi\fi}
+
+\endTEX
-\def\dosetxxtypeface#1%
- {\chardef\currentxfontsize=2
+\beginETEX \ifcsname
+
+\def\dosetcurrentfontxxxalternative#1#2#3#4%
+ {\chardef\currentxfontsize=#2
\ifmmode
- \scriptscriptstyle
- \else
- \dosetsomextypeface
- {\getvalue{\??ft\normalizedbodyfontsize\c!xx}% % pt
- \getvalue{\@shortstyle@\fontstyle}% % rm
- #1}% % tf
- \let\tx=\relax
- \let\txx=\relax
- \fi}
+ #4%
+ \else\ifcsname\bodyfontvariable{\normalizedbodyfontsize#3}\endcsname
+ \setcurrentfontbodyalternative{\bodyfontcsname\normalizedbodyfontsize#3\endcsname}{#1}%
+ \fi\fi}
+
+\endETEX
+
+\def\setcurrentfontxalternative#1%
+ {\dosetcurrentfontxxxalternative{#1}1\c!x\scriptstyle
+ \let\tx\txx}
+
+\def\setcurrentfontxxalternative#1%
+ {\dosetcurrentfontxxxalternative{#1}2\c!xx\scriptscriptstyle
+ \let\tx\empty
+ \let\txx\empty}
+
+% This alterative is not really needed, but for old time's sake
+% we keep it there. We can speed it up when needed.
+
+\def\setcurrentfontxstylealternative #1{\getvalue{#1}\tfx}
+\def\setcurrentfontxxstylealternative#1{\getvalue{#1}\tfxx}
%D These macros also show us that when we call for \type{\tx},
%D this macro is redefined to be \type{\txx}. Therefore calls
@@ -1982,133 +2390,8 @@
%D takes a bit more time. Keep in mind that the fontsize is
%D represented by a character or empty.
-\beginTEX
-
-\def\dosettextfont#1#2% Watch the extra test!
- {\unexpanded\setvalue{#1#2}%
- {\csname\textface#1%
- \@EA\ifx\csname\textface#1#2\fontsize\endcsname\relax
- \@EA\ifx\csname\textface#1\c!tf\fontsize\endcsname\relax
- #2%
- \else
- \c!tf\fontsize
- \fi
- \else
- #2\fontsize
- \fi
- \endcsname}}
-
-\endTEX
-
-\beginETEX \ifcsname
-
-\def\dosettextfont#1#2% Watch the extra test!
- {\unexpanded\setvalue{#1#2}%
- {\csname\textface#1%
- \ifcsname\textface#1#2\fontsize\endcsname
- #2\fontsize
- \else\ifcsname\textface#1\c!tf\fontsize\endcsname
- \c!tf\fontsize
- \else
- #2%
- \fi\fi
- \endcsname}}
-
-\endETEX
-
-\def\settextfont#1%
- {\def\dowithfamily{\dosettextfont{#1}}\processfamilylist}
-
-\def\settextfonts%
- {\rawprocesscommalist[\stylelist]\settextfont}
-
-%D All three sizes come together in the macro:
-
-\def\settypefaces#1#2%
- {\unexpanded\setvalue{#2}%
- {\dosettypeface{#1}{#2}}%
- \unexpanded\setvalue{#2\c!x}%
- {\dosetxtypeface{#2}}%
- \unexpanded\setvalue{#2\c!xx}%
- {\dosetxxtypeface{#2}}}%
-
-%D Earlier in this module we defined some \TEX\ families. Here
-%D we introduce the macros that are responsible for setting
-%D them. The first argument of the next macro takes the style
-%D in its short form (rm, ss, etc). The second argument is the
-%D alternative (tf, bf, etc).
-
-%D Before actually assigning the font to a family we activate
-%D it. This is needed because loading of fonts is postponed
-%D until the first time it's called for. This also forces us to
-%D set the text family after we've set the script ones, else
-%D the latter one would be in force after executing this macro.
-
-\def\settextfamily#1#2#3%
- {\scriptscriptfont\csname#3\s!fam\endcsname\scriptfont\csname#3\s!fam\endcsname
- \dosettextfamily{#1}{#2}{#3}\scriptscriptfont\scriptscriptface
- \scriptfont \csname#3\s!fam\endcsname\textfont \csname#3\s!fam\endcsname
- \dosettextfamily{#1}{#2}{#3}\scriptfont\scriptface
- \textfont \csname#3\s!fam\endcsname\textfont \tffam
- \dosettextfamily{#1}{#2}{#3}\textfont\textface}
-
-\beginTEX
-
-\def\dosettextfamily#1#2#3#4#5%
- {\@EA\ifx\csname#5\c!mm#2\endcsname\relax
- \@EA\ifx\csname#5#1#2\endcsname\relax
- \@EA\ifx\csname#5#1\c!tf\endcsname\relax
- %\debuggerinfo{\m!fonts}{not defined #5#1#2}%
- \else
- %\debuggerinfo{\m!fonts}{#5#1#2 replaced by #5#1\c!tf}%
- \csname#5#1\c!tf\endcsname% activate font
- \@EA#4\csname#3\s!fam\endcsname\csname#5#1\c!tf\endcsname
- \fi
- \else
- %\debuggerinfo{\m!fonts}{defined #5#1#2}%
- \csname#5#1#2\endcsname% activate font
- \@EA#4\csname#3\s!fam\endcsname\csname#5#1#2\endcsname
- \fi
- \else
- %\debuggerinfo{\m!fonts}{#5#1#2 overruled by #5\c!mm#2}%
- \csname#5\c!mm#2\endcsname % activate font
- \@EA#4\csname#3\s!fam\endcsname\csname#5\c!mm#2\endcsname
- \fi}
-
-\endTEX
-
-\beginETEX \ifcsname
-
-\def\dosettextfamily#1#2#3#4#5%
- {\ifcsname#5\c!mm#2\endcsname
- %\debuggerinfo{\m!fonts}{#5#1#2 overruled by #5\c!mm#2}%
- \csname#5\c!mm#2\endcsname % activate font
- \@EA#4\csname#3\s!fam\endcsname\csname#5\c!mm#2\endcsname
- \else\ifcsname#5#1#2\endcsname
- %\debuggerinfo{\m!fonts}{defined #5#1#2}%
- \csname#5#1#2\endcsname% activate font
- \@EA#4\csname#3\s!fam\endcsname\csname#5#1#2\endcsname
- \else\ifcsname#5#1\c!tf\endcsname
- %\debuggerinfo{\m!fonts}{#5#1#2 replaced by #5#1\c!tf}%
- \csname#5#1\c!tf\endcsname% activate font
- \@EA#4\csname#3\s!fam\endcsname\csname#5#1\c!tf\endcsname
- \else
- %\debuggerinfo{\m!fonts}{not defined #5#1#2}%
- \fi\fi\fi}
-
-\endETEX
-
-%D The previous macro lets definitions like
-%D
-%D \starttypen
-%D \definebodyfont[10pt][mm][bf=cmbx10 at 10.25pt]
-%D \stoptypen
-%D
-%D take preference over
-%D
-%D \starttypen
-%D \definebodyfont[10pt][mm][bf=cmbx10 at 10pt]
-%D \stoptypen
+\unexpanded\def\tx {\setcurrentfontxalternative \fontalternative}
+\unexpanded\def\txx{\setcurrentfontxxalternative\fontalternative}
%D \macros
%D {definefontstyle}
@@ -2128,11 +2411,7 @@
{}%\debuggerinfo{\m!fonts}{unknown style #2}}
{\addtocommalist{#2}\stylelist
\showmessage{\m!fonts}{8}{#2 (#1)}}%
- \unexpanded\setvalue{#2}{\setfontstyle{#2}{#2}}%
- \setvalue{#2\c!x}%
- {\getvalue{#2}\getvalue{\c!tf\c!x}}%
- \setvalue{#2\c!xx}%
- {\getvalue{#2}\getvalue{\c!tf\c!xx}}%
+ % check kan hier
\def\docommando##1%
{\setvalue{\@shortstyle@##1}{#2}%
\setvalue{\@style@##1}{\getvalue{#2}}}%
@@ -2141,148 +2420,16 @@
\def\definefontstyle%
{\dodoubleargument\dodefinefontstyle}
-%D CHECKEN WAT \type{\fontstyle} HIER DOET
-
\def\setfontstyle#1#2% #1:name (roman, romaan) #2:style (rm)
{\edef\fontstyle{#1}%
- \def\dowithfamily{\dosetfontstyle{#2}}\processfamilylist
- \unexpanded\def\tx{\tfx}%
- \fam\tffam
- \tf}
-
-\beginTEX
-
-\def\dosetfontstyle#1#2%
- {\@EA\ifx\csname#2\s!fam\endcsname\relax
- \settextfamily{#1}{#2}{\c!nn}%
- \else
- \settextfamily{#1}{#2}{#2}%
- \fi
- \settypefaces{#1}{#2}}
-
-\endTEX
-
-\beginETEX \ifcsname
-
-\def\dosetfontstyle#1#2%
- {\ifcsname#2\s!fam\endcsname
- \settextfamily{#1}{#2}{#2}%
- \else
- \settextfamily{#1}{#2}{\c!nn}%
- \fi
- \settypefaces{#1}{#2}}
+ \setcurrentfontstyle{\normalizedbodyfontsize}}
-\endETEX
-
-%D Setting the math families looks much like setting the texts
-%D ones. This time however we use the 12 point font as a
-%D default when nothing is defined. This enables us to
-%D implement partial schemes. Here we also set the
-%D \type{\skewchar}, which takes care of accents in math mode
-%D (actually it's the largest accent). The first family needs a
-%D bit different treatment because it can be set to the default
-%D roman as well as a user defined font.
-
-\def\setmathfamilies%
- {\setskewchar{\textface\c!mm\c!mi}{'177}%
- \setskewchar{\textface\c!mm\c!sy}{'60}%
- \setmathfamily\mrfam\textface\scriptface\scriptscriptface{\c!mm\c!mr}{\c!rm\c!tf}%
- \setmathfamily\mifam\textface\scriptface\scriptscriptface{\c!mm\c!mi}{}%
- \setmathfamily\syfam\textface\scriptface\scriptscriptface{\c!mm\c!sy}{}%
- \setmathfamily\exfam\textface\textface \textface {\c!mm\c!ex}{}%
- \setmathfamily\mafam\textface\scriptface\scriptscriptface{\c!mm\c!ma}{}%
- \setmathfamily\mbfam\textface\scriptface\scriptscriptface{\c!mm\c!mb}{}%
- \setmathfamily\mcfam\textface\scriptface\scriptscriptface{\c!mm\c!mc}{}}
-
-%D Optionally skew characters can be set on a per font basis,
-%D like:
-%D
-%D \starttypen
-%D \definebodyfont
-%D [12pt] [mm]
-%D [mi=cmmi10,sy=cmsy10,syskewchar='50]
-%D \stoptypen
-%D
-%D When setting the \type{\skewchar} we need to test on the
-%D availability first.
-
-\beginTEX
-
-\def\setskewchar#1#2%
- {\@EA\ifx\csname#1\endcsname\relax\else
- \csname#1\endcsname
- \@EA\ifx\csname\??ft#1\s!skewchar\endcsname\relax
- \skewchar\csname#1\endcsname#2\relax
- \else
- \skewchar\csname#1\endcsname\csname\??ft#1\s!skewchar\endcsname\relax
- \fi
- \fi}
-
-\endTEX
-
-\beginETEX \ifcsname
-
-\def\setskewchar#1#2%
- {\ifcsname#1\endcsname
- \csname#1\endcsname
- \ifcsname\??ft#1\s!skewchar\endcsname
- \skewchar\csname#1\endcsname\csname\??ft#1\s!skewchar\endcsname\relax
- \else
- \skewchar\csname#1\endcsname#2\relax
- \fi
- \fi}
-
-\endETEX
-
-%D First we try to set the font at the math specific one (the
-%D fifth argment), next we take the alternative the last
-%D argument, which of often empty, and finally we default to
-%D the 12 point alternative.
-
-\def\setmathfamily#1#2#3#4#5#6% er kunnen veel {} weg
- {\dosetmathfamily\scriptscriptfont{#4}{#1}{#5}{#6}%
- \dosetmathfamily\scriptfont {#3}{#1}{#5}{#6}%
- \dosetmathfamily\textfont {#2}{#1}{#5}{#6}}
-
-\beginTEX
+\chardef\defaultskewcharmi='177
+\chardef\defaultskewcharsy='60
-\def\dosetmathfamily#1#2#3#4#5%
- {\@EA\ifx\csname#2#4\endcsname\relax
- \@EA\ifx\csname#2#5\endcsname\relax
- \@EA\ifx\csname\!!twelvepoint#4\endcsname\relax
- #1#3\nullfont
- \else
- \csname\!!twelvepoint#4\endcsname
- #1#3\csname\!!twelvepoint#4\endcsname\relax
- \fi
- \else
- \csname#2#5\endcsname
- #1#3\csname#2#5\endcsname\relax
- \fi
- \else
- \csname#2#4\endcsname
- #1#3\csname#2#4\endcsname\relax
- \fi}
-
-\endTEX
-
-\beginETEX \ifcsname
-
-\def\dosetmathfamily#1#2#3#4#5%
- {\ifcsname#2#4\endcsname
- \csname#2#4\endcsname
- #1#3\csname#2#4\endcsname\relax
- \else\ifcsname#2#5\endcsname
- \csname#2#5\endcsname
- #1#3\csname#2#5\endcsname\relax
- \else\ifcsname\!!twelvepoint#4\endcsname
- \csname\!!twelvepoint#4\endcsname
- #1#3\csname\!!twelvepoint#4\endcsname\relax
- \else
- #1#3\nullfont
- \fi\fi\fi}
-
-\endETEX
+\def\dosetskewchar#1%
+ {\skewchar\font=\ifundefined{\purefontname\font\s!skewchar}%
+ #1\else\csname\purefontname\font\s!skewchar\endcsname\fi}
%D The previous macros show that it's is not always
%D neccessary to define the whole bunch of fonts, take for
@@ -2315,17 +2462,19 @@
%D default typeface and also set the font specific parameters
%D assigned to \type{\everybodyfont}
+\def\dosetbodyfontface#1#2%
+ {\edef#1{\bodyfontcsname\normalizedbodyfontsize#2\endcsname}}
+
\def\docompletefontswitch[#1]%
{\bodyfontsize=#1\relax
\dimensiontocount\bodyfontsize\bodyfontpoints
\edef\bodyfontfactor{\withoutpt\the\bodyfontsize}%
\normalizebodyfontsize\bodyfontsize\to\normalizedbodyfontsize
- \edef\textface{\getvalue{\??ft\normalizedbodyfontsize\s!text}}%
- \edef\scriptface{\getvalue{\??ft\normalizedbodyfontsize\s!script}}%
- \edef\scriptscriptface{\getvalue{\??ft\normalizedbodyfontsize\s!scriptscript}}%
- \settextfonts
- \setmathfamilies
- \rmtf} % no \everybodyfont needed here, so removed
+ \dosetbodyfontface \textface \s!text
+ \dosetbodyfontface \scriptface \s!script
+ \dosetbodyfontface \scriptscriptface \s!scriptscript}
+
+\docompletefontswitch[12pt] % init
%D \macros
%D {setupbodyfont,switchtobodyfont}
@@ -2353,6 +2502,8 @@
%D Both macros look alike. The second one also has to take
%D all kind of keywords into account.
+\chardef\bodyfontsetstate=0
+
\definecomplexorsimple\setupbodyfont
\def\simplesetupbodyfont%
@@ -2360,67 +2511,114 @@
\def\complexsetupbodyfont[#1]%
{\doifsomething{#1}
- {\dosetfont[#1]%
+ {\dosetfont1{#1}%
\globalbodyfontsize=\localbodyfontsize
- \normalizebodyfontsize\globalbodyfontsize\to\normalizedglobalbodyfontize
+ \normalizebodyfontsize\globalbodyfontsize\to\normalizedglobalbodyfontsize
\let\globalfontstyle=\fontstyle
- \the\everybodyfont}} % indeed needed in case \dosetfont is not executed
+\ifloadingfonts\else
+ \the\everybodyfont
+ \fi }} % indeed needed in case \dosetfont is not executed
-\unexpanded\def\switchtobodyfont[#1]%
+\unexpanded\def\switchtobodyfont[#1]%
{\doifsomething{#1}
{\doifdefinedelse{\??ft\normalizedbodyfontsize\interfaced{#1}}
{\doswitchpoints[\getvalue{\??ft\normalizedbodyfontsize\interfaced{#1}}]%
\doswitchstyle[\fontstyle]}
- {\dosetfont[#1]}%
+ {\dosetfont0{#1}}%
\the\everybodyfont}} % indeed needed in case nothing is executed
%D Because the last macro can appear in arguments or be assigned
%D to parameters, we protect this one for unwanted expansion.
\def\dodosetmathfont#1%
- {\doifdefinedelse{#1\s!fam} % adapted
- {\edef\mffam{\getvalue{#1\s!fam}}}
- {\edef\mffam{\getvalue{\c!nn\s!fam}}}%
+ {\setcurrentfontalternative{#1}%
+ % \doifdefinedelse{#1\s!fam} % adapted
+ % {\edef\mffam{\getvalue{#1\s!fam}}}
+ % {\edef\mffam{\getvalue{\c!nn\s!fam}}}%
\textfont \mrfam=\textfont \mffam
\scriptfont \mrfam=\scriptfont \mffam
\scriptscriptfont\mrfam=\scriptscriptfont\mffam}
-\def\dosetmathfont%
- {\def\rm{\fam0}\dodosetmathfont}
+\def\domffam#1%
+ {\csname\ifundefined{#1\s!fam}\c!nn\else#1\fi\s!fam\endcsname}
-\let\fontalternative=\c!tf
+\def\mffam%
+ {\domffam\fontalternative}
-%D Watch the encoding: the first settings are there for
-%D upward compatibility reasons, the second one is the new,
-%D font synonym related setting.
+\def\dosetmathfont%
+ {\def\rm{\fam\mrfam}\dodosetmathfont}
-\def\dosettypeface#1#2%
- {\doifdefinedelse{@\normalizedbodyfontsize#1#2@} % the definition bound one
- {\enablecoding[\getvalue{@\normalizedbodyfontsize#1#2@}]}
- {\enablecoding[\s!default]}%
- \edef\fontalternative{#2}%
- \unexpanded\def\tx%
- {\dosetxtypeface{#2\fontsize}}%
- \unexpanded\def\txx%
- {\dosetxxtypeface{#2\fontsize}}%
- \doifdefinedelse{#2\s!fam} % adapted
- {\expandafter\fam\getvalue{#2\s!fam}}
- {\expandafter\fam\getvalue{\c!nn\s!fam}}%
- \getvalue{#1#2}%
- \ifcase\currentxfontsize\or\tx\or\txx\fi
- \setfontcharacteristics}
-
-%D The font specific features are bound to the filename.
+%D The font specific features are bound to the filename.
+
+% This can be made faster by testing for a mapping change
+% here, but there is only a reason for doing that for mixed
+% cases.
\def\setfontcharacteristics%
- {\doifdefined{\purefontname\font\s!handling} % the file bound one
+ {\doifdefinedelse{\purefontname\font\s!handling} % the file bound one
{\enablehandling[\getvalue{\purefontname\font\s!handling}]}%
- \doifdefined{\purefontname\font\s!encoding} % the file bound one
+ {\enablehandling[\s!default]}%
+ \doifdefinedelse{\purefontname\font\s!encoding} % the file bound one
{\enablecoding[\getvalue{\purefontname\font\s!encoding}]}%
+ {\enablecoding[\s!default]}%
\doifdefinedelse{\purefontname\font\s!mapping} % the file bound one
{\enablemapping[\getvalue{\purefontname\font\s!mapping}]}%
- {\doifdefined{\purefontname\font\s!encoding}
- {\enablemapping[\getvalue{\purefontname\font\s!encoding}]}}}
+ {\doifdefinedelse{\purefontname\font\s!encoding}
+ {\enablemapping[\getvalue{\purefontname\font\s!encoding}]}
+ {\enablemapping[\s!default]}}}
+
+\beginTEX
+
+\def\setfontcharacteristics%
+ {\enablehandling
+ [\@EA\ifx\csname\purefontname\font\s!handling\endcsname\relax % the file bound one
+ \s!default
+ \else
+ \csname\purefontname\font\s!handling\endcsname
+ \fi]%
+ \enablecoding
+ [\@EA\ifx\csname\purefontname\font\s!encoding\endcsname\relax % the file bound one
+ \s!default
+ \else
+ \csname\purefontname\font\s!encoding\endcsname
+ \fi]%
+ \enablemapping
+ [\@EA\ifx\csname\purefontname\font\s!mapping\endcsname\relax % the file bound one
+ \@EA\ifx\csname\purefontname\font\s!encoding\endcsname\relax
+ \s!default
+ \else
+ \csname\purefontname\font\s!encoding\endcsname
+ \fi\else
+ \csname\purefontname\font\s!mapping\endcsname
+ \fi]}
+
+\endTEX
+
+\beginETEX \ifcsname
+
+\def\setfontcharacteristics%
+ {\enablehandling
+ [\ifcsname\purefontname\font\s!handling\endcsname % the file bound one
+ \csname\purefontname\font\s!handling\endcsname
+ \else
+ \s!default
+ \fi]%
+ \enablecoding
+ [\ifcsname\purefontname\font\s!encoding\endcsname % the file bound one
+ \csname\purefontname\font\s!encoding\endcsname
+ \else
+ \s!default
+ \fi]%
+ \enablemapping
+ [\ifcsname\purefontname\font\s!mapping\endcsname % the file bound one
+ \csname\purefontname\font\s!mapping\endcsname
+ \else\ifcsname\purefontname\font\s!encoding\endcsname
+ \csname\purefontname\font\s!encoding\endcsname
+ \else
+ \s!default
+ \fi\fi]}
+
+\endETEX
%D The next auxilliary macro is an alternative to \type
%D {\fontname}.
@@ -2433,8 +2631,8 @@
%D \macros
%D {switchstyleonly}
%D
-%D For switching a style but keeping the alternative, there
-%D is:
+%D For switching a style but keeping the alternative, there
+%D is:
%D
%D \starttypen
%D {\bf text \switchstyleonly\ss text}
@@ -2442,23 +2640,14 @@
%D {\sl text \switchstyleonly[sansserif]text}
%D \stoptypen
-% \def\switchstyleonly#1% original takes \ss and {ss}
-% {\let\savedfontalternative=\fontalternative
-% \chardef\savedescapechar=\escapechar
-% \escapechar=-1
-% \getvalue{\string#1}%
-% \escapechar=\savedescapechar
-% \getvalue{\savedfontalternative}}
-
-\definecomplexorsimple\switchstyleonly % final version
+\definecomplexorsimple\switchstyleonly
-\def\simpleswitchstyleonly#1%
- {\complexswitchstyleonly[\strippedcsname#1]}
+\def\simpleswitchstyleonly#1% stupid version
+ {\complexswitchstyleonly[\strippedcsname#1]}
-\def\complexswitchstyleonly[#1]%
- {\let\savedfontalternative=\fontalternative
- \getvalue{\getvalue{\@shortstyle@#1}}%
- \getvalue{\savedfontalternative}}
+\def\complexswitchstyleonly[#1]% todo : check
+ {\setcurrentfontstyle{\getvalue{\@shortstyle@#1}}%
+ \the\everybodyfont} % needed ?
%D \macros
%D {os}
@@ -2467,10 +2656,7 @@
%D like {\os 1234567890} instead of the more common looking
%D 1234567890.
-% \unexpanded\def\os%
-% {\getvalue{\normalizedbodyfontsize\c!mm\c!mi}}
-
-\definefont[os][OldStyle sa \currentfontscale]
+\definefont[os][OldStyle sa *] % \currentfontscale]
\definefontsynonym[OldStyle][Serif]
@@ -2478,11 +2664,11 @@
%D {frak, goth, cal}
%D
%D On behalf of {\frac Tobias Burnus}, we define some more of
-%D these:
+%D these:
-\definefont [frak] [Fraktur sa \currentfontscale]
-\definefont [goth] [Gothic sa \currentfontscale]
-\definefont [cal] [Calligraphic sa \currentfontscale]
+\definefont [frak] [Fraktur sa *] % \currentfontscale]
+\definefont [goth] [Gothic sa *] % \currentfontscale]
+\definefont [cal] [Calligraphic sa *] % \currentfontscale]
\definefontsynonym [Fraktur] [Serif]
\definefontsynonym [Gothic] [Serif]
@@ -2530,17 +2716,23 @@
%D The three alternatives can be activated by the next three
%D system calls and are defined by the bodyfontenvironment.
-\def\setsmallbodyfont%
- {\doswitchpoints[\getvalue{\??ft\normalizedbodyfontsize\interfaced\v!klein}]%
- \doswitchstyle[\fontstyle]}
+\let\fontstep\empty
+
+\def\setbodyfontstep#1%
+ {\edef\fontstep{\bodyfontcsname\normalizedbodyfontsize\interfaced#1\endcsname}%
+ \doswitchpoints[\fontstep]%
+ \doswitchstyle[\fontstyle]%
+\the\everybodyfont
+}
-\def\setbigbodyfont%
- {\doswitchpoints[\getvalue{\??ft\normalizedbodyfontsize\interfaced\v!groot}]%
- \doswitchstyle[\fontstyle]}
+\def\setsmallbodyfont{\setbodyfontstep\v!klein}
+\def\setbigbodyfont {\setbodyfontstep\v!groot}
\def\setmainbodyfont%
{\doswitchpoints[\normalizedbodyfontsize]%
- \doswitchstyle[\fontstyle]}
+ \doswitchstyle[\fontstyle]%
+\the\everybodyfont
+}
%D \macros
%D {restoreglobalbodyfont}
@@ -2550,12 +2742,15 @@
%D in the main bodyfont and style of the document. Returning to
%D the global state can be done with the next macro:
+\let\mainfontclass\empty
+
\def\restoreglobalbodyfont%
{\let\fontsize=\empty
- \doswitchpoints[\normalizedglobalbodyfontize]%
+ \let\fontclass\globalfontclass
\doswitchstyle[\globalfontstyle]%
+ \doswitchpoints[\normalizedglobalbodyfontsize]%
\redoconvertfont % just in case a pagebreak occurs
- \tf}
+ \tf \the\everybodyfont}
%D This macro has to be called when entering the pagebody
%D handling routine as well as the footnote insert routine.
@@ -2573,8 +2768,7 @@
%D (a rather small period indeed), the same as \PICTEX\ uses
%D for drawing purposes.
-\def\rasterfont%
- {\getvalue{\!!fivepoint\c!rm\c!tf}}
+\definefont [rasterfont] [Serif at 5pt]
%D \macros
%D {infofont}
@@ -2584,8 +2778,12 @@
%D don't want huge switches to the main bodyfont and style, so
%D here too we use a direct method.
-\def\infofont%
- {\getvalue{\!!sixpoint\c!tt\c!tf}\the\everybodyfont}
+% old mechanism
+%
+% \def\infofont%
+% {\getvalue{\!!sixpoint\c!tt\c!tf}\the\everybodyfont}
+
+\definefont [infofont] [Mono at 6pt] % todo \the\everybodyfont
%D \macros
%D {definealternativestyle}
@@ -2727,18 +2925,19 @@
\def\emphasistypeface {\sl}
\def\emphasisboldface {\bs}
-%D or even better:
+%D or even better:
-\def\emphasistypeface%
- {\doifelsevalue{\??ft\normalizedbodyfontsize\c!em}{\v!schuin}{\sl}
- {\doifvalue{\??ft\normalizedbodyfontsize\c!em}{\v!italic}{\it}}}
+\def\doemphasistypeface#1#2%
+ {\doifelsevalue {\??ft\fontclass\normalizedbodyfontsize\c!em}{\v!schuin}{#1}
+ {\doifelsevalue {\??ft\fontclass\normalizedbodyfontsize\c!em}{\v!italic}{#2}
+ {\doifelsevalue{\??ft \normalizedbodyfontsize\c!em}{\v!schuin}{#1}
+ {\doifvalue {\??ft \normalizedbodyfontsize\c!em}{\v!italic}{#2}}}}}
-\def\emphasisboldface%
- {\doifelsevalue{\??ft\normalizedbodyfontsize\c!em}{\v!schuin}{\bs}
- {\doifvalue{\??ft\normalizedbodyfontsize\c!em}{\v!italic}{\bi}}}
+\def\emphasistypeface{\doemphasistypeface\sl\it}
+\def\emphasisboldface{\doemphasistypeface\bs\bi}
-%D To be set with the default body font environment: \type
-%D {em} being \type {slanted} or \type {italic}.
+%D To be set with the default body font environment: \type
+%D {em} being \type {slanted} or \type {italic}.
\newconditional\emneeded
@@ -2749,7 +2948,7 @@
\else
\setfalse\emneeded
\fi
- \setemphasisboldface % new
+ \setemphasisboldface % new
\ifnum\fam=\itfam
\def\emphasistypeface{\it}\tf
\else\ifnum\fam=\slfam
@@ -2769,7 +2968,7 @@
\fi
\emphasiscorrection}
-%D The next feature was not present in previous versions. It
+%D The next feature was not present in previous versions. It
%D takes are of \type {\em \bf ...} sitiations.
\def\setemphasisboldface%
@@ -2796,19 +2995,6 @@
\expandafter\emphasislook
\fi}
-% \def\emphasislook%
-% {\begingroup
-% \futurelet\next\emphasistest}
-%
-% \def\emphasistest%
-% {\ifcat\noexpand\next,%
-% \setbox\scratchbox=\hbox{\next}%
-% \ifdim\ht\scratchbox<.3ex
-% \let\doemphasiscorrection\endgroup
-% \fi
-% \fi
-% \doemphasiscorrection}
-
\def\emphasislook%
{\begingroup
\beginrobusttest
@@ -2819,7 +3005,7 @@
\endrobusttest\expandafter\doemphasiscorrection
\normalelse
\endrobusttest\expandafter\dododoemphasiscorrection
- \normalfi}
+ \normalfi}
\def\doemphasiscorrection%
{\futurelet\next\dodoemphasiscorrection}
@@ -2870,11 +3056,11 @@
%D \stopopelkaar
%D \stopvoorbeeld
-%D \macros
+%D \macros
%D {emphbf,emphit,emphsl,emphtf}
%D
-%D The next emphasis alternatives are for \THANH. They adapt
-%D their style as good as possible.
+%D The next emphasis alternatives are for \THANH. They adapt
+%D their style as good as possible.
\def\emphbf%
{\groupedcommand{\bf\def\emphit{\bi}\def\emphsl{\bs}}{}}
@@ -2889,7 +3075,7 @@
{\groupedcommand{\tf\def\emphbf{\bf}\def\emphit{\it}\def\emphsl{\sl}}{}}
%D \startbuffer
-%D TEXT {\emphbf text \emphit text \emphtf text \emphsl text} TEXT
+%D TEXT {\emphbf text \emphit text \emphtf text \emphsl text} TEXT
%D TEXT \emphbf{text \emphit{text} \emphtf{text} \emphsl{text}} TEXT
%D \stopbuffer
%D
@@ -2933,52 +3119,7 @@
%D The implementation is rather straightforward in using
%D \type{\halign}.
-\def\doshowbodyfont[#1]%
- {\startbaselinecorrection
- \vbox
- {\def\doreadfontdefinitionfile##1% geen test op geladen
- {\makeshortfilename[\f!fontprefix\truefontname{##1}]%
- \startreadingfile
- \readsysfile{\shortfilename}{}{}%
- \stopreadingfile}%
- \def\bigstrut##1##2%
- {\hbox{\vrule
- \!!height ##1\ht\strutbox
- \!!depth ##2\dp\strutbox
- \!!width \!!zeropoint}}
- \doifelsenothing{#1}
- {\def\title{\the\korpsgrootte}}
- {\switchtobodyfont[#1]\def\title{#1}}
- \tabskip\!!zeropoint
- \parindent\!!zeropoint
- \def\next##1##2##3%
- {&&##1&&##2\tf##3&&##2\sc##3%
- &&##2\sl##3&&##2\it##3&&##2\bf##3&&##2\bs##3&&##2\bi##3%
- &&##2\tfx##3&&##2\tfxx##3%
- &&##2\tfa##3&&##2\tfb##3&&##2\tfc##3&&##2\tfd##3&\cr}%
- \setlocalhsize
- \halign to \localhsize
- {\bigstrut{1.5}{2}##&\vrule##
- \tabskip=\!!zeropoint \!!plus 1fill
- &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
- &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
- &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
- &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
- &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
- &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
- &\hfil##\hfil&\vrule##&\hfil##\hfil&##\vrule
- \tabskip=\!!zeropoint\cr
- \noalign{\hrule}
- &\multispan{29}{\vrule\hfil\tttf\strut[\title]\hfil\vrule}\cr
- \noalign{\hrule}\next{}{\tt\string}{}
- \noalign{\hrule}\next{\tt\string\rm}{\rm}{Ag}
- \noalign{\hrule}\next{\tt\string\ss}{\ss}{Ag}
- \noalign{\hrule}\next{\tt\string\tt}{\tt}{Ag}
- \noalign{\hrule}}}
- \stopbaselinecorrection}
-
-\def\showbodyfont%
- {\dosingleempty\doshowbodyfont}
+\fetchruntimecommand \showbodyfont {\f!fontprefix\s!run}
%D \macros
%D {showbodyfontenvironment}
@@ -2991,42 +3132,29 @@
%D
%D \showsetup{\y!showbodyfontenvironment}
-\def\showbodyfontenvironment%
- {\dosingleempty\doshowbodyfontenvironment}
-
-\def\doshowbodyfontenvironment[#1]%
- {\startbaselinecorrection
- \vbox
- {\tabskip\!!zeropoint
- \parindent\!!zeropoint
- \doifelsenothing{#1}
- {\def\title{\the\korpsgrootte}}
- {\switchtobodyfont[#1]\def\title{#1}}
- \def\next##1%
- {&&\getvalue{\??ft##1\s!text}%
- &&\getvalue{\??ft##1\s!script}%
- &&\getvalue{\??ft##1\s!scriptscript}%
- &&\getvalue{\??ft##1\c!x}%
- &&\getvalue{\??ft##1\c!xx}%
- &&\getvalue{\??ft##1\interfaced{\v!klein}}%
- &&\getvalue{\??ft##1\interfaced{\v!groot}}&\cr
- \noalign{\hrule}}
- \setlocalhsize
- \halign to \localhsize
- {##&\vrule##\strut
- \tabskip=\!!zeropoint \!!plus 1fill
- &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
- &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
- &\hfil##\hfil&##\vrule
- \tabskip=\!!zeropoint\cr
- \noalign{\hrule}
- &\multispan{15}{\vrule\hfil\tttf\strut[\title]\hfil}\vrule\cr
- \noalign{\hrule}
- &&\bf\s!text&&\bf\s!script&&\bf\s!scriptscript
- &&\bf\c!x&&\bf\c!xx&&\bf\v!klein&&\bf\v!groot&\cr
- \noalign{\hrule}
- \@EA\globalprocesscommalist\@EA[\bodyfontenvironmentlist]\next}}
- \stopbaselinecorrection}
+\fetchruntimecommand \showbodyfontenvironment {\f!fontprefix\s!run}
+
+%D \macros
+%D {showfont,showfontstyle}
+%D
+%D The following command generates a fontmap:
+%D
+%D \startbuffer
+%D \showfont[SansBold at 12pt]
+%D \stopbuffer
+%D
+%D \typebuffer
+%D
+%D Below the table the name, encoding, mapping and handling are
+%D shown. Special characters like the \type {\skewchar} and
+%D \type {\hyphenchar} als marked.
+%D
+%D \haalbuffer
+
+% to be internationalized
+
+\fetchruntimecommand \showfont {\f!fontprefix\s!run}
+\fetchruntimecommand \showfontstyle {\f!fontprefix\s!run}
%D \macros
%D {getglyph}
@@ -3037,20 +3165,9 @@
%D \getglyph{fontname}{character}
%D \stoptypen
%D
-%D This macro is used in for instance the symbol modules and
-%D as one can see, it does obey the small and even smaller
-%D sizes.
-
-% \def\getglyph#1#2%
-% {{\ifcase\currentxfontsize\or
-% \bodyfontsize=\getvalue{\??ft\normalizedbodyfontsize\c!x}%
-% \else
-% \bodyfontsize=\getvalue{\??ft\normalizedbodyfontsize\c!xx}%
-% \fi
-% \font\temp=\truefontname{#1} at \bodyfontsize \temp#2\relax}}
-
-% \def\getglyph#1#2%
-% {{\definefont[\s!dummy][#1 sa \currentfontscale]\dummy#2}}
+%D This macro is used in for instance the symbol modules and
+%D as one can see, it does obey the small and even smaller
+%D sizes.
\def\fontstringA%
{\ifx\fontstyle\c!rm \s!Serif \else
@@ -3106,12 +3223,13 @@
\endTEX
-\def\getglyph#1#2%
- {{\definefont[\s!dummy][\glyphfontfile{#1} sa \currentfontscale]\dummy#2}}
+\def\getglyph#1#2%
+ %{{\definefont[\s!dummy][\glyphfontfile{#1} sa \currentfontscale]\dummy#2}}
+ {{\definefont[\s!dummy][\glyphfontfile{#1} sa *]\dummy#2}}
-%D The last implementation of \type {\getglyph} permits
-%D definitions like:
-%D
+%D The last implementation of \type {\getglyph} permits
+%D definitions like:
+%D
%D \starttypen
%D \definefontsynonym [EuroSans] [eurose]
%D \definefontsynonym [EuroSansBold] [euroseb]
@@ -3119,20 +3237,20 @@
%D \definefontsynonym [EuroSansSlanted] [eurosei]
%D \definefontsynonym [EuroSansBoldItalic] [eurosebi]
%D \definefontsynonym [EuroSansBoldSlanted] [eurosebi]
-%D
+%D
%D \definesymbol [euro] [\getglyph{Euro}{\char160}]
-%D
+%D
%D \def\euro{\symbol[euro]}
%D \stoptypen
%D
-%D These definitions guarantee that the next calls work okay:
+%D These definitions guarantee that the next calls work okay:
%D
%D \starttypen
%D \ss \tf\euro \bf\euro \sla\euro \itd\euro \bs\euro \bic\euro
%D \stoptypen
-%D
+%D
%D The shape as well as the size is adapted to the current
-%D environment.
+%D environment.
%D Fonts can only be used when loaded. In \CONTEXT\ we
%D postpone the loading of fonts, even when we load \PLAIN.
@@ -3231,13 +3349,13 @@
%D \smashaccent\"Uberhaupt
%D \stoptypen
%D
-%D But normally one will use it as a prefix in definitions.
-%D The difference is in the height:
+%D But normally one will use it as a prefix in definitions.
+%D The difference is in the height:
%D
%D \leavevmode\ruledhbox
%D {\ruledhbox{\smashaccent\"Uberhaupt}\quad
%D oder\quad
-%D \ruledhbox{\"Uberhaupt}}
+%D \ruledhbox{\"Uberhaupt}}
%D \macros
%D {moveaccent}
@@ -3254,7 +3372,7 @@
%D \leavevmode\ruledhbox
%D {\ruledhbox{\moveaccent{-.1ex}\"Uberhaupt}\quad
%D oder\quad
-%D \ruledhbox{\"Uberhaupt}}
+%D \ruledhbox{\"Uberhaupt}}
\def\dodomoveaccent#1%
{\bgroup
@@ -3289,28 +3407,7 @@
%D \definefontsynonym [Times-Roman] [tir]
%D \stoptypen
-% %D One day Taco came up with the suggestion to automate this
-% %D process by loading the fontmap file as distributed with the
-% %D \DVIPS\ and \PDFTEX\ program. Therefore, we now have:
-%
-% \def\loadfontmappingfile#1#2#3% file yes no
-% {\pushendofline
-% \chardef\@@savedtabcatcode=\the\catcode`\^^I
-% \def\dodocommando##1 ##2 ##3 ##4\end%
-% {\doifnot{##1}{*}
-% {%\writestatus{\m!systems}{font ##2 mapped into ##1}%
-% \definefontsynonym[##2][##1]}}%
-% \def\docommando%
-% {\expandafter\dodocommando\fileline * * * * \end}%
-% \doprocessfile\scratchread{#1.map}\docommando
-% \catcode`\^^I=\@@savedtabcatcode
-% \popendofline
-% \iffileprocessed#2\else#3\fi}
-%
-% %D Since the syntax of the map files changes occationally,
-% %D I have decided to remove this feature.
-
-%D Now we're up to some definitions.
+%D Now we're up to some definitions.
\definebodyfontenvironment
[\s!default]
@@ -3321,18 +3418,19 @@
\c!b=1.440,
\c!c=1.728,
\c!d=2.074,
+ *=\currentfontscale, % wildcard
\c!x=0.8,
\c!xx=0.6,
\c!groot=1.2,
\c!klein=0.8,
- \c!interlinie=,
+ \c!interlinie=,
\c!em=\v!schuin]
\definebodyfontenvironment
[20.7pt]
[ \s!text=20.7pt,
\s!script=\!!fourteenpointfour,
- \s!scriptscript=\!!twelvepoint,
+ \s!scriptscript=\!!twelvepoint,
\c!x=17.3pt,
\c!xx=\!!fourteenpointfour,
\c!groot=20.7pt, % !!!!
@@ -3341,10 +3439,10 @@
\definebodyfontenvironment
[17.3pt]
[ \s!text=17.3pt,
- \s!script=\!!twelvepoint,
+ \s!script=\!!twelvepoint,
\s!scriptscript=\!!tenpoint,
\c!x=\!!fourteenpointfour,
- \c!xx=\!!twelvepoint,
+ \c!xx=\!!twelvepoint,
\c!groot=20.7pt,
\c!klein=\!!fourteenpointfour]
@@ -3467,14 +3565,17 @@
\definebodyfontswitch [vii] [\!!sevenpoint]
\definebodyfontswitch [vi] [\!!sixpoint]
-%D So far.
-
+%D So far.
+
\definefontstyle [\c!rm,\v!roman,\v!serif,\v!regular] [\c!rm]
-\definefontstyle [\c!ss,\v!sansserif,\v!sans,\v!support] [\c!ss]
+\definefontstyle [\c!ss,\v!sansserif,\v!sans,\v!support] [\c!ss]
\definefontstyle [\c!tt,\v!teletype,\v!type,\v!mono] [\c!tt]
\definefontstyle [\c!hw,\v!handwritten] [\c!hw]
\definefontstyle [\c!cg,\v!calligraphic] [\c!cg]
+\definefontsize[\c!a] \definefontsize[\c!b]
+\definefontsize[\c!c] \definefontsize[\c!d]
+
\definealternativestyle [\v!mediaeval] [\os] []
\definealternativestyle [\v!normaal] [\tf] []
\definealternativestyle [\v!vet] [\bf] []
@@ -3490,21 +3591,39 @@
\definealternativestyle [\v!kleinvetschuin,\v!kleinschuinvet] [\bsx] []
\definealternativestyle [\v!kleinvetitalic,\v!kleinitalicvet] [\bix] []
-%D We treat {\sc Small Caps} and \kap {Pseudo Caps} a bit
-%D different. We also provide an \WOORD {uppercase} style.
+%D We treat {\sc Small Caps} and \kap {Pseudo Caps} a bit
+%D different. We also provide an \WOORD {uppercase} style.
\definealternativestyle [\v!kap,\v!kapitaal] [\normalkap] [\normalkap]
\definealternativestyle [\v!smallcaps] [\sc] [\sc]
\definealternativestyle [\v!WOORD] [\WORD] [\WORD]
-%D \macros
+%D \macros
+%D {...math}
+%D
+%D New or old?
+
+% tzt proper \define...
+
+\def\tfmath{\tf\mf\synchronizesymb}
+\def\bfmath{\bf\mf\synchronizesymb}
+\def\slmath{\sl\mf\synchronizesymb}
+\def\itmath{\it\mf\synchronizesymb}
+\def\bsmath{\bs\mf\synchronizesymb}
+\def\bimath{\bi\mf\synchronizesymb}
+\def\scmath{\sc\mf\synchronizesymb}
+\def\nnmath{\nn\mf\synchronizesymb}
+
+\def\textmath {\synchronizesymb}
+
+%D \macros
%D {fontstylesuffix}
%D
-%D The next macro is used to map non latin fontnames on
-%D fonts. See \type {font-uni} for an example of its use.
+%D The next macro is used to map non latin fontnames on
+%D fonts. See \type {font-uni} for an example of its use.
\def\fontstylesuffix%
- {\ifnum\fam=\tffam \s!Regular \else
+ {\ifnum\fam=\tffam \s!Regular \else
\ifnum\fam=\bffam \s!Bold \else
\ifnum\fam=\slfam \s!Slanted \else
\ifnum\fam=\itfam \s!Italic \else
@@ -3516,28 +3635,28 @@
\def\xi{\ifmmode\normalxi\else\elevenpoint\fi}
-%D By default we load the Computer Modern Roman fonts (but
-%D not yet at this moment) and activate the 12pt roman
-%D bodyfont. Sans serif and teletype are also available and
-%D can be called for by \type{\ss} and \type{\tt}.
+%D By default we load the Computer Modern Roman fonts (but
+%D not yet at this moment) and activate the 12pt roman
+%D bodyfont. Sans serif and teletype are also available and
+%D can be called for by \type{\ss} and \type{\tt}.
-\readfile{font-exp.tex}{}{} % load local experiments
+\setupbodyfont [unk, rm]
-\setupbodyfont [unk, fil, rm]
+%D Also needed is:
-\protect
+\definefont[tinyfont][Mono at 1ex]
-\endinput
+\protect \endinput
-%D Some unused left||overs:
-%D
+%D Some unused left||overs:
+%D
%D \starttypen
%D \def\doiffontpresentelse#1#2#3%
%D {\bgroup
%D \batchmode\font\dummy=\truefontname{#1}\errorstopmode
%D \edef\lastfontname{\fontname\dummy}%
%D \ifx\lastfontname\nullfontname\egroup#3\else\egroup#2\fi}
-%D
+%D
%D \def\abortiffontnotfound#1%
%D {\doiffontpresentelse{#1}{}{\showmessage{\m!fonts}{10}{\truefontname{#1}}\endinput}}
%D \stoptypen
diff --git a/tex/context/base/font-lbr.tex b/tex/context/base/font-lbr.tex
deleted file mode 100644
index d29ae6260..000000000
--- a/tex/context/base/font-lbr.tex
+++ /dev/null
@@ -1,302 +0,0 @@
-%D \module
-%D [ file=font-lbr,
-%D version=1995.1.1,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Lucida Bright,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D The Lucida Bright fonts are both good looking and and
-%D complete. These fonts have prebuilt accented characters,
-%D which means that we use another encoding vector: \YandY\
-%D texnansi. These fonts are a good illustration that a 12
-%D point bodyfont is indeed never that size. The Lucida Bright
-%D fonts come in one design size.
-
-\definefontsynonym [Serif] [LucidaBright]
-\definefontsynonym [SerifBold] [LucidaBright-Demi]
-\definefontsynonym [SerifItalic] [LucidaBright-Italic]
-\definefontsynonym [SerifSlanted] [LucidaBright-Oblique]
-\definefontsynonym [SerifBoldItalic] [LucidaBright-DemiItalic]
-\definefontsynonym [SerifBoldSlanted] [LucidaBright-DemiItalic]
-\definefontsynonym [SerifCaps] [LucidaBrightSmallcaps]
-
-\definefontsynonym [Sans] [LucidaSans]
-\definefontsynonym [SansBold] [LucidaSans-Demi]
-\definefontsynonym [SansItalic] [LucidaSans-Italic]
-\definefontsynonym [SansSlanted] [LucidaSans-Italic]
-\definefontsynonym [SansBoldItalic] [LucidaSans-DemiItalic]
-\definefontsynonym [SansBoldSlanted] [LucidaSans-DemiItalic]
-\definefontsynonym [SansCaps] [LucidaSans]
-
-\definefontsynonym [Mono] [LucidaSans-Typewriter]
-\definefontsynonym [MonoBold] [LucidaSans-TypewriterBold]
-\definefontsynonym [MonoItalic] [LucidaSans-TypewriterOblique]
-\definefontsynonym [MonoSlanted] [LucidaSans-TypewriterOblique]
-\definefontsynonym [MonoBoldItalic] [LucidaSans-TypewriterBoldOblique]
-\definefontsynonym [MonoBoldSlanted] [LucidaSans-TypewriterBoldOblique]
-\definefontsynonym [MonoCaps] [LucidaSans-Typewriter]
-
-\definefontsynonym [MathRoman] [LucidaBright]
-\definefontsynonym [MathExtension] [LucidaNewMath-Extension]
-\definefontsynonym [MathItalic] [LucidaNewMath-AltItalic]
-\definefontsynonym [MathSymbol] [LucidaNewMath-Symbol]
-\definefontsynonym [MathAlpha] [LucidaNewMath-Arrows]
-
-\definefontsynonym [Handwriting] [LucidaHandwriting-Italic]
-\definefontsynonym [Calligraphy] [LucidaCalligraphy-Italic]
-
-\definefontsynonym [OldStyle] [MathItalic]
-
-\definebodyfont
- [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt]
- [rm,ss,tt,mm]
- [default]
-
-%D Some nice aditional ones.
-
-\definebodyfont
- [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt]
- [hw,cg]
- [default]
-
-%D The Lucida Bright TeleType font does not contain \TEX's
-%D visual space. The next definition offers an alternative.
-
-\def\controlspace% slow slow slow
- {\hbox to .5em
- {\font\next=cmtt10 at \bodyfontsize\next
- \hss\char32\hss}}
-
-% \def\controlspace%
-% {\hbox to .5em
-% {\hss
-% \vrule\!!width .1\dp\strutbox \!!height\!!zeropoint \!!depth .7\dp\strutbox
-% \vrule\!!width .4em\!!height -.6\dp\strutbox\!!depth .7\dp\strutbox
-% \vrule\!!width .1\dp\strutbox \!!height\!!zeropoint \!!depth .7\dp\strutbox
-% \hss}}
-
-%D Next we implement some alternatives for \AMS\ symbols.
-%D These can be overrules by loading the \AMS\ font module
-%D afterwards.
-
-\unprotect
-
-\mathchardef\blacktriangleleft ="01F0
-\mathchardef\blacktriangleright="01F1
-\mathchardef\boxtimes ="02EC
-
-%D Here I copied the definition file that is part of the
-%D \YandY\ distribution.
-
-%D \framed[breedte=\hsize]
-%D {Copyright (C) 1991 - 1993 \YandY, Inc. All Rights Reserved}
-
-%D This part of the definition is adapted bij J. Hagen. There
-%D is already an extra family: \type{\mafam} (Math A ). Also,
-%D the loading of fonts is done somewhere else.
-
-\let\arfam = \mafam
-\let\thearfam = \hexmafam
-
-%D This part is adapted to the \CONTEXT\ font||naming method.
-%D Also, we use \type{\setskewchar}, which activates the not
-%D yet loaded font.
-
-%D The next definitions are already taken care of.
-
-%D \starttypen
-%D % \setskewchar{12ptmmmi}='177
-%D % \setskewchar{11ptmmmi}='177
-%D % \setskewchar{10ptmmmi}='177
-%D % \setskewchar{9ptmmmi}='177
-%D % \setskewchar{8ptmmmi}='177
-%D % \setskewchar{7ptmmmi}='177
-%D % \setskewchar{6ptmmmi}='177
-%D % \setskewchar{5ptmmmi}='177
-%D \stoptypen
-
-%D \starttypen
-%D % \setskewchar{12ptmmsy}='60
-%D % \setskewchar{11ptmmsy}='60
-%D % \setskewchar{10ptmmsy}='60
-%D % \setskewchar{9ptmmsy}='60
-%D % \setskewchar{8ptmmsy}='60
-%D % \setskewchar{7ptmmsy}='60
-%D % \setskewchar{6ptmmsy}='60
-%D % \setskewchar{5ptmmsy}='60
-%D \stoptypen
-
-%D Adjusted for LucidaNewMath||Extension at 10pt and math axis
-%D at 3.13pt Note: delimiter increments are 5.5pt (as opposed
-%D to 6pt in \kap{CM}).
-
-%D Should these be adapted to \type {\bodyfontsize} ?
-
-\def\big #1{{\hbox{$\left#1\vbox to8.20\p@{}\right.\n@space$}}}
-\def\Big #1{{\hbox{$\left#1\vbox to10.80\p@{}\right.\n@space$}}}
-\def\bigg #1{{\hbox{$\left#1\vbox to13.42\p@{}\right.\n@space$}}}
-\def\Bigg #1{{\hbox{$\left#1\vbox to16.03\p@{}\right.\n@space$}}}
-\def\biggg #1{{\hbox{$\left#1\vbox to17.72\p@{}\right.\n@space$}}}
-\def\Biggg #1{{\hbox{$\left#1\vbox to21.25\p@{}\right.\n@space$}}}
-\def\n@space {\nulldelimiterspace\z@ \m@th}
-
-%D Define some extra large sizes. It's always done using
-%D extensible parts.
-
-\def\bigggl{\mathopen \biggg}
-\def\bigggr{\mathclose\biggg}
-\def\Bigggl{\mathopen \Biggg}
-\def\Bigggr{\mathclose\Biggg}
-
-%D The following is needed if the roman text font is {\em
-%D not} just \kap{LBR}.
-
-%D Draw the small sizes of $[$ and $]$ from \kap{LBMO} instead
-%D of \kap{LBR}.
-
-\mathcode`\[="4186 \delcode`\[="186302
-\mathcode`\]="5187 \delcode`\]="187303
-
-%D Draw the small sizes of $($ and $)$ from \kap{LBMO} instead
-%D of \kap{LBR}.
-
-\mathcode`\(="4184 \delcode`\(="184300
-\mathcode`\)="5185 \delcode`\)="185301
-
-%D The small sizes of $\{$ and $\}$ are already drawn from
-%D \kap{LBMS}.
-
-%D Draw small $/$ from \kap{LBMO} instead of \kap{LBR}.
-
-\mathcode`\/="013D \delcode`\/="13D30E
-
-%D Draw $=$ and $+$ from \kap{LBMS} instead of \kap{LBR}.
-
-% interferes with \mf settings
-%
-% \mathcode`\=="3283 \mathcode`\+="2282
-
-%D Make open face brackets accessible, i.e. [[ and ]].
-
-\def\ldbrack{\delimiter"4182382}
-\def\rdbrack{\delimiter"5183383}
-
-%D Provide access to surface integral signs (linked from text
-%D to display size).
-
-\mathchardef\surfintop="1390
-\def\surfint{\surfintop\nolimits}
-
-%D Make medium size integrals available ({\em not} linked to
-%D display size).
-
-\mathchardef\midintop="1392
-\def\midint{\midintop\nolimits}
-
-\mathchardef\midointop="1393
-\def\midoint{\midointop\nolimits}
-
-\mathchardef\midsurfintop="1394
-\def\midsurfint{\midsurfintop\nolimits}
-
-%D Extensible integral (use with \type{\bigg}, \type{\Bigg},
-%D \type{\biggg}, \type{\Biggg} etc).
-
-\def\largeint{\delimiter"135A395}
-
-%D Various types of small integrals.
-
-\mathchardef\dblint ="0188
-\mathchardef\trplint ="0189
-\mathchardef\contint ="018A
-\mathchardef\surfint ="018B
-\mathchardef\volint ="018C
-\mathchardef\clwint ="018D
-\mathchardef\cclwcint="018E
-\mathchardef\clwcint ="018F
-
-%D To close up gaps in special math characters constructed
-%D from pieces.
-
-\def\joinrel{\mathrel{\mkern-4mu}}
-
-%D Some characters that need construction in \kap{CM} exist
-%D complete in \kap{LBMO} or \kap{LBMS}.
-
-\mathchardef\bowtie="31F6
-\mathchardef\models="32EE
-\mathchardef\doteq ="32C9
-\mathchardef\cong ="329B
-\mathchardef\angle ="028B
-
-%D Some more characters.
-
-% \mathchardef\hbar ="0\thearfam 1B
-
-\mathchardef\hbar ="019D
-\mathchardef\neq ="3\thearfam 94
-\mathchardef\rightleftharpoons="3\thearfam 7A
-\mathchardef\leftrightharpoons="3\thearfam 79
-\mathchardef\hookleftarrow ="3\thearfam 3C
-\mathchardef\hookrightarrow ="3\thearfam 3E
-\mathchardef\mapsto ="3\thearfam 2C
-
-% \def\longmapsto{\mapstochar\longrightarrow}
-
-%D The ( is not large enough for strut in \kap{LBMO}.
-
-\def\mathstrut{\vphantom{f}}
-
-%D In $n$\hoog{th} root, don't want the $n$ to come too close
-%D to the radical.
-
-\def\r@@t#1#2%
- {\setbox\z@\hbox{$\m@th#1\sqrt{#2}$}
- \dimen@\ht\z@ \advance\dimen@-\dp\z@
- \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-7.5mu \box\z@}
-
-%D Draw upper case upright greek from LucidaNewMath||Extension.
-
-\mathchardef\Gamma ="03D0
-\mathchardef\Delta ="03D1
-\mathchardef\Theta ="03D2
-\mathchardef\Lambda ="03D3
-\mathchardef\Xi ="03D4
-\mathchardef\Pi ="03D5
-\mathchardef\Sigma ="03D6
-\mathchardef\Upsilon="03D7
-\mathchardef\Phi ="03D8
-\mathchardef\Psi ="03D9
-\mathchardef\Omega ="03DA
-
-%D Draw upper case italic greek from LucidaNewMath||Italic.
-
-\mathchardef\varGamma ="0100
-\mathchardef\varDelta ="0101
-\mathchardef\varTheta ="0102
-\mathchardef\varLambda ="0103
-\mathchardef\varXi ="0104
-\mathchardef\varPi ="0105
-\mathchardef\varSigma ="0106
-\mathchardef\varUpsilon="0107
-\mathchardef\varPhi ="0108
-\mathchardef\varPsi ="0109
-\mathchardef\varOmega ="010A
-
-%D \type{\matrix} is changed because \kap{LBMO} is not at 10pt.
-
-\def\matrix#1%
- {\null\,\vcenter{\normalbaselines\m@th
- \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
- \mathstrut\crcr\noalign{\kern-0.9\baselineskip}
- #1\crcr\mathstrut\crcr\noalign{\kern-0.9\baselineskip}}}\,}
-
-\protect
-
-\endinput
diff --git a/tex/context/base/font-map.tex b/tex/context/base/font-map.tex
index a124f63b9..a9eccba69 100644
--- a/tex/context/base/font-map.tex
+++ b/tex/context/base/font-map.tex
@@ -1,3 +1,5 @@
+% NOT YET ADAPTED TO THE NEW FONT MACROS
+
%D \module
%D [ file=font-map,
%D version=1998.3.13,
diff --git a/tex/context/base/font-pcr.tex b/tex/context/base/font-pcr.tex
deleted file mode 100644
index 1dbe06f10..000000000
--- a/tex/context/base/font-pcr.tex
+++ /dev/null
@@ -1,32 +0,0 @@
-%D \module
-%D [ file=font-pcr,
-%D version=1995.1.1,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Adobe Courier,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D This module defines the Standard Adobe Courier fonts.
-
-\definefontsynonym [Mono] [Courier]
-\definefontsynonym [MonoBold] [Courier-Bold]
-\definefontsynonym [MonoItalic] [Courier-Oblique]
-\definefontsynonym [MonoSlanted] [Courier-Oblique]
-\definefontsynonym [MonoBoldItalic] [Courier-BoldOblique]
-\definefontsynonym [MonoBoldSlanted] [Courier-BoldOblique]
-\definefontsynonym [MonoCaps] [Courier]
-
-\definebodyfont [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt] [tt] [default]
-
-%D The Courier font does not contain \TEX's visual space. The
-%D next definition offers an alternative at bodyfont size.
-
-\def\controlspace%
- {\hbox{\font\next=cmtt10 at \bodyfontsize\next\char32}}
-
-\endinput
diff --git a/tex/context/base/font-phv.tex b/tex/context/base/font-phv.tex
deleted file mode 100644
index 7a4a3c899..000000000
--- a/tex/context/base/font-phv.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-%D \module
-%D [ file=font-phv,
-%D version=1995.1.1,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Adobe Helvetica,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D This module defines the Standard Adobe Helvetica fonts.
-
-\definefontsynonym [Sans] [Helvetica]
-\definefontsynonym [SansBold] [Helvetica-Bold]
-\definefontsynonym [SansItalic] [Helvetica-Oblique]
-\definefontsynonym [SansSlanted] [Helvetica-Oblique]
-\definefontsynonym [SansBoldItalic] [Helvetica-BoldOblique]
-\definefontsynonym [SansBoldSlanted] [Helvetica-BoldOblique]
-\definefontsynonym [SansCaps] [Helvetica]
-
-\definebodyfont [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt] [ss] [default]
-
-\endinput
diff --git a/tex/context/base/font-plr.tex b/tex/context/base/font-plr.tex
deleted file mode 100644
index 3f4b2306d..000000000
--- a/tex/context/base/font-plr.tex
+++ /dev/null
@@ -1,130 +0,0 @@
-%D \module
-%D [ file=font-plr,
-%D version=1999.08.28,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Computer Modern Polish,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-% \definefontsynonym [Serif] [plr10] [encoding=pl0]
-% \definefontsynonym [SerifBold] [plbx10] [encoding=pl0]
-% \definefontsynonym [SerifItalic] [plti10] [encoding=pl0]
-% \definefontsynonym [SerifSlanted] [plsl10] [encoding=pl0]
-% \definefontsynonym [SerifBoldItalic] [plbxti10] [encoding=pl0]
-% \definefontsynonym [SerifBoldSlanted] [plbxsl10] [encoding=pl0]
-% \definefontsynonym [SerifCaps] [plr10] [encoding=pl0]
-%
-% \definefontsynonym [Sans] [plss10] [encoding=pl0]
-% \definefontsynonym [SansBold] [plssbx10] [encoding=pl0]
-% \definefontsynonym [SansItalic] [plssi10] [encoding=pl0]
-% \definefontsynonym [SansSlanted] [plssi10] [encoding=pl0]
-% \definefontsynonym [SansBoldItalic] [plssbx10] [encoding=pl0]
-% \definefontsynonym [SansBoldSlanted] [plssbx10] [encoding=pl0]
-% \definefontsynonym [SansCaps] [plss10] [encoding=pl0]
-%
-% \definefontsynonym [Mono] [pltt10] [encoding=pl0]
-% \definefontsynonym [MonoBold] [pltt10] [encoding=pl0]
-% \definefontsynonym [MonoItalic] [plitt10] [encoding=pl0]
-% \definefontsynonym [MonoSlanted] [plsltt10] [encoding=pl0]
-% \definefontsynonym [MonoBoldItalic] [pltt10] [encoding=pl0]
-% \definefontsynonym [MonoBoldSlanted] [pltt10] [encoding=pl0]
-% \definefontsynonym [MonoCaps] [pltt10] [encoding=pl0]
-%
-% \definefontsynonym [MathRoman] [plr10] [encoding=pl0]
-% \definefontsynonym [MathExtension] [cmex10]
-% \definefontsynonym [MathItalic] [cmmi10]
-% \definefontsynonym [MathSymbol] [cmsy10]
-%
-% \definefontsynonym [OldStyle] [MathItalic]
-%
-% \definebodyfont
-% [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt]
-% [rm,ss,tt,mm]
-% [default]
-
-\input font-cmr.tex
-
-\definefontsynonym [cmb10] [plb10] [encoding=pl0]
-\definefontsynonym [cmbsy10] [plbsy10] [encoding=pl0]
-\definefontsynonym [cmbx10] [plbx10] [encoding=pl0]
-\definefontsynonym [cmbx12] [plbx12] [encoding=pl0]
-\definefontsynonym [cmbx5] [plbx5] [encoding=pl0]
-\definefontsynonym [cmbx6] [plbx6] [encoding=pl0]
-\definefontsynonym [cmbx7] [plbx7] [encoding=pl0]
-\definefontsynonym [cmbx8] [plbx8] [encoding=pl0]
-\definefontsynonym [cmbx9] [plbx9] [encoding=pl0]
-\definefontsynonym [cmbxsl10] [plbxsl10] [encoding=pl0]
-\definefontsynonym [cmbxti10] [plbxti10] [encoding=pl0]
-\definefontsynonym [cmcsc10] [plcsc10] [encoding=pl0]
-\definefontsynonym [cmdunh10] [pldunh10] [encoding=pl0]
-\definefontsynonym [cmex10] [plex10] [encoding=pl0]
-\definefontsynonym [cmex9] [plex9] [encoding=pl0]
-\definefontsynonym [cmff10] [plff10] [encoding=pl0]
-\definefontsynonym [cmfi10] [plfi10] [encoding=pl0]
-\definefontsynonym [cmfib8] [plfib8] [encoding=pl0]
-\definefontsynonym [cminch] [plinch] [encoding=pl0]
-\definefontsynonym [cmitt10] [plitt10] [encoding=pl0]
-\definefontsynonym [cmmi10] [plmi10] [encoding=pl0]
-\definefontsynonym [cmmi12] [plmi12] [encoding=pl0]
-\definefontsynonym [cmmi5] [plmi5] [encoding=pl0]
-\definefontsynonym [cmmi6] [plmi6] [encoding=pl0]
-\definefontsynonym [cmmi7] [plmi7] [encoding=pl0]
-\definefontsynonym [cmmi8] [plmi8] [encoding=pl0]
-\definefontsynonym [cmmi9] [plmi9] [encoding=pl0]
-\definefontsynonym [cmmib10] [plmib10] [encoding=pl0]
-\definefontsynonym [cmr10] [plr10] [encoding=pl0]
-\definefontsynonym [cmr12] [plr12] [encoding=pl0]
-\definefontsynonym [cmr17] [plr17] [encoding=pl0]
-\definefontsynonym [cmr5] [plr5] [encoding=pl0]
-\definefontsynonym [cmr6] [plr6] [encoding=pl0]
-\definefontsynonym [cmr7] [plr7] [encoding=pl0]
-\definefontsynonym [cmr8] [plr8] [encoding=pl0]
-\definefontsynonym [cmr9] [plr9] [encoding=pl0]
-\definefontsynonym [cmsl10] [plsl10] [encoding=pl0]
-\definefontsynonym [cmsl12] [plsl12] [encoding=pl0]
-\definefontsynonym [cmsl8] [plsl8] [encoding=pl0]
-\definefontsynonym [cmsl9] [plsl9] [encoding=pl0]
-\definefontsynonym [cmsltt10] [plsltt10] [encoding=pl0]
-\definefontsynonym [cmss10] [plss10] [encoding=pl0]
-\definefontsynonym [cmss12] [plss12] [encoding=pl0]
-\definefontsynonym [cmss17] [plss17] [encoding=pl0]
-\definefontsynonym [cmss8] [plss8] [encoding=pl0]
-\definefontsynonym [cmss9] [plss9] [encoding=pl0]
-\definefontsynonym [cmssbi10] [plssbi10] [encoding=pl0]
-\definefontsynonym [cmssbx10] [plssbx10] [encoding=pl0]
-\definefontsynonym [cmssdc10] [plssdc10] [encoding=pl0]
-\definefontsynonym [cmssi10] [plssi10] [encoding=pl0]
-\definefontsynonym [cmssi12] [plssi12] [encoding=pl0]
-\definefontsynonym [cmssi17] [plssi17] [encoding=pl0]
-\definefontsynonym [cmssi8] [plssi8] [encoding=pl0]
-\definefontsynonym [cmssi9] [plssi9] [encoding=pl0]
-\definefontsynonym [cmssq8] [plssq8] [encoding=pl0]
-\definefontsynonym [cmssqi8] [plssqi8] [encoding=pl0]
-\definefontsynonym [cmsy10] [plsy10] [encoding=pl0]
-\definefontsynonym [cmsy5] [plsy5] [encoding=pl0]
-\definefontsynonym [cmsy6] [plsy6] [encoding=pl0]
-\definefontsynonym [cmsy7] [plsy7] [encoding=pl0]
-\definefontsynonym [cmsy8] [plsy8] [encoding=pl0]
-\definefontsynonym [cmsy9] [plsy9] [encoding=pl0]
-\definefontsynonym [cmtcsc10] [pltcsc10] [encoding=pl0]
-\definefontsynonym [cmtex10] [pltex10] [encoding=pl0]
-\definefontsynonym [cmtex8] [pltex8] [encoding=pl0]
-\definefontsynonym [cmtex9] [pltex9] [encoding=pl0]
-\definefontsynonym [cmti10] [plti10] [encoding=pl0]
-\definefontsynonym [cmti12] [plti12] [encoding=pl0]
-\definefontsynonym [cmti7] [plti7] [encoding=pl0]
-\definefontsynonym [cmti8] [plti8] [encoding=pl0]
-\definefontsynonym [cmti9] [plti9] [encoding=pl0]
-\definefontsynonym [cmtt10] [pltt10] [encoding=pl0]
-\definefontsynonym [cmtt12] [pltt12] [encoding=pl0]
-\definefontsynonym [cmtt8] [pltt8] [encoding=pl0]
-\definefontsynonym [cmtt9] [pltt9] [encoding=pl0]
-\definefontsynonym [cmu10] [plu10] [encoding=pl0]
-\definefontsynonym [cmvtt10] [plvtt10] [encoding=pl0]
-
-\endinput
diff --git a/tex/context/base/font-pos.tex b/tex/context/base/font-pos.tex
deleted file mode 100644
index 7894110e7..000000000
--- a/tex/context/base/font-pos.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-%D \module
-%D [ file=font-pos,
-%D version=1995.1.1,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Standard Postscript,
-%D author=J. Hagen,
-%D date=\currentdate,
-%D copyright=J. Hagen]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D This file load the Adobe Times Roman, Helvetica and
-%D Courier.
-
-\input font-ptm
-\input font-phv
-\input font-pcr
-
-\endinput
diff --git a/tex/context/base/font-ppl.tex b/tex/context/base/font-ppl.tex
deleted file mode 100644
index 9bd34ba35..000000000
--- a/tex/context/base/font-ppl.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-%D \module
-%D [ file=font-ppl,
-%D version=2000.3.17,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Palatino,
-%D author=J. Hagen,
-%D date=\currentdate,
-%D copyright=J. Hagen]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D This file load the Palatino.
-
-\definefontsynonym [Serif] [Palatino-Roman]
-\definefontsynonym [SerifBold] [Palatino-Bold]
-\definefontsynonym [SerifItalic] [Palatino-Italic]
-\definefontsynonym [SerifSlanted] [Palatino-Slanted]
-\definefontsynonym [SerifBoldItalic] [Palatino-BoldItalic]
-\definefontsynonym [SerifBoldSlanted] [Palatino-BoldSlanted]
-\definefontsynonym [SerifCaps] [Palatino-Roman]
-
-\definebodyfont [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt] [rm] [default]
-
-\endinput
diff --git a/tex/context/base/font-ptm.tex b/tex/context/base/font-ptm.tex
deleted file mode 100644
index d5ef35dab..000000000
--- a/tex/context/base/font-ptm.tex
+++ /dev/null
@@ -1,26 +0,0 @@
-%D \module
-%D [ file=font-ptm,
-%D version=1995.1.1,
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Adobe Times Roman,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-%D This module defines the Standard Adobe Times Roman.
-
-\definefontsynonym [Serif] [Times-Roman]
-\definefontsynonym [SerifBold] [Times-Bold]
-\definefontsynonym [SerifItalic] [Times-Italic]
-\definefontsynonym [SerifSlanted] [Times-Italic]
-\definefontsynonym [SerifBoldItalic] [Times-BoldItalic]
-\definefontsynonym [SerifBoldSlanted] [Times-BoldItalic]
-\definefontsynonym [SerifCaps] [Times-Roman]
-
-\definebodyfont [14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt] [rm] [default]
-
-\endinput
diff --git a/tex/context/base/font-run.tex b/tex/context/base/font-run.tex
new file mode 100644
index 000000000..cc1beccc8
--- /dev/null
+++ b/tex/context/base/font-run.tex
@@ -0,0 +1,221 @@
+%D \module
+%D [ file=font-run,
+%D version=1998.09.11, % (second)
+%D version=2001.02.20, % (third)
+%D title=\CONTEXT\ Font Macros,
+%D subtitle=Runtime Macros,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D [This code is hooked into the core macros and saves some
+%D format space.]
+
+\unprotect
+
+\gdef\dosetshowfonttitle#1%
+ {\tabskip\!!zeropoint
+ \parindent\!!zeropoint
+ \setlocalhsize
+ \doifelsenothing{#1}
+ {\def\title{[\the\korpsgrootte]}}
+ {\switchtobodyfont[#1]\def\title{[#1]}}
+ \doifsomething{\fontclass}
+ {\doifnot{[\fontclass]}{\title}
+ {\edef\title{[\fontclass]\space\title}}}}
+
+\gdef\showbodyfont%
+ {\dosingleempty\doshowbodyfont}
+
+\gdef\doshowbodyfont[#1]%
+ {\startbaselinecorrection
+ \vbox
+ {\dosetshowfonttitle{#1}%
+ \def\bigstrut##1##2%
+ {\hbox{\vrule
+ \!!height ##1\ht\strutbox
+ \!!depth ##2\dp\strutbox
+ \!!width \!!zeropoint}}
+ \def\next##1##2##3%
+ {&&##1&&##2\tf##3&&##2\sc##3%
+ &&##2\sl##3&&##2\it##3&&##2\bf##3&&##2\bs##3&&##2\bi##3%
+ &&##2\tfx##3&&##2\tfxx##3%
+ &&##2\tfa##3&&##2\tfb##3&&##2\tfc##3&&##2\tfd##3&\cr}%
+ \halign to \localhsize
+ {\bigstrut{1.5}{2}##&\vrule##
+ \tabskip=\!!zeropoint \!!plus 1fill
+ &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
+ &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
+ &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
+ &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
+ &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
+ &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
+ &\hfil##\hfil&\vrule##&\hfil##\hfil&##\vrule
+ \tabskip=\!!zeropoint\cr
+ \noalign{\hrule}
+ &\multispan{29}{\vrule\hfil\tttf\strut\title\hfil\vrule}\cr
+ \noalign{\hrule}\next{}{\tt\string}{}
+ \noalign{\hrule}\next{\tt\string\rm}{\rm}{Ag}
+ \noalign{\hrule}\next{\tt\string\ss}{\ss}{Ag}
+ \noalign{\hrule}\next{\tt\string\tt}{\tt}{Ag}
+ \noalign{\hrule}\next{\tt\string$}{$}{Ag$}
+ \noalign{\hrule}}}
+ \stopbaselinecorrection}
+
+\gdef\showbodyfontenvironment%
+ {\dosingleempty\doshowbodyfontenvironment}
+
+\gdef\doshowbodyfontenvironment[#1]%
+ {\startbaselinecorrection
+ \vbox
+ {\dosetshowfonttitle{#1}%
+ \def\next##1%
+ {&&\getvalue{\bodyfontvariable{##1\s!text}}%
+ &&\getvalue{\bodyfontvariable{##1\s!script}}%
+ &&\getvalue{\bodyfontvariable{##1\s!scriptscript}}%
+ &&\getvalue{\bodyfontvariable{##1\c!x}}%
+ &&\getvalue{\bodyfontvariable{##1\c!xx}}%
+ &&\getvalue{\bodyfontvariable{##1\interfaced\v!klein}}%
+ &&\getvalue{\bodyfontvariable{##1\interfaced\v!groot}}%
+ &&\getvalue{\bodyfontvariable{##1\c!interlinie}}&\cr
+ \noalign{\hrule}}
+ \halign to \localhsize
+ {##&\vrule##\strut
+ \tabskip=\!!zeropoint \!!plus 1fill
+ &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
+ &\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##&\hfil##\hfil&\vrule##
+ &\hfil##\hfil&\vrule##&\hfil##\hfil&##\vrule
+ \tabskip=\!!zeropoint\cr
+ \noalign{\hrule}
+ &\multispan{17}{\vrule\hfil\tttf\strut\title\hfil}\vrule\cr
+ \noalign{\hrule}
+ &&\tttf\tx\s!text&&\tttf\tx\s!script&&\tttf\tx\s!scriptscript
+ &&\tttf\tx\c!x&&\tttf\tx\c!xx&&\tttf\tx\v!klein&&\tttf\tx\v!groot
+ &&\tttf\tx\c!interlinie&\cr
+ \noalign{\hrule}
+ \@EA\globalprocesscommalist\@EA[\bodyfontenvironmentlist]\next}}
+ \stopbaselinecorrection}
+
+\gdef\showfont%
+ {\dosingleempty\doshowfont}
+
+\beginTEX \iffontchar
+
+\gdef\iffontchar#1#2{\iftrue}
+
+\endTEX
+
+\gdef\doshowfont[#1]%
+ {\bgroup
+ \setupcolors[\c!status=\v!lokaal]%
+ \iffirstargument
+ \definefont[\s!dummy][#1]\dummy
+ \else\ifdim2.5em>.05\hsize \tx
+ \ifdim2.5em>.05\hsize \txx
+ \fi\fi\fi
+ \startbaselinecorrection
+ \vbox\bgroup
+ \forgetall
+ \startoverlay
+ {\vbox
+ {\tf \setstrut \dummy
+ \localcolortrue \offinterlineskip
+ \dostepwiserecurse{0}{15}{1}
+ {\let\row\recurselevel
+ \hbox
+ {\red
+ \dostepwiserecurse{0}{15}{1}
+ {\let\col\recurselevel
+ \scratchcounter="\hexnumber\row\hexnumber\col\relax
+\iffontchar\font\scratchcounter
+ \setbox\scratchbox\ruledhbox{\black\char\scratchcounter}%
+ \ifdim\wd\scratchbox>\!!zeropoint\relax
+ \donetrue \else \donefalse
+ \fi
+\else
+ \setbox\scratchbox\hbox{\gray\vrule\!!width1ex\!!height.5ex\!!depth.5ex}%
+\fi
+ \startoverlay
+ {\tf\vbox to 2.5em
+ {\vss
+ \hbox to 2.5em
+ {\dummy\ifdim\fontdimen2\font=\!!zeropoint
+\setbox\scratchbox=\hbox
+ {\raise.5\dp\scratchbox\hbox
+ {\lower.5\ht\scratchbox\copy\scratchbox}}%
+ \ht\scratchbox\!!zeropoint
+ \dp\scratchbox\!!zeropoint
+ \else
+ \ht\scratchbox\ht\strutbox
+ \dp\scratchbox\dp\strutbox
+ \strut
+ \fi
+ \hss\copy\scratchbox\hss}
+ \vss}}
+ {\tf\vbox to 2.3em
+ {\ifdone
+ \blue \hsize2.4em
+ \edef\ascii
+ {\ifnum\hyphenchar\font=\scratchcounter
+ hyph%
+ \else\ifnum\skewchar\font=\scratchcounter
+ skew%
+ \fi\fi}%
+ \tinyfont
+ {\red\ascii}\hfill
+ \number\scratchcounter
+ \vfill
+ \octnumber\scratchcounter\hfill
+ \lchexnumbers\scratchcounter\par
+ \fi}}
+ \stopoverlay}}}
+ \par}}
+ {\tf\rooster[\c!nx=16,\c!ny=16,\c!dx=2.5,\c!dy=2.5,\c!eenheid=em]}
+ \stopoverlay
+ \nointerlineskip
+ \vskip2pt
+ \edef\ascii
+ {name:~{\black\fontname\font}\quad
+ encoding:~{\black\currentencoding}\quad
+ mapping:~{\black\currentmapping}\quad
+ handling:~{\black\fonthandling}}%
+ \tf\hbox to 40em
+ {\blue\hfill\tinyfont\setstrut\strut\ascii}
+ \egroup
+ \stopbaselinecorrection
+ \egroup}
+
+\gdef\showfontstyle%
+ {\dotripleempty\doshowfontstyle}
+
+\gdef\doshowfontstyle[#1][#2][#3]%
+ {\ifthirdargument
+ \bgroup
+ \raggedright
+ \switchtobodyfont[#1]
+ \def\dodocommando##1##2%
+ {\starttextrule{\tttf #1 ##1 ##2}
+ \nobreak \getvalue{##2}%
+ \dorecurse{255}
+ {\iffontchar\font\recurselevel\relax
+ \char\recurselevel\relax\space
+ \fi}
+ \par \nobreak
+ \stoptextrule}
+ \def\docommando##1%
+ {\getvalue{##1}\processcommacommand[#3]{\dodocommando{##1}}}
+ \processcommalist[#2]\docommando
+ \egroup
+ \else\ifsecondargument
+ \showfontstyle[#1][#2][\alternativetextlist]%
+ \doif{#2}{\c!mm}{\showfontstyle[#1][#2][\alternativemathlist]}%
+ \else
+ \showfontstyle[#1][\c!rm]\showfontstyle[#1][\c!ss]
+ \showfontstyle[#1][\c!tt]\showfontstyle[#1][\c!mm]
+ \fi\fi}
+
+\protect \endinput
diff --git a/tex/context/base/font-unk.tex b/tex/context/base/font-unk.tex
index f230b7a43..2f2cf1695 100644
--- a/tex/context/base/font-unk.tex
+++ b/tex/context/base/font-unk.tex
@@ -45,8 +45,21 @@
\definefontsynonym [MathItalic] [unknown]
\definefontsynonym [MathSymbol] [unknown]
+\definefontsynonym [MathNoName] [unknown]
+
\definefontsynonym [MathAlpha] [unknown]
\definefontsynonym [MathBeta] [unknown]
+\definefontsynonym [MathGamma] [unknown]
+\definefontsynonym [MathDelta] [unknown]
+
+\definefontsynonym [MathRomanBold] [MathRoman]
+\definefontsynonym [MathExtensionBold] [MathExtension]
+\definefontsynonym [MathItalicBold] [MathItalic]
+\definefontsynonym [MathSymbolBold] [MathSymbol]
+\definefontsynonym [MathAlphaBold] [MathAlpha]
+\definefontsynonym [MathBetaBold] [MathBeta]
+\definefontsynonym [MathGammaBold] [MathGamma]
+\definefontsynonym [MathDeltaBold] [MathDelta]
\definefontsynonym [Handwriting] [unknown]
\definefontsynonym [Calligraphic] [unknown]
@@ -87,142 +100,62 @@
\definefontsynonym [TypeBoldSlanted] [MonoBoldSlanted]
\definefontsynonym [TypeCaps] [MonoCaps]
-% To be added: Handwriting, Calligraphic
-
%D Next we define roman, sans and monospaced font sets.
\definebodyfont [default] [rm]
- [ tf=Serif sa 1,
- tfa=Serif sa a,
- tfb=Serif sa b,
- tfc=Serif sa c,
- tfd=Serif sa d,
- bf=SerifBold sa 1,
- bfa=SerifBold sa a,
- bfb=SerifBold sa b,
- bfc=SerifBold sa c,
- bfd=SerifBold sa d,
- it=SerifItalic sa 1,
- ita=SerifItalic sa a,
- itb=SerifItalic sa b,
- itc=SerifItalic sa c,
- itd=SerifItalic sa d,
- sl=SerifSlanted sa 1,
- sla=SerifSlanted sa a,
- slb=SerifSlanted sa b,
- slc=SerifSlanted sa c,
- sld=SerifSlanted sa d,
- bi=SerifBoldItalic sa 1,
- bia=SerifBoldItalic sa a,
- bib=SerifBoldItalic sa b,
- bic=SerifBoldItalic sa c,
- bid=SerifBoldItalic sa d,
- bs=SerifBoldSlanted sa 1,
- bsa=SerifBoldSlanted sa a,
- bsb=SerifBoldSlanted sa b,
- bsc=SerifBoldSlanted sa c,
- bsd=SerifBoldSlanted sa d,
- sc=SerifCaps sa 1,
- sca=SerifCaps sa a,
- scb=SerifCaps sa b,
- scc=SerifCaps sa c,
- scd=SerifCaps sa d]
+ [tf=Serif sa 1,
+ bf=SerifBold sa 1,
+ it=SerifItalic sa 1,
+ sl=SerifSlanted sa 1,
+ bi=SerifBoldItalic sa 1,
+ bs=SerifBoldSlanted sa 1,
+ sc=SerifCaps sa 1]
\definebodyfont [default] [ss]
- [ tf=Sans sa 1,
- tfa=Sans sa a,
- tfb=Sans sa b,
- tfc=Sans sa c,
- tfd=Sans sa d,
- bf=SansBold sa 1,
- bfa=SansBold sa a,
- bfb=SansBold sa b,
- bfc=SansBold sa c,
- bfd=SansBold sa d,
- it=SansItalic sa 1,
- ita=SansItalic sa a,
- itb=SansItalic sa b,
- itc=SansItalic sa c,
- itd=SansItalic sa d,
- sl=SansSlanted sa 1,
- sla=SansSlanted sa a,
- slb=SansSlanted sa b,
- slc=SansSlanted sa c,
- sld=SansSlanted sa d,
- bi=SansBoldItalic sa 1,
- bia=SansBoldItalic sa a,
- bib=SansBoldItalic sa b,
- bic=SansBoldItalic sa c,
- bid=SansBoldItalic sa d,
- bs=SansBoldSlanted sa 1,
- bsa=SansBoldSlanted sa a,
- bsb=SansBoldSlanted sa b,
- bsc=SansBoldSlanted sa c,
- bsd=SansBoldSlanted sa d,
- sc=SansCaps sa 1,
- sca=SansCaps sa a,
- scb=SansCaps sa b,
- scc=SansCaps sa c,
- scd=SansCaps sa d]
+ [tf=Sans sa 1,
+ bf=SansBold sa 1,
+ it=SansItalic sa 1,
+ sl=SansSlanted sa 1,
+ bi=SansBoldItalic sa 1,
+ bs=SansBoldSlanted sa 1,
+ sc=SansCaps sa 1]
\definebodyfont [default] [tt]
- [ tf=Mono sa 1,
- tfa=Mono sa a,
- tfb=Mono sa b,
- tfc=Mono sa c,
- tfd=Mono sa d,
- bf=MonoBold sa 1,
- bfa=MonoBold sa a,
- bfb=MonoBold sa b,
- bfc=MonoBold sa c,
- bfd=MonoBold sa d,
- it=MonoItalic sa 1,
- ita=MonoItalic sa a,
- itb=MonoItalic sa b,
- itc=MonoItalic sa c,
- itd=MonoItalic sa d,
- sl=MonoSlanted sa 1,
- sla=MonoSlanted sa a,
- slb=MonoSlanted sa b,
- slc=MonoSlanted sa c,
- sld=MonoSlanted sa d,
- bi=MonoBoldItalic sa 1,
- bia=MonoBoldItalic sa a,
- bib=MonoBoldItalic sa b,
- bic=MonoBoldItalic sa c,
- bid=MonoBoldItalic sa d,
- bs=MonoBoldSlanted sa 1,
- bsa=MonoBoldSlanted sa a,
- bsb=MonoBoldSlanted sa b,
- bsc=MonoBoldSlanted sa c,
- bsd=MonoBoldSlanted sa d,
- sc=MonoCaps sa 1,
- sca=MonoCaps sa a,
- scb=MonoCaps sa b,
- scc=MonoCaps sa c,
- scd=MonoCaps sa d]
+ [tf=Mono sa 1,
+ bf=MonoBold sa 1,
+ it=MonoItalic sa 1,
+ sl=MonoSlanted sa 1,
+ bi=MonoBoldItalic sa 1,
+ bs=MonoBoldSlanted sa 1,
+ sc=MonoCaps sa 1]
\definebodyfont [default] [mm]
[mr=MathRoman mo 1,
ex=MathExtension mo 1,
mi=MathItalic mo 1,
sy=MathSymbol mo 1,
+ nn=MathNoName mo 1,
ma=MathAlpha mo 1,
- mb=MathBeta mo 1]
+ mb=MathBeta mo 1,
+ mc=MathGamma mo 1,
+ md=MathDelta mo 1]
+
+\definebodyfont
+ [boldmath] [mm]
+ [mrbf=MathRomanBold mo 1,
+ exbf=MathExtensionBold mo 1,
+ mibf=MathItalicBold mo 1,
+ sybf=MathSymbolBold mo 1,
+ mabf=MathAlphaBold mo 1,
+ mbbf=MathBetaBold mo 1,
+ mcbf=MathGammaBold mo 1,
+ mdbf=MathDeltaBold mo 1]
\definebodyfont [default] [hw]
- [ tf=Handwriting sa 1,
- tfa=Handwriting sa a,
- tfb=Handwriting sa b,
- tfc=Handwriting sa c,
- tfd=Handwriting sa d]
+ [tf=Handwriting sa 1]
\definebodyfont [default] [cg]
- [ tf=Calligraphy sa 1,
- tfa=Calligraphy sa a,
- tfb=Calligraphy sa b,
- tfc=Calligraphy sa c,
- tfd=Calligraphy sa d]
+ [tf=Calligraphy sa 1]
%D These definitions come into action as soon as names are
%D mapped onto real file names (or names that themselves are
diff --git a/tex/context/base/font-vnr.tex b/tex/context/base/font-vnr.tex
index 67bdbebe1..d9e4a3b67 100644
--- a/tex/context/base/font-vnr.tex
+++ b/tex/context/base/font-vnr.tex
@@ -1,3 +1,5 @@
+% NOT YET ADAPTED TO THE NEW FONT MACROS
+
%D \module
%D [ file=font-vnr,
%D version=1999.12.12,
@@ -11,6 +13,8 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
+% to do
+
\definefontsynonym [Serif] [vnb10] [encoding=x5]
\definefontsynonym [SerifBold] [vnb10] [encoding=x5]
\definefontsynonym [SerifItalic] [vnb10] [encoding=x5]
diff --git a/tex/context/base/lang-ini.tex b/tex/context/base/lang-ini.tex
index 2654d7087..f582af230 100644
--- a/tex/context/base/lang-ini.tex
+++ b/tex/context/base/lang-ini.tex
@@ -294,16 +294,16 @@
\def\doloadpatterns#1#2%
{\expanded{\getcommacommandsize[\getvalue{\??la#2\s!encoding}]}%
\ifnum\commalistsize>0
-\message{[nofpatterns #2: \commalistsize/\getvalue{\??la#2\s!encoding}]}%
+ %\message{[nofpatterns #2: \commalistsize/\getvalue{\??la#2\s!encoding}]}%
\dorecurse\commalistsize
{\expanded{\getfromcommacommand[\getvalue{\??la#2\s!encoding}][\recurselevel]}%
\let\patternencoding\commalistelement
\expanded{\getfromcommacommand[\getvalue{\??la#2\s!mapping }][\recurselevel]}%
\let\patternmapping \commalistelement
-\message{[patterns: #1/#2/\patternencoding/\patternmapping]}%
+ %\message{[patterns: #1/#2/\patternencoding/\patternmapping]}%
\dodoloadpatterns{#1}{#2}\patternencoding\patternmapping}%
\else
-\message{[patterns: #1/#2]}%
+ %\message{[patterns: #1/#2]}%
\dodoloadpatterns{#1}{#2}{}{}%
\fi}
diff --git a/tex/context/base/main-001.tex b/tex/context/base/main-001.tex
index 51a86e887..65abc611e 100644
--- a/tex/context/base/main-001.tex
+++ b/tex/context/base/main-001.tex
@@ -15,24 +15,6 @@
\writestatus{loading}{Context Core Macros (1)}
-\newevery \everybodyfont \Everybodyfont % just to be sure
-
-\appendtoks \presetnormallineheight \to \everybodyfont
-\appendtoks \setnormalbaselines \to \everybodyfont
-\appendtoks \setstrut \to \everybodyfont
-\appendtoks \settopskip \to \everybodyfont
-\appendtoks \setmaxdepth \to \everybodyfont
-\appendtoks \stelinspringenin \to \everybodyfont
-\appendtoks \stelblankoin \to \everybodyfont
-\appendtoks \stelwitruimtein \to \everybodyfont
-%\appendtoks\setupfootnotes \to \everybodyfont
-\appendtoks \stelspatieringin \to \everybodyfont % nieuw
-\appendtoks \setdisplayskips \to \everybodyfont % nieuw
-
-% \appendtoks .. \to \everypar
-% \appendtoks .. \to \everypar
-% \appendtoks .. \to \everypar
-
% kan elders ook worden gebruikt i.i.g ongeveer
% \v!tekst EN \c!tekst etc checken
@@ -504,202 +486,6 @@
\s!default=>{\dodoglobal\convertargument#2\to#3},
\s!unknown=>{\dodoglobal\convertargument#2\to#3}]}
-% om problemen te voorkomen:
-%
-% \ascii => \@@ascii@@
-% \asciiA => \@@ascii@@A
-% \asciiB => \@@ascii@@B
-
-% Nodig i.v.m. inspringen eerste alineas
-
-\def\explicithmode%
- {\unhbox\voidb@x}
-
-% Nodig voor gebruikers
-
-\def\geentest{\donottest}
-
-% Dit moet nog ergens een plaats krijgen:
-
-\def\stelfactorenin%
- {\stelwitruimtein
- \stelblankoin
- \settopskip
- \setmaxdepth}
-
-% Nog doen:
-%
-% \goodbreak -> \allowbreak en \dosomebreak{..} in koppen
-%
-% bij koppen zowieso: \blanko[reset]
-
-% Nog in commando verwerken:
-%
-% \voorkeur … la \blanko
-%
-% Om ongewenste witruimte te voorkomen kan met \dosomebreak{\break}
-% een \penalty v¢¢r witruimte worden geplaatst.
-
-\def\removelastskip% a redefinition of plain
- {\ifvmode\ifdim\lastskip=\z@\else\vskip-\lastskip\fi\fi}
-
-\def\dosomebreak#1%
- {\skip0=\lastskip
- \removelastskip
- %\type{#1}%
- #1\relax
- \ifdim\skip0=\!!zeropoint
- \else
- \vskip\skip0
- \fi}
-
-% beter, vooral in \vbox; nog in \pagina toepassen s!
-
-\def\doifoutervmode#1%
- {\ifvmode\ifinner\else#1\fi\fi}
-
-\def\dosomebreak#1%
- {\doifoutervmode
- {\skip0=\lastskip
- \removelastskip
- %\leavevmode\type{#1}%
- #1\relax
- \ifdim\skip0=\!!zeropoint % else interference with footnotes
- \else
- \vskip\skip0
- \fi}}
-
-% Idem:
-%
-% \springin
-
-%\def\noindentation% vervallen
-% {\EveryPar
-% {\ifdim\parindent=\!!zeropoint
-% \else
-% \bgroup
-% \setbox0=\lastbox
-% \egroup
-% \fi
-% \EveryPar{}}}
-
-\newif\ifindentation \indentationtrue % documenteren, naar buiten
-
-\let\checkindentation=\relax
-
-\def\donoindentation%
- {\ifdim\parindent=\!!zeropoint
- \else
- \bgroup
- \setbox0=\lastbox
- \egroup
- \fi}
-
-\def\noindentation% made global
- {\ifinpagebody \else
- \global\indentationfalse
- \gdef\checkindentation%
- {\donoindentation
- \gdef\checkindentation{\global\indentationtrue}}%
- \fi}
-
-\def\nonoindentation% bv bij floats
- {\ifinpagebody \else
- \global\indentationtrue
- \gdef\checkindentation{\global\indentationtrue}%
- \fi}
-
-\def\indentation%
- {\ifvmode \ifdim\parindent=\!!zeropoint \else
- % was : \hskip\parindent
- % can be: \indent
- % but we test:
- \noindent\hskip\parindent
- \fi \fi}
-
-% vergeten
-
-\def\forgeteverypar%
- {\everypar{}}
-
-\def\forgeteverypar%
- {\everypar{\the\neverypar}}
-
-\def\forgetparindent%
- {\forgeteverypar
- \indentfirstparagraphtrue % recently added
- \stelinspringenin[\v!geen]}
-
-\def\forgetparskip%
- {\stelwitruimtein[\v!geen]}
-
-\def\forgetbothskips%
- {\tolerance=1500
- \leftskip\!!zeropoint
- \rightskip\!!zeropoint\relax}
-
-\def\forgetspacing%
- {\emergencystretch\!!zeropoint\relax}
-
-\def\forgetall%
- {\the\everyforgetall}
-
-\appendtoks \let\par\endgraf \to \everyforgetall % i.v.m. getpar etc
-\appendtoks \notragged \to \everyforgetall
-\appendtoks \forgetparskip \to \everyforgetall
-\appendtoks \forgetparindent \to \everyforgetall
-\appendtoks \forgetbothskips \to \everyforgetall
-\appendtoks \forgetspacing \to \everyforgetall % i.v.m. funny spacing in pagebody
-\appendtoks \everypar\emptytoks \to \everyforgetall % indeed!
-
-\def\localvbox#1#%
- {\vbox#1\bgroup
- \forgetparskip
- \setlocalhsize
- \hsize=\localhsize
- \forgetparindent
- \forgetbothskips
- \forgeteverypar
- \let\next=}
-
-% ach ja
-
-\unexpanded\def\dostartattributes#1#2#3%
- {\begingroup % geen \bgroup, anders in mathmode lege \hbox
- \doifdefinedelse{#1#2}
- {\def\fontattribute{\getvalue{#1#2}}}
- {\let\fontattribute=\empty}%
- \doifdefinedelse{#1#3}
- {\def\colorattribute{\getvalue{#1#3}}}
- {\let\colorattribute=\empty}%
- \startcolor[\colorattribute]%
- \@EA\doconvertfont\@EA{\fontattribute}}
-
-\unexpanded\def\dostopattributes%
- {\stopcolor
- \endgroup}
-
-\unexpanded\def\doattributes#1#2#3#4%
- {\dostartattributes{#1}{#2}{#3}{#4}\dostopattributes}
-
-% kan vaker worden toegepast:
-
-\newskip\leftskipadaption
-
-\def\doadaptleftskip#1%
- {\dosetleftskipadaption{#1}%
- \advance\leftskip by \leftskipadaption}
-
-\def\dosetleftskipadaption#1%
- {\leftskipadaption\!!zeropoint
- \processaction[#1] % \ExpandFirstAfter
- [\v!standaard=>\leftskipadaption=
- \ifdim\voorwit=\!!zeropoint\@@sllinks\else\voorwit\fi,
- \v!ja=>\leftskipadaption=
- \ifdim\voorwit=\!!zeropoint\@@sllinks\else\voorwit\fi,
- \v!nee=>,
- \s!unknown=>\leftskipadaption=#1]}
-
\def\herhaal {\dorepeat}
\def\herhaler {\repeater}
\def\herhaalmetcommando {\dorepeatwithcommand}
@@ -790,345 +576,6 @@
\catcode`\^^L=\@@endofline
-\def\toonstruts%
- {\setteststrut}
-
-% Hieronder volgen enkele instellingen en macro's ten behoeve
-% van de interlinie en \strut. De waarden 2.8, 0.07, 0.72 en
-% 0.28 zijn ooit eens ontleend aan INRS-TEX en moeten wellicht
-% nog eens instelbaar worden.
-%
-% \lineheight : de hoogte van een regel
-% \spacing{getal} : instellen interlinie
-% \normalbaselines : instellen regelafstend
-%
-% \setstrut : instellen \strut
-% \setnostrut : resetten \strut, \endstrut, \begstrut
-%
-% \setteststrut : instellen zichtbare struts
-% \resetteststrut : instellen onzichtbare struts
-%
-% \setfontparameters : instellen na fontset
-%
-% De hoogte van een regel (\lineheight) is gelijk aan de
-% som van de hoogte (\ht) en diepte (\dp) van \strutbox.
-%
-% \strut : denkbeeldig blokje met hoogte en diepte
-%
-% Een \hbox kan als deze aan het begin van een regel staat
-% een breedte \hsize krijgen. Dit is soms te voorkomen met het
-% commando \leavevmode. Binnen een \vbox geeft dit echter
-% niet altijd het gewenste resultaat, vandaar het commando
-%
-% \leaveoutervmode
-
-% Pas op: niet zomaar \topskip en \baselineskip aanpassen
-% en zeker niet \widowpenalty. Dit kan ernstige gevolgen
-% hebben voor kolommen.
-%
-% Enige glue kan op zich geen kwaad, echter als blanko=vast,
-% dan moet ook de rek 0 zijn. Binnen kolommen is rek ook
-% niet bepaald mooi. Een hele kleine waarde (0.025) voldoet,
-% omdat een positieve glue eindeloos rekbaar is.
-
-\newdimen\strutdimen
-\newdimen\lineheight
-\newdimen\openlineheight
-\newdimen\openstrutheight
-\newdimen\openstrutdepth
-\def\strutheightfactor {.72}
-\def\strutdepthfactor {.28}
-
-\def\baselinefactor {2.8}
-\def\baselinegluefactor {0}
-
-\def\normallineheight {\baselinefactor ex}
-\def\minimallinedistance {\lineskip}
-
-\def\strutheight {0pt}
-\def\strutdepth {0pt}
-\def\strutwidth {0pt}
-
-\def\spacingfactor {1}
-
-\def\topskipfactor {1.0}
-\def\maxdepthfactor {0.5}
-
-\def\systemtopskipfactor {\topskipfactor}
-\def\systemmaxdepthfactor {\maxdepthfactor}
-
-% De onderstaande definitie wordt in de font-module overruled
-
-\ifx\globalbodyfontsize\undefined
- \newdimen\globalbodyfontsize
- \globalbodyfontsize=12pt
-\fi
-\ifx\normalizedbodyfontsize\undefined
- \def\normalizedbodyfontsize{12pt}
-\fi
-
-% door een \dimen. Dit is geen probleem omdat (1) de default
-% korpsgrootte 12pt is en (2) de fonts nog niet geladen zijn
-% en de instellingen bij het laden nogmaals plaatsvinden.
-
-\def\topskipcorrection%
- {\ifdim\topskip>\openstrutheight
- \vskip\topskip
- \vskip-\openstrutheight
- \fi
- \vbox{\strut}
- \vskip-\openlineheight}
-
-\def\settopskip% the extra test is needed for the lbr family
- {\topskip=\systemtopskipfactor\globalbodyfontsize
- \ifgridsnapping \else
- \ifr@ggedbottom\!!plus5\globalbodyfontsize\fi
- \fi
- \relax % the skip
- \ifdim\topskip<\strutheightfactor\openlineheight
- \topskip=\strutheightfactor\openlineheight\relax
- \fi}
-
-\def\setmaxdepth%
- {\maxdepth=\systemmaxdepthfactor\globalbodyfontsize}
-
-\def\normalbaselines%
- {\baselineskip\normalbaselineskip
- \lineskip\normallineskip
- \lineskiplimit\normallineskiplimit}
-
-\def\setnormalbaselines%
- {\lineheight=\normallineheight
- \openlineheight=\spacingfactor\lineheight
-\openstrutheight=\strutheightfactor\openlineheight
-\openstrutdepth =\strutdepthfactor \openlineheight
- \normalbaselineskip=
- \openlineheight
- \!!plus\baselinegluefactor\openlineheight
- \!!minus\baselinegluefactor\openlineheight
- \normallineskip\minimallinedistance\relax % \!!onepoint\relax
- \normallineskiplimit\!!zeropoint\relax
- \normalbaselines}
-
-\def\setspacingfactor#1\to#2\by#3\\%
- {\strutdimen=#2pt\relax
- \strutdimen=#3\strutdimen
- \edef#1{\withoutpt{\the\strutdimen}}}
-
-\def\spacing#1%
- {\ifgridsnapping
- \edef\spacingfactor{1}%
- \showmessage{\m!layouts}{11}{#1}%
- \else
- \edef\spacingfactor{#1}%
- \fi
- \setspacingfactor\systemtopskipfactor\to\topskipfactor\by#1\\%
- \setspacingfactor\systemmaxdepthfactor\to\maxdepthfactor\by#1\\%
- \setnormalbaselines
- \setstrut}
-
-\def\setstrutdimen#1#2#3% % een strut is n.m maal ex
- {\strutdimen=\normallineheight % wat niet per se \lineheight
- \strutdimen=#2\strutdimen % is omdat een strut lokaal
- \strutdimen=#3\strutdimen % kan afwijken van de globale
- \edef#1{\the\strutdimen}} % strut
-
-% plain definition:
-%
-% \def\strut{\relax\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi}
-%
-% could be:
-%
-% \def\strut{\relax\ifmmode\copy\else\unhcopy\fi\strutbox}
-
-\let\normalstrut=\strut
-
-% The double \hbox construction enables us to \backtrack
-% boxes.
-
-% \def\setstrut%
-% {\setstrutdimen\strutheight\strutheightfactor\spacingfactor
-% \setstrutdimen\strutdepth \strutdepthfactor \spacingfactor
-% \let\strut=\normalstrut
-% \setbox\strutbox=\normalhbox
-% {\normalhbox
-% {\vrule
-% \!!width \strutwidth
-% \!!height \strutheight
-% \!!depth \strutdepth
-% \normalkern-\strutwidth}}}
-
-\def\setstrut%
- {\setstrutdimen\strutheight\strutheightfactor\spacingfactor
- \setstrutdimen\strutdepth \strutdepthfactor \spacingfactor
- \dosetstrut}
-
-\def\setcharstrut#1%
- {\setbox\strutbox=\hbox{#1}%
- \edef\strutheight{\the\ht\strutbox}%
- \edef\strutdepth {\the\dp\strutbox}%
- \dosetstrut}
-
-\def\setcapstrut% could be M, but Q has descender
- {\setcharstrut{Q}}
-
-%D Centered looks nicer:
-
-\def\dosetstrut%
- {\let\strut=\normalstrut
- \setbox\strutbox=\normalhbox
- {\normalhbox to \!!zeropoint
- {% \hss % new, will be option
- \vrule
- \!!width \strutwidth
- \!!height\strutheight
- \!!depth \strutdepth
- \hss}}}
-%D Sometimes a capstrut comes in handy
-%D
-%D \starttabulatie[|Tl|l|l|]
-%D \NC yes \NC normal strut \NC {\toonstruts\setupstrut[ja]\strut} \NC \NR
-%D \NC no \NC no strut \NC {\toonstruts\setupstrut[nee]\strut} \NC \NR
-%D \NC kap \NC a capital strut (i.e. Q) \NC {\toonstruts\setupstrut[kap]\strut} \NC \NR
-%D \NC A B \unknown \NC a character strut (e.g. A) \NC {\toonstruts\setupstrut[A]\strut} \NC \NR
-%D \NC \NC a normal strut \NC {\toonstruts\setupstrut\strut} \NC \NR
-%D \stoptabulatie
-
-\def\setupstrut%
- {\dosingleempty\dosetupstrut}
-
-\def\dosetupstrut[#1]% yet undocumented
- {\processaction
- [#1]
- [ \v!ja=>\setstrut,
- \v!nee=>\setnostrut,
- \v!kap=>\setcapstrut,
- \s!default=>\setstrut,
- \s!unknown=>\setcharstrut{\commalistelement}]}
-
-\def\setteststrut%
- {\def\strutwidth{.8pt}%
- \setstrut}
-
-\def\begstrut%
- {\relax\ifdim\ht\strutbox=\!!zeropoint\else
- \strut
- \normalpenalty\!!tenthousand
- \normalhskip\!!zeropoint
- \ignorespaces
- \fi}
-
-\def\endstrut%
- {\relax\ifhmode\ifdim\ht\strutbox=\!!zeropoint\else
- \unskip\unskip\unskip
- \normalpenalty\!!tenthousand
- \normalhskip\!!zeropoint
- \strut
- \fi\fi}
-
-\def\setnostrut%
- {\setbox\strutbox=\normalhbox{\normalhbox{}}%
- \let\strut=\empty
- \let\endstrut=\empty
- \let\begstrut=\empty}
-
-% unsave:
-%
-% \def\pseudostrut%
-% {\bgroup
-% \setnostrut
-% \normalstrut
-% \egroup}
-%
-% try:
-%
-% \startchemie
-% \chemie[ONE,Z0,SB15,MOV1,SB15,Z0][C,C]
-% \stopchemie
-%
-% so:
-
-\def\pseudostrut%
- {\noindent} % better: \dontleavehmode
-
-\let\pseudobegstrut\pseudostrut
-
-\def\pseudoendstrut% removes all kind of signals
- {\ifhmode\unskip\unskip\unskip\unskip\fi}
-
-\def\resetteststrut%
- {\let\strutwidth=\!!zeropoint
- \setstrut}
-
-\def\setfontparameters%
- {\the\everybodyfont}
-
-%D Handy:
-
-\def\baselinedistance{\the\lineheight}
-
-%D We need \type{\normaloffinterlineskip} because the new
-%D definition contains an assignment, and |<|don't ask me
-%D why|>| this assignment gives troubles in for instance the
-%D visual debugger.
-
-\ifx\undefined\normaloffinterlineskip
- \let\normaloffinterlineskip=\offinterlineskip % knuth's original
-\fi
-
-\def\offinterlineskip%
- {\ifdim\baselineskip>\!!zeropoint
- \edef\oninterlineskip%
- {\baselineskip=\the\baselineskip
- \lineskip=\the\lineskip
- \lineskiplimit=\the\lineskiplimit
- \noexpand\let\noexpand\offinterlineskip=\noexpand\normaloffinterlineskip}%
- \else
- \let\oninterlineskip=\setnormalbaselines
- \fi
- \normaloffinterlineskip}
-
-\let\oninterlineskip=\relax
-
-\def\leaveoutervmode%
- {\ifvmode\ifinner\else
- \leavevmode
- \fi\fi}
-
-% We stellen enkele penalties anders in dan Plain TEX:
-
-\def\defaultwidowpenalty{2000} % was: 1000
-\def\defaultclubpenalty {2000} % was: 800
-
-\widowpenalty=\defaultwidowpenalty\relax
-\clubpenalty =\defaultclubpenalty \relax
-
-% Bovendien definieren we enkele extra \fill's:
-
-\def\hfilll%
- {\hskip\!!zeropoint\!!plus1filll\relax}
-
-\def\vfilll%
- {\vskip\!!zeropoint\!!plus1filll\relax}
-
-% De onderstaande hulpmacro's moeten nog eens instelbaar worden
-% gemaakt.
-
-\def\tfskipsize{1em\relax}
-
-\def\tfkernsize{1ex\relax}
-
-\def\tfskip%
- {{\tf\hskip\tfskipsize}}
-
-\def\tfkern%
- {{\tf\kern\tfkernsize}}
-
-% Dit hoort eigenlijk thuis onder het kopje boodschappen cq,
-% meldingen.
-
-\let\mindermeldingen\dontcomplain
-
% Maten
%
% De onderstaande instellingen worden gebruikt voor het
@@ -1843,7 +1290,7 @@
\def\douitstellen% PAS OP 2X MAIN-001
{\the\everytopofpage
\ifinuitstellen\else\ifcase\nofpostponedblocks\else % The \nof-test is
-\bgroup
+\bgroup % needed
\black % else problems inside split verbatim
\restoreglobalbodyfont % else problems inside split verbatim
\global\pagetotal\!!zeropoint % recently added
@@ -2984,809 +2431,6 @@
{\copy\rightlogos}%
\fi}
-% \frenchspacing leidt soms tot afbreken tussen -, vandaar
-% de variant \newfrenchspacing.
-
-\def\dofrenchspacing#1%
- {\sfcode`\.#1 \sfcode`\,#1\relax
- \sfcode`\?#1 \sfcode`\!#1\relax
- \sfcode`\:#1 \sfcode`\;#1\relax}
-
-\def\frenchspacing%
- {\dofrenchspacing{1000}} % \@m
-
-\def\newfrenchspacing%
- {\dofrenchspacing{1050}} % \@ml
-
-\def\complexstelspatieringin[#1]%
- {\processaction
- [#1]
- [\v!opelkaar=>\newfrenchspacing,
- \v!ruim=>\nonfrenchspacing]%
- \updateraggedskips}
-
-\def\simplestelspatieringin%
- {\updateraggedskips}
-
-\definecomplexorsimple\stelspatieringin
-
-\bgroup
-\catcode`\~=\@@active % eigenlijk is ~ al actief
-\gdef\fixedspaces% % in Plain \TeX, maar we weten
- {\catcode`\~=\@@active % nooit wat er inmiddels is
- \def~{\fixedspace}} % gebeurd, vandaar.
-\egroup
-
-\def\space { }
-\def\fixedspace {\hskip.5em\relax}
-\def\nospace {\unskip\ignorespaces}
-
-\let\spatie \space
-\let\hardespatie\fixedspace
-\let\geenspatie \nospace
-
-\def\opelkaar%
- {\nointerlineskip}
-
-\def\omlaag[#1]% nog eens mooier, relateren aan blanko
- {\nointerlineskip
- \vskip#1 }
-
-\newskip\tussenwit
-\tussenwit=\!!zeropoint
-
-\def\blankokleinmaat%
- {\smallskipamount}
-
-\def\blankomiddelmaat%
- {\medskipamount}
-
-\def\blankogrootmaat%
- {\bigskipamount}
-
-\def\currentwitruimte%
- {\!!zeropoint}
-
-\def\stelwitruimteopnieuwin%
- {\expanded{\stelwitruimtein[\currentwitruimte]}}
-
-\newif\ifwitruimteflexibel \witruimteflexibeltrue
-
-%\def\dodostelwitruimtein[#1]%
-% {%\witruimteflexibeltrue
-% \processallactionsinset
-% [#1]
-% [\v!herstel=>,
-% \v!vast=>\witruimteflexibelfalse,
-% \v!flexibel=>\witruimteflexibeltrue,
-% \v!regel=>\tussenwit=\baselineskip,
-% \v!halveregel=>\tussenwit=.5\baselineskip,
-% \s!default=>\doifnot{\currentwitruimte}{\v!geen}
-% {\stelwitruimteopnieuwin},
-% \s!unknown=>\@EA\assigndimension\@EA{\commalistelement} % \@EA is nodig
-% {\tussenwit}
-% {\blankokleinmaat}{\blankomiddelmaat}{\blankogrootmaat}]% % te vangen
-% \edef\currentwitruimte%
-% {\ifdim\tussenwit=\!!zeropoint
-% \v!geen
-% \else
-% \ifgridsnapping\the\baselineskip\else\the\tussenwit\fi
-% \fi}%
-% \ifgridsnapping
-% \witruimteflexibelfalse
-% \tussenwit=1\tussenwit
-% \ifdim\tussenwit>\!!zeropoint
-% \tussenwit=\baselineskip
-% \fi
-% \else
-% \ifwitruimteflexibel \else \tussenwit=1\tussenwit \fi
-% \fi
-% \parskip=\tussenwit}
-%
-%\def\dostelwitruimtein[#1]%
-% {\expanded{\dodostelwitruimtein[#1]}}
-%
-%\def\stelwitruimtein%
-% {\dosingleempty\dostelwitruimtein}
-
-\definecomplexorsimple\stelwitruimtein
-
-\def\complexstelwitruimtein[#1]%
- {\expanded{\dostelwitruimtein[#1]}%
- \dodostelwitruimtein}
-
-\def\dostelwitruimtein[#1]%
- {\processallactionsinset
- [#1]
- [\v!herstel=>,
- \v!vast=>\witruimteflexibelfalse,
- \v!flexibel=>\witruimteflexibeltrue,
- \v!regel=>\tussenwit=\baselineskip,
- \v!halveregel=>\tussenwit=.5\baselineskip,
- \s!default=>\doifnot{\currentwitruimte}{\v!geen}
- {\stelwitruimteopnieuwin},
- \s!unknown=>\@EA\assigndimension\@EA{\commalistelement} % \@EA is nodig
- {\tussenwit}
- {\blankokleinmaat}{\blankomiddelmaat}{\blankogrootmaat}]} % te vangen
-
-\def\dodostelwitruimtein%
- {\edef\currentwitruimte%
- {\ifdim\tussenwit=\!!zeropoint
- \v!geen
- \else
- \ifgridsnapping\the\baselineskip\else\the\tussenwit\fi
- \fi}%
- \ifgridsnapping
- \witruimteflexibelfalse
- \tussenwit=1\tussenwit
- \ifdim\tussenwit>\!!zeropoint
- \tussenwit=\baselineskip
- \fi
- \else
- \ifwitruimteflexibel \else \tussenwit=1\tussenwit \fi
- \fi
- \parskip=\tussenwit}
-
-\def\simplestelwitruimtein% == snelle \stelwitruimtein[\s!default]
- {\doifnot{\currentwitruimte}{\v!geen}
- {\stelwitruimteopnieuwin}%
- \dodostelwitruimtein}
-
-\def\geenwitruimte%
- {\ifdim\parskip>\!!zeropoint\relax
- \ifdim\lastskip=-\parskip
- \else
- \vskip-\parskip
- \fi
- \fi}
-
-\def\savecurrentwitruimte%
- {\edef\restorecurrentwitruimte%
- {\tussenwit=\the\tussenwit
- \parskip=\the\parskip
- \noexpand\def\noexpand\currentwitruimte{\currentwitruimte}%
- \ifwitruimteflexibel
- \noexpand\witruimteflexibeltrue
- \else
- \noexpand\witruimteflexibelfalse
- \fi}}
-
-% deze variant is nodig binnen \startopelkaar
-% steeds testen:
-%
-% \hoofdstuk{..}
-% \plaatslijst[..]
-% \hoofdstuk{..}
-% \input tufte
-%
-% met/zonder witruimte
-
-\def\witruimte%
- {\par
- \ifdim\parskip>\!!zeropoint\relax
- %\ifdim\lastskip>\parskip \else
- % \removelastskip interferes with blanko blokkeer en klein
- \vskip\parskip
- %\fi
- \fi}
-
-\def\nonoblanko[#1]%
- {\par}
-
-\def\noblanko%
- {\dosingleempty\nonoblanko}
-
-% De onderstaande macro handelt ook de situatie dat er geen
-% tekst tussen \start ... \stop is geplaatst. Daartoe wordt de
-% laatste skip over de lege tekst heen gehaald. Dit komt goed
-% van pas bij het plaatsen van (mogelijk lege) lijsten.
-
-\newif\ifopelkaar
-
-\def\noparskipsignal {0.00001pt}
-\def\lastdoneparskip {0pt}
-
-\def\startopelkaar%
- {\dosingleempty\dostartopelkaar}
-
-\def\dostartopelkaar[#1]% nesting afvangen
- {\par
- \ifvmode
- \edef\lastdoneparskip{\the\lastskip}%
-\edef\lastdoneprevdepth{\the\prevdepth}% zeer recent toegevoegd
- \ifdim\prevdepth=-1000pt % toegevoegd omdat binnen
- \else % een vbox een extra skip
- \witruimte % ongewenst is; dit kan
-\baselinecorrection %% zie in \plaatsregister[n=1]
- \vskip\noparskipsignal % waarschijnlijk ook in
- \fi % blanko blokkeer
- \bgroup
- \doifelse{#1}{\v!blanko}
- {\opelkaarfalse}
- {\opelkaartrue}%
- \blanko[\v!blokkeer]%
- \stelwitruimtein[\v!geen]
- \fi}
-
-\def\stopopelkaar%
- {\par
-\ifvmode
- \egroup
- \ifdim\lastskip=\noparskipsignal\relax
- \removelastskip
- \geenwitruimte
- \vskip-\lastdoneparskip
- \vskip+\lastdoneparskip
-\prevdepth-\lastdoneprevdepth % zeer recent toegevoegd
- \fi
-\fi}
-
-\def\startvanelkaar%
- {\blanko
- \leavevmode
- \bgroup}
-
-\def\stopvanelkaar%
- {\egroup
- \blanko}
-
-% De onderstaande macro's moeten nog eens nader worden uitgewerkt.
-% Ze spelen een rol bij de spatiering rond omkaderde teksten
-% en/of boxen zonder diepte.
-
-\def\toonregelcorrectie {\showbaselinecorrection}
-\def\regelcorrectie {\baselinecorrection}
-
-\definecomplexorsimpleempty\startregelcorrectie
-
-% \prevdepth crosses pageboundaries!
-
-\let\dorondomregelcorrectie=\relax
-
-\def\complexstartregelcorrectie[#1]%
- {\bgroup
- \processaction
- [#1]
- [ \v!blanko=>\let\dorondomregelcorrectie=\blanko,
- \s!default=>\let\dorondomregelcorrectie=\relax,
- \s!unknown=>{\def\dorondomregelcorrectie{\blanko[#1]}}]%
- \dorondomregelcorrectie
- \startbaselinecorrection
- \offbaselinecorrection}
-
-\def\stopregelcorrectie%
- {\stopbaselinecorrection
- \dorondomregelcorrectie
- \egroup}
-
-\def\corrigeerwitruimte%
- {\dowithnextbox
- {\startbaselinecorrection
- \box\nextbox
- \stopbaselinecorrection}%
- \vbox}
-
-%D There are two ways to influence the interline spacing. The
-%D most general and often most consistent way is using
-%D
-%D \showsetup{\y!stelinterliniein}
-%D
-%D For instance
-%D
-%D \starttypen
-%D \setupinterlinespace[line=2.8ex]
-%D \stoptypen
-%D
-%D This setting adapts itself to the bodyfontsize, while for
-%D instance saying
-%D
-%D \starttypen
-%D \setupinterlinespace[line=12pt]
-%D \stoptypen
-%D
-%D sets things fixed for all sizes, which is definitely not
-%D what we want. Therefore one can also say:
-%D
-%D \starttypen
-%D \definecorpsenvironment[9pt][interlinespace=11pt]
-%D \stoptypen
-%D
-%D One can still use \type{\setupinterlinespace} (without
-%D arguments) to set the interline space according to the
-%D current font, e.g. a \type{\bfa}.
-
-\newif\iflocalinterlinespace
-
-% font-ini
-
-\ifx\bodyfontinterlinespecs\undefined
-
- \let\bodyfontinterlinespecs\empty
- \let\bodyfontinterlinespace\empty
-
-\fi
-
-\def\presetnormallineheight%
- {\edef\normallineheight{\@@itregel}%
- \iflocalinterlinespace \else
- \doifdefined{\bodyfontinterlinespecs}
- {\doifsomething{\bodyfontinterlinespace}
- {\edef\normallineheight{\bodyfontinterlinespace}}}%
- \fi}
-
-\def\complexstelinterliniein[#1]% \commalistelement ipv #1
- {\doifassignmentelse{#1}
- {\getparameters[\??it][#1]%
- \scratchdimen=0\@@ithoogte pt
- \advance\scratchdimen by 0\@@itdiepte pt
- \ifdim\scratchdimen>1pt
- \showmessage{\m!layouts}{10}{\@@ithoogte,\@@itdiepte}%
- \let\@@ithoogte=\strutheightfactor
- \let\@@itdiepte=\strutdepthfactor
- \else
- \let\strutheightfactor=\@@ithoogte
- \let\strutdepthfactor=\@@itdiepte
- \fi
- \let\minimallinedistance=\@@itafstand
- \let\normallineheight=\@@itregel % let ! ! ! ! ! ivm ex
- \let\topskipfactor=\@@itboven
- \let\maxdepthfactor=\@@itonder
- \setfontparameters % redundant \setstrut
- \updateraggedskips} % yes indeed
- {\processallactionsinset % \regelwit = dummy !
- [#1]
- [ \v!aan=>\oninterlineskip,
- \v!uit=>\offinterlineskip,
- \v!reset=>\setfontparameters,
- \s!unknown=>\assignvalue{#1}{\regelwit}{1.00}{1.25}{1.50}%
- \spacing{\regelwit}]}}
-
-\def\simplestelinterliniein%
- {\localinterlinespacetrue
- \setfontparameters
- \updateraggedskips % funny one here
- \localinterlinespacefalse}
-
-\definecomplexorsimple\stelinterliniein
-
-% In earlier versions \type{\bigskipamount} was
-% \type{\ht\strutbox} and the stretch was plus or minus
-% \type{.4\dp\strutbox}. Don't ask me why. The most recent
-% implementation is based on a user supplied distance, which
-% is by default \type{.75\normalskipamount} where
-% \type{\normalskipamount} equals the current baseline
-% distance.
-
-\newif\ifblankoreset \blankoresetfalse
-\newif\ifblankoblokkeer \blankoblokkeerfalse
-\newif\ifblankogeenwit \blankogeenwitfalse
-\newif\ifdoeblanko \doeblankofalse
-\newif\ifblankoflexibel \blankoflexibeltrue
-\newif\ifblankobuiten
-\newif\ifblankoforceer
-
-\newskip\blankoskip \blankoskip=\bigskipamount
-\newskip\blankoskipamount
-
-\def\skipfactor {.75}
-\def\skipgluefactor {.25}
-
-\def\normalskipamount%
- {\openlineheight
- \ifgridsnapping \else \ifblankoflexibel
- \!!plus\skipgluefactor\openlineheight
- \!!minus\skipgluefactor\openlineheight
- \fi \fi
- \relax}
-
-\def\regelafstand{\normalskipamount}
-
-\def\deblankoskip{\skipfactor\regelafstand}
-
-\def\laatsteblankoskip%
- {\blankoskip}
-
-\def\geenblanko%
- {\removelastskip}
-
-\def\dosingleblanko#1% ook nog \v!halveregel+fuzzysnap
- {\doifelse{#1}{\v!regel}
- {\blankoskipamount=\openlineheight}
- {\ifgridsnapping
- \assigndimension{#1}{\blankoskipamount}%
- {.25\openlineheight}{.5\openlineheight}{\openlineheight}%
- \else
- \assigndimension{#1}{\blankoskipamount}%
- {\smallskipamount}{\medskipamount}{\bigskipamount}%
- \fi}%
- \global\advance\blankoskip by \blankoskipamount}
-
-\newif\iffuzzyvskip
-
-% old
-%
-% \def\doblanko#1%
-% {\processallactionsinset
-% [#1]
-% [ \v!groot=>\dosingleblanko\v!groot, % happens often
-% \v!buiten=>\ifvmode\ifinner\blankobuitentrue\fi\fi,
-% \v!reset=>\global\blankoresettrue,
-% \v!flexibel=>\global\lokaalblankoflexibeltrue,
-% \v!vast=>\global\lokaalblankovasttrue,
-% \v!back=>\geenblanko,
-% \v!wit=>\global\advance\blankoskip by \parskip,
-% \v!formule=>\global\advance\blankoskip by \medskipamount,
-% \v!geenwit=>\global\blankogeenwittrue,
-% -\v!wit=>\global\advance\blankoskip by -\parskip,
-% \v!blokkeer=>\global\blankoblokkeertrue,
-% \v!forceer=>\global\blankoforceertrue,
-% \v!regel=>\global\advance\blankoskip by \lineheight,
-% \v!halveregel=>\global\fuzzyvskiptrue\global\advance\blankoskip by .5\lineheight,
-% \s!unknown=>{\herhaalmetcommando[#1]\dosingleblanko}]}
-%
-% new, see below
-
-\def\doblanko#1%
- {\processallactionsinset
- [#1]
- [ \v!groot=>\dosingleblanko\v!groot, % happens often
- \v!buiten=>\ifvmode\ifinner\blankobuitentrue\fi\fi,
- \v!reset=>\global\blankoresettrue,
- \v!flexibel=>\global\lokaalblankoflexibeltrue,
- \v!vast=>\global\lokaalblankovasttrue,
- \v!back=>\geenblanko,
- \v!wit=>\global\advance\blankoskip by \parskip,
- \v!formule=>\global\advance\blankoskip by \medskipamount,
- \v!geenwit=>\global\blankogeenwittrue,
- -\v!wit=>\global\advance\blankoskip by -\parskip,
- \v!blokkeer=>\global\blankoblokkeertrue,
- \v!forceer=>\global\blankoforceertrue,
- \v!regel=>\global\advance\blankoskip by \lineheight,
- \v!halveregel=>\global\fuzzyvskiptrue\global\advance\blankoskip by .5\lineheight,
- \s!unknown=>\doindirectblanko{#1}]}
-
-\def\oldprevdepth{\prevdepth}%
-\def\newprevdepth{-1001pt}
-
-\def\mindimen{0.00002pt} % beter 1sp
-
-\newif\iflokaalblankovast
-\newif\iflokaalblankoflexibel
-
-\def\docomplexdoblanko[#1]% pas op \relax's zijn nodig ivm volgende \if
- {\global\blankoresetfalse
- \global\blankoblokkeerfalse
- \global\blankogeenwitfalse
- \global\lokaalblankoflexibelfalse
- \global\lokaalblankovastfalse
- \global\blankoskip=\!!zeropoint
- \global\blankoforceerfalse
- \blankobuitenfalse
- \processcommalist[#1]\doblanko
-\ifdim\blankoskip=\!!zeropoint\relax
- \iflokaalblankoflexibel \dosingleblanko\currentblanko \fi
- \iflokaalblankovast \dosingleblanko\currentblanko \fi
-\fi
- \ifblankobuiten
- \else
- \par
- \ifvmode %in pos fonts gaat dit mis
- \ifblankoforceer%\ifdim\prevdepth>\!!zeropoint\else
- % -1000pt signals top of page or column (\ejectcolumn)
- \vbox{\strut}\kern-\lineheight
- \fi%\fi
- \ifblankoblokkeer
- \global\doeblankofalse
- \edef\oldprevdepth{\the\prevdepth}%
- \prevdepth=\newprevdepth
- \else
- \global\doeblankotrue
- \fi
- \ifblankoreset
- \global\doeblankotrue
- \ifdim\prevdepth=\newprevdepth
- \prevdepth=\oldprevdepth
- \fi
- \fi
- \ifdoeblanko
- \ifdim\lastskip<\blankoskip\relax
- % else when \blanko[2*groot] + \blanko[3*groot] with parskip
- % equaling 1*groot, gives a groot=\parskip so adding a small
- % value makes it distinguishable; can also be done at parskip
- % setting time (better)
- \global\advance\blankoskip by \mindimen\relax % = skip
- % test this on 2* + 3* and parskip groot
- \ifblankogeenwit
- \global\advance\blankoskip by -\parskip
- \else
- \ifdim\lastskip=\parskip
- \else % force this due to previous comment
- \ifdim\parskip>\!!zeropoint\relax
- \ifdim\blankoskip<\parskip\relax
- \global\blankoskip=\!!zeropoint
- \else
- \global\advance\blankoskip by -\parskip
- \fi
- \fi
- \fi
- \fi
-\ifblankoflexibel \else
- \blankoskip=1\blankoskip
-\fi
-\iflokaalblankovast
- \blankoskip=1\blankoskip
-\fi
-\iflokaalblankoflexibel
- \blankoskip=1\blankoskip
- \!!plus\skipgluefactor\blankoskip
- \!!minus\skipgluefactor\blankoskip
-\fi
- \ifdim\prevdepth=\newprevdepth
- \else
- \iffuzzyvskip
- \removelastfuzzyvskip
- \fuzzyvskip\blankoskip\relax
- \else
- \removelastskip
- \vskip\blankoskip\relax
- \fi
- \fi
- \else
- \iffuzzyvskip
- \removelastfuzzyvskip
- \fuzzyvskip\blankoskip\relax
- \fi
- \fi
- \fi
- \fi
- \fi
- \global\fuzzyvskipfalse
- \presetindentation}
-
-\def\complexdodoblanko[#1]%
- {\flushfootnotes
- \ifopelkaar
- \ifinpagebody
- \expanded{\docomplexdoblanko[#1]}% \expanded=nieuw
- \else
- \par
- \fi
- \else
- \expanded{\docomplexdoblanko[#1]}% \expanded = nieuw
- \fi}
-
-% old
-%
-% \def\doindirectblanko#1%
-% {\ifundefined{\??bo#1}% <-etex \expandafter\ifx\csname\??bo#1\endcsname\relax
-% \expanded{\complexdodoblanko[#1]}%
-% \else
-% \expandafter\complexdoblanko\expandafter[\csname\??bo#1\endcsname]%
-% \fi}
-%
-% \def\complexdoblanko[#1]% enables [force,8\bodyfontsize]
-% {\doifinstringelse{,}{#1}
-% {\expanded{\complexdodoblanko[#1]}}
-% {\doifnumberelse{#1}
-% {\expanded{\complexdodoblanko[#1]}}
-% {\doindirectblanko{#1}}}}
-%
-% new, more robust
-%
-% \def\doindirectblanko#1%
-% {\edef\ascii{#1}\convertcommand\ascii\to\ascii
-% \ifundefined{\??bo\ascii}% <-etex \expandafter\ifx\csname\??bo#1\endcsname\rel
-% \herhaalmetcommando[#1]\dosingleblanko
-% \else
-% \expandafter\complexdoblanko\expandafter[\csname\??bo\ascii\endcsname]%
-% \fi}
-%
-% even more robust
-
-\def\doindirectblanko#1%
- {\edef\ascii{#1}\convertcommand\ascii\to\ascii
- \ifundefined{\??bo\ascii}% <-etex \expandafter\ifx\csname\??bo#1\endcsname
- \expanded{\herhaalmetcommando[#1]\noexpand\dosingleblanko}%
- \else
- \expandafter\complexdoblanko\expandafter[\csname\??bo\ascii\endcsname]%
- \fi}
-
-\def\complexdoblanko[#1]% enables [force,8\bodyfontsize]
- {\expanded{\complexdodoblanko[#1]}}
-
-\def\currentblanko%
- {\v!groot}
-
-%D For a long time we had:
-%D
-%D \starttypen
-%D \def\simpledoblanko%
-%D {\doifelse{\currentwitruimte}{\v!geen}
-%D {\blanko[\currentblanko]}
-%D {\blanko[\currentwitruimte]}}
-%D \stoptypen
-%D
-%D But Berend de Boer wanted more control, so now we have:
-
-\def\simpledoblanko%
- {\doifelse{\currentwitruimte}{\v!geen}
- {\blanko[\currentblanko]}
- {\blanko[\s!default]}}
-
-%D Another useful definition would be:
-%D
-%D \starttypen
-%D \definieerblanko
-%D [\s!default]
-%D [\v!groot]
-%D \stoptypen
-
-\def\blanko% % the \relax is definitely needed due to the many \if's
- {\relax\complexorsimple\doblanko}
-
-%\def\dostelblankoin#1%
-% {\bgroup % rommelig
-% \skip0=#1\relax
-% \xdef\globalblanko{\the\skip0}%
-% \egroup
-% \bigskipamount=\globalblanko
-% \smallskipamount=\globalblanko
-% \medskipamount=\globalblanko
-% \divide\medskipamount by 2\relax
-% \divide\smallskipamount by 4\relax}%
-
-\def\dostelblankoin#1%
- {\bigskipamount=#1\relax
- \ifblankoflexibel \else
- \bigskipamount=1\bigskipamount
- \fi
- \smallskipamount=\bigskipamount
- \medskipamount=\bigskipamount
- \divide\medskipamount by 2
- \divide\smallskipamount by 4 }%
-
-\def\complexstelblankoin[#1]%
- {\ifgridsnapping
- \blankoflexibelfalse
- \else
- \ExpandFirstAfter\processallactionsinset
- [#1]
- [ \v!flexibel=>\blankoflexibeltrue,
- \v!vast=>\blankoflexibelfalse]%
- \fi
- \ExpandFirstAfter\processallactionsinset
- [#1]
- [ \v!flexibel=>\dostelblankoin{\deblankoskip},
- \v!vast=>\dostelblankoin{\deblankoskip},
- \v!regel=>\edef\deblankoskip{\regelafstand}%
- \dostelblankoin{\deblankoskip}%
- \let\deblanko=\v!groot,
- \v!halveregel=>\scratchskip=.5\regelafstand
- \edef\deblankoskip{\the\scratchskip}%
- \dostelblankoin{\deblankoskip}%
- \let\deblanko=\v!middel,
- \v!groot=>\ifgridsnapping
- \edef\deblankoskip{\regelafstand}%
- \dostelblankoin{\deblankoskip}%
- \fi
- \def\currentblanko{\v!groot}%
- \let\deblanko=\v!groot,
- \v!middel=>\def\currentblanko{\v!middel}%
- \let\deblanko=\v!middel,
- \v!klein=>\def\currentblanko{\v!klein}%
- \let\deblanko=\v!klein,
- \v!normaal=>\dostelblankoin{\deblankoskip}%
- \let\deblanko=\v!groot,
- \v!standaard=>\edef\deblankoskip{\skipfactor\regelafstand}%
- \dostelblankoin{\deblankoskip}%
- \let\deblanko=\v!groot,
- \s!default=>\dostelblankoin{\deblankoskip}%
- \let\deblanko=\v!groot,
- \s!unknown=>\let\deblankoskip=\commalistelement
- \dostelblankoin{\deblankoskip}%
- \let\deblanko=\v!groot]%
- \stelwitruimtein}
-
-% \definecomplexorsimpleempty\stelblankoin
-%
-% speed gain: 60 sec -> 30 sec
-
-\definecomplexorsimple\stelblankoin
-
-\def\simplestelblankoin% == snelle \stelblankoin[\s!default]
- {\ifgridsnapping
- \blankoflexibelfalse
- \fi
- \dostelblankoin{\deblankoskip}%
- \let\deblanko\v!groot
- \stelwitruimtein}
-
-\def\dodefinieerblanko[#1][#2]%
- {\def\docommando##1{\setvalue{\??bo##1}{#2}}%
- \processcommalist[#1]\docommando}
-
-\def\definieerblanko%
- {\dodoubleargument\dodefinieerblanko}
-
-\def\savecurrentblanko%
- {\edef\restorecurrentblanko%
- {\bigskipamount=\the\bigskipamount
- \medskipamount=\the\medskipamount
- \smallskipamount=\the\smallskipamount
- \noexpand\def\noexpand\currentblanko{\currentblanko}%
- \ifblankoflexibel
- \noexpand\blankoflexibeltrue
- \else
- \noexpand\blankoflexibelfalse
- \fi}}
-
-\def\inhibitblank% the fast, local way
- {\endgraf\ifvmode\prevdepth\newprevdepth\fi}
-
-%D Now.
-
-\definieerblanko
- [\s!default]
- [\v!wit]
-
-\let\currentvoorwit=\empty
-
-\newdimen\voorwit
-
-\newif\ifindentfirstparagraph % \indentfirstparagraphtrue
-
-\def\presetindentation%
- {\doifoutervmode
- {\ifindentfirstparagraph\else\noindentation\fi}}
-
-%\def\dostelinspringenin[#1]%
-% {\processallactionsinset
-% [#1]
-% [ \v!eerste=>\indentfirstparagraphtrue,
-% \v!volgende=>\indentfirstparagraphfalse,
-% \s!default=>\dodostelinspringenin,
-% \s!unknown=>\edef\currentvoorwit{\commalistelement}%
-% \dodostelinspringenin]}
-%
-%\def\dodostelinspringenin%
-% {\assigndimension{\currentvoorwit}{\voorwit}{1em}{1.5em}{2em}%
-% \parindent=\voorwit\relax}
-%
-%\def\stelinspringenin%
-% {\dosingleempty\dostelinspringenin}
-
-\definecomplexorsimple\stelinspringenin
-
-\def\complexstelinspringenin[#1]%
- {\processallactionsinset
- [#1]
- [ \v!eerste=>\indentfirstparagraphtrue,
- \v!volgende=>\indentfirstparagraphfalse,
- \s!default=>\simplestelinspringenin,
- \s!unknown=>\edef\currentvoorwit{\commalistelement}%
- \simplestelinspringenin]}
-
-\def\simplestelinspringenin%
- {\assigndimension{\currentvoorwit}{\voorwit}{1em}{1.5em}{2em}%
- \parindent=\voorwit\relax}
-
-\def\doinspringen[#1]%
- {\processallactionsinset
- [#1]
- [ \v!nee=>\parindent=\voorwit\relax\noindent,
- \v!niet=>\parindent=\voorwit\relax\noindent,
- \v!ja=>\parindent=\voorwit\relax, % geen \indent !
- \v!eerste=>\indentfirstparagraphtrue,
- \v!volgende=>\indentfirstparagraphfalse,
- \v!altijd=>\parindent=\voorwit\relax, % geen \indent !
- \v!nooit=>\parindent=\!!zeropoint\relax]}
-
-\def\inspringen%
- {\dosingleargument\doinspringen}
-
-\def\nietinspringen{\inspringen[\v!nee,\v!volgende]}
-\def\welinspringen {\inspringen[\v!ja,\v!eerste]}
-
% Het gebruik van \skip's spaart \dimen's.
\newskip\xpositie
@@ -4396,326 +3040,6 @@
\dorecurse{4}{\tooninstellingen\pagina}
\egroup}
-\definetwopasslist{\s!paragraph}
-
-\newcounter\nofraggedparagraphs
-
-\def\doparagraphreference% looks very much like domarginreference
- {\doglobal\increment\nofraggedparagraphs\relax
- \edef\writeparref%
- {\writeutilitycommand%
- {\twopassentry%
- {\s!paragraph}%
- {\nofraggedparagraphs}%
- {\noexpand\realfolio}}}%
- \writeparref}
-
-\def\setraggedparagraphmode#1#2%
- {\ifinner
- \ifdubbelzijdig
- \gettwopassdata{\s!paragraph}%
- \iftwopassdatafound
- \ifodd\twopassdata#1\else#2\fi
- \else
- \ifodd\realfolio#1\else#2\fi
- \fi
- \doparagraphreference
- \else
- #2\relax
- \fi
- \else
- #2\relax
- \fi}
-
-% \let\doifrightpageelse\setraggedparagraphmode
-
-% De onderstaande macro's zijn opgenomen in Plain TeX.
-%
-% \def\raggedright%
-% {\rightskip\z@ plus2em \spaceskip.3333em \xspaceskip.5em\relax}
-%
-% \def\ttraggedright%
-% {\tttf\rightskip\z@ plus2em\relax}
-%
-% \newif\ifr@ggedbottom
-%
-% \def\raggedbottom%
-% {\topskip 10\p@ plus60\p@ \r@ggedbottomtrue}
-%
-% \def\normalbottom%
-% {\topskip 10\p@ \r@ggedbottomfalse}
-%
-% en worden hieronder wat aangepast.
-
-% the three boolean will become obsolete some day in favour
-% of \bottomraggedness
-
-\chardef\bottomraggedness=0 % 0=ragged 1=normal/align 2=baseline
-
-\def\bottomalignlimit{3\lineheight}
-
-\newif\ifn@rmalbottom
-\newif\ifr@ggedbottom
-\newif\ifb@selinebottom
-
-\def\raggedbottom%
- {\chardef\bottomraggedness=0
- \n@rmalbottomfalse
- \r@ggedbottomtrue
- \b@selinebottomfalse
- \settopskip}
-
-\def\alignbottom%
- {\chardef\bottomraggedness=1
- \n@rmalbottomtrue
- \r@ggedbottomfalse
- \b@selinebottomfalse
- \settopskip}
-
-\def\baselinebottom%
- {\chardef\bottomraggedness=2
- \n@rmalbottomfalse
- \r@ggedbottomfalse
- \b@selinebottomtrue
- \settopskip}
-
-\let\normalbottom=\alignbottom % downward compatible
-
-% so, the new one will be
-%
-% \chardef\bottomraggedness=0 % 0=ragged 1=normal/align 2=baseline
-%
-% \def\bottomalignlimit{3\lineheight} % will be settable
-%
-% \def\raggedbottom {\chardef\bottomraggedness=0 \settopskip}
-% \def\alignbottom {\chardef\bottomraggedness=1 \settopskip}
-% \def\baselinebottom{\chardef\bottomraggedness=2 \settopskip}
-%
-% \let\normalbottom =\alignbottom
-
-% \hyphenpenalty = ( 2.5 * \hsize ) / \raggedness
-% \tolerance >= 1500 % was 200
-% \raggedness = 2 .. 6\korpsgrootte
-
-\chardef\raggedstatus=0 % normal left center right
-
-\def\leftraggedness {2\bodyfontsize}
-\def\rightraggedness {2\bodyfontsize}
-\def\middleraggedness {6\bodyfontsize}
-
-%D More hyphenation control, will be combined with align
-%D setup.
-
-\def\nohyphens%
- {\ifx\dohyphens\relax
- \edef\dohyphens%
- {\hyphenpenalty\the\hyphenpenalty
- \exhyphenpenalty\the\exhyphenpenalty\relax}%
- \fi
- \hyphenpenalty\@M
- \exhyphenpenalty\@M}
-
-\let\dohyphens\relax
-
-%D To prevent unwanted side effects, we also have to check
-%D for hyphens here:
-
-\def\setraggedness#1%
- {\ifnum\tolerance<1500\relax % small values have
- \tolerance=1500\relax % unwanted side effects
- \fi
- \spaceskip=2.5\hsize % we misuse these registers
- \xspaceskip=#1\relax % for temporary storage;
- \divide\spaceskip by \xspaceskip % they are changed anyway
- \ifx\dohyphens\relax
- \hyphenpenalty=\spaceskip % \else no hyphens is active
- \fi}
-
-\let\updateraggedskips\relax
-
-\def\setraggedskips#1#2#3#4#5#6#7% never change this name
- {\def\updateraggedskips%
- {\dosetraggedskips{#1}{#2}{#3}{#4}{#5}{#6}{#7}}%
- \updateraggedskips}
-
-\def\dosetraggedskips#1#2#3#4#5#6#7%
- {\chardef\raggedstatus=#1\relax
- \leftskip=1\leftskip\!!plus#2\relax % zie: Tex By Topic 8.1.3
- \rightskip=1\rightskip\!!plus#3\relax % zie: Tex By Topic 8.1.3
- \spaceskip#4\relax
- \xspaceskip#5\relax
- \parfillskip\!!zeropoint\!!plus#6\relax
- \parindent#7\relax}
-
-\def\notragged%
- {\setraggedskips{0}{0em}{0em}{0em}{0em}{1fil}{\parindent}}
-
-\def\raggedleft%
- {\setraggedness\leftraggedness
- \setraggedskips{1}{\leftraggedness}{0em}{.3333em}{.5em}{0em}{0em}}
-
-\def\raggedcenter%
- {\setraggedness\middleraggedness
- \setraggedskips{2}{\middleraggedness}{\middleraggedness}{.3333em}{.5em}{0em}{0em}}
-
-%D We used to have:
-%D
-%D \starttypen
-%D \def\raggedright%
-%D {\setraggedness\rightraggedness
-%D \setraggedskips{3}{0em}{\rightraggedness}{.3333em}{.5em}{0em}{\parindent}}
-%D \stoptypen
-%D
-%D However, the next alternative, suggested by Taco, is better.
-
-\def\raggedright%
- {\setraggedness\rightraggedness
- \setraggedskips{3}{0em}{\rightraggedness}{.3333em}{.5em}{1fil}{\parindent}}
-
-\def\veryraggedleft%
- {\setraggedskips{1}{1fil}{0em}{.3333em}{.5em}{0em}{0em}}
-
-%D When we want the last line to have a natural width:
-%D
-%D \starttypen
-%D \def\veryraggedleft%
-%D {\setraggedskips{1}{1fil}{0em}{.3333em}{.5em}{0em}{-1fil}}
-%D \stoptypen
-%D
-%D but this one is not accepted by the macros.
-
-\def\veryraggedcenter%
- {\setraggedskips{2}{1fil}{1fil}{.3333em}{.5em}{0em}{0em}}
-
-\def\veryraggedright%
- {\setraggedskips{3}{0em}{1fil}{.3333em}{.5em}{0em}{\parindent}}
-
-\def\ttraggedright%
- {\tttf
- \setraggedskips{3}{0em}{\rightraggedness}{0em}{0em}{0em}{\parindent}} % {\voorwit}}
-
-%D A bonus one:
-
-\def\raggedwidecenter%
- {\setraggedness\middleraggedness
- \setraggedskips{2}{.5fil}{.5fil}{.3333em}{.5em}{0em}{0em}}
-
-\newif\if@@asragged \@@asraggedtrue % old method
-
-\def\dodosteluitlijnenin[#1]%
- {\doifinsetelse{\v!ruim} {#1}{\!!doneatrue}{\!!doneafalse}%
- \doifinsetelse{\v!breed}{#1}{\!!donebtrue}{\!!donebfalse}%
- \ExpandFirstAfter\processallactionsinset
- [#1]
- [ \v!regel=>\baselinebottom,
- \v!onder=>\raggedbottom,
- \v!hoogte=>\normalbottom,
- \v!breedte=>\notragged,
- \v!normaal=>\notragged,
- \v!ja=>\notragged,
- \v!nee=>\raggedright,
-\if@@asragged\v!binnen\else\v!buiten\fi
- =>\setraggedparagraphmode\raggedleft\raggedright,
-\if@@asragged\v!buiten\else\v!binnen\fi
- =>\setraggedparagraphmode\raggedright\raggedleft,
-\if@@asragged\v!links\else\v!rechts\fi
- =>\if!!donea\veryraggedleft \else\raggedleft \fi,
-\if@@asragged\v!rechts\else\v!links\fi
- =>\if!!donea\veryraggedright \else\raggedright \fi,
- \v!midden=>\if!!doneb\raggedwidecenter\else
- \if!!donea\veryraggedcenter\else\raggedcenter\fi\fi,
- \v!hangend=>\enableprotruding,
- \v!niethangend=>\disableprotruding,
- \v!afgebroken=>\dohyphens,
-\v!nietafgebroken=>\nohyphens,
- \v!nieuw=>\@@asraggedfalse, % so new will give you consistency
- \v!reset=>\notragged\normalbottom]}
-
-\def\dosteluitlijnenin[#1]%
- {\expanded{\dodosteluitlijnenin[#1]}}
-
-\def\steluitlijnenin%
- {\dosingleargument\dosteluitlijnenin}
-
-\def\startuitlijnen%
- {\bgroup
- \steluitlijnenin}
-
-\def\stopuitlijnen
- {\par
- \egroup}
-
-%\def\regellinks#1%
-% {\noindent\leftline{{\strut#1}}}
-%
-%\def\regelrechts#1%
-% {\noindent\rightline{{#1\strut}}}
-%
-%\def\regelmidden#1%
-% {\noindent\centerline{{\strut#1}}}
-
-\def\doalignline#1#2%
- {\dowithnextbox
- {\noindent\hbox to \hsize
- {\strut#1\unhbox\nextbox#2}}
- \hbox}
-
-% also supporting \\
-%
-% \def\doalignline#1#2%
-% {\dowithnextbox
-% {\noindent\hbox to \hsize
-% {\strut#1\unhbox\nextbox#2}}
-% \hbox\bgroup
-% \def\\{\egroup\par\doalignline#1#2\bgroup}\let\next=}
-
-\def\doalignline#1#2%
- {\bgroup
- \def\\{\egroup\par\doalignline#1#2\bgroup}%
- \dowithnextbox
- {\noindent\hbox to \hsize
- {\strut#1\unhbox\nextbox#2}\egroup}
- \hbox}
-
-% directe commando's
-
-\def\regellinks {\doalignline \relax \hss }
-\def\regelrechts{\doalignline \hss \relax}
-\def\regelmidden{\doalignline \hss \hss }
-
-\def\regelbegrensd#1{\limitatetext{#1}{\hsize}{\unknown}}
-
-% indirecte commando's
-
-\setvalue{regel\v!links }{\doalignline \relax \hss }
-\setvalue{regel\v!rechts}{\doalignline \hss \relax}
-\setvalue{regel\v!midden}{\doalignline \hss \hss }
-
-\def\doregelplaats#1%
- {\getvalue{regel#1}}
-
-\def\dosteltolerantiein[#1]%
- {\doifinsetelse{\v!vertikaal}{#1}%
- {\ExpandFirstAfter\processallactionsinset
- [#1]
- [\v!zeerstreng=>\def\bottomtolerance{},
- \v!streng=>\def\bottomtolerance{.050},
- \v!soepel=>\def\bottomtolerance{.075},
- \v!zeersoepel=>\def\bottomtolerance{.100}]}%
- {\ExpandFirstAfter\processallactionsinset
- [#1]
- [ \v!rek=>\emergencystretch=\bodyfontsize,
- \v!zeerstreng=>\tolerance=200,
- \v!streng=>\tolerance=1500,
- \v!soepel=>\tolerance=3000,
- \v!zeersoepel=>\tolerance=4500]}}
-
-\def\steltolerantiein%
- {\dosingleargument\dosteltolerantiein}
-
-\def\woordrechts%
- {\groupedcommand{\hfill\hbox}{\parfillskip\!!zeropoint}}
-
\newif\iflowinmargin
\def\stelinmargein%
@@ -5083,7 +3407,6 @@
%D \macros
%D {inleftside,inleftmargin,inrightmargin,inrightside}
-%D {}
%D
%D The fast and clean way of putting things in the margin is
%D using \type{\rlap} or \type{\llap}. Unfortunately these
@@ -6520,140 +4843,6 @@
\def\stelopmaakin%
{\dodoubleargument\dostelopmaakin}
-\newskip\linkssmaller
-\newskip\rechtssmaller
-\newskip\middensmaller
-
-\def\dosinglesmaller#1%
- {\processaction
- [#1]
- [ \v!links=>\global\advance\linkssmaller by \@@sllinks,
- \v!midden=>\global\advance\middensmaller by \@@slmidden,
- \v!rechts=>\global\advance\rechtssmaller by \@@slrechts,
- \s!unknown=>\global\advance\middensmaller by \commalistelement]}
-
-\def\dosmaller[#1]%
- {\processaction
- [#1]
- [ \v!links=>\global\advance\linkssmaller by \@@sllinks,
- \v!midden=>\global\advance\middensmaller by \@@slmidden,
- \v!rechts=>\global\advance\rechtssmaller by \@@slrechts,
- \s!unknown=>{\herhaalmetcommando[#1]\dosinglesmaller}]}
-
-\def\complexstartsmaller[#1]%
- {\par
- \bgroup
- \global\linkssmaller=\!!zeropoint
- \global\rechtssmaller=\!!zeropoint
- \global\middensmaller=\!!zeropoint
- \processcommalistwithparameters[#1]\dosmaller
- \advance\leftskip by \linkssmaller
- \advance\rightskip by \rechtssmaller
- \advance\leftskip by \middensmaller
- \advance\rightskip by \middensmaller}
-
-\def\simplestartsmaller%
- {\startsmaller[\v!midden]}
-
-\definecomplexorsimple\startsmaller
-
-\def\stopsmaller%
- {\par % else skips forgotten
- \egroup}
-
-\def\stelsmallerin%
- {\dodoubleargument\getparameters[\??sl]}
-
-\def\dodefinieerhbox[#1][#2]%
- {\setvalue{hbox#1}##1%
- {\hbox to #2{\begstrut##1\endstrut\hss}}}
-
-\def\definieerhbox%
- {\dodoubleargument\dodefinieerhbox}
-
-\def\lrcbox#1#2#%
- {\vbox#2\bgroup
- \let\\=\endgraf
- \forgetall#1\let\next=}
-
-\def\lbox%
- {\lrcbox\raggedleft}
-
-\def\rbox%
- {\lrcbox\raggedright}
-
-\def\cbox%
- {\lrcbox\raggedcenter}
-
-\def\dosetraggedvbox#1%
- {\processaction
- [#1]
- [ \v!links=>\def\raggedbox{\lbox},
- \v!rechts=>\def\raggedbox{\rbox},
- \v!midden=>\def\raggedbox{\cbox},
- \v!nee=>\def\raggedbox{\vbox\bgroup\raggedright\let\next=},
- \s!default=>\def\raggedbox{\vbox},
- \s!unknown=>\def\raggedbox{\vbox}]}
-
-\def\dosetraggedhbox#1%
- {\processaction
- [#1]
- [ \v!links=>\let\raggedbox\regellinks,
- \v!rechts=>\let\raggedbox\regelrechts,
- \v!midden=>\let\raggedbox\regelmidden,
- \v!normaal=>\let\raggedbox\hbox,
- \s!default=>\let\raggedbox\hbox,
- \s!unknown=>\let\raggedbox\hbox]}
-
-% \def\dosetraggedcommand#1% ook ruim,rechts en zo
-% {\processaction
-% [#1]
-% [ \v!links=>\def\raggedcommand{\raggedleft},
-% \v!rechts=>\def\raggedcommand{\raggedright},
-% \v!midden=>\def\raggedcommand{\raggedcenter},
-% \v!nee=>\def\raggedcommand{\raggedright},
-% \v!normaal=>\let\raggedcommand\relax,
-% \s!default=>\def\raggedcommand{\raggedcenter},
-% \s!unknown=>\let\raggedcommand\relax]}
-
-\def\dosetraggedcommand#1%
- {\expanded{\dodosetraggedcommand{#1}}}
-
-\def\dodosetraggedcommand#1%
- {\doifinsetelse{\v!ruim} {#1}{\!!doneatrue}{\!!doneafalse}%
- \doifinsetelse{\v!breed}{#1}{\!!donebtrue}{\!!donebfalse}%
- \let\raggedcommand\relax
- \let\raggedtopcommand\empty
- \let\raggedbottomcommand\empty
- \!!donectrue
- \ExpandFirstAfter\processallactionsinset
- [#1]
- [ \v!links=>\if!!donea \def\raggedcommand{\veryraggedleft}%
- \else \def\raggedcommand{\raggedleft}%
- \fi
- \!!donecfalse, % {\v!links,\v!midden}
- \v!rechts=>\if!!donea \def\raggedcommand{\veryraggedright}%
- \else \def\raggedcommand{\raggedright}%
- \fi
- \!!donecfalse, % {\v!rechts,\v!midden}
- \v!midden=>\if!!donec
- \if!!doneb \def\raggedcommand{\raggedwidecenter}%
- \else\if!!donea \def\raggedcommand{\veryraggedcenter}%
- \else \def\raggedcommand{\raggedcenter}%
- \fi\fi
- \!!donecfalse % {\v!midden,\v!midden}
- \else
- \let\raggedbottomcommand\vfilll % bonus, pretty strong
- \let\raggedtopcommand \vfilll % used with \framed for
- \fi, % instance in tables
- \v!hoog=>\let\raggedbottomcommand\vfilll, % and since we lack a
- \v!laag=>\let\raggedtopcommand \vfilll, % proper keyword, but
- \v!laho=>\let\raggedbottomcommand\vfilll % we do support the
- \let\raggedtopcommand \vfilll, % ugly laho (lohi)
- \v!nee=>\def\raggedcommand{\raggedright},
- \v!ja=>\let\raggedcommand\relax,
- \v!normaal=>\let\raggedcommand\relax]}
-
\def\stelplaatsblokkenin%
{\dodoubleargument\getparameters[\??bk]}
@@ -9339,14 +7528,6 @@
\c!links=,
\c!rechts=\hss]
-\stelinterliniein
- [\c!hoogte=.72,
- \c!diepte=.28,
- \c!boven=1.0,
- \c!onder=0.4,
- \c!afstand=1pt,
- \c!regel=2.8ex]
-
\stelkolommenin
[\c!n=2,
\c!nboven=1,
@@ -9653,21 +7834,6 @@
\c!linkerbreedte=\getvalue{\??tk\v!tekst\v!rand\c!breedte},
\c!rechterbreedte=\getvalue{\??tk\v!tekst\v!rand\c!breedte}]
-\stelblankoin
- [\v!standaard,
- \v!groot]
-
-\definieerblanko[\v!default] [\currentblanko]
-\definieerblanko[\v!voor] [\v!default]
-\definieerblanko[\v!tussen] [\v!default]
-\definieerblanko[\v!na] [\v!voor]
-
-% doen?
-
-\def\@@blankovoor {\blanko[\v!voor]} %
-\def\@@blankotussen{\blanko[\v!tussen]} % scheelt 5 tokens == >20 bytes
-\def\@@blankona {\blanko[\v!na]} %
-
\stelblokkopjesin
[\c!plaats=\v!onder,
\c!voor=\blanko,
@@ -9717,15 +7883,6 @@
[\c!conversie=\v!letter, % \v!romeins
\c!regels=3]
-\stelwitruimtein
- [\v!geen]
-
-\inspringen
- [\v!nooit]
-
-\stelinspringenin
- [\v!geen]
-
\stelreferentielijstin
[\c!letter=\v!normaal]
@@ -9758,11 +7915,6 @@
[\c!wijze=\v!per\v!deel,
\c!status=\v!stop]
-\stelsmallerin
- [\c!links=1.5em,
- \c!rechts=1.5em,
- \c!midden=1.5em]
-
\stelregelnummerenin
[\c!conversie=\v!cijfers,
\c!start=1,
@@ -9811,19 +7963,6 @@
\stelnaastplaatsenin
[\c!status=\v!stop]
-\steltolerantiein
- [\v!horizontaal,\v!zeerstreng]
-
-\steltolerantiein
- [\v!vertikaal,\v!streng]
-
-\steluitlijnenin
- [\v!onder,
- \v!breedte]
-
-\stelspatieringin
- [\v!opelkaar]
-
\definieerplaatsblok
[\v!figuur]
[\v!figuren]
diff --git a/tex/context/base/math-ams.tex b/tex/context/base/math-ams.tex
new file mode 100644
index 000000000..4cfe92440
--- /dev/null
+++ b/tex/context/base/math-ams.tex
@@ -0,0 +1,317 @@
+%D \module
+%D [ file=math-ams,
+%D version=2001.04.12,
+%D title=\CONTEXT\ Math Macros,
+%D subtitle=AMS Specials,
+%D author={Hans Hagen \& Taco Hoekwater},
+%D date=\currentdate,
+%D copyright=\PRAGMA]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\unprotect
+
+\definefamilysynonym [ams] [blackboard] [mb]
+
+\startmathcollection[ams]
+
+\definemathsymbol [varGamma] [ord] [letters] ["00]
+\definemathsymbol [varDelta] [ord] [letters] ["01]
+\definemathsymbol [varTheta] [ord] [letters] ["02]
+\definemathsymbol [varLambda] [ord] [letters] ["03]
+\definemathsymbol [varXi] [ord] [letters] ["04]
+\definemathsymbol [varPi] [ord] [letters] ["05]
+\definemathsymbol [varSigma] [ord] [letters] ["06]
+\definemathsymbol [varUpsilon] [ord] [letters] ["07]
+\definemathsymbol [varPhi] [ord] [letters] ["08]
+\definemathsymbol [varPsi] [ord] [letters] ["09]
+\definemathsymbol [varOmega] [ord] [letters] ["0A]
+
+\stopmathcollection
+
+\startmathcollection[default]
+
+\definemathsymbol [internalAnd] [rel] [operators] ["26]
+
+\stopmathcollection
+
+\startmathcollection[ams]
+
+\definemathsymbol [boxdot] [bin] [ma] ["00]
+\definemathsymbol [boxplus] [bin] [ma] ["01]
+\definemathsymbol [boxtimes] [bin] [ma] ["02]
+\definemathsymbol [square] [ord] [ma] ["03]
+\definemathsymbol [Box] [ord] [ma] ["03] % square
+\definemathsymbol [blacksquare] [ord] [ma] ["04]
+\definemathsymbol [centerdot] [bin] [ma] ["05]
+\definemathsymbol [Diamond] [ord] [ma] ["06]
+\definemathsymbol [lozenge] [ord] [ma] ["06] % Diamond
+\definemathsymbol [blacklozenge] [ord] [ma] ["07]
+\definemathsymbol [circlearrowright] [rel] [ma] ["08]
+\definemathsymbol [circlearrowleft] [rel] [ma] ["09]
+\definemathsymbol [rightleftharpoons] [rel] [ma] ["0A]
+\definemathsymbol [leftrightharpoons] [rel] [ma] ["0B]
+\definemathsymbol [boxminus] [bin] [ma] ["0C]
+\definemathsymbol [Vdash] [rel] [ma] ["0D]
+\definemathsymbol [Vvdash] [rel] [ma] ["0E]
+\definemathsymbol [vDash] [rel] [ma] ["0F]
+\definemathsymbol [twoheadrightarrow] [rel] [ma] ["10]
+\definemathsymbol [twoheadleftarrow] [rel] [ma] ["11]
+\definemathsymbol [leftleftarrows] [rel] [ma] ["12]
+\definemathsymbol [rightrightarrows] [rel] [ma] ["13]
+\definemathsymbol [upuparrows] [rel] [ma] ["14]
+\definemathsymbol [downdownarrows] [rel] [ma] ["15]
+\definemathsymbol [upharpoonright] [rel] [ma] ["16]
+\definemathsymbol [restriction] [rel] [ma] ["16]
+\definemathsymbol [downharpoonright] [rel] [ma] ["17]
+\definemathsymbol [upharpoonleft] [rel] [ma] ["18]
+\definemathsymbol [downharpoonleft] [rel] [ma] ["19]
+\definemathsymbol [rightarrowtail] [rel] [ma] ["1A]
+\definemathsymbol [leftarrowtail] [rel] [ma] ["1B]
+\definemathsymbol [leftrightarrows] [rel] [ma] ["1C]
+\definemathsymbol [rightleftarrows] [rel] [ma] ["1D]
+\definemathsymbol [Lsh] [rel] [ma] ["1E]
+\definemathsymbol [Rsh] [rel] [ma] ["1F]
+\definemathsymbol [rightsquigarrow] [rel] [ma] ["20]
+\definemathsymbol [leadsto] [rel] [ma] ["20] % rightsquigarrow
+\definemathsymbol [leftrightsquigarrow] [rel] [ma] ["21]
+\definemathsymbol [looparrowleft] [rel] [ma] ["22]
+\definemathsymbol [looparrowright] [rel] [ma] ["23]
+\definemathsymbol [circeq] [rel] [ma] ["24]
+\definemathsymbol [succsim] [rel] [ma] ["25]
+\definemathsymbol [gtrsim] [rel] [ma] ["26]
+\definemathsymbol [gtrapprox] [rel] [ma] ["27]
+\definemathsymbol [multimap] [rel] [ma] ["28]
+\definemathsymbol [therefore] [rel] [ma] ["29]
+\definemathsymbol [because] [rel] [ma] ["2A]
+\definemathsymbol [doteqdot] [rel] [ma] ["2B]
+\definemathsymbol [Doteq] [rel] [ma] ["2B] % doteqdot
+\definemathsymbol [triangleq] [rel] [ma] ["2C]
+\definemathsymbol [precsim] [rel] [ma] ["2D]
+\definemathsymbol [lesssim] [rel] [ma] ["2E]
+\definemathsymbol [lessapprox] [rel] [ma] ["2F]
+\definemathsymbol [eqslantless] [rel] [ma] ["30]
+\definemathsymbol [eqslantgtr] [rel] [ma] ["31]
+\definemathsymbol [curlyeqprec] [rel] [ma] ["32]
+\definemathsymbol [curlyeqsucc] [rel] [ma] ["33]
+\definemathsymbol [preccurlyeq] [rel] [ma] ["34]
+\definemathsymbol [leqq] [rel] [ma] ["35]
+\definemathsymbol [leqslant] [rel] [ma] ["36]
+\definemathsymbol [lessgtr] [rel] [ma] ["37]
+\definemathsymbol [backprime] [ord] [ma] ["38]
+\definemathsymbol [dabar@] [ord] [ma] ["39] % @
+\definemathsymbol [risingdotseq] [rel] [ma] ["3A]
+\definemathsymbol [fallingdotseq] [rel] [ma] ["3B]
+\definemathsymbol [succcurlyeq] [rel] [ma] ["3C]
+\definemathsymbol [geqq] [rel] [ma] ["3D]
+\definemathsymbol [geqslant] [rel] [ma] ["3E]
+\definemathsymbol [gtrless] [rel] [ma] ["3F]
+\definemathsymbol [sqsubset] [rel] [ma] ["40]
+\definemathsymbol [sqsupset] [rel] [ma] ["41]
+\definemathsymbol [vartriangleright] [rel] [ma] ["42]
+\definemathsymbol [rhd] [bin] [ma] ["42]
+\definemathsymbol [lhd] [bin] [ma] ["43]
+\definemathsymbol [vartriangleleft] [rel] [ma] ["43]
+\definemathsymbol [trianglerighteq] [rel] [ma] ["44]
+\definemathsymbol [unrhd] [bin] [ma] ["44] % trianglerighteq
+\definemathsymbol [trianglelefteq] [rel] [ma] ["45]
+\definemathsymbol [unlhd] [bin] [ma] ["45] % trianglelefteq
+\definemathsymbol [bigstar] [ord] [ma] ["46]
+\definemathsymbol [between] [rel] [ma] ["47]
+\definemathsymbol [blacktriangledown] [ord] [ma] ["48]
+\definemathsymbol [blacktriangleright] [rel] [ma] ["49]
+\definemathsymbol [blacktriangleleft] [rel] [ma] ["4A]
+\definemathsymbol [vartriangle] [rel] [ma] ["4D]
+\definemathsymbol [blacktriangle] [ord] [ma] ["4E]
+\definemathsymbol [triangledown] [ord] [ma] ["4F]
+\definemathsymbol [eqcirc] [rel] [ma] ["50]
+\definemathsymbol [lesseqgtr] [rel] [ma] ["51]
+\definemathsymbol [gtreqless] [rel] [ma] ["52]
+\definemathsymbol [lesseqqgtr] [rel] [ma] ["53]
+\definemathsymbol [gtreqqless] [rel] [ma] ["54]
+\definemathsymbol [Rrightarrow] [rel] [ma] ["56]
+\definemathsymbol [Lleftarrow] [rel] [ma] ["57]
+\definemathsymbol [veebar] [bin] [ma] ["59]
+\definemathsymbol [barwedge] [bin] [ma] ["5A]
+\definemathsymbol [doublebarwedge] [bin] [ma] ["5B]
+\definemathsymbol [angle] [ord] [ma] ["5C]
+\definemathsymbol [measuredangle] [ord] [ma] ["5D]
+\definemathsymbol [sphericalangle] [ord] [ma] ["5E]
+\definemathsymbol [varpropto] [rel] [ma] ["5F]
+\definemathsymbol [smallsmile] [rel] [ma] ["60]
+\definemathsymbol [smallfrown] [rel] [ma] ["61]
+\definemathsymbol [Subset] [rel] [ma] ["62]
+\definemathsymbol [Supset] [rel] [ma] ["63]
+\definemathsymbol [Cup] [bin] [ma] ["64]
+\definemathsymbol [doublecup] [bin] [ma] ["64] % Cup
+\definemathsymbol [Cap] [bin] [ma] ["65]
+\definemathsymbol [doublecap] [bin] [ma] ["65]
+\definemathsymbol [curlywedge] [bin] [ma] ["66]
+\definemathsymbol [curlyvee] [bin] [ma] ["67]
+\definemathsymbol [leftthreetimes] [bin] [ma] ["68]
+\definemathsymbol [rightthreetimes] [bin] [ma] ["69]
+\definemathsymbol [subseteqq] [rel] [ma] ["6A]
+\definemathsymbol [supseteqq] [rel] [ma] ["6B]
+\definemathsymbol [bumpeq] [rel] [ma] ["6C]
+\definemathsymbol [Bumpeq] [rel] [ma] ["6D]
+\definemathsymbol [llless] [rel] [ma] ["6E]
+\definemathsymbol [lll] [rel] [ma] ["6E] % llless
+\definemathsymbol [gggtr] [rel] [ma] ["6F]
+\definemathsymbol [ggg] [rel] [ma] ["6F] % gggtr
+\definemathsymbol [ulcorner] [open] [ma] ["70] [ma] ["70]
+\definemathsymbol [urcorner] [close] [ma] ["71] [ma] ["71]
+\definemathsymbol [circledS] [ord] [ma] ["73]
+\definemathsymbol [pitchfork] [rel] [ma] ["74]
+\definemathsymbol [dotplus] [bin] [ma] ["75]
+\definemathsymbol [backsim] [rel] [ma] ["76]
+\definemathsymbol [backsimeq] [rel] [ma] ["77]
+\definemathsymbol [llcorner] [open] [ma] ["78] [ma] ["78]
+\definemathsymbol [lrcorner] [close] [ma] ["79] [ma] ["79]
+\definemathsymbol [complement] [ord] [ma] ["7B]
+\definemathsymbol [intercal] [bin] [ma] ["7C]
+\definemathsymbol [circledcirc] [bin] [ma] ["7D]
+\definemathsymbol [circledast] [bin] [ma] ["7E]
+\definemathsymbol [circleddash] [bin] [ma] ["7F]
+
+\stopmathcollection
+
+\startmathcollection[ams]
+
+\definemathsymbol [lvertneqq] [rel] [mb] ["00]
+\definemathsymbol [gvertneqq] [rel] [mb] ["01]
+\definemathsymbol [nleq] [rel] [mb] ["02]
+\definemathsymbol [ngeq] [rel] [mb] ["03]
+\definemathsymbol [nless] [rel] [mb] ["04]
+\definemathsymbol [ngtr] [rel] [mb] ["05]
+\definemathsymbol [nprec] [rel] [mb] ["06]
+\definemathsymbol [nsucc] [rel] [mb] ["07]
+\definemathsymbol [lneqq] [rel] [mb] ["08]
+\definemathsymbol [gneqq] [rel] [mb] ["09]
+\definemathsymbol [nleqslant] [rel] [mb] ["0A]
+\definemathsymbol [ngeqslant] [rel] [mb] ["0B]
+\definemathsymbol [lneq] [rel] [mb] ["0C]
+\definemathsymbol [gneq] [rel] [mb] ["0D]
+\definemathsymbol [npreceq] [rel] [mb] ["0E]
+\definemathsymbol [nsucceq] [rel] [mb] ["0F]
+\definemathsymbol [precnsim] [rel] [mb] ["10]
+\definemathsymbol [succnsim] [rel] [mb] ["11]
+\definemathsymbol [lnsim] [rel] [mb] ["12]
+\definemathsymbol [gnsim] [rel] [mb] ["13]
+\definemathsymbol [nleqq] [rel] [mb] ["14]
+\definemathsymbol [ngeqq] [rel] [mb] ["15]
+\definemathsymbol [precneqq] [rel] [mb] ["16]
+\definemathsymbol [succneqq] [rel] [mb] ["17]
+\definemathsymbol [precnapprox] [rel] [mb] ["18]
+\definemathsymbol [succnapprox] [rel] [mb] ["19]
+\definemathsymbol [lnapprox] [rel] [mb] ["1A]
+\definemathsymbol [gnapprox] [rel] [mb] ["1B]
+\definemathsymbol [nsim] [rel] [mb] ["1C]
+\definemathsymbol [ncong] [rel] [mb] ["1D]
+\definemathsymbol [diagup] [ord] [mb] ["1E]
+\definemathsymbol [diagdown] [ord] [mb] ["1F]
+\definemathsymbol [varsubsetneq] [rel] [mb] ["20]
+\definemathsymbol [varsupsetneq] [rel] [mb] ["21]
+\definemathsymbol [nsubseteqq] [rel] [mb] ["22]
+\definemathsymbol [nsupseteqq] [rel] [mb] ["23]
+\definemathsymbol [subsetneqq] [rel] [mb] ["24]
+\definemathsymbol [supsetneqq] [rel] [mb] ["25]
+\definemathsymbol [varsubsetneqq] [rel] [mb] ["26]
+\definemathsymbol [varsupsetneqq] [rel] [mb] ["27]
+\definemathsymbol [subsetneq] [rel] [mb] ["28]
+\definemathsymbol [supsetneq] [rel] [mb] ["29]
+\definemathsymbol [nsubseteq] [rel] [mb] ["2A]
+\definemathsymbol [nsupseteq] [rel] [mb] ["2B]
+\definemathsymbol [nparallel] [rel] [mb] ["2C]
+\definemathsymbol [nmid] [rel] [mb] ["2D]
+\definemathsymbol [nshortmid] [rel] [mb] ["2E]
+\definemathsymbol [nshortparallel] [rel] [mb] ["2F]
+\definemathsymbol [nvdash] [rel] [mb] ["30]
+\definemathsymbol [nVdash] [rel] [mb] ["31]
+\definemathsymbol [nvDash] [rel] [mb] ["32]
+\definemathsymbol [nVDash] [rel] [mb] ["33]
+\definemathsymbol [ntrianglerighteq] [rel] [mb] ["34]
+\definemathsymbol [ntrianglelefteq] [rel] [mb] ["35]
+\definemathsymbol [ntriangleleft] [rel] [mb] ["36]
+\definemathsymbol [ntriangleright] [rel] [mb] ["37]
+\definemathsymbol [nleftarrow] [rel] [mb] ["38]
+\definemathsymbol [nrightarrow] [rel] [mb] ["39]
+\definemathsymbol [nLeftarrow] [rel] [mb] ["3A]
+\definemathsymbol [nRightarrow] [rel] [mb] ["3B]
+\definemathsymbol [nLeftrightarrow] [rel] [mb] ["3C]
+\definemathsymbol [nleftrightarrow] [rel] [mb] ["3D]
+\definemathsymbol [divideontimes] [bin] [mb] ["3E]
+\definemathsymbol [varnothing] [ord] [mb] ["3F]
+\definemathsymbol [nexists] [ord] [mb] ["40]
+\definemathsymbol [Finv] [ord] [mb] ["60]
+\definemathsymbol [Game] [ord] [mb] ["61]
+\definemathsymbol [mho] [ord] [mb] ["66]
+\definemathsymbol [eth] [ord] [mb] ["67]
+\definemathsymbol [eqsim] [rel] [mb] ["68]
+\definemathsymbol [beth] [ord] [mb] ["69]
+\definemathsymbol [gimel] [ord] [mb] ["6A]
+\definemathsymbol [daleth] [ord] [mb] ["6B]
+\definemathsymbol [lessdot] [bin] [mb] ["6C]
+\definemathsymbol [gtrdot] [bin] [mb] ["6D]
+\definemathsymbol [ltimes] [bin] [mb] ["6E]
+\definemathsymbol [rtimes] [bin] [mb] ["6F]
+\definemathsymbol [shortmid] [rel] [mb] ["70]
+\definemathsymbol [shortparallel] [rel] [mb] ["71]
+\definemathsymbol [smallsetminus] [bin] [mb] ["72]
+\definemathsymbol [thicksim] [rel] [mb] ["73]
+\definemathsymbol [thickapprox] [rel] [mb] ["74]
+\definemathsymbol [approxeq] [rel] [mb] ["75]
+\definemathsymbol [succapprox] [rel] [mb] ["76]
+\definemathsymbol [precapprox] [rel] [mb] ["77]
+\definemathsymbol [curvearrowleft] [rel] [mb] ["78]
+\definemathsymbol [curvearrowright] [rel] [mb] ["79]
+\definemathsymbol [digamma] [ord] [mb] ["7A]
+\definemathsymbol [varkappa] [ord] [mb] ["7B]
+\definemathsymbol [Bbbk] [ord] [mb] ["7C]
+\definemathsymbol [hslash] [ord] [mb] ["7D]
+\definemathsymbol [hbar] [ord] [mb] ["7E]
+\definemathsymbol [backepsilon] [rel] [mb] ["7F]
+
+\stopmathcollection
+
+\startmathcollection[ams]
+
+\definemathcommand [yen] [nothing] {\mathhexbox{\hexmafam}55}
+\definemathcommand [checkmark] [nothing] {\mathhexbox{\hexmafam}58}
+\definemathcommand [circledR] [nothing] {\mathhexbox{\hexmafam}72}
+\definemathcommand [maltese] [nothing] {\mathhexbox{\hexmafam}7A}
+\definemathcommand [dashrightarrow] [rel] {\dabar@\dabar@ \mathchar"0C4B}%
+\definemathcommand [dashleftarrow] [rel] {\mathchar"0C4C\dabar@ \dabar@}%
+\definemathcommand [dasharrow] [rel] {\dabar@\dabar@ \mathchar"0C4B}%
+\definemathcommand [Join] [rel] {\mathchar"0D6F\mkern-13.8mu\mathchar"0D6E}
+\definemathcommand [implies] [rel] {\;\Longrightarrow\;}
+\definemathcommand [impliedby] [rel] {\;\Longleftarrow\;}
+\definemathcommand [And] [rel] {\;\internalAnd\;}
+
+\stopmathcollection
+
+\def\AMSwidehat#1%
+ {\setbox\scratchbox\hbox{$\m@th#1$}%
+ \ifdim\wd\scratchbox>2em
+ \mathaccent"0\purefamilyhex{mb}5B{#1}%
+ \else
+ \mathaccent"0\purefamilyhex{ex}62{#1}%
+ \fi}
+
+\def\AMSwidetilde#1%
+ {\setbox\scratchbox\hbox{$\m@th#1$}%
+ \ifdim\wd\scratchbox>2em
+ \mathaccent"0\purefamilyhex{mb}5D{#1}%
+ \else
+ \mathaccent"0\purefamilyhex{ex}65{#1}%
+ \fi}
+
+\startmathcollection[ams]
+
+\definemathcommand [widehat] {\AMSwidehat}
+\definemathcommand [widetilde] {\AMSwidetilde}
+
+\stopmathcollection
+
+\protect \endinput
diff --git a/tex/context/base/math-eul.tex b/tex/context/base/math-eul.tex
new file mode 100644
index 000000000..0ec35fe16
--- /dev/null
+++ b/tex/context/base/math-eul.tex
@@ -0,0 +1,127 @@
+%D \module
+%D [ file=math-eul,
+%D version=2001.04.12,
+%D title=\CONTEXT\ Math Macros,
+%D subtitle=Euler Specials,
+%D author={Hans Hagen \& Taco Hoekwater},
+%D date=\currentdate,
+%D copyright=\PRAGMA]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\unprotect
+
+\startmathcollection[eul]
+
+\definemathcharacter [0] [alpha] [mi] [30]
+\definemathcharacter [1] [alpha] [mi] [31]
+\definemathcharacter [2] [alpha] [mi] [32]
+\definemathcharacter [3] [alpha] [mi] [33]
+\definemathcharacter [4] [alpha] [mi] [34]
+\definemathcharacter [5] [alpha] [mi] [35]
+\definemathcharacter [6] [alpha] [mi] [36]
+\definemathcharacter [7] [alpha] [mi] [37]
+\definemathcharacter [8] [alpha] [mi] [38]
+\definemathcharacter [9] [alpha] [mi] [39]
+
+\stopmathcollection
+
+\startmathcollection[eul]
+
+\definemathsymbol [intop] [op] [ma] ["52]
+\definemathsymbol [ointop] [op] [ma] ["48]
+\definemathsymbol [coprod] [op] [ma] ["60]
+\definemathsymbol [prod] [op] [ma] ["51]
+\definemathsymbol [sum] [op] [ma] ["50]
+\definemathsymbol [braceld] [nothing] [ma] ["7A]
+\definemathsymbol [bracerd] [nothing] [ma] ["7B]
+\definemathsymbol [bracelu] [nothing] [ma] ["7C]
+\definemathsymbol [braceru] [nothing] [ma] ["7D]
+\definemathsymbol [infty] [ord] [ma] ["31]
+\definemathsymbol [nearrow] [rel] [ma] ["25]
+\definemathsymbol [searrow] [rel] [ma] ["26]
+\definemathsymbol [nwarrow] [rel] [ma] ["2D]
+\definemathsymbol [swarrow] [rel] [ma] ["2E]
+\definemathsymbol [Leftrightarrow] [rel] [ma] ["2C]
+\definemathsymbol [Leftarrow] [rel] [ma] ["28]
+\definemathsymbol [Rightarrow] [rel] [ma] ["29]
+\definemathsymbol [leftrightarrow] [rel] [ma] ["24]
+\definemathsymbol [leftarrow] [rel] [ma] ["20]
+\definemathsymbol [gets] [rel] [ma] ["20] % leftarrow
+\definemathsymbol [rightarrow] [rel] [ma] ["21]
+\definemathsymbol [to] [rel] [ma] ["21] % rightarrow
+\definemathsymbol [uparrow] [rel] [ma] ["22] [ex] ["78]
+\definemathsymbol [downarrow] [rel] [ma] ["23] [ex] ["79]
+\definemathsymbol [updownarrow] [rel] [ma] ["6C] [ex] ["3F]
+\definemathsymbol [Uparrow] [rel] [ma] ["2A] [ex] ["7E]
+\definemathsymbol [Downarrow] [rel] [ma] ["2B] [ex] ["7F]
+\definemathsymbol [Updownarrow] [rel] [ma] ["6D] [ex] ["77]
+
+\definemathsymbol [leftharpoonup] [rel] [ma] ["18]
+\definemathsymbol [leftharpoondown] [rel] [ma] ["19]
+\definemathsymbol [rightharpoonup] [rel] [ma] ["1A]
+\definemathsymbol [rightharpoondown] [rel] [ma] ["1B]
+
+\stopmathcollection
+
+\startmathcollection[eul]
+
+\definemathcharacter [+] [bin] [mc] ["2B]
+\definemathcharacter [-] [bin] [mc] ["2D]
+\definemathcharacter [!] [ord] [mc] ["21]
+\definemathcharacter [(] [open] [mc] ["28]
+\definemathcharacter [)] [close] [mc] ["29]
+\definemathcharacter [91] [open] [mc] ["5B]
+\definemathcharacter [93] [close] [mc] ["5D]
+\definemathcharacter [=] [rel] [mc] ["3D]
+
+\definemathcharacter [(] [nothing] [mc] ["28] [ex] ["00]
+\definemathcharacter [)] [nothing] [mc] ["29] [ex] ["01]
+\definemathcharacter [91] [nothing] [mc] ["5B] [ex] ["02]
+\definemathcharacter [93] [nothing] [mc] ["5D] [ex] ["03]
+
+\stopmathcollection
+
+\startmathcollection[eul]
+
+\definemathsymbol [Gamma] [alpha] [mi] ["00]
+\definemathsymbol [Delta] [alpha] [mi] ["01]
+\definemathsymbol [Theta] [alpha] [mi] ["02]
+\definemathsymbol [Lambda] [alpha] [mi] ["03]
+\definemathsymbol [Xi] [alpha] [mi] ["04]
+\definemathsymbol [Pi] [alpha] [mi] ["05]
+\definemathsymbol [Sigma] [alpha] [mi] ["06]
+\definemathsymbol [Upsilon] [alpha] [mi] ["07]
+\definemathsymbol [Phi] [alpha] [mi] ["08]
+\definemathsymbol [Psi] [alpha] [mi] ["09]
+\definemathsymbol [Omega] [alpha] [mi] ["0A]
+
+\stopmathcollection
+
+\startmathcollection[eul]
+
+\definemathsymbol [Relbar] [rel] [mr] ["3D]
+\definemathsymbol [aleph] [ord] [sy] ["40] % ?
+\definemathsymbol [lbrace] [open] [mb] ["66] [ma] ["08]
+\definemathsymbol [rbrace] [close] [mb] ["67] [ma] ["09]
+\definemathsymbol [leq] [rel] [mb] ["14]
+\definemathsymbol [le] [rel] [mb] ["14]
+\definemathsymbol [geq] [rel] [mb] ["15]
+\definemathsymbol [ge] [rel] [mb] ["15]
+\definemathsymbol [Re] [ord] [mb] ["3C]
+\definemathsymbol [Im] [ord] [mb] ["3D]
+\definemathsymbol [vert] [nothing] [mb] ["6A] [ex] ["0C]
+\definemathsymbol [backslash] [nothing] [mb] ["6E] [ex] ["0F]
+
+\stopmathcollection
+
+\startmathcollection[eul]
+
+\definemathcommand [varsigma] {\sigma}
+\definemathcommand [varrho] {\rho}
+
+\stopmathcollection
+
+\protect \endinput
diff --git a/tex/context/base/math-ini.tex b/tex/context/base/math-ini.tex
new file mode 100644
index 000000000..1a86aeac4
--- /dev/null
+++ b/tex/context/base/math-ini.tex
@@ -0,0 +1,351 @@
+%D \module
+%D [ file=math-ini,
+%D version=2001.04.12,
+%D title=\CONTEXT\ Math Macros,
+%D subtitle=Basic Macros,
+%D author={Hans Hagen \& Taco Hoekwater},
+%D date=\currentdate,
+%D copyright=\PRAGMA]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D This module provides namespaces for math fonts, thereby
+%D permitting mixed usage of math fonts. Although not strictly
+%D needed, we also provide a family name mapping mechanism as
+%D used in the (original) AMS math definition files, but here
+%D these names can recursively be remapped and if needed,
+%D dynamically be changed. We've tried to minimize the number
+%D of definition commands and use plain \TEX\ definitions as
+%D fallback. We've tried to follow a couple of conventions
+%D from plain and AMS math in order to achieve backward
+%D compatinility. We also kept an eye on future usage of these
+%D modules in the perspective of MathML and unicode fonts.
+
+\unprotect
+
+\def\@mt@{@mt@} % math token
+\def\@mt@{@mc@} % math character
+\def\@mh@{@mh@} % math handler
+\def\@mf@{@mf@} % math family
+\def\@mc@{@mc@} % math class
+\def\@ml@{@mc@} % math list
+
+\def\@@mathlimopcomm#1{\mathop{#1}\limits}
+\def\@@mathnolopcomm#1{\mathop{#1}\nolimits}
+\def\@@mathboxcomm #1{\leavevmode\hbox{$\m@th#1$}}
+
+\chardef\mathordcode = 0 \let\mathordcomm \mathord
+\chardef\mathopcode = 1 \let\mathopcomm \mathop
+\chardef\mathbincode = 2 \let\mathbincomm \mathbin
+\chardef\mathrelcode = 3 \let\mathrelcomm \mathrel
+\chardef\mathopencode = 4 \let\mathopencomm \mathopen
+\chardef\mathclosecode = 5 \let\mathclosecomm \mathclose
+\chardef\mathpunctcode = 6 \let\mathpunctcomm \mathpunct
+\chardef\mathalphacode = 7 \let\mathalphacomm \firstofoneargument
+\chardef\mathinnercode = 0 \let\mathinnercomm \mathinner
+\chardef\mathnothingcode= 0 \let\mathnothingcomm \firstofoneargument
+\chardef\mathlimopcode = 1 \let\mathlimopcomm \@@mathlimopcomm
+\chardef\mathnolopcode = 1 \let\mathnolopcomm \@@mathnolopcomm
+\chardef\mathchoicecode = 0 \let\mathchoicecomm \@@mathchoicecomm
+\chardef\mathboxcode = 0 \let\mathboxcomm \@@mathboxcomm
+
+\chardef\mathaccentcode = 8
+\chardef\mathradicalcode= 9
+
+\def\@@mathchoicecomm#1{[todo #1]}
+
+\def\puremathcode#1{\the\csname math#1code\endcsname}
+\def\puremathcomm#1{\csname math#1comm\endcsname}
+
+\newif\iftracemathcollection
+
+\beginETEX \ifcsname
+
+\def\dohandlemathtoken#1%
+ {\csname\@mt@
+ \ifcsname\@mt@\mathcollection#1\endcsname
+ \mathcollection
+ \else\ifcsname\@mt@\nomathcollection#1\endcsname
+ \nomathcollection
+ \fi\fi
+ #1\endcsname}
+
+\endETEX
+
+\beginTEX
+
+\def\dohandlemathtoken#1%
+ {\csname\@mt@
+ \@EA\ifx\csname\@mt@\mathcollection#1\endcsname\relax
+ \@EA\ifx\csname\@mt@\nomathcollection#1\endcsname\relax
+ \else
+ \nomathcollection
+ \fi
+ \else
+ \mathcollection
+ \fi
+ #1\endcsname}
+
+\endTEX
+
+\def\definefamilysynonym%
+ {\dotripleempty\dodefinefamilysynonym}
+
+\def\dodefinefamilysynonym[#1][#2][#3]% [mathcollection] [] []
+ {\ifthirdargument
+ \setvalue{\@mf@#1#2}{#3}%
+ \else
+ \setvalue{\@mf@ #1}{#2}%
+ \fi}
+
+\def\purefamily #1{\csname \truefamily{#1}\s!fam\endcsname}
+\def\purefamilyhex#1{\csname hex\truefamily{#1}\s!fam\endcsname}
+
+\beginETEX \ifcsname
+
+\def\truefamily#1%
+ {\ifcsname\@mf@\mathcollection#1\endcsname
+ \@EA\truefamily\csname\@mf@\mathcollection#1\endcsname
+ \else\ifcsname\@mf@#1\endcsname
+ \@EA\truefamily\csname\@mf@#1\endcsname
+ \else\ifcsname\@mf@\nomathcollection#1\endcsname
+ \@EA\truefamily\csname\@mf@\nomathcollection#1\endcsname
+ \else
+ #1%
+ \fi\fi\fi}
+
+\endETEX
+
+\beginTEX
+
+\def\truefamily#1%
+ {\@EA\ifx\csname\@mf@\mathcollection#1\endcsname\relax
+ \@EA\ifx\csname\@mf@#1\endcsname\relax
+ \@EA\ifx\csname\@mf@\nomathcollection#1\endcsname\relax
+ #1%
+ \else
+ \@EA\truefamily\csname\@mf@\nomathcollection#1\endcsname
+ \fi
+ \else
+ \@EA\truefamily\csname\@mf@#1\endcsname
+ \fi
+ \else
+ \@EA\truefamily\csname\@mf@\mathcollection#1\endcsname
+ \fi}
+
+\endTEX
+
+\newif\ifdynamicmathfamilies \dynamicmathfamiliesfalse % true ?
+
+\let\normalpurefamilyhex\purefamilyhex
+
+% todo: reset collection (tok legen) en opnieuw laden met true
+
+\def\definemathsymbol%
+ {\dosixtupleempty\dodefinemathsymbol}
+
+\def\dodefinemathsymbol[#1][#2][#3][#4][#5][#6]%
+ {\unexpanded\setgvalue{#1}{\dohandlemathtoken{#1}}%
+ \ifdynamicmathfamilies \let\purefamilyhex\relax \fi
+ \setevalue{\@mt@\mathcollection#1}%
+ {\ifsixthargument
+ \ifnum\puremathcode{#2}=\mathradicalcode
+ \radical"%
+ \else
+ \delimiter"%
+ \ifnum\puremathcode{#2}>7 0\else\puremathcode{#2}\fi
+ \fi
+ \purefamilyhex{#3}\uchexnumbers{#4}%
+ \purefamilyhex{#5}\uchexnumbers{#6}\space
+ \else\iffourthargument
+ \ifnum\puremathcode{#2}=\mathaccentcode
+ \mathaccent\else\mathchar
+ \fi
+ "\ifnum\puremathcode{#2}>7 0\else\puremathcode{#2}\fi
+ \purefamilyhex{#3}\uchexnumbers{#4}\space
+ \fi\fi}%
+ \let\purefamilyhex\normalpurefamilyhex
+ \tracemathsymbol{#1}}
+
+\def\tracemathsymbol#1%
+ {\iftracemathcollection
+ {\endgraf
+ \hbox{\tex{#1}~:~{\mathematics{\getvalue{#1}{}}}}
+ \endgraf}%
+ \fi}
+
+\def\definemathcharacter%
+ {\dosixtupleempty\dodefinemathcharacter}
+
+\def\dodefinemathcharacter[#1][#2][#3][#4][#5][#6]%
+ {\setmathtoks
+ \ifdynamicmathfamilies \let\purefamilyhex\relax \fi
+ \doifnumberelse{#1}
+ {\scratchcounter=#1}
+ {\scratchcounter=\@EA`\string#1}%
+ \expanded
+ {\appendtoks
+ \ifsixthargument
+ \delcode\the\scratchcounter="%
+ \ifnum\puremathcode{#2}>7 0\else\puremathcode{#2}\fi
+ \purefamilyhex{#3}\uchexnumbers{#4}%
+ \purefamilyhex{#5}\uchexnumbers{#6}\space
+ \else\iffourthargument
+ \mathcode\the\scratchcounter="%
+ \ifnum\puremathcode{#2}>7 0\else\puremathcode{#2}\fi
+ \purefamilyhex{#3}\uchexnumbers{#4}\space
+ \fi\fi
+ \noexpand\to \noexpand\mathtoks}%
+ \let\purefamilyhex\normalpurefamilyhex
+ \tracemathcharacter{#1}}
+
+\def\tracemathcharacter#1%
+ {\iftracemathcollection
+ {\endgraf
+ \doifnumberelse{#1}
+ {\hbox{\tttf\rawcharacter{#1}~:~{\mathematics{\rawcharacter{#1}}}}}
+ {\hbox{\type{#1}~:~{\mathematics{#1}}}}
+ \endgraf}%
+ \fi}
+
+\def\definemathcommand%
+ {\dodoubleempty\dodefinemathcommand}
+
+\def\dodefinemathcommand[#1][#2]#3%
+ {\unexpanded\setgvalue{#1}{\dohandlemathtoken{#1}}%
+ \ifsecondargument
+ \setvalue{\@mt@\mathcollection#1}{\puremathcomm{#2}{#3}}%
+ \else
+ \setvalue{\@mt@\mathcollection#1}{\puremathcomm{nothing}{#3}}%
+ \fi
+ \tracemathcommand{#1}}
+
+\def\tracemathcommand#1%
+ {\iftracemathcollection
+ \endgraf
+ \hbox{\tex{#1}~:~{\mathematics{\getvalue{#1}{}}}}
+ \endgraf
+ \fi}
+
+\def\startmathcollection[#1]%
+ {\pushmacro\mathcollection
+ \setmathcollection{#1}}
+
+\def\setmathcollection#1%
+ {\def\mathcollection{#1}%
+ \doifundefined{\@ml@\mathcollection}
+ {\expandafter\newtoks\csname\@ml@\mathcollection\endcsname}}
+
+\def\stopmathcollection%
+ {\popmacro\mathcollection}
+
+\def\startrawmathcollection%
+ {\pushmacro\iftracemathcollection
+ \tracemathcollectionfalse
+ \startmathcollection}
+
+\def\stoprawmathcollection%
+ {\popmacro\iftracemathcollection
+ \stopmathcollection}
+
+\newtoks\mathtoks
+
+\def\setmathtoks%
+ {\@EA\let\@EA\mathtoks\csname\@ml@\mathcollection\endcsname}
+
+\def\currentmathcollection{\mathcollection}
+
+\def\nomathcollection{\s!default}
+
+\def\enablemathcollection[#1]%
+ {\doifnot{#1}{\s!default}
+ {\setmathcollection\s!default
+ \the\csname\@ml@\mathcollection\endcsname}%
+ \setmathcollection{#1}%
+ \the\csname\@ml@\mathcollection\endcsname}
+
+% hook 'm into the font mechanism
+
+\definefilesynonym[\f!mathprefix\s!default][\f!mathprefix tex]
+
+\def\usemathcollection[#1]%
+ {\doinputonce{\truefilename{\f!mathprefix#1}}%
+ \setvalue{\@mc@\fontclass\@mc@}{#1}}
+
+\def\autoenablemathcollection%
+ {\doifdefinedelse{\@mc@\fontclass\@mc@}
+ {\enablemathcollection[\getvalue{\@mc@\fontclass\@mc@}]}
+ {\enablemathcollection[\s!default]}}
+
+\appendtoks\autoenablemathcollection\to\mathstrategies
+
+\edef\hexmrfam {0} \edef\hexbsfam {8}
+\edef\hexmifam {1} \edef\hexbifam {9}
+\edef\hexsyfam {2} \edef\hexscfam {A}
+\edef\hexexfam {3} \edef\hextffam {B}
+\edef\hexitfam {4} \edef\hexmafam {C}
+\edef\hexslfam {5} \edef\hexmbfam {D}
+\edef\hexbffam {6} \edef\hexmcfam {E}
+\edef\hexnnfam {7} \edef\hexmdfam {F}
+
+\definefamilysynonym [default] [letters] [mr]
+\definefamilysynonym [default] [operators] [sy]
+\definefamilysynonym [default] [lcgreek] [mi]
+\definefamilysynonym [default] [ucgreek] [mr]
+\definefamilysynonym [default] [vargreek] [mi]
+\definefamilysynonym [default] [mitfamily] [mi]
+\definefamilysynonym [default] [calfamily] [sy]
+
+\definefamilysynonym [default] [0] [mr]
+\definefamilysynonym [default] [1] [mi]
+\definefamilysynonym [default] [2] [sy]
+\definefamilysynonym [default] [3] [ex]
+
+\enablemathcollection[default]
+
+\usemathcollection[default]
+
+\protect \endinput
+
+\tracemathcollectiontrue
+
+ \input math-tex \page
+\setupbodyfont[ams] \enablemathcollection[ams] \input math-ams \page
+\setupbodyfont[lbr] \enablemathcollection[lbr] \input math-lbr \page
+\setupbodyfont[eul] \enablemathcollection[eul] \input math-eul \stoptext
+
+
+% to be checked
+
+\def\defineactivecharacter #1 #2%
+ {\scratchcounter=\the\uccode`~
+ \expandafter\doifnumberelse\expandafter{\string#1}
+ {\catcode #1=\@@active \uccode`~= #1\relax}
+ {\catcode`#1=\@@active \uccode`~=`#1\relax}%
+ \uppercase{\def\next{~}}%
+ % unexpanded goes wrong in pdfdoc
+ %\expandafter\unexpanded\expandafter\def\next{#2}%
+ % better
+ %\expandafter\def\next{#2}%
+ % math aware
+ \expandafter\def\next{\dohandleactivecharacter{#1}{#2}}% new
+ \uccode`~=\scratchcounter}
+
+\def\dohandleactivecharacter%
+ {\ifmmode
+ \expandafter\dohandleactivemathcharacter
+ \else
+ \expandafter\secondoftwoarguments
+ \fi}
+
+\let\dohandleactivemathcharacter\secondoftwoarguments
+
+\def\dohandleactivemathcharacter#1#2%
+ {\ifundefined{@ma@\string#1}
+ \expandafter\firstofoneargument
+ \else
+ \getvalue{@ma@\string#1}%
+ \expandafter\gobbleoneargument
+ \fi{#2}}
diff --git a/tex/context/base/math-lbr.tex b/tex/context/base/math-lbr.tex
new file mode 100644
index 000000000..d6ecb8de5
--- /dev/null
+++ b/tex/context/base/math-lbr.tex
@@ -0,0 +1,167 @@
+%D \module
+%D [ file=math-lbr,
+%D version=2001.04.12,
+%D title=\CONTEXT\ Math Macros,
+%D subtitle=Lucida Specials,
+%D author={Hans Hagen \& Taco Hoekwater},
+%D date=\currentdate,
+%D copyright=\PRAGMA]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\unprotect
+
+\startmathcollection[lbr]
+
+\definemathsymbol [blacktriangleright] [rel] [mi] ["F0]
+\definemathsymbol [blacktriangleleft] [rel] [mi] ["F1]
+\definemathsymbol [boxtimes] [bin] [sy] ["EC]
+
+\stopmathcollection
+
+\startmathcollection[lbr]
+
+\definemathcharacter [91] [open] [mi] ["86]
+\definemathcharacter [93] [close] [mi] ["87]
+\definemathcharacter [(] [open] [mi] ["84]
+\definemathcharacter [)] [close] [mi] ["85]
+\definemathcharacter [/] [nothing] [mi] ["3D]
+\definemathcharacter [=] [rel] [sy] ["83]
+\definemathcharacter [+] [bin] [sy] ["82]
+
+\definemathcharacter [91] [nothing] [mi] ["86] [ex] ["02]
+\definemathcharacter [93] [nothing] [mi] ["87] [ex] ["03]
+\definemathcharacter [(] [nothing] [mi] ["84] [ex] ["00]
+\definemathcharacter [)] [nothing] [mi] ["85] [ex] ["01]
+\definemathcharacter [/] [nothing] [mi] ["3D] [ex] ["0E]
+
+\stopmathcollection
+
+\startmathcollection[lbr]
+
+\definemathsymbol [ldbrack] [open] [mi] ["82] [ex] ["82]
+\definemathsymbol [rdbrack] [close] [mi] ["83] [ex] ["83]
+\definemathsymbol [surfintop] [op] [ex] ["90]
+\definemathsymbol [midintop] [op] [ex] ["92]
+\definemathsymbol [midointop] [op] [ex] ["93]
+\definemathsymbol [midsurfintop] [op] [ex] ["94]
+\definemathsymbol [largeint] [op] [ex] ["5A] [ex] ["95]
+
+% \definemathcommand [surfint] [nolop] {\surfintop}
+% \definemathcommand [midint] [nolop] {\midintop}
+% \definemathcommand [midoint] [nolop] {\midointop}
+% \definemathcommand [midsurfint] [nolop] {\midsurfintop}
+
+\definemathsymbol [surfint] [nolop] [ex] ["90]
+\definemathsymbol [midint] [nolop] [ex] ["92]
+\definemathsymbol [midoint] [nolop] [ex] ["93]
+\definemathsymbol [midsurfint] [nolop] [ex] ["94]
+
+\definemathsymbol [dblint] [ord] [mi] ["88]
+\definemathsymbol [trplint] [ord] [mi] ["89]
+\definemathsymbol [contint] [ord] [mi] ["8A]
+\definemathsymbol [surfint] [ord] [mi] ["8B]
+\definemathsymbol [volint] [ord] [mi] ["8C]
+\definemathsymbol [clwint] [ord] [mi] ["8D]
+\definemathsymbol [cclwcint] [ord] [mi] ["8E]
+\definemathsymbol [clwcint] [ord] [mi] ["8F]
+\definemathsymbol [bowtie] [rel] [mi] ["F6]
+\definemathsymbol [models] [rel] [sy] ["EE]
+\definemathsymbol [doteq] [rel] [sy] ["C9]
+\definemathsymbol [cong] [rel] [sy] ["9B]
+\definemathsymbol [angle] [ord] [sy] ["8B]
+\definemathsymbol [hbar] [ord] [mi] ["9D]
+\definemathsymbol [neq] [rel] [ma] ["94]
+\definemathsymbol [rightleftharpoons] [rel] [ma] ["7A]
+\definemathsymbol [leftrightharpoons] [rel] [ma] ["79]
+\definemathsymbol [hookleftarrow] [rel] [ma] ["3C]
+\definemathsymbol [hookrightarrow] [rel] [ma] ["3E]
+\definemathsymbol [mapsto] [rel] [ma] ["2C]
+
+\definemathcommand [longmapsto] {\mapstochar\longrightarrow}
+
+\stopmathcollection
+
+\definefamilysynonym [lbr] [ucgreek] [ex]
+\definefamilysynonym [lbr] [vargreek] [mi]
+
+\startmathcollection[lbr]
+
+\definemathsymbol [Gamma] [alpha] [ucgreek] ["D0]
+\definemathsymbol [Delta] [alpha] [ucgreek] ["D1]
+\definemathsymbol [Theta] [alpha] [ucgreek] ["D2]
+\definemathsymbol [Lambda] [alpha] [ucgreek] ["D3]
+\definemathsymbol [Xi] [alpha] [ucgreek] ["D4]
+\definemathsymbol [Pi] [alpha] [ucgreek] ["D5]
+\definemathsymbol [Sigma] [alpha] [ucgreek] ["D6]
+\definemathsymbol [Upsilon] [alpha] [ucgreek] ["D7]
+\definemathsymbol [Phi] [alpha] [ucgreek] ["D8]
+\definemathsymbol [Psi] [alpha] [ucgreek] ["D9]
+\definemathsymbol [Omega] [alpha] [ucgreek] ["DA]
+
+\definemathsymbol [varGamma] [ord] [vargreek] ["00]
+\definemathsymbol [varDelta] [ord] [vargreek] ["01]
+\definemathsymbol [varTheta] [ord] [vargreek] ["02]
+\definemathsymbol [varLambda] [ord] [vargreek] ["03]
+\definemathsymbol [varXi] [ord] [vargreek] ["04]
+\definemathsymbol [varPi] [ord] [vargreek] ["05]
+\definemathsymbol [varSigma] [ord] [vargreek] ["06]
+\definemathsymbol [varUpsilon] [ord] [vargreek] ["07]
+\definemathsymbol [varPhi] [ord] [vargreek] ["08]
+\definemathsymbol [varPsi] [ord] [vargreek] ["09]
+\definemathsymbol [varOmega] [ord] [vargreek] ["0A]
+
+\stopmathcollection
+
+\def\LBRroot#1#2%
+ {\setbox\z@\hbox{$\m@th#1\sqrt{#2}$}
+ \dimen@\ht\z@ \advance\dimen@-\dp\z@
+ \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-7.5mu \box\z@}
+
+\def\LBRmatrix#1%
+ {\null\,\vcenter{\normalbaselines\m@th
+ \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
+ \mathstrut\crcr\noalign{\kern-0.9\baselineskip}
+ #1\crcr\mathstrut\crcr\noalign{\kern-0.9\baselineskip}}}\,}
+
+\startrawmathcollection[lbr]
+
+\definemathcommand [mathstrut] {\vphantom{f}}
+\definemathcommand [joinrel] {\mathrel{\mkern-4mu}}
+\definemathcommand [r@@t] {\LBRroot}
+\definemathcommand [matrix] {\LBRmatrix}
+
+\stoprawmathcollection
+
+% Should these be related to the bodyfontsize ?
+
+\def\LBRbig #1{{\hbox{$\left#1\vbox to 8.20\p@{}\right.\n@space$}}}
+\def\LBRBig #1{{\hbox{$\left#1\vbox to 10.80\p@{}\right.\n@space$}}}
+\def\LBRbigg #1{{\hbox{$\left#1\vbox to 13.42\p@{}\right.\n@space$}}}
+\def\LBRBigg #1{{\hbox{$\left#1\vbox to 16.03\p@{}\right.\n@space$}}}
+\def\LBRbiggg#1{{\hbox{$\left#1\vbox to 17.72\p@{}\right.\n@space$}}}
+\def\LBRBiggg#1{{\hbox{$\left#1\vbox to 21.25\p@{}\right.\n@space$}}}
+
+\startrawmathcollection[lbr]
+
+\definemathcommand [big] {\LBRbig}
+\definemathcommand [Big] {\LBRBig}
+\definemathcommand [bigg] {\LBRbigg}
+\definemathcommand [Bigg] {\LBRBigg}
+\definemathcommand [biggg] {\LBRbiggg}
+\definemathcommand [Biggg] {\LBRBiggg}
+
+\stoprawmathcollection
+
+\startrawmathcollection[lbr]
+
+\definemathcommand [bigggl] [open] {\biggg}
+\definemathcommand [bigggr] [close] {\biggg}
+\definemathcommand [Bigggl] [open] {\Biggg}
+\definemathcommand [Bigggr] [close] {\Biggg}
+
+\stoprawmathcollection
+
+\protect \endinput
diff --git a/tex/context/base/math-tex.tex b/tex/context/base/math-tex.tex
new file mode 100644
index 000000000..b938356b4
--- /dev/null
+++ b/tex/context/base/math-tex.tex
@@ -0,0 +1,495 @@
+%D \module
+%D [ file=math-tex,
+%D version=2001.04.12,
+%D title=\CONTEXT\ Math Macros,
+%D subtitle=Plain Specials,
+%D author={Hans Hagen \& Taco Hoekwater},
+%D date=\currentdate,
+%D copyright=\PRAGMA]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\unprotect
+
+\mathcode`\ ="8000
+\mathcode`\_="8000
+\mathcode`\'="8000
+
+\definefamilysynonym [default] [lcgreek] [mi]
+\definefamilysynonym [default] [ucgreek] [mr]
+\definefamilysynonym [default] [vargreek] [mi]
+
+\startmathcollection [default]
+
+\definemathsymbol [alpha] [nothing] [lcgreek] ["0B]
+\definemathsymbol [beta] [nothing] [lcgreek] ["0C]
+\definemathsymbol [gamma] [nothing] [lcgreek] ["0D]
+\definemathsymbol [delta] [nothing] [lcgreek] ["0E]
+\definemathsymbol [epsilon] [nothing] [lcgreek] ["0F]
+\definemathsymbol [zeta] [nothing] [lcgreek] ["10]
+\definemathsymbol [eta] [nothing] [lcgreek] ["11]
+\definemathsymbol [theta] [nothing] [lcgreek] ["12]
+\definemathsymbol [iota] [nothing] [lcgreek] ["13]
+\definemathsymbol [kappa] [nothing] [lcgreek] ["14]
+\definemathsymbol [lambda] [nothing] [lcgreek] ["15]
+\definemathsymbol [mu] [nothing] [lcgreek] ["16]
+\definemathsymbol [nu] [nothing] [lcgreek] ["17]
+\definemathsymbol [xi] [nothing] [lcgreek] ["18]
+\definemathsymbol [pi] [nothing] [lcgreek] ["19]
+\definemathsymbol [rho] [nothing] [lcgreek] ["1A]
+\definemathsymbol [sigma] [nothing] [lcgreek] ["1B]
+\definemathsymbol [tau] [nothing] [lcgreek] ["1C]
+\definemathsymbol [upsilon] [nothing] [lcgreek] ["1D]
+\definemathsymbol [phi] [nothing] [lcgreek] ["1E]
+\definemathsymbol [chi] [nothing] [lcgreek] ["1F]
+\definemathsymbol [psi] [nothing] [lcgreek] ["20]
+\definemathsymbol [omega] [nothing] [lcgreek] ["21]
+
+\stopmathcollection
+
+\startmathcollection [default]
+
+\definemathsymbol [varepsilon] [nothing] [vargreek] ["22]
+\definemathsymbol [vartheta] [nothing] [vargreek] ["23]
+\definemathsymbol [varpi] [nothing] [vargreek] ["24]
+\definemathsymbol [varrho] [nothing] [vargreek] ["25]
+\definemathsymbol [varsigma] [nothing] [vargreek] ["26]
+\definemathsymbol [varphi] [nothing] [vargreek] ["27]
+
+\stopmathcollection
+
+\startmathcollection [default]
+
+\definemathsymbol [Alpha] [alpha] [ucgreek] ["41] % A
+\definemathsymbol [Beta] [alpha] [ucgreek] ["42] % B
+\definemathsymbol [Gamma] [alpha] [ucgreek] ["00]
+\definemathsymbol [Delta] [alpha] [ucgreek] ["01]
+\definemathsymbol [Epsilon] [alpha] [ucgreek] ["45] % E
+\definemathsymbol [Zeta] [alpha] [ucgreek] ["5A] % Z
+\definemathsymbol [Eta] [alpha] [ucgreek] ["48] % H
+\definemathsymbol [Theta] [alpha] [ucgreek] ["02]
+\definemathsymbol [Iota] [alpha] [ucgreek] ["49] % I
+\definemathsymbol [Kappa] [alpha] [ucgreek] ["4B] % K
+\definemathsymbol [Lambda] [alpha] [ucgreek] ["03]
+\definemathsymbol [Mu] [alpha] [ucgreek] ["4D] % M
+\definemathsymbol [Nu] [alpha] [ucgreek] ["4E] % N
+\definemathsymbol [Xi] [alpha] [ucgreek] ["04]
+\definemathsymbol [Pi] [alpha] [ucgreek] ["05]
+\definemathsymbol [Rho] [alpha] [ucgreek] ["52] % R
+\definemathsymbol [Sigma] [alpha] [ucgreek] ["06]
+\definemathsymbol [Tau] [alpha] [ucgreek] ["54] % T
+\definemathsymbol [Upsilon] [alpha] [ucgreek] ["07]
+\definemathsymbol [Phi] [alpha] [ucgreek] ["08]
+\definemathsymbol [Chi] [alpha] [ucgreek] ["58] % X
+\definemathsymbol [Psi] [alpha] [ucgreek] ["09]
+\definemathsymbol [Omega] [alpha] [ucgreek] ["0A]
+
+\stopmathcollection
+
+% The \mbox macro is an alternative for \hbox with a
+% controlable font switch.
+
+\startmathcollection[default]
+
+\definemathcommand [arccos] [nolop] {\mbox{arccos}}
+\definemathcommand [arcsin] [nolop] {\mbox{arcsin}}
+\definemathcommand [arctan] [nolop] {\mbox{arctan}}
+\definemathcommand [arg] [nolop] {\mbox{arg}}
+\definemathcommand [cosh] [nolop] {\mbox{cosh}}
+\definemathcommand [cos] [nolop] {\mbox{cos}}
+\definemathcommand [coth] [nolop] {\mbox{coth}}
+\definemathcommand [cot] [nolop] {\mbox{cot}}
+\definemathcommand [csc] [nolop] {\mbox{csc}}
+\definemathcommand [deg] [nolop] {\mbox{deg}}
+\definemathcommand [det] [limop] {\mbox{det}}
+\definemathcommand [dim] [nolop] {\mbox{dim}}
+\definemathcommand [exp] [nolop] {\mbox{exp}}
+\definemathcommand [gcd] [limop] {\mbox{gcd}}
+\definemathcommand [hom] [nolop] {\mbox{hom}}
+\definemathcommand [inf] [limop] {\mbox{inf}}
+\definemathcommand [injlim] [limop] {\mbox{inj\,lim}}
+\definemathcommand [ker] [nolop] {\mbox{ker}}
+\definemathcommand [lg] [nolop] {\mbox{lg}}
+\definemathcommand [liminf] [limop] {\mbox{lim\,inf}}
+\definemathcommand [limsup] [limop] {\mbox{lim\,sup}}
+\definemathcommand [lim] [limop] {\mbox{lim}}
+\definemathcommand [ln] [nolop] {\mbox{ln}}
+\definemathcommand [log] [nolop] {\mbox{log}}
+\definemathcommand [max] [limop] {\mbox{max}}
+\definemathcommand [min] [limop] {\mbox{min}}
+\definemathcommand [projlim] [limop] {\mbox{proj\,lim}}
+\definemathcommand [Pr] [limop] {\mbox{Pr}}
+\definemathcommand [sec] [nolop] {\mbox{sec}}
+\definemathcommand [sinh] [nolop] {\mbox{sinh}}
+\definemathcommand [sin] [nolop] {\mbox{sin}}
+\definemathcommand [sup] [limop] {\mbox{sup}}
+\definemathcommand [tanh] [nolop] {\mbox{tanh}}
+\definemathcommand [tan] [nolop] {\mbox{tan}}
+
+\stopmathcollection
+
+\startmathcollection[default]
+
+\definemathcharacter [!] [close] [mr] ["21]
+\definemathcharacter [(] [open] [mr] ["28]
+\definemathcharacter [)] [close] [mr] ["29]
+\definemathcharacter [*] [bin] [sy] ["03]
+\definemathcharacter [+] [bin] [mr] ["2B]
+\definemathcharacter [,] [punct] [mi] ["3B]
+\definemathcharacter [-] [bin] [sy] ["00]
+\definemathcharacter [.] [ord] [mi] ["3A]
+\definemathcharacter [/] [ord] [mi] ["3D]
+\definemathcharacter [:] [rel] [mr] ["3A]
+\definemathcharacter [;] [punct] [mr] ["3B]
+\definemathcharacter [<] [rel] [mi] ["3C]
+\definemathcharacter [=] [rel] [mr] ["3D]
+\definemathcharacter [>] [rel] [mi] ["3E]
+\definemathcharacter [?] [close] [mr] ["3F]
+\definemathcharacter [91] [open] [mr] ["5B] % [
+\definemathcharacter [92] [ord] [sy] ["6E] % \
+\definemathcharacter [93] [close] [mr] ["5D] % ]
+\definemathcharacter [123] [open] [sy] ["66] % {
+\definemathcharacter [124] [ord] [sy] ["6A] % |
+\definemathcharacter [125] [close] [sy] ["67] % }
+
+\stopmathcollection
+
+\startmathcollection[default]
+
+\definemathcharacter [(] [nothing] [mr] ["28] [ex] ["00]
+\definemathcharacter [)] [nothing] [mr] ["29] [ex] ["01]
+\definemathcharacter [91] [nothing] [mr] ["5B] [ex] ["02] % [
+\definemathcharacter [93] [nothing] [mr] ["5D] [ex] ["03] % ]
+\definemathcharacter [<] [nothing] [sy] ["68] [ex] ["0A]
+\definemathcharacter [>] [nothing] [sy] ["69] [ex] ["0B]
+\definemathcharacter [/] [nothing] [mr] ["2F] [ex] ["0E]
+\definemathcharacter [124] [nothing] [sy] ["6A] [ex] ["0C] % |
+\definemathcharacter [92] [nothing] [sy] ["6E] [ex] ["0F] % \
+
+\stopmathcollection
+
+\def\PLAINangle%
+ {{\vbox{\ialign{$\m@th\scriptstyle##$\crcr
+ \not\mathrel{\mkern14mu}\crcr
+ \noalign{\nointerlineskip}
+ \mkern2.5mu\leaders\hrule height.34pt\hfill\mkern2.5mu\crcr}}}}
+
+\startmathcollection[default]
+
+\definemathsymbol [aleph] [nothing] [sy] ["40]
+\definemathsymbol [imath] [nothing] [mi] ["7B]
+\definemathsymbol [jmath] [nothing] [mi] ["7C]
+\definemathsymbol [ell] [nothing] [mi] ["60]
+\definemathsymbol [wp] [nothing] [mi] ["7D]
+\definemathsymbol [Re] [nothing] [sy] ["3C]
+\definemathsymbol [Im] [nothing] [sy] ["3D]
+\definemathsymbol [partial] [nothing] [mi] ["40]
+\definemathsymbol [infty] [nothing] [sy] ["31]
+\definemathsymbol [prime] [nothing] [sy] ["30]
+\definemathsymbol [emptyset] [nothing] [sy] ["3B]
+\definemathsymbol [nabla] [nothing] [sy] ["72]
+\definemathsymbol [top] [nothing] [sy] ["3E]
+\definemathsymbol [bot] [nothing] [sy] ["3F]
+
+\definemathcommand [hbar] {{\mathchar'26\mkern-9muh}}
+\definemathcommand [surd] {{\mathchar"1270}} % ?
+\definemathcommand [angle] {\PLAINangle}
+
+\stopmathcollection
+
+\startmathcollection[default]
+
+\definemathsymbol [triangle] [ord] [sy] ["34]
+\definemathsymbol [forall] [ord] [sy] ["38]
+\definemathsymbol [exists] [ord] [sy] ["39]
+\definemathsymbol [neg] [ord] [sy] ["3A]
+\definemathsymbol [flat] [ord] [sy] ["5B]
+\definemathsymbol [natural] [ord] [mi] ["5C]
+\definemathsymbol [sharp] [ord] [mi] ["5D]
+\definemathsymbol [clubsuit] [ord] [sy] ["7C]
+\definemathsymbol [diamondsuit] [ord] [sy] ["7D]
+\definemathsymbol [heartsuit] [ord] [sy] ["7E]
+\definemathsymbol [spadesuit] [ord] [sy] ["7F]
+
+\stopmathcollection
+
+\startmathcollection[default]
+
+\definemathsymbol [coprod] [op] [ex] ["60]
+\definemathsymbol [bigvee] [op] [ex] ["57]
+\definemathsymbol [bigwedge] [op] [ex] ["56]
+\definemathsymbol [biguplus] [op] [ex] ["55]
+\definemathsymbol [bigcap] [op] [ex] ["54]
+\definemathsymbol [bigcup] [op] [ex] ["53]
+\definemathsymbol [intop] [op] [ex] ["52]
+\definemathsymbol [prod] [op] [ex] ["51]
+\definemathsymbol [sum] [op] [ex] ["50]
+\definemathsymbol [bigotimes] [op] [ex] ["4E]
+\definemathsymbol [bigoplus] [op] [ex] ["4C]
+\definemathsymbol [bigodot] [op] [ex] ["4A]
+\definemathsymbol [ointop] [op] [ex] ["48]
+\definemathsymbol [bigsqcup] [op] [ex] ["46]
+\definemathsymbol [smallint] [op] [sy] ["73]
+
+\stopmathcollection
+
+\startmathcollection[default]
+
+\definemathsymbol [triangleleft] [bin] [mi] ["2F]
+\definemathsymbol [triangleright] [bin] [mi] ["2E]
+\definemathsymbol [bigtriangleup] [bin] [sy] ["34]
+\definemathsymbol [bigtriangledown] [bin] [sy] ["35]
+\definemathsymbol [wedge] [bin] [sy] ["5E]
+\definemathsymbol [vee] [bin] [sy] ["5F]
+\definemathsymbol [cap] [bin] [sy] ["5C]
+\definemathsymbol [cup] [bin] [sy] ["5B]
+\definemathsymbol [ddagger] [bin] [sy] ["7A]
+\definemathsymbol [dagger] [bin] [sy] ["79]
+\definemathsymbol [sqcap] [bin] [sy] ["75]
+\definemathsymbol [sqcup] [bin] [sy] ["74]
+\definemathsymbol [uplus] [bin] [sy] ["5D]
+\definemathsymbol [amalg] [bin] [sy] ["71]
+\definemathsymbol [diamond] [bin] [sy] ["05]
+\definemathsymbol [bullet] [bin] [sy] ["0F]
+\definemathsymbol [wr] [bin] [sy] ["6F]
+\definemathsymbol [div] [bin] [sy] ["04]
+\definemathsymbol [odot] [bin] [sy] ["0C]
+\definemathsymbol [oslash] [bin] [sy] ["0B]
+\definemathsymbol [otimes] [bin] [sy] ["0A]
+\definemathsymbol [ominus] [bin] [sy] ["09]
+\definemathsymbol [oplus] [bin] [sy] ["08]
+\definemathsymbol [mp] [bin] [sy] ["07]
+\definemathsymbol [pm] [bin] [sy] ["06]
+\definemathsymbol [circ] [bin] [sy] ["0E]
+\definemathsymbol [bigcirc] [bin] [sy] ["0D]
+\definemathsymbol [setminus] [bin] [sy] ["6E]
+\definemathsymbol [cdot] [bin] [sy] ["01]
+\definemathsymbol [ast] [bin] [sy] ["03]
+\definemathsymbol [times] [bin] [sy] ["02]
+\definemathsymbol [star] [bin] [mi] ["3F]
+
+\stopmathcollection
+
+\startmathcollection[default]
+
+\definemathsymbol [propto] [rel] [sy] ["2F]
+\definemathsymbol [sqsubseteq] [rel] [sy] ["76]
+\definemathsymbol [sqsupseteq] [rel] [sy] ["77]
+\definemathsymbol [parallel] [rel] [sy] ["6B]
+\definemathsymbol [mid] [rel] [sy] ["6A]
+\definemathsymbol [dashv] [rel] [sy] ["61]
+\definemathsymbol [vdash] [rel] [sy] ["60]
+\definemathsymbol [nearrow] [rel] [sy] ["25]
+\definemathsymbol [searrow] [rel] [sy] ["26]
+\definemathsymbol [nwarrow] [rel] [sy] ["2D]
+\definemathsymbol [swarrow] [rel] [sy] ["2E]
+\definemathsymbol [Leftrightarrow] [rel] [sy] ["2C]
+\definemathsymbol [Leftarrow] [rel] [sy] ["28]
+\definemathsymbol [Rightarrow] [rel] [sy] ["29]
+
+\stopmathcollection
+
+\startmathcollection[default]
+
+\definemathcommand [lnot] {\neg}
+\definemathcommand [int] {\intop\nolimits}
+\definemathcommand [oint] {\ointop\nolimits}
+\definemathcommand [land] {\wedge}
+\definemathcommand [lor] {\vee}
+\definemathcommand [neq] {\not=}
+\definemathcommand [ne] {\neq}
+\definemathcommand [le] {\leq}
+\definemathcommand [ge] {\geq}
+\definemathcommand [gets] {\leftarrow}
+\definemathcommand [owns] {\ni}
+\definemathcommand [to] {\rightarrow}
+\definemathcommand [mapsto] {\mapstochar\rightarrow}
+
+\stopmathcollection
+
+\startmathcollection[default]
+
+\definemathsymbol [leq] [rel] [sy] ["14]
+\definemathsymbol [geq] [rel] [sy] ["15]
+\definemathsymbol [succ] [rel] [sy] ["1F]
+\definemathsymbol [prec] [rel] [sy] ["1E]
+\definemathsymbol [approx] [rel] [sy] ["19]
+\definemathsymbol [succeq] [rel] [sy] ["17]
+\definemathsymbol [preceq] [rel] [sy] ["16]
+\definemathsymbol [supset] [rel] [sy] ["1B]
+\definemathsymbol [subset] [rel] [sy] ["1A]
+\definemathsymbol [supseteq] [rel] [sy] ["13]
+\definemathsymbol [subseteq] [rel] [sy] ["12]
+\definemathsymbol [in] [rel] [sy] ["32]
+\definemathsymbol [ni] [rel] [sy] ["33]
+\definemathsymbol [gg] [rel] [sy] ["1D]
+\definemathsymbol [ll] [rel] [sy] ["1C]
+\definemathsymbol [not] [rel] [sy] ["36]
+\definemathsymbol [leftrightarrow] [rel] [sy] ["24]
+\definemathsymbol [leftarrow] [rel] [sy] ["20]
+\definemathsymbol [rightarrow] [rel] [sy] ["21]
+\definemathsymbol [mapstochar] [rel] [sy] ["37]
+\definemathsymbol [sim] [rel] [sy] ["18]
+\definemathsymbol [simeq] [rel] [sy] ["27]
+\definemathsymbol [perp] [rel] [sy] ["3F]
+\definemathsymbol [equiv] [rel] [sy] ["11]
+\definemathsymbol [asymp] [rel] [sy] ["10]
+\definemathsymbol [smile] [rel] [mi] ["5E]
+\definemathsymbol [frown] [rel] [mi] ["5F]
+\definemathsymbol [leftharpoonup] [rel] [mi] ["28]
+\definemathsymbol [leftharpoondown] [rel] [mi] ["29]
+\definemathsymbol [rightharpoonup] [rel] [mi] ["2A]
+\definemathsymbol [rightharpoondown] [rel] [mi] ["2B]
+\definemathsymbol [lhook] [rel] [mi] ["2C]
+\definemathsymbol [rhook] [rel] [mi] ["2D]
+
+\stopmathcollection
+
+\def\PLAINldots%
+ {\ldotp\ldotp\ldotp}
+
+\def\PLAINcdots%
+ {\cdotp\cdotp\cdotp}
+
+\def\PLAINvdots%
+ {\vbox{\baselineskip4\p@ \lineskiplimit\z@
+ \kern6\p@\hbox{.}\hbox{.}\hbox{.}}}
+
+\def\PLAINddots%
+ {\mkern1mu\raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern2mu
+ \raise4\p@\hbox{.}\mkern2mu\raise\p@\hbox{.}\mkern1mu}
+
+\startmathcollection[default]
+
+\definemathcommand [hookrightarrow] {\lhook\joinrel\rightarrow}
+\definemathcommand [hookleftarrow] {\leftarrow\joinrel\rhook}
+\definemathcommand [bowtie] {\mathrel\triangleright\joinrel\mathrel\triangleleft}
+\definemathcommand [models] {\mathrel|\joinrel=}
+\definemathcommand [iff] {\;\Longleftrightarrow\;}
+
+\definemathsymbol [ldotp] [punct] [mi] ["3A]
+\definemathsymbol [cdotp] [punct] [sy] ["01]
+\definemathsymbol [colon] [punct] [mr] ["3A]
+
+\definemathcommand [ldots] [inner] {\PLAINldots}
+\definemathcommand [cdots] [inner] {\PLAINcdots}
+\definemathcommand [vdots] [nothing] {\PLAINvdots}
+\definemathcommand [ddots] [inner] {\PLAINddots}
+
+\stopmathcollection
+
+\startmathcollection[default]
+
+\definemathsymbol [acute] [accent] [mr] ["13]
+\definemathsymbol [grave] [accent] [mr] ["12]
+\definemathsymbol [ddot] [accent] [mr] ["7F]
+\definemathsymbol [tilde] [accent] [mr] ["7E]
+\definemathsymbol [bar] [accent] [mr] ["16]
+\definemathsymbol [breve] [accent] [mr] ["15]
+\definemathsymbol [check] [accent] [mr] ["14]
+\definemathsymbol [hat] [accent] [mr] ["5E]
+\definemathsymbol [vec] [accent] [mi] ["7E] % [ord]
+\definemathsymbol [dot] [accent] [mr] ["5F]
+\definemathsymbol [widetilde] [accent] [ex] ["65] % [ord]
+\definemathsymbol [widehat] [accent] [ex] ["62] % [ord]
+
+\stopmathcollection
+
+\startmathcollection[default]
+
+\definemathsymbol [lmoustache] [open] [ex] ["7A] [ex] ["40]
+\definemathsymbol [rmoustache] [close] [ex] ["7B] [ex] ["41]
+\definemathsymbol [lgroup] [open] [bf] ["28] [ex] ["3A]
+\definemathsymbol [rgroup] [close] [bf] ["29] [ex] ["3B]
+\definemathsymbol [arrowvert] [nothing] [sy] ["6A] [ex] ["3C]
+\definemathsymbol [Arrowvert] [nothing] [sy] ["6B] [ex] ["3D]
+\definemathsymbol [bracevert] [nothing] [ex] ["3E] % ?
+\definemathsymbol [Vert] [nothing] [sy] ["6B] [ex] ["0D]
+\definemathsymbol [vert] [nothing] [sy] ["6A] [ex] ["0C]
+\definemathsymbol [uparrow] [rel] [sy] ["22] [ex] ["78]
+\definemathsymbol [downarrow] [rel] [sy] ["23] [ex] ["79]
+\definemathsymbol [updownarrow] [rel] [sy] ["6C] [ex] ["3F]
+\definemathsymbol [Uparrow] [rel] [sy] ["2A] [ex] ["7E]
+\definemathsymbol [Downarrow] [rel] [sy] ["2B] [ex] ["7F]
+\definemathsymbol [Updownarrow] [rel] [sy] ["6D] [ex] ["77]
+\definemathsymbol [backslash] [nothing] [sy] ["6E] [ex] ["0F]
+\definemathsymbol [rangle] [close] [sy] ["69] [ex] ["0B]
+\definemathsymbol [langle] [open] [sy] ["68] [ex] ["0A]
+\definemathsymbol [rbrace] [close] [sy] ["67] [ex] ["09]
+\definemathsymbol [lbrace] [open] [sy] ["66] [ex] ["08]
+\definemathsymbol [rceil] [close] [sy] ["65] [ex] ["07]
+\definemathsymbol [lceil] [open] [sy] ["64] [ex] ["06]
+\definemathsymbol [rfloor] [close] [sy] ["63] [ex] ["05]
+\definemathsymbol [lfloor] [open] [sy] ["62] [ex] ["04]
+
+\definemathsymbol [sqrt] [radical] [sy] ["70] [ex] ["70]
+
+\stopmathcollection
+
+\def\PLAINbig #1{{\hbox{$\left#1\vbox to 8.5\p@{}\right.\n@space$}}}
+\def\PLAINBig #1{{\hbox{$\left#1\vbox to 11.5\p@{}\right.\n@space$}}}
+\def\PLAINbigg#1{{\hbox{$\left#1\vbox to 14.5\p@{}\right.\n@space$}}}
+\def\PLAINBigg#1{{\hbox{$\left#1\vbox to 17.5\p@{}\right.\n@space$}}}
+
+\startrawmathcollection [default]
+
+\definemathcommand [bigl] [open] {\big}
+\definemathcommand [bigm] [rel] {\big}
+\definemathcommand [bigr] [close] {\big}
+\definemathcommand [Bigl] [open] {\Big}
+\definemathcommand [Bigm] [rel] {\Big}
+\definemathcommand [Bigr] [close] {\Big}
+\definemathcommand [biggl] [open] {\bigg}
+\definemathcommand [biggm] [rel] {\bigg}
+\definemathcommand [biggr] [close] {\bigg}
+\definemathcommand [Biggl] [open] {\Bigg}
+\definemathcommand [Biggm] [rel] {\Bigg}
+\definemathcommand [Biggr] [close] {\Bigg}
+
+\definemathcommand [big] {\PLAINbig}
+\definemathcommand [Big] {\PLAINBig}
+\definemathcommand [bigg] {\PLAINbigg}
+\definemathcommand [Bigg] {\PLAINBigg}
+
+\stoprawmathcollection
+
+\startmathcollection[default]
+
+\definemathsymbol [dag] [box] [sy] ["79]
+\definemathsymbol [ddag] [box] [sy] ["7A]
+\definemathsymbol [S] [box] [sy] ["78]
+\definemathsymbol [P] [box] [sy] ["7B]
+\definemathsymbol [Orb] [box] [sy] ["0D]
+
+\stopmathcollection
+
+\def\PLAINroot#1#2%
+ {\setbox\z@\hbox{$\m@th#1\sqrt{#2}$}\dimen@\ht\z@
+ \advance\dimen@-\dp\z@
+ \mkern5mu\raise.6\dimen@\copy\rootbox \mkern-10mu\box\z@}
+
+\def\PLAINmatrix#1%
+ {\null\,\vcenter{\normalbaselines\m@th
+ \ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
+ \mathstrut\crcr\noalign{\kern-\baselineskip}
+ #1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}
+
+\startrawmathcollection[default]
+
+\definemathcommand [mathstrut] {\vphantom{(}}
+\definemathcommand [joinrel] {\mathrel{\mkern-3mu}}
+\definemathcommand [r@@t] {\PLAINroot}
+\definemathcommand [matrix] {\PLAINmatrix}
+
+\stoprawmathcollection
+
+\def\{{\lbrace}
+\def\}{\rbrace}
+
+\def\Bbb#1{{\fam\purefamily{blackboard}\relax#1}}
+\def\mit {\fam\purefamily{mitfamily}}
+\def\cal {\fam\purefamily{calfamily}}
+
+\protect \endinput
diff --git a/tex/context/base/math-tim.tex b/tex/context/base/math-tim.tex
new file mode 100644
index 000000000..9069b2f89
--- /dev/null
+++ b/tex/context/base/math-tim.tex
@@ -0,0 +1,371 @@
+%D \module
+%D [ file=math-tim,
+%D version=2001.04.12,
+%D title=\CONTEXT\ Math Macros,
+%D subtitle=Mathtime Specials,
+%D author={Hans Hagen \& Taco Hoekwater},
+%D date=\currentdate,
+%D copyright=\PRAGMA]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\endinput % i will clean this up after taco has gone over it
+
+%D With thanks to Berthold Horn from YandY for providing me
+%D evaluation copies of the MathTimePlus fonts.
+
+% version 0 : Michael Spivak
+% version 1 : Taco Hoekwater
+% version 2 : Hans Hagen
+% version 3 : etc etc etc
+
+\unprotect
+
+%D We use the predefined spare families \type {\mcfam} and
+%D \type {\mdfam}.
+
+\let\cafam\mcfam \let\hexcafam\hexmcfam
+\let\gbfam\mdfam \let\hexgbfam\hexmdfam
+\let\gkfam\mdfam \let\hexgkfam\hexmdfam
+
+% Why is this needed?
+
+% \font\tenmd =mtgu at 10pt
+% \font\sevenmd=mtgu at 7.6pt
+% \font\fivemd =mtgu at 6pt
+% \font\tenmc =mtms at 10pt
+% \font\sevenmc=mtms at 7.6pt
+% \font\fivemc =mtms at 6pt
+%
+% \textfont \mcfam\tenmc \textfont \mdfam\tenmd
+% \scriptfont \mcfam\sevenmc \scriptfont \mdfam\sevenmd
+% \scriptscriptfont\mcfam\fivemc \scriptscriptfont\mdfam\fivemd
+
+% \addtocommalist{gk}\familylist
+% \addtocommalist{gb}\familylist
+%
+% \defineinterfaceconstant {ca} {ca} % boohoo!
+% \defineinterfaceconstant {gk} {gk} % boohoo!
+% \defineinterfaceconstant {gb} {gb} % boohoo!
+
+% \definealternativestyle[script] [\ca][\ca]
+% \definealternativestyle[greek] [\gk][\gk]
+% \definealternativestyle[boldgreek][\gb][\gb]
+
+% \definebodyfont
+% [5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,14.4pt] [rm]
+% [ca=mtms sa 1,
+% gk=mtgu sa 1,
+% gb=mtgub sa 1]
+
+%D Since a font size is a rather fuzzy thing, it will be no
+%D surprise that the Math Times fonts have different specs
+%D than the Computer Modern Roman fonts.
+%D
+%D \starttabulatie[|Bl|c|c|c|c|c|c|c|c|c|c|]
+%D \NC Computer Modern\NC
+%D 5 \NC6 \NC7 \NC8 \NC9 \NC10 \NC11 \NC12 \NC14 \NC18\NC\NR
+%D \NC Math Times \NC
+%D 6.0\NC6.8\NC7.6\NC8.4\NC9.2\NC10.0\NC10.8\NC11.6\NC13.2\NC--\NC\NR
+%D \stoptabulatie
+%D
+%D The following definitions presume the existence of \type
+%D {tio} and \type {tibio} font alternatives. Definitions for
+%D \type {\tf.} etc and \type {\sc} are left as they are.
+
+%D moved code
+
+%D The next lines set up coding dependant versions of math
+%D accents (for \type {texnansi} of course). These are needed
+%D in commands like \type {\bf} and \type {\it} (which use the
+%D text font encoding) a opposed to \type {_no spec_} and
+%D \type {mi} that use the math font encoding. This stuff
+%D should be made more general!
+
+% \daghex, \ddaghex and \dothex were wrong in my version of mtmacs
+
+\def\daghex {86} % to do
+\def\ddaghex {87}
+\def\Shex {A7}
+\def\Phex {B6}
+\def\barhex {16}
+\def\gravehex{12}
+\def\acutehex{13}
+\def\checkhex{14}
+\def\brevehex{15}
+\def\hathex {5E}
+\def\dothex {05}
+\def\tildehex{7E}
+\def\ddothex {7F}
+
+%D The \type {mtex} fonts need a recalculation of \type
+%D {\p@renwd}, which in \CONTEXT\ is done automatically.
+
+%D The following definitions are mostly copied from the file
+%D \type {mtmacs.tex}, which banner said:
+%D
+%D \starttypen
+%D MTMACS.TEX VERSION 1.1.1 (1996 Dec 8)
+%D COPYRIGHT (C) 1992, 1993, 1996 BY THE TEXPLORATORS CORPORATION
+%D ALL RIGHTS RESERVED
+%D \stoptypen
+%D
+%D We reformatted the macros and changed a few bits and
+%D pieces. A further cleanup with regards to the scratch
+%D registers will be done later.
+
+\mathchardef\Gamma = "0130
+\mathchardef\Delta = "0131
+\mathchardef\Theta = "0132
+\mathchardef\Lambda = "0133
+\mathchardef\Xi = "0134
+\mathchardef\Pi = "0135
+\mathchardef\Sigma = "0136
+\mathchardef\Upsilon = "0137
+\mathchardef\Phi = "0138
+\mathchardef\Psi = "0139
+\mathchardef\Omega = "017F
+\mathchardef\varGamma = "0100
+\mathchardef\varDelta = "0101
+\mathchardef\varTheta = "0102
+\mathchardef\varLambda = "0103
+\mathchardef\varXi = "0104
+\mathchardef\varPi = "0105
+\mathchardef\varSigma = "0106
+\mathchardef\varUpsilon = "0107
+\mathchardef\varPhi = "0108
+\mathchardef\varPsi = "0109
+\mathchardef\varOmega = "010A
+\mathchardef\varkappa = "017E
+
+\mathchardef\ldotp = "613A
+
+\mathchardef\triangleleft = "2247
+\mathchardef\triangleright = "2246
+\mathchardef\comp = "2242
+
+\mathchardef\Relbar = "3248
+\mathchardef\dagger = "20\daghex % to do
+\mathchardef\ddagger = "20\ddaghex % to do
+\mathchardef\dotacc = "0250
+
+\mathcode`\( = "412E
+\mathcode`\) = "512F
+\mathcode`\. = "013A
+\mathcode`\, = "613B
+\mathcode`\+ = "2243
+\mathcode`\= = "3244
+\mathcode`\; = "6249
+
+\delcode `\( = "12E300
+\delcode `\) = "12F301
+
+\let\mit=\undefined % to do
+
+\def\vec{\mathaccent"0245 }
+\def\t#1{{\edef\next{\the\font}\the\textfont2\accent"41\next#1}}
+
+% fam equals -1 unless the user has said something
+% like \rm (cf. the texbook page 290)
+
+\def\ifdefaultfamelse#1#2%
+ {\ifnum\fam=\m@ne\mathaccent#1\else\mathaccent#2\fi}
+
+\let\noaccents@\relax
+
+\def\grave {\ifdefaultfamelse{"024A}{"70\gravehex}}
+\def\acute {\ifdefaultfamelse{"024B}{"70\acutehex}}
+\def\check {\ifdefaultfamelse{"024C}{"70\checkhex}}
+\def\breve {\ifdefaultfamelse{"024D}{"70\brevehex}}
+\def\bar {\ifdefaultfamelse{"024E}{"70\barhex }}
+\def\hat {\ifdefaultfamelse{"024F}{"70\hathex }}
+\def\dot {\ifdefaultfamelse{"0250}{"70\dothex }}
+\def\tilde {\ifdefaultfamelse{"0251}{"70\tildehex}}
+\def\ddot {\ifdefaultfamelse{"0252}{"70\ddothex }}
+
+\def\widebar{\mathaccent"0253 }
+
+\def\mathhexbox@#1#2#3%
+ {\relax
+ \ifmmode
+ \mathpalette{}{\m@th\rm\mathchar"#1#2#3}%
+ \else
+ \leavevmode
+ \hbox{$\m@th\rm\mathchar"#1#2#3$}%
+ \fi}
+
+\def\dag {\edef\next@{0\daghex }\expandafter\mathhexbox@\next@}
+\def\ddag{\edef\next@{0\ddaghex}\expandafter\mathhexbox@\next@}
+
+\def\S{\edef\next@{0\Shex}\expandafter\mathhexbox@\next@}
+\def\P{\edef\next@{0\Phex}\expandafter\mathhexbox@\next@}
+
+\def\vdots%
+ {\vbox
+ {\baselineskip4\p@
+ \lineskiplimit\z@
+ \kern6\p@\hbox{$\m@th.$}\hbox{$\m@th.$}\hbox{$\m@th.$}}}
+
+\def\ddots%
+ {\mathinner
+ {\mkern1mu
+ \raise7\p@\vbox{\kern 7\p@\hbox{$\m@th.$}}\mkern2mu
+ \raise4\p@\hbox{$\m@th.$}\mkern2mu
+ \raise \p@\hbox{$\m@th.$}\mkern1mu}}
+
+\def\hbar
+ {{\mathchoice
+ {\hbox{\lower.07em \hbox{$\mathchar"\barhex$}}}
+ {\hbox{\lower.07em \hbox{$\mathchar"\barhex$}}}
+ {\hbox{\lower.049em\hbox{$\scriptstyle\mathchar"\barhex$}}}
+ {\hbox{\lower.035em\hbox{$\scriptscriptstyle\mathchar"\barhex$}}}%
+ \mkern-6.3muh}}
+
+\def\angle%
+ {{\vbox{\ialign{$\m@th\scriptstyle##$\crcr
+ \not\mathrel{\mkern14mu}\crcr
+ \noalign{\nointerlineskip}
+ \mkern2.5mu\leaders\hrule height.48\p@\hfill\mkern2.5mu\crcr}}}}
+
+\newdimen\amstexex
+
+\amstexex = .2326ex
+
+\def\varinjlim%
+ {\mathop{\vtop{\ialign{##\crcr
+ \hfil\the\textfont\z@ lim\hfil\crcr
+ \noalign{\nointerlineskip}\rightarrowfill\crcr
+ \noalign{\nointerlineskip\kern-\amstexex}\crcr}}}}
+
+\def\varprojlim%
+ {\mathop{\vtop{\ialign{##\crcr
+ \hfil\the\textfont\z@ lim\hfil\crcr
+ \noalign{\nointerlineskip}\leftarrowfill\crcr
+ \noalign{\nointerlineskip\kern-\amstexex}\crcr}}}}
+
+\def\varliminf{\mathop{\underbar {lim}}} % context-ified
+\def\varlimsup{\mathop{\overstrike{lim}}} % context-ified
+
+\def\spdot {^{\hbox{\raise\amstexex\hbox{\the\textfont\z@ .}}}}
+\def\spddot {^{\hbox{\raise\amstexex\hbox{\the\textfont\z@ ..}}}}
+\def\spdddot {^{\hbox{\raise\amstexex\hbox{\the\textfont\z@ ...}}}}
+\def\spddddot{^{\hbox{\raise\amstexex\hbox{\the\textfont\z@....}}}}
+
+%D Here some code is merged in order to save strings.
+
+\def\domultidot#1#2%
+ {\setbox0\hbox{$#1#2$}%
+ \setbox2\hbox{$#1\infty$}%
+ \dimen0\ht2
+ \ifdim\ht0<\dimen0 \dimen0\ht0 \fi
+ \setbox2\hbox{$#1#2\mathchar"012D$}%
+ \dimen2\wd2
+ \advance\dimen2-\wd0
+ \setbox0\hbox{$#1\rhook$}%
+ \advance\dimen2-\wd0
+ \vbox
+ {\offinterlineskip
+ \ialign{\hfil$#1##$\hfil\cr
+ \kern\dimen2\dotacc\mkern-2.5mu\dotacc\mkern-2.5mu\dotacc\thirddot\cr
+ \noalign{\vskip-\dimen0}%
+ #2\cr}}}
+
+\def\dddot%
+ {\def\thirddot{}%
+ \mathpalette\domultidot}
+
+\def\ddddot%
+ {\def\thirddot{\mkern-2.5mu\dotacc}%
+ \mathpalette\domultidot}
+
+\newcount\uproot@
+\newcount\leftroot@
+
+\def\nonmatherr#1%
+ {\errmessage{\noexpand#1allowed only in math mode}}
+
+\def\uproot#1%
+ {\relax
+ \ifmmode
+ \uproot@#1\relax
+ \else
+ \nonmatherr\uproot
+ \fi}
+
+\def\leftroot#1%
+ {\relax
+ \ifmmode
+ \leftroot@#1\relax
+ \else
+ \nonmatherr\leftroot
+ \fi}
+
+\def\root#1\of#2%
+ {\setbox\rootbox=\hbox{$\m@th\scriptscriptstyle{#1}$}%
+ \mathpalette\r@@t{#2}}
+
+\def\r@@t#1#2%
+ {\setbox\z@=\hbox{$\uproot@\z@\leftroot\z@\m@th#1\sqrt{#2}$}%
+ \dimen@\ht\z@\advance\dimen@-\dp\z@
+ \dimen@ii\dimen@
+ \ifdim\dimen@>30\p@ \advance\dimen@ii-16\p@ \else
+ \ifdim\dimen@>24\p@ \advance\dimen@ii -8\p@ \else
+ \ifdim\dimen@>18\p@ \advance\dimen@ii -6\p@ \else
+ \ifdim\dimen@>12\p@ \advance\dimen@ii -4\p@ \else
+ \ifdim\dimen@>10\p@ \advance\dimen@ii -2\p@ \fi\fi\fi\fi\fi
+ \setbox\tw@=\hbox{$\m@th#1\mskip\uproot@ mu$}%
+ \advance\dimen@ii by1.667\wd\tw@
+ \mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@ii\copy\rootbox
+ \mkern-8mu\mkern\leftroot@ mu\box\z@\leftroot\z@\uproot\z@}
+
+\def\space@.{\futurelet\space@\relax} \space@. % really needed ?
+
+\def\jadjust%
+ {\mkern-\tw@ mu}
+
+%D For the moment the following code is left unchanged. It is
+%D not used anyway.
+
+\newif\ifsubscriptcorrection \subscriptcorrectionfalse
+
+\ifsubscriptcorrection
+
+ \expandafter\let\csname subscript character \string_\endcsname_
+
+ \catcode`\_=\active
+
+ \def_%
+ {\ifmmode
+ \expandafter\sb@
+ \else
+ \expandafter\csname subscript character \string_\endcsname
+ \fi}
+
+ \let\sb_
+
+ \ifnum\catcode`\^^A=8 \catcode`\^^A\active\let^^A_\fi
+
+ \def\sb@#1%
+ {\csname subscript character \string_\endcsname
+ {\futurelet\next\sb@@#1}}
+
+ \def\sb@@%
+ {\ifx\next\space@
+ \def\next@. %
+ {\futurelet\next\sb@@}%
+ \else
+ \def\next@.%
+ {\ifx\next j%
+ \mkern-\tw@ mu\else
+ \ifx\next f%
+ \mkern-\tw@ mu\else
+ \ifx\next p%
+ \mkern-\@ne mu\fi\fi\fi}%
+ \fi
+ \next@.}
+
+\fi
+
+\protect
diff --git a/tex/context/base/mult-sys.tex b/tex/context/base/mult-sys.tex
index ada1eb0c4..424b172f9 100644
--- a/tex/context/base/mult-sys.tex
+++ b/tex/context/base/mult-sys.tex
@@ -157,6 +157,8 @@
%D constants. We need these because font-definitions are
%D partially english.
+\definesystemconstant {run}
+
\definesystemconstant {fam}
\definesystemconstant {text}
\definesystemconstant {script}
@@ -454,11 +456,14 @@
\definesystemvariable {ta} % TAb
\definesystemvariable {tb} % TekstBlokken
\definesystemvariable {te} % TEmplate
+\definesystemvariable {tf} % TypeFace
\definesystemvariable {tg} % Tex paGe
\definesystemvariable {ti} % TabelInstellingen
\definesystemvariable {tk} % Teksten
\definesystemvariable {tl} % TekstLijnen
+\definesystemvariable {tm} % TypesynonyM
\definesystemvariable {tp} % TyPen
+\definesystemvariable {ts} % TypeScript
\definesystemvariable {tt} % TabulaTe
\definesystemvariable {ty} % TYpe
\definesystemvariable {uc} % Unicode
@@ -557,11 +562,13 @@
\definefileconstant {colorprefix} {colo-}
\definefileconstant {encodingprefix} {enco-}
\definefileconstant {regimeprefix} {regi-}
+\definefileconstant {typeprefix} {type-}
\definefileconstant {fontprefix} {font-}
\definefileconstant {javascriptprefix} {java-}
\definefileconstant {languageprefix} {lang-}
\definefileconstant {metapostprefix} {meta-}
\definefileconstant {specialprefix} {spec-}
+\definefileconstant {mathprefix} {math-}
\definefileconstant {symbolprefix} {symb-}
\definefileconstant {xtagprefix} {xtag-}
diff --git a/tex/context/base/s-mod-00.tex b/tex/context/base/s-mod-00.tex
new file mode 100644
index 000000000..1a9500831
--- /dev/null
+++ b/tex/context/base/s-mod-00.tex
@@ -0,0 +1,408 @@
+%D \module
+%D [ file=s-mod-00,
+%D version=very-old,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Documentation Base Environment,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D This module looks like crap, is not documented, will
+%D change, and used to be called modu-*.tex.
+
+% todo:
+%
+% file inclusions -> hyperlinks
+
+\newprettytrue
+
+\gebruikmodule[eenheid]
+
+\mainlanguage[en]
+
+\enableactivediscretionaries
+
+% beter:
+%
+% group -> title
+% title -> category
+% subtitle -> subtitle
+
+% herzien ivm fonts
+
+% nog eens \interface \\ \\ verder doorvoeren
+
+\unprotect
+
+\def\resetmodule%
+ {\getparameters
+ [Module]
+ [ file=\jobname,
+ version={\currentdate[jaar,{.},maand,{.},dag]},
+ title=,
+ subtitle=,
+ author=Hans Hagen,
+ date=\currentdate,
+ copyright={PRAGMA / Hans Hagen \& Ton Otten},
+ suggestions=]}
+
+\resetmodule
+
+\def\dostartmodule[#1]%
+ {\newcounter\ParagraphNumber
+ \resetmodule
+ \getparameters[Module][type=tex,#1]}
+
+\def\startmodule%
+ {\dosingleempty\dostartmodule}
+
+\def\complexmodule[#1]%
+ {\startglobaal % i.v.m. \bgroup in \startdocumentation
+ \getparameters[Module][#1]
+ \stopglobaal % i.v.m. \bgroup in \startdocumentation
+ \moduletitel}
+
+\def\stopmodule%
+ {\pagina
+ \plaatsindex
+ [balanceren=ja,
+ aanduiding=nee,
+ criterium=tekst]}
+
+\def\simplemodule#1%
+ {\type{#1}}
+
+\definecomplexorsimple\module
+
+\startmode[atpragma]
+
+ \def\TitelPagina#1% can be done more efficient
+ {\startMPrun
+ mpgraph := #1 ;
+ input mp-cont ;
+ \stopMPrun
+ \externalfigure[\bufferprefix mprun.#1][hoogte=\vsize,breedte=\hsize]}
+
+ \definieeroverlay[titelpagina][\TitelPagina{512}]
+
+\stopmode
+
+\def\moduletitel%
+ {\ifx\ModuleNumber\undefined \else
+ \ifnum\ModuleNumber<10
+ \edef\ModuleNumber{00\ModuleNumber}%
+ \else\ifnum\ModuleNumber<100
+ \edef\ModuleNumber{0\ModuleNumber}%
+ \fi\fi
+ \stelachtergrondenin
+ [pagina]
+ [achtergrond=titelpagina]
+ \fi
+ \startstandaardopmaak[hoofdstatus=geen,voetstatus=geen]
+ \switchnaarkorps[14.4pt,ss]
+ \definefont[temp][SansBold at 72pt] % \font\temp=cmssbx10 at 72pt
+ \bgroup
+ \def\CONTEXT {Con\kern-.15em\TeX t}
+ \def\TEXUTIL {\TeX Util}
+ \def\PPCHTEX {PPCH\TeX}
+ \regellinks{\temp \CONTEXT} \vskip24pt
+ \doifelse{\Modulesubtitle}{}
+ {\regellinks{\bfd \Moduletitle} \vfill}
+ {\regellinks{\bfd \Modulesubtitle} \vfill
+ \doifnot{\Moduletitle}{}
+ {\regellinks{\bf category: \Moduletitle} \vskip6pt}}
+ %\regellinks{\bf version: \Moduleversion} \vskip6pt
+ %\regellinks{\bf date: \Moduledate} \vskip6pt
+ \regellinks{\bf author: \Moduleauthor} \vskip6pt
+ \regellinks{\bf date: \currentdate} \vskip6pt
+ \doifnot{\Modulesuggestions}{}
+ {\regellinks{\bs suggestions: \Modulesuggestions} \vskip6pt}
+ %\regellinks{\bf copyright: \Modulecopyright} \par
+ \egroup
+ \stopstandaardopmaak
+ \ifx\ModuleNumber\undefined \else
+ \stelachtergrondenin[pagina][achtergrond=]
+ \fi}
+
+\let\stopdocumentation=\relax
+
+\def\startdocumentation%
+ {\bgroup
+ \doglobal\newcounter\NOfMarginLines
+ \def\stopdocumentation{\par\egroup}}
+
+\newif\ifcompressdefinitions
+
+\def\startcompressdefinitions {\global\compressdefinitionstrue}
+\def\stopcompressdefinitions {\global\compressdefinitionsfalse}
+
+\gdef\CompressDefinitions%
+ {\ifcompressdefinitions
+ \switchnaarkorps[klein]%
+ \fi}
+
+\definieertypen
+ [definition]
+
+\steltypenin
+ [definition]
+ [voor={\pagina[voorkeur]}\blanko\PresetParagraphNumber\CompressDefinitions,
+ na=\ResetParagraphNumber\blanko,
+ optie=\Moduletype]
+
+\definieertypen
+ [PL]
+ [optie=PL,
+ marge=standaard]
+
+\definieertypen
+ [JV]
+ [optie=JV,
+ marge=standaard]
+
+\definieertypen
+ [MP]
+ [optie=MP,
+ marge=standaard]
+
+\definieertypen
+ [TEX]
+ [optie=TEX,
+ marge=standaard]
+
+\steltypenin [typen] [marge=standaard]
+\steltypenin [file] [marge=standaard]
+\steltypenin [definition] [marge=0pt]
+
+\newcounter\NOfMarginLines
+\newcounter\ParagraphNumber
+
+\def\ResetParagraphNumber%
+ {\egroup}
+
+\def\PresetParagraphNumber%
+ {\bgroup
+ \xdef\NOfTextLines%
+ {\the\prevgraf}%
+ \doglobal\decrement\NOfMarginLines
+ \doglobal\increment\ParagraphNumber
+ \message{.}%
+ \gdef\ShowParagraphNumber%
+ {\llap{\slx\ParagraphNumber\hskip\linkermargeafstand}}%
+ \gdef\ShowParagraphNumberA%
+ {\ifnum\NOfMarginLines>\NOfTextLines\relax
+ \doglobal\increment\NOfTextLines
+ \else
+ \ShowParagraphNumber
+ \global\let\ShowParagraphNumberA=\relax
+ \global\let\ShowParagraphNumberB=\ShowParagraphNumber
+ \doglobal\newcounter\NOfMarginLines
+ \fi}%
+ \gdef\ShowParagraphNumberB%
+ {}%
+ \EveryLine
+ {\ShowParagraphNumberA}%
+ \EveryPar
+ {\vadjust{\nobreak}%
+ \ShowParagraphNumberB}}
+
+\EveryPar % skip one
+ {\EveryPar
+ {\doglobal\newcounter\NOfMarginLines}}
+
+\def\dodomargeaanduidingen[#1]#2%
+ {\def\docommando##1%
+ {\indent\hbox
+ {\ifx#2\relax
+ \index{##1}%
+ \else
+ \index{#2{##1}}%
+ \fi
+ #2{\doboundtext{##1}{\linkermargebreedte}{..}}}%
+ \doglobal\increment\NOfMarginLines
+ \endgraf}%
+ \processcommalist[#1]\docommando}
+
+\def\margeaanduidingen#1[#2]%
+ {\def\domargeaanduidingen##1##2%
+ {\margetitel[#2]%
+ {\switchnaarkorps[klein]%
+ \doglobal\newcounter\NOfMarginLines
+ \dodomargeaanduidingen[##1]#1%
+ \scratchcounter=\NOfMarginLines
+ \multiply\scratchcounter by 10
+ \divide\scratchcounter by 12
+ \advance\scratchcounter by 1
+ \xdef\NOfMarginLines{\the\scratchcounter}%
+ \processcommalist[##2]\index}}%
+ \dodoublegroupempty\domargeaanduidingen}
+
+\def\complexmacros%
+ {\margeaanduidingen\tex}
+
+\def\complexextras%
+ {\margeaanduidingen\relax}
+
+\definecomplexorsimpleempty\macros
+\definecomplexorsimpleempty\extras
+
+% \macros{a,b}
+% \macros{a,b}{b}
+% \macros[a]{a,b}{b}
+
+\definieeralineas [interface] [n=2]
+\stelalineasin [interface] [1] [breedte=4cm]
+
+\def\startvoorbeeld{\par\startsmaller}
+\def\stopvoorbeeld {\stopsmaller}
+
+\gdef\VisualizeLastSpace%
+ {\ifdim\lastskip>0pt\unskip\tttf\char32\fi}
+\gdef\ShowHeadText#1%
+ {\tttf#1\VL\headtext{#1}\VisualizeLastSpace}%
+\gdef\ShowLabelText#1%
+ {\tttf#1\VL\labeltext{#1}\VisualizeLastSpace}
+
+\startbuffer[lang-a]
+\starttabel[|l|l|]
+ \HL
+ \VL \bf head key \VL \bf current value \VL\SR
+ \HL
+ \VL \ShowHeadText \v!afkortingen \VL\FR
+ \VL \ShowHeadText \v!eenheden \VL\MR
+ \VL \ShowHeadText \v!figuren \VL\MR
+ \VL \ShowHeadText \v!grafieken \VL\MR
+ \VL \ShowHeadText \v!index \VL\MR
+ \VL \ShowHeadText \v!inhoud \VL\MR
+ \VL \ShowHeadText \v!intermezzos \VL\MR
+ \VL \ShowHeadText \v!logos \VL\MR
+ \VL \ShowHeadText \v!tabellen \VL\LR
+ \HL
+\stoptabel
+\stopbuffer
+
+\startbuffer[lang-b]
+\starttabel[|l|l|]
+ \HL
+ \VL \bf label key \VL \bf current value \VL\SR
+ \HL
+ \VL \ShowLabelText \v!tabel \VL\FR
+ \VL \ShowLabelText \v!figuur \VL\MR
+ \VL \ShowLabelText \v!intermezzo \VL\MR
+ \VL \ShowLabelText \v!grafiek \VL\MR
+ \VL \ShowLabelText \v!hoofdstuk \VL\MR
+ \VL \ShowLabelText \v!paragraaf \VL\MR
+ \VL \ShowLabelText {\v!sub\v!paragraaf} \VL\MR
+ \VL \ShowLabelText {\v!sub\v!sub\v!paragraaf} \VL\MR
+ \VL \ShowLabelText \v!bijlage \VL\MR
+ \VL \ShowLabelText \v!deel \VL\MR
+ \VL \ShowLabelText \v!regel \VL\MR
+ \VL \ShowLabelText \v!regels \VL\LR
+ \HL
+\stoptabel
+\stopbuffer
+
+\startbuffer[lang-c]
+\starttabel[|l|l|]
+ \HL
+ \VL \bf label key \VL \bf current value \VL\SR
+ \HL
+ \VL \ShowLabelText \v!january \VL\FR
+ \VL \ShowLabelText \v!february \VL\MR
+ \VL \ShowLabelText \v!march \VL\MR
+ \VL \ShowLabelText \v!april \VL\MR
+ \VL \ShowLabelText \v!may \VL\MR
+ \VL \ShowLabelText \v!june \VL\MR
+ \VL \ShowLabelText \v!july \VL\MR
+ \VL \ShowLabelText \v!august \VL\MR
+ \VL \ShowLabelText \v!september \VL\MR
+ \VL \ShowLabelText \v!october \VL\MR
+ \VL \ShowLabelText \v!november \VL\MR
+ \VL \ShowLabelText \v!december \VL\LR
+ \HL
+\stoptabel
+\stopbuffer
+
+\startbuffer[lang-d]
+\starttabel[|l|l|]
+ \HL
+ \VL \bf label key \VL \bf current value \VL\SR
+ \HL
+ \VL \ShowLabelText \v!sunday \VL\FR
+ \VL \ShowLabelText \v!monday \VL\MR
+ \VL \ShowLabelText \v!tuesday \VL\MR
+ \VL \ShowLabelText \v!wednesday \VL\MR
+ \VL \ShowLabelText \v!thursday \VL\MR
+ \VL \ShowLabelText \v!friday \VL\MR
+ \VL \ShowLabelText \v!saturday \VL\MR
+ \HL
+\stoptabel
+\stopbuffer
+
+\gdef\ShowTextsValues [#1] [#2]
+ {\vbox\bgroup
+ \language[#1]%
+ \setbox0=\hbox to \hsize{\hss\bfb#2 language defaults\hss}
+ \dp0=0pt
+ \box0
+ \vskip1em
+ \hrule
+ \vskip2em
+ \halign
+ {\hss##\hss&##\hskip1em&\hss##\hss\cr
+ $\vcenter{\haalbuffer[lang-a]}$&&$\vcenter{\haalbuffer[lang-b]}$\cr
+ \noalign{\vskip1em}
+ $\vcenter{\haalbuffer[lang-c]}$&&$\vcenter{\haalbuffer[lang-d]}$\cr}%
+ \egroup}
+
+\gdef\ShowLanguageValues [#1] [#2] #3 #4
+ {\hbox to \hsize
+ {\hss
+ \vbox
+ \bgroup
+ \language[#1]%
+ \let\normalbar=|
+ \starttabel[||||]
+ \HL
+ \VL \THREE{\bf subsentence symbol and quotes} \VL\SR
+ \HL
+ \VL \citaat{#3 #4} \VL \citeer{#2} \VL \let|=\normalbar |<||<|#3|>|#4|>| \VL\SR
+ \HL
+ \stoptabel
+ \egroup
+ \hss}}
+
+\gdef\doShowAllLanguageValues [#1] [#2] #3 #4
+ {\vbox
+ {\ShowTextsValues [#1] [#2]
+ \vskip2em
+ \ShowLanguageValues [#1] [#2] #3 #4 }
+ \protect
+ \pagina}
+
+\gdef\ShowAllLanguageValues%
+ {\pagina
+ \unprotect
+ \doShowAllLanguageValues}
+
+\protect
+
+%D Command references:
+
+\input setupa
+\input setupb
+
+\def\showsetup%
+ {\doglobal\newcounter\CurrentArgument
+ \setup}
+
+\stelkadertekstenin
+ [setuptext]
+ [achtergrond=raster,
+ kader=uit]
+
+\endinput
diff --git a/tex/context/base/s-mod-01.tex b/tex/context/base/s-mod-01.tex
new file mode 100644
index 000000000..09fc90df7
--- /dev/null
+++ b/tex/context/base/s-mod-01.tex
@@ -0,0 +1,144 @@
+%D \module
+%D [ file=s-mod-01,
+%D version=very-old,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Documentation Paper Environment,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D This module looks like crap, is not documented, will
+%D change, and used to be called modu-*.tex.
+
+\input s-mod-00.tex
+
+\stelkorpsin
+ [10pt,ams]
+
+\taal
+ [en]
+
+\stelwitruimtein
+ [groot]
+
+\steltolerantiein
+ [soepel]
+
+\emergencystretch=5em
+
+\stellayoutin
+ [rugwit=3.5cm,
+ linkermarge=1.75cm,
+ rechtermarge=0cm,
+ margeafstand=.5cm,
+ linkerrandafstand=.25cm,
+ rechterrandafstand=.5cm,
+ rand=1.5cm,
+ breedte=15.55333cm, % 13.998cm at 9pt => 15.55333 at 10pt
+ kopwit=2cm,
+ hoofd=1.25cm,
+ voet=1.25cm,
+ hoogte=25cm,
+ letter=\ss]
+
+\stelsetupin
+ [verwijzing=1]
+
+\startnotmode[single]
+
+ \stelnummeringin
+ [variant={dubbelzijdig,enkelzijdig}]
+
+\stopnotmode
+
+\stelnummeringin
+ [plaats=]
+
+\stelvoettekstenin
+ [rand]
+ [][paginanummer]
+
+\startmode[single]
+
+ \stelvoettekstenin
+ [marge]
+ [\tt\Modulefile][]
+
+\stopmode
+
+\startnotmode[single]
+
+ \stelvoettekstenin
+ [marge]
+ [\tt\Modulefile][]
+ [\tt\Modulefile][]
+
+\stopnotmode
+
+\stelvoettekstenin
+ [tekst]
+ [\CONTEXT]
+ [\Moduletitle]
+
+\stelhoofdtekstenin
+ [tekst]
+ []
+ [\Modulesubtitle]
+
+\stelinmargein
+ [plaats=links]
+
+\stelkoppenin
+ [variant=inmarge]
+
+\stelkopin
+ [hoofdstuk]
+ [letter=\ssc,
+ pagina=rechts,
+ hoofd=leeg]
+
+\stelkopin
+ [paragraaf]
+ [letter=\ssb,
+ pagina=rechts]
+
+\stellijstin
+ [hoofdstuk]
+ [letter=vet,
+ na=\blanko]
+
+\stelinhoudin
+ [breedte=3em,
+ titeluitlijnen=ja]
+
+\stelindexin
+ [balanceren=ja,
+ aanduiding=nee]
+
+\startnotmode[nocolor]
+
+\stelkleurenin
+ [status=start]
+
+\stopnotmode
+
+\startnotmode[color]
+
+ \stelkleurenin
+ [conversie=altijd]
+
+ \steltypenin
+ [palet=graypretty]
+
+\stopnotmode
+
+\stelinteractiein
+ [status=start,
+ kleur=,
+ letter=]
+
+\endinput
diff --git a/tex/context/base/s-mod-02.tex b/tex/context/base/s-mod-02.tex
new file mode 100644
index 000000000..0280a2fd8
--- /dev/null
+++ b/tex/context/base/s-mod-02.tex
@@ -0,0 +1,409 @@
+%D \module
+%D [ file=s-mod-02,
+%D version=very-old,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Documentation Screen Environment,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D This module looks like crap, is not documented, will
+%D change, and used to be called modu-*.tex.
+
+% Macro's
+
+\input s-mod-00.tex
+
+\stelkopin[paragraaf][expansie=commando]
+
+\def\complexmodule[#1]% redefined
+ {\startglobaal % i.v.m. \bgroup in \startdocumentation
+ \getparameters[Module][#1]
+ \stopglobaal % i.v.m. \bgroup in \startdocumentation
+ \paragraaf{\Modulesubtitle}
+ \SchrijfLijstenWeg}
+
+\def\stopmodule% redefined
+ {\pagina
+ \bepaalregisterkenmerken
+ [index]
+ [criterium=paragraaf]
+ \ifutilitydone
+ \paginareferentie
+ [index]
+ \plaatsregister
+ [index]
+ [balanceren=ja,
+ aanduiding=nee,
+ criterium=paragraaf]
+ \fi}
+
+\let\StelLijstenSamen=\relax
+
+\newcounter\ModuleNumber
+
+\newwrite\BatchFile \openout\BatchFile=\jobname.bat
+
+\def\WriteBatchFile%
+ {\doglobal\increment\ModuleNumber
+ \immediate\write\BatchFile{call modu-run \FileName\space \ModuleNumber}}
+
+\newif\ifProcessingPublic
+
+\def\SchrijfLijstenWeg%
+ {\schrijfnaarlijst[FileNames] {}{\FileName}
+ \schrijfnaarlijst[GroupItems]{}{\GroupItem}}
+
+\def\moduletitel{}
+
+\def\TypeZeroModule#1%
+ {\paragraaf{[to be extracted: #1]}
+ {\em This module is not yet split off.}
+ \SchrijfLijstenWeg}
+
+\def\TypeOneModule#1%
+ {\paragraaf{[to be documented: #1]}
+ {\em This module is not yet fully documented.}
+ \SchrijfLijstenWeg}
+
+\def\TypeTwoModule#1%
+ {\ifProcessingPublic
+ \readfile{#1.ted}{}{}%
+ \WriteBatchFile
+ \else
+ \paragraaf{[not yet public: #1]}
+ {\em This module is documented but not yet public.}
+ \SchrijfLijstenWeg
+ \fi}
+
+\def\TypeThreeModule#1%
+ {\readfile{#1.ted}{}{}%
+ \WriteBatchFile}
+
+\def\verwerkmodule#1#2%
+ {\pagina
+ \bgroup
+ \def\FileName{#1}
+ \stelrefererenin[prefix=#1]
+ \gebruikexterndocument[PaperVersion][#1][]
+ \aftersplitstring#1\at-\to\GroupItem
+ \StelLijstenSamen
+ \ifcase#2
+ \TypeZeroModule{#1}
+ \or
+ \TypeOneModule{#1}
+ \or
+ \TypeTwoModule{#1} % \TypeThreeModule{#1}
+ \or
+ \TypeThreeModule{#1}
+ \fi
+ \pagina
+ \stelrefererenin[prefix=]
+ \egroup}
+
+\def\ModuleGroep#1#2%
+ {\pagina
+ \let\Modulefile=\empty
+ \stelrefererenin[prefix=#1]
+ \def\FileGroup{#1}
+ \schrijfnaarlijst[FileGroups]{}{\FileGroup}
+ \hoofdstuk[inhoud]{#2}
+ \MaakLijstMetItems
+ \MaakLijstMetNames
+ \MaakLijstMetGroups
+ \plaatsinhoud[criterium=hoofdstuk,niveau=paragraaf]}
+
+% Layout
+
+\stelkorpsin
+ [9pt,ams]
+
+\taal
+ [en]
+
+\stelpapierformaatin
+ [S6][S6]
+
+\stellayoutin
+ [rugwit=72.5pt,
+ linkermarge=50pt,
+ linkermargeafstand=12.5pt,
+ rechtermarge=0pt,
+ rechterrand=80pt,
+ rechterrandafstand=10pt,
+ linkerrand=0pt,
+ breedte=430pt,
+ kopwit=10pt,
+ hoofd=0pt,
+ voet=30pt,
+ onderafstand=10pt,
+ onder=15pt,
+ hoogte=410pt,
+ letter=\ss]
+
+\steltypenin
+ [palet=colorpretty]
+
+\stelsetupin
+ [verwijzing=3]
+
+\definieerkleur [texprettyone] [r=.8, g=0, b=0] % red
+\definieerkleur [texprettytwo] [r=0, g=.6, b=0] % green
+
+\definieerkleur [AchtergrondKleur] [s=.5] % [r=1,g=1,b=.7]
+\definieerkleur [ButtonKleur] [s=.85] % [r=.1,g=.5,b=.8]
+
+\stelinteractiein
+ [status=start,
+ pagina=ja,
+ contrastkleur=,
+ menu=aan,
+ kleur=]
+
+\stelachtergrondenin
+ [pagina]
+ [achtergrond=kleur,
+ kleur=AchtergrondKleur,
+ offset=2.5pt] % this offset influences the menus!
+
+\stelachtergrondenin
+ [tekst,voet]
+ [tekst,linkermarge]
+ [achtergrond=kleur,
+ kleur=wit]
+
+\stelsubpaginanummerin
+ [wijze=perparagraaf,
+ status=start]
+
+\stelinteractiebalkin
+ [kader=uit,
+ offset=0pt,
+ hoogte=passend]
+
+\stelwitruimtein
+ [groot]
+
+\steltypenin
+ [typen]
+ [optie=kleur]
+
+\steltypenin
+ [definition]
+ [optie=kleur]
+
+\steltypenin
+ [file]
+ [optie=kleur]
+
+\stelnummeringin
+ [variant=enkelzijdig,
+ wijze=perparagraaf,
+ status=geen]
+
+\stelinmargein
+ [plaats=links]
+
+\stelkoppenin
+ [variant=inmarge]
+
+\stelkopin
+ [hoofdstuk]
+ [letter=\ssc,
+ pagina=rechts]
+
+\stelkopin
+ [paragraaf]
+ [letter=\ssb,
+ pagina=rechts]
+
+\stellijstin
+ [hoofdstuk]
+ [letter=vet,
+ na=\blanko]
+
+\stelinhoudin
+ [breedte=2em]
+
+\stelindexin
+ [balanceren=ja,
+ aanduiding=nee]
+
+\stelkleurenin
+ [status=start]
+
+\def\TitelBlad#1%
+ {\startstandaardopmaak
+ \definefont[GrootFont] [SansBold at 72pt]
+ \definefont[MiddelFont][Sans at 32pt]
+ \definefont[KleinFont] [Sans at 24pt]
+ \startkleur[AchtergrondKleur]
+ \vskip12pt
+ \regelmidden{\GrootFont\setstrut\strut Con\TeX t}
+ \vskip24pt
+ \regelmidden{\MiddelFont\setstrut\strut #1}
+ \vskip24pt
+ \regelmidden{\KleinFont\setstrut\strut Hans Hagen}
+ \vfilll
+ \regelmidden{\KleinFont\setstrut\strut PRAGMA ADE}
+ \vskip24pt
+ \regelmidden{\KleinFont\setstrut\strut www.pragma-ade.nl --- \currentdate}
+ \vskip12pt
+ \stopkleur
+ \stopstandaardopmaak}
+
+\def\ColofonBlad%
+ {\startmode[atpragma]
+ \pagina
+ \bgroup
+ \def\PragmaHoogte {\zethoogte}
+ \def\PragmaBreedte{\tekstbreedte}
+ \def\PragmaKopwit {\kopwit}
+ \def\PragmaRugwit {\rugwit}
+ \def\PragmaMarge {0pt}
+ \PragmaLijnentrue
+ \PlaatsPragmaLogo[ADE]
+ \vfill
+ \startsmaller[3*midden]
+ This is the official documentation of \CONTEXT\ version
+ \kenmerkdatum, a \TEX\ macropackage developed by J.~Hagen
+ \& A.F.~Otten, who both hold the copyrights.
+ \stopsmaller
+ \vfill
+ \pagina
+ \egroup
+ \stopmode}
+
+\newbox\LijstMetItems
+\newbox\LijstMetGroups
+\newbox\LijstMetNames
+
+\definieerlijst[FileNames] \def\FileName {}
+\definieerlijst[FileGroups] \def\FileGroup {}
+\definieerlijst[GroupItems] \def\GroupItem {}
+
+\stellijstin
+ [FileNames,FileGroups,FileGroups]
+ [expansie=ja,
+ paginanummer=nee,
+ letter=\ss\bf]
+
+\stellijstin
+ [FileNames]
+ [commando=\FileNameEntry,
+ variant=geen]
+
+\stellijstin
+ [FileGroups]
+ [commando=\FileGroupEntry,
+ na=\hss,
+ variant=geen]
+
+\def\FileNameEntry#1#2#3%
+ {\strut\hbox{#2}}
+
+\def\FileGroupEntry#1#2#3%
+ {\strut#2}
+
+\def\MaakLijstMetItems%
+ {\setbox\LijstMetItems=\vbox
+ {\ss\bf
+ \stelinteractiein[kleur=ButtonKleur]
+ \plaatslijst[GroupItems][criterium=hoofdstuk]}}
+
+\def\MaakLijstMetNames%
+ {\setbox\LijstMetNames=\vbox
+ {\hsize\rechterrandbreedte
+ \ss\bf\stelinterliniein
+ \stelinteractiein[kleur=ButtonKleur]
+ \startsimplecolumns[afstand=10pt]
+ \plaatslijst[FileNames][criterium=hoofdstuk]
+ \stopsimplecolumns}}
+
+\def\MaakLijstMetGroups%
+ {\setbox\LijstMetGroups=\hbox to \tekstbreedte
+ {\ss\bf
+ \stelinteractiein[kleur=ButtonKleur]%
+ \plaatslijst[FileGroups][criterium=alles]\unskip\unskip}}
+
+\setbox\LijstMetGroups=\hbox{}
+
+%\stelvoettekstenin
+% [rand]
+% []
+% [{\interactiebalk[variant=g]}]
+
+\stelinteractiemenuin
+ [rechts,onder]
+ [status=start,
+ kader=uit,
+ kleur=AchtergrondKleur,
+ letter=\ss\bf,
+ hoogte=15pt,
+ offset=0pt,
+ tussen=\vskip5pt,
+ achtergrond=kleur,
+ achtergrondkleur=ButtonKleur]
+
+\startinteractiemenu[rechts]
+ \boxofsize \vbox \teksthoogte \voetafstand \voethoogte 5pt
+ \bgroup
+ \copy\LijstMetNames
+ \vfill
+ \but [\FileGroup:inhoud] local contents \\
+ \but [\FileName:index] local register \\
+ \but [PaperVersion::begin] paper version \\
+ \but [inhoud] main contents \\
+ \but [index] main register \\
+ \but [VorigeSprong] previous jump \\
+ \but [VerlaatViewer] close document \\
+ \unskip
+ \egroup
+\stopinteractiemenu
+
+\startinteractiemenu[onder]
+ \unhcopy\LijstMetGroups
+\stopinteractiemenu
+
+\def\plaatsmoduleregister%
+ {\startuitleidingen
+ \stelsubpaginanummerin[reset]
+ \titel[-:index]{Register}
+ \plaatsindex
+ \stopuitleidingen}
+
+\def\plaatsmoduleinhoud%
+ {\startinleidingen
+ \titel[-:inhoud]{Contents}
+ \stelinteractiebalkin[status=stop]
+ \plaatsinhoud[criterium=tekst,niveau=hoofdstuk]
+ \stopinleidingen}
+
+\stelinhoudin
+ [paginanummer=nee,
+ niveau=hoofdstuk,
+ interactie=alles,
+ letter=,
+ voor=,
+ na=]
+
+\stelvoettekstenin
+ [marge]
+ [\tt\Modulefile]
+ []
+
+\stelvoettekstenin
+ [tekst]
+ [hoofdstuk][paragraaf]
+
+\stelindexin
+ [symbool=1]
+
+\steltolerantiein
+ [zeersoepel]
+
+\endinput
diff --git a/tex/context/base/s-pre-00.tex b/tex/context/base/s-pre-00.tex
index 583d2a0ec..e11e6f3fd 100644
--- a/tex/context/base/s-pre-00.tex
+++ b/tex/context/base/s-pre-00.tex
@@ -75,14 +75,14 @@
\setupfield
[presentation]
[\c!breedte=\v!passend,\c!hoogte=\v!passend,\c!offset=\v!overlay,
- \c!strut=\v!nee,\c!kader=\v!uit,\c!optie={\v!alleenleesbaar}]
+ \c!strut=\v!nee,\c!kader=\v!uit,\c!optie=\v!alleenleesbaar]
\definesymbol
[\presentationtag]
[\presentationshade]
\def\presentationshade%
{\presentationshield
[\c!breedte=\tekstbreedte,\c!hoogte=\presentationstepheight]{}}
- \definefield[\presentationtag][check][presentation][\presentationtag][\presentationtag]
+ \definefield[\presentationtag][check][presentation][\presentationtag,\v!geen][\presentationtag]
\fitfield[\presentationtag]}}
\startJSpreamble {presentation} used later
@@ -141,6 +141,33 @@
%D \setupfootertexts[{\button{Show Up}[NextStep]}]
%D \stoptypen
%D
+%D In case of presentation style 2, you can say:
+%D
+%D \starttypen
+%D \definereference[Whatever][JS(NextPresentation{\realfolio})]
+%D \stoptypen
+%D
+%D Depending of the viewer, you need to reset the fields at
+%D startup:
+%D
+%D \starttypen
+%D \setupinteraction[openaction=ResetForm]
+%D \stoptypen
+%D
+%D Fixed spacing give you the best results:
+%D
+%D \starttypen
+%D \setupwhitespace[fixed]
+%D \setupblank[fixed]
+%D \stoptypen
+%D
+%D Sometimes you need to set the color of the background, as
+%D with style 2:
+%D
+%D \starttypen
+%D \definecolor[StepColor][Page]
+%D \stoptypen
+%D
%D Special effects can be reached with:
%D
%D \starttypen
diff --git a/tex/context/base/setupa.tex b/tex/context/base/setupa.tex
new file mode 100644
index 000000000..1eb92b164
--- /dev/null
+++ b/tex/context/base/setupa.tex
@@ -0,0 +1,771 @@
+%D \module
+%D [ file=setupa,
+%D version=1998.07.20,
+%D title=\CONTEXT\ Setup Definitions,
+%D subtitle=Macro Definitions,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\startmessages dutch library: setup
+ title: setup
+ formula: formule
+ number: getal
+ list: lijst
+ dimension: maat
+ mark: markering
+ reference: verwijzing
+ command: commando
+ file: file
+ name: naam
+ text: tekst
+ section: sectie
+ singular: naam enkelvoud
+ plural: naam meervoud
+ matrix: n*m
+ see: zie
+ 1: de karakters < en > zijn globaal actief!
+ 2: -- wordt verwerkt
+ 3: -- is niet gedefinieerd
+ 4: -- wordt nogmaals verwerkt
+\stopmessages
+
+\startmessages english library: setup
+ title: setup
+ formula: formula
+ number: number
+ list: list
+ dimension: dimension
+ mark: mark
+ reference: reference
+ command: command
+ file: file
+ name: name
+ text: text
+ section: section
+ singular: singular name
+ plural: plural name
+ matrix: n*m
+ see: see
+ 1: the characters < and > are globally active!
+ 2: -- is processed
+ 3: -- is undefined
+ 4: -- is processed again
+\stopmessages
+
+\startmessages german library: setup
+ title: Setup
+ formula: Formel
+ number: Nummer
+ list: Liste
+ dimension: Dimension
+ mark: Beschriftung
+ reference: Referenz
+ command: Befehl
+ file: Datei
+ name: Name
+ text: Text
+ section: Abschnitt
+ singular: singular
+ plural: plural
+ matrix: n*m
+ see: siehe
+ 1: Die Zeichen < und > gelten global!
+ 2: -- wird verarbeitet
+ 3: -- ist undefiniert
+ 4: -- ist mehrmals verarbeitet
+\stopmessages
+
+\startmessages czech library: setup
+ title: setup
+ formula: rovnice
+ number: cislo
+ list: seznam
+ dimension: dimenze
+ mark: znacka
+ reference: reference
+ command: prikaz
+ file: soubor
+ name: jmeno
+ text: text
+ section: sekce
+ singular: jmeno v singularu
+ plural: jmeno v pluralu
+ matrix: n*m
+ see: viz
+ 1: znaky < a > jsou globalne aktivni!
+ 2: -- je zpracovano
+ 3: -- je nedefinovano
+ 4: -- je zpracovano znovu
+\stopmessages
+
+\startmessages italian library: setup
+ title: setup
+ formula: formula
+ number: number
+ list: list
+ dimension: dimension
+ mark: mark
+ reference: reference
+ command: command
+ file: file
+ name: name
+ text: text
+ section: section
+ singular: singular name
+ plural: plural name
+ matrix: n*m
+ see: see
+ 1: the characters < and > are globally active!
+ 2: -- is processed
+ 3: -- is undefined
+ 4: -- is processed again
+\stopmessages
+
+\startmessages romanian library: setup
+ title: setari
+ formula: formula
+ number: numar
+ list: lista
+ dimension: dimensiune
+ mark: marcaj
+ reference: referinta
+ command: comanda
+ file: fisier
+ name: nume
+ text: text
+ section: sectiune
+ singular: nume singular
+ plural: nume pluram
+ matrix: n*m
+ see: vezi
+ 1: caracterele < si > sunt active global!
+ 2: este procesat --
+ 3: -- este nedefinit
+ 4: -- este procesat din nou
+\stopmessages
+
+
+% we need some more constants
+
+\interfacetranslationtrue
+
+\input mult-sys
+\input mult-con
+\input mult-com
+
+% Enkele letter-instellingen
+
+\def\setupnumfont {}
+\def\setuptxtfont {\tttf}
+\def\setupvarfont {\ttsl}
+\def\setupoptfont {\ttsl}
+\def\setupalwcolor {}
+\def\setupoptcolor {darkgray}
+
+% Het onderstaande is nodig om \type af te handelen in
+% argumenten. Standaard gebeurt dit niet.
+
+% Het actief maken en toekennen moet zeer vroeg gebeuren,
+% in ieder geval voordat cont-00a wordt geladen. Zoniet,
+% dan gaat het mis op commando's als \processaction. De
+% mathematische mode en vergelijken van waarden met \if
+% gaat echter wel goed.
+
+% Omdat in een acrobat geen < en > in een label mogen
+% zitten, moeten we deze karakters bij verwijzingen
+% converteren naar wat onschuldiger varianten.
+
+\catcode`\<=\active
+\catcode`\>=\active
+
+\def<{\lesscharacter}
+\def>{\morecharacter}
+
+\def\protectmoreless{\def<{@}\def>{@}}
+
+\showmessage{setup}{1}{}
+
+% \stelsetupin
+% [verwijzing=<0,1,2,3>]
+%
+% \startsetup
+% \command[name]
+% \type[list]
+% \value[values][default]
+% \variable[variable][values][default]
+% \stopsetup
+%
+% \setup{name}
+%
+% \volledigelijstmettexcommandos
+% \plaatslijstmettexcommandos
+%
+% \c!val! [a]
+% \c!vals! [a,b,c]
+%
+% \c!var! [x=]
+% \c!vars! [x=,y=,z=]
+%
+% \c!trip! [x:y:z]
+% \c!trips! [x:y:z,..]
+%
+% \c!arg! {..}
+% \c!args! {..,..,..}
+%
+% \c!wrd! {..}
+% \c!wrds! {.. .. ..}
+%
+% \c!idx! {..}
+% \c!idxs! {..+..+..}
+%
+% \c!mat! $..$
+% \c!dis! $$..$$
+%
+% \c!pos! (x)
+% \c!poss! (x,y)
+%
+% \c!nop! ...
+%
+% \c!fil! ...
+%
+% \c!stp! \stop...
+%
+% \c!ref! [ref]
+% \c!refs! [ref,..]
+%
+% \c!par! \par
+%
+% \c!cmd! \commando
+%
+% \c!opt! optioneel
+% \c!alwint! altijd interactief
+% \c!optint! optioneel interactief
+%
+% \c!dest! {..[refs]}
+% \c!dests! {..[refs]},..
+%
+% \c!one! #1
+% \c!two! #2
+% \c!three! #3
+%
+% \c!font! fontspecificatie
+%
+% \c!sep! \\
+
+\unprotect
+
+\def\@@setup {@@setup}
+\def\c!stp {}
+\def\c!setupref {stp}
+\def\??stp {@@stp}
+
+\def\c!command!%
+ {{\setupvarfont\getmessage{setup}{command}}}
+
+\def\c!dimension!%
+ {{\setupvarfont\getmessage{setup}{dimension}}}
+
+\def\c!filename!%
+ {{\setupvarfont\getmessage{setup}{file}}}
+
+\def\c!identifier!%
+ {{\setupvarfont\getmessage{setup}{name}}}
+
+\def\c!character!%
+ {{\setupvarfont\getmessage{setup}{character}}}
+
+\def\c!marker!%
+ {{\setupvarfont\getmessage{setup}{mark}}}
+
+\def\c!number!%
+ {{\setupvarfont\getmessage{setup}{number}}}
+
+\def\c!reference!%
+ {{\setupvarfont\getmessage{setup}{reference}}}
+
+\def\c!plural!%
+ {{\setupvarfont\getmessage{setup}{plural}}}
+
+\def\c!singular!%
+ {{\setupvarfont\getmessage{setup}{singular}}}
+
+\def\c!text!%
+ {{\setupvarfont\getmessage{setup}{text}}}
+
+\def\c!formula!%
+ {{\setupvarfont\getmessage{setup}{formula}}}
+
+\def\c!font!%
+ {{\setupvarfont\getmessage{setup}{file}}}
+
+\def\c!matrix!%
+ {{\setupvarfont\getmessage{setup}{matrix}}}
+
+\def\c!list!%
+ {{\setupvarfont\getmessage{setup}{list}}}
+
+\def\c!section!%
+ {{\setupvarfont\getmessage{setup}{section}}}
+
+\def\c!noargument!%
+ {{\setupvarfont\texescape\getmessage{setup}{command}}}
+
+\def\c!oneargument!%
+ {{\setupvarfont\texescape\getmessage{setup}{command}\#1}}
+
+\def\c!twoarguments!%
+ {{\setupvarfont\texescape\getmessage{setup}{command}\#1\#2}}
+
+\def\c!threearguments!%
+ {{\setupvarfont\texescape\getmessage{setup}{command}\#1\#2\#3}}
+
+\def\c!repeat! {\c!opt!{{\setupvarfont n}*}}
+\def\c!arg! {\leftargument\c!dots!\rightargument}
+\def\c!args! {\leftargument..,\c!dots!,..\rightargument}
+\def\c!dis! {\$\$\c!dots!\$\$}
+\def\c!idx! {\leftargument\c!dots!\rightargument}
+\def\c!idxs! {\leftargument..+\c!dots!+..\rightargument}
+\def\c!mat! {\$\c!dots!\$}
+\def\c!nop! {\c!dots!}
+\def\c!fil! {~\c!dots!~}
+\def\c!pos! {(\c!dots!)}
+\def\c!poss! {(\c!dots!,\c!dots!)}
+\def\c!sep! {\texescape\texescape}
+\def\c!ref! {[{\setupvarfont ref}]}
+\def\c!refs! {[{\setupvarfont ref},..]}
+\def\c!val! {[\c!dots!]}
+\def\c!vals! {[..,\c!dots!,..]}
+\def\c!var! {[..=..]}
+\def\c!vars! {[..,..=..,..]}
+\def\c!cmd! {\c!noargument!}
+\def\c!dest! {[\leftargument..\c!ref!\rightargument]}
+\def\c!dests! {[..,\leftargument..\c!refs!\rightargument,..]}
+\def\c!trip! {[x:y:z=]}
+\def\c!trips! {[x:y:z=,..]}
+\def\c!wrd! {\leftargument\c!dots!\rightargument}
+\def\c!wrds! {\leftargument.. \c!dots!\ ..\rightargument}
+\def\c!par! {\texescape par}
+\def\c!opt! #1{{\setupoptfont{#1}}}
+\def\c!tex! #1{\texescape#1}
+\def\c!or! {\hbox spread .25em{\vl}}
+
+\let\redefinesetupconstants=\relax
+
+% Test:
+
+\newif\ifbreaksetup
+\def\breaksetup{\ifbreaksetup\allowbreak\fi}
+
+\def\c!repeat! {\breaksetup\c!opt!{{\setupvarfont n}*}\breaksetup}
+\def\c!arg! {\breaksetup\leftargument\c!dots!\rightargument\breaksetup}
+\def\c!args! {\breaksetup\leftargument..,\breaksetup\c!dots!,\breaksetup..\rightargument\breaksetup}
+\def\c!dis! {\breaksetup\$\$\c!dots!\$\$\breaksetup}
+\def\c!idx! {\breaksetup\leftargument\c!dots!\rightargument\breaksetup}
+\def\c!idxs! {\breaksetup\leftargument..+\breaksetup\c!dots!+\breaksetup..\rightargument\breaksetup}
+\def\c!mat! {\breaksetup\$\c!dots!\$\breaksetup}
+\def\c!nop! {\breaksetup\c!dots!\breaksetup}
+\def\c!fil! {\breaksetup~\c!dots!~\breaksetup}
+\def\c!pos! {\breaksetup(\c!dots!)\breaksetup}
+\def\c!poss! {\breaksetup(\c!dots!,\c!dots!)\breaksetup}
+\def\c!sep! {\breaksetup\texescape\texescape\breaksetup}
+\def\c!ref! {\breaksetup[{\setupvarfont ref}]\breaksetup}
+\def\c!refs! {\breaksetup[{\setupvarfont ref},\breaksetup..]\breaksetup}
+\def\c!val! {\breaksetup[\c!dots!]\breaksetup}
+\def\c!vals! {\breaksetup[..,\breaksetup\c!dots!,\breaksetup..]\breaksetup}
+\def\c!var! {\breaksetup[..=..]\breaksetup}
+\def\c!vars! {\breaksetup[..,\breaksetup..=..,\breaksetup..]\breaksetup}
+\def\c!cmd! {\breaksetup\c!noargument!\breaksetup}
+\def\c!dest! {\breaksetup[\leftargument..\breaksetup\c!ref!\rightargument]\breaksetup}
+\def\c!dests! {\breaksetup[..,\breaksetup\leftargument..\breaksetup\c!refs!\rightargument,\breaksetup..]\breaksetup}
+\def\c!trip! {\breaksetup[x:y:z=]\breaksetup}
+\def\c!trips! {\breaksetup[x:y:z=,\breaksetup..]\breaksetup}
+\def\c!wrd! {\breaksetup\leftargument\c!dots!\rightargument\breaksetup}
+\def\c!wrds! {\breaksetup\leftargument.. \breaksetup\c!dots!\ \breaksetup..\rightargument\breaksetup}
+\def\c!par! {\breaksetup\texescape par\breaksetup}
+\def\c!opt! #1{{\setupoptfont{#1}}}
+
+\definieerregister
+ [texmacro]
+ [texmacros]
+
+\definieersorteren
+ [texcommando]
+ [texcommandos]
+
+\stelsorterenin
+ [texcommando]
+ [\c!commando=\@@stpcommando,
+ \c!criterium=\@@stpcriterium]
+
+\definieersorteren
+ [elktexcommando]
+ [alletexcommandos]
+
+\stelsorterenin
+ [elktexcommando]
+ [\c!commando=\@@stpcommando,
+ \c!criterium=\v!alles]
+
+% verwijzing: 0 geen verwijzingen plaatsen / wel genereren
+% 1 alleen bij zie plaatsen / wel genereren
+% 2 alle verwijzingen plaatsen / niet genereren
+% 3 bij zie commando klikken / wel genereren
+
+\newif\ifv!numberingdots!
+\newif\ifv!alwaysinteractive!
+\newif\ifv!optionalinteractive!
+
+\newcount\v!dotnumber!
+
+\def\c!dots!%
+ {\ifv!numberingdots!
+ \global\advance\v!dotnumber! by 1\relax
+ .{\setupnumfont\the\v!dotnumber!}.%
+ \else
+ ...%
+ \fi}
+
+\def\writesetupparbox#1%
+ {\hbox to \@@stpbreedte{\strut#1\hss}}%
+
+\def\writesetupparameter#1#2%
+ {\doifcommonelse{#1}{#2}
+ {\underbar{#1} }
+ {#1 }}%
+
+\def\writesetupparametervalues#1#2#3%
+ {\bgroup
+ \def\dowritesetupparameter##1%
+ {\writesetupparameter{##1}{#3}}%
+ \veryraggedright
+ \noindent
+ \hangindent=\@@stpbreedte
+ \writesetupparbox{\getinterfaceconstant{#1}}%
+ \processcommalist[#2]\dowritesetupparameter
+ \doifcommonelse{#3}{#2}{}{\underbar{#3}}%
+ \endgraf
+ \egroup}
+
+\def\writesetupparameters#1#2%
+ {\doifnot{#1}{}
+ {\bgroup
+ \def\dowritesetupparameter##1%
+ {\writesetupparameter{##1}{#2}}%
+ \indent
+ \veryraggedright
+ \hangindent=\@@stpbreedte
+ \writesetupparbox{\c!dots!}%
+ \processcommalist[#1]\dowritesetupparameter
+ \endgraf
+ \egroup}}
+
+% #1=list #3=default
+
+\def\setupvalue[#1]#2[#3]%
+ {\writesetupparameters{#1}{#3}}
+
+% #1=name #3=list #5=default
+
+\def\doifsystemconstantelse#1%
+ {\convertargument*\v!\to\asciia
+ \convertargument*#1\to\asciib
+ \doifinstringelse\asciia\asciib}
+
+\def\setupvariable[#1]#2[#3]#4[#5]%
+ {\doifcommonelse{\c!command!,\c!dimension!,\c!number!,\c!text!}{#3}
+ {\doifsystemconstantelse{#5}
+ {\writesetupparametervalues{#1}{#3}{#5}}
+ {\writesetupparametervalues{#1}{#3}{}}}
+ {\writesetupparametervalues{#1}{#3}{#5}}}
+
+\unexpanded\def\inheritsetup#1%
+ {\setsetupreference#1\to\currentsetupinheritance
+ \ifcase\@@stpverwijzing
+ \texescape#1% % njet
+ \or
+ {\op{p}[\currentsetupinheritance]: \texescape#1}% zonder { } probleem
+ \or
+ {\op{p}[\currentsetupinheritance]: \texescape#1}% nog eens uitzoeken
+ \or
+ {\naar{\tttf\texescape#1}[\currentsetupinheritance]}%
+ \fi}
+
+% #1=name
+
+\def\inheritsetupvalues[#1]#2[#3]%
+ {\bgroup
+ \ConvertToConstant\doifelse{#3}{}{\def\next{}}{\def\next{: }}%
+ \def<<{\setupvarfont}\def>>{}%
+ \protectmoreless
+ \value[\getmessage{setup}{see} \inheritsetup{#1}\next#3][]%
+ \egroup}
+
+% #1=name
+
+\def\inheritsetupvariables[#1]#2[#3]%
+ {\bgroup
+ \ConvertToConstant\doifelse{#3}{}{\def\next{}}{\def\next{: }}%
+ \def<<{\setupvarfont}\def>>{}%
+ \protectmoreless
+ \variable[..=..][\getmessage{setup}{see} \inheritsetup{#1}\next#3][]%
+ \egroup}
+
+\def\stelsetupin%
+ {\dodoubleargument\getparameters[\??stp]}
+
+\def\dowritetexcommand#1<<#2>>#3\\%
+ {\texescape#1{\setupvarfont#2}#3}
+
+\def\writetexcommand#1%
+ {\setuptxtfont
+ \doifinstringelse{<<}{#1}
+ {\dowritetexcommand#1\\}
+ {\texescape#1}}
+
+\xdef\currentsetupreference {}
+\xdef\currentsetupinheritance {}
+
+\def\subsetupreference#1{@#1@}
+
+\let\subsetup=\subsetupreference
+
+\def\setsetupreference#1\to#2%
+ {\bgroup
+ \protectmoreless
+ \let\subsetup=\subsetupreference
+ \xdef#2{\c!setupref:#1}%
+ \egroup}
+
+\def\setsetupnumber#1\to#2%
+ {\bgroup
+ \xdef#2{\c!setupref:#1}%
+ \egroup}
+
+\def\checkparametervalues#1#2#3%
+ {\setbox0=\hbox{\getinterfaceconstant{#1}}%
+ \ifdim\wd0\morecharacter\dimen0\relax
+ \dimen0=\wd0
+ \fi}
+
+\def\checkparameters#1#2%
+ {\setbox0=\hbox{\c!dots!}%
+ \ifdim\wd0\morecharacter\dimen0\relax
+ \dimen0=\wd0
+ \fi}
+
+\def\dointeractivesetupsymbol#1%
+ {\color
+ [#1]
+ {\raise.15ex\hbox{$\gobackwardcharacter\hskip.5em\goforwardcharacter$}}}
+
+\def\dointeractivesetup%
+ {\ifv!alwaysinteractive!
+ \dointeractivesetupsymbol\setupalwcolor
+ \fi
+ \ifv!optionalinteractive!
+ \dointeractivesetupsymbol\setupoptcolor
+ \fi}
+
+\@EA\def\@EA\c!dostp!\e!start#1<<#2>>#3\\%
+ {\breaksetup~...~\breaksetup\texescape\e!stop#1{\setupvarfont#2}}%
+
+\defineframedtext
+ [setuptext]
+ [\c!breedte=\hsize,
+ \c!hoogte=\v!passend,
+ \c!offset=0.75em]
+
+\newif\ifshortsetup
+
+\def\dosetupreference%
+ {\doifundefinedelse{done::\currentsetupreference}
+ {\pagereference[\currentsetupnumber]%
+ \pagereference[\currentsetupreference]%
+ \setgvalue{done::\currentsetupreference}{}}
+ {\showmessage{setup}{4}{\currentsetupreference}}}
+
+\def\doprocesssetup\number[#1]\command[#2]\type[#3]#4%
+ {\bgroup
+ \showmessage{setup}{2}{#2}%
+ \ifshortsetup\else\breaksetupfalse\fi
+ \let\value=\setupvalue
+ \let\variable=\setupvariable
+ \let\inheritvalues=\inheritsetupvalues
+ \let\inheritvariables=\inheritsetupvariables
+ \@EA\def\@EA\c!stp!\@EA{\@EA\c!dostp!#2<<>>\\}%
+ \advance\hsize by -\leftskip
+ \advance\hsize by -\rightskip
+ \getvalue{\e!start setuptext}
+ \stelwitruimtein[\v!geen]%
+ \bgroup
+ \def<{}%
+ \def>{}%
+ \edef\firstcommand{#2*}%
+ \let<=\lesscharacter
+ \let>=\morecharacter
+ \edef\secondcommand{#2}%
+ \expanded{\texmacro[\firstcommand]{\noexpand\tex{\secondcommand}}}%
+ \egroup
+ \global\v!dotnumber!=0
+ \global\v!numberingdots!true
+ \global\v!alwaysinteractive!false
+ \global\v!optionalinteractive!false
+ \def\c!alwint!{\global\v!alwaysinteractive!true}%
+ \def\c!optint!{\global\v!optionalinteractive!true}%
+ \setbox0=\hbox{\redefinesetupconstants#3}%
+ \ifnum\v!dotnumber!<2
+ \global\v!numberingdots!false
+ \fi
+ \global\v!dotnumber!=0
+ \ifbreaksetup
+ \hangafter1
+ \hangindent1em
+ \veryraggedright
+ \else
+ \hbox to \hsize
+ \fi
+ {\let\subsetup=\gobbleoneargument
+ \redefinesetupconstants
+ \setuptxtfont\setstrut\strut
+ \writetexcommand{#2}#3%
+ \ifbreaksetup\hfill\else\hss\fi
+ \ifnum\@@stpverwijzing>0
+ \dointeractivesetup
+ \fi
+ \setsetupnumber #1\to\currentsetupnumber
+ \setsetupreference#2\to\currentsetupreference
+ \ifcase\@@stpverwijzing
+ \dosetupreference
+ \or
+ \dosetupreference
+ \or
+ \hskip1em
+ \doifreferencefoundelse{\currentsetupreference}
+ {\bf\op[\currentsetupreference]}
+ {\setupvarfont \translate
+ [nl=nog niet beschreven,
+ en=not yet described,
+ de=not yet described]}%
+ \or
+ \dosetupreference
+ \fi}
+ \ifbreaksetup
+ \endgraf
+ \fi
+ \ifshortsetup \else
+ \switchtobodyfont[\v!klein]%
+ \setuptxtfont
+ \redefinesetupconstants
+ \global\v!dotnumber!=0
+ \setbox0=\vbox
+ {\dimen0=\!!zeropoint
+ \let\writesetupparametervalues=\checkparametervalues
+ \let\writesetupparameters=\checkparameters
+ #4\relax
+ \ifdim\dimen0<2.5em
+ \dimen0=2.5em
+ \fi
+ \advance\dimen0 by 2em
+ \xdef\@@stpbreedte{\the\dimen0}}%
+ \global\v!dotnumber!=0
+ \setbox0=\vbox{#4}%
+ \ifdim\wd0>\!!zeropoint
+ \blanko
+ \unvbox0
+ \fi
+ \fi
+ \getvalue{\e!stop setuptext}
+ \egroup}
+
+\newcounter\currentsetupnumber
+
+\def\startsetup#1\command[#2]#3\type[#4]#5\stopsetup%
+ {\bgroup
+ \def<{}%
+ \def>{}%
+ \doglobal\increment\currentsetupnumber\relax
+ \def\!!stringa{\@@setup#2}%
+ \expandafter\setgvalue\expandafter\!!stringa\expandafter
+ {\expandafter\doprocesssetup
+ \expandafter\number\expandafter[\currentsetupnumber]%
+ \command[#2]%
+ \type[#4]%
+ {#5}}%
+ \edef\firstcommand{#2*}%
+ \let<=\lesscharacter
+ \let>=\morecharacter
+ \edef\secondcommand{#2}%
+ % 'elk' comes first, else no 'gebruikt' entries are written
+ \expanded{\elktexcommando[\firstcommand]{\secondcommand}}%
+ % this uggly hack prevents messages
+ \let\showmessage=\gobblethreearguments
+ % here 'elk' is overruled
+ \expanded{\texcommando[\firstcommand]{\secondcommand}}%
+ \egroup}
+
+\def\dosetup#1%
+ {\protect
+ \@@stpvoor
+ \bgroup
+ \def<{}%
+ \def>{}%
+ \xdef\globalsetupname{#1}%
+ \gebruikcommandos{#1*}%
+ \egroup
+ \doifdefinedelse{\@@setup\globalsetupname}
+ {\getvalue{\@@setup\globalsetupname}}
+ {\bgroup
+ \showmessage{setup}{3}{#1}%
+ \setuptxtfont [setup \makemessage{setup}{3}{#1}]\endgraf
+ \egroup}%
+ \@@stpna}
+
+\def\setup%
+ {\shortsetupfalse
+ \unprotect\dosetup}
+
+\def\shortsetup%
+ {\shortsetuptrue
+ \unprotect\dosetup}
+
+\def\startsetupfile%
+ {\unprotect}
+
+\def\stopsetupfile%
+ {\protect
+ \endinput}
+
+\let\documenteduntilhere=\relax
+
+\definieerblok [dutch, english, german, czech, italian]
+\verbergblokken [dutch, english, german, czech, italian]
+
+\stelsetupin
+ [\c!voor=,
+ \c!na=,
+ \c!commando=\setup,
+ \c!verwijzing=0,
+ \c!criterium=\v!gebruikt]
+
+\def\plaatssetup%
+ {\getvalue{\e!plaats\e!lijstmet texcommandos}}
+
+\def\plaatselkesetup% for fun purposes only
+ {\bgroup
+ \stelsetupin[\c!verwijzing=2]%
+ \setupreferencing[\c!status=\v!stop]%
+ \getvalue{\e!plaats\e!lijstmet alletexcommandos}%
+ \egroup}
+
+\let\setupsetup = \stelsetupin
+\let\placesetup = \plaatssetup
+\let\placeeverysetup= \plaatselkesetup
+
+\protect
+
+\endinput
diff --git a/tex/context/base/setupb.tex b/tex/context/base/setupb.tex
new file mode 100644
index 000000000..8e2f340a6
--- /dev/null
+++ b/tex/context/base/setupb.tex
@@ -0,0 +1,8635 @@
+%D \module
+%D [ file=setupb,
+%D version=1998.07.20,
+%D title=\CONTEXT\ Setup Definitions,
+%D subtitle=Command Specifications,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+% nieuw: oncomment plaatssamengesteldelijst
+
+% nog 'reductie=ja/nee' in \setupcolors
+
+\startsetupfile
+
+% lang-ini
+
+\startsetup
+ \command
+ [\y!installlanguage]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!spatiering]
+ [\v!opelkaar,\v!ruim]
+ [\v!opelkaar]
+ \variable
+ [\s!lefthyphenmin]
+ [\c!dimension!]
+ [2]
+ \variable
+ [\s!righthyphenmin]
+ [\c!dimension!]
+ [2]
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!stop]
+ \variable
+ [\c!leftsentence]
+ [\c!command!]
+ [---]
+ \variable
+ [\c!rightsentence]
+ [\c!command!]
+ [---]
+ \variable
+ [\c!leftsubsentence]
+ [\c!command!]
+ [---]
+ \variable
+ [\c!rightsubsentence]
+ [\c!command!]
+ [---]
+ \variable
+ [\c!leftquote]
+ [\c!command!]
+ [`]
+ \variable
+ [\c!rightquote]
+ [\c!command!]
+ [']
+ \variable
+ [\c!leftquotation]
+ [\c!command!]
+ [``]
+ \variable
+ [\c!rightquotation]
+ [\c!command!]
+ ['']
+ \variable
+ [\c!default]
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setuplanguage]
+ \type
+ [\c!val!\c!vars!]
+ \inheritvariables
+ [\y!installlanguage]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!language]
+ \type
+ [\c!val!]
+ \value
+ [\s!nl,\s!fr,\s!en,\s!uk,\s!de,\s!es,\s!cz,..]
+ [\s!nl]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!mainlanguage]
+ \type
+ [\c!val!]
+ \value
+ [\s!nl,\s!fr,\s!en,\s!uk,\s!de,\s!es,\s!cz,..]
+ [\s!nl]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!translate]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!identifier!]
+ [\c!text!]
+ []
+\stopsetup
+
+% enco-ini
+
+\startsetup
+ \command
+ [\y!useencoding]
+ \type
+ [\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+% spec-ini
+
+\startsetup
+ \command
+ [\y!usespecials]
+ \type
+ [\c!vals!]
+ \value
+ [\c!reset,\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!defineoutput]
+ \type
+ [\c!val!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupoutput]
+ \type
+ [\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+% font-ini
+
+\startsetup
+ \command
+ [\y!definebodyfontenvironment]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [5pt,...,12pt,\s!default]
+ []
+ \variable
+ [\s!text]
+ [\c!dimension!]
+ []
+ \variable
+ [\s!script]
+ [\c!dimension!]
+ []
+ \variable
+ [\s!scriptscript]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!x]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!xx]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!klein]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!groot]
+ [\c!dimension!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupbodyfontenvironment]
+ \type
+ [\c!val!\c!vars!]
+ \inheritvalues
+ [\y!setupbodyfont]
+ []
+ \inheritvariables
+ [\y!setupbodyfont]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!showbodyfontenvironment]
+ \type
+ [\c!vals!]
+ \inheritvalues
+ [\y!setupbodyfont]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definebodyfont]
+ \type
+ [\c!vals!\c!val!\c!vars!]
+ \value
+ [5pt,...,12pt,\s!default]
+ []
+ \value
+ [\c!rm,\c!ss,\c!tt,\c!mm,\c!hw,\c!cg]
+ []
+ \variable [\c!tf] [\c!font!] []
+ \variable [\c!bf] [\c!font!] []
+ \variable [\c!sl] [\c!font!] []
+ \variable [\c!it] [\c!font!] []
+ \variable [\c!bs] [\c!font!] []
+ \variable [\c!bi] [\c!font!] []
+ \variable [\c!sc] [\c!font!] []
+ \variable [\c!ex] [\c!font!] []
+ \variable [\c!mi] [\c!font!] []
+ \variable [\c!sy] [\c!font!] []
+ \variable [\c!ma] [\c!font!] []
+ \variable [\c!mb] [\c!font!] []
+ \variable [\c!mc] [\c!font!] []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!showbodyfont]
+ \type
+ [\c!vals!]
+ \inheritvalues
+ [\y!setupbodyfont]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupbodyfont]
+ \type
+ [\c!vals!]
+ \value
+ [\c!identifier!,
+ \v!serif,\v!regular,\v!roman,
+ \v!sans,\v!support,\v!sansserif,
+ \v!mono,\v!type,\v!teletype,
+ \v!handwritten,\v!calligraphic,
+ 5pt,...,12pt]
+ [sau,ibm,12pt,\v!serif]
+\stopsetup
+
+% not yet multi lingual
+%
+% \startsetup
+% \command
+% [\y!switchstyleonly]
+% \type
+% [\c!val!]
+% \value
+% [\c!identifier!]
+% []
+% \stopsetup
+
+\startsetup
+ \command
+ [\y!switchtobodyfont]
+ \type
+ [\c!vals!]
+ \value
+ [5pt,...,12pt,\v!klein,\v!groot,\v!globaal]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definefont]
+ \type
+ [\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!font!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupstrut]
+ \type
+ [\c!opt!\c!vals!]
+ \value
+ [\v!ja,\v!nee,\v!kap,\c!text!]
+ [\v!ja]
+\stopsetup
+
+% colo-ini
+
+\startsetup
+ \command
+ [\y!setupcolor]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ [\v!rgb]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupcolors]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!status]
+ [\v!start,\v!stop,\v!globaal,\v!lokaal]
+ [\v!stop]
+ \variable
+ [\c!conversie]
+ [\v!ja,\v!nee,\v!altijd]
+ [\v!ja]
+ \variable
+ [\c!reductie]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!rgb]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!cmyk]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!mp\c!cmyk]
+ [\v!ja,\v!nee]
+ [\v!ja]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definecolor]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!r]
+ [\c!text!]
+ [0]
+ \variable
+ [\c!g]
+ [\c!text!]
+ [0]
+ \variable
+ [\c!b]
+ [\c!text!]
+ [0]
+ \variable
+ [\c!c]
+ [\c!text!]
+ [0]
+ \variable
+ [\c!m]
+ [\c!text!]
+ [0]
+ \variable
+ [\c!y]
+ [\c!text!]
+ [0]
+ \variable
+ [\c!k]
+ [\c!text!]
+ [0]
+ \variable
+ [\c!s]
+ [\c!text!]
+ [0]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startcolor]
+ \type
+ [\c!val!\c!stp!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!color]
+ \type
+ [\c!val!\c!arg!]
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!graycolor]
+ \type
+ [\c!val!]
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!showcolor]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definepalet]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!identifier!]
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setuppalet]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definecolorgroup]
+ \type
+ [\c!val!\c!opt!\c!val!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\v!rgb,\v!cmyk,\v!grijs,\v!s]
+ [\v!rgb]
+ \value
+ [\c!trips!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!showpalet]
+ \type
+ [\c!val!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\v!horizontaal,\v!vertikaal,\v!naam,\v!waarde]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!showcolorgroup]
+ \type
+ [\c!val!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\v!horizontaal,\v!vertikaal,\v!naam,\v!waarde,\v!nummer]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!comparepalet]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!comparecolorgroup]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command [\y!showmakeup]
+ \type []
+\stopsetup
+
+\doifmode{testrun}{\stopsetupfile}
+
+% core-ver
+
+\startsetup
+ \command
+ [\y!definetype]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!setuptype]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setuptype]
+ \type
+ [\c!var!]
+ \variable
+ [\c!spatie]
+ [\v!aan,\v!uit]
+ [\v!uit]
+ \variable
+ [\c!optie]
+ [\v!schuin,\v!normaal,\v!geen]
+ [\v!geen]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!type]
+ \variable
+ [\c!kleur]
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command [\y!type]
+ \type [\c!arg!]
+ \value [\c!text!][]
+\stopsetup
+
+\startsetup
+ \command [\y!typ]
+ \type [\c!arg!]
+ \value [\c!text!][]
+\stopsetup
+
+\startsetup
+ \command [\y!tex]
+ \type [\c!arg!]
+ \value [\c!text!][]
+\stopsetup
+
+\startsetup
+ \command [\y!arg]
+ \type [\c!arg!]
+ \value [\c!text!][]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definetyping]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\v!file,\v!typen,\c!identifier!]
+ []
+ \inheritvariables
+ [\y!setuptyping]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setuptyping]
+ \type
+ [\c!opt!\c!val!\c!vars!]
+ \value
+ [\v!file,\v!typen,\c!identifier!]
+ []
+ \variable
+ [\c!spatie]
+ [\v!aan,\v!uit]
+ [\v!uit]
+ \variable
+ [\c!pagina]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!optie]
+ [\v!schuin,\v!normaal,\v!commandos,\v!kleur,\v!geen]
+ [\v!geen]
+ \variable
+ [\c!tekst]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [i\c!commando]
+ [\c!command!]
+ [\ttsl]
+ \variable
+ [v\c!commando]
+ [\c!command!]
+ []
+ \variable
+ [c\c!commando]
+ [\c!command!]
+ [\tf]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!na]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!marge]
+ [\c!dimension!,\v!standaard]
+ [0pt]
+ \variable
+ [\c!evenmarge]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!onevenmarge]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!blanko]
+ [\c!dimension!,\v!klein,\v!middel,\v!groot,\v!standaard,\v!halveregel,\v!regel]
+ [\v!regel]
+ \variable
+ [\c!escape]
+ [\c!character!]
+ [/]
+ \variable
+ [\c!springvolgendein]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!type]
+ \variable
+ [\c!kleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!palet]
+ [\c!identifier!]
+ [colorpretty]
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start\v!typen]
+ \type
+ [\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!typefile]
+ \type
+ [\c!opt!\c!arg!\c!arg!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!filename!]
+ []
+\stopsetup
+
+% core-not
+
+\startsetup
+ \command
+ [\y!setupfootnotes]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!conversie]
+ [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins]
+ [\v!cijfers]
+ \variable
+ [\c!wijze]
+ [\v!per\v!tekst,\v!per\c!section!]
+ [\v!per\v!tekst]
+ \variable
+ [\c!plaats]
+ [\v!pagina,\v!tekst,\v!kolommen,\v!hoog]
+ [\v!pagina]
+ \variable
+ [\c!lijn]
+ [\v!aan,\v!uit]
+ [\v!uit]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!korps]
+ [5pt,...,12pt,\v!klein,\v!groot]
+ [\v!klein]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [.125em]
+ \variable
+ [\c!kolomafstand]
+ [\c!dimension!]
+ [1em]
+ \variable
+ [\c!margeafstand]
+ [\c!dimension!]
+ [.5em]
+ \variable
+ [\c!n]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!nummercommando]
+ [\c!oneargument!]
+ []
+ \inheritvariables
+ [\y!framed]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupfootnotedefinition]
+ \type
+ [\c!vars!]
+ \inheritvariables
+ [\y!doordefinieren]
+ []
+\stopsetup
+
+\startsetup
+ \command[\y!footnote]
+ \type[\c!opt!\c!ref!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!footnotetext]
+ \type[\c!opt!\c!ref!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!note]
+ \type[\c!optint!\c!ref!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startlocalfootnotes]
+ \type
+ [\c!stp!]
+ \inheritvariables
+ [\y!setupfootnotes]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!placelocalfootnotes]
+ \type
+ [\c!opt!\c!vars!]
+ \inheritvariables
+ [\y!setupfootnotes]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!placefootnotes]
+ \type
+ [\c!opt!\c!vars!]
+ \inheritvariables
+ [\y!setupfootnotes]
+ []
+\stopsetup
+
+% core-fnt / core-con
+
+\startsetup
+ \command
+ [\y!setupunderbar]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!variant]
+ [a,b,c]
+ [a]
+ \variable
+ [\c!lijndikte]
+ [\c!dimension!]
+ [\lijndikte]
+ \variable
+ [\c!onderoffset]
+ [\c!dimension!]
+ [1.5pt]
+ \variable
+ [\c!bovenoffset]
+ [\c!dimension!]
+ [2.5pt]
+\stopsetup
+
+\startsetup
+ \command[\y!underbar]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!underbars]
+ \type[\c!wrds!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!overbar]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!overbars]
+ \type[\c!wrds!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!overstrike]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!overstrikes]
+ \type[\c!wrds!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!romannumerals]
+ \type[\c!arg!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\y!Romannumerals]
+ \type[\c!arg!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\y!numbers]
+ \type[\c!arg!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\y!character]
+ \type[\c!arg!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\y!Character]
+ \type[\c!arg!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\y!characters]
+ \type[\c!arg!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\y!Characters]
+ \type[\c!arg!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\v!mediaeval] % geen \y!mediaeval
+ \type[\c!arg!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\y!month]
+ \type[\c!arg!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\y!MONTH]
+ \type[\c!arg!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\y!weekday]
+ \type[\c!arg!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\y!WEEKDAY]
+ \type[\c!arg!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupcapitals]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!titel]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!sc]
+ [\v!ja,\v!nee]
+ [\v!nee]
+\stopsetup
+
+\startsetup
+ \command[\y!kap]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!nokap]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!KAP]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!Kap]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!Kaps]
+ \type[\c!wrds!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!WORD]
+ \type[\c!wrd!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!WORDS]
+ \type[\c!wrds!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!Word]
+ \type[\c!wrd!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!Words]
+ \type[\c!wrds!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!stretched]
+ \type[\c!wrd!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definesymbol]
+ \type
+ [\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definefiguresymbol]
+ \type
+ [\c!val!\c!val!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!text!]
+ []
+ \inheritvariables
+ [\y!externalfigure]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!symbol]
+ \type
+ [\c!opt!\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startsymbolset]
+ \type
+ [\c!val!\c!stp!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupsymbolset]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!usesymbols]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!showsymbolset]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!defineconversion]
+ \type
+ [\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!command!,\c!text!] % eigenlijk texts
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!convertnumber]
+ \type
+ [\c!arg!\c!arg!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!number!]
+ []
+\stopsetup
+
+% lang-lab
+
+\startsetup
+ \command
+ [\y!setupheadtext]
+ \type
+ [\c!opt!\c!val!\c!var!]
+ \value
+ [\s!nl,\s!fr,\s!en,\s!uk,\s!de,\s!es,\s!cz,..]
+ [\s!nl]
+ \variable
+ [\c!identifier!]
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setuplabeltext]
+ \type
+ [\c!opt!\c!val!\c!var!]
+ \value
+ [\s!nl,\s!fr,\s!en,\s!uk,\s!de,\s!es,\s!cz,..]
+ [\s!nl]
+ \variable
+ [\c!identifier!]
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command[\y!headtext]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!labeltext]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+% core-rul
+
+\startsetup
+ \command
+ [\y!setupmarginrules]
+ \type
+ [\c!var!]
+ \variable
+ [\c!niveau]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!dikte]
+ [\c!dimension!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startmarginrule]
+ \type
+ [\c!val!\c!stp!]
+ \value
+ [\c!number!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!marginrule]
+ \type
+ [\c!val!\c!arg!]
+ \value
+ [\c!number!]
+ []
+\stopsetup
+
+% \startsetup
+% \command
+% [\y!setuprules]
+% \type
+% [\c!var!]
+% \variable
+% [\c!dikte]
+% [\v!klein,\v!middel,\v!groot,\c!dimension!]
+% [\v!middel]
+% \variable
+% [\c!voor]
+% [\c!command!]
+% []
+% \variable
+% [\c!na]
+% [\c!command!]
+% []
+% \stopsetup
+
+\startsetup
+ \command
+ [\y!setuplinewidth]
+ \type
+ [\c!val!]
+ \value
+ [\c!dimension!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupframed]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!hoogte]
+ [\v!passend,\v!ruim,\c!dimension!]
+ [\v!ruim]
+ \variable
+ [\c!breedte]
+ [\v!passend,\v!ruim,\c!dimension!]
+ [\v!ruim]
+ \variable
+ [\c!offset]
+ [\v!geen,\v!overlay,\v!default,\c!dimension!]
+ [1em]
+ \variable
+ [\c!plaats]
+ [\v!laag,\v!diepte]
+ []
+ \variable
+ [\c!optie]
+ [\v!geen,\v!leeg]
+ [\v!geen]
+ \variable
+ [\c!strut]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!uitlijnen]
+ [\v!nee,\v!links,\v!rechts,\v!midden,\v!normaal,\v!hoog,\v!laag,\v!laho]
+ [\v!nee]
+ \variable
+ [\c!onder]
+ [\c!command!]
+ [\vss]
+ \variable
+ [\c!boven]
+ [\c!command!]
+ []
+ \variable
+ [\c!kader]
+ [\v!aan,\v!uit,\v!overlay]
+ [\v!aan]
+ \variable
+ [\c!bovenkader]
+ [\v!aan,\v!uit]
+ [\v!uit]
+ \variable
+ [\c!onderkader]
+ [\v!aan,\v!uit]
+ [\v!uit]
+ \variable
+ [\c!linkerkader]
+ [\v!aan,\v!uit]
+ [\v!uit]
+ \variable
+ [\c!rechterkader]
+ [\v!aan,\v!uit]
+ [\v!uit]
+ \variable
+ [\c!kaderoffset]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!kaderdiepte]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!kaderhoek]
+ [\v!rond,\v!recht]
+ [\v!recht]
+ \variable
+ [\c!kaderstraal]
+ [\c!dimension!]
+ [.5\korpsgrootte]
+ \variable
+ [\c!kaderkleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!achtergrond]
+ [\v!raster,\v!kleur,\v!geen,\v!voorgrond,\c!identifier!]
+ [\v!geen]
+ \variable
+ [\c!achtergrondraster]
+ [\c!number!]
+ [0.9]
+ \variable
+ [\c!achtergrondkleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!achtergrondoffset]
+ [\v!kader,\c!dimension!]
+ [0pt]
+ \variable
+ [\c!achtergronddiepte]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!achtergrondhoek]
+ [\v!rond,\v!recht]
+ [\v!recht]
+ \variable
+ [\c!achtergrondstraal]
+ [\c!dimension!]
+ [.5\korpsgrootte]
+ \variable
+ [\c!diepte]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!hoek]
+ [\v!rond,\v!recht]
+ [\v!recht]
+ \variable
+ [\c!straal]
+ [\c!dimension!]
+ [.5\korpsgrootte]
+ \variable
+ [\c!leeg]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!voorgrondkleur]
+ [\c!identifier!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!framed]
+ \type
+ [\c!opt!\c!vars!\c!arg!]
+ \inheritvariables
+ [\y!setupframed]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!inframed]
+ \type
+ [\c!opt!\c!vars!\c!arg!]
+ \inheritvariables
+ [\y!setupframed]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!thinrules]
+ \type
+ [\c!opt!\c!var!]
+ \inheritvariables
+ [\y!setupthinrules]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupthinrules]
+ \type
+ [\c!var!]
+ \variable
+ [\c!interlinie]
+ [\v!klein,\v!middel,\v!groot]
+ [\v!klein]
+ \variable
+ [\c!n]
+ [\c!number!]
+ [3]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+\stopsetup
+
+\startsetup
+ \command[\y!hairline]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command[\y!thinrule]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!defineframedtext]
+ \type
+ [\c!val!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!setupframedtexts]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!defineframed]
+ \type
+ [\c!val!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!setupframedtexts]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupframedtexts]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!korps]
+ [5pt,...,12pt,\v!klein,\v!groot]
+ []
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!klein...,\c!command!] % \v!kap
+ [\v!vet]
+ \variable
+ [\c!links]
+ [\c!command!]
+ [\hfill]
+ \variable
+ [\c!rechts]
+ [\c!command!]
+ [\hfill]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!na]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!binnen]
+ [\c!command!]
+ []
+ \variable
+ [\c!regelcorrectie]
+ [\v!aan,\v!uit]
+ [\v!aan]
+ \variable
+ [\c!dieptecorrectie]
+ [\v!aan,\v!uit]
+ [\v!aan]
+ \variable
+ [\c!marge]
+ [\v!standaard,\v!ja,\v!nee]
+ [\v!standaard]
+ \inheritvariables
+ [\y!setupframed]
+ []
+\stopsetup
+
+% \startsetup
+% \command
+% [\y!startframedtext]
+% \type
+% [\c!opt!\c!val!\c!opt!\c!vars!\c!stp!]
+% \value
+% [\v!links,\v!rechts,\v!midden]
+% []
+% \inheritvariables
+% [\y!setupframedtexts]
+% []
+% \stopsetup
+
+\startsetup
+ \command
+ [\e!start<<\y!framedtext>>]
+ \type
+ [\c!opt!\c!val!\c!opt!\c!vars!\c!stp!]
+ \value
+ [\v!links,\v!rechts,\v!midden]
+ []
+ \inheritvariables
+ [\y!setupframedtexts]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [<<\y!framedtext>>]
+ \type
+ [\c!opt!\c!vars!]
+ \inheritvariables
+ [\y!setupframedtexts]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startbackground]
+ \type
+ [\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!background]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupbackground]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!linkeroffset]
+ [\c!dimension!]
+ [.5\korpsgrootte]
+ \variable
+ [\c!rechteroffset]
+ [\c!dimension!]
+ [.5\korpsgrootte]
+ \variable
+ [\c!bovenoffset]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!onderoffset]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!start]
+ \inheritvariables
+ [\y!setupframed]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!fillinrules]
+ \type
+ [\c!opt!\c!vars!\c!arg!\c!opt!\c!arg!]
+ \inheritvariables
+ [\y!setupfillinrules]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!fillintext]
+ \type
+ [\c!opt!\c!vars!\c!arg!\c!opt!\c!arg!\c!par!]
+ \inheritvariables
+ [\y!setupfillinrules]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupfillinrules]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!breedte]
+ [\v!passend,\v!ruim,\c!dimension!]
+ [\v!ruim]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [1em]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!na]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!n]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!interlinie]
+ [\v!klein,\v!middel,\v!groot]
+ [\v!klein]
+ \variable
+ [\c!scheider]
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!fillinline]
+ \type
+ [\c!opt!\c!vars!\c!nop!\c!par!]
+ \inheritvariables
+ [\y!setupfillinlines]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupfillinlines]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ [3cm]
+ \variable
+ [\c!marge]
+ [\c!dimension!]
+ [3cm]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [1em]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!na]
+ [\c!command!]
+ [\blanko]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setuptextrules]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!plaats]
+ [\v!links,\v!inmarge]
+ [\v!links]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!na]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!tussen]
+ [\c!command!]
+ []
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ [2em]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [2em]
+ \variable
+ [\c!korps]
+ [5pt,...,12pt,\v!klein,\v!groot]
+ []
+ \variable
+ [\c!kleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!vet]
+ \variable
+ [\c!lijnkleur]
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!textrule]
+ \type
+ [\c!opt!\c!val!\c!opt!\c!arg!]
+ \value
+ [\v!boven,\v!onder]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!starttextrule]
+ \type
+ [\c!opt!\c!val!\c!opt!\c!arg!\c!stp!]
+ \value
+ [\v!boven,\v!onder]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!blackrule]
+ \type
+ [\c!opt!\c!vars!]
+ \inheritvariables
+ [\y!setupblackrules]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!blackrules]
+ \type
+ [\c!vars!]
+ \inheritvariables
+ [\y!setupblackrules]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupblackrules]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!breedte]
+ [\c!dimension!,\v!max]
+ [1.5em]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!,\v!max]
+ [1ex]
+ \variable
+ [\c!diepte]
+ [\c!dimension!,\v!max]
+ [0pt]
+ \variable
+ [\c!variant]
+ [\c!a,\c!b]
+ [\c!a]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [.25ex]
+ \variable
+ [\c!n]
+ [\c!number!]
+ [3]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!defineoverlay]
+ \type
+ [\c!vals!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!command!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!usemodule]
+ \type
+ [\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command[\y!reset]
+ \type[\c!vals!]
+ \value[\c!identifier!][]
+\stopsetup
+
+\startsetup
+ \command[\y!geentest]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command[\y!startdeelomgeving]
+ \type[\c!stp!]
+\stopsetup
+
+\startsetup % gebied, korps
+ \command
+ [\y!setupsystem]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!resolutie]
+ [\c!number!]
+ []
+ \variable
+ [\c!file]
+ [\c!text!]
+ [\jobname]
+ \variable
+ [\c!gebied]
+ [\c!text!]
+ []
+ \variable
+ [\c!willekeur]
+ [\v!normaal,\v!klein,\v!middel,\v!groot,\c!number!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!usepath]
+ \type
+ [\c!vals!]
+ \value
+ [\c!identifier!,\v!reset]
+ [.]
+\stopsetup
+
+\startsetup
+ \command[\y!low]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!high]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!lohi]
+ \type[\c!arg!\c!arg!]
+ \value[\c!text!][]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!toonkader]
+ \type
+ [\c!opt!\c!val!]
+ \value
+ [\v!tekst,\v!marge,\v!rand]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!toonopbouw]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command[\y!regellinks]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!regelrechts]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!regelmidden]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!woordrechts]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!inmarge]
+ \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!]
+ \value[+,-,\v!laag][]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!inanderemarge]
+ \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!]
+ \value[+,-,\v!laag][]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!inlinker]
+ \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!]
+ \value[+,-,\v!laag][]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!inrechter]
+ \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!]
+ \value[+,-,\v!laag][]
+ \value[\c!text!][]
+\stopsetup
+
+%\startsetup
+% \command[\y!oplinker]
+% \type[\c!arg!]
+% \value[\c!text!][]
+%\stopsetup
+
+\startsetup
+ \command[\y!kolom]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command[\y!toonstruts]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command[\y!tooninstellingen]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command[\y!toonlayout]
+ \type[]
+\stopsetup
+
+% \startsetup
+% \command[\y!margetitel]
+% \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!]
+% \value[+,-,\v!laag][]
+% \value[\c!text!][]
+% \stopsetup
+
+% \startsetup
+% \command[\y!margewoord]
+% \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!]
+% \value[+,-,\v!laag][]
+% \value[\c!text!][]
+% \stopsetup
+
+\startsetup
+ \command[\y!margetekst]
+ \type[\c!opt!\c!val!\c!opt!\c!ref!\c!arg!]
+ \value[+,-,\v!laag][]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelmargeblokkenin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!plaats]
+ [\v!inmarge,\v!links,\v!midden,\v!rechts]
+ [\v!inmarge]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!uitlijnen]
+ [\v!links,\v!midden,\v!rechts,\v!nee]
+ []
+ \variable
+ [\c!boven]
+ [\c!command!]
+ []
+ \variable
+ [\c!tussen]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!onder]
+ [\c!command!]
+ [\vfill]
+ \variable
+ [\c!links]
+ [\c!command!]
+ []
+ \variable
+ [\c!rechts]
+ [\c!command!]
+ []
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startmargeblok]
+ \type
+ [\c!stp!]
+\stopsetup
+
+\startsetup
+ \command[\v!deel]
+ \type[\c!opt!\c!refs!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\v!titel]
+ \type[\c!opt!\c!refs!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\v!hoofdstuk]
+ \type[\c!opt!\c!refs!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\v!paragraaf]
+ \type[\c!opt!\c!refs!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\v!sub\v!paragraaf]
+ \type[\c!opt!\c!refs!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\v!sub\v!sub\v!paragraaf]
+ \type[\c!opt!\c!refs!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\v!onderwerp]
+ \type[\c!opt!\c!refs!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\v!sub\v!onderwerp]
+ \type[\c!opt!\c!refs!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\v!sub\v!sub\v!onderwerp]
+ \type[\c!opt!\c!refs!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\v!bijlage]
+ \type[\c!opt!\c!refs!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!in]
+ \type[\c!optint!\c!arg!\c!optint!\c!arg!\c!ref!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!op]
+ \type[\c!optint!\c!arg!\c!optint!\c!arg!\c!ref!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!over]
+ \type[\c!optint!\c!arg!\c!ref!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!somewhere]
+ \type[\c!arg!\c!arg!\c!ref!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!atpage]
+ \type[\c!ref!]
+\stopsetup
+
+\startsetup
+ \command[\y!ref]
+ \type[\c!val!\c!ref!]
+ \value[t,p,r,s,e][]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!textreference]
+ \type[\c!ref!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!pagereference]
+ \type[\c!ref!]
+\stopsetup
+
+\startsetup
+ \command[\y!reference]
+ \type[\c!ref!\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!usereferences]
+ \type[\c!vals!]
+ \value[\c!filename!][]
+\stopsetup
+
+\startsetup
+ \command[\y!definereference]
+ \type[\c!val!\c!refs!]
+ \value[\c!identifier!][]
+% \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definereferenceformat]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!links]
+ [\c!text!]
+ []
+ \variable
+ [\c!rechts]
+ [\c!text!]
+ []
+ \variable
+ [\c!tekst]
+ [\c!text!]
+ []
+ \variable
+ [\c!label]
+ [\c!identifier!]
+ []
+\stopsetup
+
+% rudiment
+%
+% \startsetup
+% \command[\y!definieerhbox]
+% \type[\c!val!\c!val!]
+% \value[\c!identifier!][]
+% \value[\c!number!][]
+% \stopsetup
+
+\startsetup
+ \command[\y!hl]
+ \type[\c!val!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\y!vl]
+ \type[\c!val!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\y!omlaag]
+ \type[\c!val!]
+ \value[\c!dimension!][]
+\stopsetup
+
+\startsetup
+ \command[\y!witruimte]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command[\y!geenwitruimte]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command[\y!crlf]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command[\y!space]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command[\y!fixedspaces]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command[\y!nospace]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command[\y!opelkaar]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command[\y!herhaal]
+ \type[\c!val!]
+ \value[\c!repeat!\c!text!][]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!steldoordefinierenin]
+ \type
+ [\c!opt!\c!vals!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!kopletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!vet]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!kleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!breedte]
+ [\v!passend,\v!ruim,\c!dimension!]
+ [8em]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!monster]
+ [\c!text!]
+ []
+ \variable
+ [\c!tekst]
+ [\c!text!]
+ []
+ \variable
+ [\c!uitlijnen]
+ [\v!links,\v!midden,\v!rechts]
+ []
+ \variable
+ [\c!marge]
+ [\v!standaard,\v!ja,\v!nee,\c!dimension!]
+ []
+ \variable
+ [\c!plaats]
+ [\v!links,\v!rechts,\v!boven,\v!aanelkaar,
+ \v!inmarge,\v!inlinker,\v!inrechter,\v!hangend]
+ [\v!links]
+ \variable
+ [\c!hang]
+ [\v!passend,\v!ruim,\c!number!]
+ []
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!tussen]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!na]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!springvolgendein]
+ [\v!ja,\v!nee]
+ [\v!ja]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!steldoornummerenin]
+ \type
+ [\c!opt!\c!vals!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!doordefinieren]
+ []
+ \variable
+ [\c!plaats]
+ [\v!links,\v!rechts,\v!boven,\v!aanelkaar,
+ \v!inmarge,\v!inlinker,\v!inrechter,\v!hangend]
+ [\v!boven]
+ \variable
+ [\c!tekst]
+ [\c!text!]
+ []
+ \variable
+ [\c!niveaus]
+ [\c!number!]
+ [3]
+ \variable
+ [\c!conversie]
+ [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins]
+ [\v!cijfers]
+ \variable
+ [\c!wijze]
+ [\v!per\v!tekst,\v!per\c!section!]
+ [\v!per\v!tekst]
+ \variable
+ [\c!blokwijze]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!sectienummer]
+ [\v!ja,\v!nummer,\v!nee]
+ []
+ \variable
+ [\c!scheider]
+ [\c!text!]
+ [.]
+ \variable
+ [\c!afsluiter]
+ [\c!text!]
+ []
+ \variable
+ [\c!koppeling]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!koppelwijze]
+ [\v!globaal,\v!lokaal]
+ [\v!lokaal]
+ \variable
+ [\c!nummer]
+ [\v!nee,\c!identifier!]
+ []
+ \variable
+ [\c!titeluitlijnen]
+ [\v!nee,\v!ja]
+ [\v!ja]
+ \variable
+ [\c!start]
+ [\c!number!]
+ [0]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!doornummeren]
+ \type
+ [\c!vals!\c!opt!\c!val!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!steldoornummerenin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [<<\y!doornummering>>]
+ \type
+ [\c!optint!\c!nop!\c!par!]
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start<<\y!doornummering>>]
+ \type
+ [\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!doordefinieren]
+ \type
+ [\c!val!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!steldoordefinierenin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [<<\y!doordefinitie>>]
+ \type
+ [\c!arg!\c!nop!\c!par!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start<<\y!doordefinitie>>]
+ \type
+ [\c!arg!\c!stp!]
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!steldoorspringenin]
+ \type
+ [\c!opt!\c!vals!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!kopletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!breedte]
+ [\v!passend,\c!dimension!]
+ [\v!passend]
+ \variable
+ [\c!tekst]
+ [\c!text!]
+ []
+ \variable
+ [\c!monster]
+ [\c!text!]
+ []
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!na]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [1em]
+ \variable
+ [\c!scheider]
+ [\c!text!]
+ [{:}]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!doorspringen]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!steldoorspringenin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [<<\y!doorsprong>>]
+ \type
+ [\c!nop!\c!par!]
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!doorlabelen]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!tekst]
+ [\c!text!]
+ []
+ \variable
+ [\c!plaats]
+ [\v!inmarge,\v!intekst]
+ [\v!intekst]
+ \variable
+ [\c!wijze]
+ [\v!per\v!tekst,\v!per\c!section!]
+ [\v!per\v!hoofdstuk]
+ \variable
+ [\c!blokwijze]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!kopletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ []
+ \variable
+ [\c!kopkleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [<<\y!doorlabel>>]
+ \type
+ [\c!opt!\c!ref!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelkolommenin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!n]
+ [\c!number!]
+ [2]
+ \variable
+ [\c!nboven]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!lijn]
+ [\v!aan,\v!uit]
+ [\v!uit]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!tolerantie]
+ [\v!zeerstreng,\v!streng,\v!soepel,\v!zeersoepel,\v!rek]
+ [\v!soepel]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [1.5em]
+ \variable
+ [\c!balanceren]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!uitlijnen]
+ [\v!ja,\v!nee,\v!tekst]
+ [\v!tekst]
+ \variable
+ [\c!blanko]
+ [\v!vast,\v!halveregel,\v!regel,\v!flexibel,\v!groot,\v!middel,\v!klein]
+ [\v!vast,\v!regel]
+ \variable
+ [\c!optie]
+ [\v!achtergrond]
+ []
+ \variable
+ [\c!richting]
+ [\v!links,\v!rechts]
+ [\v!rechts]
+ \inheritvariables
+ [\y!setupframed]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startkolommen]
+ \type
+ [\c!opt!\c!vars!\c!stp!]
+ \inheritvariables
+ [\y!stelkolommenin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieertekst]
+ \type
+ [\c!val!\c!val!\c!val!\c!opt!\c!val!\c!opt!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\v!hoofd,\v!voet]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelhoofdin]
+ \type
+ [\c!opt!\c!val!\c!vars!]
+ \value
+ [\v!tekst,\v!marge,\v!rand]
+ [\v!tekst]
+ \variable
+ [\c!status]
+ [\v!normaal,\v!stop,\v!start,\v!leeg,\v!hoog,\v!geen,
+ \v!geenmarkering,\c!identifier!]
+ [\v!normaal]
+ \variable
+ [\c!strut]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!vet]
+ \variable
+ [\c!linkerletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!vet]
+ \variable
+ [\c!rechterletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!vet]
+ \variable
+ [\c!linkerbreedte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!rechterbreedte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelvoetin]
+ \type
+ [\c!opt!\c!val!\c!vars!]
+ \inheritvalues
+ [\y!stelhoofdin]
+ []
+ \inheritvariables
+ [\y!stelhoofdin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!steltekstin]
+ \type
+ [\c!opt!\c!val!\c!vars!]
+ \inheritvalues
+ [\y!stelhoofdin]
+ []
+ \inheritvariables
+ [\y!stelhoofdin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelbovenin]
+ \type
+ [\c!opt!\c!val!\c!vars!]
+ \inheritvalues
+ [\y!stelhoofdin]
+ []
+ \inheritvariables
+ [\y!stelhoofdin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelonderin]
+ \type
+ [\c!opt!\c!val!\c!vars!]
+ \inheritvalues
+ [\y!stelhoofdin]
+ []
+ \inheritvariables
+ [\y!stelhoofdin]
+ []
+\stopsetup
+
+\startsetup
+ \command[\y!geenhoofdenvoetregels]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command[\y!geenbovenenonderregels]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelhoofdtekstenin]
+ \type
+ [\c!opt!\c!val!\c!val!\c!val!]
+ \value
+ [\v!tekst,\v!marge,\v!rand]
+ [\v!tekst]
+ \value
+ [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer]
+ []
+ \value
+ [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelvoettekstenin]
+ \type
+ [\c!opt!\c!val!\c!val!\c!val!]
+ \value
+ [\v!tekst,\v!marge,\v!rand]
+ [\v!tekst]
+ \value
+ [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer]
+ []
+ \value
+ [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelteksttekstenin]
+ \type
+ [\c!opt!\c!val!\c!val!\c!val!]
+ \value
+ [\v!tekst,\v!marge,\v!rand]
+ [\v!tekst]
+ \value
+ [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer]
+ []
+ \value
+ [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelboventekstenin]
+ \type
+ [\c!opt!\c!val!\c!val!\c!val!]
+ \value
+ [\v!tekst,\v!marge,\v!rand]
+ [\v!tekst]
+ \value
+ [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer]
+ []
+ \value
+ [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelondertekstenin]
+ \type
+ [\c!opt!\c!val!\c!val!\c!val!]
+ \value
+ [\v!tekst,\v!marge,\v!rand]
+ [\v!tekst]
+ \value
+ [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer]
+ []
+ \value
+ [\c!text!,\c!section!,\v!datum,\c!marker!,\v!paginanummer]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieermarkering]
+ \type
+ [\c!val!\c!opt!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!koppelmarkering]
+ \type
+ [\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!ontkoppelmarkering]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!resetmarkering]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelmarkeringin]
+ \type
+ [\c!val!\c!var!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!start]
+ \variable
+ [\c!scheider]
+ [\c!command!]
+ [---]
+ \variable
+ [\c!expansie]
+ [\v!ja,\v!nee]
+ [\v!nee]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!marking]
+ \type
+ [\c!val!\c!arg!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!haalmarkering]
+ \type
+ [\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\v!eerste,\v!laatste,\v!vorige,\v!beide,\v!alles]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!geenmarkering]
+ \type
+ [\c!arg!]
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stellayoutin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!breedte]
+ [\c!dimension!,\v!passend,\v!midden]
+ [15cm]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!,\v!passend,\v!midden]
+ [25cm]
+ \variable
+ [\c!rugwit]
+ [\c!dimension!]
+ [2.5cm]
+ \variable
+ [\c!kopwit]
+ [\c!dimension!]
+ [2.5cm]
+ \variable
+ [\c!marge]
+ [\c!dimension!]
+ [2.5cm]
+ \variable
+ [\c!linkermarge]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!rechtermarge]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!hoofd]
+ [\c!dimension!]
+ [2.0cm]
+ \variable
+ [\c!voet]
+ [\c!dimension!]
+ [2.0cm]
+ \variable
+ [\c!boven]
+ [\c!dimension!]
+ [2.0cm]
+ \variable
+ [\c!onder]
+ [\c!dimension!]
+ [2.0cm]
+ \variable
+ [\c!linkerrand]
+ [\c!dimension!]
+ [3cm]
+ \variable
+ [\c!rechterrand]
+ [\c!dimension!]
+ [3cm]
+ \variable
+ [\c!hoofdafstand]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!voetafstand]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!bovenafstand]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!onderafstand]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!linkermargeafstand]
+ [\c!dimension!]
+ [12pt]
+ \variable
+ [\c!rechtermargeafstand]
+ [\c!dimension!]
+ [12pt]
+ \variable
+ [\c!linkerrandafstand]
+ [\c!dimension!]
+ [12pt]
+ \variable
+ [\c!rechterrandafstand]
+ [\c!dimension!]
+ [12pt]
+ \variable
+ [\c!rugoffset]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!kopoffset]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!markering]
+ [\v!aan,\v!uit,\v!kleur]
+ [\v!uit]
+ \variable
+ [\c!plaats]
+ [\v!links,\v!midden,\v!rechts,\v!onder,\v!boven,
+ \v!enkelzijdig,\v!dubbelzijdig]
+ [\v!enkelzijdig]
+ \variable
+ [\c!schaal]
+ [\c!dimension!]
+ [1]
+ \variable
+ [\c!nx]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!ny]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!dx]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!dy]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!regels]
+ [\c!number!]
+ []
+ \variable
+ [\c!grid]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!bodemwit]
+ [\c!number!]
+ []
+ \variable
+ [\c!snijwit]
+ [\c!number!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!paslayoutaan]
+ \type
+ [\c!opt!\c!vals!\c!vars!]
+ \value
+ [\c!number!]
+ []
+ \variable
+ [\c!hoogte]
+ [\c!dimension!,\v!max]
+ []
+ \variable
+ [\c!regels]
+ [\c!number!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!toongrid]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!plaatsopgrid]
+ \type
+ [\c!opt!\c!val!\c!arg!]
+ \inheritvalues
+ [\y!verplaatsopgrid]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!verplaatsopgrid]
+ \type
+ [\c!opt!\c!val!]
+ \value
+ [\v!boven,\v!beide,\v!onder]
+ [\v!beide]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startproject]
+ \type
+ [\c!fil!\c!stp!]
+ \value
+ [\c!filename!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startomgeving]
+ \type
+ [\c!fil!\c!stp!]
+ \value
+ [\c!filename!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startprodukt]
+ \type
+ [\c!fil!\c!stp!]
+ \value
+ [\c!filename!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startonderdeel]
+ \type
+ [\c!fil!\c!stp!]
+ \value
+ [\c!filename!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!geenfilesmeer]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelinterliniein]
+ \type
+ [\c!opt!\c!val!\c!or!\c!vars!]
+ \value
+ [\v!reset,\v!klein,\v!middel,\v!groot,\v!aan,\v!uit]
+ [\v!klein]
+ \variable
+ [\v!hoogte]
+ [\c!number!]
+ [0.72]
+ \variable
+ [\v!diepte]
+ [\c!number!]
+ [0.28]
+ \variable
+ [\v!regel]
+ [\c!dimension!]
+ [2.8ex]
+ \variable
+ [\v!boven]
+ [\c!number!]
+ [1.0]
+ \variable
+ [\v!onder]
+ [\c!number!]
+ [0.4]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelnummeringin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!variant]
+ [\v!enkelzijdig,\v!dubbelzijdig]
+ [\v!enkelzijdig]
+ \variable
+ [\c!plaats]
+ [\v!hoofd,\v!voet,
+ \v!links,\v!rechts,\v!midden,
+ \v!marge,\v!kantlijn,\v!inlinker,\v!inrechter]
+ [\v!midden]
+ \variable
+ [\c!conversie]
+ [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins]
+ [\v!cijfers]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!links]
+ [\c!text!]
+ []
+ \variable
+ [\c!rechts]
+ [\c!text!]
+ []
+ \variable
+ [\c!wijze]
+ [\v!per\v!tekst,\v!per\c!section!]
+ [\v!per\v!deel]
+ \variable
+ [\c!tekst]
+ [\c!text!]
+ []
+ \variable
+ [\c!nummerscheider]
+ [\c!text!]
+ [--]
+ \variable
+ [\c!tekstscheider]
+ [\c!text!]
+ []
+ \variable
+ [\c!section!\c!number!]
+ [\v!ja,\v!nee]
+ []
+ \variable
+ [\c!scheider]
+ [\c!text!]
+ [--]
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!start]
+ \variable
+ [\c!commando]
+ [\c!oneargument!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelsmallerin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!links]
+ [\c!dimension!]
+ [1.5em]
+ \variable
+ [\c!rechts]
+ [\c!dimension!]
+ [1.5em]
+ \variable
+ [\c!midden]
+ [\c!dimension!]
+ [1.5em]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieer]
+ \type
+ [\c!opt!\c!val!\c!cmd!\c!arg!]
+ \value
+ [\c!number!]
+ [0]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!gebruikcommandos]
+ \type
+ [\c!arg!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieerstartstop]
+ \type
+ [\c!val!\c!vars!]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!commandos]
+ [\c!command!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelkoppenin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!sectienummer]
+ [\v!ja,\v!nummer,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!variant]
+ [\v!normaal,\v!marge,\v!midden,\v!tekst,\v!alinea]
+ [\v!normaal]
+ \variable
+ [\c!scheider]
+ [\c!text!]
+ [.]
+ \variable
+ [\c!commando]
+ [\c!twoarguments!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelblokkopjesin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!plaats]
+ [\v!boven,\v!onder,\v!geen,\v!hoog,\v!laag,\v!midden]
+ [\v!onder]
+ \variable
+ [\c!breedte]
+ [\v!passend,\v!max,\c!dimension!]
+ [\v!passend]
+ \variable
+ [\c!kopletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!vet]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!nummer]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ %\variable
+ % [\c!voor]
+ % [\c!command!]
+ % [\blanko]
+ \variable
+ [\c!tussen]
+ [\c!command!]
+ []% {\blanko[\v!middel]}]
+ %\variable
+ % [\c!na]
+ % [\c!command!]
+ % [\blanko]
+ \variable
+ [\c!uitlijnen]
+ [\v!links,\v!midden,\v!rechts,\v!nee]
+ []
+ \variable
+ [\c!conversie]
+ [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins]
+ [\v!cijfers]
+ \variable
+ [\c!wijze]
+ [\v!per\v!tekst,\v!per\c!section!]
+ [\v!per\v!tekst]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelblokkopjein]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stelblokkopjesin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelplaatsblokkenin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!plaats]
+ [\v!links,\v!rechts,\v!midden]
+ [\v!midden]
+ \variable
+ [\c!breedte]
+ [\v!passend,\c!dimension!]
+ [\v!passend]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+ \variable
+ [\c!marge]
+ [\c!dimension!]
+ [1em]
+ \variable
+ [\c!voorwit]
+ [\c!repeat!\v!klein,\c!repeat!\v!middel,\c!repeat!\v!groot,\v!geen]
+ []
+ \variable
+ [\c!nawit]
+ [\c!repeat!\v!klein,\c!repeat!\v!middel,\c!repeat!\v!groot,\v!geen]
+ []
+ \variable
+ [\c!zijvoorwit]
+ [\c!repeat!\v!klein,\c!repeat!\v!middel,\c!repeat!\v!groot,\v!geen]
+ []
+ \variable
+ [\c!zijnawit]
+ [\c!repeat!\v!klein,\c!repeat!\v!middel,\c!repeat!\v!groot,\v!geen]
+ []
+ \variable
+ [\c!springvolgendein]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!nboven]
+ [\c!number!]
+ [2]
+ \variable
+ [\c!nonder]
+ [\c!number!]
+ [0]
+ \variable
+ [\c!nregels]
+ [\c!number!]
+ [4]
+ \inheritvariables
+ [\y!setupframed]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelplaatsblokkensplitsenin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!conversie]
+ [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins]
+ [\v!letter]
+ \variable
+ [\c!regels]
+ [\c!number!]
+ [3]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!splitsplaatsblok]
+ \type
+ [\c!opt!\c!vars!\c!arg!\c!arg!]
+ \inheritvariables
+ [\y!stelplaatsblokkensplitsenin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelnaastplaatsenin]
+ \type
+ [\c!var!]
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!stop]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startnaast]
+ \type
+ [\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelkoppeltekenin]
+ \type
+ [\c!var!]
+ \variable
+ [\c!teken]
+ [--,---,-,~,),(,=,/]
+ [--]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelpositionerenin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!status]
+ [\v!start,\v!overlay]
+ [\v!start]
+ \variable
+ [\c!eenheid]
+ [\s!cm,\s!pt,\s!em,\s!mm,\s!ex,\s!es,\s!in]
+ [\s!cm]
+ \variable
+ [\c!factor]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!schaal]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!offset]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!xstap]
+ [\v!absoluut,\v!relatief]
+ [\v!absoluut]
+ \variable
+ [\c!ystap]
+ [\v!absoluut,\v!relatief]
+ [\v!absoluut]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startpositioneren]
+ \type
+ [\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!rooster]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!x]
+ [\c!number!]
+ [0]
+ \variable
+ [\c!y]
+ [\c!number!]
+ [0]
+ \variable
+ [\c!nx]
+ [\c!number!]
+ [10]
+ \variable
+ [\c!ny]
+ [\c!number!]
+ [10]
+ \variable
+ [\c!dx]
+ [\c!number!]
+ [0.5]
+ \variable
+ [\c!dy]
+ [\c!number!]
+ [0.5]
+ \variable
+ [\c!xstap]
+ [\c!number!]
+ [0]
+ \variable
+ [\c!ystap]
+ [\c!number!]
+ [0]
+ \variable
+ [\c!offset]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!factor]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!schaal]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!eenheid]
+ [\s!cm,\s!pt,\s!em,\s!mm,\s!ex,\s!es,\s!in]
+ [\s!cm]
+ \variable
+ [\c!plaats]
+ [\v!links,\v!midden]
+ [\v!links]
+\stopsetup
+
+
+\startsetup
+ \command
+ [\y!pagina]
+ \type
+ [\c!vals!]
+ \value
+ [\v!ja,\v!opmaak,\v!nee,\v!voorkeur,\v!grotevoorkeur,
+ \v!links,\v!rechts,\v!blokkeer,\v!laatste,\v!viertal,
+ \v!even,\v!oneven,\v!blanko,\v!leeg,\v!reset]
+ [\v!ja]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupreferencing]
+ \type
+ [\c!var!]
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!start]
+ \variable
+ [\c!section!\c!number!]
+ [\v!ja,\v!nee]
+ []
+ \variable
+ [\c!prefix]
+ [+,-,\c!text!]
+ []
+ \variable
+ [\c!interactie]
+ [\v!label,\v!tekst,\v!alles,\v!symbool]
+ [\v!alles]
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!links]
+ [\c!command!]
+ []
+ \variable
+ [\c!rechts]
+ [\c!command!]
+ []
+ \variable
+ [\c!converteerfile]
+ [\v!ja,\v!nee,\v!klein,\v!groot]
+ [\v!nee]
+ \variable
+ [\c!scheider]
+ [\c!text!]
+ [~]
+ \variable
+ [\c!autofile]
+ [\v!ja,\v!nee,\v!pagina]
+ [\v!nee]
+ \variable
+ [\c!globaal]
+ [\v!ja,\v!nee]
+ [\v!nee]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupurl]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!type]
+ \variable
+ [\c!urlvariant]
+ [\v!geen,\v!beide,\v!voor,\v!na]
+ [\v!beide]
+ \variable
+ [\c!urlspatie]
+ [\v!ja,\v!nee]
+ [\v!nee]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!schrijfnaarreferentielijst]
+ \type
+ [\c!val!\c!arg!\c!arg!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!plaatsreferentielijst]
+ \type
+ [\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieerreferentielijst]
+ \type
+ [\c!val!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stelreferentielijstin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelreferentielijstin]
+ \type
+ [\c!vals!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!start]
+ \variable
+ [\c!criterium]
+ [\c!section!,\v!lokaal,\v!vorige,\v!alles]
+ [\v!alles]
+ \variable
+ [\c!commando]
+ [\c!command!]
+ []
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!schrijfnaarlijst]
+ \type
+ [\c!val!\c!arg!\c!arg!]
+ \value
+ [\c!section!,\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!schrijftussenlijst]
+ \type
+ [\c!val!\c!arg!]
+ \value
+ [\c!section!,\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!geenlijst]
+ \type
+ [\c!arg!]
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!plaatslijst]
+ \type
+ [\c!vals!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stellijstin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!bepaallijstkenmerken]
+ \type
+ [\c!vals!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stellijstin]
+ []
+\stopsetup
+
+% nieuw:
+
+% \startsetup
+% \command
+% [\y!plaatssamengesteldelijst]
+% \type
+% [\c!val!\c!opt!\c!vars!]
+% \value
+% [\c!identifier!]
+% []
+% \inheritvariables
+% [\y!stelsamengesteldelijstin]
+% []
+% \stopsetup
+
+\startsetup
+ \command
+ [\y!definieerlijst]
+ \type
+ [\c!val!\c!opt!\c!val!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stellijstin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stellijstin]
+ \type
+ [\c!vals!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!start]
+ \variable
+ [\c!variant]
+ [\v!a,\v!b,\v!c,...,\v!geen,\v!commando]
+ [\v!b]
+ \variable
+ [\c!koppeling]
+ [\v!aan,\v!uit]
+ [\v!uit]
+ \variable
+ [\c!criterium]
+ [\c!section!,\v!lokaal,\v!vorige,\v!alles]
+ [\v!lokaal]
+ \variable
+ [\c!paginaovergangen]
+ [\c!list!]
+ []
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!nummerletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!tekstletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!paginaletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!kleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!commando]
+ [\c!threearguments!]
+ []
+ \variable
+ [\c!nummercommando]
+ [\c!oneargument!]
+ []
+ \variable
+ [\c!tekstcommando]
+ [\c!oneargument!]
+ []
+ \variable
+ [\c!paginacommando]
+ [\c!oneargument!]
+ []
+ \variable
+ [\c!interactie]
+ [\v!sectienummer,\v!tekst,\v!paginanummer,\v!alles]
+ [\v!sectienummer]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+ \variable
+ [\c!tussen]
+ [\c!command!]
+ []
+ \variable
+ [\c!links]
+ [\c!text!]
+ []
+ \variable
+ [\c!rechts]
+ [\c!text!]
+ []
+ \variable
+ [\c!label]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!prefix]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!paginanummer]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!section!\c!number!]
+ [\v!ja,\v!nee]
+ []
+ \variable
+ [\c!titeluitlijnen]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!marge]
+ [\c!dimension!]
+ [3em]
+ \variable
+ [\c!breedte]
+ [\c!dimension!,\v!passend]
+ [3em]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!,\v!passend,\v!ruim]
+ [\v!ruim]
+ \variable
+ [\c!diepte]
+ [\c!dimension!,\v!passend,\v!ruim]
+ [\v!ruim]
+% \variable
+% [\c!offset]
+% [\c!dimension!]
+% [.25em]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [0em]
+ \variable
+ [\c!scheider]
+ [\c!text!]
+ []
+ \variable
+ [\c!symbool]
+ [\v!geen,1,2,3,...]
+ []
+ \variable
+ [\c!expansie]
+ [\v!ja,\v!nee,\v!commando]
+ [\v!nee]
+ \variable
+ [\c!maxbreedte]
+ [\c!dimension!]
+ []
+ \inheritvariables
+ [\y!framed]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieersamengesteldelijst]
+ \type
+ [\c!val!\c!vals!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!list!]
+ []
+ \inheritvariables
+ [\y!stelsamengesteldelijstin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelsamengesteldelijstin]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!niveau]
+ [1,2,3,4,\c!section!,\v!huidige]
+ [4]
+ \inheritvariables
+ [\y!stellijstin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!plaats<<\y!samengesteldelijst>>]
+ \type
+ [\c!val!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stelsamengesteldelijstin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!volledige<<\y!samengesteldelijst>>]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stelsamengesteldelijstin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelnummerenin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!wijze]
+ [\v!per\v!tekst,\v!per\c!section!]
+ [\v!per\v!hoofdstuk]
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!start]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelformulesin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!plaats]
+ [\v!links,\v!rechts]
+ [\v!rechts]
+ \variable
+ [\c!links]
+ [\c!text!]
+ [{(}]
+ \variable
+ [\c!rechts]
+ [\c!text!]
+ [{)}]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!publicatie]
+ \type
+ [\c!ref!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelpublicatiesin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!variant]
+ [\c!apa,\v!normaal]
+ [\c!apa]
+ \inheritvariables
+ [\y!steldoornummerenin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelregelsin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!na]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!tussen]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!inspringen]
+ [\v!ja,\v!nee,\v!even,\v!oneven]
+ [\v!nee]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startregels]
+ \type
+ [\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelparagraafnummerenin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!status]
+ [\v!start,\v!stop,\v!reset,\v!regel]
+ [\v!stop]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [0pt]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelregelnummerenin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!conversie]
+ [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins,
+ \v!tekst]
+ [\v!cijfers]
+ \variable
+ [\c!start]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!stap]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ [2ex]
+ \variable
+ [\c!plaats]
+ [\v!intekst,\v!inmarge]
+ [\v!inmarge]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!prefix]
+ [\c!text!]
+ []
+ \variable
+ [\c!refereren]
+ [\v!aan,\v!uit]
+ [\v!aan]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startregelnummeren]
+ \type
+ [\c!val!\c!stp!]
+ \value
+ [\v!verder]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startregel]
+ \type
+ [\c!ref!\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!eenregel]
+ \type
+ [\c!ref!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!inregel]
+ \type
+ [\c!ref!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelinmargein]
+ \type
+ [\c!opt!\c!val!\c!vars!]
+ \value
+ [\v!links,\v!rechts,\c!number!]
+ []
+ \variable
+ [\c!plaats]
+ [\v!links,\v!rechts,\v!beide]
+ [\v!beide]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!vet]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+ \variable
+ [\c!uitlijnen]
+ [\v!binnen,\v!buiten,\v!links,\v!rechts,\v!midden,\v!normaal,\v!nee,\v!ja]
+ [\v!binnen]
+ \variable
+ [\c!regel]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!scheider]
+ [\c!text!]
+ []
+ \inheritvariables
+ [\y!setupframed]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelpaginanummerin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!nummer]
+ [\c!number!]
+ []
+ \variable
+ [\c!status]
+ [\v!start,\v!stop,\v!handhaaf]
+ [\v!start]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelsubpaginanummerin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!wijze]
+ [\v!per\v!tekst,\v!per\c!section!]
+ [\v!per\v!deel]
+ \variable
+ [\c!status]
+ [\v!start,\v!stop,\v!geen]
+ [\v!stop]
+\stopsetup
+
+%\startsetup \command[\y!paginanummer] \type[] \stopsetup
+%\startsetup \command[\y!subpaginanummer] \type[] \stopsetup
+%\startsetup \command[\y!aantalsubpaginas] \type[] \stopsetup
+%\startsetup \command[\y!totaalaantalpaginas] \type[] \stopsetup
+
+\startsetup
+ \command
+ [\y!stelblankoin]
+ \type
+ [\c!opt!\c!val!]
+ \value
+ [\v!normaal,\v!standaard,\v!regel,\c!dimension!,
+ \v!groot,\v!middel,\v!klein,
+ \v!vast,\v!flexibel]
+ [\v!normaal]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieerblanko]
+ \type
+ [\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvalues
+ [\y!stelblankoin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieerpapierformaat]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ [297mm]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ [210mm]
+ \variable
+ [\c!offset]
+ [\c!dimension!]
+ [210mm]
+ \variable
+ [\c!schaal]
+ [\c!number!]
+ [1]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelpapierformaatin]
+ \type
+ [\c!vals!\c!opt!\c!vals!]
+ \value
+ [A3,A4,A5,A6,letter,...,CD,\c!identifier!,
+ \v!liggend,\v!gespiegeld,\v!geroteerd,90,180,270]
+ [A4]
+ \value
+ [A3,A4,A5,A6,letter,...,\c!identifier!,
+ \v!liggend,\v!gespiegeld,\v!geroteerd,\v!negatief,90,180,270]
+ [A4]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelarrangerenin]
+ \type
+ [\c!vals!]
+ \value
+ [\v!blokkeer,
+ 2*16,2*8,2*4,2*2,2UP,2DOWN,
+ \v!gespiegeld,\v!geroteerd,\v!dubbelzijdig,\v!negatief,90,180,270]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!toonprint]
+ \type
+ [\c!vals!\c!vals!\c!vars!]
+ \inheritvariables
+ [\y!stelpapierformaatin]
+ []
+ \inheritvariables
+ [\y!stelpapierformaatin]
+ []
+ \inheritvariables
+ [\y!stellayoutin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieerbeeldmerk]
+ \type
+ [\c!val!\c!val!\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\v!boven,\v!hoofd,\v!voet,\v!onder]
+ []
+ \value
+ [\v!geen,\v!pagina,
+ \v!linkerrand,\v!linkermarge,
+ \v!links,\v!midden,\v!rechts,
+ \v!rechtermarge,\v!rechterrand]
+ []
+ \variable
+ [\c!commando]
+ [\c!command!,\c!text!]
+ []
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!stop]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!plaatsbeeldmerken]
+ \type
+ [\c!opt!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelwitruimtein]
+ \type
+ [\c!opt!\c!val!]
+ \value
+ [\v!geen,\v!klein,\v!middel,\v!groot,\v!regel,\v!vast,\v!herstel,\c!dimension!]
+ [\v!geen]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelinspringenin]
+ \type
+ [\c!vals!]
+ \value
+ [\v!geen,\v!klein,\v!middel,\v!groot,\v!volgende,\v!eerste,\c!dimension!]
+ [\v!geen]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieersectieblok]
+ \type
+ [\c!val!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stelsectieblokin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelsectieblokin]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!nummer]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!pagina]
+ [\v!ja,\v!rechts]
+ [\v!rechts]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieersectie]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelsectiein]
+ \type
+ [\c!val!\c!opt!\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ [\v!inleiding,\v!hoofdtekst,\v!bijlage,\v!uitleiding]
+ \variable
+ [\c!conversie]
+ [\v!cijfers,\v!letters,\v!Letters,\v!romeins,\v!Romeins]
+ [\v!cijfers]
+ \variable
+ [\c!vorigenummer]
+ [\v!ja,\v!nee]
+ [\v!ja]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelkopin]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!section!]
+ []
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ []
+ \variable
+ [\c!tekstletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ []
+ \variable
+ [\c!nummerletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ []
+ \variable
+ [\c!nummer]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!eigennummer]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!pagina]
+ [\v!links,\v!rechts,\v!ja]
+ []
+ \variable
+ [\c!doorgaan]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!hoofd]
+ [\v!geen,\v!leeg,\v!hoog,\v!geenmarkering]
+ []
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!tussen]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!variant]
+ [\v!normaal,\v!inmarge,\v!midden,\v!tekst]
+ [\v!normaal]
+ \variable
+ [\c!commando]
+ [\c!twoarguments!]
+ []
+ \variable
+ [\c!nummercommando]
+ [\c!oneargument!]
+ []
+ \variable
+ [\c!tekstcommando]
+ [\c!oneargument!]
+ []
+ \variable
+ [\c!prefix]
+ [+,-,\c!text!]
+ []
+ \variable
+ [\c!plaatskop]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!verhoognummer]
+ [\v!ja,\v!nee,\c!filename!]
+ [\v!ja]
+ \variable
+ [\c!uitlijnen]
+ [\v!links,\v!rechts,\v!normaal,\v!ruim]
+ [\v!normaal]
+ \variable
+ [\c!tolerantie]
+ [\v!zeerstreng,\v!streng,\v!soepel,\v!zeersoepel,\v!rek]
+ [\v!soepel]
+ \variable
+ [\c!springvolgendein]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!file]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!expansie]
+ [\v!ja,\v!commando,\v!nee]
+ [\v!nee]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelkopnummerin]
+ \type
+ [\c!val!\c!val!]
+ \value
+ [\c!section!]
+ []
+ \value
+ [\c!number!,+\c!number!,-\c!number!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!kopnummer]
+ \type
+ [\c!opt!\c!val!]
+ \value
+ [\c!section!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!bepaalkopnummer]
+ \type
+ [\c!val!]
+ \value
+ [\c!section!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!huidigekopnummer]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!volgende<<\y!sectie>>]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieerkop]
+ \type
+ [\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!section!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelopsommingin]
+ \type
+ [\c!opt!\c!val!\c!opt!\c!vals!\c!opt!\c!vars!]
+ \value
+ [\c!number!,\v!elk]
+ []
+ \value
+ [\v!standaard,\c!repeat!\v!ruim,\c!repeat!\v!aanelkaar,\v!opelkaar,
+ \v!vanelkaar,\v!afsluiter,\v!aansluitend,\v!opmarge,\v!inmarge,
+ \v!autointro,\v!los,\v!paragraaf,\v!intekst]
+ [\v!standaard]
+ \variable
+ [\c!marge]
+ [\v!nee,\v!standaard,\c!dimension!]
+ [0pt]
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ [1.5em]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [0.5em]
+ \variable
+ [\c!factor]
+ [\c!number!]
+ [0]
+ \variable
+ [\c!items]
+ [\c!number!]
+ [4]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!tussen]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+ \variable
+ [\c!links]
+ [\c!text!]
+ []
+ \variable
+ [\c!rechts]
+ [\c!text!]
+ []
+ \variable
+ [\c!kopvoor]
+ [\c!command!]
+ []
+ \variable
+ [\c!kopna]
+ [\c!command!]
+ []
+ \variable
+ [\c!kopletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!marletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!type]
+ \variable
+ [\c!symletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!afsluiter]
+ [\c!text!]
+ [.]
+ \variable
+ [\c!n]
+ [\c!number!]
+ []
+ \variable
+ [\c!symbool]
+ [\c!number!]
+ []
+ \variable
+ [\c!uitlijnen]
+ [\v!links,\v!rechts,\v!normaal]
+ [\v!normaal]
+ \variable
+ [\c!springvolgendein]
+ [\v!ja,\v!nee]
+ [\v!ja]
+\stopsetup
+
+%\startsetup
+% \command
+% [\y!symbol]
+% \type
+% [\c!val!]
+% \value
+% [\c!number!]
+% []
+%\stopsetup
+
+\startsetup
+ \command
+ [\y!startopsomming]
+ \type
+ [\c!opt!\c!vals!\c!opt!\c!vars!\c!stp!]
+ \value
+ [a,A,KA,n,N,m,r,R,KR,\c!number!,\v!verder,
+ \v!standaard,\c!repeat!\v!ruim,\c!repeat!\v!aanelkaar,\v!opelkaar,
+ \v!afsluiter,\v!aansluitend,\v!opmarge,\v!inmarge,\v!intro,\v!kolommen]
+ [\v!standaard]
+ \inheritvariables
+ [\y!stelopsommingin]
+ []
+\stopsetup
+
+\startsetup \command[\y!som] \type[\c!opt!\c!refs!] \stopsetup
+\startsetup \command[\y!but] \type[\c!alwint!\c!ref!] \stopsetup
+\startsetup \command[\y!its] \type[\c!opt!\c!refs!] \stopsetup
+\startsetup \command[\y!ran] \type[\c!arg!] \stopsetup
+\startsetup \command[\y!kop] \type[\c!opt!\c!refs!] \stopsetup
+\startsetup \command[\y!mar] \type[\c!opt!\c!refs!\c!arg!] \stopsetup
+\startsetup \command[\v!sub] \type[\c!opt!\c!refs!] \stopsetup % no \y!sub
+\startsetup \command[\y!sym] \type[\c!arg!] \stopsetup
+\startsetup \command[\y!nop] \type[] \stopsetup
+
+\startsetup
+ \command
+ [\y!definieerregister]
+ \type
+ [\c!val!\c!val!]
+ \value
+ [\c!singular!]
+ []
+ \value
+ [\c!plural!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelregisterin]
+ \type
+ [\c!val!\c!opt!\c!val!\c!vars!]
+ \value
+ [\c!singular!]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!n]
+ [\c!number!]
+ [2]
+ \variable
+ [\c!balanceren]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!uitlijnen]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!vet]
+ \variable
+ [\c!paginaletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!vet]
+ \variable
+ [\c!tekstletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!vet]
+ \variable
+ [\c!aanduiding]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!koppeling]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!section!\c!number!]
+ [\v!ja,\v!nee]
+ []
+ \variable
+ [\c!criterium]
+ [\c!section!,\v!lokaal,\v!alles]
+ [\v!deel]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [1em]
+ \variable
+ [\c!symbool]
+ [1,2,...,\c!n,\c!a,...,\v!geen]
+ []
+ \variable
+ [\c!interactie]
+ [\v!paginanummer,\v!tekst]
+ [\v!paginanummer]
+ \variable
+ [\c!expansie]
+ [\v!ja,\v!commando,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!refereren]
+ [\v!aan,\v!uit]
+ [\v!aan]
+ \variable
+ [\c!commando]
+ [\c!oneargument!]
+ []
+ \variable
+ [\c!plaats]
+ [\v!links,\v!midden,\v!rechts]
+ [\v!midden]
+ \variable
+ [\c!maxbreedte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!onbekendeverwijzing]
+ [\v!leeg,\v!geen]
+ [\v!leeg]
+\stopsetup
+
+\startsetup
+ \command
+ [<<\y!register>>]
+ \type
+ [\c!opt!\c!val!\c!idxs!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start<<\y!register>>]
+ \type
+ [\c!opt!\c!val!\c!idxs!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!schrijfnaarregister]
+ \type
+ [\c!val!\c!opt!\c!val!\c!idxs!]
+ \value
+ [\c!singular!]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!gekoppelde<<\y!register>>]
+ \type
+ [\c!opt!\c!val!\c!idx!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!koppelregister]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!zie<<\y!register>>]
+ \type
+ [\c!opt!\c!val!\c!arg!\c!idxs!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!volledige<<\y!register>>]
+ \type
+ [\c!optint!\c!opt!\c!vars!]
+ \inheritvariables
+ [\y!stelregisterin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!plaats<<\y!register>>]
+ \type
+ [\c!optint!\c!opt!\c!vars!]
+ \inheritvariables
+ [\y!stelregisterin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieersynoniemen]
+ \type
+ [\c!val!\c!val!\c!val!\c!opt!\c!val!]
+ \value
+ [\c!singular!]
+ []
+ \value
+ [\c!plural!]
+ []
+ \value
+ [\c!command!]
+ []
+ \value
+ [\c!command!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelsynoniemenin]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!tekstletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!kap]
+ \variable
+ [\c!synoniemletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!plaats]
+ [\v!links,\v!rechts,\v!boven,\v!aanelkaar,
+ \v!inmarge,\v!inlinker,\v!inrechter]
+ [\v!links]
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ [5em]
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!start]
+ \variable
+ [\c!criterium]
+ [\v!alles,\v!gebruikt]
+ [\v!gebruikt]
+ \variable
+ [\c!conversie]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!expansie]
+ [\v!ja,\v!commando,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!commando]
+ [\c!threearguments!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [<<\y!synoniem>>]
+ \type
+ [\c!opt!\c!val!\c!arg!\c!arg!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!volledige\e!lijstmet<<\y!synoniemen>>]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!plaats\e!lijstmet<<\y!synoniemen>>]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command[\e!laad<<\y!synoniemen>>]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieersorteren]
+ \type
+ [\c!val!\c!val!\c!opt!\c!val!]
+ \value
+ [\c!singular!]
+ []
+ \value
+ [\c!plural!]
+ []
+ \value
+ [\c!command!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelsorterenin]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+ \variable
+ [\c!commando]
+ [\c!oneargument!]
+ []
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!start]
+ \variable
+ [\c!criterium]
+ [\v!alles,\v!gebruikt]
+ [\v!gebruikt]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!expansie]
+ [\v!ja,\v!commando,\v!nee]
+ [\v!nee]
+\stopsetup
+
+\startsetup
+ \command
+ [<<\y!sorteer>>]
+ \type
+ [\c!val!\c!arg!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!volledige\e!lijstmet<<\y!sorteren>>]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!plaats\e!lijstmet<<\y!sorteren>>]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command[\e!laad<<\y!sorteren>>]
+ \type[]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieeropmaak]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stelopmaakin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startopmaak]
+ \type
+ [\c!val!\c!opt!\c!vars!\c!stp!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stelopmaakin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelopmaakin]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ [\zetbreedte]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ [\teksthoogte]
+ \variable
+ [\c!voffset]
+ [\c!dimension!]
+ [\!!zeropoint]
+ \variable
+ [\c!hoffset]
+ [\c!dimension!]
+ [\!!zeropoint]
+ \variable
+ [\c!pagina]
+ [\v!links,\v!ja,\v!rechts]
+ []
+ \variable
+ [\c!commandos]
+ [\c!command!]
+ []
+ \variable
+ [\c!dubbelzijdig]
+ [\v!ja,\v!nee,\v!leeg]
+ [\v!leeg]
+ \variable
+ [\c!hoofdstatus]
+ [\v!normaal,\v!stop,\v!start,\v!leeg,\v!geen,\v!geenmarkering]
+ [\v!leeg]
+ \variable
+ [\c!voetstatus]
+ [\v!normaal,\v!stop,\v!start,\v!leeg,\v!geen,\v!geenmarkering]
+ [\v!leeg]
+ \variable
+ [\c!tekststatus]
+ [\v!normaal,\v!stop,\v!start,\v!leeg,\v!geen,\v!geenmarkering]
+ [\v!leeg]
+ \variable
+ [\c!bovenstatus]
+ [\v!stop,\v!start]
+ [\v!stop]
+ \variable
+ [\c!onderstatus]
+ [\v!stop,\v!start]
+ [\v!stop]
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start<<\y!naam>>\e!opmaak] % \tf
+ \type
+ [\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!versie]
+ \type
+ [\c!val!]
+ \value
+ [\v!definitief,\v!concept,\v!voorlopig]
+ [\v!definitief]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!currentdate]
+ \type
+ [\c!vals!]
+ \value
+ [\v!dag,\v!maand,\v!weekdag,\v!jaar, % \v!WEEKDAG,\v!MAAND,
+ dd,mm,jj,yy,d,m,j,y,\v!kenmerk]
+ [\v!dag,\v!maand,\v!jaar]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!date]
+ \type
+ [\c!opt!\c!vars!\c!vals!]
+ \variable
+ [d]
+ [\c!number!]
+ []
+ \variable
+ [m]
+ [\c!number!]
+ []
+ \variable
+ [y]
+ [\c!number!]
+ []
+ \inheritvalues
+ [\y!currentdate]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!kenmerkdatum]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!inspringen]
+ \type
+ [\c!vals!]
+ \value
+ [\v!nooit,\v!niet,\v!nee,\v!ja,\v!altijd,\v!eerste,\v!volgende]
+ [\v!nooit]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!nietinspringen]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!blanko]
+ \type
+ [\c!opt!\c!vals!]
+ \value
+ [\c!repeat!\v!klein,\c!repeat!\v!middel,\c!repeat!\v!groot,
+ \v!geenwit,\v!back,\v!wit,\v!blokkeer,\v!forceer,\v!reset,
+ \v!regel,\v!halveregel,\v!formule,\v!vast,\v!flexibel]
+ [\v!groot]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startopelkaar]
+ \type
+ [\c!opt!\c!val!\c!stp!] % tzt \c!vals!
+ \value
+ [\v!blanko]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startvanelkaar]
+ \type
+ [\c!stp!]
+\stopsetup
+
+% \startsetup
+% \command
+% [\y!startregelcorrectie]
+% \type
+% [\c!opt!\c!val!\c!stp!]
+% \value
+% [\v!klein,\v!middel,\v!groot,\v!blanko]
+% []
+% \stopsetup
+%
+% beter:
+
+\startsetup
+ \command
+ [\y!startregelcorrectie]
+ \type
+ [\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!corrigeerwitruimte]
+ \type
+ [\c!arg!]
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start\e!uitstellen]
+ \type
+ [\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startlocal]
+ \type
+ [\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startsmaller]
+ \type
+ [\c!opt!\c!vals!\c!stp!]
+ \value
+ [\c!repeat!\v!links,\c!repeat!\v!midden,\c!repeat!\v!rechts]
+ [\v!midden]
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start\e!verbergen]
+ \type
+ [\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!steluitlijnenin]
+ \type
+ [\c!val!]
+ \value
+ [\v!breedte,\v!links,\v!rechts,\v!midden,\v!binnen,\v!buiten,
+ \v!breed,\v!ruim,\v!hoogte,\v!onder,\v!regel,\v!reset,
+ \v!hangend,\v!niethangend,\v!afgebroken,\v!nietafgebroken]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startuitlijnen]
+ \type
+ [\c!stp!\c!opt!\c!val!]
+ \inheritvariables
+ [\y!steluitlijnenin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelspatieringin]
+ \type
+ [\c!val!]
+ \value
+ [\v!ruim,\v!opelkaar]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!steltolerantiein]
+ \type
+ [\c!vals!]
+ \value
+ [\v!horizontaal,\v!vertikaal,
+ \v!rek,\v!zeerstreng,\v!streng,\v!soepel,\v!zeersoepel]
+ [\v!zeerstreng]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!soortpagina]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!verwerkpagina]
+ \type
+ [\c!vals!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\v!ja,\v!nee]
+ [\v!ja]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!koppelpagina]
+ \type
+ [\c!vals!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!optie]
+ [\v!dubbelzijdig]
+ []
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!positioneer]
+ \type
+ [\c!poss!\c!arg!]
+ \value
+ [\c!number!]
+ []
+ \value
+ [\c!number!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupscreens]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!methode]
+ [\v!punt,\v!lijn,\v!extern]
+ [\v!extern]
+ \variable
+ [\c!resolutie]
+ [\c!number!]
+ [508]
+ \variable
+ [\c!factor]
+ [\c!number!]
+ [8]
+ \variable
+ [\c!raster]
+ [\c!number!]
+ [0.95]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelachtergrondenin]
+ \type
+ [\c!opt!\c!val!\c!opt!\c!vals!\c!vars!]
+ \value
+ [\v!boven,\v!hoofd,\v!tekst,\v!voet,\v!onder,
+ \v!pagina,\v!papier,\v!linkerpagina,\v!rechterpagina]
+ []
+ \value
+ [\v!linkerrand,\v!linkermarge,\v!tekst,\v!rechtermarge,\v!rechterrand]
+ []
+ \variable
+ [\c!status]
+ [\v!start,\v!stop,\v!herhaal]
+ [\v!start]
+% \variable
+% [\c!commando]
+% [\c!command!]
+% []
+ \inheritvariables
+ [\y!setupframed]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start\e!buffer]
+ \type
+ [\c!opt!\c!val!\c!stp!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!haalbuffer]
+ \type
+ [\c!opt!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!typebuffer]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieerbuffer]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelbufferin]
+ \type
+ [\c!opt!\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!alinea]
+ [\c!number!]
+ [0]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieerblok]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!geenblokkenmeer]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!verbergblokken]
+ \type
+ [\c!vals!\c!opt!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!handhaafblokken]
+ \type
+ [\c!vals!\c!opt!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\v!alles,\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!gebruikblokken]
+ \type
+ [\c!vals!\c!opt!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!verwerkblokken]
+ \type
+ [\c!vals!\c!opt!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!selecteerblokken]
+ \type
+ [\c!vals!\c!opt!\c!vals!\c!opt!\c!var!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!criterium]
+ [\v!alles,\c!section!]
+ [\v!alles]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelblokin]
+ \type
+ [\c!vals!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!na]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!binnen]
+ [\c!command!]
+ []
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+% \variable
+% [\c!scope]
+% [\v!globaal,\v!lokaal]
+% [\v!globaal]
+ \variable
+ [\c!file]
+ [\c!filename!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start\e!formule]
+ \type
+ [\c!stp!]
+ \value
+ [\c!formula!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!mathematics]
+ \type
+ [\c!arg!]
+ \value
+ [\c!formula!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!plaatsformule]
+ \type
+ [\c!opt!\c!refs!\c!opt!\c!arg!\c!dis!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!formula!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!plaatssubformule]
+ \type
+ [\c!opt!\c!refs!\c!opt!\c!arg!\c!dis!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!formula!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!plaats<<\y!blok>>]
+ \type
+ [\c!opt!\c!val!\c!opt!\c!refs!\c!arg!\c!arg!]
+ \value
+ [\v!links,\v!rechts,\v!hier,\v!boven,\v!onder,
+ \v!inlinker,\v!inrechter,\v!inmarge,\v!marge,
+ \v!pagina,\v!naast,\v!altijd,\v!forceer,\v!lang]
+ [\v!hier]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!reserveer<<\y!blok>>]
+ \type
+ [\c!opt!\c!vars!\c!opt!\c!val!\c!opt!\c!refs!\c!arg!]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!kader]
+ [\v!aan,\v!uit]
+ []
+ \value
+ [\v!links,\v!rechts,\v!hier,\v!boven,\v!onder,
+ \v!inlinker,\v!inrechter,\v!inmarge,\v!marge,
+ \v!pagina,\v!naast,\v!altijd,\v!forceer]
+ [\v!hier]
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieerplaatsblok]
+ \type
+ [\c!val!\c!val!]
+ \value
+ [\c!singular!]
+ []
+ \value
+ [\c!plural!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelplaatsblokin]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!paginaovergangen]
+ [\c!list!]
+ []
+ \inheritvariables
+ [\y!setupframed]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start<<\y!blok>>\e!tekst]
+ \type
+ [\c!opt!\c!val!\c!opt!\c!ref!\c!arg!\c!arg!\c!stp!]
+ \value
+ [\v!links,\v!rechts,\v!hoog,\v!midden,\v!laag,\c!offset,\v!lang]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command[\e!plaats\e!lijstmet<<\y!blokken>>]
+ \type[\c!optint!]
+\stopsetup
+
+\startsetup
+ \command[\e!volledige\e!lijstmet<<\y!blokken>>]
+ \type[\c!optint!]
+\stopsetup
+
+% pragma4.tex
+%
+% \startsetup
+% \command
+% [\y!label]
+% \type
+% [\c!val!\c!arg!\c!arg!\c!arg!\c!arg!\c!arg!\c!arg!]
+% \value
+% [\v!smal,\v!breed]
+% [\v!breed]
+% \value
+% [\c!text!]
+% []
+% \value
+% [\c!text!]
+% []
+% \value
+% [\c!text!]
+% []
+% \value
+% [\c!text!]
+% []
+% \value
+% [\c!text!]
+% []
+% \value
+% [\c!text!]
+% []
+% \stopsetup
+
+\startsetup
+ \command
+ [\y!kenmerk]
+ \type
+ [\c!vars!]
+ \variable
+ [bet]
+ [\c!text!]
+ []
+ \variable
+ [ken]
+ [\c!text!]
+ []
+ \variable
+ [dat]
+ [\c!text!]
+ []
+ \variable
+ [van]
+ [\c!text!]
+ []
+ \variable
+ [aan]
+ [\c!text!]
+ []
+ \variable
+ [ref]
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!selecteerpapier]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!soort]
+ [1,2]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!koppelpapier]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+% pragma5.tex
+
+\startsetup
+ \command[\y!chem]
+ \type[\c!arg!\c!arg!\c!arg!]
+ \value[\c!text!][]
+ \value[\c!text!][]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!breuk]
+ \type[\c!arg!\c!arg!]
+ \value[\c!text!][]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command[\y!punten]
+ \type[\c!val!]
+ \value[\c!number!][]
+\stopsetup
+
+\startsetup
+ \command[\y!woonplaats]
+ \type[\c!arg!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!items]
+ \type
+ [\c!opt!\c!vars!\c!args!]
+ \inheritvariables
+ [\y!stelitemsin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelitemsin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!plaats]
+ [\v!links,\v!rechts,\v!inmarge,\v!boven,\v!onder]
+ [\v!links]
+ \variable
+ [\c!symbool]
+ [1,2,...,\c!n,\c!a,...,\c!text!,\v!geen]
+ []
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ [\hsize]
+ \variable
+ [\c!n]
+ [\c!number!,\v!onbekend]
+ [\v!onbekend]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!tussen]
+ [\c!command!]
+ [{\blanko[\v!middel]}]
+ \variable
+ [\c!uitlijnen]
+ [\v!links,\v!rechts,\v!midden,\v!marge]
+ [\v!midden]
+ \variable
+ [\c!na]
+ [\c!command!]
+ [\blanko]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startcitaat]
+ \type
+ [\c!vals!\c!stp!]
+ \value
+ [\c!repeat!\v!links,\c!repeat!\v!midden,\c!repeat!\v!rechts]
+ [\v!midden]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!citaat]
+ \type
+ [\c!arg!]
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!citeer]
+ \type
+ [\c!arg!]
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelciterenin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!toevoegen]
+ \type
+ [\c!val!]
+ \value
+ [\v!klein,\v!middel,\v!groot]
+ [\v!middel]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieeralineas]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!n]
+ [\c!number!]
+ [2]
+ \variable
+ [\c!lijn]
+ [\v!aan,\v!uit]
+ [\v!uit]
+ \variable
+ [\c!hoogte]
+ [\v!passend,\c!dimension!]
+ [\v!passend]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!na]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!binnen]
+ [\c!command!]
+ []
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [1em]
+ \variable
+ [\c!tolerantie]
+ [\v!zeerstreng,\v!streng,\v!soepel,\v!zeersoepel,\v!rek]
+ [\v!soepel]
+ \variable
+ [\c!uitlijnen]
+ [\v!links,\v!rechts,\v!midden]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [<<\y!alinea>>]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start<<\y!alinea>>]
+ \type
+ [\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelalineasin]
+ \type
+ [\c!val!\c!opt!\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!number!,\v!elk]
+ []
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!uitlijnen]
+ [\v!links,\v!rechts,\v!midden,\v!breedte]
+ [\c!breedte]
+ \variable
+ [\c!tolerantie]
+ [\v!zeerstreng,\v!streng,\v!soepel,\v!zeersoepel,\v!rek]
+ [\v!soepel]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+ \variable
+ [\c!binnen]
+ [\c!command!]
+ []
+ \variable
+ [\c!commando]
+ [\c!command!]
+ []
+ \variable
+ [\c!lijn]
+ [\v!aan,\v!uit]
+ [\v!uit]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!steltabin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!monster]
+ [\c!text!]
+ []
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!kopletter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!plaats]
+ [\v!links,\v!rechts]
+ [\v!links]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!tab]
+ \type
+ [\c!arg!\c!nop!\c!par!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+% pragma6.tex
+
+\startsetup
+ \command
+ [\y!startdocument]
+ \type
+ [\c!val!\c!stp!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!brieven]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!labels]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelbrievenin]
+ \type
+ [\c!vals!]
+ \value
+ [\v!formeel,\v!informeel,\v!rekening,\v!ls,
+ \v!hoog,\v!midden,\v!laag]
+ [\v!formeel,\v!laag]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelsheetsin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!variant]
+ [\c!number!]
+ []
+ \variable
+ [\c!tekst]
+ [\c!text!]
+ []
+ \variable
+ [\c!formaat]
+ [\v!klein,\v!middel,\v!groot]
+ [\v!middel]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!normaal]
+ \variable
+ [\c!nummer]
+ [\c!number!,\v!aansluitend]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!sheet]
+ \type
+ [\c!val!]
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelstickersin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!variant]
+ [a]
+ []
+ \variable
+ [\c!n]
+ [\c!number!,\v!alles]
+ [\c!val!]
+ \variable
+ [\c!plaats]
+ [\v!marge,\v!links,\v!rechts,\v!midden]
+ [\v!links]
+\stopsetup
+
+% *.tex
+
+\startsetup
+ \command
+ [\y!definetabulate]
+ \type
+ [\c!val!\c!opt!\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start\e!tabulate]
+ \type
+ [\c!opt!\c!val!\c!opt!\c!vars!\c!stp!]
+ \value
+ [\c!text!]
+ []
+ \inheritvariables
+ [\y!useexternalfigure]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setuptabulate]
+ \type
+ [\c!opt!\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!eenheid]
+ [\c!dimension!]
+ [1em]
+ \variable
+ [\c!inspringen]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!voor]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!na]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [\c!binnen]
+ [\c!command!]
+ [\blanko]
+ \variable
+ [EQ]
+ [\c!text!]
+ [:]
+ \variable
+ [\c!lijnkleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!uitlijnen]
+ [\v!links,\v!midden,\v!rechts,\v!normaal]
+ [\v!normaal]
+ \variable
+ [\c!lijndikte]
+ [\c!dimension!]
+ [\lijndikte]
+ \variable
+ [\c!afstand]
+ [\v!blanko,\v!diepte,\c!dimension!,\v!klein,\v!middel,\v!groot,\v!geen]
+ [\v!diepte,\v!middel]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!steltabellenin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!afstand]
+ [\v!klein,\v!middel,\v!groot]
+ [\v!middel]
+ \variable
+ [\c!korps]
+ [5pt,...,12pt,\v!klein,\v!groot]
+ []
+ \variable
+ [HL]
+ [\c!number!,\v!klein,\v!middel,\v!groot,\v!geen]
+ [\v!middel]
+ \variable
+ [VL]
+ [\c!number!,\v!klein,\v!middel,\v!groot,\v!geen]
+ [\v!middel]
+ \variable
+ [\c!diepte]
+ [\c!number!,\v!strut]
+ [.40]
+ \variable
+ [\c!hoogte]
+ [\c!number!,\v!strut]
+ [80]
+ \variable
+ [\c!lijndikte]
+ [\c!dimension!]
+ [\lijndikte]
+ \variable
+ [\c!lijnkleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!uitlijnen]
+ [\v!rechts,\v!midden,\v!links,\v!normaal]
+ [\v!rechts]
+ \variable
+ [\c!commandos]
+ [\c!command!]
+ []
+ \variable
+ [\c!uitlijnen]
+ [\v!links,\v!midden,\v!rechts,\v!normaal]
+ [\v!rechts]
+ \variable
+ [\c!achtergrond]
+ [\v!raster,\v!kleur,\v!geen]
+ [\v!geen]
+ \variable
+ [\c!achtergrondraster]
+ [\c!number!]
+ [0.9]
+ \variable
+ [\c!achtergrondkleur]
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!starttabel]
+ \type
+ [\c!val!\c!stp!]
+ \value
+ [\c!text!,\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!starttabellen]
+ \type
+ [\c!val!\c!stp!]
+ \value
+ [\c!text!,\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definetabletemplate]
+ \type
+ [\c!val!\c!val!\c!opt!\c!val!\c!opt!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!gebruikexternefiles]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!korps]
+ [5pt,...,12pt,\v!klein,\v!groot]
+ []
+ \variable
+ [\c!file]
+ [\c!filename!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!gebruikexternefile]
+ \type
+ [\c!val!\c!val!\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!filename!]
+ []
+ \variable
+ [\c!korps]
+ [5pt,...,12pt,\v!klein,\v!groot]
+ []
+\stopsetup
+
+% \startsetup
+% \command
+% [\y!presetexternfiguur]
+% \type
+% [\c!val!\c!vars!]
+% \value
+% [\c!filename!]
+% []
+% \variable
+% [t]
+% [eps,mps,pdf,tif,jpg,png]
+% []
+% \variable
+% [w]
+% [\c!dimension!]
+% []
+% \variable
+% [h]
+% [\c!dimension!]
+% []
+% \variable
+% [s]
+% [\c!number!]
+% []
+% \variable
+% [t]
+% [\c!text!]
+% []
+% \stopsetup
+
+\startsetup
+ \command
+ [\y!useexternalfigure]
+ \type
+ [\c!opt!\c!val!\c!val!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!filename!]
+ []
+ \variable
+ [\c!schaal]
+ [\c!number!]
+ [1000]
+ \variable
+ [\c!factor]
+ [\v!max,\v!passend,\v!ruim]
+ []
+ \variable
+ [\c!bfactor]
+ [\c!number!,\v!max,\v!ruim,\v!passend]
+ []
+ \variable
+ [\c!hfactor]
+ [\c!number!,\v!max,\v!ruim,\v!passend]
+ []
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!kader]
+ [\v!aan,\v!uit]
+ [\v!uit]
+ \variable
+ [\c!preset]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!scherm]
+ [\c!filename!]
+ []
+ \variable
+ [\c!preview]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!herhaal]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!object]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!type]
+ [\c!eps,\c!mps,\c!pdf,\c!tif,\c!png,\c!jpg,\c!mov,\c!tex]
+ []
+ \variable
+ [\c!methode]
+ [\c!eps,\c!mps,\c!pdf,\c!tif,\c!png,\c!jpg,\c!mov,\c!tex]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!externalfigure]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!filename!]
+ []
+ \inheritvariables
+ [\y!useexternalfigure]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupexternalfigures]
+ \type
+ [\c!var!]
+ \variable
+ [\c!optie]
+ [\v!kader,\v!leeg,\v!test]
+ []
+ \variable
+ [\c!object]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!hokjes]
+ [\v!aan,\v!uit]
+ [\v!uit]
+ \variable
+ [\c!ymax]
+ [\c!number!]
+ [24]
+ \variable
+ [\c!xmax]
+ [\c!number!]
+ []
+ \variable
+ [\c!gebied]
+ [\c!text!]
+ []
+ \variable
+ [\c!plaats]
+ [\v!lokaal,\v!globaal,\v!default]
+ []
+ \variable
+ [\c!maxbreedte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!maxhoogte]
+ [\c!dimension!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!showexternalfigures]
+ \type
+ [\c!opt!\c!vars!]
+ \variable
+ [\c!variant]
+ [\v!a,\v!b,\v!c]
+ [\v!a]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!useexternalsoundtrack]
+ \type
+ [\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!filename!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!naam]
+ \type
+ [\c!arg!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start\e!legenda]
+ \type
+ [\c!opt!\c!val!\c!tex!{leg}\c!nop!\c!sep!\c!nop!\c!sep!\c!nop!\c!sep!\c!tex!{leg}\c!stp!]
+ \value
+ [\v!twee]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start\e!gegeven]
+ \type
+ [\c!tex!{geg}\c!nop!\c!sep!\c!nop!\c!sep!\c!nop!\c!sep!\c!tex!{geg}\c!stp!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!roteer]
+ \type
+ [\c!opt!\c!vars!\c!arg!]
+ \inheritvariables
+ [\y!stelroterenin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelroterenin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!rotatie]
+ [\c!number!]
+ [90]
+ \inheritvariables
+ [\y!setupframed]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!spiegel]
+ \type
+ [\c!arg!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!schaal]
+ \type
+ [\c!opt!\c!vars!\c!arg!]
+ \variable
+ [\c!sx]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!sy]
+ [\c!number!]
+ [1]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelcombinatiesin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!voor]
+ [\c!commando]
+ []
+ \variable
+ [\c!tussen]
+ [\c!commando]
+ []
+ \variable
+ [\c!na]
+ [\c!commando]
+ []
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [1em]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!,\v!passend]
+ [\v!passend]
+ \variable
+ [\c!breedte]
+ [\c!dimension!,\v!passend]
+ [\v!passend]
+ \variable
+ [\c!uitlijnen]
+ [\v!nee,\v!links,\v!rechts,\v!midden,\v!normaal]
+ [\v!midden]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startcombinatie]
+ \type
+ [\c!val!\c!stp!]
+ \value
+ [\c!matrix!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!plaatsnaastelkaar]
+ \type
+ [\c!arg!\c!arg!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!plaatsonderelkaar]
+ \type
+ [\c!arg!\c!arg!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startoverlay]
+ \type
+ [\c!arg!\c!arg!\c!stp!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+% pragma8.tex
+
+% \verwerkkontakten[naam,groep][actie][]
+% \verwerkfiguren[][overzicht][]
+
+\startsetup
+ \command
+ [\y!startoverzicht]
+ \type
+ [\c!vals!\c!stp!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+% core-01d.tex
+
+\startsetup
+ \command
+ [\y!stelinteractieschermin]
+ \type
+ [\c!alwint!\c!vars!]
+ \variable
+ [\c!breedte]
+ [\c!dimension!,\v!passend,\v!max]
+ [\papierbreedte]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!,\v!passend,\v!max]
+ [\papierhoogte]
+ \variable
+ [\c!rugwit]
+ [\c!dimension!]
+ [\rugwit]
+ \variable
+ [\c!kopwit]
+ [\c!dimension!]
+ [\kopwit]
+ \variable
+ [\c!rugoffset]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!kopoffset]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!optie]
+ [\v!max,\v!bookmark]
+ []
+ \variable
+ [\c!wachttijd]
+ [\c!number!,\v!geen]
+ [\v!geen]
+\stopsetup
+
+\startsetup
+ \command[\y!scherm]
+ \type[\c!alwint!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelpaginaovergangenin]
+ \type
+ [\c!opt!\c!vals!]
+ \value
+ [\v!reset,
+ %dissolve,box,split,blinds,wipe,glitter,
+ %vertical,horizontal,in,out,east,west,north,south,
+ \c!number!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupinteraction]
+ \type
+ [\c!alwint!\c!vars!]
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!stop]
+ \variable
+ [\c!menu]
+ [\v!aan,\v!uit]
+ [\v!uit]
+ \variable
+ [\c!pagina]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!klik]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!splitsen]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!scherm]
+ [\v!nieuw]
+ []
+ \variable
+ [\c!openactie]
+ [\c!reference!]
+ []
+ \variable
+ [\c!sluitactie]
+ [\c!reference!]
+ []
+ \variable
+ [\c!openpaginaactie]
+ [\c!reference!]
+ []
+ \variable
+ [\c!sluitpaginaactie]
+ [\c!reference!]
+ []
+ \variable
+ [\c!bereken]
+ [\c!identifier!]
+ []
+% \variable
+% [\c!scherm]
+% [\v!normaal,\v!passend,\v!hoogte,\v!breedte]
+% [\v!normaal]
+ \variable
+ [\c!strut]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ [1em]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!diepte]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...\c!command!]
+ [\v!vet]
+ \variable
+ [\c!kleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!contrastkleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!symboolset]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!titel]
+ [\c!text!]
+ []
+ \variable
+ [\c!subtitel]
+ [\c!text!]
+ []
+ \variable
+ [\c!auteur]
+ [\c!text!]
+ []
+ \variable
+ [\c!datum]
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelinteractiemenuin]
+ \type
+ [\c!alwint!\c!vals!\c!opt!\c!vars!\c!opt!\c!dests!]
+ \value
+ [\v!links,\v!rechts,\v!boven,\v!onder,\c!identifier!]
+ []
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+ \variable
+ [\c!tussen]
+ [\c!command!]
+ []
+ \variable
+ [\c!links]
+ [\c!command!]
+ []
+ \variable
+ [\c!rechts]
+ [\c!command!]
+ []
+ \variable
+ [\c!midden]
+ [\c!command!]
+ []
+ \variable
+ [\c!status]
+ [\v!start,\v!stop,\v!geen,\v!lokaal]
+ [\v!start]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...\c!command!]
+ [\v!vet]
+ \variable
+ [\c!kleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!afstand]
+ [\v!overlay,\c!dimension!]
+ []
+ \variable
+ [\c!zelfdepagina]
+ [\v!ja,\v!leeg,\v!nee,\v!geen]
+ []
+ \variable
+ [\c!onbekendeverwijzing]
+ [\v!ja,\v!leeg,\v!nee,\v!geen]
+ []
+ \variable
+ [\c!linkeroffset]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!rechteroffset]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!bovenoffset]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!onderoffset]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!positie]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \inheritvariables
+ [\y!setupframed]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieerinteractiemenu]
+ \type
+ [\c!alwint!\c!val!\c!opt!\c!val!\c!opt!\c!vars!]
+ \value
+ [\v!links,\v!rechts,\v!boven,\v!onder,\c!identifier!]
+ []
+ \value
+ [\v!links,\v!rechts,\v!boven,\v!onder,\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stelinteractiemenuin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start\e!interactiemenu]
+ \type
+ [\c!alwint!\c!val!\c!stp!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!blokkeerinteractiemenu]
+ \type
+ [\c!alwint!\c!val!\c!refs!]
+ \value
+ [\v!links,\v!rechts,\v!boven,\v!onder,\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!gebruikexterndocument]
+ \type
+ [\c!alwint!\c!val!\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!file]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!gebruikURL]
+ \type
+ [\c!alwint!\c!val!\c!val!\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!file]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!coupledocument]
+ \type
+ [\c!alwint!\c!val!\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!file]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command[\y!uit]
+ \type[\c!alwint!\c!ref!]
+ \value[\c!text!][]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!interactiebalk]
+ \type
+ [\c!alwint!\c!vars!]
+ \inheritvariables
+ [\y!stelinteractiebalkin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!interactiebuttons]
+ \type
+ [\c!alwint!\c!opt!\c!vars!\c!vals!]
+ \inheritvariables
+ [\y!stelinteractiebalkin]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+% \interactiebalk[reset]
+
+\startsetup
+ \command
+ [\y!stelinteractiebalkin]
+ \type
+ [\c!alwint!\c!vars!]
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!start]
+ \variable
+ [\c!variant]
+ [a,b,c,d,e,f,g]
+ [b]
+ \variable
+ [\c!symbool]
+ [\v!ja,\v!nee]
+ [\v!nee]
+ \variable
+ [\c!breedte]
+ [\c!dimension!,\c!hoogte,\v!passend]
+ [3cm]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!,\c!hoogte,\v!passend]
+ [\v!ruim]
+ \variable
+ [\c!diepte]
+ [\c!dimension!]
+ [0pt]
+ \variable
+ [\c!kleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!stap]
+ [\c!number!,\v!klein,\v!middel,\v!groot]
+ [1]
+ \inheritvariables
+ [\y!setupframed]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!synchroniseer]
+ \type
+ [\c!alwint!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startsynchronisatie]
+ \type
+ [\c!alwint!\c!stp!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelsynchronisatiebalkin]
+ \type
+ [\c!alwint!\c!vars!]
+ \variable
+ [\c!variant]
+ [\v!pagina,\v!lokaal]
+ [\v!pagina]
+ \variable
+ [\c!breedte]
+ [\c!dimension!,\c!hoogte,\v!passend]
+ [3cm]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ [.5em]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ [\v!vet]
+ \variable
+ [\c!kleur]
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!setupframed]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!synchronisatiebalk]
+ \type
+ [\c!alwint!\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!variant]
+ [\v!pagina,\v!lokaal]
+ [\v!pagina]
+ \inheritvariables
+ [\y!stelsynchronisatiebalkin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelsynchronisatiein]
+ \type
+ [\c!alwint!\c!vars!]
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!stop]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieerprofiel]
+ \type
+ [\c!alwint!\c!vals!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelprofielenin]
+ \type
+ [\c!alwint!\c!vars!]
+ \variable
+ [\c!optie]
+ [\v!test]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startprofiel]
+ \type
+ [\c!alwint!\c!vals!\c!stp!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!volgprofiel]
+ \type
+ [\c!alwint!\c!arg!\c!val!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!placebookmarks]
+ \type
+ [\c!opt!\c!vals!\c!opt!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!bookmark]
+ \type
+ [\c!opt!\c!val!\c!arg!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!startversie]
+ \type
+ [\c!alwint!\c!vals!\c!stp!]
+ \value
+ [\c!number!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelversiesin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!nummer]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!markeerversie]
+ \type
+ [\c!alwint!]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!selecteerversie]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieerversie]
+ \type
+ [\c!val!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!number!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!volgversie]
+ \type
+ [\c!alwint!\c!arg!\c!val!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!volgprofielversie]
+ \type
+ [\c!alwint!\c!arg!\c!val!\c!val!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definieerprogramma]
+ \type
+ [\c!alwint!\c!val!\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelprogrammasin]
+ \type
+ [\c!alwint!\c!vars!]
+ \variable
+ [\c!gebied]
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!programma]
+ \type
+ [\c!alwint!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+% pragma11.tex
+
+\startsetup
+ \command
+ [\y!startfigure]
+ \type
+ [\c!alwint!\c!val!\c!val!\c!vars!\c!stp!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!filename!]
+ []
+ \variable
+ [\c!factor]
+ [\c!number!]
+ []
+ \variable
+ [\c!kader]
+ [\v!aan,\v!uit]
+ [\v!uit]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!referring\subsetup{\v!figuur}]
+ \type
+ [\c!poss!\c!poss!\c!val!]
+ \value
+ [\c!number!]
+ []
+ \value
+ [\c!number!]
+ []
+ \value
+ [\c!number!]
+ []
+ \value
+ [\c!number!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!marking\subsetup{\v!figuur}]
+ \type
+ [\c!poss!\c!poss!\c!val!]
+ \value
+ [\c!number!]
+ []
+ \value
+ [\c!number!]
+ []
+ \value
+ [\c!number!]
+ []
+ \value
+ [\c!number!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!remark]
+ \type
+ [\c!poss!\c!poss!\c!vars!\c!arg!]
+ \value
+ [\c!number!]
+ []
+ \value
+ [\c!number!]
+ []
+ \value
+ [\c!number!]
+ []
+ \value
+ [\c!number!]
+ []
+ \inheritvariables
+ [\y!setupframed]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!naar]
+ \type
+ [\c!alwint!\c!arg!\c!alwint!\c!arg!\c!refs!]
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!naarbox]
+ \type
+ [\c!alwint!\c!arg!\c!refs!]
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!button]
+ \type
+ [\c!alwint!\c!opt!\c!vars!\c!arg!\c!refs!]
+ \inheritvariables
+ [\y!stelbuttonsin]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelbuttonsin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!status]
+ [\v!start,\v!stop]
+ [\v!start]
+ \inheritvariables
+ [\y!setupframed]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!menubutton]
+ \type
+ [\c!alwint!\c!opt!\c!val!\c!opt!\c!vars!\c!arg!\c!refs!]
+ \inheritvariables
+ [\y!setupframed]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!stelcommentaarin]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!kleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!titel]
+ [\c!text!]
+ []
+ \variable
+ [\c!spatie]
+ [\v!ja,\v!nee]
+ [\v!ja]
+ \variable
+ [\c!symbool]
+ [\v!normaal,\v!New,\v!Balloon,\v!Addition,\v!Help,\v!Paragraph,\v!Key]
+ [\v!normaal]
+ \variable
+ [\c!optie]
+ [\v!max]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\e!start\e!commentaar]
+ \type
+ [\c!opt!\c!val!\c!opt!\c!vars!\c!stp!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stelcommentaarin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!commentaar]
+ \type
+ [\c!opt!\c!val!\c!opt!\c!vars!\c!arg!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stelcommentaarin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definefield]
+ \type
+ [\c!val!\c!val!\c!val!\c!vals!\c!opt!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ [radio,check,push,line,text,popup,choice,combo]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definesubfield]
+ \type
+ [\c!val!\c!val!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!copyfield]
+ \type
+ [\c!val!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!clonefield]
+ \type
+ [\c!val!\c!vals!\c!val!\c!opt!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!field]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!fitfield]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!fillinfield]
+ \type
+ [\c!opt!\c!val!\c!arg!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!tooltip]
+ \type
+ [\c!opt!\c!val!\c!arg!\c!arg!]
+ \value
+ [\v!links,\v!rechts,\v!midden]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!showfields]
+ \type
+ [\c!opt!\c!vals!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!logfields]
+ \type
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupfield]
+ \type
+ [\c!val!\c!vals!\c!vars!\c!vars!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\v!label,\v!horizontaal,\v!vertikaal,\v!kader]
+ []
+ \inheritvariables
+ [\y!framed]
+ []
+ \inheritvariables
+ [\y!setupfields]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupfields]
+ \type
+ [\c!vals!\c!val!\c!vars!\c!vars!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\v!reset,\v!label,\v!horizontaal,\v!vertikaal,\v!kader]
+ []
+ \inheritvariables
+ [\y!framed]
+ []
+ \variable
+ [\c!n]
+ [\c!number!]
+ []
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ []
+ \variable
+ [\c!voor]
+ [\c!command!]
+ []
+ \variable
+ [\c!na]
+ [\c!command!]
+ []
+ \variable
+ [\c!tussen]
+ [\c!command!]
+ []
+ \variable
+ [\c!kleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!letter]
+ [\v!normaal,\v!vet,\v!schuin,\v!vetschuin,\v!type]
+ [\v!normaal]
+ \variable
+ [\c!uitlijnen]
+ [\v!links,\v!midden,\v!rechts]
+ []
+ \variable
+ [\c!optie]
+ [\v!alleenleesbaar,\v!verplicht,\v!beschermd,\v!gesorteerd,
+ \v!nietbeschikbaar, \v!verborgen,\v!printbaar]
+ []
+ \variable
+ [\c!klikin]
+ [\c!reference!]
+ []
+ \variable
+ [\c!klikuit]
+ [\c!reference!]
+ []
+ \variable
+ [\c!gebiedin]
+ [\c!reference!]
+ []
+ \variable
+ [\c!gebieduit]
+ [\c!reference!]
+ []
+ \variable
+ [\c!natoets]
+ [\c!reference!]
+ []
+ \variable
+ [\c!formatteer]
+ [\c!reference!]
+ []
+ \variable
+ [\c!valideer]
+ [\c!reference!]
+ []
+ \variable
+ [\c!bereken]
+ [\c!reference!]
+ []
+ \variable
+ [\c!veldoffset]
+ [\c!dimension!]
+ [\!!zeropoint]
+ \variable
+ [\c!veldkaderkleur]
+ [\c!identifier!]
+ []
+ \variable
+ [\c!veldachtergrondkleur]
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupforms]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!methode]
+ [HTML,FDF]
+ [HTML]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definefieldstack]
+ \type
+ [\c!val!\c!vals!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!setupfields]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!fieldstack]
+ \type
+ [\c!val!\c!opt!\c!vals!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!setupfields]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!clip]
+ \type
+ [\c!opt!\c!vars!\c!arg!]
+ \inheritvariables
+ [\y!setupclipping]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupclipping]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!nx]
+ [\c!number!]
+ [2]
+ \variable
+ [\c!ny]
+ [\c!number!]
+ [2]
+ \variable
+ [\c!x]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!y]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ [\!!zeropoint]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ [\!!zeropoint]
+ \variable
+ [\c!hoffset]
+ [\c!dimension!]
+ [\!!zeropoint]
+ \variable
+ [\c!voffset]
+ [\c!dimension!]
+ [\!!zeropoint]
+ \variable
+ [mp]
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!placelegend]
+ \type
+ [\c!arg!\c!arg!]
+ \value
+ [\c!text!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setuplegend]
+ \type
+ [\c!vars!]
+ \variable
+ [\c!n]
+ [\c!number!]
+ [1]
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [1em]
+ \variable
+ [\c!tussen]
+ [\c!command!]
+ [] % [{\blanko[\v!middel]}]
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ [\hsize]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ [\vsize]
+ \variable
+ [\c!plaats]
+ [\v!rechts,\v!onder]
+ [\v!onder]
+ \variable
+ [\c!korps]
+ [5pt,...,12pt,\v!klein,\v!groot]
+ []
+\stopsetup
+
+%D new
+
+\startsetup
+ \command
+ [\y!definerule]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!setuprule]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!placerule]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setuprule]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!diepte]
+ [\c!dimension!]
+ [\!!zeropoint]
+ \variable
+ [\c!hoogte]
+ [\c!dimension!]
+ [\!!zeropoint]
+ \variable
+ [\c!breedte]
+ [\c!dimension!]
+ [\hsize]
+ \variable
+ [\c!voorwit]
+ [\c!dimension!]
+ [\!!zeropoint]
+ \variable
+ [\c!nawit]
+ [\c!dimension!]
+ [\!!zeropoint]
+ \variable
+ [\c!kleur]
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definetextvariable]
+ \type
+ [\c!val!\c!opt!\c!val!\c!opt!\c!vars!]
+ \inheritvariables
+ [\y!setuptextvariable]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setuptextvariable]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \variable
+ [\c!links]
+ [\c!text!]
+ []
+ \variable
+ [\c!rechts]
+ [\c!text!]
+ []
+ \variable
+ [\c!afstand]
+ [\c!dimension!]
+ [5em]
+ \variable
+ [\c!commando]
+ [\c!oneargument!]
+ []
+ \variable
+ [\c!strut]
+ [\v!ja,\v!nee,\v!kap,\c!text!]
+ [\c!ja]
+\stopsetup
+
+\startsetup
+ \command
+ [\y!settextvariable]
+ \type
+ [\c!val!\c!val!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!placetextvariable]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!textvariable]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definerawfont]
+ \type
+ [\c!val!\c!opt!\c!val!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!font!]
+ []
+ \inheritvariables
+ [\y!stelinterliniein]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!switchtorawfont]
+ \type
+ [\c!val!]
+ \value
+ [\c!identifier!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!definetextposition]
+ \type
+ [\c!val!\c!opt!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stelpositionerenin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setuptextposition]
+ \type
+ [\c!val!\c!vars!]
+ \value
+ [\c!identifier!]
+ []
+ \inheritvariables
+ [\y!stelpositionerenin]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!positiontext]
+ \type
+ [\c!val!\c!arg!]
+ \value
+ [\c!identifier!]
+ []
+ \value
+ [\c!text!]
+ []
+\stopsetup
+
+\startsetup
+ \command
+ [\y!setupstrut]
+ \type
+ [\c!val!]
+ \value
+ [\v!ja,\v!nee,\v!kap,\c!text!]
+ [\v!ja]
+\stopsetup
+
+\stopsetupfile
diff --git a/tex/context/base/setupd.tex b/tex/context/base/setupd.tex
new file mode 100644
index 000000000..0cd91b802
--- /dev/null
+++ b/tex/context/base/setupd.tex
@@ -0,0 +1,182 @@
+%D \module
+%D [ file=setupa,
+%D version=1998.07.20,
+%D title=\CONTEXT\ Setup Definitions,
+%D subtitle=Help Generation,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\let\wait\relax
+
+\input setupa
+
+\unprotect
+
+% keys
+
+\def\copymessage#1#2#3%
+ {\dogetmessage{setup}{#3}\edef#1{#2\currentmessagetext}}
+
+\copymessage \c!command! * {command}
+\copymessage \c!dimension! * {dimension}
+\copymessage \c!filename! * {file}
+\copymessage \c!identifier! * {name}
+\copymessage \c!character! * {character}
+\copymessage \c!marker! * {mark}
+\copymessage \c!number! * {number}
+\copymessage \c!reference! * {reference}
+\copymessage \c!plural! * {plural}
+\copymessage \c!singular! * {singular}
+\copymessage \c!text! * {text}
+\copymessage \c!formula! * {formula}
+\copymessage \c!font! * {file}
+\copymessage \c!matrix! * {matrix}
+\copymessage \c!list! * {list}
+\copymessage \c!section! * {section}
+\copymessage \c!noargument! \empty {command}
+\copymessage \c!oneargument! \empty {command}
+\copymessage \c!twoarguments! \empty {command}
+\copymessage \c!threearguments! \empty {command}
+
+\edef\c!noargument! {*\@EA\string\csname\c!noargument! \endcsname}
+\edef\c!oneargument! {*\@EA\string\csname\c!oneargument! \endcsname\string#1}
+\edef\c!twoarguments! {*\@EA\string\csname\c!twoarguments! \endcsname\string#1\string#2}
+\edef\c!threearguments!{*\@EA\string\csname\c!threearguments!\endcsname\string#1\string#2\string#3}
+
+\def\subsetup#1{/#1}
+
+\beginTEX
+
+\def\getinterfaceconstant#1%
+ {\ifinterfacetranslation
+ \ifx\csname\x!prefix!#1\endcsname\relax
+ #1%
+ \else
+ \csname\x!prefix!#1\endcsname
+ \fi
+ \else
+ #1%
+ \fi}
+
+\def\getinterfacevariable#1%
+ {\ifinterfacetranslation
+ \ifx\csname\y!prefix!#1\endcsname\relax
+ #1%
+ \else
+ \csname\y!prefix!#1\endcsname
+ \fi
+ \else
+ #1%
+ \fi}
+
+\endTEX
+
+\beginETEX \ifcsname
+
+\def\getinterfaceconstant#1%
+ {\ifinterfacetranslation
+ \ifcsname\x!prefix!#1\endcsname
+ \csname\x!prefix!#1\endcsname
+ \else
+ #1%
+ \fi
+ \else
+ #1%
+ \fi}
+
+\def\getinterfacevariable#1%
+ {\ifinterfacetranslation
+ \ifcsname\y!prefix!#1\endcsname
+ \csname\y!prefix!#1\endcsname
+ \else
+ #1%
+ \fi
+ \else
+ #1%
+ \fi}
+
+\endETEX
+
+\def\c!repeat! {repeat/} % {n*}
+\def\c!arg! {arg/} % {{...}:}
+\def\c!args! {args/} % {{..,...,..}:}
+\def\c!dis! {dis/} % {$$...$$:}
+\def\c!idx! {idx/} % {{...}:}
+\def\c!idxs! {idxs/} % {{..+...+..}:}
+\def\c!mat! {mat/} % {$...$:}
+\def\c!nop! {nop/} % {...:}
+\def\c!fil! {fil/} % {...:}
+\def\c!pos! {pos/} % {(...):}
+\def\c!poss! {poss/} % {(...,...):}
+\def\c!sep! {sep/} % {\string\\:}
+\def\c!ref! {ref/} % {[ref]:}
+\def\c!refs! {refs/} % {[ref,..]:}
+\def\c!val! {val/} % {[...]:}
+\def\c!vals! {vals/} % {[..,...,..]:}
+\def\c!var! {var/} % {[..=..]:}
+\def\c!vars! {vars/} % {[..,..=..,..]:}
+\def\c!cmd! {cmd/} % {\string\xxx:}
+\def\c!dest! {dest/} % {[..ref]:}
+\def\c!dests! {dests/} % {[..,..refs,..]:}
+\def\c!trip! {trip/} % {[x:y:z=]:}
+\def\c!trips! {trips/} % {[x:y:z=,..]:}
+\def\c!wrd! {wrd/} % {{...}:}
+\def\c!wrds! {wrds/} % {{.. ... ..}:}
+\def\c!par! {par/} % {\string\par:}
+\def\c!stp! {stp/} % {stop:}
+\def\c!tex! {tex/} % {\string\cs:}
+
+\def\c!or! {} % tzt or
+
+\def\c!opt! {} %
+\def\c!optint! {} %
+\def\c!alwint! {} %
+
+% wrapper
+
+\def\startsetupfile
+ {\immediate\openout\scratchwrite=cont-\currentlanguage.tws }
+
+\def\stopsetupfile
+ {\immediate\closeout\scratchwrite}
+
+\let\documenteduntilhere\relax
+
+\long\def\startsetup#1\stopsetup % the :'s serve as breakpoints
+ {\bgroup
+ \long\def\command [##1]%
+ {\immediate\write\scratchwrite{com:##1:}}%
+ \long\def\type [##1]%
+ {\immediate\write\scratchwrite{typ:##1:}}%
+ \long\def\value [##1]##2[##3]%
+ {\immediate\write\scratchwrite{val:##1:##3:}}%
+ \long\def\variable [##1]##2[##3]##4[##5]%
+ {\convertsetupdata{##5}\ascii
+ \edef\temp{\getinterfaceconstant{##1}}%
+ \immediate\write\scratchwrite{var:\temp:##3:\ascii:}}%
+ \long\def\inheritvalues [##1]##2[##3]%
+ {\immediate\write\scratchwrite{ivl:##1:##3:}}%
+ \long\def\inheritvariables[##1]##2[##3]%
+ {\convertsetupdata{##3}\ascii
+ \immediate\write\scratchwrite{ivr:##1:\ascii:}}%
+ \immediate\write\scratchwrite{startsetup}%
+ #1%
+ \immediate\write\scratchwrite{stopsetup}%
+ \immediate\write\scratchwrite{}%
+ \egroup}
+
+\let\stopsetup\relax
+
+\def\convertsetupdata#1#2% only accept #1=\v!whatever
+ {\doifsystemconstantelse{#1}{\edef#2{#1}}{\let#2\empty}}
+
+\input setupb
+
+\protect
+
+\end
diff --git a/tex/context/base/supp-box.tex b/tex/context/base/supp-box.tex
index 0cdf9251b..c2640e157 100644
--- a/tex/context/base/supp-box.tex
+++ b/tex/context/base/supp-box.tex
@@ -2029,14 +2029,16 @@
\def\@@stacklst{@xob@}
\def\setstackbox#1#2%
- {\ifcsname\csname\@otr@:\number#1:\number#2\endcsname\else
+ {\ifcsname\@@stackbox:#1:#2\endcsname\else
\expandafter\newbox\csname\@@stackbox:#1:#2\endcsname
\fi
\global\setbox\csname\@@stackbox:#1:#2\endcsname\vbox}
\def\initializeboxstack#1%
{\def\docommando##1{\setstackbox{#1}{##1}{}}%
- \processcommacommand[\getvalue{\@@stacklst#1}]\docommando
+ \ifcsname\@@stacklst#1\endcsname
+ \processcommacommand[\getvalue{\@@stacklst#1}]\docommando
+ \fi
\setgvalue{\@@stacklst#1}{}}
\def\savebox#1#2% stack name
@@ -2045,13 +2047,13 @@
\def\foundbox#1#2%
{\vbox
- {\ifcsname\csname\@@stackbox:#1:#2\endcsname
+ {\ifcsname\@@stackbox:#1:#2\endcsname
\copy\csname\@@stackbox:#1:#2\endcsname
\fi}}
\long\def\doifboxelse#1#2#3#4%
- {\ifcsname\csname\@@stackbox:#1:#2\endcsname
- \ifvoid\csname\csname\@@stackbox:#1:#2\endcsname#4\else#3\fi
+ {\ifcsname\@@stackbox:#1:#2\endcsname
+ \ifvoid\csname\@@stackbox:#1:#2\endcsname#4\else#3\fi
\else
#4%
\fi}
diff --git a/tex/context/base/supp-fil.tex b/tex/context/base/supp-fil.tex
index d1f237815..2b9acd12f 100644
--- a/tex/context/base/supp-fil.tex
+++ b/tex/context/base/supp-fil.tex
@@ -393,7 +393,7 @@
{\doiffileelse{\pathplusfile{\f!currentpath}{#1}}}
%D \macros
-%D {doonlyonce, doinputonce}
+%D {doonlyonce, doinputonce, doendinputonce}
%D
%D Especially macropackages need only be loaded once.
%D Repetitive loading not only costs time, relocating registers
@@ -403,7 +403,8 @@
%D
%D \starttypen
%D \doonlyonce{actions}
-%D \doloadonce{filename}
+%D \doinputonce{filename}
+%D \doendinputonce{filename}
%D \stoptypen
%D
%D This command obeys the standard method for locating files.
@@ -414,6 +415,9 @@
\def\doinputonce#1%
{\doonlyonce{#1}{\doiffileelse{#1}{\normalinput #1\relax}{}}}
+\def\doendinputonce#1%
+ {\doifdefined{@@@#1@@@}{\endinput}}
+
%D \macros
%D {doifparentfileelse}
%D
diff --git a/tex/context/base/syst-con.tex b/tex/context/base/syst-con.tex
index b3af03237..2df621b64 100644
--- a/tex/context/base/syst-con.tex
+++ b/tex/context/base/syst-con.tex
@@ -21,7 +21,7 @@
%D module.
%D \macros
-%D {lchexnumber,uchexnumber,lchexnumbers}
+%D {lchexnumber,uchexnumber,lchexnumbers,uchexnumbers}
%D
%D In addition to the uppercase hex conversion, as needed in
%D math families, we occasionally need a lowercase one, for
@@ -56,6 +56,25 @@
e0\or e1\or e2\or e3\or e4\or e5\or e6\or e7\or e8\or e9\or ea\or eb\or ec\or ed\or ee\or ef\or
f0\or f1\or f2\or f3\or f4\or f5\or f6\or f7\or f8\or f9\or fa\or fb\or fc\or fd\or fe\or ff\fi}
+\def\uchexnumbers#1%
+ {\ifcase#1
+ 00\or 01\or 02\or 03\or 04\or 05\or 06\or 07\or 08\or 09\or 0A\or 0B\or 0C\or 0D\or 0E\or 0F\or
+ 10\or 11\or 12\or 13\or 14\or 15\or 16\or 17\or 18\or 19\or 1A\or 1B\or 1C\or 1D\or 1E\or 1F\or
+ 20\or 21\or 22\or 23\or 24\or 25\or 26\or 27\or 28\or 29\or 2A\or 2B\or 2C\or 2D\or 2E\or 2F\or
+ 30\or 31\or 32\or 33\or 34\or 35\or 36\or 37\or 38\or 39\or 3A\or 3B\or 3C\or 3D\or 3E\or 3F\or
+ 40\or 41\or 42\or 43\or 44\or 45\or 46\or 47\or 48\or 49\or 4A\or 4B\or 4C\or 4D\or 4E\or 4F\or
+ 50\or 51\or 52\or 53\or 54\or 55\or 56\or 57\or 58\or 59\or 5A\or 5B\or 5C\or 5D\or 5E\or 5F\or
+ 60\or 61\or 62\or 63\or 64\or 65\or 66\or 67\or 68\or 69\or 6A\or 6B\or 6C\or 6D\or 6E\or 6F\or
+ 70\or 71\or 72\or 73\or 74\or 75\or 76\or 77\or 78\or 79\or 7A\or 7B\or 7C\or 7D\or 7E\or 7F\or
+ 80\or 81\or 82\or 83\or 84\or 85\or 86\or 87\or 88\or 89\or 8A\or 8B\or 8C\or 8D\or 8E\or 8F\or
+ 90\or 91\or 92\or 93\or 94\or 95\or 96\or 97\or 98\or 99\or 9A\or 9B\or 9C\or 9D\or 9E\or 9F\or
+ A0\or A1\or A2\or A3\or A4\or A5\or A6\or A7\or A8\or A9\or AA\or AB\or AC\or AD\or AE\or AF\or
+ B0\or B1\or B2\or B3\or B4\or B5\or B6\or B7\or B8\or B9\or BA\or BB\or BC\or BD\or BE\or BF\or
+ C0\or C1\or C2\or C3\or C4\or C5\or C6\or C7\or C8\or C9\or CA\or CB\or CC\or CD\or CE\or CF\or
+ D0\or D1\or D2\or D3\or D4\or D5\or D6\or D7\or D8\or D9\or DA\or DB\or DC\or DD\or DE\or DF\or
+ E0\or E1\or E2\or E3\or E4\or E5\or E6\or E7\or E8\or E9\or EA\or EB\or EC\or ED\or EE\or EF\or
+ F0\or F1\or F2\or F3\or F4\or F5\or F6\or F7\or F8\or F9\or FA\or FB\or FC\or FD\or FE\or FF\fi}
+
%D \macros
%D {octnumber}
%D
diff --git a/tex/context/base/syst-gen.tex b/tex/context/base/syst-gen.tex
index c08ea8229..c43dc7ca1 100644
--- a/tex/context/base/syst-gen.tex
+++ b/tex/context/base/syst-gen.tex
@@ -808,7 +808,7 @@
\endTEX
-\beginETEX
+\beginETEX \undefined
\def\letbeundefined#1%
{\expandafter\let\csname#1\endcsname\undefined}
diff --git a/tex/context/base/syst-new.tex b/tex/context/base/syst-new.tex
index 6c321f5e5..9224725d2 100644
--- a/tex/context/base/syst-new.tex
+++ b/tex/context/base/syst-new.tex
@@ -191,9 +191,12 @@
\retestfeature}
\def\retestfeature%
- {\message{starting feature test}\wait
+ {\bgroup
+ \ifcase\interactionmode\let\wait\relax\fi
+ \message{starting feature test}\wait
\featuretest=-1 \dotestfeature
- \message{feature test done}\wait}
+ \message{feature test done}\wait
+ \egroup}
%D \macros
%D {adddimenregister,adddimenmacro}
diff --git a/tex/context/base/thrd-ran.tex b/tex/context/base/thrd-ran.tex
index 24898df51..9dd509492 100644
--- a/tex/context/base/thrd-ran.tex
+++ b/tex/context/base/thrd-ran.tex
@@ -90,10 +90,15 @@
\ifnum\ranval<\@tempcnta\else \expandafter\getr@nval \fi
}
-\def\pointless{\expandafter\PoinTless\the}
-{\catcode`p=12 \catcode`t=12
-\gdef\PoinTless#1pt{#1}}
-
+%D The next macro is not needed in \CONTEXT, which provides
+%D the \type {\withoutpt} macro.
+%D
+%D \starttypen
+%D \def\pointless{\expandafter\PoinTless\the}
+%D {\catcode`p=12 \catcode`t=12
+%D \gdef\PoinTless#1pt{#1}}
+%D \stoptypen
+
\catcode`\@=\randomi
\global\randomi=0
\newcount\ranval
diff --git a/tex/context/base/type-enc.tex b/tex/context/base/type-enc.tex
new file mode 100644
index 000000000..852bce272
--- /dev/null
+++ b/tex/context/base/type-enc.tex
@@ -0,0 +1,528 @@
+%D \module
+%D [ file=type-enc,
+%D version=2001.04.12,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=Encoding scripts,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+% Computer Modern Roman
+
+\starttypescript [all] [computer-modern] [ec]
+ \definefontsynonym [cmb10] [aeb10] [encoding=ec]
+ \definefontsynonym [cmbx10] [aebx10] [encoding=ec]
+ \definefontsynonym [cmbx12] [aebx12] [encoding=ec]
+ \definefontsynonym [cmbx5] [aebx5] [encoding=ec]
+ \definefontsynonym [cmbx6] [aebx6] [encoding=ec]
+ \definefontsynonym [cmbx7] [aebx7] [encoding=ec]
+ \definefontsynonym [cmbx8] [aebx8] [encoding=ec]
+ \definefontsynonym [cmbx9] [aebx9] [encoding=ec]
+ \definefontsynonym [cmbxsl10] [aebxsl10] [encoding=ec]
+ \definefontsynonym [cmbxti10] [aebxti10] [encoding=ec]
+ \definefontsynonym [cmcsc10] [aecsc10] [encoding=ec]
+ \definefontsynonym [cmitt10] [aeitt10] [encoding=ec]
+ \definefontsynonym [cmr10] [aer10] [encoding=ec]
+ \definefontsynonym [cmr12] [aer12] [encoding=ec]
+ \definefontsynonym [cmr17] [aer17] [encoding=ec]
+ \definefontsynonym [cmr5] [aer5] [encoding=ec]
+ \definefontsynonym [cmr6] [aer6] [encoding=ec]
+ \definefontsynonym [cmr7] [aer7] [encoding=ec]
+ \definefontsynonym [cmr8] [aer8] [encoding=ec]
+ \definefontsynonym [cmr9] [aer9] [encoding=ec]
+ \definefontsynonym [cmsl10] [aesl10] [encoding=ec]
+ \definefontsynonym [cmsl12] [aesl12] [encoding=ec]
+ \definefontsynonym [cmsl8] [aesl8] [encoding=ec]
+ \definefontsynonym [cmsl9] [aesl9] [encoding=ec]
+ \definefontsynonym [cmsltt10] [aesltt10] [encoding=ec]
+ \definefontsynonym [cmss10] [aess10] [encoding=ec]
+ \definefontsynonym [cmss12] [aess12] [encoding=ec]
+ \definefontsynonym [cmss17] [aess17] [encoding=ec]
+ \definefontsynonym [cmss8] [aess8] [encoding=ec]
+ \definefontsynonym [cmss9] [aess9] [encoding=ec]
+ \definefontsynonym [cmssbx10] [aessbx10] [encoding=ec]
+ \definefontsynonym [cmssdc10] [aessdc10] [encoding=ec]
+ \definefontsynonym [cmssi10] [aessi10] [encoding=ec]
+ \definefontsynonym [cmssi12] [aessi12] [encoding=ec]
+ \definefontsynonym [cmssi17] [aessi17] [encoding=ec]
+ \definefontsynonym [cmssi8] [aessi8] [encoding=ec]
+ \definefontsynonym [cmssi9] [aessi9] [encoding=ec]
+ \definefontsynonym [cmtcsc10] [aetcsc10] [encoding=ec]
+ \definefontsynonym [cmti10] [aeti10] [encoding=ec]
+ \definefontsynonym [cmti12] [aeti12] [encoding=ec]
+ \definefontsynonym [cmti7] [aeti7] [encoding=ec]
+ \definefontsynonym [cmti8] [aeti8] [encoding=ec]
+ \definefontsynonym [cmti9] [aeti9] [encoding=ec]
+ \definefontsynonym [cmtt10] [aett10] [encoding=ec]
+ \definefontsynonym [cmtt12] [aett12] [encoding=ec]
+ \definefontsynonym [cmtt8] [aett8] [encoding=ec]
+ \definefontsynonym [cmtt9] [aett9] [encoding=ec]
+\stoptypescript
+
+\starttypescript [all] [computer-modern] [il2]
+ \definefontsynonym [cmb10] [csb10] [encoding=il2]
+ \definefontsynonym [cmbx10] [csbx10] [encoding=il2]
+ \definefontsynonym [cmbx12] [csbx12] [encoding=il2]
+ \definefontsynonym [cmbx5] [csbx5] [encoding=il2]
+ \definefontsynonym [cmbx6] [csbx6] [encoding=il2]
+ \definefontsynonym [cmbx7] [csbx7] [encoding=il2]
+ \definefontsynonym [cmbx8] [csbx8] [encoding=il2]
+ \definefontsynonym [cmbx9] [csbx9] [encoding=il2]
+ \definefontsynonym [cmbxsl10] [csbxsl10] [encoding=il2]
+ \definefontsynonym [cmbxti10] [csbxti10] [encoding=il2]
+ \definefontsynonym [cmcsc10] [cscsc10] [encoding=il2]
+ \definefontsynonym [cmdunh10] [csdunh10] [encoding=il2]
+ \definefontsynonym [cmff10] [csff10] [encoding=il2]
+ \definefontsynonym [cmfi10] [csfi10] [encoding=il2]
+ \definefontsynonym [cmfib8] [csfib8] [encoding=il2]
+ \definefontsynonym [cminch] [csinch] [encoding=il2]
+ \definefontsynonym [cmitt10] [csitt10] [encoding=il2]
+ \definefontsynonym [cmr10] [csr10] [encoding=il2]
+ \definefontsynonym [cmr12] [csr12] [encoding=il2]
+ \definefontsynonym [cmr17] [csr17] [encoding=il2]
+ \definefontsynonym [cmr5] [csr5] [encoding=il2]
+ \definefontsynonym [cmr6] [csr6] [encoding=il2]
+ \definefontsynonym [cmr7] [csr7] [encoding=il2]
+ \definefontsynonym [cmr8] [csr8] [encoding=il2]
+ \definefontsynonym [cmr9] [csr9] [encoding=il2]
+ \definefontsynonym [cmsl10] [cssl10] [encoding=il2]
+ \definefontsynonym [cmsl12] [cssl12] [encoding=il2]
+ \definefontsynonym [cmsl8] [cssl8] [encoding=il2]
+ \definefontsynonym [cmsl9] [cssl9] [encoding=il2]
+ \definefontsynonym [cmsltt10] [cssltt10] [encoding=il2]
+ \definefontsynonym [cmss10] [csss10] [encoding=il2]
+ \definefontsynonym [cmss12] [csss12] [encoding=il2]
+ \definefontsynonym [cmss17] [csss17] [encoding=il2]
+ \definefontsynonym [cmss8] [csss8] [encoding=il2]
+ \definefontsynonym [cmss9] [csss9] [encoding=il2]
+ \definefontsynonym [cmssbx10] [csssbx10] [encoding=il2]
+ \definefontsynonym [cmssdc10] [csssdc10] [encoding=il2]
+ \definefontsynonym [cmssi10] [csssi10] [encoding=il2]
+ \definefontsynonym [cmssi12] [csssi12] [encoding=il2]
+ \definefontsynonym [cmssi17] [csssi17] [encoding=il2]
+ \definefontsynonym [cmssi8] [csssi8] [encoding=il2]
+ \definefontsynonym [cmssi9] [csssi9] [encoding=il2]
+ \definefontsynonym [cmssq8] [csssq8] [encoding=il2]
+ \definefontsynonym [cmssqi8] [csssqi8] [encoding=il2]
+ \definefontsynonym [cmtcsc10] [cstcsc10] [encoding=il2]
+ \definefontsynonym [cmti10] [csti10] [encoding=il2]
+ \definefontsynonym [cmti12] [csti12] [encoding=il2]
+ \definefontsynonym [cmti7] [csti7] [encoding=il2]
+ \definefontsynonym [cmti8] [csti8] [encoding=il2]
+ \definefontsynonym [cmti9] [csti9] [encoding=il2]
+ \definefontsynonym [cmtt10] [cstt10] [encoding=il2]
+ \definefontsynonym [cmtt12] [cstt12] [encoding=il2]
+ \definefontsynonym [cmtt8] [cstt8] [encoding=il2]
+ \definefontsynonym [cmtt9] [cstt9] [encoding=il2]
+ \definefontsynonym [cmu10] [csu10] [encoding=il2]
+ \definefontsynonym [cmvtt10] [csvtt10] [encoding=il2]
+\stoptypescript
+
+\starttypescript [all] [computer-modern] [pl0]
+ \definefontsynonym [cmb10] [plb10] [encoding=pl0]
+ \definefontsynonym [cmbsy10] [plbsy10] [encoding=pl0]
+ \definefontsynonym [cmbx10] [plbx10] [encoding=pl0]
+ \definefontsynonym [cmbx12] [plbx12] [encoding=pl0]
+ \definefontsynonym [cmbx5] [plbx5] [encoding=pl0]
+ \definefontsynonym [cmbx6] [plbx6] [encoding=pl0]
+ \definefontsynonym [cmbx7] [plbx7] [encoding=pl0]
+ \definefontsynonym [cmbx8] [plbx8] [encoding=pl0]
+ \definefontsynonym [cmbx9] [plbx9] [encoding=pl0]
+ \definefontsynonym [cmbxsl10] [plbxsl10] [encoding=pl0]
+ \definefontsynonym [cmbxti10] [plbxti10] [encoding=pl0]
+ \definefontsynonym [cmcsc10] [plcsc10] [encoding=pl0]
+ \definefontsynonym [cmdunh10] [pldunh10] [encoding=pl0]
+ \definefontsynonym [cmex10] [plex10] [encoding=pl0]
+ \definefontsynonym [cmex9] [plex9] [encoding=pl0]
+ \definefontsynonym [cmff10] [plff10] [encoding=pl0]
+ \definefontsynonym [cmfi10] [plfi10] [encoding=pl0]
+ \definefontsynonym [cmfib8] [plfib8] [encoding=pl0]
+ \definefontsynonym [cminch] [plinch] [encoding=pl0]
+ \definefontsynonym [cmitt10] [plitt10] [encoding=pl0]
+ \definefontsynonym [cmmi10] [plmi10] [encoding=pl0]
+ \definefontsynonym [cmmi12] [plmi12] [encoding=pl0]
+ \definefontsynonym [cmmi5] [plmi5] [encoding=pl0]
+ \definefontsynonym [cmmi6] [plmi6] [encoding=pl0]
+ \definefontsynonym [cmmi7] [plmi7] [encoding=pl0]
+ \definefontsynonym [cmmi8] [plmi8] [encoding=pl0]
+ \definefontsynonym [cmmi9] [plmi9] [encoding=pl0]
+ \definefontsynonym [cmmib10] [plmib10] [encoding=pl0]
+ \definefontsynonym [cmr10] [plr10] [encoding=pl0]
+ \definefontsynonym [cmr12] [plr12] [encoding=pl0]
+ \definefontsynonym [cmr17] [plr17] [encoding=pl0]
+ \definefontsynonym [cmr5] [plr5] [encoding=pl0]
+ \definefontsynonym [cmr6] [plr6] [encoding=pl0]
+ \definefontsynonym [cmr7] [plr7] [encoding=pl0]
+ \definefontsynonym [cmr8] [plr8] [encoding=pl0]
+ \definefontsynonym [cmr9] [plr9] [encoding=pl0]
+ \definefontsynonym [cmsl10] [plsl10] [encoding=pl0]
+ \definefontsynonym [cmsl12] [plsl12] [encoding=pl0]
+ \definefontsynonym [cmsl8] [plsl8] [encoding=pl0]
+ \definefontsynonym [cmsl9] [plsl9] [encoding=pl0]
+ \definefontsynonym [cmsltt10] [plsltt10] [encoding=pl0]
+ \definefontsynonym [cmss10] [plss10] [encoding=pl0]
+ \definefontsynonym [cmss12] [plss12] [encoding=pl0]
+ \definefontsynonym [cmss17] [plss17] [encoding=pl0]
+ \definefontsynonym [cmss8] [plss8] [encoding=pl0]
+ \definefontsynonym [cmss9] [plss9] [encoding=pl0]
+ \definefontsynonym [cmssbi10] [plssbi10] [encoding=pl0]
+ \definefontsynonym [cmssbx10] [plssbx10] [encoding=pl0]
+ \definefontsynonym [cmssdc10] [plssdc10] [encoding=pl0]
+ \definefontsynonym [cmssi10] [plssi10] [encoding=pl0]
+ \definefontsynonym [cmssi12] [plssi12] [encoding=pl0]
+ \definefontsynonym [cmssi17] [plssi17] [encoding=pl0]
+ \definefontsynonym [cmssi8] [plssi8] [encoding=pl0]
+ \definefontsynonym [cmssi9] [plssi9] [encoding=pl0]
+ \definefontsynonym [cmssq8] [plssq8] [encoding=pl0]
+ \definefontsynonym [cmssqi8] [plssqi8] [encoding=pl0]
+ \definefontsynonym [cmsy10] [plsy10] [encoding=pl0]
+ \definefontsynonym [cmsy5] [plsy5] [encoding=pl0]
+ \definefontsynonym [cmsy6] [plsy6] [encoding=pl0]
+ \definefontsynonym [cmsy7] [plsy7] [encoding=pl0]
+ \definefontsynonym [cmsy8] [plsy8] [encoding=pl0]
+ \definefontsynonym [cmsy9] [plsy9] [encoding=pl0]
+ \definefontsynonym [cmtcsc10] [pltcsc10] [encoding=pl0]
+ \definefontsynonym [cmtex10] [pltex10] [encoding=pl0]
+ \definefontsynonym [cmtex8] [pltex8] [encoding=pl0]
+ \definefontsynonym [cmtex9] [pltex9] [encoding=pl0]
+ \definefontsynonym [cmti10] [plti10] [encoding=pl0]
+ \definefontsynonym [cmti12] [plti12] [encoding=pl0]
+ \definefontsynonym [cmti7] [plti7] [encoding=pl0]
+ \definefontsynonym [cmti8] [plti8] [encoding=pl0]
+ \definefontsynonym [cmti9] [plti9] [encoding=pl0]
+ \definefontsynonym [cmtt10] [pltt10] [encoding=pl0]
+ \definefontsynonym [cmtt12] [pltt12] [encoding=pl0]
+ \definefontsynonym [cmtt8] [pltt8] [encoding=pl0]
+ \definefontsynonym [cmtt9] [pltt9] [encoding=pl0]
+ \definefontsynonym [cmu10] [plu10] [encoding=pl0]
+ \definefontsynonym [cmvtt10] [plvtt10] [encoding=pl0]
+\stoptypescript
+
+\starttypescript [serif] [computer-modern] [default]
+ \definefontsynonym [ComputerModern] [cmr10]
+ \definefontsynonym [ComputerModern-Bold] [cmbx10]
+ \definefontsynonym [ComputerModern-Italic] [cmti10]
+ \definefontsynonym [ComputerModern-Slanted] [cmsl10]
+ \definefontsynonym [ComputerModern-BoldItalic] [cmbxti10]
+ \definefontsynonym [ComputerModern-BoldSlanted] [cmbxsl10]
+ \definefontsynonym [ComputerModern-Caps] [cmr10]
+\stoptypescript
+
+\starttypescript [sans] [computer-modern] [default]
+ \definefontsynonym [ComputerModernSans] [cmss10]
+ \definefontsynonym [ComputerModernSans-Bold] [cmssbx10]
+ \definefontsynonym [ComputerModernSans-Italic] [cmssi10]
+ \definefontsynonym [ComputerModernSans-Slanted] [cmssi10]
+ \definefontsynonym [ComputerModernSans-BoldItalic] [cmssbx10]
+ \definefontsynonym [ComputerModernSans-BoldSlanted] [cmssbx10]
+ \definefontsynonym [ComputerModernSans-Caps] [cmss10]
+\stoptypescript
+
+\starttypescript [mono] [computer-modern] [default]
+ \definefontsynonym [ComputerModernMono] [cmtt10]
+ \definefontsynonym [ComputerModernMono-Bold] [cmtt10]
+ \definefontsynonym [ComputerModernMono-Italic] [cmitt10]
+ \definefontsynonym [ComputerModernMono-Slanted] [cmsltt10]
+ \definefontsynonym [ComputerModernMono-BoldItalic] [cmtt10]
+ \definefontsynonym [ComputerModernMono-BoldSlanted] [cmtt10]
+ \definefontsynonym [ComputerModernMono-Caps] [cmtt10]
+\stoptypescript
+
+\starttypescript [math] [computer-modern] [default]
+ \definefontsynonym [ComputerModernMath-Roman] [cmr10]
+ \definefontsynonym [ComputerModernMath-Extension] [cmex10]
+ \definefontsynonym [ComputerModernMath-Italic] [cmmi10]
+ \definefontsynonym [ComputerModernMath-Symbol] [cmsy10]
+\stoptypescript
+
+% Computer Concrete
+
+\starttypescript [serif] [concrete] [default]
+ \definefontsynonym [ComputerConcrete] [ccr10]
+ \definefontsynonym [ComputerConcrete] [ccr10]
+ \definefontsynonym [ComputerConcrete-Italic] [ccti10]
+ \definefontsynonym [ComputerConcrete-Slanted] [ccsl10]
+ \definefontsynonym [ComputerConcrete-Italic] [ccti10]
+ \definefontsynonym [ComputerConcrete-Slanted] [ccsl10]
+ \definefontsynonym [ComputerConcrete-Caps] [cccsc10]
+\stoptypescript
+
+% Euler
+
+\starttypescript [math] [euler] [default]
+ \definefontsynonym [Euler-Extension] [euex10]
+ \definefontsynonym [Euler-Italic] [eurm10]
+ \definefontsynonym [Euler-SymbolA] [euex10]
+ \definefontsynonym [Euler-SymbolB] [eusm10]
+ \definefontsynonym [Euler-SymbolC] [eufm10]
+\stoptypescript
+
+% AMS
+
+\starttypescript [math] [ams] [default]
+ \definefontsynonym [AMS-SymbolA] [msam10]
+ \definefontsynonym [AMS-SymbolB] [msbm10]
+\stoptypescript
+
+% Courier
+
+\starttypescript [mono] [courier] [texnansi]
+ \definefontsynonym [Courier] [com] [encoding=texnansi]
+ \definefontsynonym [Courier-Oblique] [coo] [encoding=texnansi]
+ \definefontsynonym [Courier-Bold] [cob] [encoding=texnansi]
+ \definefontsynonym [Courier-BoldOblique] [cobo] [encoding=texnansi]
+\stoptypescript
+
+\starttypescript [mono] [courier] [ec]
+ \definefontsynonym [Courier] [pcrr8t] [encoding=ec]
+ \definefontsynonym [Courier-Bold] [pcrb8t] [encoding=ec]
+ \definefontsynonym [Courier-Oblique] [pcrro8t] [encoding=ec]
+ \definefontsynonym [Courier-BoldOblique] [pcrbo8t] [encoding=ec]
+\stoptypescript
+
+% Helvetica
+
+\starttypescript [sans] [helvetica] [texnansi]
+ \definefontsynonym [Helvetica] [hv] [encoding=texnansi]
+ \definefontsynonym [Helvetica-Oblique] [hvo] [encoding=texnansi]
+ \definefontsynonym [Helvetica-Bold] [hvb] [encoding=texnansi]
+ \definefontsynonym [Helvetica-BoldOblique] [hvbo] [encoding=texnansi]
+\stoptypescript
+
+\starttypescript [sans] [helvetica] [ec]
+ \definefontsynonym [Helvetica] [phvr8t] [encoding=ec]
+ \definefontsynonym [Helvetica-Oblique] [phvro8t] [encoding=ec]
+ \definefontsynonym [Helvetica-Bold] [phvb8t] [encoding=ec]
+ \definefontsynonym [Helvetica-BoldOblique] [phvbo8t] [encoding=ec]
+\stoptypescript
+
+\starttypescript [math] [helvetica] [default]
+ \definefontsynonym [Helvetica-MathRoman] [hvrm10t1]
+ \definefontsynonym [Helvetica-MathExtendedSymbols] [hvex10]
+ \definefontsynonym [Helvetica-MathItalics] [hvmi10]
+ \definefontsynonym [Helvetica-MathSymbols] [hvsy10]
+\stoptypescript
+
+% Times Roman
+
+\starttypescript [serif] [times] [texnansi]
+ \definefontsynonym [Times-Roman] [tir] [encoding=texnansi]
+ \definefontsynonym [Times-Italic] [tii] [encoding=texnansi]
+ \definefontsynonym [Times-Bold] [tib] [encoding=texnansi]
+ \definefontsynonym [Times-BoldItalic] [tibi] [encoding=texnansi]
+\stoptypescript
+
+\starttypescript [serif] [times] [ec]
+ \definefontsynonym [Times-Roman] [ptmr8t] [encoding=ec]
+ \definefontsynonym [Times-Italic] [ptmri8t] [encoding=ec]
+ \definefontsynonym [Times-Bold] [ptmb8t] [encoding=ec]
+ \definefontsynonym [Times-BoldItalic] [ptmbi8t] [encoding=ec]
+\stoptypescript
+
+% Math Times
+
+\starttypescript [math] [times] [texnansi]
+ \definefontsynonym [Times-MathRoman] [tir] [encoding=texnansi]
+ \definefontsynonym [Times-MathExtension] [mtex]
+ \definefontsynonym [Times-MathItalic] [mtmi] [skewcharmi='177]
+ \definefontsynonym [Times-MathSymbol] [mtsy] [skewcharmi='60]
+\stoptypescript
+
+% Lucida Bright
+
+\starttypescript [serif] [lucida] [texnansi]
+ \definefontsynonym [LucidaBright] [lbr] [encoding=texnansi]
+ \definefontsynonym [LucidaBright-Demi] [lbd] [encoding=texnansi]
+ \definefontsynonym [LucidaBright-DemiItalic] [lbdi] [encoding=texnansi]
+ \definefontsynonym [LucidaBright-Italic] [lbi] [encoding=texnansi]
+ \definefontsynonym [LucidaBrightSmallcaps] [lbrsc] [encoding=texnansi]
+ \definefontsynonym [LucidaBrightSmallcaps-Demi] [lbdsc] [encoding=texnansi]
+ \definefontsynonym [LucidaBright-Oblique] [lbsl] [encoding=texnansi]
+\stoptypescript
+
+\starttypescript [serif] [lucida] [ec]
+ \definefontsynonym [LucidaBright] [hlhr8t] [encoding=ec]
+ \definefontsynonym [LucidaBright-Demi] [hlhb8t] [encoding=ec]
+ \definefontsynonym [LucidaBright-Italic] [hlhri8t] [encoding=ec]
+ \definefontsynonym [LucidaBright-Oblique] [hlhro8t] [encoding=ec]
+ \definefontsynonym [LucidaBright-DemiItalic] [hlhbi8t] [encoding=ec]
+ \definefontsynonym [LucidaBrightSmallcaps] [hlhrc8t] [encoding=ec]
+\stoptypescript
+
+\starttypescript [sans] [lucida] [texnansi]
+ \definefontsynonym [LucidaSans] [lsr] [encoding=texnansi]
+ \definefontsynonym [LucidaSans-Demi] [lsd] [encoding=texnansi]
+ \definefontsynonym [LucidaSans-DemiItalic] [lsdi] [encoding=texnansi]
+ \definefontsynonym [LucidaSans-Italic] [lsi] [encoding=texnansi]
+ \definefontsynonym [LucidaSans-Bold] [lsb] [encoding=texnansi]
+ \definefontsynonym [LucidaSans-BoldItalic] [lsbi] [encoding=texnansi]
+\stoptypescript
+
+\starttypescript [mono] [lucida] [texnansi]
+ \definefontsynonym [LucidaSans-Typewriter] [lstr] [encoding=texnansi]
+ \definefontsynonym [LucidaSans-TypewriterBold] [lstb] [encoding=texnansi]
+ \definefontsynonym [LucidaSans-TypewriterBoldOblique] [lstbo] [encoding=texnansi]
+ \definefontsynonym [LucidaSans-TypewriterOblique] [lsto] [encoding=texnansi]
+\stoptypescript
+
+\starttypescript [mono] [lucida] [ec]
+ \definefontsynonym [LucidaSans] [hlsr8t] [encoding=ec]
+ \definefontsynonym [LucidaSans-Demi] [hlsb8t] [encoding=ec]
+ \definefontsynonym [LucidaSans-Italic] [hlsri8t] [encoding=ec]
+ \definefontsynonym [LucidaSans-DemiItalic] [hlsbi8t] [encoding=ec]
+ \definefontsynonym [LucidaSans-Typewriter] [hlsrt8t] [encoding=ec]
+ \definefontsynonym [LucidaSans-TypewriterBold] [hlsbt8t] [encoding=ec]
+ \definefontsynonym [LucidaSans-TypewriterOblique] [hlsrot8t] [encoding=ec]
+ \definefontsynonym [LucidaSans-TypewriterBoldOblique] [hlsbot8t] [encoding=ec]
+\stoptypescript
+
+\starttypescript [math] [lucida] [texnansi]
+ \definefontsynonym [LucidaNewMath-AltItalic] [lbmo]
+ \definefontsynonym [LucidaNewMath-Arrows] [lbma]
+ \definefontsynonym [LucidaNewMath-Extension] [lbme]
+ \definefontsynonym [LucidaNewMath-Roman] [lbmr]
+ \definefontsynonym [LucidaNewMath-Italic] [lbmi]
+ \definefontsynonym [LucidaNewMath-Symbol] [lbms]
+ \definefontsynonym [LucidaBlackletter] [lbl]
+\stoptypescript
+
+\starttypescript [boldmath] [lucida] [texnansi]
+ \definefontsynonym [LucidaNewMath-AltDemiItalic] [lbmdo]
+ \definefontsynonym [LucidaNewMath-Arrows-Demi] [lbmad]
+ \definefontsynonym [LucidaNewMath-Extension] [lbme]
+ \definefontsynonym [LucidaNewMath-Demibold] [lbmd]
+ \definefontsynonym [LucidaNewMath-DemiItalic] [lbmdi]
+ \definefontsynonym [LucidaNewMath-Symbol-Demi] [lbmsd]
+\stoptypescript
+
+\starttypescript [math] [lucida] [ec]
+ \definefontsynonym [LucidaNewMath-AltItalic] [hlcrima]
+ \definefontsynonym [LucidaNewMath-Arrows] [hlcra]
+ \definefontsynonym [LucidaNewMath-Extension] [hlcrv]
+ \definefontsynonym [LucidaNewMath-Roman] [hlcrm]
+ \definefontsynonym [LucidaNewMath-Italic] [hlcrim]
+ \definefontsynonym [LucidaNewMath-Symbol] [hlcry]
+\stoptypescript
+
+\starttypescript [boldmath] [lucida] [ec]
+ \definefontsynonym [LucidaNewMath-AltDemiItalic] [hlcdima]
+ \definefontsynonym [LucidaNewMath-Arrows-Demi] [hlcda]
+ \definefontsynonym [LucidaNewMath-Extension] [hlcrv]
+ \definefontsynonym [LucidaNewMath-Demibold] [hlcdm]
+ \definefontsynonym [LucidaNewMath-DemiItalic] [hlcdim]
+ \definefontsynonym [LucidaNewMath-Symbol-Demi] [hlcdy]
+\stoptypescript
+
+\starttypescript [calligraphy] [lucida] [texnansi]
+ \definefontsynonym [LucidaCalligraphy-Italic] [lbc] [encoding=texnansi]
+\stoptypescript
+
+\starttypescript [calligraphy] [lucida] [ec]
+ \definefontsynonym [LucidaCalligraphy-Italic] [hlcrie8t] [encoding=ec]
+\stoptypescript
+
+\starttypescript [casual] [lucida] [texnansi]
+ \definefontsynonym [LucidaCasual] [lbkr] [encoding=texnansi]
+ \definefontsynonym [LucidaCasual-Italic] [lbki] [encoding=texnansi]
+\stoptypescript
+
+\starttypescript [handwriting] [lucida] [texnansi]
+ \definefontsynonym [LucidaHandwriting-Italic] [lbh] [encoding=texnansi]
+\stoptypescript
+
+\starttypescript [handwriting] [lucida] [ec]
+ \definefontsynonym [LucidaHandwriting-Italic] [hlcriw8t] [encoding=ec]
+\stoptypescript
+
+\starttypescript [fax] [lucida] [texnansi]
+ \definefontsynonym [LucidaFax] [lfr] [encoding=texnansi]
+ \definefontsynonym [LucidaFax-Demi] [lfd] [encoding=texnansi]
+ \definefontsynonym [LucidaFax-DemiItalic] [lfdi] [encoding=texnansi]
+ \definefontsynonym [LucidaFax-Italic] [lfi] [encoding=texnansi]
+\stoptypescript
+
+% Informal
+
+\starttypescript [casual] [informal] [default]
+ \definefontsynonym [Informal-Regular] [ifrm10cm]
+ \definefontsynonym [Informal-Bold] [ifrb10cm]
+ \definefontsynonym [Informal-Oblique] [ifro10cm]
+ \definefontsynonym [Informal-BoldOblique] [ifbo10cm]
+\stoptypescript
+
+% Informal Math
+
+\starttypescript [math] [informal] [default]
+ \definefontsynonym [Informal-Regular] [ifrm10cm]
+ \definefontsynonym [Informal-MathExtendedSymbols] [ifex10]
+ \definefontsynonym [Informal-MathItalics] [ifmi10]
+ \definefontsynonym [Informal-MathSymbols] [ifsy10]
+\stoptypescript
+
+% Antikwa Torunska
+
+\starttypescript [serif] [antykwa-torunska] [texnansi]
+ \definefontsynonym [AntykwaTorunska-Bold] [anttb] [encoding=texnansi]
+ \definefontsynonym [AntykwaTorunska-Regular] [anttr] [encoding=texnansi]
+ \definefontsynonym [AntykwaTorunska-Italic] [anttri] [encoding=texnansi]
+\stoptypescript
+
+\starttypescript [serif] [antykwa-torunska] [ec]
+ \definefontsynonym [AntykwaTorunska-Regular] [zatr8t] [encoding=ec]
+ \definefontsynonym [AntykwaTorunska-Italic] [zatri8t] [encoding=ec]
+ \definefontsynonym [AntykwaTorunska-Bold] [zatb8t] [encoding=ec]
+\stoptypescript
+
+% Baskerville
+
+\starttypescript [serif] [baskerville] [ec]
+ \definefontsynonym [Baskerville] [mbvr8t] [encoding=ec]
+ \definefontsynonym [Baskerville-Italic] [mbvri8t] [encoding=ec]
+ \definefontsynonym [Baskerville-Bold] [mbvb8t] [encoding=ec]
+ \definefontsynonym [Baskerville-BoldItalic] [mbvbi8t] [encoding=ec]
+ \definefontsynonym [Baskerville-SemiBold] [mbvs8t] [encoding=ec]
+ \definefontsynonym [Baskerville-SemiBoldItalic] [mbvsi8t] [encoding=ec]
+\stoptypescript
+
+% Palatino
+
+\starttypescript [serif] [palatino] [ec]
+ \definefontsynonym [Palatino] [uplr8t] [encoding=ec]
+ \definefontsynonym [Palatino-Italic] [uplri8t] [encoding=ec]
+ \definefontsynonym [Palatino-Slanted] [uplro8t] [encoding=ec]
+ \definefontsynonym [Palatino-Bold] [uplb8t] [encoding=ec]
+ \definefontsynonym [Palatino-BoldItalic] [uplbi8t] [encoding=ec]
+ \definefontsynonym [Palatino-BoldSlanted] [uplbo8t] [encoding=ec]
+\stoptypescript
+
+\starttypescript [math] [palatino] [ec]
+ \definefontsynonym [Palatino-Roman-Upright] [p1xr] [encoding=ec]
+ \definefontsynonym [Palatino-Roman-Italic] [p1xi] [encoding=ec]
+ \definefontsynonym [Palatino-Roman-Slanted] [p1xsl] [encoding=ec]
+ \definefontsynonym [Palatino-Roman-Caps] [p1xsc] [encoding=ec]
+ \definefontsynonym [Palatino-Companion-Upright] [pcxr]
+ \definefontsynonym [Palatino-Companion-Italic] [pcxi]
+ \definefontsynonym [Palatino-Companion-Slanted] [pcxsl]
+ \definefontsynonym [Palatino-Math-Italic] [pxmi]
+ \definefontsynonym [Palatino-Math-Symbols] [pxsy]
+ \definefontsynonym [Palatino-Math-Extension] [pxex]
+ \definefontsynonym [Palatino-Math-SymbolsA] [pxsya]
+ \definefontsynonym [Palatino-Math-SymbolsB] [pxsyb]
+ \definefontsynonym [Palatino-Math-SymbolsC] [pxsyc]
+ \definefontsynonym [Palatino-Math-Italic-A] [pxmia]
+ \definefontsynonym [Palatino-Math-Extension-A] [pxexa]
+\stoptypescript
+
+% Whatever
+
+\starttypescript % once amd for all
+ \definefontsynonym [ContextNavigation] [contnav]
+ \definefontsynonym [RalfSmithFormalScript] [rsfs10]
+ \definefontsynonym [ZapfDingbats] [pzd]
+\stoptypescript
+
+\endinput
diff --git a/tex/context/base/type-exa.tex b/tex/context/base/type-exa.tex
new file mode 100644
index 000000000..43a746a3c
--- /dev/null
+++ b/tex/context/base/type-exa.tex
@@ -0,0 +1,69 @@
+%D \module
+%D [ file=type-exa,
+%D version=2001.04.12,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=Example scripts,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D A couple of goodies:
+
+% \starttypescript [modern] [ec]
+%
+% \definetypeface [modern] [rm] [serif] [computer-modern] [computer-modern] [encoding=ec]
+% \definetypeface [modern] [ss] [sans] [computer-modern] [computer-modern] [encoding=ec]
+% \definetypeface [modern] [tt] [mono] [computer-modern] [computer-modern] [encoding=ec]
+% \definetypeface [modern] [mm] [math] [computer-modern] [computer-modern] [encoding=ec]
+%
+% \stoptypescript
+%
+% \starttypescript [modern] [il2]
+%
+% \definetypeface [modern] [rm] [serif] [computer-modern] [computer-modern] [encoding=il2]
+% \definetypeface [modern] [ss] [sans] [computer-modern] [computer-modern] [encoding=il2]
+% \definetypeface [modern] [tt] [mono] [computer-modern] [computer-modern] [encoding=il2]
+% \definetypeface [modern] [mm] [math] [computer-modern] [computer-modern] [encoding=il2]
+%
+% \stoptypescript
+%
+% \starttypescript [modern] [pl0]
+%
+% \definetypeface [modern] [rm] [serif] [computer-modern] [computer-modern] [encoding=pl0]
+% \definetypeface [modern] [ss] [sans] [computer-modern] [computer-modern] [encoding=pl0]
+% \definetypeface [modern] [tt] [mono] [computer-modern] [computer-modern] [encoding=pl0]
+% \definetypeface [modern] [mm] [math] [computer-modern] [computer-modern] [encoding=pl0]
+%
+% \stoptypescript
+
+\starttypescript [modern] [ec,il2,pl0,default]
+
+\definetypeface [modern] [rm] [serif] [computer-modern] [computer-modern] [encoding=\typescripttwo]
+\definetypeface [modern] [ss] [sans] [computer-modern] [computer-modern] [encoding=\typescripttwo]
+\definetypeface [modern] [tt] [mono] [computer-modern] [computer-modern] [encoding=\typescripttwo]
+\definetypeface [modern] [mm] [math] [computer-modern] [computer-modern] [encoding=\typescripttwo]
+
+\stoptypescript
+
+\starttypescript [postscript] [texnansi,ec]
+
+\definetypeface [postscript] [rm] [serif] [times] [default] [encoding=\typescripttwo]
+\definetypeface [postscript] [ss] [sans] [helvetica] [default] [rscale=.9,encoding=\typescripttwo]
+\definetypeface [postscript] [tt] [mono] [courier] [default] [rscale=1.1,encoding=\typescripttwo]
+
+\stoptypescript
+
+\starttypescript [mathtimes] [texnansi,ec]
+
+\definetypeface [mathtimes] [rm] [serif] [times] [default] [encoding=\typescripttwo]
+\definetypeface [mathtimes] [ss] [sans] [helvetica] [default] [rscale=.9,encoding=\typescripttwo]
+\definetypeface [mathtimes] [tt] [mono] [computer-modern] [default] [rscale=1.1,encoding=\typescripttwo]
+\definetypeface [mathtimes] [mm] [math] [times] [default] [encoding=\typescripttwo]
+
+\stoptypescript
+
+\endinput
diff --git a/tex/context/base/type-ini.tex b/tex/context/base/type-ini.tex
new file mode 100644
index 000000000..6cb1e43b1
--- /dev/null
+++ b/tex/context/base/type-ini.tex
@@ -0,0 +1,253 @@
+% wat te doen met casual, evt `cs', danwel een manier om te
+% mappen (zie showcase)
+
+%D \module
+%D [ file=type-ini,
+%D version=2001.03.05,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=Initialization,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\writestatus{loading}{Context Typescript Macros (ini)}
+
+\unprotect
+
+\let\typescriptfiles\empty
+
+\def\usetypescriptfile[#1]%
+ {\addtocommalist{#1}\typescriptfiles}
+
+\usetypescriptfile[\f!typeprefix syn] % font file synonyms
+\usetypescriptfile[\f!typeprefix enc] % files and encodings
+\usetypescriptfile[\f!typeprefix siz] % specific font sizes
+\usetypescriptfile[\f!typeprefix map] % pdftex mapping
+\usetypescriptfile[\f!typeprefix spe] % special macros
+\usetypescriptfile[\f!typeprefix exa] % some examples
+\usetypescriptfile[\f!typeprefix loc] % local scripts
+% [\f!typeprefix pre] % predefined scripts (compatible)
+
+% \usetypescriptfile[typeface] % project scripts
+
+\let\currenttypescripts\empty
+
+\newif\iftypescriptfound
+
+\def\usetypescript%
+ {\dotripleempty\dousetypescript}
+
+\let\typescriptone\empty
+\let\typescripttwo\empty
+\let\typescriptthree\empty
+
+\def\dousetypescript[#1][#2][#3]% also loads type-loc, a user file
+ {\pushmacro\typescriptone \edef\typescriptone {\truetypescript{#1}}%
+ \pushmacro\typescripttwo \edef\typescripttwo {\truetypescript{#2}}%
+ \pushmacro\typescriptthree\edef\typescriptthree{\truetypescript{#3}}%
+ \typescriptfoundfalse
+ \writestatus
+ {typescript}
+ {[\typescriptone] [\typescripttwo] [\typescriptthree]}%
+ \processcommacommand[\typescriptfiles]\dodousetypescript
+ \firsttypescriptpassfalse % testen
+ \popmacro\typescriptthree
+ \popmacro\typescripttwo
+ \popmacro\typescriptone}
+
+\def\dodousetypescript#1%
+ {\startreadingfile
+ \pushmacro\currenttypefile
+ \def\currenttypefile{#1}%
+ \readfile{\currenttypefile}{}{}% \relax\relax
+ \popmacro\currenttypefile
+ \stopreadingfile}
+
+% \definetypescriptsynonym[lbr][cmr]
+
+\def\definetypescriptsynonym%
+ {\dodoubleempty\dodefinetypescriptsynonym}
+
+\def\dodefinetypescriptsynonym[#1][#2]%
+ {\ifsecondargument\setevalue{\??tm#1}{#2}\fi}
+
+\beginTEX
+
+\def\truetypescript#1%
+ {\expandafter\ifx\csname\??tm#1\endcsname\relax
+ #1%
+ \else
+ \@EA\truetypescript\csname\??tm#1\endcsname
+ \fi}
+
+\endTEX
+
+\beginETEX \ifcsname
+
+\def\truetypescript#1%
+ {\ifcsname\??tm#1\endcsname
+ \@EA\truetypescript\csname\??tm#1\endcsname
+ \else
+ #1%
+ \fi}
+
+\endETEX
+
+% script [serif] [default] [size]
+% script [serif] [computer-modern] [size]
+% script [serif] [computer-modern] [ec]
+% script [serif] [computer-modern] [name]
+% script [serif] [computer-modern] [special]
+
+\def\dochecktypescript#1#2% script use
+ {\donefalse
+ \doifelsenothing{#1}\donetrue
+ {\doifelse{#2}{all}\donetrue
+ {\doifelse{#1}{all}\donetrue
+ {\ExpandBothAfter\doifcommonelse{#1}{#2}\donetrue\donefalse}}}}
+
+\def\starttypescript%
+ {\dotripleempty\dostarttypescript}
+
+\newif\iffirsttypescriptpass \firsttypescriptpasstrue
+
+\prependtoks\firsttypescriptpasstrue\to\everyjob
+
+\long\def\dostarttypescript[#1][#2][#3]#4\stoptypescript
+ {\iffirstargument
+ \dochecktypescript{#1}{\typescriptone}\ifdone
+ \dochecktypescript{#2}{\typescripttwo}\ifdone
+ \dochecktypescript{#3}{\typescriptthree}\ifdone
+ %\writestatus
+ \debuggerinfo
+ {typescript}
+ {\currenttypefile: [#1] [#2] [#3]}%
+ #4\typescriptfoundtrue
+ \fi\fi\fi
+ \else\iffirsttypescriptpass
+ \pushmacro\fontclass
+ #4%
+ \popmacro\fontclass
+ \else
+ % skip this since it may do unwanted resets, like
+ % setting symbolic font names to unknown, especially
+ % in run time user type scripts
+ \fi\fi}
+
+\def\loadmapfile[#1]%
+ {\processcommalist[#1]\doloadmapfile}
+
+\def\doloadmapfile#1% will be special
+ {\ifcase\pdfoutput\else\ifx\pdfmapfile\undefined\else
+ \doifundefined{map+#1}
+ {\global\letvalue{map+#1}\empty\pdfmapfile{+#1}}%
+ \fi\fi}
+
+% \definetypeface [#1:joke] [#2:rm]
+% \definetypeface [#1:joke] [#2:rm] [#3:...]
+% \definetypeface [#1:joke] [#2:rm] [#3:serif] [#4:lucida] [#5:size] [#6:...]
+
+\def\definetypeface%
+ {\dosixtupleargument\dodefinetypeface}
+
+\def\tsvar#1#2%
+ {\@EA\ifx\csname\??ts#1\endcsname\empty
+ #2%
+ \else
+ \csname\??ts#1\endcsname
+ \fi}
+
+\let\@@tslabel \empty
+\let\@@tsstyle \empty
+\let\@@tsfont \empty
+\let\@@tssize \empty
+\let\@@tsencoding \empty
+
+\def\dodefinetypeface[#1][#2][#3][#4][#5][#6]%
+ {\dododefinetypeface[#1][#2]
+ \iffifthargument % sixth is optional
+ \getparameters[\??ts][rscale=1,\s!encoding=\s!default,#6]
+ \let\relativefontsize\@@tsrscale
+ \let\savedfontclass\fontclass
+ \setcurrentfontclass{#1}
+\def\@@tslabel{#1}
+\def\@@tsstyle{#2}
+\def\@@tsfont {#3}
+\def\@@tssize {#4}
+ \writestatus
+ {typeface}
+ {[#1] [#2] [#3] [#4]}%
+ \expanded{\usetypescript[#3][#4][name,default,\@@tsencoding,special]}
+ \expanded{\usetypescript[#3][#5][size]}
+\let\@@tslabel\empty
+\let\@@tsstyle\empty
+\let\@@tsfont \empty
+\let\@@tssize \empty
+ \setcurrentfontclass\savedfontclass
+ \def\relativefontsize{1}
+ \else\ifthirdargument
+ \getparameters[\??tf#1#2][#3]
+ \fi\fi}
+
+\def\dododefinetypeface[#1][#2]% saveguard against redefinition
+ {\doifundefined{\??tf#1\s!default}{\setgvalue{\??tf#1\s!default}{#2}}%
+ \doifundefined{#1}{\setgvalue{#1}{\switchtotypeface[#1][#2]}}}
+
+\def\setuptypeface%
+ {\doquadrupleempty\doswitchtotypeface[\setupbodyfont][\fontclass]}
+
+\def\switchtotypeface%
+ {\doquadrupleempty\doswitchtotypeface[\switchtobodyfont][\globalfontclass]}
+
+\def\doswitchtotypeface[#1][#2][#3][#4]%
+ {\setcurrentfontclass{#3}%
+ \let\globalfontclass#2%
+ \iffourthargument
+ #1[#4]%
+ \else\ifx\fontclass\empty
+ #1[\c!rm]%
+ \else
+ \doifdefinedelse{\??tf\fontclass\s!default}
+ {#1[\getvalue{\??tf\fontclass\s!default}]}
+ {#1[\c!rm]}%
+ \fi\fi
+ \tf}
+
+\def\usetypefile[#1]%
+ {\readfile{\f!typeprefix#1}{}{}}% \relax\relax}
+
+%D For backward compatibility we reimplement the font file
+%D loading macro.
+
+\ifx\normaldoreadfontdefinitionfile\undefined
+ \let\normaldoreadfontdefinitionfile\doreadfontdefinitionfile
+\fi
+
+\def\doreadfontdefinitionfile#1#2% #1 = set/switch state
+ {\ifundefined{\??tf#2\c!default}%
+ \pushmacro\typescriptone\edef\typescriptone{\truetypescript{#2}}
+ \pushmacro\typescripttwo\let \typescripttwo \empty
+ \pushmacro\typescriptthree\let \typescriptthree \empty
+ \typescriptfoundfalse
+ \dodousetypescript{\f!typeprefix pre}
+ \popmacro\typescriptthree
+ \popmacro\typescripttwo
+ \popmacro\typescriptone
+ \iftypescriptfound \else
+ \normaldoreadfontdefinitionfile{#1}{#2}
+ \fi
+ \else\ifcase#1\relax
+ \switchtotypeface[#2]%
+ \else
+ \setuptypeface[#2]%
+ \fi\fi}
+
+\fetchruntimecommand \typetypescript {\f!typeprefix\s!run}
+
+\setupbodyfont[fil] % default filenames
+
+\protect \endinput
diff --git a/tex/context/base/type-map.tex b/tex/context/base/type-map.tex
new file mode 100644
index 000000000..db9bbb1c3
--- /dev/null
+++ b/tex/context/base/type-map.tex
@@ -0,0 +1,26 @@
+%D \module
+%D [ file=type-map,
+%D version=2001.04.12,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=Mapfile scripts,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\starttypescript [all] [helvetica] [all]
+ \loadmapfile[mphv.map]
+\stoptypescript
+
+\starttypescript [all] [informal] [all]
+ \loadmapfile[mpif.map]
+\stoptypescript
+
+\starttypescript [all] [palatino] [all]
+ \loadmapfile[pxr.map]
+\stoptypescript
+
+\endinput
diff --git a/tex/context/base/type-pre.tex b/tex/context/base/type-pre.tex
new file mode 100644
index 000000000..e65054814
--- /dev/null
+++ b/tex/context/base/type-pre.tex
@@ -0,0 +1,210 @@
+%D \module
+%D [ file=type-pre,
+%D version=2001.04.12,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=Compatibility scripts,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D The Computer Modern Roman is derived from the Monotype~8a
+%D Times Roman. In this module, that is loaded by default, we
+%D define all relevant alternatives.
+
+\starttypescript [cmr]
+
+\usetypescript [all] [computer-modern] [default,name,size]
+
+\enablemathcollection[default]
+
+\stoptypescript
+
+%D This script remaps the default Computer Modern Font Files
+%D onto the virtual EC ones, so that hyphenations work well.
+
+\starttypescript [aer]
+
+\usetypescript [all] [computer-modern] [default,name,size,ec]
+
+\enablemathcollection[default]
+
+\stoptypescript
+
+%D This script defines the Computer Modern Roman with iso
+%D latin 2 encoding, as needed for Czech and other languages.
+
+\starttypescript [csr]
+
+\usetypescript [all] [computer-modern] [default,name,size,il2]
+
+\enablemathcollection[default]
+
+\stoptypescript
+
+%D This script defines the Computer Modern Roman with a
+%D polish encoding, as needed for Czech and other languages.
+
+\starttypescript [plr]
+
+\usetypescript [all] [computer-modern] [default,name,size,pl0]
+
+\enablemathcollection[default]
+
+\stoptypescript
+
+%D Here we implement the symbol fonts as provided by the
+%D American Mathematical Society. The names of these symbols
+%D can be found in The Joy of \TeX\ by M.~Spivak.
+
+\starttypescript [ams]
+
+\usetypescript [math] [ams] [all]
+
+\enablemathcollection[ams]
+
+\stoptypescript
+
+%D The Concrete Modern Roman is just an alternative Computer
+%D Modern Roman.
+
+\starttypescript [con]
+
+\usetypescript [serif] [concrete] [all]
+
+\stoptypescript
+
+%D The Euler Fonts are designed by Herman Zapf and can be
+%D used with the Concrete Fonts defined elsewhere.
+
+\starttypescript [eul]
+
+\usetypescript [math] [euler] [all]
+
+\enablemathcollection[eul]
+
+\stoptypescript
+
+%D The Lucida Bright fonts are both good looking and and
+%D complete. These fonts have prebuilt accented characters,
+%D which means that we use another encoding vector: \YandY\
+%D texnansi. These fonts are a good illustration that a 12
+%D point bodyfont is indeed never that size. The Lucida Bright
+%D fonts come in one design size.
+
+\starttypescript [lbr]
+
+\usetypescript [all] [lucida] [name,special]
+\usetypescript [all] [default] [size]
+
+\enablemathcollection[lbr]
+
+\stoptypescript
+
+%D With thanks to Berthold Horn from YandY for providing me
+%D evaluation copies of the MathTimePlus fonts.
+
+\starttypescript [mt,tim]
+
+\usetypescript [math] [times] [all]
+\usetypescript [math] [default] [size]
+
+\enablemathcollection[tim]
+
+\stoptypescript
+
+%D The Antikwa Torunska font family is a rather nice
+%D and subtle one. Although primary meant for the polish
+%D language, it can be used for other languages as well.
+
+\starttypescript [ant]
+
+\usetypescript [serif] [antykwa-torunska] [name]
+\usetypescript [serif] [default] [size]
+
+\stoptypescript
+
+%D This script defines the Standard Adobe Courier fonts.
+
+\starttypescript [pcr]
+
+\usetypescript [mono] [courier] [name]
+\usetypescript [mono] [default] [size]
+
+\stoptypescript
+
+%D This script defines the Standard Adobe Helvetica fonts.
+
+\starttypescript [phv]
+
+\usetypescript [sans] [helvetica] [name]
+\usetypescript [mono] [default] [size]
+
+\stoptypescript
+
+%D This script defines the Standard Adobe Times fonts.
+
+\starttypescript [ptm]
+
+\usetypescript [serif] [times] [name]
+\usetypescript [serif] [default] [size]
+
+\stoptypescript
+
+%D This script loads the Adobe Times Roman, Helvetica and
+%D Courier.
+
+\starttypescript [pos]
+
+\usetypescript [serif] [times] [name]
+\usetypescript [sans] [helvetica] [name]
+\usetypescript [mono] [courier] [name]
+
+\usetypescript [serif,sans,mono] [default] [size]
+
+\stoptypescript
+
+%D This script defines the Palatino font.
+
+\starttypescript [ppl]
+
+\usetypescript [serif] [palatino] [name]
+\usetypescript [serif] [default] [size]
+
+\stoptypescript
+
+%D The following scripts fake the old \type {font-ber} and
+%D alike files.
+
+\starttypescript[ber]
+
+\usetypescript
+ [all]
+ [computer-modern,concrete,euler]
+ [default]
+
+\usetypescript
+ [all]
+ [courier,helvetica,times,lucida,antykwa-torunska,baskerville,palatino]
+ [ec]
+
+\stoptypescript
+
+\starttypescript[fil]
+
+\usetypescript
+ [all]
+ [computer-modern,concrete,euler]
+ [default]
+
+\usetypescript
+ [all]
+ [courier,helvetica,times,lucida,antykwa-torunska,baskerville,palatino]
+ [texnansi]
+
+\stoptypescript
+
+\endinput
diff --git a/tex/context/base/type-run.tex b/tex/context/base/type-run.tex
new file mode 100644
index 000000000..6fdcab997
--- /dev/null
+++ b/tex/context/base/type-run.tex
@@ -0,0 +1,53 @@
+%D \module
+%D [ file=type-run,
+%D version=2001.04.20,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=Runtime Macros,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\unprotect
+
+\gdef\typetypescript%
+ {\dotripleempty\dotypetypescript}
+
+\gdef\dotypetypescript[#1][#2][#3]%
+ {\bgroup
+ \def\dochecktypescript##1##2% script use
+ {\doifelsenothing{##1##2}
+ {\donetrue}
+ {\donefalse
+ \ExpandBothAfter\doifcommonelse{##1}{##2}\donetrue\donefalse}}
+ \edef\typescriptone {\truetypescript{#1}}%
+ \edef\typescripttwo {\truetypescript{#2}}%
+ \edef\typescriptthree{\truetypescript{#3}}%
+ \def\starttypescript
+ {\bgroup
+ \obeylines % else we loose the first line due to lookahead
+ \dotripleempty\dostarttypescript}
+ \def\dostarttypescript[##1][##2][##3]%
+ {\long\def\next####1\stoptypescript{\egroup}
+ \dochecktypescript{##1}\typescriptone \ifdone
+ \dochecktypescript{##2}\typescripttwo \ifdone
+ \dochecktypescript{##3}\typescriptthree\ifdone
+ \def\next%
+ {\def\stoptypescript%
+ {\egroup\type{\stoptypescript}}
+ % what follows now is quite ugly
+ \skipfirstverbatimlinefalse
+ \processdisplayverbatim{\stoptypescript}%
+ \type{\starttypescript}
+ \doifsomething{##1}{\type{[##1]}}
+ \doifsomething{##2}{\type{[##2]}}
+ \doifsomething{##3}{\type{[##3]}}}
+ \fi\fi\fi
+ \next}
+ \processcommacommand[\typescriptfiles]\dodousetypescript
+ \egroup}
+
+\protect \endinput
diff --git a/tex/context/base/type-siz.tex b/tex/context/base/type-siz.tex
new file mode 100644
index 000000000..5232edd8a
--- /dev/null
+++ b/tex/context/base/type-siz.tex
@@ -0,0 +1,554 @@
+%D \module
+%D [ file=type-siz,
+%D version=2001.04.12,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=Sizing scripts,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\unprotect
+
+%\starttypescript [serif] [default] [size]
+% \definebodyfont
+% [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt]
+% [\tsvar{style}{rm}] [default]
+%\stoptypescript
+
+\starttypescript [casual] [default] [size]
+ \definebodyfont
+ [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt]
+ [rm] [default]
+\stoptypescript
+
+\starttypescript [serif] [default] [size]
+ \definebodyfont
+ [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt]
+ [rm] [default]
+\stoptypescript
+
+\starttypescript [sans] [default] [size]
+ \definebodyfont
+ [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt]
+ [ss] [default]
+\stoptypescript
+
+\starttypescript [mono] [default] [size]
+ \definebodyfont
+ [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt]
+ [tt] [default]
+\stoptypescript
+
+\starttypescript [math] [default] [size]
+ \definebodyfont
+ [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt]
+ [mm] [default]
+\stoptypescript
+
+\starttypescript [boldmath] [default] [size]
+ \definebodyfont
+ [17.3pt,14.4pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt,4pt]
+ [mm] [boldmath]
+\stoptypescript
+
+\starttypescript [all] [dtp] [size]
+
+\definebodyfontenvironment
+ [4pt]
+ [ \s!text=4pt, \s!script=4pt, \s!scriptscript=4pt,
+ \c!x=4pt, \c!xx=4pt,
+ \c!groot=6pt, \c!klein=4pt]
+
+\definebodyfontenvironment
+ [5pt]
+ [ \s!text=5pt, \s!script=5pt, \s!scriptscript=5pt,
+ \c!x=5pt, \c!xx=5pt,
+ \c!groot=7pt, \c!klein=5pt]
+
+\definebodyfontenvironment
+ [6pt]
+ [ \s!text=6pt, \s!script=5pt, \s!scriptscript=5pt,
+ \c!x=5pt, \c!xx=5pt,
+ \c!groot=8pt, \c!klein=5pt]
+
+\definebodyfontenvironment
+ [7pt]
+ [ \s!text=7pt, \s!script=6pt, \s!scriptscript=5pt,
+ \c!x=6pt, \c!xx=5pt,
+ \c!groot=9pt, \c!klein=5pt]
+
+\definebodyfontenvironment
+ [8pt]
+ [ \s!text=8pt, \s!script=6pt, \s!scriptscript=5pt,
+ \c!x=6pt, \c!xx=5pt,
+ \c!groot=10pt, \c!klein=6pt]
+
+\definebodyfontenvironment
+ [9pt]
+ [ \s!text=9pt, \s!script=7pt, \s!scriptscript=5pt,
+ \c!x=7pt, \c!xx=5pt,
+ \c!groot=11pt, \c!klein=7pt]
+
+\definebodyfontenvironment
+ [10pt]
+ [ \s!text=10pt, \s!script=7pt, \s!scriptscript=5pt,
+ \c!x=8pt, \c!xx=6pt,
+ \c!groot=12pt, \c!klein=8pt]
+
+\definebodyfontenvironment
+ [11pt]
+ [ \s!text=11pt, \s!script=8pt, \s!scriptscript=6pt,
+ \c!x=9pt, \c!xx=7pt,
+ \c!groot=13pt, \c!klein=9pt]
+
+\definebodyfontenvironment
+ [12pt]
+ [ \s!text=12pt, \s!script=9pt, \s!scriptscript=7pt,
+ \c!x=10pt, \c!xx=8pt,
+ \c!groot=14pt, \c!klein=10pt]
+
+\definebodyfontenvironment
+ [13pt]
+ [ \s!text=13pt, \s!script=10pt, \s!scriptscript=8pt,
+ \c!x=11pt, \c!xx=9pt,
+ \c!groot=16pt, \c!klein=11pt]
+
+\definebodyfontenvironment
+ [14pt]
+ [ \s!text=14pt, \s!script=10pt, \s!scriptscript=7pt,
+ \c!x=12pt, \c!xx=10pt,
+ \c!groot=16pt, \c!klein=12pt]
+
+\definebodyfontenvironment
+ [16pt]
+ [ \s!text=16pt, \s!script=12pt, \s!scriptscript=9pt,
+ \c!x=13pt, \c!xx=11pt,
+ \c!groot=18pt, \c!klein=14pt]
+
+\stoptypescript
+
+\starttypescript [serif] [dtp] [size]
+ \definebodyfont
+ [5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,13pt,14pt,16pt,18pt,22pt,28pt]
+ [rm] [default]
+\stoptypescript
+
+\starttypescript [sans] [dtp] [size]
+ \definebodyfont
+ [5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,13pt,14pt,16pt,18pt,22pt,28pt]
+ [ss] [default]
+\stoptypescript
+
+\starttypescript [mono] [dtp] [size]
+ \definebodyfont
+ [5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,13pt,14pt,16pt,18pt,22pt,28pt]
+ [tt] [default]
+\stoptypescript
+
+\starttypescript [math] [dtp] [size]
+ \definebodyfont
+ [5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,13pt,14pt,16pt,18pt,22pt,28pt]
+ [mm] [default]
+\stoptypescript
+
+\starttypescript [boldmath] [dtp] [size]
+ \definebodyfont
+ [5pt,6pt,7pt,8pt,9pt,10pt,11pt,12pt,13pt,14pt,16pt,18pt,22pt,28pt]
+ [mm] [boldmath]
+\stoptypescript
+
+\starttypescript [serif] [computer-modern] [size]
+
+\definebodyfont [12pt] [rm]
+ [tf=cmr12,
+ bf=cmbx12,
+ it=cmti12,
+ sl=cmsl12,
+ bi=cmbxti10 at 12pt,
+ bs=cmbxsl10 at 12pt,
+ sc=cmcsc10 at 12pt]
+
+\definebodyfont [11pt] [rm]
+ [tf=cmr10 at 11pt,
+ bf=cmbx10 at 11pt,
+ sl=cmsl10 at 11pt,
+ it=cmti10 at 11pt,
+ bi=cmbxti10 at 11pt,
+ bs=cmbxsl10 at 11pt,
+ sc=cmcsc10 at 11pt]
+
+\definebodyfont [10pt] [rm]
+ [tf=cmr10,
+ bf=cmbx10,
+ it=cmti10,
+ sl=cmsl10,
+ bi=cmbxti10,
+ bs=cmbxsl10,
+ sc=cmcsc10]
+
+\definebodyfont [9pt] [rm]
+ [tf=cmr9,
+ bf=cmbx9,
+ it=cmti9,
+ sl=cmsl9,
+ bi=cmbxti10 at 9pt,
+ bs=cmbxsl10 at 9pt,
+ sc=cmcsc10 at 9pt]
+
+\definebodyfont [8pt] [rm]
+ [tf=cmr8,
+ bf=cmbx8,
+ it=cmti8,
+ sl=cmsl8,
+ bi=cmbxti10 at 8pt,
+ bs=cmbxsl10 at 8pt,
+ sc=cmcsc10 at 8pt]
+
+\definebodyfont [7pt] [rm]
+ [tf=cmr7,
+ bf=cmbx7,
+ it=cmti10 at 7pt,
+ sl=cmsl10 at 7pt,
+ bi=cmbxti10 at 7pt,
+ bs=cmbxsl10 at 7pt,
+ sc=cmcsc10 at 7pt]
+
+\definebodyfont [6pt] [rm]
+ [tf=cmr6,
+ bf=cmbx6,
+ it=cmti10 at 6pt,
+ sl=cmsl10 at 6pt,
+ bi=cmbxti10 at 6pt,
+ bs=cmbxsl10 at 6pt,
+ sc=cmcsc10 at 6pt]
+
+\definebodyfont [5pt] [rm]
+ [tf=cmr5,
+ bf=cmbx5,
+ it=cmti10 at 5pt,
+ sl=cmsl10 at 5pt,
+ bi=cmbxti10 at 5pt,
+ bs=cmbxsl10 at 5pt,
+ sc=cmcsc10 at 5pt]
+
+\definebodyfont [4pt] [rm]
+ [tf=cmr10 at 4pt,
+ bf=cmbx10 at 4pt,
+ it=cmti10 at 4pt,
+ sl=cmsl10 at 4pt,
+ bi=cmbxti10 at 4pt,
+ bs=cmbxsl10 at 4pt,
+ sc=cmr10 at 4pt]
+
+\definebodyfont [14.4pt,17.3pt,20.7pt] [rm]
+ [tf=cmr12 sa 1,
+ bf=cmbx12 sa 1,
+ it=cmti12 sa 1,
+ sl=cmsl12 sa 1,
+ bi=cmbxti10 sa 1,
+ bs=cmbxsl10 sa 1,
+ sc=cmcsc10 sa 1]
+
+\stoptypescript
+
+\starttypescript [sans] [computer-modern] [size]
+
+\definebodyfont [12pt] [ss]
+ [tf=cmss12,
+ bf=cmssbx10 at 12pt,
+ it=cmssi12,
+ sl=cmssi12,
+ bi=cmssbx10 at 12pt,
+ bs=cmssbx10 at 12pt,
+ sc=cmss10 at 12pt]
+
+\definebodyfont [11pt] [ss]
+ [tf=cmss10 at 11pt,
+ bf=cmssbx10 at 11pt,
+ it=cmssi10 at 11pt,
+ sl=cmssi10 at 11pt,
+ bi=cmssbx10 at 11pt,
+ bs=cmssbx10 at 11pt,
+ sc=cmss10 at 11pt]
+
+\definebodyfont [10pt] [ss]
+ [tf=cmss10,
+ bf=cmssbx10,
+ it=cmssi10,
+ sl=cmssi10,
+ bi=cmssbx10,
+ bs=cmssbx10,
+ sc=cmss10]
+
+\definebodyfont [9pt] [ss]
+ [tf=cmss9,
+ bf=cmssbx10 at 9pt,
+ it=cmssi9,
+ sl=cmssi9,
+ bi=cmssbx10 at 9pt,
+ bs=cmssbx10 at 9pt,
+ sc=cmss9]
+
+\definebodyfont [8pt] [ss]
+ [tf=cmss8,
+ bf=cmssbx10 at 8pt,
+ it=cmssi8,
+ sl=cmssi8,
+ bi=cmssbx10 at 8pt,
+ bs=cmssbx10 at 8pt,
+ sc=cmss8]
+
+\definebodyfont [7pt] [ss]
+ [tf=cmss10 at 7pt,
+ bf=cmssbx10 at 7pt,
+ it=cmssi10 at 7pt,
+ sl=cmssi10 at 7pt,
+ bs=cmssbx10 at 7pt,
+ bi=cmssbx10 at 7pt,
+ sc=cmss10 at 7pt]
+
+\definebodyfont [6pt] [ss]
+ [tf=cmss10 at 6pt,
+ bf=cmssbx10 at 6pt,
+ it=cmssi10 at 6pt,
+ sl=cmssi10 at 6pt,
+ bs=cmssbx10 at 6pt,
+ bi=cmssbx10 at 6pt,
+ sc=cmss10 at 6pt]
+
+\definebodyfont [5pt] [ss]
+ [tf=cmss10 at 5pt,
+ bf=cmssbx10 at 5pt,
+ it=cmssi10 at 5pt,
+ sl=cmssi10 at 5pt,
+ bs=cmssbx10 at 5pt,
+ bi=cmssbx10 at 5pt,
+ sc=cmss10 at 5pt]
+
+\definebodyfont [4pt] [ss]
+ [tf=cmss10 at 4pt,
+ bf=cmssbx10 at 4pt,
+ it=cmssi10 at 4pt,
+ sl=cmssi10 at 4pt,
+ bs=cmssbx10 at 4pt,
+ bi=cmssbx10 at 4pt,
+ sc=cmss10 at 4pt]
+
+\definebodyfont [14.4pt,17.3pt,20.7pt] [ss]
+ [tf=cmss12 sa 1,
+ bf=cmssbx10 sa 1,
+ it=cmssi12 sa 1,
+ sl=cmssi12 sa 1,
+ bi=cmssbx10 sa 1,
+ bs=cmssbx10 sa 1,
+ sc=cmss12 sa 1]
+
+\stoptypescript
+
+\starttypescript [mono] [computer-modern] [size]
+
+\definebodyfont [12pt] [tt]
+ [tf=cmtt12,
+ sl=cmsltt10 at 12pt,
+ it=cmitt10 at 12pt]
+
+\definebodyfont [11pt] [tt]
+ [tf=cmtt10 at 11pt,
+ sl=cmsltt10 at 11pt,
+ it=cmitt10 at 11pt]
+
+\definebodyfont [10pt] [tt]
+ [tf=cmtt10,
+ sl=cmsltt10,
+ it=cmitt10]
+
+\definebodyfont [9pt] [tt]
+ [tf=cmtt9,
+ sl=cmsltt10 at 9pt,
+ it=cmitt10 at 9pt]
+
+\definebodyfont [8pt] [tt]
+ [tf=cmtt8,
+ sl=cmsltt10 at 8pt,
+ it=cmitt10 at 8pt]
+
+\definebodyfont [7pt] [tt]
+ [tf=cmtt10 at 7pt,
+ sl=cmsltt10 at 7pt,
+ it=cmitt10 at 7pt]
+
+\definebodyfont [6pt] [tt]
+ [tf=cmtt10 at 6pt,
+ sl=cmsltt10 at 6pt,
+ it=cmitt10 at 6pt]
+
+\definebodyfont [5pt] [tt]
+ [tf=cmtt10 at 5pt,
+ sl=cmsltt10 at 5pt,
+ it=cmitt10 at 5pt]
+
+\definebodyfont [4pt] [tt]
+ [tf=cmtt10 at 4pt,
+ sl=cmsltt10 at 4pt,
+ it=cmitt10 at 4pt]
+
+\definebodyfont [14.4pt,17.3pt,20.7pt] [tt]
+ [tf=cmtt12 sa 1,
+ sl=cmsltt10 sa 1,
+ it=cmitt10 sa 1]
+
+\stoptypescript
+
+\starttypescript [math] [computer-modern] [size]
+
+\definebodyfont [12pt] [mm]
+ [mr=xcmr12,
+ ex=cmex10 at 12pt,
+ mi=cmmi12,
+ sy=cmsy10 at 12pt]
+
+\definebodyfont [11pt] [mm]
+ [mr=xcmr10 at 11pt,
+ ex=cmex10 at 11pt,
+ mi=cmmi10 at 11pt,
+ sy=cmsy10 at 11pt]
+
+\definebodyfont [10pt] [mm]
+ [mr=xcmr10,
+ ex=cmex10,
+ mi=cmmi10,
+ sy=cmsy10]
+
+\definebodyfont [9pt] [mm]
+ [mr=xcmr9,
+ ex=cmex10 at 9pt,
+ mi=cmmi9,
+ sy=cmsy9]
+
+\definebodyfont [8pt] [mm]
+ [mr=xcmr8,
+ ex=cmex10 at 8pt,
+ mi=cmmi8,
+ sy=cmsy8]
+
+\definebodyfont [7pt] [mm]
+ [mr=xcmr7,
+ ex=cmex10 at 7pt,
+ mi=cmmi7,
+ sy=cmsy7]
+
+\definebodyfont [6pt] [mm]
+ [mr=xcmr6,
+ ex=cmex10 at 6pt,
+ mi=cmmi6,
+ sy=cmsy6]
+
+\definebodyfont [5pt] [mm]
+ [mr=xcmr5,
+ ex=cmex10 at 5pt,
+ mi=cmmi5,
+ sy=cmsy5]
+
+\definebodyfont [4pt] [mm]
+ [mr=xcmr5 at 4pt,
+ ex=cmex10 at 4pt,
+ mi=cmmi5 at 4pt,
+ sy=cmsy5 at 4pt]
+
+\definebodyfont [14.4pt,17.3pt,20.7pt] [mm]
+ [mr=xcmr12 sa 1,
+ ex=cmex10 sa 1,
+ mi=cmmi12 sa 1,
+ sy=cmsy10 sa 1]
+
+% hack to prevent mapping of filenames, watch the space!
+
+\definefontsynonym[xcmr12][cmr12 ]
+\definefontsynonym[xcmr10][cmr10 ]
+\definefontsynonym[xcmr9] [cmr9 ]
+\definefontsynonym[xcmr8] [cmr8 ]
+\definefontsynonym[xcmr7] [cmr7 ]
+\definefontsynonym[xcmr6] [cmr6 ]
+\definefontsynonym[xcmr5] [cmr5 ]
+
+\stoptypescript
+
+\starttypescript [serif] [concrete] [size]
+
+\definebodyfont [10pt,11pt,12pt,14.4pt,17.3pt] [rm]
+ [tf=ccr10 sa 1,
+ it=ccti10 sa 1,
+ sl=ccsl10 sa 1,
+ sc=cccsc10 sa 1]
+
+\definebodyfont [5pt,6pt,7pt,8pt,9pt] [rm]
+ [it=ccr9 sa 1,
+ sl=ccr9 sa 1,
+ sc=ccr9 sa 1]
+
+\definebodyfont [9pt] [rm] [tf=ccr9]
+\definebodyfont [8pt] [rm] [tf=ccr8]
+\definebodyfont [7pt] [rm] [tf=ccr7]
+\definebodyfont [6pt] [rm] [tf=ccr6]
+\definebodyfont [5pt] [rm] [tf=ccr5]
+
+\stoptypescript
+
+\starttypescript [math] [euler] [size]
+
+\definebodyfont [12pt,11pt,10pt,9pt] [mm]
+ [mi=eurm10 sa 1,
+ ex=euex10 sa 1,
+ ma=euex10 sa 1,
+ mb=eusm10 sa 1,
+ mc=eufm10 sa 1]
+
+\definebodyfont [8pt,7pt,6pt,5pt] [mm]
+ [ex=euex10 sa 1,
+ ma=euex10 sa 1]
+
+\definebodyfont [8pt,7pt,6pt] [mm]
+ [mi=eurm7 sa 1,
+ mb=eusm7 sa 1,
+ mc=eufm7 sa 1]
+
+\definebodyfont [5pt] [mm]
+ [mi=eurm5,
+ mb=eusm5,
+ mc=eufm5]
+
+\stoptypescript
+
+\starttypescript [math] [ams] [size]
+ \definebodyfont [17.3pt,14.4pt,12pt,11pt,10pt,9pt] [mm]
+ [ma=msam10 sa 1,
+ mb=msam10 sa 1]
+ \definebodyfont [8pt,7pt] [mm]
+ [ma=msam7 sa 1,
+ mb=msbm7 sa 1]
+ \definebodyfont [6pt,5pt,4pt] [mm]
+ [ma=msam5 sa 1,
+ mb=msbm5 sa 1]
+\stoptypescript
+
+% math times
+
+\starttypescript [math] [times] [size]
+
+\mapfontsize [5pt] [6.0pt]
+\mapfontsize [6pt] [6.8pt]
+\mapfontsize [7pt] [7.6pt]
+\mapfontsize [8pt] [8.4pt]
+\mapfontsize [9pt] [9.2pt]
+\mapfontsize [10pt] [10pt]
+\mapfontsize [11pt] [10.8pt]
+\mapfontsize [12pt] [11.6pt]
+\mapfontsize [14.4pt] [13.2pt]
+
+\stoptypescript
+
+\protect \endinput
diff --git a/tex/context/base/type-spe.tex b/tex/context/base/type-spe.tex
new file mode 100644
index 000000000..03c49f8c3
--- /dev/null
+++ b/tex/context/base/type-spe.tex
@@ -0,0 +1,38 @@
+%D \module
+%D [ file=type-spe,
+%D version=2001.04.12,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=Special scripts,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+\starttypescript [mono] [courier,lucida] [special]
+ \def\controlspace{\getglyph{ComputerModernMono}{\char32}}
+\stoptypescript
+
+\starttypescript [math] [computer-modern] [special]
+ \usemathcollection[default]
+\stoptypescript
+
+\starttypescript [math] [lucida] [special]
+ \usemathcollection[lbr]
+\stoptypescript
+
+\starttypescript [math] [ams] [special]
+ \usemathcollection[ams]
+\stoptypescript
+
+\starttypescript [math] [times] [special]
+ \usemathcollection[tim]
+\stoptypescript
+
+\starttypescript [math] [euler] [special]
+ \usemathcollection[eul]
+\stoptypescript
+
+\endinput
diff --git a/tex/context/base/type-syn.tex b/tex/context/base/type-syn.tex
new file mode 100644
index 000000000..96ee5a665
--- /dev/null
+++ b/tex/context/base/type-syn.tex
@@ -0,0 +1,274 @@
+%D \module
+%D [ file=type-syn,
+%D version=2001.04.12,
+%D title=\CONTEXT\ Typescript Macros,
+%D subtitle=Filename scripts,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+% Computer Modern Roman : Donald Knuth
+
+\starttypescript [serif] [computer-modern] [name]
+ \definefontsynonym [Serif] [ComputerModern]
+ \definefontsynonym [SerifBold] [ComputerModern-Bold]
+ \definefontsynonym [SerifItalic] [ComputerModern-Italic]
+ \definefontsynonym [SerifSlanted] [ComputerModern-Slanted]
+ \definefontsynonym [SerifBoldItalic] [ComputerModern-BoldItalic]
+ \definefontsynonym [SerifBoldSlanted] [ComputerModern-BoldSlanted]
+ \definefontsynonym [SerifCaps] [ComputerModern-Caps]
+\stoptypescript
+
+\starttypescript [sans] [computer-modern] [name]
+ \definefontsynonym [Sans] [ComputerModernSans]
+ \definefontsynonym [SansBold] [ComputerModernSans-Bold]
+ \definefontsynonym [SansItalic] [ComputerModernSans-Italic]
+ \definefontsynonym [SansSlanted] [ComputerModernSans-Slanted]
+ \definefontsynonym [SansBoldItalic] [ComputerModernSans-BoldItalic]
+ \definefontsynonym [SansBoldSlanted] [ComputerModernSans-BoldSlanted]
+ \definefontsynonym [SansCaps] [ComputerModernSans-Caps]
+\stoptypescript
+
+\starttypescript [mono] [computer-modern] [name]
+ \definefontsynonym [Mono] [ComputerModernMono]
+ \definefontsynonym [MonoBold] [ComputerModernMono-Bold]
+ \definefontsynonym [MonoItalic] [ComputerModernMono-Italic]
+ \definefontsynonym [MonoSlanted] [ComputerModernMono-Slanted]
+ \definefontsynonym [MonoBoldItalic] [ComputerModernMono-BoldItalic]
+ \definefontsynonym [MonoBoldSlanted] [ComputerModernMono-BoldSlanted]
+ \definefontsynonym [MonoCaps] [ComputerModernMono-Caps]
+\stoptypescript
+
+\starttypescript [math] [computer-modern] [name]
+ \definefontsynonym [MathRoman] [ComputerModernMath-Roman]
+ \definefontsynonym [MathExtension] [ComputerModernMath-Extension]
+ \definefontsynonym [MathItalic] [ComputerModernMath-Italic]
+ \definefontsynonym [MathSymbol] [ComputerModernMath-Symbol]
+\stoptypescript
+
+% This will change some day.
+
+\starttypescript [math] [computer-modern] [name]
+ \definefontsynonym [OldStyle] [MathItalic]
+ \definefontsynonym [Fraktur] [eufm10]
+ \definefontsynonym [Gothic] [eufm10]
+ \definefontsynonym [Calligraphic] [cmsy10]
+\stoptypescript
+
+% Concrete Modern Roman : Donald Knuth
+
+\starttypescript [serif] [concrete] [name]
+ \definefontsynonym [Serif] [ComputerConcrete]
+ \definefontsynonym [SerifBold] [ComputerConcrete]
+ \definefontsynonym [SerifItalic] [ComputerConcrete-Italic]
+ \definefontsynonym [SerifSlanted] [ComputerConcrete-Slanted]
+ \definefontsynonym [SerifBoldItalic] [ComputerConcrete-Italic]
+ \definefontsynonym [SerifBoldSlanted] [ComputerConcrete-Slanted]
+ \definefontsynonym [SerifCaps] [ComputerConcrete-Caps]
+\stoptypescript
+
+% Euler : Hermann Zapf
+
+\starttypescript [math] [euler] [name]
+ \definefontsynonym [MathExtension] [Euler-Extension]
+ \definefontsynonym [MathItalic] [Euler-Italic]
+ \definefontsynonym [MathAlpha] [Euler-SymbolA]
+ \definefontsynonym [MathBeta] [Euler-SymbolB]
+ \definefontsynonym [MathGamma] [Euler-SymbolC]
+\stoptypescript
+
+% American Math Society : Michael Spivak
+
+\starttypescript [math] [ams] [name]
+ \definefontsynonym [MathAlpha] [AMS-SymbolA]
+ \definefontsynonym [MathBeta] [AMS-SymbolB]
+\stoptypescript
+
+% Lucida Bright : Biggelow and Holmes
+
+\starttypescript [serif] [lucida] [name]
+ \definefontsynonym [Serif] [LucidaBright]
+ \definefontsynonym [SerifBold] [LucidaBright-Demi]
+ \definefontsynonym [SerifItalic] [LucidaBright-Italic]
+ \definefontsynonym [SerifSlanted] [LucidaBright-Oblique]
+ \definefontsynonym [SerifBoldItalic] [LucidaBright-DemiItalic]
+ \definefontsynonym [SerifBoldSlanted] [LucidaBright-DemiItalic]
+ \definefontsynonym [SerifCaps] [LucidaBrightSmallcaps]
+ \definefontsynonym [OldStyle] [MathItalic]
+\stoptypescript
+
+\starttypescript [sans] [lucida] [name]
+ \definefontsynonym [Sans] [LucidaSans]
+ \definefontsynonym [SansBold] [LucidaSans-Demi]
+ \definefontsynonym [SansItalic] [LucidaSans-Italic]
+ \definefontsynonym [SansSlanted] [LucidaSans-Italic]
+ \definefontsynonym [SansBoldItalic] [LucidaSans-DemiItalic]
+ \definefontsynonym [SansBoldSlanted] [LucidaSans-DemiItalic]
+ \definefontsynonym [SansCaps] [LucidaSans]
+\stoptypescript
+
+\starttypescript [mono] [lucida] [name]
+ \definefontsynonym [Mono] [LucidaSans-Typewriter]
+ \definefontsynonym [MonoBold] [LucidaSans-TypewriterBold]
+ \definefontsynonym [MonoItalic] [LucidaSans-TypewriterOblique]
+ \definefontsynonym [MonoSlanted] [LucidaSans-TypewriterOblique]
+ \definefontsynonym [MonoBoldItalic] [LucidaSans-TypewriterBoldOblique]
+ \definefontsynonym [MonoBoldSlanted] [LucidaSans-TypewriterBoldOblique]
+ \definefontsynonym [MonoCaps] [LucidaSans-Typewriter]
+\stoptypescript
+
+\starttypescript [math] [lucida] [name]
+ \definefontsynonym [MathRoman] [LucidaBright]
+ \definefontsynonym [MathExtension] [LucidaNewMath-Extension]
+ \definefontsynonym [MathItalic] [LucidaNewMath-AltItalic]
+ \definefontsynonym [MathSymbol] [LucidaNewMath-Symbol]
+ \definefontsynonym [MathAlpha] [LucidaNewMath-Arrows]
+\stoptypescript
+
+\starttypescript [boldmath] [lucida] [name]
+ \definefontsynonym [MathRomanBold] [LucidaBright-Demi]
+ \definefontsynonym [MathExtensionBold] [LucidaNewMath-Extension]
+ \definefontsynonym [MathItalicBold] [LucidaNewMath-AltDemiItalic]
+ \definefontsynonym [MathSymbolBold] [LucidaNewMath-Symbol-Demi]
+ \definefontsynonym [MathAlphaBold] [LucidaNewMath-Arrows-Demi]
+\stoptypescript
+
+\starttypescript [handwriting] [lucida] [name]
+ \definefontsynonym [Handwriting] [LucidaHandwriting-Italic]
+\stoptypescript
+
+\starttypescript [calligraphy] [lucida] [name]
+ \definefontsynonym [Calligraphy] [LucidaCalligraphy-Italic]
+\stoptypescript
+
+% Informal
+
+\starttypescript [casual] [informal] [name]
+ \definefontsynonym [Serif] [Informal-Regular]
+ \definefontsynonym [SerifBold] [Informal-Bold]
+ \definefontsynonym [SerifSlanted] [Informal-Oblique]
+ \definefontsynonym [SerifItalic] [Informal-Oblique]
+ \definefontsynonym [SerifBoldSlanted] [Informal-BoldOblique]
+ \definefontsynonym [SerifBoldItalic] [Informal-BoldOblique]
+ \definefontsynonym [SerifCaps] [Informal-Regular]
+\stoptypescript
+
+\starttypescript [math] [informal] [name]
+ \definefontsynonym [MathRoman] [Informal-Regular]
+ \definefontsynonym [MathExtension] [Informal-MathExtendedSymbols]
+ \definefontsynonym [MathItalic] [Informal-MathItalics]
+ \definefontsynonym [MathSymbol] [Informal-MathSymbols]
+\stoptypescript
+
+% Antykwa Torunska :
+
+\starttypescript [serif] [antykwa-torunska] [name]
+ \definefontsynonym [Serif] [AntykwaTorunska-Regular]
+ \definefontsynonym [SerifBold] [AntykwaTorunska-Bold]
+ \definefontsynonym [SerifItalic] [AntykwaTorunska-Italic]
+ \definefontsynonym [SerifSlanted] [AntykwaTorunska-Italic]
+ \definefontsynonym [SerifBoldItalic] [AntykwaTorunska-Bold]
+ \definefontsynonym [SerifBoldSlanted] [AntykwaTorunska-Bold]
+ \definefontsynonym [SerifCaps] [AntykwaTorunska-Regular]
+\stoptypescript
+
+% Baskerville :
+
+\starttypescript [serif] [baskerville] [name]
+ \definefontsynonym [Serif] [Baskerville]
+ \definefontsynonym [SerifBold] [Baskerville-Bold]
+ \definefontsynonym [SerifItalic] [Baskerville-Italic]
+ \definefontsynonym [SerifSlanted] [Baskerville-Italic]
+ \definefontsynonym [SerifBoldItalic] [Baskerville-BoldItalic]
+ \definefontsynonym [SerifBoldSlanted] [Baskerville-BoldItalic]
+ \definefontsynonym [SerifCaps] [Baskerville]
+\stoptypescript
+
+% Garamond :
+
+\starttypescript [serif] [garamond] [name]
+ \definefontsynonym [Serif] [Garamond-Normal]
+ \definefontsynonym [SerifBold] [Garamond]
+ \definefontsynonym [SerifItalic] [Garamond-Medium-Italic]
+ \definefontsynonym [SerifSlanted] [Garamond-Medium-Italic]
+ \definefontsynonym [SerifBoldItalic] [Garamond-Medium-Italic]
+ \definefontsynonym [SerifBoldSlanted] [Garamond-Medium-Italic]
+ \definefontsynonym [SerifCaps] [Garamond]
+\stoptypescript
+
+% Times :
+
+\starttypescript [serif] [times] [name]
+ \definefontsynonym [Serif] [Times-Roman]
+ \definefontsynonym [SerifBold] [Times-Bold]
+ \definefontsynonym [SerifItalic] [Times-Italic]
+ \definefontsynonym [SerifSlanted] [Times-Italic]
+ \definefontsynonym [SerifBoldItalic] [Times-BoldItalic]
+ \definefontsynonym [SerifBoldSlanted] [Times-BoldItalic]
+ \definefontsynonym [SerifCaps] [Times-Roman]
+\stoptypescript
+
+\starttypescript [math] [times] [name]
+ \definefontsynonym [MathRoman] [Times-MathRoman]
+ \definefontsynonym [MathExtension] [Times-MathExtension]
+ \definefontsynonym [MathItalic] [Times-MathItalic]
+ \definefontsynonym [MathSymbol] [Times-MathSymbol]
+\stoptypescript
+
+% Helvetica :
+
+\starttypescript [sans] [helvetica] [name]
+ \definefontsynonym [Sans] [Helvetica]
+ \definefontsynonym [SansBold] [Helvetica-Bold]
+ \definefontsynonym [SansItalic] [Helvetica-Oblique]
+ \definefontsynonym [SansSlanted] [Helvetica-Oblique]
+ \definefontsynonym [SansBoldItalic] [Helvetica-BoldOblique]
+ \definefontsynonym [SansBoldSlanted] [Helvetica-BoldOblique]
+ \definefontsynonym [SansCaps] [Helvetica]
+\stoptypescript
+
+\starttypescript [math] [helvetica] [name]
+ \definefontsynonym [MathRoman] [Helvetica-MathRoman]
+ \definefontsynonym [MathExtension] [Helvetica-MathExtendedSymbols]
+ \definefontsynonym [MathItalic] [Helvetica-MathItalics]
+ \definefontsynonym [MathSymbol] [Helvetica-MathSymbols]
+\stoptypescript
+
+% Courier :
+
+\starttypescript [sans] [courier] [name]
+ \definefontsynonym [Mono] [Courier]
+ \definefontsynonym [MonoBold] [Courier-Bold]
+ \definefontsynonym [MonoItalic] [Courier-Oblique]
+ \definefontsynonym [MonoSlanted] [Courier-Oblique]
+ \definefontsynonym [MonoBoldItalic] [Courier-BoldOblique]
+ \definefontsynonym [MonoBoldSlanted] [Courier-BoldOblique]
+ \definefontsynonym [MonoCaps] [Courier]
+\stoptypescript
+
+% Palatino : Hermann Zapf
+
+\starttypescript [serif] [palatino] [name]
+ \definefontsynonym [Serif] [Palatino]
+ \definefontsynonym [SerifBold] [Palatino-Bold]
+ \definefontsynonym [SerifItalic] [Palatino-Italic]
+ \definefontsynonym [SerifSlanted] [Palatino-Slanted]
+ \definefontsynonym [SerifBoldItalic] [Palatino-BoldItalic]
+ \definefontsynonym [SerifBoldSlanted] [Palatino-BoldSlanted]
+ \definefontsynonym [SerifCaps] [Palatino]
+\stoptypescript
+
+\starttypescript [math] [palatino] [name]
+ \definefontsynonym [MathRoman] [Palatino-Roman-Upright]
+ \definefontsynonym [MathExtension] [Palatino-Math-Extension]
+ \definefontsynonym [MathItalic] [Palatino-Math-Italic]
+ \definefontsynonym [MathSymbol] [Palatino-Math-Symbols]
+ \definefontsynonym [MathAlpha] [Palatino-Math-SymbolsA]
+ \definefontsynonym [MathBeta] [Palatino-Math-SymbolsB]
+\stoptypescript
+
+\endinput
diff --git a/tex/context/base/verb-ini.tex b/tex/context/base/verb-ini.tex
index ce6ff8d90..7e7f23fcf 100644
--- a/tex/context/base/verb-ini.tex
+++ b/tex/context/base/verb-ini.tex
@@ -876,11 +876,13 @@
\skipfirstverbatimlinefalse
\initializeverbatimline
\def\readline%
- {\ifx\firstverbatimfileline\empty
- \read\verbatiminput to \verbatimline
- \else
- \let\verbatimline\firstverbatimfileline
- \let\firstverbatimfileline\empty
+ {\ifeof\verbatiminput \else
+ \ifx\firstverbatimfileline\empty
+ \read\verbatiminput to \verbatimline
+ \else
+ \let\verbatimline\firstverbatimfileline
+ \let\firstverbatimfileline\empty
+ \fi
\fi
\ifeof\verbatiminput
\ifx\lastverbatimfileline\empty
diff --git a/tex/context/base/x-fig-00.tex b/tex/context/base/x-fig-00.tex
index 8f6899c49..4d80e3653 100644
--- a/tex/context/base/x-fig-00.tex
+++ b/tex/context/base/x-fig-00.tex
@@ -143,7 +143,7 @@
\def\usefigurebase[#1]%
{\doifelse{#1}{\v!reset}
{\let\figurebaselist\empty}
- {\appendcommacommand{#1}\figurebaselist}}
+ {\appendtocommalist{#1}\figurebaselist}}
\endinput
diff --git a/tex/context/base/xtag-ini.tex b/tex/context/base/xtag-ini.tex
index a34a233c3..1b6f98cfe 100644
--- a/tex/context/base/xtag-ini.tex
+++ b/tex/context/base/xtag-ini.tex
@@ -790,14 +790,14 @@
% partially defined here
-\fetchruntimecommand\showXMLfile {\f!xtagprefix vis}
-\fetchruntimecommand\showXMLbuffer{\f!xtagprefix vis}
-
-\fetchruntimecommand\showXMLtxt {\f!xtagprefix vis}
-\fetchruntimecommand\showXMLpar {\f!xtagprefix vis}
-\fetchruntimecommand\showXMLlin {\f!xtagprefix vis}
-\fetchruntimecommand\showXMLwrd {\f!xtagprefix vis}
-\fetchruntimecommand\showXMLemp {\f!xtagprefix vis}
+\fetchruntimecommand\showXMLfile {\f!xtagprefix\s!run}
+\fetchruntimecommand\showXMLbuffer{\f!xtagprefix\s!run}
+
+\fetchruntimecommand\showXMLtxt {\f!xtagprefix\s!run}
+\fetchruntimecommand\showXMLpar {\f!xtagprefix\s!run}
+\fetchruntimecommand\showXMLlin {\f!xtagprefix\s!run}
+\fetchruntimecommand\showXMLwrd {\f!xtagprefix\s!run}
+\fetchruntimecommand\showXMLemp {\f!xtagprefix\s!run}
%D \type
%D {processXMLbuffer}
diff --git a/tex/context/base/xtag-vis.tex b/tex/context/base/xtag-run.tex
index 234238f4f..234238f4f 100644
--- a/tex/context/base/xtag-vis.tex
+++ b/tex/context/base/xtag-run.tex
diff --git a/tex/context/extra/setup-qr.tex b/tex/context/extra/setup-qr.tex
new file mode 100644
index 000000000..a2636b8a0
--- /dev/null
+++ b/tex/context/extra/setup-qr.tex
@@ -0,0 +1,178 @@
+% output=pdftex tex=pdfetex modes=cmr,nocover
+
+% This file is not part of the regular ConTeXt distribution.
+% Because this file generates the official ConTeXt command
+% references, you may not alter it.
+%
+% copyright: 19..-2001, Hans Hagen, PRAGMA-ADE, Hasselt NL
+
+% modes: cmr use cmr fonts
+% nocover don't produce a cover page
+%
+% other modes are supported by the cod driver
+
+\unprotect
+
+\startinterface dutch \def\LocalColor{green} \stopinterface
+\startinterface english \def\LocalColor{red} \stopinterface
+\startinterface german \def\LocalColor{blue} \stopinterface
+\startinterface czech \def\LocalColor{magenta} \stopinterface
+\startinterface italian \def\LocalColor{cyan} \stopinterface
+\startinterface romanian \def\LocalColor{yellow} \stopinterface
+
+\startuseMPgraphic{cover}
+ def something =
+ path p, q;
+ color localgray, drawcolor, fillcolor, localcolor;
+ localgray := (.9,.9,.9);
+ localcolor := \LocalColor ;
+ p := (0,0)--(200,0)--(200,50)--(0,50)--cycle;
+ q := (25,25)--(175,25);
+ dx := uniformdeviate 600;
+ dy := uniformdeviate 900;
+ sx := .3+(uniformdeviate .5);
+ sy := .3+(uniformdeviate .5);
+ drawcolor := (uniformdeviate 1)[.75localcolor,localcolor];
+ fillcolor := (uniformdeviate 1)[.75localgray,localgray];
+ rr := uniformdeviate 360;
+ p := p xscaled sx yscaled sy rotated rr shifted (dx,dy);
+ q := q xscaled sx yscaled sy rotated rr shifted (dx,dy);
+ fill p withcolor fillcolor;
+ ahlength := (.2+sy)*15;
+ ahangle := (.2+sx)*45;
+ draw p withpen pencircle scaled 7.5 withcolor drawcolor;
+ drawarrow q withpen pencircle scaled 7.5 withcolor drawcolor;
+ enddef;
+ for i := 1 upto 1000:
+ something;
+ endfor;
+ setbounds currentpicture to unitsquare
+ xscaled \overlaywidth yscaled \overlayheight;
+\stopuseMPgraphic
+
+\startnotmode[cmr]
+
+\setupbodyfont[lbr]
+
+\stopnotmode
+
+\setupbodyfont
+ [9pt]
+
+\setupcolors
+ [\c!status=\v!start]
+
+\startnotmode[nocover]
+
+\defineoverlay
+ [cover]
+ [\useMPgraphic{cover}]
+
+\stopnotmode
+
+\stellayoutin
+ [\c!rugwit=2cm,
+ \c!kopwit=2cm,
+ \c!hoofd=0cm,
+ \c!voet=0cm,
+ \c!marge=0cm,
+ \c!breedte=\v!passend,
+ \c!hoogte=\v!passend]
+
+\stelnummeringin
+ [\c!status=\v!stop,
+ \c!variant=\v!dubbelzijdig]
+
+\input setupa.tex
+
+\stelsetupin
+ [\c!criterium=\v!alles,
+ \c!verwijzing=0]
+
+\setupframedtexts
+ [setuptext]
+ [\c!kader=\v!aan]
+
+\usemodule[cod-01]
+
+\input setupb.tex
+
+\starttekst
+
+\stelachtergrondenin
+ [\v!rechterpagina]
+ [\c!achtergrond=cover]
+
+\startopmaak[\v!standaard]
+ \definefont[test][RegularBold at 100pt]\test\setstrut
+ \steluitlijnenin[\v!midden]
+ \strut Con\TeX t \par
+ \definefont[test][RegularBold at 75pt]\test\setstrut
+ \startinterface dutch \strut commando's \par \stopinterface
+ \startinterface english \strut commands \par \stopinterface
+ \startinterface german \strut befehle \par \stopinterface
+ \startinterface czech \strut prikazy \par \stopinterface
+ \startinterface italian \strut commands (?) \par \stopinterface
+ \startinterface romanian \strut comenzile \par \stopinterface
+ \vfill
+ \definefont[test][RegularBold at 150pt]\test\setstrut
+ \startinterface dutch \strut NL \stopinterface
+ \startinterface english \strut EN \stopinterface
+ \startinterface german \strut DE \stopinterface
+ \startinterface czech \strut CZ \stopinterface
+ \startinterface italian \strut IT \stopinterface
+ \startinterface romanian \strut RO \stopinterface
+\stopopmaak
+
+\stelachtergrondenin
+ [\v!rechterpagina]
+ [\c!achtergrond=]
+
+\startopmaak[\v!standaard]
+ \definefont[test][RegularBold at 60pt]\test\setstrut
+ \steluitlijnenin[\v!midden]
+ \strut Con\TeX t \par
+ \vskip24pt
+ \definefont[test][RegularBold at 45pt]\test\setstrut
+ \startinterface dutch \strut commando's \par \stopinterface
+ \startinterface english \strut commands \par \stopinterface
+ \startinterface german \strut befehle \par \stopinterface
+ \startinterface czech \strut prikaz\'y \par \stopinterface
+ \startinterface czech \strut commands (?) \par \stopinterface
+ \startinterface romanian \strut comenzile \par \stopinterface
+ \vfill
+ \strut \currentdate \par
+ \startinterface dutch \strut nederlands \par \stopinterface
+ \startinterface english \strut english \par \stopinterface
+ \startinterface german \strut deutsch \par \stopinterface
+ \startinterface czech \strut \^cesk\'y \par \stopinterface
+ \startinterface italian \strut itialiano (?) \par \stopinterface
+ \startinterface romanian \strut rom\^{a}n\u{a} \par \stopinterface
+
+\stopopmaak
+
+\stellayoutin
+ [\c!kopwit=1.5cm]
+
+\protect \placesetup \unprotect
+
+\pagina[\v!ja,\v!blanko,\v!rechts,\v!links]
+
+\stelachtergrondenin
+ [\v!linkerpagina]
+ [\c!achtergrond=cover]
+
+\stellayoutin
+ [\c!kopwit=2cm]
+
+\startopmaak[\v!standaard][\c!pagina=]
+ \definefont[test][RegularBold at 24pt]\test\stelinterliniein
+ \steluitlijnenin[\v!midden]
+ \vfill
+ PRAGMA ADE \par
+ Ridderstraat 27, 8061GH Hasselt NL
+\stopopmaak
+
+\protect
+
+\stoptekst
diff --git a/tex/context/sample/douglas.tex b/tex/context/sample/douglas.tex
new file mode 100644
index 000000000..643eb123f
--- /dev/null
+++ b/tex/context/sample/douglas.tex
@@ -0,0 +1,23 @@
+Donald Knuth has spent the past several years working on a
+system allowing him to control many aspects of the design
+of his forthcoming books---from the typesetting and layout
+down to the very shapes of the letters! Seldom has an
+author had anything remotely like this power to control the
+final appearance of his or her work. Knuth's \TEX\
+typesetting system has become well||known and available in
+many countries around the world. By contrast, his
+\METAFONT\ system for designing families of typefaces has
+not become as well known or available.
+
+In his article \quotation {The Concept of a Meta||Font},
+Knuth sets forth for the first time the underlying
+philosophy of \METAFONT, as well as some of its products.
+Not only is the concept exiting and clearly well executed,
+but in my opinion the article is charmingly written as well.
+However, despite my overall enthusiasm for Knuth's idea and
+article, there are some points in it that I feel might be
+taken wrongly by many readers, and since they are points
+that touch close to my deepest interests in artificial
+intelligence and esthetic theory, I felt compelled to make
+some comments to clarify certain important issues raised by
+\quotation {The Concept of a Meta||Font}.
diff --git a/tex/context/sample/knuth.tex b/tex/context/sample/knuth.tex
new file mode 100644
index 000000000..30b6310cc
--- /dev/null
+++ b/tex/context/sample/knuth.tex
@@ -0,0 +1,16 @@
+Thus, I came to the conclusion that the designer of a new
+system must not only be the implementer and first
+large||scale user; the designer should also write the first
+user manual.
+
+The separation of any of these four components would have
+hurt \TeX\ significantly. If I had not participated fully in
+all these activities, literally hundreds of improvements
+would never have been made, because I would never have
+thought of them or perceived why they were important.
+
+But a system cannot be successful if it is too strongly
+influenced by a single person. Once the initial design is
+complete and fairly robust, the real test begins as people
+with many different viewpoints undertake their own
+experiments.
diff --git a/tex/context/sample/materie.tex b/tex/context/sample/materie.tex
new file mode 100644
index 000000000..5e2597186
--- /dev/null
+++ b/tex/context/sample/materie.tex
@@ -0,0 +1,50 @@
+Zaagh, of Steek||zaagh.
+Domme||kraght.
+Mokers.
+Yzere Wiggen.
+Brandt||yzer.
+Hout||haak.
+Spaander||haak.
+Een Klaas Jacobzen.
+Tange.
+Nagel||hamer.
+Wigge.
+Oor||houten.
+Kluften.
+Hellen.
+Steven||haken.
+Hevels en Klein||touwen.
+Een Koe||voet.
+Schot||bouten.
+Yzere ram.
+Avegaar.
+Een houte Ram.
+Een groote Wigge daar toe.
+Teer||ketel.
+Slyp||steen.
+Een Mal.
+Rye.
+Hout||bok.
+Schraagh.
+Vlotten.
+Een Slee.
+Dwars||slee.
+Kaap||stander.
+Bytels.
+Klavaats||hamer.
+Rabat||yzer.
+Klavaats||yzer.
+Spyker||yzer.
+Werk||bytel.
+Duim||stok.
+Schraper.
+Een Moker.
+Spyker||hamertje.
+Een Roffel.
+Gerf||schaaf.
+Odief.
+Ploegen.
+Handt||zaagh.
+Klamp||spykers||boor, tien duims Boor.
+Dissel.
+Byl.
diff --git a/tex/context/sample/reich.tex b/tex/context/sample/reich.tex
new file mode 100644
index 000000000..3be5ae42e
--- /dev/null
+++ b/tex/context/sample/reich.tex
@@ -0,0 +1,11 @@
+\citaat {Heavy smoke}
+\citaat {Stand by, stand by}
+\citaat {It's full a' smoke}
+\citaat {Full a' smoke}
+\citaat {Urgent}
+\citaat {Guns, knives or weapons on ya?}
+\citaat {Wha' were ya doin'?}
+\citaat {Be careful}
+\citaat {Where you go}
+\citaat {Careful}
+\citaat {Stand by}
diff --git a/tex/context/sample/tufte.tex b/tex/context/sample/tufte.tex
new file mode 100644
index 000000000..72f39da35
--- /dev/null
+++ b/tex/context/sample/tufte.tex
@@ -0,0 +1,13 @@
+We thrive in information||thick worlds because of our
+marvelous and everyday capacity to select, edit,
+single out, structure, highlight, group, pair, merge,
+harmonize, synthesize, focus, organize, condense,
+reduce, boil down, choose, categorize, catalog, classify,
+list, abstract, scan, look into, idealize, isolate,
+discriminate, distinguish, screen, pigeonhole, pick over,
+sort, integrate, blend, inspect, filter, lump, skip,
+smooth, chunk, average, approximate, cluster, aggregate,
+outline, summarize, itemize, review, dip into,
+flip through, browse, glance into, leaf through, skim,
+refine, enumerate, glean, synopsize, winnow the wheat
+from the chaff and separate the sheep from the goats.
diff --git a/tex/context/sample/zapf.tex b/tex/context/sample/zapf.tex
new file mode 100644
index 000000000..b95a47190
--- /dev/null
+++ b/tex/context/sample/zapf.tex
@@ -0,0 +1,11 @@
+Coming back to the use of typefaces in electronic
+publishing: many of the new typographers receive their
+knowledge and information about the rules of typography
+from books, from computer magazines or the instruction
+manuals which they get with the purchase of a PC or
+software. There is not so much basic instruction, as of
+now, as there was in the old days, showing the differences
+between good and bad typographic design. Many people are
+just fascinated by their PC's tricks, and think that a
+widely||praised program, called up on the screen, will make
+everything automatic from now on.
diff --git a/tex/context/base/cont-sys.rme b/tex/context/user/cont-sys.rme
index d4be0d79a..cbeee6a1e 100644
--- a/tex/context/base/cont-sys.rme
+++ b/tex/context/user/cont-sys.rme
@@ -13,11 +13,18 @@
\unprotect
-% Some examples of missing font sets and font files:
+% Here you can take care of overloading some (style)
+% defaults. What goes here, depends on your local system.
%
-% \setupbodyfont [ber] % berry names
+% Set default file name mapping:
%
-% \definefilesynonym [font-lbr] [font-cmr]
+% \usetypescript [ber]
+%
+% Overload Lucida by Adobe-15:
+%
+% \definetypescriptsynonym [lbr] [pos]
+%
+% Compensate for missing files:
%
% \definefontsynonym [Courier-Bold] [Courier]
% \definefontsynonym [Courier-BoldOblique] [Courier]
@@ -37,16 +44,16 @@
% [dviwindo]
%
% Enabling \CONTEXT\ navigation symbols as well as \euro's.
-%
-% \usesymbols
-% [nav,eur]
-%
-% \setupsymbolset
-% [navigation 1]
-%
-% \setupinteraction
-% [\c!symboolset=navigation 1]
-%
+
+\usesymbols
+ [nav,eur]
+
+\setupsymbolset
+ [navigation 1]
+
+\setupinteraction
+ [\c!symboolset=navigation 1]
+
% Changing language defaults:
%
% \setuplanguage
@@ -56,8 +63,6 @@
%
% So far for the settings.
-\protect
-
% Loading local preferences:
%
% \input prag-gen % company styles
@@ -84,4 +89,4 @@
% So far.
-\endinput
+\protect \endinput