summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/cont-log.tex32
-rw-r--r--tex/context/base/cont-new.tex81
-rw-r--r--tex/context/base/cont-sys.ori8
-rw-r--r--tex/context/base/context.tex3
-rw-r--r--tex/context/base/core-itm.tex23
-rw-r--r--tex/context/base/core-lst.tex2
-rw-r--r--tex/context/base/core-mis.tex2
-rw-r--r--tex/context/base/core-pos.tex2
-rw-r--r--tex/context/base/core-spa.tex10
-rw-r--r--tex/context/base/enco-uc.tex2
-rw-r--r--tex/context/base/font-ini.tex62
-rw-r--r--tex/context/base/page-imp.tex6
-rw-r--r--tex/context/base/page-lin.tex2
-rw-r--r--tex/context/base/page-mar.tex7
-rw-r--r--tex/context/base/prop-lay.tex15
-rw-r--r--tex/context/base/s-mod-00.tex14
-rw-r--r--tex/context/base/s-mod-02.tex305
-rw-r--r--tex/context/base/spec-fdf.tex2
-rw-r--r--tex/context/base/supp-box.tex25
-rw-r--r--tex/context/base/supp-mpe.tex11
-rw-r--r--tex/context/base/supp-mps.tex6
-rw-r--r--tex/context/base/supp-pdf.tex35
-rw-r--r--tex/context/base/supp-ran.tex93
-rw-r--r--tex/context/base/syst-gen.tex2
-rw-r--r--tex/context/base/syst-new.tex11
-rw-r--r--tex/context/base/syst-prm.tex13
-rw-r--r--tex/context/base/syst-var.tex23
-rw-r--r--tex/context/base/type-akb.tex6
-rw-r--r--tex/context/base/type-enc.tex2
-rw-r--r--tex/context/base/type-exa.tex17
-rw-r--r--tex/context/base/type-ini.tex52
-rw-r--r--tex/context/base/type-pre.tex168
-rw-r--r--tex/context/base/type-siz.tex46
-rw-r--r--tex/context/base/x-fo.tex8
-rw-r--r--tex/context/interface/cont-cz.xml1
-rw-r--r--tex/context/interface/cont-de.xml1
-rw-r--r--tex/context/interface/cont-en.xml1
-rw-r--r--tex/context/interface/cont-it.xml1
-rw-r--r--tex/context/interface/cont-nl.xml1
-rw-r--r--tex/context/interface/cont-ro.xml1
-rw-r--r--tex/context/interface/keys-cz.xml2
-rw-r--r--tex/context/interface/keys-de.xml2
-rw-r--r--tex/context/interface/keys-en.xml2
-rw-r--r--tex/context/interface/keys-it.xml2
-rw-r--r--tex/context/interface/keys-nl.xml2
-rw-r--r--tex/context/interface/keys-ro.xml2
-rw-r--r--tex/context/user/cont-sys.rme8
47 files changed, 780 insertions, 342 deletions
diff --git a/tex/context/base/cont-log.tex b/tex/context/base/cont-log.tex
index 6400a15c8..aa1e1ce72 100644
--- a/tex/context/base/cont-log.tex
+++ b/tex/context/base/cont-log.tex
@@ -126,17 +126,23 @@
%D The \METAFONT\ and \METAPOST\ logos adapt themselves to the
%D current fontsize, an ugly but usefull hack.
-\unexpanded\def\setMFPfont
- {\font\logofont=logo%
- \ifnum\fam=\bffam bf\else
- \ifnum\fam=\slfam sl\else
- \ifnum\fam=\itfam sl\else
- \ifnum\fam=\bsfam bf\else
- \ifnum\fam=\bifam bf\else
- \fi\fi\fi\fi\fi
- 10 at \currentfontscale\bodyfontsize
- \logofont}
-
+% rather hard coded
+%
+% \loadmapfile[original-base.map] % \loadmapfile[original-vogel-symbol]
+%
+% \unexpanded\def\setMFPfont
+% {\font\logofont=logo%
+% \ifnum\fam=\bffam\c!bf\else
+% \ifnum\fam=\slfam\c!sl\else
+% \ifnum\fam=\itfam\c!sl\else
+% \ifnum\fam=\bsfam\c!bf\else
+% \ifnum\fam=\bifam\c!bf\else
+% \fi\fi\fi\fi\fi
+% 10 at \currentfontscale\bodyfontsize
+% \logofont}
+%
+% or:
+%
% \definefontsynonym [MetaLogo] [logo10]
% \definefontsynonym [MetaLogoBold] [logobf10]
% \definefontsynonym [MetaLogoSlanted] [logosl10]
@@ -144,10 +150,14 @@
% \definefontsynonym [MetaLogoBoldSlanted] [logobf10]
% \definefontsynonym [MetaLogoBoldtalic] [logobf10]
%
+% \loadmapfile[original-base.map] % \loadmapfile[original-vogel-symbol]
+%
% \def\setMFPfont{\symbolicfont{MetaLogo}}
\let\logofont\nullfont
+\loadmapfile[original-base.map]
+
\unexpanded\def\setMFPfont% more sensitive for low level changes
{\font\logofont=logo%
\ifx\fontalternative\c!bf\else
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index 420f02f59..d23c29afb 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -24,8 +24,89 @@
\writestatus{\m!systems}{beware: some patches loaded from cont-new.tex}
+% The following may be a solution for the fact that one cannot
+% change catcodes of characters like : and ; inside an environment.
+
+\appendtoks
+ \enablelanguagespecifics[\currentlanguage]%
+\to \everystarttext
+
+% Peter M\"unster's test case:
+%
+% \defineoverlay[Draft][{\scale[factor=max]{\rotate[rotation=60]{~MY||DRAFT~}}}]
+% \setupbackgrounds[page][background=Draft]
+% \starttext
+% \starttables[|l|]
+% \dorecurse{200}{\NC hallo \NC\AR}
+% \stoptables
+% \stoptext
+%
+% \let\normalactivetilde~
+% \let\normalactivebar |
+%
+% \appendtoks\let~\normalactivetilde\to\everypagebody
+% \appendtoks\let|\normalactivebar \to\everypagebody
+
\let\cs\getvalue
+%D Krzysztof Leszczynski suggested to provide access to the level by
+%D means of a \type {#1}. I decided to pass the more frquently used
+%D level as \type {#1} and the less favoured depth as \type {#2}. The
+%D intended usage is:
+%D
+%D \starttyping
+%D \dorecurse{3}{\definesymbol[test-#1][xx-#1]}
+%D
+%D \def\test{\dorecurse{3}{\definesymbol[test-##1][xx-##1]}} \test
+%D
+%D \symbol[test-1]\quad\symbol[test-2]\quad\symbol[test-3]
+%D \stoptyping
+%D
+%D Since the hashed arguments are expanded, we don't need tricky
+%D expansion here.
+%D
+%D \starttyping
+%D \dorecurse{3}{\expanded{\definesymbol[test-\recurselevel][xx-\recurselevel]}}
+%D \stoptyping
+
+\def\expandrecursecontent
+ {\csname\@@arecurse\recursedepth\@EA\@EA\@EA\endcsname\@EA\@EA\@EA{\@EA\recurselevel\@EA}\@EA{\recursedepth}}
+
+\long\def\xdorecurse#1#2%
+ {\global\advance\outerrecurse \plusone
+ \long\global\@EA\def\csname\@@arecurse\recursedepth\endcsname##1##2{#2}%
+ \global\@EA\let\csname\@@irecurse\recursedepth\endcsname\recurselevel
+ \@EA\dodorecurse\@EA1\@EA{\number#1}}
+
+\long\def\dostepwiserecurse#1#2#3#4% can be made faster by postponing #4
+ {\global\advance\outerrecurse \plusone
+ \long\global\@EA\def\csname\@@arecurse\recursedepth\endcsname##1##2{#4}%
+ \global\@EA\let\csname\@@irecurse\recursedepth\endcsname\recurselevel
+ \ifnum#3>0\relax
+ \ifnum#2<#1\relax
+ \let\nextrecurse\exitstepwiserecurse
+ \else
+ \let\nextrecurse\dodostepwiserecurse
+ \fi
+ \else
+ \ifnum#3<0\relax
+ \ifnum#1<#2\relax
+ \let\nextrecurse\exitstepwiserecurse
+ \else
+ \let\nextrecurse\dodostepwisereverse
+ \fi
+ \else
+ \let\nextrecurse\exitstepwiserecurse
+ \fi
+ \fi\expanded{\nextrecurse{\number#1}{\number#2}{\number#3}}}
+
+\long\def\doloop#1%
+ {\global\advance\outerrecurse \plusone
+ \long\global\@EA\def\csname\@@arecurse\recursedepth\endcsname##1##2{#1}%
+ \global\@EA\let\csname\@@irecurse\recursedepth\endcsname\recurselevel
+ \let\endofloop\dodoloop
+ \dodoloop1} % no \plusone else \recurselevel wrong
+
\ifx\normalcompound\undefined \let\normalcompound=| \fi
% experimental so this may change
diff --git a/tex/context/base/cont-sys.ori b/tex/context/base/cont-sys.ori
index 483f92923..ee54a99b7 100644
--- a/tex/context/base/cont-sys.ori
+++ b/tex/context/base/cont-sys.ori
@@ -17,6 +17,14 @@
%
% \preloadtypescripts
+% If you want another default font:
+%
+% \let\preloadfonts\relax
+% \usetypescript[palatino][\defaultencoding]
+% \setupbodyfont[palatino,rm,12pt]
+%
+% Please make sure that this defines rm, ss, tt and mm.
+
% Occasionally we will support both A4 and letter in
% styles. If you want letter size paper to be the default,
% uncomment:
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index 8a85f9a27..9d1771f4d 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -31,7 +31,7 @@
%D 2004.8.30 the low level interface is english. Watch out and adapt
%D your styles an modules.
-\def\contextversion{2005.06.27}
+\def\contextversion{2005.07.13}
%D Welcome to the main module. When this module is ran through
%D \type{initex} or \type {tex -i} or \type {whatevertex} using
@@ -86,6 +86,7 @@
\input syst-ext.tex
\input syst-new.tex
\input syst-con.tex
+\input syst-var.tex
\input math-pln.tex % basic plain math
diff --git a/tex/context/base/core-itm.tex b/tex/context/base/core-itm.tex
index ba6cb4a9f..976daf129 100644
--- a/tex/context/base/core-itm.tex
+++ b/tex/context/base/core-itm.tex
@@ -182,6 +182,7 @@
#2*\v!serried*=>\setitemparameter{#1}\c!factor{-#2},
\v!stopper*=>\setitemparameter{#1}\c!placestopper\v!yes,
\v!unpacked*=>\packeditemsfalse,
+ \v!repeat*=>\settrue\repeatlistitem, % new
\v!standard*=>\dosetupstandarditemgroup{#1}]}
\def\dosetupstandarditemgroup#1%
@@ -654,6 +655,7 @@
\ht8=\strutheight
\dp8=\strutdepth
% so that content differs per run (esp mp graphics afterwards)
+\checkforrepeatedlistitem
\ifdim\dimen2<\zeropoint\relax
\llap{\ifsubitem\llap{+}\fi\box8\hskip\leftmargindistance}%
\else
@@ -684,6 +686,27 @@
\EveryPar{\ignorespaces}%
\ignorespaces}
+% For Frank Grieshaber and Mojca Miklavec:
+
+\newconditional\repeatlistitem
+
+\def\checkforrepeatedlistitem
+ {\ifnum\itemlevel=\plusone \ifnum\itemlevel=\plusone
+ \initializeboxstack{item}%
+ \fi \fi
+ \ifconditional\repeatlistitem
+ \savebox{item}{\itemlevel}{\hbox{\ifnum\itemlevel>\plusone \copy8\else\fi}}%
+ \setbox8\hbox
+ {\setbox\scratchbox\hbox{\foundbox{item}{\itemlevel}}%
+ \ifnum\itemlevel>\plusone
+ \hskip-\wd\scratchbox
+ \ifnum\countervalue{\@@itemcounter\itemlevel}>\plusone
+ \llap{\box\scratchbox}%
+ \fi
+ \fi
+ \box8}%
+ \fi}
+
\chardef\autoitemgroupspacing=2 % 0 = voor/na, 1=tussen als geen voor 2=(prev)tussen=old/normal
\def\complexdoitemgroupitem[#1]%
diff --git a/tex/context/base/core-lst.tex b/tex/context/base/core-lst.tex
index aa1dbea1a..820789fd9 100644
--- a/tex/context/base/core-lst.tex
+++ b/tex/context/base/core-lst.tex
@@ -519,7 +519,7 @@
\def\dodofreevlistelement#1#2#3#4#5#6% % \nointerlineskip needed,
{\dodofreelistelement{#1}{#2}{#3}{#4}{#5}{#6} % otherwise wrong spacing
{\ifvmode\nointerlineskip\fi} % at multi-line lists
- {\nointerlineskip\endgraf\allowbreak}} %
+ {\ifvmode\nointerlineskip\fi\endgraf\allowbreak}} % test is saveguard
% to be documented: align, hang
diff --git a/tex/context/base/core-mis.tex b/tex/context/base/core-mis.tex
index ce1e9b0e7..0e1f43d45 100644
--- a/tex/context/base/core-mis.tex
+++ b/tex/context/base/core-mis.tex
@@ -2179,7 +2179,7 @@
%
% \setuprotate
% [\c!rotation=90,
-% \c!width=\v!fir,
+% \c!width=\v!fit,
% \c!height=\v!fit,
% \c!offset=\v!overlay,
% \c!frame=\v!off]
diff --git a/tex/context/base/core-pos.tex b/tex/context/base/core-pos.tex
index 52bef61b1..0194f2a64 100644
--- a/tex/context/base/core-pos.tex
+++ b/tex/context/base/core-pos.tex
@@ -1666,6 +1666,8 @@
%D The next alternative works in columnsets :
+% \iftracepositions show\else draw\fi_multi_pars ;
+
\startuseMPgraphic{mpos:par:columnset}
\iftracepositions show_multi_pars \else draw_multi_pars \fi ;
\stopuseMPgraphic
diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex
index 24c4f6f1d..c8e7bef69 100644
--- a/tex/context/base/core-spa.tex
+++ b/tex/context/base/core-spa.tex
@@ -1139,8 +1139,8 @@
\def\checknextindentation[#1]%
{\processaction[#1][%\v!keep=>,
- \v!yes=>\doindentation,
- \v!no=>\noindentation,
+ \v!yes=>\doindentation,
+ \v!no=>\noindentation,
\v!auto=>\autoindentation]}
\def\doindentation% too simple
@@ -1836,7 +1836,7 @@
%D Sometimes one needs to freeze the interlinespacing
%D
%D \starttyping
-%D \rm \freezeinterlinespace .... {\ss \frozeninterlinespace .... \endgraf}
+%D \rm \saveinterlinespace .... {\ss \restoreinterlinespace .... \endgraf}
%D \stoptyping
\let\restoreinterlinespace\relax
@@ -3720,7 +3720,7 @@
\newbox\indentationboxA
\newbox\indentationboxB
-\def\pushindentation%
+\def\pushindentation
{\bgroup
\ifhmode
\unskip
@@ -3735,7 +3735,7 @@
\setbox\indentationboxB\box\voidb@x
\fi}
-\def\popindentation%
+\def\popindentation
{\box\indentationboxB\box\indentationboxA % put back the boxes
\egroup}
diff --git a/tex/context/base/enco-uc.tex b/tex/context/base/enco-uc.tex
index ec76607f1..36e611542 100644
--- a/tex/context/base/enco-uc.tex
+++ b/tex/context/base/enco-uc.tex
@@ -70,7 +70,7 @@
\definecharacter ograve {\uchar0{242}}
\definecharacter oacute {\uchar0{243}}
\definecharacter ocircumflex {\uchar0{244}}
-\definecharacter ohungarumlaut {\uchar0{245}}
+\definecharacter otilde {\uchar0{245}}
\definecharacter odiaeresis {\uchar0{246}}
\definecharacter ostroke {\uchar0{248}}
diff --git a/tex/context/base/font-ini.tex b/tex/context/base/font-ini.tex
index 1f1cc11d6..10a0cf6d3 100644
--- a/tex/context/base/font-ini.tex
+++ b/tex/context/base/font-ini.tex
@@ -97,8 +97,8 @@
\newevery \everydefinedfont \relax
\def\dodefinedfont[#1]%
- {\iffirstargument\definefont[\string\definedfont][#1]\fi
- \csname\string\definedfont\endcsname
+ {\iffirstargument\definefont[\string\thedefinedfont][#1]\fi
+ \csname\string\thedefinedfont\endcsname % can be \relax
\the\everydefinedfont}
\unexpanded\def\definedfont
@@ -4171,14 +4171,16 @@
%D Since we know what scaling it to be applied, we can
%D implement a much faster alternative:
+\let\thedefinedfont\relax
+
\def\symbolicscaledfont#1#2%
{\scaledfont\fontbody
\scaledfont#1\scaledfont
- \font\definedfont\truefontname{\glyphfontfile{#2}} at
+ \font\thedefinedfont\truefontname{\glyphfontfile{#2}} at
\currentfontbodyscale\scaledfont
- \definedfont}
+ \thedefinedfont}
-\def\symbolicfont
+\unexpanded\def\symbolicfont
{\symbolicscaledfont\plusone}
\unexpanded\def\getglyph#1#2% slow, faster, much faster
@@ -4192,9 +4194,8 @@
\unexpanded\def\getrawglyph#1#2% for simple symbols
{{\scaledfont\fontbody
- \font\definedfont=#1 at \currentfontbodyscale\scaledfont
- %\definedfont#2}}
- \definedfont\doifnumberelse{#2}\char\donothing#2}}
+ \font\thedefinedfont=#1 at \currentfontbodyscale\scaledfont
+ \thedefinedfont\doifnumberelse{#2}\char\donothing#2}}
%D The last implementation of \type {\getglyph} permits
%D definitions like:
@@ -4666,8 +4667,9 @@
\definefont[tinyfont][Mono at 1ex]
-\protect \endinput
-
+%D \macros
+%D {doiffontpresentelse}
+%D
%D Some unused left||overs:
%D
%D \starttyping
@@ -4680,3 +4682,43 @@
%D \def\abortiffontnotfound#1%
%D {\doiffontpresentelse{#1}{}{\showmessage\m!fonts{10}{\truefontname{#1}}\endinput}}
%D \stoptyping
+%D
+%D We now provide (slow, but sometimes handy):
+%D
+%D \starttyping
+%D \doiffontpresentelse{texnansi-lmr10}{YES}{NO}
+%D \doiffontpresentelse{adam-lindsay-modern-serif}{YES}{NO}
+%D \stoptyping
+
+\beginTEX
+
+\def\doiffontpresentelse#1%
+ {\bgroup
+ \batchmode\font\dummy=\truefontname{#1}\errorstopmode
+ \edef\lastfontname{\fontname\dummy}%
+ \ifx\lastfontname\nullfontname
+ \egroup\expandafter\secondoftwoarguments
+ \else
+ \egroup\expandafter\firstoftwoarguments
+ \fi}
+
+\endTEX
+
+\beginETEX \interactionmode
+
+\def\doiffontpresentelse#1%
+ {\bgroup
+ \scratchcounter\interactionmode
+ \batchmode
+ \font\dummy=\truefontname{#1}\relax
+ \interactionmode\scratchcounter
+ \edef\lastfontname{\fontname\dummy}%
+ \ifx\lastfontname\nullfontname
+ \egroup\expandafter\secondoftwoarguments
+ \else
+ \egroup\expandafter\firstoftwoarguments
+ \fi}
+
+\endETEX
+
+\protect \endinput
diff --git a/tex/context/base/page-imp.tex b/tex/context/base/page-imp.tex
index e36d90777..b54dcfa99 100644
--- a/tex/context/base/page-imp.tex
+++ b/tex/context/base/page-imp.tex
@@ -915,12 +915,6 @@
\processcommalist[#2]\docommando}}%
\egroup}
-\def\dowithrange#1#2% #2 takes number
- {\beforesplitstring#1\at:\to\fromrange
- \aftersplitstring #1\at:\to\torange
- \ifx\torange\empty\let\torange\fromrange\fi
- \dostepwiserecurse\fromrange\torange1{#2{\recurselevel}}}
-
\def\dofilterpage#1#2%
{\hbox to \textwidth
{\ifdubbelzijdig\ifdim\@@ipwidth>\zeropoint\relax\ifodd\realpageno\else
diff --git a/tex/context/base/page-lin.tex b/tex/context/base/page-lin.tex
index 83f8d3608..a7e7baea0 100644
--- a/tex/context/base/page-lin.tex
+++ b/tex/context/base/page-lin.tex
@@ -399,7 +399,7 @@
[\@@phstate]
[\v!start=>\let\showparagraphnumber\doshowparagraphnumberA,
\v!stop=>\let\showparagraphnumber\relax,
- \v!line=>\let\showparagraphnumber\doshowparagraphnumberB,
+ \v!line=>\let\showparagraphnumber\doshowparagraphnumberB,
\v!reset=>\global\internalparagraphnumber\zerocount
\let\showparagraphnumber\doshowparagraphnumberA]}
diff --git a/tex/context/base/page-mar.tex b/tex/context/base/page-mar.tex
index 4537a2920..096ab8277 100644
--- a/tex/context/base/page-mar.tex
+++ b/tex/context/base/page-mar.tex
@@ -106,8 +106,11 @@
\definemarginline[atleftmargin] [\c!location=\v!left, \c!command=\lrlap,\c!width=\zeropoint,\c!distance=\zeropoint,\c!hoffset=\zeropoint]
\definemarginline[atrightmargin][\c!location=\v!right,\c!command=\rllap,\c!width=\zeropoint,\c!distance=\zeropoint,\c!hoffset=\zeropoint]
-\ifx\lrlap\undefined \def\lrlap#1{\llap{\rlap{#1}\hskip\leftskip}} \fi
-\ifx\rllap\undefined \def\rllap#1{\rlap{\hskip\hsize\hskip-\rightskip\llap{#1}}} \fi
+\ifx\lrlap\undefined \def\lrlap#1{\llap{\rlap{#1}}} \fi
+\ifx\rllap\undefined \def\rllap#1{\rlap{\llap{#1}}} \fi
+
+\def\lrlap#1{\llap{\rlap{#1}}}
+\def\rllap#1{\rlap{\hskip\hsize\llap{#1}}}
%D We want to keep things efficient and therefore only handle
%D situations like:
diff --git a/tex/context/base/prop-lay.tex b/tex/context/base/prop-lay.tex
index 1e2726d29..749848fa8 100644
--- a/tex/context/base/prop-lay.tex
+++ b/tex/context/base/prop-lay.tex
@@ -17,13 +17,24 @@
\unprotect
+% \def\checklayerproperty
+% {\dodefineviewerlayer
+% \currentproperty % tag
+% {\checkedpropertyparameter\c!title\currentproperty}%
+% {\checkedpropertyparameter\c!state\v!start}% visible or hidden
+% {0}% type (1=frozen)
+% {0}}% printable
+
\def\checklayerproperty
- {\dodefineviewerlayer
+ {\doifelse{\checkedpropertyparameter\v!printable\currentproperty}\v!no
+ {\def\printviewerlayer{0}}%
+ {\def\printviewerlayer{1}}
+ \dodefineviewerlayer
\currentproperty % tag
{\checkedpropertyparameter\c!title\currentproperty}%
{\checkedpropertyparameter\c!state\v!start}% visible or hidden
{0}% type (1=frozen)
- {0}}% printable
+ {\printviewerlayer}}% 1=printable
\def\startlayerproperty
{\dostartviewerlayer\currentproperty}
diff --git a/tex/context/base/s-mod-00.tex b/tex/context/base/s-mod-00.tex
index ba8e24235..ce260236d 100644
--- a/tex/context/base/s-mod-00.tex
+++ b/tex/context/base/s-mod-00.tex
@@ -20,7 +20,7 @@
\mainlanguage[en] % better not here
-\usemodule[eenheid]
+\usemodule[units]
\enableactivediscretionaries \newprettytrue
@@ -63,7 +63,7 @@
{\startglobal % i.v.m. \bgroup in \startdocumentation
\getrawparameters[Module][#1]
\stopglobal % i.v.m. \bgroup in \startdocumentation
- \moduletitel}
+ \moduletitle}
\def\stopmodule
{\page
@@ -80,7 +80,7 @@
% \startmode[atpragma]
%
-% \def\TitelPagina#1% can be done more efficient
+% \def\TitlePage#1% can be done more efficient
% {\startMPrun
% mpgraph := #1 ;
% input mp-cont ;
@@ -90,7 +90,7 @@
% [\c!height=\vsize,
% \c!width=\hsize]}
%
-% \defineoverlay[titelpagina][\TitelPagina{512}]
+% \defineoverlay[titlepage][\TitlePage{512}]
%
% \stopmode
@@ -135,7 +135,7 @@
\stopuseMPgraphic
\defineoverlay
- [titelpagina]
+ [titlepage]
[\useMPgraphic{titlepage}]
\doifmode{atpragma}{\readfile{s-mod-04.tex}{}{}}
@@ -159,7 +159,7 @@
\c!height=\v!middle,
\c!width=\v!middle]
-\def\moduletitel
+\def\moduletitle
{\setuplayout[titlepage]
\ifx\ModuleNumber\undefined \else
\ifnum\ModuleNumber<10
@@ -169,7 +169,7 @@
\fi\fi
\setupbackgrounds
[\v!page]
- [\c!background=titelpagina]
+ [\c!background=titlepage]
\fi
\startmakeup[\v!standard][\c!headerstate=\v!none,\c!footerstate=\v!none]
\switchtobodyfont[14.4pt,ss]
diff --git a/tex/context/base/s-mod-02.tex b/tex/context/base/s-mod-02.tex
index 09fbca288..b6260ab38 100644
--- a/tex/context/base/s-mod-02.tex
+++ b/tex/context/base/s-mod-02.tex
@@ -20,31 +20,31 @@
% todo: internationalize + setups
-\setuphead[paragraaf][expansie=commando]
+\setuphead[paragraaf][expansion=command]
\def\complexmodule[#1]% redefined
{\startglobal % i.v.m. \bgroup in \startdocumentation
\getparameters[Module][#1]
\stopglobal % i.v.m. \bgroup in \startdocumentation
- \paragraaf{\Modulesubtitle}
- \SchrijfLijstenWeg}
+ \section{\Modulesubtitle}
+ \WriteLists}
-\def\stopmodule% redefined
+\def\stopmodule % redefined
{\page
\determineregistercharacteristics
[index]
- [criterium=paragraaf]
+ [criterium=section]
\ifutilitydone
\pagereference
[index]
\placeregister
[index]
- [balanceren=ja,
- aanduiding=nee,
- criterium=paragraaf]
+ [balance=yes,
+ indicator=no,
+ criterium=section]
\fi}
-\let\StelLijstenSamen=\relax
+\let\ComposeLists=\relax
\newcounter\ModuleNumber
@@ -52,54 +52,56 @@
\def\WriteBatchFile
{\doglobal\increment\ModuleNumber
- \immediate\write\BatchFile{call modu-run \FileName\space \ModuleNumber}}
+% \immediate\write\BatchFile{call modu-run \FileName\space \ModuleNumber}}
+% \immediate\write\BatchFile{texmfstart texutil --modu \FileName}}
+ \immediate\write\BatchFile{texmfstart texexec --pdf --modu \FileName}}
\newif\ifProcessingPublic
-\def\SchrijfLijstenWeg
+\def\WriteLists
{\writetolist[FileNames] {}{\FileName}
\writetolist[GroupItems]{}{\GroupItem}}
-\def\moduletitel{}
+\def\moduletitle{}
\def\TypeZeroModule#1%
- {\paragraaf{[to be extracted: #1]}
+ {\section{[to be extracted: #1]}
{\em This module is not yet split off.}
- \SchrijfLijstenWeg}
+ \WriteLists}
\def\TypeOneModule#1%
- {\paragraaf{[to be documented: #1]}
+ {\section{[to be documented: #1]}
{\em This module is not yet fully documented.}
- \SchrijfLijstenWeg}
+ \WriteLists}
\def\TypeTwoModule#1%
{\ifProcessingPublic
\readfile{#1.ted}{}{}%
\WriteBatchFile
\else
- \paragraaf{[not yet public: #1]}
+ \section{[not yet public: #1]}
{\em This module is documented but not yet public.}
- \SchrijfLijstenWeg
+ \WriteLists
\fi}
\def\TypeThreeModule#1%
{\readfile{#1.ted}{}{}%
\WriteBatchFile}
-\def\verwerkmodule#1#2%
+\def\processmodule#1#2%
{\page
\bgroup
\def\FileName{#1}
\setupreferencing[prefix=#1]
\useexternaldocument[PaperVersion][#1][]
\aftersplitstring#1\at-\to\GroupItem
- \StelLijstenSamen
+ \ComposeLists
\ifcase#2
\TypeZeroModule{#1}
\or
\TypeOneModule{#1}
\or
- \TypeTwoModule{#1} % \TypeThreeModule{#1}
+ \TypeTwoModule{#1}
\or
\TypeThreeModule{#1}
\fi
@@ -107,51 +109,48 @@
\setupreferencing[prefix=]
\egroup}
-\def\ModuleGroep#1#2%
+\def\ModuleGroup#1#2%
{\page
\let\Modulefile=\empty
\setupreferencing[prefix=#1]
\def\FileGroup{#1}
\writetolist[FileGroups]{}{\FileGroup}
- \hoofdstuk[inhoud]{#2}
- \MaakLijstMetItems
- \MaakLijstMetNames
- \MaakLijstMetGroups
- \plaatsinhoud[criterium=hoofdstuk,niveau=paragraaf]}
+ \chapter[content]{#2}
+ \MakeListOfItems
+ \MakeListOfNames
+ \MakeListOfGroups
+ \placecontent[criterium=chapter,level=section]}
% Layout
\setupbodyfont
- [9pt,ams]
-
-\mainlanguage
- [en]
+ [9pt]
\setuppapersize
[S6][S6]
\setuplayout
- [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]
+ [backspace=72.5pt,
+ leftmargin=50pt,
+ leftmargindistance=12.5pt,
+ rightmargin=0pt,
+ rightedge=80pt,
+ rightedgedistance=10pt,
+ leftedge=0pt,
+ width=430pt,
+ topspace=10pt,
+ header=0pt,
+ footer=30pt,
+ bottomdistance=10pt,
+ bottom=15pt,
+ height=410pt,
+ style=\ss]
\setuptyping
[palet=colorpretty]
\setupsetup
- [verwijzing=3]
+ [reference=3]
\definecolor [AchtergrondKleur] [s=.6]
\definecolor [ButtonKleur] [r=.2,g=.2,b=.6]
@@ -163,83 +162,83 @@
\definecolor [colorprettyfour] [r=.6,g=.6,b=.0] % yellow
\setupinteraction
- [status=start,
- pagina=ja,
- contrastkleur=,
- menu=aan,
- kleur=]
+ [state=start,
+ page=yes,
+ contrastcolor=,
+ menu=on,
+ color=]
\setupbackgrounds
- [pagina]
- [achtergrond=kleur,
- achtergrondkleur=AchtergrondKleur,
+ [page]
+ [background=color,
+ backgroundcolor=AchtergrondKleur,
offset=2.5pt] % this offset influences the menus!
\setupbackgrounds
- [tekst,voet]
- [tekst,linkermarge]
- [achtergrond=kleur,
- achtergrondkleur=wit]
+ [text,footer]
+ [text,leftmargin]
+ [background=color,
+ backgroundcolor=white]
\setupsubpagenumber
- [wijze=perparagraaf,
- status=start]
+ [way=bysection,
+ state=start]
\setupinteractionbar
- [kader=uit,
+ [frame=off,
offset=0pt,
- hoogte=passend]
+ height=fit]
\setupwhitespace
- [groot]
+ [big]
\setuptyping
- [typen]
- [optie=kleur]
+ [typing]
+ [option=color]
\setuptyping
[definition]
- [optie=kleur]
+ [option=color]
\setuptyping
[file]
- [optie=kleur]
+ [option=color]
\setuppagenumbering
- [variant=enkelzijdig,
- wijze=perparagraaf,
- status=geen]
+ [alternative=singlesided,
+ way=bysection,
+ state=none]
\setupinmargin
- [plaats=links]
+ [location=left]
\setupheads
- [variant=inmarge]
+ [alternative=inmargin]
\setuphead
- [hoofdstuk]
- [letter=\ssc,
- pagina=rechts]
+ [chapter]
+ [style=\ssc,
+ page=right]
\setuphead
- [paragraaf]
- [letter=\ssb,
- pagina=rechts]
+ [section]
+ [style=\ssb,
+ page=right]
\setuplist
- [hoofdstuk]
- [letter=vet,
- na=\blank]
+ [chapter]
+ [style=bold,
+ after=\blank]
\setupcontent
- [breedte=2em]
+ [width=2em]
\setupindex
- [balanceren=ja,
- aanduiding=nee]
+ [balance=yes,
+ indicator=no]
\setupcolors
- [status=start]
+ [state=start]
\def\TitelBlad#1%
{\startstandardmakeup
@@ -256,24 +255,25 @@
\vfilll
\midaligned{\KleinFont\setstrut\strut PRAGMA ADE}
\vskip24pt
- \midaligned{\KleinFont\setstrut\strut www.pragma-ade.nl --- \currentdate}
+ \midaligned{\KleinFont\setstrut\strut www.pragma-ade.com --- \currentdate}
\vskip12pt
\stopcolor
\stopstandardmakeup}
-\def\ColofonBlad%
+\def\ColofonBlad
{\startmode[atpragma]
\page
\bgroup
\def\PragmaHoogte {\makeupheight}
\def\PragmaBreedte{\textwidth}
\def\PragmaKopwit {\topspace}
- \def\PragmaRugwit {\rugwit}
+ \def\PragmaRugwit {\backspace}
\def\PragmaMarge {0pt}
\PragmaLijnentrue
\PlaatsPragmaLogo[ADE]
\vfill
- \startnarrower[3*midden]
+ todo: colofon
+ \startnarrower[3*middle]
This is the official documentation of \CONTEXT\ version
\referraldate, a \TEX\ macropackage developed by J.~Hagen
\& A.F.~Otten, who both hold the copyrights.
@@ -282,10 +282,13 @@
\page
\egroup
\stopmode}
+
+\def\ColofonBlad
+ {}
-\newbox\LijstMetItems
-\newbox\LijstMetGroups
-\newbox\LijstMetNames
+\newbox\ListOfItems
+\newbox\ListOfGroups
+\newbox\ListOfNames
\definelist[FileNames] \def\FileName {}
\definelist[FileGroups] \def\FileGroup {}
@@ -293,48 +296,48 @@
\setuplist
[FileNames,FileGroups,FileGroups]
- [expansie=ja,
- paginanummer=nee,
- letter=\ss\bf]
+ [expansion=yes,
+ pagenumber=no,
+ style=\ss\bf]
\setuplist
[FileNames]
- [commando=\FileNameEntry,
- na=\endgraf,
- variant=geen]
+ [command=\FileNameEntry,
+ after=\endgraf,
+ alternative=none] % horizontal
\setuplist
[FileGroups]
- [commando=\FileGroupEntry,
- na=\hss,
- variant=geen]
+ [command=\FileGroupEntry,
+ after=\hss,
+ alternative=horizontal]
\def\FileNameEntry#1#2#3%
{\strut\hbox{#2}\endgraf}
\def\FileGroupEntry#1#2#3%
- {\strut#2\endgraf}
+ {\strut\hbox{#2}\endgraf}
-\def\MaakLijstMetItems
- {\setbox\LijstMetItems=\vbox
+\def\MakeListOfItems
+ {\setbox\ListOfItems=\vbox
{\ss\bf
- \placelist[GroupItems][kleur=ButtonKleur,contrastkleur=wit,criterium=hoofdstuk]}}
+ \placelist[GroupItems][color=ButtonKleur,contrastcolor=white,criterium=chapter]}}
-\def\MaakLijstMetNames
- {\setbox\LijstMetNames=\vbox
+\def\MakeListOfNames
+ {\setbox\ListOfNames=\vbox
{\hsize\rightedgewidth
- \ss\bf\stelinterliniein
- \startsimplecolumns[afstand=10pt]
- \placelist[FileNames][kleur=ButtonKleur,contrastkleur=wit,criterium=hoofdstuk]
+ \ss\bf\setupinterlinespace
+ \startsimplecolumns[distance=10pt]
+ \placelist[FileNames][color=ButtonKleur,contrastcolor=white,criterium=chapter]
\stopsimplecolumns}}
-\def\MaakLijstMetGroups
- {\setbox\LijstMetGroups=\hbox to \textwidth
+\def\MakeListOfGroups
+ {\setbox\ListOfGroups=\hbox to \textwidth
{\ss\bf
- \setupinteraction[kleur=ButtonKleur]%
- \placelist[FileGroups][kleur=ButtonKleur,contrastkleur=wit,criterium=alles]\unskip\unskip}}
+ \setupinteraction[color=ButtonKleur]%
+ \placelist[FileGroups][color=ButtonKleur,contrastcolor=white,criterium=all]\unskip\unskip}}
-\setbox\LijstMetGroups=\hbox{}
+\setbox\ListOfGroups=\hbox{}
%\setupfootertexts
% [rand]
@@ -342,73 +345,73 @@
% [{\interactiebalk[variant=g]}]
\setupinteractionmenu
- [rechts,onder]
- [status=start,
- kader=uit,
- kleur=AchtergrondKleur,
- contrastkleur=wit,
- letter=\ss\bf,
- hoogte=15pt,
+ [right,bottom]
+ [state=start,
+ frame=off,
+ color=AchtergrondKleur,
+ contrastcolor=white,
+ style=\ss\bf,
+ height=15pt,
offset=0pt,
- tussen=\vskip5pt,
- achtergrond=kleur,
- achtergrondkleur=ButtonKleur]
+ inbetween=\vskip5pt,
+ background=color,
+ backgroundcolor=ButtonKleur]
-\startinteractionmenu[rechts]
- \boxofsize \vbox \textheight \voetafstand \voethoogte 5pt
+\startinteractionmenu[right]
+ \boxofsize \vbox \textheight \footerdistance \footerheight 5pt
\bgroup
- \copy\LijstMetNames
+ \copy\ListOfNames
\vfill
- \but [\FileGroup:inhoud] local contents \\
+ \but [\FileGroup:content] local contents \\
\but [\FileName:index] local register \\
\but [PaperVersion::begin] paper version \\
- \but [inhoud] main contents \\
+ \but [content] main contents \\
\but [index] main register \\
- \but [VorigeSprong] previous jump \\
- \but [VerlaatViewer] close document \\
+ \but [PreviousJump] previous jump \\
+ \but [CloseDocument] close document \\
\unskip
\egroup
\stopinteractionmenu
-\startinteractionmenu[onder]
- \unhcopy\LijstMetGroups
+\startinteractionmenu[bottom]
+ \unhcopy\ListOfGroups
\stopinteractionmenu
-\def\plaatsmoduleregister
+\def\placemoduleregister
{\startbackmatter
\setupsubpagenumber[reset]
\title[-:index]{Register}
\placeregister[index]
\stopbackmatter}
-\def\plaatsmoduleinhoud
+\def\placemodulecontent
{\startfrontmatter
- \title[-:inhoud]{Contents}
- \setupinteractionbar[status=stop]
- \placecontent[criterium=tekst,niveau=hoofdstuk]
+ \title[-:content]{Contents}
+ \setupinteractionbar[state=stop]
+ \placecontent[criterium=text,level=chapter]
\stopfrontmatter}
\setupcontent
- [paginanummer=nee,
- niveau=hoofdstuk,
- interactie=alles,
- letter=,
- voor=,
- na=]
+ [pagenumber=no,
+ level=chapter,
+ interaction=all,
+ style=,
+ before=,
+ after=]
\setupfootertexts
- [marge]
+ [margin]
[\tt\Modulefile]
[]
\setupfootertexts
- [tekst]
- [hoofdstuk][paragraaf]
+ [text]
+ [chapter][chapter]
\setupindex
- [symbool=1]
+ [symbol=1]
\setuptolerance
- [zeersoepel]
+ [verytolerant]
\endinput
diff --git a/tex/context/base/spec-fdf.tex b/tex/context/base/spec-fdf.tex
index b54d8cf42..7b565af21 100644
--- a/tex/context/base/spec-fdf.tex
+++ b/tex/context/base/spec-fdf.tex
@@ -3089,7 +3089,7 @@
\ifcase#4 \or
/Intent /Design % disable layer hiding by user
\fi
- \ifcase#5 \or
+ \ifnum#5=\zerocount
/Usage << /Print << /PrintState /OFF >> >> % printable or not
\fi
/Name (#2)}%
diff --git a/tex/context/base/supp-box.tex b/tex/context/base/supp-box.tex
index 741a9cf8e..7680eb6af 100644
--- a/tex/context/base/supp-box.tex
+++ b/tex/context/base/supp-box.tex
@@ -2878,4 +2878,29 @@
\def\getboxllx#1{\executeifdefined{b@@x\number#1}\zeropoint}
\def\getboxlly#1{\executeifdefined{b@@y\number#1}\zeropoint}
+%D \macros
+%D {shownextbox}
+%D
+%D Handy for tracing
+%D
+%D \starttyping
+%D \shownextbox\vbox{test}
+%D \shownextbox\vbox{test\endgraf}
+%D \shownextbox\vbox{test\endgraf\strut\endgraf}
+%D \shownextbox\vbox{test\endgraf\thinrule}
+%D \shownextbox\vbox{\setupwhitespace[big]test\endgraf\thinrule}
+%D \stoptyping
+
+\def\shownextbox
+ {\dowithnextbox
+ {\bgroup
+ \showboxbreadth\maxdimen
+ \showboxdepth \maxdimen
+ \scratchcounter\interactionmode
+ \batchmode
+ \showbox\nextbox
+ \box\nextbox
+ \interactionmode\scratchcounter
+ \egroup}}
+
\protect \endinput
diff --git a/tex/context/base/supp-mpe.tex b/tex/context/base/supp-mpe.tex
index e92191cb5..da1641d3d 100644
--- a/tex/context/base/supp-mpe.tex
+++ b/tex/context/base/supp-mpe.tex
@@ -27,6 +27,17 @@
%D extensions, we will generalize these macro. Some
%D definitions will move to the special drivers.
+%D For usage in plain \TEX, say something:
+%D
+%D \starttyping
+%D \input supp-pdf
+%D \input supp-mpe
+%D
+%D \MPcmykcolorstrue
+%D \MPspotcolorstrue
+%D \chardef\makeMPintoPDFobject\plusone
+%D \stoptyping
+
\writestatus{loading}{MetaPost Special Extensions}
%D We implement extensions by using the \METAPOST\ special
diff --git a/tex/context/base/supp-mps.tex b/tex/context/base/supp-mps.tex
index 2cddcc746..23e6ccc89 100644
--- a/tex/context/base/supp-mps.tex
+++ b/tex/context/base/supp-mps.tex
@@ -1246,6 +1246,12 @@
\catcode`\}=\@@active
\catcode`B=\@@begingroup
\catcode`E=\@@endgroup
+\gdef\keepMPspecials|
+ B\let%\letterpercent|
+ \def[B\noexpand[E|
+ \def]B\noexpand]E|
+ \def{B\noexpand{E|
+ \def}B\noexpand}EE
\gdef\ignoreMPspecials|
B\let%\letterpercent|
\def[BE|
diff --git a/tex/context/base/supp-pdf.tex b/tex/context/base/supp-pdf.tex
index 4ef82cdb7..0ccadb350 100644
--- a/tex/context/base/supp-pdf.tex
+++ b/tex/context/base/supp-pdf.tex
@@ -431,6 +431,9 @@
%D percent characters in a string. So, from now on we have
%D to prefix the following strings with percentages.
+%D Some day I'll figure out a better solution (line by line reading
+%D using \ETEX).
+
\edef \PSBoundingBox {\letterpercent\letterpercent BoundingBox:}
\edef \PSHiResBoundingBox {\letterpercent\letterpercent HiResBoundingBox:}
\edef \PSExactBoundingBox {\letterpercent\letterpercent ExactBoundingBox:}
@@ -571,6 +574,25 @@
\def\octalMPcharacter#1#2#3%
{\char'#1#2#3\relax}
+
+%D curly braces and squarly brackets are stored in the argument stack
+%D as part of strings, for instance in:
+%D
+%D \starttyping
+%D /fshow {exch findfont exch scalefont setfont show}bind def
+%D [3 3 ] 0 setdash
+%D \stoptyping
+%D
+%D but we need to keep them in situation like
+%D
+%D \starttyping
+%D ([bla bla] bla bla) ec-lmr10 9.96265 fshow
+%D ({bla bla} bla bla) ec-lmr10 9.96265 fshow
+%D \stoptyping
+%D
+%D So, when we store the snippets, we keep the special tokens, and
+%D when needed we either ignore or obey them
+
\bgroup
\catcode`\|=\@@comment
\catcode`\%=\@@active
@@ -580,6 +602,12 @@
\catcode`\}=\@@active
\catcode`B=\@@begingroup
\catcode`E=\@@endgroup
+\gdef\keepMPspecials|
+ B\let%\letterpercent|
+ \def[B\noexpand[E|
+ \def]B\noexpand]E|
+ \def{B\noexpand{E|
+ \def}B\noexpand}EE
\gdef\ignoreMPspecials|
B\let%\letterpercent|
\def[BE|
@@ -640,7 +668,7 @@
%D \type{\input} primitive.)
\def\startMPconversion
- {\ignoreMPspecials
+ {\keepMPspecials
\handleMPsequence}
%D Here comes the main loop. Most arguments are numbers. This
@@ -836,6 +864,9 @@
\dimen2=\MPyscale\dimen2
\xdef\MPheight{\the\dimen2}%
\chardef\currentMPboundingbox#1\relax
+ \else
+ \xdef\MPheight{\zeropoint}%
+ \xdef\MPwidth {\zeropoint}%
\fi
\doresetMPstack
\let\handleMPsequence\dohandleMPsequence
@@ -896,6 +927,7 @@
{\bgroup
\setbox\scratchbox\hbox
{\obeyMPspecials
+ \let\ \relax % mp breaks long lines and appends a \
\edef\size{\gMPa\nofMParguments}%
\ifx\size\PSnfont % round font size (to pt)
\advance\nofMParguments \minusone
@@ -996,6 +1028,7 @@
\def\handleMPsetdash
{\bgroup
+ \ignoreMPspecials
\def\somestring{[}%
\scratchcounter\plusone
\loop
diff --git a/tex/context/base/supp-ran.tex b/tex/context/base/supp-ran.tex
index 8c83e6735..c21d677b8 100644
--- a/tex/context/base/supp-ran.tex
+++ b/tex/context/base/supp-ran.tex
@@ -52,16 +52,46 @@
{\writestatus{loading}{Donald Arseneau's 'random.tex' (found)}}
{\writestatus{loading}{Donald Arseneau's 'random.tex' (not found)}}
+ % avoid scratch dimens 0 and 2 (already recoded in third-ran)
+ %
+ % \def\setrandim#1#2#3% dimen register, minimum length, maximum length
+ % {\scratchdimen#2\edef\!!stringa{\number\scratchdimen}%
+ % \scratchdimen#3\edef\!!stringb{\number\scratchdimen}%
+ % \setrannum\ranval\!!stringa\!!stringb
+ % #1\ranval\s!sp\relax}
+
\fi
\ifx\nextrandom\undefined
- \def\setrannum#1#2#3{#1\plusone}
- \def\setrandim#1#2#3{#1\onepoint}
+ \writestatus{loading}{using fake randomizer}
-\else
+ \newcount\randomi
+
+ \def\setrandim#1#2#3{\scratchdimen #2\relax#1\scratchdimen }
+ \def\setrannum#1#2#3{\scratchcounter#2\relax#1\scratchcounter}
- \let\verynormalnextrandom = \nextrandom
+ \let\nextrandom\relax
+
+% \def\getrandomdimen #1#2#3{\scratchdimen #2\relax#1\scratchdimen }
+% \def\getrandomcount #1#2#3{\scratchcounter#2\relax#1\scratchcounter}
+% \def\getrandomnumber#1#2#3{\edef#1{0}}
+% \def\getrandomfloat #1#2#3{\edef#1{0}}
+% \unexpanded\def\setrandomseed #1{}
+% \unexpanded\def\getrandomseed #1{\edef#1{0}}
+
+% \chardef\randomseedfrozen\zerocount
+
+% \def\freezerandomseed {\global\chardef\randomseedfrozen\plusone }
+% \def\defrostrandomseed{\global\chardef\randomseedfrozen\zerocount}
+
+\fi
+
+\ifx\nextrandom\undefined \endinput \fi
+
+\ifx\ptexuniformdeviate\undefined
+
+ \let\verynormalnextrandom\nextrandom
\def\normalnextrandom
{\bgroup
@@ -72,28 +102,45 @@
\verynormalnextrandom
\egroup}
- \chardef\randomseedfrozen\zerocount
+\else
- \def\nextrandom
- {\bgroup
- \normalnextrandom
- \gdef\nextrandom{\ifcase\randomseedfrozen\normalnextrandom\fi}%
- \egroup}
+ % Yet untested.
- % avoid scratch dimens 0 and 2 (already recoded in third-ran
- %
- % \unprotect
- %
- % \def\setrandim#1#2#3% dimen register, minimum length, maximum length
- % {\scratchdimen#2\edef\!!stringa{\number\scratchdimen}%
- % \scratchdimen#3\edef\!!stringb{\number\scratchdimen}%
- % \setrannum\ranval\!!stringa\!!stringb
- % #1\ranval\s!sp\relax}
- %
- % \protect
+ \writestatus{loading}{using tex's built in randomizer (overloading macro)}
+
+ % For the meaning of the magic number, see \type {thrd-ran.tex}.
+
+ % \def\normalnextrandom
+ % {\setrandomseed\randomi
+ % \global\randomi\ptexuniformdeviate2147483647\relax}
+
+ % Taco suggested to use the following alternative because \type
+ % {\ptexuniformdeviate} can return a zero (as expected) while
+ % Donalds's alternative has a minimum of~1.
+
+ \beginTEX
+ \def\nextrandom
+ {\ptexsetrandomseed\randomi
+ \global\randomi\ptexuniformdeviate2147483646%
+ \global\advance\randomi\plusone}
+ \endTEX
+
+ \beginETEX \numexpr
+ \def\nextrandom
+ {\ptexsetrandomseed\randomi
+ \global\randomi\numexpr\ptexuniformdeviate2147483646+1\relax}
+ \endETEX
\fi
+\def\nextrandom
+ {\bgroup
+ \normalnextrandom
+ \gdef\nextrandom{\ifcase\randomseedfrozen\normalnextrandom\fi}%
+ \egroup}
+
+\chardef\randomseedfrozen\zerocount
+
\def\freezerandomseed
{\ifcase\randomseedfrozen
\nextrandom \global\chardef\randomseedfrozen\plusone
@@ -104,8 +151,8 @@
\global\chardef\randomseedfrozen\zerocount \nextrandom
\fi}
-\let\getrandomcount = \setrannum
-\let\getrandomdimen = \setrandim
+\let\getrandomcount\setrannum
+\let\getrandomdimen\setrandim
\def\getrandomnumber#1#2#3%
{\getrandomcount\scratchcounter{#2}{#3}%
diff --git a/tex/context/base/syst-gen.tex b/tex/context/base/syst-gen.tex
index baffb4636..25e5390af 100644
--- a/tex/context/base/syst-gen.tex
+++ b/tex/context/base/syst-gen.tex
@@ -300,7 +300,7 @@
%D \macros
%D {scratchcounter,
%D scratchdimen,scratchskip,scratchmuskip,
-%D scratchbox,globalscratchbox,
+%D scratchbox,
%D scratchtoks,
%D ifdone}
%D
diff --git a/tex/context/base/syst-new.tex b/tex/context/base/syst-new.tex
index 5c2f21c99..0172745bf 100644
--- a/tex/context/base/syst-new.tex
+++ b/tex/context/base/syst-new.tex
@@ -809,4 +809,15 @@
\xdef\globalascii{\globalascii#1}%
\fi}
+%D \macros
+%D {dowithrange}
+%D
+%D This one is for Mojca Miklavec, who made me aware of the fact that
+%D \type {page-imp.tex} was not the best place to hide it.
+
+\def\dowithrange#1#2% #2 takes number
+ {\splitstring#1\at:\to\fromrange\and\torange
+ \ifx\torange\empty\let\torange\fromrange\fi
+ \dostepwiserecurse\fromrange\torange1{#2{\recurselevel}}}
+
\protect \endinput
diff --git a/tex/context/base/syst-prm.tex b/tex/context/base/syst-prm.tex
index 9864dc5d4..f282d0baa 100644
--- a/tex/context/base/syst-prm.tex
+++ b/tex/context/base/syst-prm.tex
@@ -132,10 +132,17 @@
\def\dump{\the\everydump\normaldump}
%D Ligature prevention (for instance, ec encoding has ligatures
-%D in mono spaced fonts).
+%D in mono spaced fonts). Alas, we need to do some testing in order
+%S to get to the ptex'd one.
-\ifx\noligatures\undefined
- \def\noligatures#1{}
+\ifx\ptexnoligatures\undefined
+ \ifx\noligatures\undefined
+ \def\noligatures#1{}
+ \else
+ % let's assume that it takes a font tag as argument
+ \fi
+\else
+ \let\noligatures\ptexnoligatures
\fi
\let\normalnoligatures\noligatures
diff --git a/tex/context/base/syst-var.tex b/tex/context/base/syst-var.tex
new file mode 100644
index 000000000..6dbaae92d
--- /dev/null
+++ b/tex/context/base/syst-var.tex
@@ -0,0 +1,23 @@
+%D \module
+%D [ file=syst-con,
+%D version=2005.07.04, % moved code
+%D title=\CONTEXT\ System Macros,
+%D subtitle=Variables,
+%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 System Macro's / Variables}
+
+\ifx\undefined\globalscratchcounter \newcount \globalscratchcounter \fi
+\ifx\undefined\globalscratchdimen \newdimen \globalscratchdimen \fi
+\ifx\undefined\globalscratchskip \newskip \globalscratchskip \fi
+\ifx\undefined\globalscratchmuskip \newmuskip\globalscratchmuskip \fi
+\ifx\undefined\globalscratchbox \newbox \globalscratchbox \fi
+\ifx\undefined\globalscratchtoks \newtoks \globalscratchtoks \fi
+
+\endinput
diff --git a/tex/context/base/type-akb.tex b/tex/context/base/type-akb.tex
index 03829f0fd..b49a8f25f 100644
--- a/tex/context/base/type-akb.tex
+++ b/tex/context/base/type-akb.tex
@@ -33,6 +33,8 @@
\starttypescript [adobekb] [8r]
+\loadmapfile[8r-base.map]
+
\definefontsynonym [8r-utmr8a] [ptmr8r] [encoding=8r]
\definefontsynonym [8r-utmri8a] [ptmri8r] [encoding=8r]
\definefontsynonym [8r-utmb8a] [ptmb8r] [encoding=8r]
@@ -89,6 +91,8 @@
\starttypescript [adobekb] [ec]
+\loadmapfile[ec-base.map]
+
\definefontsynonym [ec-utmr8a] [ptmr8t] [encoding=ec]
\definefontsynonym [ec-utmri8a] [ptmri8t] [encoding=ec]
\definefontsynonym [ec-utmb8a] [ptmb8t] [encoding=ec]
@@ -147,6 +151,8 @@
\starttypescript [adobekb] [texnansi]
+\loadmapfile[texnansi-base.map]
+
\definefontsynonym [texnansi-utmr8a] [ptmr8y] [encoding=texnansi]
\definefontsynonym [texnansi-utmri8a] [ptmri8y] [encoding=texnansi]
\definefontsynonym [texnansi-utmb8a] [ptmb8y] [encoding=texnansi]
diff --git a/tex/context/base/type-enc.tex b/tex/context/base/type-enc.tex
index 3fdb36000..91b57dbe7 100644
--- a/tex/context/base/type-enc.tex
+++ b/tex/context/base/type-enc.tex
@@ -105,6 +105,8 @@
\definefontsynonym [cmvtt10] [\typescriptthree-lmvtt10] [encoding=\typescriptthree]
\definefontsynonym [cmvtti10] [\typescriptthree-lmvtto] [encoding=\typescriptthree]
+ \definefontsynonym [cmtcsc10] [\typescriptthree-lmtcsc10] [encoding=\typescriptthree]
+
\stoptypescript
% \starttypescript [all] [computer-modern] [ec] % will become ae
diff --git a/tex/context/base/type-exa.tex b/tex/context/base/type-exa.tex
index 5da0d0638..2d7821d76 100644
--- a/tex/context/base/type-exa.tex
+++ b/tex/context/base/type-exa.tex
@@ -223,10 +223,19 @@
\starttypescript [optima] [texnansi,ec,qx]
- \definetypeface[optima][ss][sans] [optima-nova][default][encoding=texnansi]
- \definetypeface[optima][rm][serif][palatino] [default][encoding=texnansi]
- \definetypeface[optima][tt][mono] [modern] [default][encoding=texnansi,rscale=1.1]
- \definetypeface[optima][mm][math] [palatino] [default][encoding=texnansi]
+ \definetypeface[optima][ss][sans] [optima-nova][default][encoding=\typescripttwo]
+ \definetypeface[optima][rm][serif][palatino] [default][encoding=\typescripttwo]
+ \definetypeface[optima][tt][mono] [modern] [default][encoding=\typescripttwo,rscale=1.1]
+ \definetypeface[optima][mm][math] [palatino] [default][encoding=\typescripttwo]
+
+\stoptypescript
+
+\starttypescript [antykwa-torunska] [texnansi,ec,8r,uc]
+
+ \definetypeface[antykwa][rm][serif][antykwa-torunska] [default][encoding=\typescripttwo]
+ \definetypeface[antykwa][ss][sans] [modern] [default][encoding=\typescripttwo,rscale=1.05]
+ \definetypeface[antykwa][tt][mono] [modern] [default][encoding=\typescripttwo,rscale=1.1]
+ \definetypeface[antykwa][mm][math] [antykwa-torunska] [default][encoding=\typescripttwo]
\stoptypescript
diff --git a/tex/context/base/type-ini.tex b/tex/context/base/type-ini.tex
index 5b6c4e551..59bdd9093 100644
--- a/tex/context/base/type-ini.tex
+++ b/tex/context/base/type-ini.tex
@@ -630,23 +630,45 @@
\let\normaldoreadfontdefinitionfile\doreadfontdefinitionfile
\fi
+% old and obsolete
+%
+% \def\doreadfontdefinitionfile#1#2% #1 = set/switch state
+% {\ifundefined{\??tf#2\c!default}%
+% \pushmacro\fontclass
+% \setcurrentfontclass\empty
+% \pushmacro\@@typescriptone \edef\@@typescriptone {\truetypescript{#2}}%
+% \pushmacro\@@typescripttwo \let\@@typescripttwo \empty
+% \pushmacro\@@typescriptthree\let\@@typescriptthree\empty
+% \typescriptfoundfalse
+% \dododousetypescript{\f!typeprefix pre}%
+% \popmacro\@@typescriptthree
+% \popmacro\@@typescripttwo
+% \popmacro\@@typescriptone
+% \iftypescriptfound \else
+% \normaldoreadfontdefinitionfile{#1}{#2}%
+% \fi
+% \setcurrentfontclass\empty
+% \popmacro\fontclass
+% \else\ifcase#1\relax
+% \switchtotypeface[#2]%
+% \else
+% \setuptypeface[#2]%
+% \fi\fi}
+%
+% new and obeying fontclasses (but still obsolete)
+
\def\doreadfontdefinitionfile#1#2% #1 = set/switch state
{\ifundefined{\??tf#2\c!default}%
- \pushmacro\fontclass
- \setcurrentfontclass\empty
- \pushmacro\@@typescriptone \edef\@@typescriptone {\truetypescript{#2}}%
- \pushmacro\@@typescripttwo \let\@@typescripttwo \empty
- \pushmacro\@@typescriptthree\let\@@typescriptthree\empty
- \typescriptfoundfalse
- \dododousetypescript{\f!typeprefix pre}%
- \popmacro\@@typescriptthree
- \popmacro\@@typescripttwo
- \popmacro\@@typescriptone
- \iftypescriptfound \else
- \normaldoreadfontdefinitionfile{#1}{#2}%
- \fi
- \setcurrentfontclass\empty
- \popmacro\fontclass
+ \pushmacro\starttypescript
+ \scratchtoks\emptytoks
+ % locate downward compatibility definitions, one argument !
+ \long\def\starttypescript[##1]##2\stoptypescript
+ {\doif{##1}{#2}{\scratchtoks{##2}}}
+ \startreadingfile
+ \readfile{\f!typeprefix pre}\donothing\donothing
+ \stopreadingfile
+ \popmacro\starttypescript
+ \the\scratchtoks
\else\ifcase#1\relax
\switchtotypeface[#2]%
\else
diff --git a/tex/context/base/type-pre.tex b/tex/context/base/type-pre.tex
index a1fa0d1cf..ebf2426ed 100644
--- a/tex/context/base/type-pre.tex
+++ b/tex/context/base/type-pre.tex
@@ -14,7 +14,7 @@
%D This file is obsolete. We now have latin modern and proper
%D typescripts. Forget about this file.
-\endinput
+% alas, i'd love to do: \endinput
%D This file defines some typescripts that simulate the pre-typescript way
%D of defining fonts. This file will not be extended.
@@ -25,41 +25,66 @@
%D Times Roman. In this module, that is loaded by default, we
%D define all relevant alternatives.
+% \starttypescript [cmr]
+% \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size]
+% \usemathcollection[default]
+% \stoptypescript
+
\starttypescript [cmr]
- \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size]
- \usemathcollection[default]
+ \usetypescript[modern][default]
+ \setupbodyfont[modern]
\stoptypescript
%D This script remaps the default Computer Modern Font Files
%D onto the EC ones, so that hyphenations work well. (The proper
%D latin modern ec variants have replaed the ae ones.)
+% \starttypescript [aer]
+% \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,ec]
+% \usemathcollection[default]
+% \stoptypescript
+
\starttypescript [aer]
- \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,ec]
- \usemathcollection[default]
+ \usetypescript[modern][ec]
+ \setupbodyfont[modern]
\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 [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,il2]
+% \usemathcollection[default]
+% \stoptypescript
+
\starttypescript [csr]
- \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,il2]
- \usemathcollection[default]
+ \usetypescript[modern][il2]
+ \setupbodyfont[modern]
\stoptypescript
%D This script defines the Computer Modern Roman with a
%D polish encoding, as needed for Czech and other languages.
+% \starttypescript [plr]
+% \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,pl0]
+% \usemathcollection[default]
+% \stoptypescript
+
\starttypescript [plr]
- \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,pl0]
- \usemathcollection[default]
+ \usetypescript[modern][qx]
+ \setupbodyfont[modern]
\stoptypescript
%D Vietnamese.
+% \starttypescript [vnr]
+% \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,t5]
+% \usemathcollection[default]
+% \stoptypescript
+
\starttypescript [vnr]
- \usetypescript [serif,sans,mono,math] [computer-modern,latin-modern] [default,name,size,t5]
- \usemathcollection[default]
+ \usetypescript[modern][t5]
+ \setupbodyfont[modern]
\stoptypescript
%D Cyrillic alternatives are available under the symbolic
@@ -104,26 +129,26 @@
%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]
- \usemathcollection[default]
-\stoptypescript
+% \starttypescript [ams]
+% \usetypescript [math] [ams] [all]
+% \usemathcollection[default]
+% \stoptypescript
%D The Concrete Modern Roman is just an alternative Computer
%D Modern Roman.
-\starttypescript [con]
- \usetypescript [serif] [concrete] [all]
- \usemathcollection[default]
-\stoptypescript
+% \starttypescript [con]
+% \usetypescript [serif] [concrete] [all]
+% \usemathcollection[default]
+% \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]
- \usemathcollection[eul]
-\stoptypescript
+% \starttypescript [eul]
+% \usetypescript [math] [euler] [all]
+% \usemathcollection[eul]
+% \stoptypescript
%D The Lucida Bright fonts are both good looking and and
%D complete. These fonts have prebuilt accented characters,
@@ -132,78 +157,113 @@
%D point bodyfont is indeed never that size. The Lucida Bright
%D fonts come in one design size.
+% \starttypescript [lbr]
+% \usetypescript [serif,sans,mono,math,calligraphy,handwriting] [lucida] [name,special,\defaultencoding]
+% \usetypescript [serif,sans,mono,math,calligraphy,handwriting] [default] [size]
+% \usemathcollection[lbr]
+% \usetypescript [all] [lucida] [\defaultencoding]
+% \stoptypescript
+
\starttypescript [lbr]
- \usetypescript [serif,sans,mono,math,calligraphy,handwriting] [lucida] [name,special,\defaultencoding]
- \usetypescript [serif,sans,mono,math,calligraphy,handwriting] [default] [size]
- \usemathcollection[lbr]
- \usetypescript [all] [lucida] [\defaultencoding]
+ \usetypescript[lucida][\defaultencoding]
\stoptypescript
% %D With thanks to Berthold Horn from YandY for providing me
% %D evaluation copies of the MathTimePlus fonts.
-% todo: \starttypescript [mt,tim]
+% \starttypescript [tim]
+% \usetypescript [math] [times] [all]
+% \usetypescript [math] [default] [size]
+% \usemathcollection[tim]
+% \usetypescript [all] [times] [\defaultencoding]
+% \stoptypescript
\starttypescript [tim]
- \usetypescript [math] [times] [all]
- \usetypescript [math] [default] [size]
- \usemathcollection[tim]
- \usetypescript [all] [times] [\defaultencoding]
+ \usetypescript [times] [\defaultencoding]
+ \setupbodyfont [times]
\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,\defaultencoding]
+% \usetypescript [serif] [default] [size]
+% \usetypescript [all] [antykwa-torunska] [\defaultencoding]
+% \stoptypescript
+
\starttypescript [ant]
- \usetypescript [serif] [antykwa-torunska] [name,\defaultencoding]
- \usetypescript [serif] [default] [size]
- \usetypescript [all] [antykwa-torunska] [\defaultencoding]
+ \usetypescript [antykwa-torunska] [\defaultencoding]
+ \setupbodyfont [antykwa,rm]
\stoptypescript
%D This script defines the Standard Adobe Courier fonts.
+% \starttypescript [pcr]
+% \usetypescript [mono] [courier] [name,\defaultencoding]
+% \usetypescript [mono] [default] [size]
+% \usetypescript [all] [courier] [\defaultencoding]
+% \stoptypescript
+
\starttypescript [pcr]
- \usetypescript [mono] [courier] [name,\defaultencoding]
- \usetypescript [mono] [default] [size]
- \usetypescript [all] [courier] [\defaultencoding]
+ \usetypescript [postscript] [\defaultencoding]
+ \setupbodyfont [postscript,tt]
\stoptypescript
%D This script defines the Standard Adobe Helvetica fonts.
+% \starttypescript [phv]
+% \usetypescript [sans] [helvetica] [name,\defaultencoding]
+% \usetypescript [sans] [default] [size]
+% \usetypescript [all] [helvetica] [\defaultencoding]
+% \stoptypescript
+
\starttypescript [phv]
- \usetypescript [sans] [helvetica] [name,\defaultencoding]
- \usetypescript [sans] [default] [size]
- \usetypescript [all] [helvetica] [\defaultencoding]
+ \usetypescript [postscript] [\defaultencoding]
+ \setupbodyfont [postscript,ss]
\stoptypescript
%D This script defines the Standard Adobe Times fonts.
+% \starttypescript [ptm]
+% \usetypescript [serif] [times] [name,\defaultencoding]
+% \usetypescript [serif] [default] [size]
+% \usetypescript [all] [times] [\defaultencoding]
+% \stoptypescript
+
\starttypescript [ptm]
- \usetypescript [serif] [times] [name,\defaultencoding]
- \usetypescript [serif] [default] [size]
- \usetypescript [all] [times] [\defaultencoding]
+ \usetypescript [postscript] [\defaultencoding]
+ \setupbodyfont [postscript,rm]
\stoptypescript
%D This script loads the Adobe Times Roman, Helvetica and
%D Courier.
+% \starttypescript [pos]
+% \usetypescript [serif] [times] [name,\defaultencoding]
+% \usetypescript [sans] [helvetica] [name,\defaultencoding]
+% \usetypescript [mono] [courier] [name,\defaultencoding]
+% \usetypescript [serif,sans,mono] [default] [size]
+% \usetypescript [all] [times,helvetica,courier] [\defaultencoding]
+% \stoptypescript
+
\starttypescript [pos]
- \usetypescript [serif] [times] [name,\defaultencoding]
- \usetypescript [sans] [helvetica] [name,\defaultencoding]
- \usetypescript [mono] [courier] [name,\defaultencoding]
- \usetypescript [serif,sans,mono] [default] [size]
-% \usetypescript [math] [times] [all]
-% \usetypescript [math] [default] [size]
- \usetypescript [all] [times,helvetica,courier] [\defaultencoding]
+ \usetypescript [postscript] [\defaultencoding]
+ \setupbodyfont [postscript]
\stoptypescript
%D This script defines the Palatino font.
+% \starttypescript [ppl]
+% \usetypescript [serif] [palatino] [name,\defaultencoding]
+% \usetypescript [serif] [default] [size]
+% \usetypescript [all] [palatino] [\defaultencoding]
+% \stoptypescript
+
\starttypescript [ppl]
- \usetypescript [serif] [palatino] [name,\defaultencoding]
- \usetypescript [serif] [default] [size]
- \usetypescript [all] [palatino] [\defaultencoding]
+ \usetypescript [palatino] [\defaultencoding]
+ \setupbodyfont [palatino]
\stoptypescript
%D The following scripts fake the old \type {font-ber} and
diff --git a/tex/context/base/type-siz.tex b/tex/context/base/type-siz.tex
index a9ef1b976..f37141b71 100644
--- a/tex/context/base/type-siz.tex
+++ b/tex/context/base/type-siz.tex
@@ -363,52 +363,32 @@
\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]
+ it=cmitt10 at 12pt,
+ sc=cmtcsc10 at 12pt]
\definebodyfont [9pt] [tt]
[tf=cmtt9,
sl=cmsltt10 at 9pt,
- it=cmitt10 at 9pt]
+ it=cmitt10 at 9pt,
+ sc=cmtcsc10 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]
+ it=cmitt10 at 8pt,
+ sc=cmtcsc10 at 8pt]
- \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 [11pt,10pt,7pt,6pt,5pt,4pt] [tt]
+ [tf=cmtt10 sa 1,
+ sl=cmsltt10 sa 1,
+ it=cmitt10 sa 1,
+ sc=cmtcsc10 sa 1]
\definebodyfont [14.4pt,17.3pt,20.7pt] [tt]
[tf=cmtt12 sa 1,
sl=cmsltt10 sa 1,
- it=cmitt10 sa 1]
+ it=cmitt10 sa 1,
+ sc=cmtcsc10 sa 1]
\stoptypescript
diff --git a/tex/context/base/x-fo.tex b/tex/context/base/x-fo.tex
index 07ab8e04a..1ce18e509 100644
--- a/tex/context/base/x-fo.tex
+++ b/tex/context/base/x-fo.tex
@@ -3002,8 +3002,12 @@ leader-pattern-width=12pt,
\doifsomething{\XMLop{column-width}}
{%\setlocalhsize
%\FOtableW\localhsize
- \FOtableW\textwidth % hm, we need to set localhsize earlier
- \setpercentdimen\FOtableW{\XMLop{column-width}}
+ \analyzefunction{\XMLop{column-width}}%
+ % hm, we need to set localhsize earlier
+ \doifelse\functionname{proportional-column-width}
+ {\FOtableW\functionA\textwidth}
+ {\FOtableW\textwidth
+ \setpercentdimen\FOtableW{\XMLop{column-width}}}%
\expanded{\setupTABLE[column][\FOtablecolumn][width=\the\FOtableW]}}
\doif{\XMLop{border-style}}{none}
diff --git a/tex/context/interface/cont-cz.xml b/tex/context/interface/cont-cz.xml
index 715ac504a..f9f8686b2 100644
--- a/tex/context/interface/cont-cz.xml
+++ b/tex/context/interface/cont-cz.xml
@@ -6075,6 +6075,7 @@
<cd:constant type="naokraji"/>
<cd:constant type="autouvod"/>
<cd:constant type="uvolnene"/>
+ <cd:constant type="opakovat"/>
<cd:variable type="cd:section"/>
<cd:constant type="dotextu"/>
</cd:keywords>
diff --git a/tex/context/interface/cont-de.xml b/tex/context/interface/cont-de.xml
index 5dfc7e96c..dc5ed372e 100644
--- a/tex/context/interface/cont-de.xml
+++ b/tex/context/interface/cont-de.xml
@@ -6075,6 +6075,7 @@
<cd:constant type="imrand"/>
<cd:constant type="autointro"/>
<cd:constant type="lose"/>
+ <cd:constant type="wiederholen"/>
<cd:variable type="cd:section"/>
<cd:constant type="imtext"/>
</cd:keywords>
diff --git a/tex/context/interface/cont-en.xml b/tex/context/interface/cont-en.xml
index 0b752d9f7..ae91da1fb 100644
--- a/tex/context/interface/cont-en.xml
+++ b/tex/context/interface/cont-en.xml
@@ -6075,6 +6075,7 @@
<cd:constant type="inmargin"/>
<cd:constant type="autointro"/>
<cd:constant type="loose"/>
+ <cd:constant type="repeat"/>
<cd:variable type="cd:section"/>
<cd:constant type="intext"/>
</cd:keywords>
diff --git a/tex/context/interface/cont-it.xml b/tex/context/interface/cont-it.xml
index afd8fd0d9..36d0297d8 100644
--- a/tex/context/interface/cont-it.xml
+++ b/tex/context/interface/cont-it.xml
@@ -6075,6 +6075,7 @@
<cd:constant type="inmargine"/>
<cd:constant type="autointro"/>
<cd:constant type="lento"/>
+ <cd:constant type="ripeti"/>
<cd:variable type="cd:section"/>
<cd:constant type="intesto"/>
</cd:keywords>
diff --git a/tex/context/interface/cont-nl.xml b/tex/context/interface/cont-nl.xml
index 55e3ccc74..4bd03dcb0 100644
--- a/tex/context/interface/cont-nl.xml
+++ b/tex/context/interface/cont-nl.xml
@@ -6075,6 +6075,7 @@
<cd:constant type="inmarge"/>
<cd:constant type="autointro"/>
<cd:constant type="los"/>
+ <cd:constant type="herhaal"/>
<cd:variable type="cd:section"/>
<cd:constant type="intekst"/>
</cd:keywords>
diff --git a/tex/context/interface/cont-ro.xml b/tex/context/interface/cont-ro.xml
index 421d33d13..432d039eb 100644
--- a/tex/context/interface/cont-ro.xml
+++ b/tex/context/interface/cont-ro.xml
@@ -6075,6 +6075,7 @@
<cd:constant type="inmargine"/>
<cd:constant type="autointro"/>
<cd:constant type="larg"/>
+ <cd:constant type="repetat"/>
<cd:variable type="cd:section"/>
<cd:constant type="intext"/>
</cd:keywords>
diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml
index 096ca9e55..9f03c9c56 100644
--- a/tex/context/interface/keys-cz.xml
+++ b/tex/context/interface/keys-cz.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.06.27">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.07.13">
<cd:variables>
<cd:variable name="one" value="jedna"/>
diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml
index 3f47235a3..2949a5429 100644
--- a/tex/context/interface/keys-de.xml
+++ b/tex/context/interface/keys-de.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.06.27">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.07.13">
<cd:variables>
<cd:variable name="one" value="eins"/>
diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml
index 41e2f79ff..934a84212 100644
--- a/tex/context/interface/keys-en.xml
+++ b/tex/context/interface/keys-en.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.06.27">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.07.13">
<cd:variables>
<cd:variable name="one" value="one"/>
diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml
index 78ec3c447..827cfa68d 100644
--- a/tex/context/interface/keys-it.xml
+++ b/tex/context/interface/keys-it.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.06.27">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.07.13">
<cd:variables>
<cd:variable name="one" value="uno"/>
diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml
index fdd33fe15..a99564f22 100644
--- a/tex/context/interface/keys-nl.xml
+++ b/tex/context/interface/keys-nl.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.06.27">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.07.13">
<cd:variables>
<cd:variable name="one" value="een"/>
diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index db2908a1c..9aa242014 100644
--- a/tex/context/interface/keys-ro.xml
+++ b/tex/context/interface/keys-ro.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.06.27">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.07.13">
<cd:variables>
<cd:variable name="one" value="unu"/>
diff --git a/tex/context/user/cont-sys.rme b/tex/context/user/cont-sys.rme
index 483f92923..ee54a99b7 100644
--- a/tex/context/user/cont-sys.rme
+++ b/tex/context/user/cont-sys.rme
@@ -17,6 +17,14 @@
%
% \preloadtypescripts
+% If you want another default font:
+%
+% \let\preloadfonts\relax
+% \usetypescript[palatino][\defaultencoding]
+% \setupbodyfont[palatino,rm,12pt]
+%
+% Please make sure that this defines rm, ss, tt and mm.
+
% Occasionally we will support both A4 and letter in
% styles. If you want letter size paper to be the default,
% uncomment: