summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--context/data/cont-nl-scite.properties4
-rw-r--r--context/data/context-jedit-nl.xml4
-rw-r--r--context/data/type-tmf.dat69
-rw-r--r--metapost/context/base/mp-spec.mp158
-rw-r--r--scripts/context/perl/fdf2tan.pl121
-rw-r--r--scripts/context/perl/fdf2tex.pl213
-rw-r--r--scripts/context/perl/makempy.pl6
-rw-r--r--scripts/context/ruby/base/kpse.rb6
-rw-r--r--scripts/context/ruby/newtexexec.rb7
-rw-r--r--scripts/context/ruby/texmfstart.rb10
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/core-des.tex4
-rw-r--r--tex/context/base/core-itm.tex27
-rw-r--r--tex/context/base/core-mar.tex224
-rw-r--r--tex/context/base/core-new.tex228
-rw-r--r--tex/context/base/core-not.tex4
-rw-r--r--tex/context/base/core-rul.tex19
-rw-r--r--tex/context/base/core-sec.tex66
-rw-r--r--tex/context/base/core-spa.tex63
-rw-r--r--tex/context/base/core-var.tex228
-rw-r--r--tex/context/base/hand-def.tex2
-rw-r--r--tex/context/base/lang-ini.tex32
-rw-r--r--tex/context/base/m-dratex.tex21
-rw-r--r--tex/context/base/meta-ini.tex18
-rw-r--r--tex/context/base/mult-com.tex6
-rw-r--r--tex/context/base/page-set.tex82
-rw-r--r--tex/context/base/s-pre-60.tex10
-rw-r--r--tex/context/base/s-syn-01.tex54
-rw-r--r--tex/context/base/supp-mpe.tex34
-rw-r--r--tex/context/base/supp-pdf.tex3
-rw-r--r--tex/context/base/syst-ext.tex2
-rw-r--r--tex/context/base/type-exa.tex11
-rw-r--r--tex/context/base/type-map.tex56
-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.xml3
-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.xml8
-rw-r--r--tex/context/interface/keys-ro.xml2
45 files changed, 962 insertions, 858 deletions
diff --git a/context/data/cont-nl-scite.properties b/context/data/cont-nl-scite.properties
index 0d1637ba5..5ca7901d0 100644
--- a/context/data/cont-nl-scite.properties
+++ b/context/data/cont-nl-scite.properties
@@ -41,7 +41,7 @@ keywordclass.macros.context.nl=\
selecteerblokken selecteerpapier selecteerversie som soortpagina spatie \
spiegel splitsplaatsblok start startachtergrond startcitaat startcommentaar \
startgeg startinteractiemenu startkantlijn startkleur startomgeving startonderdeel \
- startopelkaar startprodukt startproject starttekstlijn startversie stelachtergrondenin \
+ startopelkaar startprodukt startprojekt starttekstlijn startversie stelachtergrondenin \
stelachtergrondin stelalineasin stelarrangerenin stelblankoin stelblokin stelblokjesin \
stelblokkopjein stelblokkopjesin stelbovenin stelboventekstenin stelbufferin stelbuttonsin \
stelciterenin stelclipin stelcombinatiesin stelcommentaarin steldoordefinierenin steldoornummerenin \
@@ -63,7 +63,7 @@ keywordclass.macros.context.nl=\
steluitlijnenin steluitvoerin stelurlin stelveldenin stelveldin stelversiesin \
stelvoetin stelvoetnootdefinitiein stelvoetnotenin stelvoettekstenin stelwitruimtein stop \
stopachtergrond stopcitaat stopcommentaar stopgeg stopinteractiemenu stopkantlijn \
- stopkleur stopomgeving stoponderdeel stopopelkaar stopprodukt stopproject \
+ stopkleur stopomgeving stoponderdeel stopopelkaar stopprodukt stopprojekt \
stoptekstlijn stopversie suggestie switchnaarkorps switchtorawfont sym \
symbool synchronisatiebalk synchroniseer taal tab tekstlijn \
tekstreferentie tekstvariabele tex toevoegen toonexternefiguren toongrid \
diff --git a/context/data/context-jedit-nl.xml b/context/data/context-jedit-nl.xml
index 9779ec0fa..d9da1606d 100644
--- a/context/data/context-jedit-nl.xml
+++ b/context/data/context-jedit-nl.xml
@@ -259,7 +259,7 @@
<KEYWORD2>\startonderdeel</KEYWORD2>
<KEYWORD2>\startopelkaar</KEYWORD2>
<KEYWORD2>\startprodukt</KEYWORD2>
- <KEYWORD2>\startproject</KEYWORD2>
+ <KEYWORD2>\startprojekt</KEYWORD2>
<KEYWORD2>\starttekstlijn</KEYWORD2>
<KEYWORD2>\startversie</KEYWORD2>
<KEYWORD2>\stelachtergrondenin</KEYWORD2>
@@ -394,7 +394,7 @@
<KEYWORD2>\stoponderdeel</KEYWORD2>
<KEYWORD2>\stopopelkaar</KEYWORD2>
<KEYWORD2>\stopprodukt</KEYWORD2>
- <KEYWORD2>\stopproject</KEYWORD2>
+ <KEYWORD2>\stopprojekt</KEYWORD2>
<KEYWORD2>\stoptekstlijn</KEYWORD2>
<KEYWORD2>\stopversie</KEYWORD2>
<KEYWORD2>\suggestie</KEYWORD2>
diff --git a/context/data/type-tmf.dat b/context/data/type-tmf.dat
index 942bcdfc4..a226e9362 100644
--- a/context/data/type-tmf.dat
+++ b/context/data/type-tmf.dat
@@ -3,70 +3,73 @@
# texfont --encoding=ec --batch texfont.dat
#
# where 'ec' can be replaced by 'texnansi', '8r' or otherwise.
+#
+# The TEXMFTE and TEXMFGW paths are used by gwtex.
+
# public antp
---en=? --ve=public --co=antp --so=auto --ro=TEXMFMAIN
+--en=? --ve=public --co=antp --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
# no longer needed, public antt
#
-# --en=? --ve=public --co=antt --so=auto --ro=TEXMFMAIN
+# --en=? --ve=public --co=antt --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
# urw helvetica
---en=? --ve=urw --co=helvetica --so=auto --ro=TEXMFMAIN
+--en=? --ve=urw --co=helvetica --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
# urw courier
---en=? --ve=urw --co=courier --so=auto --ro=TEXMFMAIN
+--en=? --ve=urw --co=courier --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
# urw zapfchan
---en=? --ve=urw --co=zapfchan --so=auto --ro=TEXMFMAIN
+--en=? --ve=urw --co=zapfchan --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
# urw times
---en=? --ve=urw --co=times --so=auto --ro=TEXMFMAIN
---en=? --ve=urw --co=times --so=auto --ca=* utmr8a --ro=TEXMFMAIN
---en=? --ve=urw --co=times --so=auto --sl=* utmr8a --ro=TEXMFMAIN
---en=? --ve=urw --co=times --so=auto --sl=* utmb8a --ro=TEXMFMAIN
+--en=? --ve=urw --co=times --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=times --so=auto --ca=* utmr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=times --so=auto --sl=* utmr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=times --so=auto --sl=* utmb8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
# urw palatino
---en=? --ve=urw --co=palatino --so=auto --ro=TEXMFMAIN
---en=? --ve=urw --co=palatino --so=auto --ca=* uplr8a --ro=TEXMFMAIN
---en=? --ve=urw --co=palatino --so=auto --sl=* uplr8a --ro=TEXMFMAIN
---en=? --ve=urw --co=palatino --so=auto --sl=* uplb8a --ro=TEXMFMAIN
+--en=? --ve=urw --co=palatino --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=palatino --so=auto --ca=* uplr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=palatino --so=auto --sl=* uplr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=palatino --so=auto --sl=* uplb8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
# adobe utopia
---en=? --ve=adobe --co=utopia --so=auto --ro=TEXMFMAIN
---en=? --ve=adobe --co=utopia --so=auto --ca=* putr8a --ro=TEXMFMAIN
---en=? --ve=adobe --co=utopia --so=auto --sl=* putr8a --ro=TEXMFMAIN
---en=? --ve=adobe --co=utopia --so=auto --sl=* putb8a --ro=TEXMFMAIN
+--en=? --ve=adobe --co=utopia --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=adobe --co=utopia --so=auto --ca=* putr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=adobe --co=utopia --so=auto --sl=* putr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=adobe --co=utopia --so=auto --sl=* putb8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
---en=? --ve=adobe --co=utopia --so=auto --ro=TEXMFEXTRA # texlive 2003+
---en=? --ve=adobe --co=utopia --so=auto --ca=* putr8a --ro=TEXMFEXTRA # texlive 2003+
---en=? --ve=adobe --co=utopia --so=auto --sl=* putr8a --ro=TEXMFEXTRA # texlive 2003+
---en=? --ve=adobe --co=utopia --so=auto --sl=* putb8a --ro=TEXMFEXTRA # texlive 2003+
+--en=? --ve=adobe --co=utopia --so=auto --ro=TEXMFMAIN,TEXMFEXTRA,TEXMFTE,TEXMFGW
+--en=? --ve=adobe --co=utopia --so=auto --ca=* putr8a --ro=TEXMFMAIN,TEXMFEXTRA,TEXMFTE,TEXMFGW
+--en=? --ve=adobe --co=utopia --so=auto --sl=* putr8a --ro=TEXMFMAIN,TEXMFEXTRA,TEXMFTE,TEXMFGW
+--en=? --ve=adobe --co=utopia --so=auto --sl=* putb8a --ro=TEXMFMAIN,TEXMFEXTRA,TEXMFTE,TEXMFGW
# bitstream charter
---en=? --ve=bitstrea --co=charter --so=auto --ro=TEXMFMAIN
---en=? --ve=bitstrea --co=charter --so=auto --ca=* bchr8a --ro=TEXMFMAIN
---en=? --ve=bitstrea --co=charter --so=auto --sl=* bchr8a --ro=TEXMFMAIN
---en=? --ve=bitstrea --co=charter --so=auto --sl=* bchb8a --ro=TEXMFMAIN
+--en=? --ve=bitstrea --co=charter --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=bitstrea --co=charter --so=auto --ca=* bchr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=bitstrea --co=charter --so=auto --sl=* bchr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=bitstrea --co=charter --so=auto --sl=* bchb8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
# uwr bookman
---en=? --ve=urw --co=bookman --so=auto --ro=TEXMFMAIN
---en=? --ve=urw --co=bookman --so=auto --ca=* ubkl8a --ro=TEXMFMAIN
---en=? --ve=urw --co=bookman --so=auto --sl=* ubkl8a --ro=TEXMFMAIN
---en=? --ve=urw --co=bookman --so=auto --sl=* ubkd8a --ro=TEXMFMAIN
+--en=? --ve=urw --co=bookman --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=bookman --so=auto --ca=* ubkl8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=bookman --so=auto --sl=* ubkl8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=bookman --so=auto --sl=* ubkd8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
# uwr schoolbook
---en=? --ve=urw --co=ncntrsbk --so=auto --ro=TEXMFMAIN
---en=? --ve=urw --co=ncntrsbk --so=auto --ca=* uncr8a --ro=TEXMFMAIN
---en=? --ve=urw --co=ncntrsbk --so=auto --sl=* uncr8a --ro=TEXMFMAIN
---en=? --ve=urw --co=ncntrsbk --so=auto --sl=* uncb8a --ro=TEXMFMAIN
+--en=? --ve=urw --co=ncntrsbk --so=auto --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=ncntrsbk --so=auto --ca=* uncr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=ncntrsbk --so=auto --sl=* uncr8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
+--en=? --ve=urw --co=ncntrsbk --so=auto --sl=* uncb8a --ro=TEXMFMAIN,TEXMFTE,TEXMFGW
diff --git a/metapost/context/base/mp-spec.mp b/metapost/context/base/mp-spec.mp
index 9965199f2..7d72a1dda 100644
--- a/metapost/context/base/mp-spec.mp
+++ b/metapost/context/base/mp-spec.mp
@@ -35,6 +35,8 @@ numeric _special_counter_ ; _special_counter_ := 0 ;
numeric _color_counter_ ; _color_counter_ := 11 ; % < 10 reserved
numeric _special_signal_ ; _special_signal_ := 123 ;
+numeric _special_div_ ; _special_div_ := 1000 ;
+
%D When set to \type {true}, shading will be supported. Some
%D day I will also write an additional directive.
@@ -63,7 +65,7 @@ string _local_specials_ ; _local_specials_ := "" ;
vardef add_special_signal = % write the version number
if (length _global_specials_ <> 0) or (length _local_specials_ <> 0) :
- special ("%%MetaPostSpecials: 1.0 " & decimal _special_signal_ ) ;
+ special ("%%MetaPostSpecials: 2.0 " & decimal _special_signal_ & " " & decimal _special_div_) ;
fi ;
enddef ;
@@ -282,12 +284,12 @@ enddef ;
primarydef p withshade sc = % == p withcolor shadecolor(sh)
hide (_color_counter_ := _color_counter_ + 1)
- p withcolor (_special_signal_/1000,_color_counter_/1000,sc/1000)
+ p withcolor (_special_signal_/_special_div_,_color_counter_/_special_div_,sc/_special_div_)
enddef ;
vardef shadecolor(expr sc) =
hide (_color_counter_ := _color_counter_ + 1)
- (_special_signal_/1000,_color_counter_/1000,sc/1000)
+ (_special_signal_/_special_div_,_color_counter_/_special_div_,sc/_special_div_)
enddef ;
%D Figure inclusion.
@@ -307,8 +309,7 @@ def doexternalfigure (expr filename) text transformation =
addto p contour unitsquare scaled 0 ;
setbounds p to unitsquare transformed t ;
_color_counter_ := _color_counter_ + 1 ;
- draw p withcolor (_special_signal_/1000,_color_counter_/1000,_special_counter_/1000) ;
-%draw p withcolor (_special_signal_/1000,cef/1000,_special_counter_/1000) ;
+ draw p withcolor (_special_signal_/_special_div_,_color_counter_/_special_div_,_special_counter_/_special_div_) ;
endgroup ;
enddef ;
@@ -331,11 +332,9 @@ def dohyperpath (expr destination) expr somepath =
flush_special(20, 7,
ddecimal (xpart llcorner somepath, ypart llcorner somepath) & " " &
ddecimal (xpart urcorner somepath, ypart urcorner somepath) & " " & destination) ;
-% currenthyperlink := currenthyperlink + 1 ;
_color_counter_ := _color_counter_ + 1 ;
fill boundingbox unitsquare scaled 0 withcolor
- (_special_signal_/1000,_color_counter_/1000,_special_counter_/1000) ;
-% (_special_signal_/1000,currenthyperlink/1000,_special_counter_/1000) ;
+ (_special_signal_/_special_div_,_color_counter_/_special_div_,_special_counter_/_special_div_) ;
endgroup ;
enddef ;
@@ -399,14 +398,14 @@ vardef cmyk(expr c,m,y,k) =
if not ok :
save s ; string s ; s := dddecimal (c,m,y) & " " & decimal k ;
_cmyk_counter_ := _cmyk_counter_ + 1 ;
- cmykcolorpattern[_cmyk_counter_/1000] := s ;
+ cmykcolorpattern[_cmyk_counter_/_special_div_] := s ;
cmykcolorhash[c][m][y][k] := _cmyk_counter_ ;
flush_special(1, 7, decimal _cmyk_counter_ & " " & s) ;
_local_specials_ := _local_specials_ &
" cmykcolorhash[" & decimal c & "][" & decimal m &
"][" & decimal y & "][" & decimal k & "] := -1 ; " ;
fi ;
- (_special_signal_/1000,1/1000,cmykcolorhash[c][m][y][k]/1000)
+ (_special_signal_/_special_div_,1/_special_div_,cmykcolorhash[c][m][y][k]/_special_div_)
else :
(1-c-k,1-m-k,1-y-k)
fi
@@ -433,68 +432,6 @@ resetspotcolors ; boolean spotcolors ; spotcolors := false ; % true
string spotcolorpattern[] ; % needed for transparancies
-% vardef spotcolor(expr p, s) =
-% if spotcolors :
-% save ok, pc_tag ; boolean ok ; string pc_tag ;
-% pc_tag := "_pct_"&p ;
-% if not unstringed(pc_tag) :
-% _spotcolor_number_ := _spotcolor_number_ + 1 ;
-% setunstringed(pc_tag,_spotcolor_number_) ;
-% fi ;
-% pp := getunstringed(pc_tag) ;
-% if unknown spotcolorhash[pp][s] :
-% ok := false ; % not yet defined
-% elseif spotcolorhash[pp][s] = -1 :
-% ok := false ; % locally defined and undefined
-% else :
-% ok := true ; % globally already defined
-% fi ;
-% if not ok :
-% save ss ; string ss ; ss := p & " " & decimal s ;
-% _spotcolor_counter_ := _spotcolor_counter_ + 1 ;
-% spotcolorpattern[_spotcolor_counter_/1000] := ss ;
-% spotcolorhash[pp][s] := _spotcolor_counter_ ;
-% flush_special(2, 5, decimal _spotcolor_counter_ & " " & ss) ;
-% _local_specials_ := _local_specials_ &
-% "spotcolorhash["&decimal pp&"]["&decimal s&"]:=-1;" ;
-% fi ;
-% (_special_signal_/1000,2/1000,spotcolorhash[pp][s]/1000)
-% else :
-% (1-s,1-s,1-s)
-% fi
-% enddef ;
-
-% vardef spotcolor(expr p, s) =
-% if spotcolors :
-% save ok, pc_tag ; boolean ok ; string pc_tag ;
-% pc_tag := "_pct_"&p ;
-% if not unstringed(pc_tag) :
-% _spotcolor_number_ := _spotcolor_number_ + 1 ;
-% setunstringed(pc_tag,_spotcolor_number_) ;
-% fi ;
-% pp := getunstringed(pc_tag) ;
-% if unknown spotcolorhash[pp][s] :
-% ok := false ; % not yet defined
-% elseif spotcolorhash[pp][s] = -1 :
-% ok := false ; % locally defined and undefined
-% else :
-% ok := true ; % globally already defined
-% fi ;
-% if not ok :
-% save ss ; string ss ; ss := p & " " & decimal s ;
-% _spotcolor_counter_ := _spotcolor_counter_ + 1 ;
-% spotcolorpattern[_spotcolor_counter_/1000] := ss ;
-% spotcolorhash[pp][s] := _spotcolor_counter_ ;
-% flush_special(2, 5, decimal _spotcolor_counter_ & " " & ss) ;
-% _local_specials_ := _local_specials_ &
-% "spotcolorhash["&decimal pp&"]["&decimal s&"]:=-1;" ;
-% fi ;
-% (_special_signal_/1000,2/1000,spotcolorhash[pp][s]/1000)
-% else :
-% (1-s,1-s,1-s)
-% fi
-% enddef ;
-
vardef spotcolor(expr p, s) =
multitonecolor(p, 1, "", decimal s)
enddef ;
@@ -524,13 +461,13 @@ vardef multitonecolor(expr n, f, d, p) = % name fractions names factors
if not ok :
save ss ; string ss ; ss := n & " " & decimal f & " " & if d = "" : n else : d fi & " " & p ;
_spotcolor_counter_ := _spotcolor_counter_ + 1 ;
- spotcolorpattern[_spotcolor_counter_/1000] := ss ;
+ spotcolorpattern[_spotcolor_counter_/_special_div_] := ss ;
spotcolorhash[pp][ps] := _spotcolor_counter_ ;
flush_special(2, 7, decimal _spotcolor_counter_ & " " & ss) ;
_local_specials_ := _local_specials_ &
"spotcolorhash["&decimal pp&"]["&decimal ps&"]:=-1;" ;
fi ;
- (_special_signal_/1000,2/1000,spotcolorhash[pp][ps]/1000)
+ (_special_signal_/_special_div_,2/_special_div_,spotcolorhash[pp][ps]/_special_div_)
else :
.5white
fi
@@ -550,63 +487,6 @@ differencetransparent := 11 ; exclusiontransparent := 12 ;
% fill fullcircle scaled 10cm withcolor transparant(.8,3,color) ;
-% vardef transparent(expr n, t, c) =
-% save s, ss, nn, cc, is_cmyk, is_spot, ok ;
-% string s, ss ; numeric nn ; color cc ; boolean is_cmyk, is_spot, ok ;
-% % transparancy type
-% if string n :
-% if expandafter known scantokens(n&"transparent") :
-% nn := scantokens(n&"transparent") ;
-% else :
-% nn := 0 ;
-% fi
-% else : % nn := min(n,13)
-% nn := if n<13 : n else : nn := 0 fi ;
-% fi ;
-% % we need to expand the color (can be cmyk(..) or predefined)
-% cc := c ; % expand color
-% % check for cmyk special
-% is_cmyk := (redpart cc = _special_signal_/1000)
-% and (greenpart cc = 1/1000) ;
-% is_spot := (redpart cc = _special_signal_/1000)
-% and (greenpart cc = 2/1000) ;
-% % build special string, fetch cmyk components
-% s := decimal nn & " " & decimal t & " " &
-% if is_cmyk : cmykcolorpattern[bluepart cc]
-% elseif is_spot : spotcolorpattern[bluepart cc]
-% else : dddecimal cc fi ;
-% % check if this one is already used
-% ss := "tr_" & s ;
-% % efficiency hack
-% if expandafter unknown scantokens(ss) :
-% ok := false ; % not yet defined
-% elseif scantokens(ss) < 0 :
-% ok := false ; % locally defined and undefined
-% else :
-% ok := true ; % globally already defined
-% fi ;
-% if not ok :
-% if is_spot :
-% flush_special(5, 6, s) ;
-% elseif is_cmyk :
-% flush_special(4, 8, s) ;
-% else :
-% flush_special(3, 7, s) ;
-% fi ;
-% scantokens(ss) := _special_counter_ ;
-% _local_specials_ := _local_specials_ &
-% "scantokens(" & ditto & ss & ditto & ") := -1 ;" ;
-% fi ;
-% % go ahead
-% if is_spot :
-% (_special_signal_/1000,5/1000,scantokens(ss)/1000)
-% elseif is_cmyk :
-% (_special_signal_/1000,4/1000,scantokens(ss)/1000)
-% else :
-% (_special_signal_/1000,3/1000,scantokens(ss)/1000)
-% fi
-% enddef ;
-
vardef transparent(expr n, t, c) =
save s, ss, nn, cc, is_cmyk, is_spot, ok ;
string s, ss ; numeric nn ; color cc ; boolean is_cmyk, is_spot, ok ;
@@ -623,10 +503,10 @@ vardef transparent(expr n, t, c) =
% we need to expand the color (can be cmyk(..) or predefined)
cc := c ; % expand color
% check for cmyk special
- is_cmyk := (redpart cc = _special_signal_/1000)
- and (greenpart cc = 1/1000) ;
- is_spot := (redpart cc = _special_signal_/1000)
- and (greenpart cc = 2/1000) ;
+ is_cmyk := (redpart cc = _special_signal_/_special_div_)
+ and (greenpart cc = 1/_special_div_) ;
+ is_spot := (redpart cc = _special_signal_/_special_div_)
+ and (greenpart cc = 2/_special_div_) ;
% build special string, fetch cmyk components
s := decimal nn & " " & decimal t & " " &
if is_cmyk : cmykcolorpattern[bluepart cc]
@@ -661,11 +541,11 @@ vardef transparent(expr n, t, c) =
fi ;
% go ahead
if is_spot :
- (_special_signal_/1000,5/1000,scantokens(ss)/1000)
+ (_special_signal_/_special_div_,5/_special_div_,scantokens(ss)/_special_div_)
elseif is_cmyk :
- (_special_signal_/1000,4/1000,scantokens(ss)/1000)
+ (_special_signal_/_special_div_,4/_special_div_,scantokens(ss)/_special_div_)
else :
- (_special_signal_/1000,3/1000,scantokens(ss)/1000)
+ (_special_signal_/_special_div_,3/_special_div_,scantokens(ss)/_special_div_)
fi
enddef ;
@@ -731,7 +611,7 @@ endinput ;
% vardef normalgray(expr s ) = (s,s,s) enddef ;
% vardef normalrgb (expr r,g,b ) = (r,g,b) enddef ;
-% vardef normalcmyk(expr c,m,y,k) = if cmykcolors : save ok ; boolean ok ; if unknown cmykcolorhash[c][m][y][k] : ok := false ; elseif cmykcolorhash[c][m][y][k] = -1 : ok := false ; else : ok := true ; fi ; if not ok : save s ; string s ; s := dddecimal (c,m,y) & " " & decimal k ; _cmyk_counter_ := _cmyk_counter_ + 1 ; cmykcolorpattern[_cmyk_counter_/1000] := s ; cmykcolorhash[c][m][y][k] := _cmyk_counter_ ; flush_special(1, 7, decimal _cmyk_counter_ & " " & s) ; _local_specials_ := _local_specials_ & " cmykcolorhash[" & decimal c & "][" & decimal m & "][" & decimal y & "][" & decimal k & "] := -1 ; " ; fi ; (_special_signal_/1000,1/1000,cmykcolorhash[c][m][y][k]/1000) else : (1-c-k,1-m-k,1-y-k) fi enddef ;
+% vardef normalcmyk(expr c,m,y,k) = if cmykcolors : save ok ; boolean ok ; if unknown cmykcolorhash[c][m][y][k] : ok := false ; elseif cmykcolorhash[c][m][y][k] = -1 : ok := false ; else : ok := true ; fi ; if not ok : save s ; string s ; s := dddecimal (c,m,y) & " " & decimal k ; _cmyk_counter_ := _cmyk_counter_ + 1 ; cmykcolorpattern[_cmyk_counter_/_special_div_] := s ; cmykcolorhash[c][m][y][k] := _cmyk_counter_ ; flush_special(1, 7, decimal _cmyk_counter_ & " " & s) ; _local_specials_ := _local_specials_ & " cmykcolorhash[" & decimal c & "][" & decimal m & "][" & decimal y & "][" & decimal k & "] := -1 ; " ; fi ; (_special_signal_/_special_div_,1/_special_div_,cmykcolorhash[c][m][y][k]/_special_div_) else : (1-c-k,1-m-k,1-y-k) fi enddef ;
% vardef gray(expr s) = normalgray(s ) enddef ;
% vardef rgb (expr r,g,b) = normalrgb (r,g,b ) enddef ;
diff --git a/scripts/context/perl/fdf2tan.pl b/scripts/context/perl/fdf2tan.pl
deleted file mode 100644
index c612f9886..000000000
--- a/scripts/context/perl/fdf2tan.pl
+++ /dev/null
@@ -1,121 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
-
-#D \module
-#D [ file=fdf2tan.pl,
-#D version=2000.02.06,
-#D title=converting \FDF\ annotations,
-#D subtitle=fdf2tan,
-#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 licen-en.pdf for
-#C details.
-
-#D This is a preliminary version, that will probably be changed
-#D and merged into a more general module.
-
-use Text::Wrap ;
-
-my $filename = $ARGV[0] ; exit if ($filename eq '') ;
-
-$filename =~ s/\..*$//o ;
-
-my $D = "[0-9\-\.]" ;
-my $nn = 0 ;
-
-my %stack ;
-
-sub saveobject
- { $n = shift ; $str = shift ;
- if ($n>$max) { $max = $n }
- if ($str =~ s/\/Type\s+\/Annot\s+\/Subtype\s+\/Text//o)
- { ++$nn ;
- $str =~ s/\/Page\s+(\d+)//o ;
- $page = $1 ; ++$page ;
- $str =~ s/\/Rect\s+\[\s*(.*?)\s*\]//o ;
- $rec = $1 ;
- if ($rec =~ /($D+)\s*($D+)\s*($D+)\s*($D+)/o)
- { $FDFllx = $1 ; $FDFlly = $2 ; $FDFurx = $3 ; $FDFury = $4 }
- $X = $FDFllx - $PDFllx ;
- $Y = $PDFury - $FDFury ;
- $str =~ s/\/M\s.*$//o ;
- $str =~ s/\/T\s.*$//o ;
- $str =~ s/^.*\/Contents\s.*?\(//o ;
- $str =~ s/\)\s+$//o ;
- $str =~ s/\\\\r/@@@@@@/o ;
- $str =~ s/\\r/\n/go;
- $str =~ s/@@@@@@/\\r/o ;
- $str =~ s/\\([\<\>\(\)\{\}\\])/$1/go ;
- $stack{sprintf("test:%3d %3d %3d\n",$page,$Y,$X)} =
- "\\startFDFcomment[$page]" .
- sprintf("[%.3f,%.3f]",$X,$Y) .
- "\n$str\n\\stopFDFcomment\n\n" } }
-
-exit unless (open (PDF,"<$filename.pdf")) ; binmode PDF ;
-exit unless (open (FDF,"<$filename.fdf")) ;
-exit unless (open (TAN,">$filename.tan")) ;
-
-print "processing $filename ... " ;
-
-$PDFllx = 0 ; $PDFlly = 0 ; $PDFurx = 597 ; $PDFury = 847 ;
-
-while (<PDF>)
- { if (/\/MediaBox\s*\[\s*($D+)\s*($D+)\s*($D+)\s*($D+)/o)
- { $PDFllx = $1 ; $PDFlly = $2 ; $PDFurx = $3 ; $PDFury = $4 ;
- last } }
-
-$_ = "" ; while ($Line=<FDF>) { chomp $Line; $_ .= $Line }
-
-s/\\n/ /go ;
-s/\\\s//go ;
-
-s/\\225/\\\/L/go ; s/\\226/\\OE/go ; s/\\227/\\vS/go ;
-s/\\230/\\"Y/go ; s/\\231/\\vZ/go ; s/\\233/\\\/l/go ;
-s/\\234/\\oe/go ; s/\\235/\\vs/go ; s/\\236/\\vz/go ;
-s/\\253/\\<</go ; s/\\273/\\>>/go ; s/\\300/\\`A/go ;
-s/\\301/\\'A/go ; s/\\302/\\^A/go ; s/\\303/\\~A/go ;
-s/\\304/\\"A/go ; s/\\305/\\oA/go ; s/\\306/\\AE/go ;
-s/\\307/\\,C/go ; s/\\310/\\`E/go ; s/\\311/\\'E/go ;
-s/\\312/\\^E/go ; s/\\313/\\"E/go ; s/\\314/\\`I/go ;
-s/\\315/\\'I/go ; s/\\316/\\^I/go ; s/\\317/\\"I/go ;
-s/\\321/\\~N/go ; s/\\322/\\`O/go ; s/\\323/\\'O/go ;
-s/\\324/\\^O/go ; s/\\325/\\~O/go ; s/\\326/\\"O/go ;
-s/\\330/\\\/O/go ; s/\\331/\\`U/go ; s/\\332/\\'U/go ;
-s/\\333/\\^U/go ; s/\\334/\\"U/go ; s/\\335/\\'Y/go ;
-s/\\337/\\SS/go ; s/\\340/\\`a/go ; s/\\341/\\'a/go ;
-s/\\342/\\^a/go ; s/\\343/\\~a/go ; s/\\344/\\"a/go ;
-s/\\345/\\oa/go ; s/\\346/\\ae/go ; s/\\347/\\,c/go ;
-s/\\350/\\`e/go ; s/\\351/\\'e/go ; s/\\352/\\^e/go ;
-s/\\353/\\"e/go ; s/\\354/\\`i/go ; s/\\355/\\'i/go ;
-s/\\356/\\^i/go ; s/\\357/\\"i/go ; s/\\361/\\~n/go ;
-s/\\362/\\`o/go ; s/\\363/\\'o/go ; s/\\364/\\^o/go ;
-s/\\365/\\~o/go ; s/\\366/\\"o/go ; s/\\370/\\\/o/go ;
-s/\\371/\\`u/go ; s/\\372/\\'u/go ; s/\\373/\\^u/go ;
-s/\\374/\\"u/go ; s/\\375/\\'y/go ; s/\\377/\\"y/go ;
-
-s/\\(\d\d\d)/[$1]/go ;
-
-while (s/(\d+)(\s+\d+\s+obj)(.*?)endobj/saveobject($1,$3)/goe) { }
-
-$wrap::columns = 80 ;
-
-foreach $key (sort keys %stack)
- { print TAN wrap("","",$stack{$key}) }
-
-close (PDF) ; close (FDF) ; close (TAN) ;
-
-if (open (TAN,">fdf-tan.tex"))
- { print TAN "% interface=en output=pdftex\n\n" .
- "\\setupcolors[state=start]\n\n" .
- "\\setupinteraction[state=start]\n\n" .
- "\\setupbodyfont[pos,10pt]\n\n" .
- "\\starttext\n\n" .
- "\\usemodule[fdfann]\n\n" .
- "\\annotatepages[$filename]\n\n" .
- "\\stoptext\n" ;
- close (TAN) }
-
-print "$nn annotations found, run 'texexec fdf-tan'\n" ;
diff --git a/scripts/context/perl/fdf2tex.pl b/scripts/context/perl/fdf2tex.pl
deleted file mode 100644
index f9684cd9f..000000000
--- a/scripts/context/perl/fdf2tex.pl
+++ /dev/null
@@ -1,213 +0,0 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
-
-# not yet public
-
-# We're dealing with:
-
-$InpFile = $ARGV[0] ; $OutFile = $ARGV[1] ; $Field = $ARGV[2] ;
-
-# beware: fields are funny sorted
-
-$Program = "fdf2tex 1.02 - ConTeXt / PRAGMA 1997-2000" ;
-
-if ($Field eq "")
- { print "\n$Program\n\n" }
-
-# filter \type{filename.fdf} into \type{filename.fdt}
-
-unless ($OutFile)
- { $OutFile = $InpFile ;
- $OutFile =~ s/\..*// }
-
-unless ($InpFile=~/\./)
- { if (-e "$InpFile.fdf")
- { $InpFile .= ".fdf" }
- elsif (-e "$InpFile.xml")
- { $InpFile .= ".xml" } }
-
-unless ($OutFile=~/\./)
- { $OutFile .= ".fdt" }
-
-if (open (FDF, "<$InpFile"))
- { binmode FDF ;
- open (FDT, ">$OutFile") ;
- if ($Field eq "")
- { print " input file : $InpFile\n" ;
- print " output file : $OutFile\n" } }
-else
- { if ($Field eq "")
- { print " error : $InpFile not found\n" }
- exit }
-
-# load the whole file in the buffer
-
-$_ = "" ; while ($Line=<FDF>) { chomp $Line; $_ .= $Line }
-
-# or faster: dan ///s gebruiken (ipv m)
-
-# $/ = "\0777" ; $_ = <FDF> ;
-
-# zoom in on the objects and remove the header and trialer
-
-if ($InpFile =~ /\.xml$/)
-
-{ # begin kind of xml alternative
-
-s/\>\s*\</\>\</goms ;
-$N = s/\<field\s+(.*?)\/\>/\\FDFfield\[$1\]\n/goms ;
-s/(name|value)\=\"(.*?)\"/$1=\{$2\}/goms ;
-s/\} (name|value)/\}\,$1/goms ;
-s/\<fdfobject\>(.*?)\<\/fdfobject\>/\\beginFDFobject\n$1\\endFDFobject\n/goms ;
-s/\<fdfdata\>(.*?)\<\/fdfdata\>/\\beginFDFdata\n$1\\endFDFdata\n/goms ;
-s/\<fdffields\>(.*?)\<\/fdffields\>/\\beginFDFfields\n$1\\endFDFfields\n/goms ;
-
-} # end kind of xml alternative
-
-else
-
-{ # begin fdf alternative
-
-s/.*?obj\s*?<<(.*?)>>\s*?endobj/\n\\beginFDFobject$1\n\\endFDFobject/go;
-s/trailer.*//;
-
-# zoom in on the FDF data
-
-s/\/FDF.*?<<(.*)>>/\n\\beginFDFdata$1\n\\endFDFdata/go;
-
-# zoom in on the Field collection and remove whatever else
-
-s/\/Fields.*?\[.*?<<.*?(.*).*?>>.*?\]/\n\\beginFDFfields<<$1>>\n\\endFDFfields/go;
-s/\\endFDFfields.*\n\\endFDFdata/\\endFDFfields\n\\endFDFdata/go;
-
-# tag each field
-
-$N = s/\<<(.*?)>>/\n\\FDFfield[$1]/go;
-
-# remove non relevant entries, but keep \type{/T} and \type{/V}
-
-s/\s*?\/[Kids|Opt]\s*?<<.*?>>//go;
-s/\s*?\/[Ff|setFf|ClrFf|F|SetF|ClrF]\s*?\d*?//go;
-s/\s*?\/[AP|A|AS]\s*?\[.*?\]//go;
-s/\s*?\/AS\s*?\/.*?\s//go;
-
-# format the field identifier
-
-s/(.*?)\/T.*?\((.*?)\)/$1 name=$2,/go;
-
-# format the value, which can be a name or string
-
-s/\/V\s?\((.*?)\)/value=\{$1\},/go;
-s/\/V\s?\/(.*?)[\s|\/]/value=\{$1\},/go;
-
-# sanitize some special \TeX\ tokens
-
-s/(\#|\$|\&|\^|\_|\|)/\\$1/go;
-
-# remove spaces and commas
-
-#s/\s?([name|value])/$1/go;
-s/\[\s*/\[/go;
-s/,\]/\]/go;
-
-# convert PDFDocEncoding
-
-s/\\225/\\\/L/ ;
-s/\\226/\\OE/ ;
-s/\\227/\\vS/ ;
-s/\\230/\\"Y/ ;
-s/\\231/\\vZ/ ;
-s/\\233/\\\/l/ ;
-s/\\234/\\oe/ ;
-s/\\235/\\vs/ ;
-s/\\236/\\vz/ ;
-s/\\253/\\<</ ;
-s/\\273/\\>>/ ;
-s/\\300/\\`A/ ;
-s/\\301/\\'A/ ;
-s/\\302/\\^A/ ;
-s/\\303/\\~A/ ;
-s/\\304/\\"A/ ;
-s/\\305/\\oA/ ;
-s/\\306/\\AE/ ;
-s/\\307/\\,C/ ;
-s/\\310/\\`E/ ;
-s/\\311/\\'E/ ;
-s/\\312/\\^E/ ;
-s/\\313/\\"E/ ;
-s/\\314/\\`I/ ;
-s/\\315/\\'I/ ;
-s/\\316/\\^I/ ;
-s/\\317/\\"I/ ;
-s/\\321/\\~N/ ;
-s/\\322/\\`O/ ;
-s/\\323/\\'O/ ;
-s/\\324/\\^O/ ;
-s/\\325/\\~O/ ;
-s/\\326/\\"O/ ;
-s/\\330/\\\/O/ ;
-s/\\331/\\`U/ ;
-s/\\332/\\'U/ ;
-s/\\333/\\^U/ ;
-s/\\334/\\"U/ ;
-s/\\335/\\'Y/ ;
-s/\\337/\\ss/ ;
-s/\\340/\\`a/ ;
-s/\\341/\\'a/ ;
-s/\\342/\\^a/ ;
-s/\\343/\\~a/ ;
-s/\\344/\\"a/ ;
-s/\\345/\\oa/ ;
-s/\\346/\\ae/ ;
-s/\\347/\\,c/ ;
-s/\\350/\\`e/ ;
-s/\\351/\\'e/ ;
-s/\\352/\\^e/ ;
-s/\\353/\\"e/ ;
-s/\\354/\\`i/ ;
-s/\\355/\\'i/ ;
-s/\\356/\\^i/ ;
-s/\\357/\\"i/ ;
-s/\\361/\\~n/ ;
-s/\\362/\\`o/ ;
-s/\\363/\\'o/ ;
-s/\\364/\\^o/ ;
-s/\\365/\\~o/ ;
-s/\\366/\\"o/ ;
-s/\\370/\\\/o/ ;
-s/\\371/\\`u/ ;
-s/\\372/\\'u/ ;
-s/\\373/\\^u/ ;
-s/\\374/\\"u/ ;
-s/\\375/\\'y/ ;
-s/\\377/\\"y/ ;
-
-s/\\\</\</ ;
-s/\\\>/\>/ ;
-s/\\\(/\(/ ;
-s/\\\)/\)/ ;
-s/\#/\\#/ ;
-
-# convert newline and return commands
-
-s/\\n/ /go;
-s/\\r/\\par /go;
-
-} # end fdf alternative
-
-# flush buffer
-
-print FDT $_ ;
-
-close FDT ;
-close FDF ;
-
-# report some characteristics
-
-if ($Field eq "")
- { print " number of fields : $N\n" }
-else
- { if (/\\FDFfield\[value\=\{(.*)\}\,\s*name=$Field/mos)
- { print "$1" }
- elsif (/\\FDFfield\[name=$Field\,\s*value\=\{(.*)\}/mos)
- { print "$1" } }
diff --git a/scripts/context/perl/makempy.pl b/scripts/context/perl/makempy.pl
index 49fd9bbd2..f263dd425 100644
--- a/scripts/context/perl/makempy.pl
+++ b/scripts/context/perl/makempy.pl
@@ -46,8 +46,6 @@ my $format = "plain" ; # can be "context" for plain users too
"force" => \$force ,
"pdftops" => \$pmethod ,
"xpdf" => \$pmethod ,
-# "acrobat" => \$amethod , # nowadays the reader is not that clear about this being permitted
- "reader" => \$amethod ,
"gs" => \$gmethod ,
"ghostscript" => \$gmethod ,
"noclean" => \$noclean ) ;
@@ -202,15 +200,13 @@ sub show_help_info
report ("--force : force processing (ignore checksum)" ) ;
report ("--silent : don't show messages" ) ;
print "\n" ;
- report ("--acrobat : use acrobat (reader) for pdf->ps (on unix)") ;
report ("--pdftops : use pdftops (xpdf) pdf->ps") ;
report ("--ghostscript : use ghostscript (gs) for pdf->ps") ;
print "\n" ;
report ("input file : metapost file with graphics") ;
report ("programs needed : texexec and english context") ;
report (" : pdftops from the xpdf suite, or") ; # page size buggy
- report (" : pdf2ps and ghostscript, or") ;
- report (" : acrobat reader for unix, and") ;
+ report (" : pdf2ps and ghostscript, and") ;
report (" : pstoedit and ghostscript") ;
report ("output file : metapost file with pictures") ;
exit }
diff --git a/scripts/context/ruby/base/kpse.rb b/scripts/context/ruby/base/kpse.rb
index dc4898ffc..7a7964127 100644
--- a/scripts/context/ruby/base/kpse.rb
+++ b/scripts/context/ruby/base/kpse.rb
@@ -32,7 +32,11 @@ module Kpse
@@crossover = true
@@mswindows = Config::CONFIG['host_os'] =~ /mswin/
- @@distribution = 'miktex' if ENV['PATH'] =~ /miktex[\\\/]bin/o
+ # @@distribution = 'miktex' if ENV['PATH'] =~ /miktex[\\\/]bin/o
+
+ if ENV['PATH'] =~ /(.*?)miktex[\\\/]bin/i then
+ @@distribution = 'miktex' unless $1 =~ /(texmf\-mswin[\/\\]bin|bin[\/\\]win32)/i
+ end
@@usekpserunner = false || ENV['KPSEFAST'] == 'yes'
diff --git a/scripts/context/ruby/newtexexec.rb b/scripts/context/ruby/newtexexec.rb
index 43d840e5b..8caf9de0f 100644
--- a/scripts/context/ruby/newtexexec.rb
+++ b/scripts/context/ruby/newtexexec.rb
@@ -525,6 +525,13 @@ class Commands
end
+# we will make this pluggable, i.e. load plugins from base/tex that
+# extend the class and may even add switches
+#
+# commandline.load_plugins('base/tex')
+#
+# maybe it's too slow so for a while keep the --pdf* in here
+
logger = Logger.new(banner.shift)
commandline = CommandLine.new
diff --git a/scripts/context/ruby/texmfstart.rb b/scripts/context/ruby/texmfstart.rb
index 94b89d170..4bea5e979 100644
--- a/scripts/context/ruby/texmfstart.rb
+++ b/scripts/context/ruby/texmfstart.rb
@@ -2,7 +2,7 @@
# program : texmfstart
# copyright : PRAGMA Advanced Document Engineering
-# version : 1.5.5 - 2003/2005
+# version : 1.7.1 - 2003/2005
# author : Hans Hagen
#
# project : ConTeXt / eXaMpLe
@@ -36,7 +36,7 @@ require "rbconfig"
$mswindows = Config::CONFIG['host_os'] =~ /mswin/
$separator = File::PATH_SEPARATOR
-$version = "1.7.0"
+$version = "1.7.1"
if $mswindows then
@@ -65,6 +65,7 @@ $predefined['texexec'] = 'texexec.pl'
$predefined['texutil'] = 'texutil.pl'
$predefined['texfont'] = 'texfont.pl'
+$predefined['makempy'] = 'makempy.pl'
$predefined['mptopdf'] = 'mptopdf.pl'
$predefined['pstopdf'] = 'pstopdf.rb'
@@ -82,10 +83,15 @@ $predefined['exatools'] = 'exatools.rb'
$predefined['xmltools'] = 'xmltools.rb'
$makelist = [
+ # context
'texexec',
'texutil',
+ 'texfont',
+ # mp/ps
'pstopdf',
'mptopdf',
+ 'makempy',
+ # misc
'ctxtools',
'pdftools',
'xmltools',
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index 047ea3570..b9b3d014a 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.11.24}
+\def\contextversion{2005.11.30}
%D For those who want to use this:
diff --git a/tex/context/base/core-des.tex b/tex/context/base/core-des.tex
index c7f4a976e..9d610ef5f 100644
--- a/tex/context/base/core-des.tex
+++ b/tex/context/base/core-des.tex
@@ -321,8 +321,8 @@
\def\@@stopdescription#1%
{\def\currentdescription{#1}%
- \dostopattributes
- \par % maybe better after \dostopattributes
+ % was \par \dostopattributes % here, else problems with interlinespace and font change
+ \dostopparbasedattributes % == \settrue\parbasedattributes \dostopattributes
\endgroup
\descriptionparameter\c!after
\egroup % temporary hack
diff --git a/tex/context/base/core-itm.tex b/tex/context/base/core-itm.tex
index 478575184..09fcea312 100644
--- a/tex/context/base/core-itm.tex
+++ b/tex/context/base/core-itm.tex
@@ -121,6 +121,7 @@
\c!stopper,\c!placestopper,\c!indenting,
\c!n,\c!inner,\c!symbol,\c!margin,\c!items,
\c!leftmargin,\c!rightmargin,\c!indentnext,
+ \c!command,
\c!start,\c!lefttext,\c!righttext]}
\def\setupitemgroups
@@ -635,7 +636,7 @@
\else
\par
\fi
- \ignorespaces
+% \ignorespaces
\increment\noflistelements
\ifnum\itemcolumndepth=\zerocount \ifconditional\optimizelistitem
\ifnum\noflistelements=\plusone % tgv bv kolommen/nesting
@@ -720,7 +721,7 @@
\setfalse\headlistitem
\setfalse\sublistitem
\setfalse\symbollistitem
- \EveryPar{\ignorespaces}%
+ \EveryPar{\ignorespaces}% needed ?
\ignorespaces}
% For Frank Grieshaber and Mojca Miklavec:
@@ -752,7 +753,7 @@
\else
\par
\fi
- \ignorespaces
+% \ignorespaces
\ifconditional\concatnextitem % new, concat
\doitembreak\nobreak % new, concat
\fi % new, concat
@@ -793,8 +794,9 @@
\vskip-\lineheight % new, concat
\nobreak % new, concat
\fi % new, concat
- \ignorespaces
+% \ignorespaces
\dolistitem
+ \relax
\ifconditional\packlistitem
\setupwhitespace[\v!none]%
\fi
@@ -810,8 +812,24 @@
\strut % added 11-08-99
\setfalse\concatnextitem % new, concat
\hskip\itemsignal % new, concat
+ \getitemparameter\itemlevel\c!command} % \defaultitemcommand
+
+\def\defaultitemcommand
+ {\EveryPar{\ignorespaces}% needed ?
\ignorespaces}
+% For Giuseppe "Oblomov" Bilotta, inspired on a suggestion by Taco
+% Hoekwater.
+%
+% \def\MyItemCommand#1{{\bf#1}\quad}
+% \setupitemgroup[itemize][command=\MyItemCommand]
+%
+% \startitemize
+% \item {test} is this okay?
+% \item {test} is this okay?
+% \item {test} is this okay?
+% \stopitemize
+
\def\complexitem[#1]#2\par % todo: no two pass data
{\startitemgroup[#1]
\complexdoitemgroupitem[]\ignorespaces\begstrut#2\unskip\endstrut\par
@@ -932,6 +950,7 @@
\c!righttext=),
\c!start=1,
\c!option=,
+ \c!command=\defaultitemcommand,
\c!symbol=\itemlevel] % \v!niveau
\def\defineitemgroup
diff --git a/tex/context/base/core-mar.tex b/tex/context/base/core-mar.tex
index cdc09838e..836d90430 100644
--- a/tex/context/base/core-mar.tex
+++ b/tex/context/base/core-mar.tex
@@ -103,14 +103,17 @@
\ifx\decouplemarking\undefined \def\decouplemarking[#1]{} \fi
+\let\alldefinedmarks\empty
+
\def\dododefinemarking[#1][#2]%
{\getparameters[\??mk#1]
- [\c!expansion=\v!no, % saves a macro
- \c!separator={ --- }, % watch the spaces
+ [\c!expansion=\v!no, % saves a macro
+ \c!separator={\space\emdash\space},
\c!limittext=\@@kolimittext,
\c!state=\v!start]%
\decouplemarking[#1]% % no coupling with sections
\setevalue{\??mk#1\c!coupling}{#2}%
+ \doglobal\addtocommalist{#2}\alldefinedmarks
\expandafter\newmark\csname\??mk#2\endcsname
\showmessage\m!systems{13}{#1,[#2]}}
@@ -138,64 +141,221 @@
{\doifdefinedelse{\??mk#1}}
% \def\fetchmark[#1][#2]% never \unexpanded
-% {\@EA\@EA\csname\??mk\??mk#2\endcsname
-% \csname\??mk\mainmarking{#1}\endcsname}
+% {\@EA\csname\??mk\??mk#2\@EA\endcsname\csname\??mk\mainmarking{#1}\endcsname}
+
+% \beginTEX
+%
+% \def\fetchmark[#1][#2]% never \unexpanded
+% {\@EA\ifx\csname\??mk#1\c!coupling\endcsname\relax\else
+% \csname\??mk\??mk#2\@EA\endcsname
+% \csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
+% \fi}
+%
+% \endTEX
+%
+% \beginETEX \ifcsname
+%
+% \def\fetchmark[#1][#2]% never \unexpanded
+% {\ifcsname\??mk#1\c!coupling\endcsname
+% \csname\??mk\??mk#2\@EA\endcsname
+% \csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
+% \fi}
+%
+% \endETEX
+%
+% \def\fetchtwomarks[#1]%
+% {\doifsomething{\fetchmark[#1][\v!first]}
+% {\fetchmark[#1][\v!first]%
+% \doifsomething{\fetchmark[#1][\v!last]}
+% {\doifnot{\fetchmark[#1][\v!first]}{\fetchmark[#1][\v!last]}
+% {\getvalue{\??mk#1\c!separator}\fetchmark[#1][\v!last]}}}}
+%
+% \def\fetchallmarks[#1]%
+% {\doifsomething{\fetchmark[#1][\v!first]}
+% {\doifsomething{\fetchmark[#1][\v!previous]}
+% {\doifnot{\fetchmark[#1][\v!previous]}{\fetchmark[#1][\v!first]}
+% {\fetchmark[#1][\v!previous]\getvalue{\??mk#1\c!separator}}}}%
+% \fetchtwomarks[#1]}
+%
+% \def\dogetmarking[#1][#2]%
+% {\doifvalue{\??mk#1\c!state}\v!start
+% {\bgroup
+% %\def\nomarking##1{\unknown\ }%
+% \def\nomarking{\splitsequence{\getvalue{\??mk#1\c!limittext}}}%
+% \setfullsectionnumber{\??mk#1}%
+% \processaction % slow
+% [#2]
+% [ \v!both=>{\fetchtwomarks[#1]},
+% \v!all=>{\fetchallmarks[#1]},
+% \s!default=>{\fetchmark [#1][\v!first]},
+% \s!unknown=>{\fetchmark [#1][#2]}]%
+% \egroup}}
+%
+% \def\nogetmarking[#1][#2]%
+% {}
+%
+% \unexpanded\def\getmarking
+% {\dodoubleargument\dogetmarking}
\beginTEX
-\def\fetchmark[#1][#2]% never \unexpanded
- {\@EA\ifx\csname\??mk#1\c!coupling\endcsname\else
- \@EA\@EA\csname\??mk\??mk#2\endcsname
- \csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
+\def\fetchmark[#1][#2]% % expandable / never use \unexpanded
+ {\@EA\ifx\csname\??mk::#1\endcsname\relax
+ \@EA\ifx\csname\??mk#1\c!coupling\endcsname\relax
+ % nothing
+ \else
+ \csname\??mk\??mk#2\@EA\endcsname
+ \csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
+ \fi
+ \else
+ \csname\??mk::\??mk::#2\@EA\@EA\@EA\endcsname
+ \csname\??mk::#1\endcsname
\fi}
\endTEX
\beginETEX \ifcsname
-\def\fetchmark[#1][#2]% never \unexpanded
- {\ifcsname\??mk#1\c!coupling\endcsname
- % \@EA\@EA\csname\??mk\??mk#2\endcsname
- % \csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
+\def\fetchmark[#1][#2]% % expandable / never use \unexpanded
+ {\ifcsname\??mk::#1\endcsname % saved mark
+ \csname\??mk::\??mk::#2\@EA\@EA\@EA\endcsname
+ \csname\??mk::#1\endcsname
+ \else\ifcsname\??mk#1\c!coupling\endcsname % real mark
\csname\??mk\??mk#2\@EA\endcsname
\csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
- \fi}
+ \fi\fi}
\endETEX
+\def\fetchmark[#1][#2]% % expandable / never use \unexpanded
+ {\ifcsname\??mk::#1\endcsname % saved mark
+ \csname\??mk::\??mk::#2\@EA\@EA\@EA\endcsname
+ \csname\??mk::#1\endcsname
+ \else\ifcsname\??mk#1\c!coupling\endcsname % real mark
+ \csname\??mk\??mk#2\@EA\endcsname
+ \csname\??mk\csname\??mk#1\c!coupling\endcsname\endcsname
+ \fi\fi}
+
+\letvalue{\??mk::\??mk::\v!previous}\firstoffourarguments
+\letvalue{\??mk::\??mk::\v!first }\secondoffourarguments
+\letvalue{\??mk::\??mk::\v!last }\thirdoffourarguments
+\letvalue{\??mk::\??mk::\v!current }\fourthoffourarguments
+
+% this version can be used when a page is built up in steps without
+% feedback of the otr'd list to the mvl (i.e.\ a page made of pages,
+% as in column sets where content is buffered)
+
+% reset at begin
+% preset before page
+% bubble in column
+% refresh at end
+
+\def\refreshsavedmark[#1][#2]% mark tag (packing saves many hash entries)
+ {\setxvalue{\??mk::#1:#2}%
+ {{\@EA\ifx\csname\??mk::#1:pp\endcsname\relax
+ % empty
+ \else
+ \csname\??mk::#1:pp\endcsname
+ \fi}%
+ {\@EA\ifx\csname\??mk::#1:ff\endcsname\relax
+ \fetchmark[#1][\v!first]%
+ \else
+ \csname\??mk::#1:ff\endcsname
+ \fi}%
+ {\fetchmark[#1][\v!last]}%
+ {\fetchmark[#1][\v!current]}}%
+ \setxvalue{\??mk::#1:pp}{\fetchmark[#1][\v!first]}%
+ \letgvalue{\??mk::#1:ff}\relax
+ }
+
+\def\bubblesavedmark[#1][#2]% no packing (not now, maybe make a six-pack later)
+ {\@EA\ifx\csname\??mk::#1:ff\endcsname\relax
+ \setxvalue{\??mk::#1:ff}{\fetchmark[#1][\v!first]}%
+ \fi}
+
+\def\resetsavedmark[#1][#2]% mark tag
+ {\doifelsenothing{\fetchmark[#1][\v!previous]}
+ {\letgvalue{\??mk::#1:pp}\relax}
+ {\setxvalue{\??mk::#1:pp}{\fetchmark[#1][\v!previous]}}%
+ \doifelsenothing{\fetchmark[#1][\v!first]}
+ {\letgvalue{\??mk::#1:ff}\relax}
+ {\setxvalue{\??mk::#1:ff}{\fetchmark[#1][\v!first]}}%
+ \letgvalue{\??mk::#1:#2}\emptysavedmark}
+
+\def\presetsavedmark[#1][#2]% mark tag
+ {\letgvalue{\??mk::#1:#2}\emptysavedmark}
+
+\def\emptysavedmark{{}{}{}{}}
+
+% new (can be used in column sets)
+%
+% \getsavedmarking[M][previous]
+% \getsavedmarking[M][first]
+% \getsavedmarking[M][last]
+
+\def\getsavedmarking
+ {\dodoubleargument\dogetsavedmarking}
+
+\def\dogetsavedmarking[#1][#2]%
+ {\doifelse{#2}\v!previous
+ {\getmarking[#1][1][\v!previous]}
+ {\doifelse{#2}\v!first
+ {\getmarking[#1][1][\v!first]}
+ {\getmarking[#1][\v!last]}}}
+
+% fetching
+
\def\fetchtwomarks[#1]%
- {\doifsomething{\fetchmark[#1][\v!first]}
- {\fetchmark[#1][\v!first]%
- \doifsomething{\fetchmark[#1][\v!last]}
- {\doifnot{\fetchmark[#1][\v!first]}{\fetchmark[#1][\v!last]}
- {\getvalue{\??mk#1\c!separator}\fetchmark[#1][\v!last]}}}}
+ {\dofetchtwomarks[#1][#1]}
\def\fetchallmarks[#1]%
- {\doifsomething{\fetchmark[#1][\v!first]}
- {\doifsomething{\fetchmark[#1][\v!previous]}
- {\doifnot{\fetchmark[#1][\v!previous]}{\fetchmark[#1][\v!first]}
- {\fetchmark[#1][\v!previous]\getvalue{\??mk#1\c!separator}}}}%
- \fetchtwomarks[#1]}
+ {\dofetchallmarks[#1][#1]}
+
+\def\dofetchtwomarks[#1][#2]% class class:tag
+ {\doifsomething{\fetchmark[#2][\v!first]}
+ {\fetchmark[#2][\v!first]%
+ \doifsomething{\fetchmark[#2][\v!last]}
+ {\doifnot{\fetchmark[#2][\v!first]}{\fetchmark[#2][\v!last]}
+ {\getvalue{\??mk#1\c!separator}\fetchmark[#2][\v!last]}}}}
+
+\def\dofetchallmarks[#1][#2]%
+ {\doifsomething{\fetchmark[#2][\v!first]}
+ {\doifsomething{\fetchmark[#2][\v!previous]}
+ {\doifnot{\fetchmark[#2][\v!previous]}{\fetchmark[#2][\v!first]}
+ {\fetchmark[#2][\v!previous]\getvalue{\??mk#1\c!separator}}}}%
+ \fetchtwomarks[#1][#2]}
+
+% \newtoks \everymarking
-\def\dogetmarking[#1][#2]%
+\def\dogetmarking[#1][#2][#3]%
{\doifvalue{\??mk#1\c!state}\v!start
{\bgroup
+ \the\everymarking
%\def\nomarking##1{\unknown\ }%
\def\nomarking{\splitsequence{\getvalue{\??mk#1\c!limittext}}}%
\setfullsectionnumber{\??mk#1}%
- \processaction % slow
- [#2]
- [ \v!both=>{\fetchtwomarks[#1]},
- \v!all=>{\fetchallmarks[#1]},
- \s!default=>{\fetchmark [#1][\v!first]},
- \s!unknown=>{\fetchmark [#1][#2]}]%
+ \ifthirdargument
+ \processaction % slow
+ [#3]
+ [ \v!both=>{\dofetchtwomarks[#1][#1:#2]},
+ \v!all=>{\dofetchallmarks[#1][#1:#2]},
+ \s!default=>{\fetchmark [#1:#2][\v!first]},
+ \s!unknown=>{\fetchmark [#1:#2][#3]}]%
+ \else
+ \processaction % slow
+ [#2]
+ [ \v!both=>{\dofetchtwomarks[#1][#1]},
+ \v!all=>{\dofetchallmarks[#1][#1]},
+ \s!default=>{\fetchmark [#1][\v!first]},
+ \s!unknown=>{\fetchmark [#1][#2]}]%
+ \fi
\egroup}}
-\def\nogetmarking[#1][#2]%
+\def\nogetmarking[#1][#2][#3]%
{}
\unexpanded\def\getmarking
- {\dodoubleargument\dogetmarking}
+ {\dotripleargument\dogetmarking}
\let\setsomemark\setmark
diff --git a/tex/context/base/core-new.tex b/tex/context/base/core-new.tex
index 71be6466a..0f3cb0c1a 100644
--- a/tex/context/base/core-new.tex
+++ b/tex/context/base/core-new.tex
@@ -15,234 +15,6 @@
\unprotect
-% Some kind of new feature, for the moment a private one.
-%
-% \enablemode[screen,paper,bound]
-%
-% \doifmodeelse {paper} {this} {that}
-% \doifmode {paper,screen} {this}
-% \doifnotmode {paper,bound} {that}
-%
-% \startmode [list]
-% \stopmode
-%
-% \startnotmode [list]
-% \stopnotmode
-%
-% system modes have a * as prefix
-%
-% to be implemented: mode naar texutil/scherm + message
-% : geen #2 en nesting (\startregels)
-
-%D Sometimes, we want to prevent a mode for being set. Think
-%D of situations where a style enables a mode, but an outer
-%D level style does not want that. Preventing can be
-%D considered a permanent disabling on forehand.
-
-% \def\systemmodeprefix{*}
-%
-% \let\currentmode \empty
-% \let\preventedmodes\empty
-%
-% \def\preventmode[#1]%
-% {\expanded{\addtocommalist{#1}\noexpand\preventedmodes}}
-%
-% \def\enablemode[#1]%
-% {\expanded
-% {\doifnotinset{#1}{\preventedmodes}
-% {\noexpand\addtocommalist{#1}\noexpand\currentmode}}}
-%
-% \def\disablemode[#1]%
-% {\expanded{\removefromcommalist{#1}\noexpand\currentmode}}
-%
-% \def\doifmodeelse{\unprotect\dodoifmodeelse}
-% \def\doifmode {\unprotect\dodoifmode }
-% \def\doifnotmode {\unprotect\dodoifnotmode }
-% \def\startmode {\unprotect\dostartmode }
-% \def\startnotmode{\unprotect\dostartnotmode}
-%
-% \long\def\dodoifmodeelse#1%
-% {\protect\expanded{\doifcommonelse{#1}{\currentmode}}}
-%
-% \long\def\dodoifmode#1%
-% {\protect\expanded{\doifcommon {#1}{\currentmode}}}
-%
-% \long\def\dodoifnotmode#1%
-% {\protect\expanded{\doifnotcommon {#1}{\currentmode}}}
-%
-% \let\stopmode \relax
-% \let\stopnotmode\relax
-%
-% \long\def\dostartmode[#1]%
-% {\protect
-% \expanded{\doifnotcommon{#1}{\currentmode}}{\gobbleuntil\stopmode}}
-%
-% \long\def\dostartnotmode[#1]%
-% {\protect
-% \expanded{\doifcommon {#1}{\currentmode}}{\gobbleuntil\stopnotmode}}
-%
-% \def\doifallmodeselse{\unprotect\dodoifallmodeselse}
-% \def\doifallmodes {\unprotect\dodoifallmodes}
-% \def\doifnotallmodes {\unprotect\dodoifnotallmodes}
-% \def\startallmodes {\unprotect\dostartallmodes}
-% \def\startnotallmodes{\unprotect\dostartnotallmodes}
-%
-% \long\def\dodoifallmodeselse#1%
-% {\protect\expanded{\doifallcommonelse{#1}{\currentmode}}}
-%
-% \long\def\dodoifallmodes#1%
-% {\protect\expanded{\doifallcommon {#1}{\currentmode}}}
-%
-% \long\def\dodoifnotallmodes#1%
-% {\protect\expanded{\doifnotallcommon {#1}{\currentmode}}}
-%
-% \let\stopallmodes \relax
-% \let\stopnotallmodes\relax
-%
-% \long\def\dostartallmodes[#1]%
-% {\protect
-% \expanded{\doifnotallcommon{#1}{\currentmode}}{\gobbleuntil\stopallmodes}}
-%
-% \long\def\dostartnotallmodes[#1]%
-% {\protect
-% \expanded{\doifallcommon {#1}{\currentmode}}{\gobbleuntil\stopnotallmodes}}
-
-% faster
-
-\def\@mode@{@md@}
-
-\def\systemmodeprefix{*}
-
-\def\disabledmode {0}
-\def\enabledmode {1}
-\def\preventedmode {2}
-
-% fast internal ones
-
-\def\setmode #1{\@EA\let\csname\@mode@#1\endcsname\enabledmode }
-\def\resetmode#1{\@EA\let\csname\@mode@#1\endcsname\disabledmode}
-
-\def\setsystemmode #1{\@EA\let\csname\@mode@\systemmodeprefix#1\endcsname\enabledmode }
-\def\resetsystemmode#1{\@EA\let\csname\@mode@\systemmodeprefix#1\endcsname\disabledmode}
-
-% user ones
-
-\def\preventmode{\unprotect\dopreventmode}
-\def\enablemode {\unprotect\doenablemode }
-\def\disablemode{\unprotect\dodisablemode}
-
-% \def\dopreventmode[#1]{\protect\rawprocesscommalist[#1]\dodopreventmode}
-% \def\doenablemode [#1]{\protect\rawprocesscommalist[#1]\dodoenablemode }
-% \def\dodisablemode[#1]{\protect\rawprocesscommalist[#1]\dododisablemode}
-%
-% better:
-
-\def\dopreventmode[#1]{\protect\cleanuplabel{#1}\rawprocesscommalist[\cleanlabel]\dodopreventmode}
-\def\doenablemode [#1]{\protect\cleanuplabel{#1}\rawprocesscommalist[\cleanlabel]\dodoenablemode }
-\def\dodisablemode[#1]{\protect\cleanuplabel{#1}\rawprocesscommalist[\cleanlabel]\dododisablemode}
-
-\def\dodopreventmode#1%
- {\@EA\let\csname\@mode@#1\endcsname\preventedmode}
-
-\def\dodoenablemode#1%
- {\ifcase0\csname\@mode@#1\endcsname\relax
- \@EA\let\csname\@mode@#1\endcsname\enabledmode
- \fi}
-
-\def\dododisablemode#1%
- {\ifcase0\csname\@mode@#1\endcsname\or
- \@EA\let\csname\@mode@#1\endcsname\disabledmode
- \fi}
-
-% check macros
-
-\newif\ifcheckedmode
-
-\def\dodocheckformode#1%
- {\ifcase0\csname\@mode@#1\endcsname\or\checkedmodetrue\fi}
-
-% \def\docheckformode#1#2#3% will be sped up with a quit
-% {\protect\checkedmodefalse\rawprocesscommalist[#3]\dodocheckformode
-% \ifcheckedmode\@EA#1\else\@EA#2\fi}
-%
-% better:
-
-\def\docheckformode#1#2#3% will be sped up with a quit
- {\cleanuplabel{#3}%
- \protect\checkedmodefalse\rawprocesscommacommand[\cleanlabel]\dodocheckformode
- \ifcheckedmode\@EA#1\else\@EA#2\fi}
-
-\def\dodocheckforallmodes#1%
- {\ifcase0\csname\@mode@#1\endcsname\relax
- \checkedmodefalse\or\or\checkedmodefalse\fi}
-
-% \def\docheckforallmodes#1#2#3% will be sped up with a quit
-% {\protect\checkedmodetrue\rawprocesscommalist[#3]\dodocheckforallmodes
-% \ifcheckedmode\@EA#1\else\@EA#2\fi}
-%
-% better:
-
-\def\docheckforallmodes#1#2#3% will be sped up with a quit
- {\cleanuplabel{#3}%
- \protect\checkedmodetrue\rawprocesscommacommand[\cleanlabel]\dodocheckforallmodes
- \ifcheckedmode\@EA#1\else\@EA#2\fi}
-
-% simple ones
-
-\def\doifmodeelse{\unprotect\dodoifmodeelse}
-\def\doifmode {\unprotect\dodoifmode}
-\def\doifnotmode {\unprotect\dodoifnotmode}
-\def\startmode {\unprotect\dostartmode}
-\def\startnotmode{\unprotect\dostartnotmode}
-
-\def\dodoifmodeelse
- {\docheckformode\firstoftwoarguments\secondoftwoarguments}
-
-\def\dodoifmode
- {\docheckformode\firstofoneargument\gobbleoneargument}
-
-\def\dodoifnotmode
- {\docheckformode\gobbleoneargument\firstofoneargument}
-
-\long\def\dostartmode[#1]%
- {\docheckformode\donothing\dostopmode{#1}}
-
-\long\def\dostartnotmode[#1]%
- {\docheckformode\dostopnotmode\donothing{#1}}
-
-\let\stopmode \donothing
-\let\stopnotmode\donothing
-
-\long\def\dostopmode #1\stopmode {}
-\long\def\dostopnotmode#1\stopnotmode{}
-
-\def\doifallmodeselse{\unprotect\dodoifallmodeselse}
-\def\doifallmodes {\unprotect\dodoifallmodes}
-\def\doifnotallmodes {\unprotect\dodoifnotallmodes}
-\def\startallmodes {\unprotect\dostartallmodes}
-\def\startnotallmodes{\unprotect\dostartnotallmodes}
-
-\def\doifallmodeselse
- {\docheckforallmodes\firstoftwoarguments\secondoftwoarguments}
-
-\def\doifallmodes
- {\docheckforallmodes\firstofoneargument\gobbleoneargument}
-
-\def\doifnotallmodes
- {\docheckforallmodes\gobbleoneargument\firstofoneargument}
-
-\long\def\dostartallmodes[#1]%
- {\docheckforallmodes\donothing\dostopallmodes{#1}}
-
-\long\def\dostartnotallmodes[#1]%
- {\docheckforallmodes\dostopallmodes\donothing{#1}}
-
-\let\stopallmodes \donothing
-\let\stopnotallmodes\donothing
-
-\long\def\dostopallmodes #1\stopallmodes {}
-\long\def\dostopnotallmodes#1\stopnotallmodes{}
-
% \def\setups
% {\dosingleargument\dosetups}
%
diff --git a/tex/context/base/core-not.tex b/tex/context/base/core-not.tex
index a3aad6e1f..b97745b50 100644
--- a/tex/context/base/core-not.tex
+++ b/tex/context/base/core-not.tex
@@ -478,7 +478,7 @@
\else
\global\notesymboltrue
\fi
- \ifvisible
+ \ifvisible % misty feature, make it obsolete
\ifreshapingbox
\@EAEAEA\gobbletwoarguments
\else
@@ -506,6 +506,8 @@
\newif\ifnotesenabled \notesenabledtrue
+\appendtoks \notesenabledfalse \to \everymarking
+
\newconditional\pagewisenotes % saves two hash entries
\def\lastnotepage{1}
diff --git a/tex/context/base/core-rul.tex b/tex/context/base/core-rul.tex
index e21d6385a..1825797c4 100644
--- a/tex/context/base/core-rul.tex
+++ b/tex/context/base/core-rul.tex
@@ -2709,6 +2709,7 @@
\stopcolor
\egroup
\doif{#2}\v!none\insidefloattrue % new
+ \doif{\framedtextparameter{#1}\c!location}\v!none\insidefloattrue % newer
\ifinsidefloat
\box\framebox
\else
@@ -3126,8 +3127,10 @@
\setbox0\vbox\bgroup
\vbox to \lineheight{}\vskip\zeropoint
\blank[\v!disable]
- \advance\hsize -\@@agleftoffset
- \advance\hsize -\@@agrightoffset}
+ % \advance\hsize -\@@agleftoffset
+ % \advance\hsize -\@@agrightoffset
+ \leftskip \@@agleftoffset % new **
+ \rightskip\@@agrightoffset} % new **
%D This dummy line is removed by \type{\setbox2=\vsplit0 to
%D \lineheight}. That way \type{\topskip} takes care of the
@@ -3138,6 +3141,7 @@
{\endgraf
\removelastskip
\egroup
+ \dimen2\leftskip % new **
\forgetall
\splitmaxdepth\boxmaxdepth
\splittopskip\topskip
@@ -3172,14 +3176,13 @@
\vfill}
\@@agbefore
\ifcase\backgroundsplit\or\or % partial split
-\ifdim\pagegoal<\maxdimen
- \pagegoal=1.2\pagegoal % be a bit more tolerant
-\fi
+ \ifdim\pagegoal<\maxdimen
+ \pagegoal=1.2\pagegoal % be a bit more tolerant
+ \fi
\fi
\startlinecorrection
- \localframed
- [\??ag][\c!offset=\v!overlay]
- {\hskip\@@agleftoffset\box2\hskip\@@agrightoffset}%
+ %\localframed[\??ag][\c!offset=\v!overlay]{\hskip\@@agleftoffset\box2\hskip\@@agrightoffset}%
+ \hskip\dimen2\localframed[\??ag][\c!offset=\v!overlay]{\box2}% new **
\stoplinecorrection
\ifcase\backgroundsplit % no split
\@@agafter
diff --git a/tex/context/base/core-sec.tex b/tex/context/base/core-sec.tex
index e0712673d..7725d293b 100644
--- a/tex/context/base/core-sec.tex
+++ b/tex/context/base/core-sec.tex
@@ -305,6 +305,29 @@
\def\decouplemarking[#1]%
{\couplemarking[#1][]}
+% \def\definesection[#1]%
+% {\doifundefined{\??se#1}
+% {\doifelsenothing\firstsection
+% {\def\firstsection{#1}%
+% \setevalue{\??se#1\c!before}{\v!text}%
+% \setevalue{\??se\v!text\c!after}{#1}}
+% {\setevalue{\??se\commalistelement\c!after}{#1}%
+% \setevalue{\??se#1\c!before}{\lastsection}%
+% \setevalue{\??se\lastsection\c!after}{#1}}%
+% \advance\nofsections \plusone
+% \setevalue{\??se#1\c!level}{\the\nofsections}%
+% \letvalue{\??se#1\c!after}\empty
+% \setvalue{\e!next#1}{\@@nextsectionnumber{#1}}%
+% \setvalue{#1\c!number}{\@@longsectionnumber{#1}}%
+% \setvalue{#1\s!format}{\@@longformatnumber{#1}}%
+% \setevalue{\??by#1}{#1}%
+% \setevalue{\??by\v!by#1}{#1}%
+% \makecounter{\??se#1}%
+% \edef\lastsection{#1}%
+% \setvalue{\??sk#1}{#1}%
+% \letvalue{\??se#1\c!marking}\empty
+% \setupsection[#1][\c!previousnumber=\v!yes]}}%
+
\def\definesection[#1]%
{\doifundefined{\??se#1}
{\doifelsenothing\firstsection
@@ -323,6 +346,7 @@
\setevalue{\??by#1}{#1}%
\setevalue{\??by\v!by#1}{#1}%
\makecounter{\??se#1}%
+ \makecounter{\??se\v!last#1}% GB
\edef\lastsection{#1}%
\setvalue{\??sk#1}{#1}%
\letvalue{\??se#1\c!marking}\empty
@@ -331,16 +355,46 @@
\def\previoussection#1{\csname\??se#1\c!before\endcsname}
\def\nextsection #1{\csname\??se#1\c!after \endcsname}
+\let\preservedsection\v!unknown % \def\preservedsection{\firstsection}
+
+\def\checkpreservevalueafter#1% GB
+ {\ifnum\getvalue{\??se#1\c!level}<\nofsections
+ \edef\preservedsection{\getvalue{\??se#1\c!after}}%
+ \ifconditional\@@resetsubheadnumbers
+ \setcounter{\??se\v!last\preservedsection}\zerocount % {0}%
+ \else
+ \setcounter{\??se\v!last\preservedsection}{\countervalue{\??se\preservedsection}}%
+ \fi
+ \fi}
+
+% \def\@@setsectionnumber#1#2%
+% {\letgvalueempty{\??se#1\s!start}% signal i.p.v. boolean
+% \setcounter{\??se#1}{#2}%
+% \ifconditional\@@resetsubheadnumbers\resetsectioncounters{#1}\fi
+% \checkpagecounter}
+
\def\@@setsectionnumber#1#2%
{\letgvalueempty{\??se#1\s!start}% signal i.p.v. boolean
\setcounter{\??se#1}{#2}%
- \ifconditional\@@resetsubheadnumbers\resetsectioncounters{#1}\fi
+ \checkpreservevalueafter{#1}% GB
+ \resetsectioncounters{#1}%
\checkpagecounter}
-\def\@@nextsectionnumber#1%
+% \def\@@nextsectionnumber#1%
+% {\letgvalueempty{\??se#1\s!start}% signal i.p.v. boolean
+% \pluscounter{\??se#1}%
+% \ifconditional\@@resetsubheadnumbers\resetsectioncounters{#1}\fi
+% \checkpagecounter}
+
+\def\@@nextsectionnumber#1% patched by GB
{\letgvalueempty{\??se#1\s!start}% signal i.p.v. boolean
+ \ifnum\countervalue{\??se\v!last#1}>\zerocount
+ \setcounter{\??se#1}{\countervalue{\??se\v!last#1}}%
+ \setcounter{\??se\v!last#1}\zerocount % {0}%
+ \fi
\pluscounter{\??se#1}%
- \ifconditional\@@resetsubheadnumbers\resetsectioncounters{#1}\fi
+ \checkpreservevalueafter{#1}%
+ \resetsectioncounters{#1}%
\checkpagecounter}
\def\@@sectionvalue#1% % nog niet overal doorgevoerd
@@ -868,7 +922,7 @@
\def\dosetlocalsectionblock#1#2#3% new \edef's
{\edef\@@sectiontype {#1}%
- \edef\@@sectionblock {#2}%
+ \edef\@@sectionblock {#2}%
\edef\@@sectionblocks{#3}}
% beware, the \resetsectionmarks generates some nodes that
@@ -1722,8 +1776,8 @@
% \getvalue{\??ko#1\c!commandbefore}% strange, why here? moved 21/11/2005
\placeheadmargintexts{#1}% binnen #3?
\ifdisplaysectionhead
- \getvalue{\??ko#1\c!numbercommand}%
- {\setstrut\begstrut#3\endstrut}% can be nilled with \setnostrut
+ % can be nilled with \setnostrut
+ \getvalue{\??ko#1\c!numbercommand}{\setstrut\begstrut#3\endstrut}%
\else
\getvalue{\??ko#1\c!numbercommand}{#3}%
\fi
diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex
index c0a1fd1e5..f6181648e 100644
--- a/tex/context/base/core-spa.tex
+++ b/tex/context/base/core-spa.tex
@@ -35,6 +35,8 @@
\appendtoks \simplesetupspacing \to \everybodyfont % nieuw
\appendtoks \setdisplayskips \to \everybodyfont % nieuw
+\appendtoks \setrelativeinterlinespace \to \everybodyfont
+
\appendtoks \updateraggedskips \to \everyfontswitch % under test
\prependtoks \let\par\endgraf \to \everypagebody % see \fillinline
@@ -171,14 +173,43 @@
\setfontparameters % redundant, can be \setstrut, test first
\updateraggedskips} % yes indeed
+% \let\currentrelativeinterlinespace\empty
+%
+% \def\setuprelativeinterlinespace[#1]%
+% {\processallactionsinset
+% [#1]
+% [ \v!on=>\oninterlineskip,
+% \v!off=>\offinterlineskip,
+% \v!reset=>\let\currentrelativeinterlinespace\empty
+% \setfontparameters,% just \setstrut, test first
+% \s!unknown=>\assignvalue{#1}\currentrelativeinterlinespace{1.00}{1.25}{1.50}%
+% \spacing\currentrelativeinterlinespace]}
+
+% \setupinterlinespace[big] \switchtobodyfont[11pt] -> forgotten
+% \setupinterlinespace[auto,big] \switchtobodyfont[11pt] -> remembered
+
+\let\currentrelativeinterlinespace\empty
+
\def\setuprelativeinterlinespace[#1]%
- {\processallactionsinset % \regelwit = dummy !
+ {\processallactionsinset
[#1]
[ \v!on=>\oninterlineskip,
\v!off=>\offinterlineskip,
- \v!reset=>\setfontparameters,% just \setstrut, test first
- \s!unknown=>\assignvalue{#1}\regelwit{1.00}{1.25}{1.50}%
- \spacing\regelwit]}
+ \v!reset=>\let\currentrelativeinterlinespace\empty
+ \let\setrelativeinterlinespace\relax
+ \setfontparameters,
+ \v!auto=>\let\setrelativeinterlinespace\dosetrelativeinterlinespace,
+ \s!unknown=>\assignvalue\commalistelement\currentrelativeinterlinespace{1.00}{1.25}{1.50}%
+ \spacing\currentrelativeinterlinespace]}
+
+\def\dosetrelativeinterlinespace
+ {\ifx\currentrelativeinterlinespace\empty\else
+ \spacing\currentrelativeinterlinespace
+ \fi}
+
+\let\setrelativeinterlinespace\relax
+
+% \appendtoks \setrelativeinterlinespace \to \everybodyfont
\def\complexsetupinterlinespace[#1]% \commalistelement ipv #1
{\doifassignmentelse{#1}\setupspecifiedinterlinespace\setuprelativeinterlinespace[#1]}
@@ -3060,12 +3091,26 @@
\endETEX
+\newconditional \parbasedattributes
+
+\def\finishparbasedattributes
+ {\ifconditional\parbasedattributes
+ \setfalse\parbasedattributes
+ \par
+ \fi}
+
+\def\dostopparbasedattributes
+ {\settrue\parbasedattributes
+ \dostopattributes}
+
\unexpanded\def\@@dostopattributes
{\stopcolor
+ \finishparbasedattributes
\endgroup}
\unexpanded\def\@@nostopattributes
- {\endgroup}
+ {\finishparbasedattributes
+ \endgroup}
\unexpanded\def\doattributes#1#2#3#4%
{\dostartattributes{#1}{#2}{#3}{#4}\dostopattributes}
@@ -3088,10 +3133,12 @@
%
% \unexpanded\def\@@dostopattributes%
% {\stopcolor
+% \finishparbasedattributes
% \endgroup}
%
% \unexpanded\def\@@nostopattributes%
-% {\endgroup}
+% {\finishparbasedattributes
+% \endgroup}
\unexpanded\def\dostartattributes#1#2#3%
{\begingroup % geen \bgroup, anders in mathmode lege \hbox
@@ -3112,10 +3159,12 @@
\unexpanded\def\@@dostopattributes
{\doglobalstopcolor
+ \finishparbasedattributes
\endgroup}
\unexpanded\def\@@nostopattributes
- {\endgroup}
+ {\finishparbasedattributes
+ \endgroup}
\endETEX
diff --git a/tex/context/base/core-var.tex b/tex/context/base/core-var.tex
index 1fe89af0e..5d0cc1d5d 100644
--- a/tex/context/base/core-var.tex
+++ b/tex/context/base/core-var.tex
@@ -15,6 +15,233 @@
\unprotect
+%D Modes:
+%D
+%D \starttyping
+%D \enablemode[screen,paper,bound]
+%D
+%D \doifmodeelse {paper} {this} {that}
+%D \doifmode {paper,screen} {this}
+%D \doifnotmode {paper,bound} {that}
+%D
+%D \startmode [list]
+%D \stopmode
+%D
+%D \startnotmode [list]
+%D \stopnotmode
+%D \stoptyping
+%D
+%D system modes have a * as prefix
+%D
+%D Sometimes, we want to prevent a mode for being set. Think
+%D of situations where a style enables a mode, but an outer
+%D level style does not want that. Preventing can be
+%D considered a permanent disabling on forehand.
+
+% \def\systemmodeprefix{*}
+%
+% \let\currentmode \empty
+% \let\preventedmodes\empty
+%
+% \def\preventmode[#1]%
+% {\expanded{\addtocommalist{#1}\noexpand\preventedmodes}}
+%
+% \def\enablemode[#1]%
+% {\expanded
+% {\doifnotinset{#1}{\preventedmodes}
+% {\noexpand\addtocommalist{#1}\noexpand\currentmode}}}
+%
+% \def\disablemode[#1]%
+% {\expanded{\removefromcommalist{#1}\noexpand\currentmode}}
+%
+% \def\doifmodeelse{\unprotect\dodoifmodeelse}
+% \def\doifmode {\unprotect\dodoifmode }
+% \def\doifnotmode {\unprotect\dodoifnotmode }
+% \def\startmode {\unprotect\dostartmode }
+% \def\startnotmode{\unprotect\dostartnotmode}
+%
+% \long\def\dodoifmodeelse#1%
+% {\protect\expanded{\doifcommonelse{#1}{\currentmode}}}
+%
+% \long\def\dodoifmode#1%
+% {\protect\expanded{\doifcommon {#1}{\currentmode}}}
+%
+% \long\def\dodoifnotmode#1%
+% {\protect\expanded{\doifnotcommon {#1}{\currentmode}}}
+%
+% \let\stopmode \relax
+% \let\stopnotmode\relax
+%
+% \long\def\dostartmode[#1]%
+% {\protect
+% \expanded{\doifnotcommon{#1}{\currentmode}}{\gobbleuntil\stopmode}}
+%
+% \long\def\dostartnotmode[#1]%
+% {\protect
+% \expanded{\doifcommon {#1}{\currentmode}}{\gobbleuntil\stopnotmode}}
+%
+% \def\doifallmodeselse{\unprotect\dodoifallmodeselse}
+% \def\doifallmodes {\unprotect\dodoifallmodes}
+% \def\doifnotallmodes {\unprotect\dodoifnotallmodes}
+% \def\startallmodes {\unprotect\dostartallmodes}
+% \def\startnotallmodes{\unprotect\dostartnotallmodes}
+%
+% \long\def\dodoifallmodeselse#1%
+% {\protect\expanded{\doifallcommonelse{#1}{\currentmode}}}
+%
+% \long\def\dodoifallmodes#1%
+% {\protect\expanded{\doifallcommon {#1}{\currentmode}}}
+%
+% \long\def\dodoifnotallmodes#1%
+% {\protect\expanded{\doifnotallcommon {#1}{\currentmode}}}
+%
+% \let\stopallmodes \relax
+% \let\stopnotallmodes\relax
+%
+% \long\def\dostartallmodes[#1]%
+% {\protect
+% \expanded{\doifnotallcommon{#1}{\currentmode}}{\gobbleuntil\stopallmodes}}
+%
+% \long\def\dostartnotallmodes[#1]%
+% {\protect
+% \expanded{\doifallcommon {#1}{\currentmode}}{\gobbleuntil\stopnotallmodes}}
+
+% faster
+
+\def\@mode@{@md@}
+
+\def\systemmodeprefix{*}
+
+\def\disabledmode {0}
+\def\enabledmode {1}
+\def\preventedmode {2}
+
+% fast internal ones
+
+\def\setmode #1{\@EA\let\csname\@mode@#1\endcsname\enabledmode }
+\def\resetmode#1{\@EA\let\csname\@mode@#1\endcsname\disabledmode}
+
+\def\setsystemmode #1{\@EA\let\csname\@mode@\systemmodeprefix#1\endcsname\enabledmode }
+\def\resetsystemmode#1{\@EA\let\csname\@mode@\systemmodeprefix#1\endcsname\disabledmode}
+
+% user ones
+
+\def\preventmode{\unprotect\dopreventmode}
+\def\enablemode {\unprotect\doenablemode }
+\def\disablemode{\unprotect\dodisablemode}
+
+% \def\dopreventmode[#1]{\protect\rawprocesscommalist[#1]\dodopreventmode}
+% \def\doenablemode [#1]{\protect\rawprocesscommalist[#1]\dodoenablemode }
+% \def\dodisablemode[#1]{\protect\rawprocesscommalist[#1]\dododisablemode}
+%
+% better:
+
+\def\dopreventmode[#1]{\protect\cleanuplabel{#1}\rawprocesscommalist[\cleanlabel]\dodopreventmode}
+\def\doenablemode [#1]{\protect\cleanuplabel{#1}\rawprocesscommalist[\cleanlabel]\dodoenablemode }
+\def\dodisablemode[#1]{\protect\cleanuplabel{#1}\rawprocesscommalist[\cleanlabel]\dododisablemode}
+
+\def\dodopreventmode#1%
+ {\@EA\let\csname\@mode@#1\endcsname\preventedmode}
+
+\def\dodoenablemode#1%
+ {\ifcase0\csname\@mode@#1\endcsname\relax
+ \@EA\let\csname\@mode@#1\endcsname\enabledmode
+ \fi}
+
+\def\dododisablemode#1%
+ {\ifcase0\csname\@mode@#1\endcsname\or
+ \@EA\let\csname\@mode@#1\endcsname\disabledmode
+ \fi}
+
+% check macros
+
+\newif\ifcheckedmode
+
+\def\dodocheckformode#1%
+ {\ifcase0\csname\@mode@#1\endcsname\or\checkedmodetrue\fi}
+
+% \def\docheckformode#1#2#3% will be sped up with a quit
+% {\protect\checkedmodefalse\rawprocesscommalist[#3]\dodocheckformode
+% \ifcheckedmode\@EA#1\else\@EA#2\fi}
+%
+% better:
+
+\def\docheckformode#1#2#3% will be sped up with a quit
+ {\cleanuplabel{#3}%
+ \protect\checkedmodefalse\rawprocesscommacommand[\cleanlabel]\dodocheckformode
+ \ifcheckedmode\@EA#1\else\@EA#2\fi}
+
+\def\dodocheckforallmodes#1%
+ {\ifcase0\csname\@mode@#1\endcsname\relax
+ \checkedmodefalse\or\or\checkedmodefalse\fi}
+
+% \def\docheckforallmodes#1#2#3% will be sped up with a quit
+% {\protect\checkedmodetrue\rawprocesscommalist[#3]\dodocheckforallmodes
+% \ifcheckedmode\@EA#1\else\@EA#2\fi}
+%
+% better:
+
+\def\docheckforallmodes#1#2#3% will be sped up with a quit
+ {\cleanuplabel{#3}%
+ \protect\checkedmodetrue\rawprocesscommacommand[\cleanlabel]\dodocheckforallmodes
+ \ifcheckedmode\@EA#1\else\@EA#2\fi}
+
+% simple ones
+
+\def\doifmodeelse{\unprotect\dodoifmodeelse}
+\def\doifmode {\unprotect\dodoifmode}
+\def\doifnotmode {\unprotect\dodoifnotmode}
+\def\startmode {\unprotect\dostartmode}
+\def\startnotmode{\unprotect\dostartnotmode}
+
+\def\dodoifmodeelse
+ {\docheckformode\firstoftwoarguments\secondoftwoarguments}
+
+\def\dodoifmode
+ {\docheckformode\firstofoneargument\gobbleoneargument}
+
+\def\dodoifnotmode
+ {\docheckformode\gobbleoneargument\firstofoneargument}
+
+\long\def\dostartmode[#1]%
+ {\docheckformode\donothing\dostopmode{#1}}
+
+\long\def\dostartnotmode[#1]%
+ {\docheckformode\dostopnotmode\donothing{#1}}
+
+\let\stopmode \donothing
+\let\stopnotmode\donothing
+
+\long\def\dostopmode #1\stopmode {}
+\long\def\dostopnotmode#1\stopnotmode{}
+
+\def\doifallmodeselse{\unprotect\dodoifallmodeselse}
+\def\doifallmodes {\unprotect\dodoifallmodes}
+\def\doifnotallmodes {\unprotect\dodoifnotallmodes}
+\def\startallmodes {\unprotect\dostartallmodes}
+\def\startnotallmodes{\unprotect\dostartnotallmodes}
+
+\def\doifallmodeselse
+ {\docheckforallmodes\firstoftwoarguments\secondoftwoarguments}
+
+\def\doifallmodes
+ {\docheckforallmodes\firstofoneargument\gobbleoneargument}
+
+\def\doifnotallmodes
+ {\docheckforallmodes\gobbleoneargument\firstofoneargument}
+
+\long\def\dostartallmodes[#1]%
+ {\docheckforallmodes\donothing\dostopallmodes{#1}}
+
+\long\def\dostartnotallmodes[#1]%
+ {\docheckforallmodes\dostopallmodes\donothing{#1}}
+
+\let\stopallmodes \donothing
+\let\stopnotallmodes\donothing
+
+\long\def\dostopallmodes #1\stopallmodes {}
+\long\def\dostopnotallmodes#1\stopnotallmodes{}
+
%D \macros
%D {every...}
%D
@@ -44,6 +271,7 @@
\newevery \everybeginofpar \relax
\newevery \everyendofpar \relax
\newevery \everylistentry \relax
+\newevery \everymarking \relax
%D For shared \type {\everymath} and \type {\everydisplay}:
diff --git a/tex/context/base/hand-def.tex b/tex/context/base/hand-def.tex
index 591370cda..0a19ce270 100644
--- a/tex/context/base/hand-def.tex
+++ b/tex/context/base/hand-def.tex
@@ -476,7 +476,7 @@
% \stopfonthandling
% \definefonthandling [noligs] [noligs] [type=tag]
-% \setupfontsynonym[Serif][handling=noligs]
+ % \setupfontsynonym[Serif][handling=noligs]
% \definefont[test][Serif at 12.34pt]
%
% {``fi--ffl---ffi'' \test ``fi--ffl---ffi''}
diff --git a/tex/context/base/lang-ini.tex b/tex/context/base/lang-ini.tex
index e435c2420..d4a6b37ea 100644
--- a/tex/context/base/lang-ini.tex
+++ b/tex/context/base/lang-ini.tex
@@ -165,11 +165,31 @@
%D the languages. The current langage is saved in the macro
%D \type {\currentlanguage}. The setup macro is mainly used
%D for cosmetic purposes.
+%D
+%D \starttyping
+%D \dorecurse{3}
+%D {\language[nl]
+%D \startmode[*en] english \stopmode
+%D \startmode[*nl] dutch \stopmode
+%D \language[en]
+%D \startmode[*en] english \stopmode
+%D \startmode[*nl] dutch \stopmode}
+%D \stoptyping
\let\currentlanguage \empty
\let\currentmainlanguage\empty
-\def\setupcurrentlanguage[#1]{\def\currentlanguage{#1}}
+\def\setupcurrentlanguage[#1]{\setcurrentlanguage\currentmainlanguage{#1}}
+
+\def\setcurrentlanguage#1#2% sets modes: **id (currentmain) *id (current)
+ {\doifsomething{#1}
+ {\ifx\currentmainlanguage\empty\else\resetsystemmode{\systemmodeprefix\currentmainlanguage}\fi
+ \edef\currentmainlanguage{#1}%
+ \setsystemmode{\systemmodeprefix\currentmainlanguage}}%
+ \doifsomething{#2}
+ {\ifx\currentlanguage\empty\else\resetsystemmode\currentlanguage\fi
+ \edef\currentlanguage{#2}%
+ \setsystemmode\currentlanguage}}
%D The internal macros will be defined later.
@@ -593,7 +613,7 @@
\ifcsname\l!prefix!\askedlanguage\endcsname
\edef\askedlanguage{\csname\l!prefix!\askedlanguage\endcsname}%
\ifx\currentlanguage\askedlanguage \else
- \let\currentlanguage\askedlanguage
+ \setcurrentlanguage\currentmainlanguage\askedlanguage
\docomplexlanguage
\fi
\else
@@ -613,7 +633,7 @@
\else
\edef\askedlanguage{\csname\l!prefix!\askedlanguage\endcsname}%
\ifx\currentlanguage\askedlanguage \else
- \let\currentlanguage\askedlanguage
+ \setcurrentlanguage\currentmainlanguage\askedlanguage
\docomplexlanguage
\fi
\fi
@@ -633,8 +653,7 @@
\ifcsname\l!prefix!\askedlanguage\endcsname
\edef\askedlanguage{\csname\l!prefix!\askedlanguage\endcsname}%
\ifx\currentmainlanguage\askedlanguage \else
- \let\currentmainlanguage\askedlanguage
- \let\currentlanguage\askedlanguage
+ \setcurrentlanguage\askedlanguage\askedlanguage
\docomplexlanguage
\fi
\fi
@@ -650,8 +669,7 @@
\@EA\ifx\csname\l!prefix!\askedlanguage\endcsname\relax\else
\edef\askedlanguage{\csname\l!prefix!\askedlanguage\endcsname}%
\ifx\currentmainlanguage\askedlanguage \else
- \let\currentmainlanguage\askedlanguage
- \let\currentlanguage\askedlanguage
+ \setcurrentlanguage\askedlanguage\askedlanguage
\docomplexlanguage
\fi
\fi
diff --git a/tex/context/base/m-dratex.tex b/tex/context/base/m-dratex.tex
new file mode 100644
index 000000000..6c088daf9
--- /dev/null
+++ b/tex/context/base/m-dratex.tex
@@ -0,0 +1,21 @@
+%D \module
+%D [ file=m-dratex,
+%D version=2005.11.25,
+%D title=\CONTEXT\ Extra Modules,
+%D subtitle=\DRATEX\ Loading Macros,
+%D author=Hans Hagen,
+%D date=\currentdate,
+%D copyright=PRAGMA-ADE]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details
+
+\readfile{DraTex.sty}{}{\readfile{dratex.sty}{}{\endinput}}
+
+\letvalue{:NewCount}\newcount
+\letvalue{:NewDimen}\newdimen
+
+\readfile{AlDraTex.sty}{}{\readfile{aldratex.sty}{}{\endinput}}
+
+\endinput
diff --git a/tex/context/base/meta-ini.tex b/tex/context/base/meta-ini.tex
index d628e5e6c..799d441ad 100644
--- a/tex/context/base/meta-ini.tex
+++ b/tex/context/base/meta-ini.tex
@@ -668,9 +668,13 @@
\convertargument#2\to\ascii
\dodoglobal\letvalue{\@@MPT#1}\ascii}
-\def\MPtext #1{\getvalue{\@@MPT#1}}
-\def\MPstring #1{"\getvalue{\@@MPT#1}"}
-\def\MPbetex #1{btex \getvalue{\@@MPT#1} etex}
+% \def\MPtext #1{\getvalue{\@@MPT#1}}
+% \def\MPstring #1{"\getvalue{\@@MPT#1}"}
+% \def\MPbetex #1{btex \getvalue{\@@MPT#1} etex}
+
+\def\MPtext #1{\executeifdefined{\@@MPT#1}\empty}
+\def\MPstring #1{"\executeifdefined{\@@MPT#1}\empty"}
+\def\MPbetex #1{btex \executeifdefined{\@@MPT#1}\empty etex}
%D Unfortunately \METAPOST\ does not have \CMYK\ support
%D built in, but by means of specials we can supply the
@@ -961,6 +965,14 @@
% \appendtoks \closeMPgraphicfiles \to \everystoptext
+%D New:
+
+\newconditional\manyMPspecials % when set to true, > 1000 specials can be used
+
+\prependtoks
+ _special_div_ := 1000\ifconditional\manyMPspecials0\fi ;
+\to \MPextensions
+
\protect \endinput
% also:
diff --git a/tex/context/base/mult-com.tex b/tex/context/base/mult-com.tex
index 805f68f6c..d5fe1f47a 100644
--- a/tex/context/base/mult-com.tex
+++ b/tex/context/base/mult-com.tex
@@ -1513,16 +1513,16 @@ moveformula: verplaatsformule moveformula
stopproduct: stopprodukt stopproduct
stopprodukt stopprodukt
terminaprodotto stopprodus
- startproject: startproject startproject
+ startproject: startprojekt startproject
startprojekt startprojekt
iniziaprogetto startproiect
- stopproject: stopproject stopproject
+ stopproject: stopprojekt stopproject
stopprojekt stopprojekt
terminaprogetto stopproiect
setups: instellingen setups
einstellungen nastaveni
impostazioni setari
- project: project project
+ project: projekt project
projekt projekt
progetto proiect
component: onderdeel component
diff --git a/tex/context/base/page-set.tex b/tex/context/base/page-set.tex
index 76866c563..67a56bf47 100644
--- a/tex/context/base/page-set.tex
+++ b/tex/context/base/page-set.tex
@@ -84,6 +84,72 @@
% \startcolumnset [three] \dorecurse {1}{\input tufte \par} \stopcolumnset
% \stoptext
+%D Marks in columnsets:
+%D
+%D \starttyping
+%D \definemarking[M]
+%D \setupheadertexts[\setups{show-M-marks}]
+%D \definecolumnset[test][n=3]
+%D
+%D \startsetups show-M-marks
+%D \getmarking[M][1][previous]/\getmarking[M][1][first]/\getmarking[M][1][last]\quad
+%D \getmarking[M][2][previous]/\getmarking[M][2][first]/\getmarking[M][2][last]\quad
+%D \getmarking[M][3][previous]/\getmarking[M][3][first]/\getmarking[M][3][last]\quad
+%D \getmarking[M][1][previous]/\getmarking[M][1][first]/\getmarking[M][last]\quad
+%D \getsavedmarking[M][previous]/\getsavedmarking[M][first]/\getsavedmarking[M][last]
+%D \stopsetups
+%D
+%D \startbuffer
+%D \section{Knuth} [K1]\marking[M]{k1} [K2]\marking[M]{k2} \input knuth
+%D \section{Zapf} [Z]\marking[M]{z} \input zapf
+%D \stopbuffer
+%D
+%D \startbuffer
+%D \section{Ward} [W]\marking[M]{w} \input ward
+%D \placefigure[here]{none}{\externalfigure[a][height=2cm]}
+%D \section{Davis} [D]\marking[M]{d} \input davis
+%D \section{Zapf} [Z]\marking[M]{z} \input zapf
+%D \stopbuffer
+%D
+%D \startbuffer
+%D \section{Ward} [W]\marking[M]{w} \input ward
+%D \placefigure[here]{none}{\externalfigure[a][height=2cm]}
+%D \section{Davis} [D]\marking[M]{d} \input davis
+%D \section{Zapf} [Z]\marking[M]{z} \input zapf
+%D \section{Douglas} [O]\marking[M]{o} \input douglas
+%D \stopbuffer
+%D
+%D \starttext
+%D \startcolumnset[test]
+%D \dorecurse{5}{\getbuffer}
+%D \placefigure[here]{none}{\externalfigure[a][height=2cm]}
+%D % \column % sometimes needed
+%D \stopcolumnset
+%D \stoptext
+%D \stoptyping
+
+% not ok yet, for column sets we need a special case: within a column we
+% need to bubble-up the marks; the indirectness permits overloading here
+
+\let\saveOTRSETmark \refreshsavedmark
+\let\bubbleOTRSETmark\bubblesavedmark
+\let\resetOTRSETmark \resetsavedmark
+\let\presetOTRSETmark\presetsavedmark
+
+\def\doregisterOTRSETmarks#1{\saveOTRSETmark [#1][\number\mofcolumns]}
+\def\dobubbleOTRSETmarks #1{\bubbleOTRSETmark[#1][\number\mofcolumns]}
+\def\doresetOTRSETmarks #1{\resetOTRSETmark [#1][\recurselevel]}
+\def\dopresetOTRSETmarks #1{\presetOTRSETmark[#1][\recurselevel]}
+
+\def\registerOTRSETmarks
+ {\processcommacommand[\alldefinedmarks]\doregisterOTRSETmarks}
+\def\bubbleOTRSETmarks
+ {\processcommacommand[\alldefinedmarks]\dobubbleOTRSETmarks}
+\def\resetOTRSETmarks
+ {\dorecurse\nofcolumns{\processcommacommand[\alldefinedmarks]\doresetOTRSETmarks}}
+\def\presetOTRSETmarks
+ {\dorecurse\nofcolumns{\processcommacommand[\alldefinedmarks]\dopresetOTRSETmarks}}
+
%D test case of Vit Zika (context list):
%D
%D \starttyping
@@ -529,17 +595,19 @@
\def\OTRSETdoflush
{\ifcollectingcontent
+ \registerOTRSETmarks
\global\mofcolumns\plusone
\else
\OTRSETdofinalflush
\OTRSETdofinaloutput
-\ifnum\columnsetpage>0
- \dorecurse\nofcolumns{\doresetcolumnsetlines\recurselevel}%
-\fi
-\doglobal\increment\columnsetpage
+ \ifnum\columnsetpage>0
+ \dorecurse\nofcolumns{\doresetcolumnsetlines\recurselevel}%
+ \fi
+ \doglobal\increment\columnsetpage
\OTRSETinitializecolumns
%\OTRSETdoflushfloats
\OTRSETstartnextpage
+\presetOTRSETmarks
\initializecolumntextareas
\fi}
@@ -893,7 +961,9 @@
{\OTRSETsetfreecells\mofcolumns\columnlastcell
\ifsomefreecolumncells
% okay
+ \bubbleOTRSETmarks % not robust because we reenter
\else
+ \registerOTRSETmarks % not robust because we reenter
\global\advance\mofcolumns \plusone
\ifnum\mofcolumns>\nofcolumns
\OTRSETdoflush
@@ -1708,6 +1778,7 @@
{\increment\columnsetlevel\relax
\globallet\localcolumnmaxcells\!!zerocount
\global\chardef\OTRSETfinish\zerocount
+ \resetOTRSETmarks
\ifnum\columnsetlevel=\plusone
\bgroup
\saveinterlinespace
@@ -1875,7 +1946,7 @@
{\vskip-\struttotal\verticalstrut\vfill\eject}%
\else
\ifnum\mofcolumns>\plusone
- \donetrue
+ \donetrue
\else\ifdim\pagetotal>\zeropoint % too dangerous, we loose data
\donetrue
\else
@@ -1889,6 +1960,7 @@
\fi
\vfill
\eject
+\registerOTRSETmarks
% brr, may result in empty page after nicely fit text
% or if left, then lost of first column only text
\ifnum\mofcolumns>\plusone
diff --git a/tex/context/base/s-pre-60.tex b/tex/context/base/s-pre-60.tex
index baedffaa3..9945847c2 100644
--- a/tex/context/base/s-pre-60.tex
+++ b/tex/context/base/s-pre-60.tex
@@ -11,6 +11,16 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
+\startmode[paper]
+ \let\StartSteps\relax
+ \let\StopSteps \relax
+ \let\FlushStep \relax
+ \let\ResetStep \relax
+ \let\StartBusy\relax
+ \let\StopBusy \relax
+ \endinput
+\stopmode
+
\newcounter\StepCounter
\newcounter\StepMaximum
diff --git a/tex/context/base/s-syn-01.tex b/tex/context/base/s-syn-01.tex
new file mode 100644
index 000000000..d797be61e
--- /dev/null
+++ b/tex/context/base/s-syn-01.tex
@@ -0,0 +1,54 @@
+%D \module
+%D [ file=s-syn-01,
+%D version=0000.00.00,
+%D title=\CONTEXT\ Style File,
+%D subtitle=Preliminary Syntax Stuff,
+%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 is needed for the \METAFUN\ manual (this module was
+%D called \type {p-syn-01} on my machine).
+
+\unprotect
+
+\def\Indent #1{\ifvmode\noindent\hbox to 2em{\hss#1}\else#1\fi}
+\def\Sugar #1{\ifhmode\unskip\unskip\unskip\fi\kern.25em{#1}\kern.25em\ignorespaces}
+\def\Something#1{\Sugar{\mathematics{\langle\hbox{#1}\rangle}}}
+\def\Lbrace {\Sugar{\tttf\leftargument}}
+\def\Rbrace {\Sugar{\tttf\rightargument}}
+\def\Or {\Sugar{\mathematics{\vert}}}
+\def\Optional #1{\Sugar{\mathematics{[\hbox{#1}]}}}
+\def\Means {\Sugar{\mathematics{\rightarrow}}}
+\def\Tex #1{\Sugar{\type{#1}}}
+\def\Literal #1{\Sugar{\type{#1}}}
+\def\Syntax #1{\strut\kern-.25em{#1}\kern-.25em}
+\def\Next {\crlf\hbox to 2em{}\nobreak}
+\def\Whatever #1{\Sugar{\mathematics{(\hbox{#1})}}}
+\def\Quote #1{\Sugar{\quote{#1}}}
+
+\def\Or {\Sugar{\Indent{\mathematics{\vert}}}}
+\def\Means {\Sugar{\Indent{\mathematics{\rightarrow}}}}
+
+\def\StartSyntax
+ {\goodbreak
+ \startlines
+ \catcode`\#=12
+ \let\L \Literal
+ \let\S \Something
+ \def\FL##1{\color[darkred]{\L{##1}}}
+ \def\FS##1{\S{\color[darkred]{##1}}}
+ \let\M \Means
+ \let\O \Or
+ \let\Q \Quote
+ \let\LB\Lbrace
+ \let\RB\Rbrace}
+
+\def\StopSyntax
+ {\stoplines}
+
+\protect \endinput
diff --git a/tex/context/base/supp-mpe.tex b/tex/context/base/supp-mpe.tex
index da1641d3d..23a2410ab 100644
--- a/tex/context/base/supp-mpe.tex
+++ b/tex/context/base/supp-mpe.tex
@@ -160,14 +160,30 @@
%D version and revision number are not used. Any version number
%D greater than zero will enable special support.
-\def\handleMPspecialscomment #1.#2 #3 % version.revision signal
+\newconditional\manyMPspecials % \settrue\manyMPspecials
+
+\def\handleMPspecialscomment #1.#2 #3 % version.revision signal #4=div=1000|10000
{\doresetMPstack
\chardef\MPspecialversion #1%
\chardef\MPspecialrevision#2%
\chardef\MPspecialsignal #3%
\let\handleMPsequence\dohandleMPsequence
+ \ifnum#1=\plusone
+ \expandafter\handleMPsequence
+ \else
+ \expandafter\handleMPspecialscommentx
+ \fi}
+
+\def\handleMPspecialscommentx #1 % version 2
+ {\doifelse{#1}{10000}{\settrue\manyMPspecials}{\setfalse\manyMPspecials}% local
\handleMPsequence}
+% one can say (in meta-ini):
+%
+% \prependtoks
+% _special_div_ := 1000\ifconditional\manyMPspecials0\fi ;
+% \to \MPextensions
+
%D In case of \PDF, we need to prepare resourcs.
\newtoks\MPstartresources
@@ -256,8 +272,20 @@
%D Now we can handle special color signals. We only do this
%D when special are detected.
-\def\MPrgbnumber#1{\expandafter\doMPrgbnumber#1000.0000\relax}
-\def\doMPrgbnumber#1.#2#3#4#5\relax{#2#3#4}
+% \def\MPrgbnumber#1{\expandafter\doMPrgbnumber#1000.0000\relax}
+% \def\doMPrgbnumber#1.#2#3#4#5\relax{#2#3#4}
+
+%D We cannot use \type {\everyMPtoPDFconversion} because in \MPTOPDF\
+%D we don't have the \type {\appendtoks} macro available.
+
+\def\setMPextensions
+ {\ifconditional\manyMPspecials
+ \def\MPrgbnumber##1{\expandafter\doMPrgbnumber##10000.00000\relax}%
+ \def\doMPrgbnumber##1.##2##3##4##5##6\relax{##2##3##4##5}%
+ \else
+ \def\MPrgbnumber##1{\expandafter\doMPrgbnumber##1000.0000\relax}%
+ \def\doMPrgbnumber##1.##2##3##4##5\relax{##2##3##4}%
+ \fi}
%D The naive case looks like:
%D
diff --git a/tex/context/base/supp-pdf.tex b/tex/context/base/supp-pdf.tex
index e6a6007f5..9543d3e57 100644
--- a/tex/context/base/supp-pdf.tex
+++ b/tex/context/base/supp-pdf.tex
@@ -2072,6 +2072,8 @@
\let\finishMPgraphic\egroup
\doprocessMPtoPDFfile}
+\let\setMPextensions\relax
+
\def\doprocessMPtoPDFfile#1#2#3% file xscale yscale
{% the following line is needed for latex where onepoint is not
% onepoint but a number (maxdimen); some day i'll make a latex
@@ -2082,6 +2084,7 @@
\let\onepoint\onerealpoint
%
\setMPspecials
+ \setMPextensions
\the\everyMPtoPDFconversion
\catcode`\^^M=\@@endofline
\startMPscanning
diff --git a/tex/context/base/syst-ext.tex b/tex/context/base/syst-ext.tex
index 579eb0112..f7fef569b 100644
--- a/tex/context/base/syst-ext.tex
+++ b/tex/context/base/syst-ext.tex
@@ -2352,7 +2352,7 @@
\def\resetcounter#1%
{\letgvalue{#1}\zerocountervalue}
-\def\setcounter#1#2%
+\def\setcounter#1#2% or: \setxvalue{#1}{\number#2}
{\scratchcounter#2%
\setxvalue{#1}{\the\scratchcounter}}
diff --git a/tex/context/base/type-exa.tex b/tex/context/base/type-exa.tex
index d08b565f4..71da7f0ad 100644
--- a/tex/context/base/type-exa.tex
+++ b/tex/context/base/type-exa.tex
@@ -212,6 +212,17 @@
\stoptypescript
+\starttypescript [serif,sans,mono] [handling] [noligs]
+
+ \setupfontsynonym [\typescriptprefix\typescriptone ] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone Bold] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone Slanted] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone Italic] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone BoldSlanted] [handling=\typescriptthree]
+ \setupfontsynonym [\typescriptprefix\typescriptone BoldItalic] [handling=\typescriptthree]
+
+\stoptypescript
+
% handy
\starttypescript [serif] [simple] [name] % bad, will be changed but in sycn with manuals that use it
diff --git a/tex/context/base/type-map.tex b/tex/context/base/type-map.tex
index ddcacfee0..3b210a299 100644
--- a/tex/context/base/type-map.tex
+++ b/tex/context/base/type-map.tex
@@ -91,36 +91,56 @@
\loadmapfile[\typescriptthree-bitstrea-charter.map]
\stoptypescript
-% \starttypescript [map] [antykwa-torunska] [ec,texnansi,t5,8r]
-% \loadmapfile[\typescriptthree-public-antt.map]
+% \starttypescript [map] [antykwa-torunska,antykwa-torunska-light,antykwa-torunska-cond,antykwa-torunska-lightcond] [texnansi,ec,qx,t5,t2a,t2b,t2c,default]
+% \loadmapfile[\typescriptthree-antt.map]
+% \loadmapfile[rm-antt.map]
+% \loadmapfile[mi-antt.map]
+% \loadmapfile[sy-antt.map]
+% \loadmapfile[ex-antt.map]
% \stoptypescript
\starttypescript [map] [antykwa-torunska,antykwa-torunska-light,antykwa-torunska-cond,antykwa-torunska-lightcond] [texnansi,ec,qx,t5,t2a,t2b,t2c,default]
- \loadmapfile[\typescriptthree-antt.map]
- \loadmapfile[rm-antt.map]
- \loadmapfile[mi-antt.map]
- \loadmapfile[sy-antt.map]
- \loadmapfile[ex-antt.map]
+ \loadmapfile[antt-\typescriptthree.map]
+ \loadmapfile[antt-rm.map]
+ \loadmapfile[antt-mi.map]
+ \loadmapfile[antt-sy.map]
+ \loadmapfile[antt-ex.map]
\stoptypescript
\starttypescript [map] [antykwa-poltawskiego] [ec,texnansi,qx,t5]
\loadmapfile[\typescriptthree-public-antp.map]
\stoptypescript
+% \starttypescript [map] [iwona,iwona-light,iwona-medium,iwona-heavy] [ec,texnansi,qx,t5]
+% \loadmapfile[\typescriptthree-iwona.map]
+% \loadmapfile[rm-iwona.map]
+% \loadmapfile[mi-iwona.map]
+% \loadmapfile[sy-iwona.map]
+% \loadmapfile[ex-iwona.map]
+% \stoptypescript
+
\starttypescript [map] [iwona,iwona-light,iwona-medium,iwona-heavy] [ec,texnansi,qx,t5]
- \loadmapfile[\typescriptthree-iwona.map]
- \loadmapfile[rm-iwona.map]
- \loadmapfile[mi-iwona.map]
- \loadmapfile[sy-iwona.map]
- \loadmapfile[ex-iwona.map]
-\stoptypescript
+ \loadmapfile[iwona-\typescriptthree.map]
+ \loadmapfile[iwona-rm.map]
+ \loadmapfile[iwona-mi.map]
+ \loadmapfile[iwona-sy.map]
+ \loadmapfile[iwona-ex.map]
+\stoptypescript
+
+% \starttypescript [map] [kurier,kurier-light,kurier-medium,kurier-heavy] [ec,texnansi,qx,t5,default]
+% \loadmapfile[\typescriptthree-kurier.map]
+% \loadmapfile[rm-kurier.map]
+% \loadmapfile[mi-kurier.map]
+% \loadmapfile[sy-kurier.map]
+% \loadmapfile[ex-kurier.map]
+% \stoptypescript
\starttypescript [map] [kurier,kurier-light,kurier-medium,kurier-heavy] [ec,texnansi,qx,t5,default]
- \loadmapfile[\typescriptthree-kurier.map]
- \loadmapfile[rm-kurier.map]
- \loadmapfile[mi-kurier.map]
- \loadmapfile[sy-kurier.map]
- \loadmapfile[ex-kurier.map]
+ \loadmapfile[kurier-\typescriptthree.map]
+ \loadmapfile[kurier-rm.map]
+ \loadmapfile[kurier-mi.map]
+ \loadmapfile[kurier-sy.map]
+ \loadmapfile[kurier-ex.map]
\stoptypescript
\starttypescript [map] [bookman] [ec,texnansi,t5,8r]
diff --git a/tex/context/interface/cont-cz.xml b/tex/context/interface/cont-cz.xml
index d06945148..2c0da61f3 100644
--- a/tex/context/interface/cont-cz.xml
+++ b/tex/context/interface/cont-cz.xml
@@ -4024,6 +4024,7 @@
<cd:constant type="reset"/>
<cd:constant type="male" default="yes"/>
<cd:constant type="stredni"/>
+ <cd:constant type="auto"/>
<cd:constant type="velke"/>
<cd:constant type="zap"/>
<cd:constant type="vyp"/>
diff --git a/tex/context/interface/cont-de.xml b/tex/context/interface/cont-de.xml
index 0f8ab1eb8..83291e975 100644
--- a/tex/context/interface/cont-de.xml
+++ b/tex/context/interface/cont-de.xml
@@ -4024,6 +4024,7 @@
<cd:constant type="zuruecksetzten"/>
<cd:constant type="klein" default="yes"/>
<cd:constant type="mittel"/>
+ <cd:constant type="auto"/>
<cd:constant type="gross"/>
<cd:constant type="an"/>
<cd:constant type="aus"/>
diff --git a/tex/context/interface/cont-en.xml b/tex/context/interface/cont-en.xml
index 16610c122..74b84d064 100644
--- a/tex/context/interface/cont-en.xml
+++ b/tex/context/interface/cont-en.xml
@@ -4024,6 +4024,7 @@
<cd:constant type="reset"/>
<cd:constant type="small" default="yes"/>
<cd:constant type="medium"/>
+ <cd:constant type="auto"/>
<cd:constant type="big"/>
<cd:constant type="on"/>
<cd:constant type="off"/>
diff --git a/tex/context/interface/cont-it.xml b/tex/context/interface/cont-it.xml
index 43c74f284..2c84db728 100644
--- a/tex/context/interface/cont-it.xml
+++ b/tex/context/interface/cont-it.xml
@@ -4024,6 +4024,7 @@
<cd:constant type="reimposta"/>
<cd:constant type="piccolo" default="yes"/>
<cd:constant type="medio"/>
+ <cd:constant type="auto"/>
<cd:constant type="grande"/>
<cd:constant type="attivo"/>
<cd:constant type="disattivo"/>
diff --git a/tex/context/interface/cont-nl.xml b/tex/context/interface/cont-nl.xml
index 5e145acc4..e76700875 100644
--- a/tex/context/interface/cont-nl.xml
+++ b/tex/context/interface/cont-nl.xml
@@ -3974,7 +3974,7 @@
<cd:command name="project" type="environment">
<cd:sequence>
- <cd:string value="project"/>
+ <cd:string value="projekt"/>
</cd:sequence>
<cd:arguments>
<cd:file/>
@@ -4024,6 +4024,7 @@
<cd:constant type="reset"/>
<cd:constant type="klein" default="yes"/>
<cd:constant type="middel"/>
+ <cd:constant type="auto"/>
<cd:constant type="groot"/>
<cd:constant type="aan"/>
<cd:constant type="uit"/>
diff --git a/tex/context/interface/cont-ro.xml b/tex/context/interface/cont-ro.xml
index efde60e2d..805cd7dc6 100644
--- a/tex/context/interface/cont-ro.xml
+++ b/tex/context/interface/cont-ro.xml
@@ -4024,6 +4024,7 @@
<cd:constant type="reset"/>
<cd:constant type="mic" default="yes"/>
<cd:constant type="mediu"/>
+ <cd:constant type="auto"/>
<cd:constant type="mare"/>
<cd:constant type="on"/>
<cd:constant type="dezactivat"/>
diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml
index 7bb8886fc..792c4bd8e 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.11.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2005.11.30">
<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 f4d9ed144..936340f9d 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.11.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2005.11.30">
<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 e53c0f2fc..c73683d17 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.11.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2005.11.30">
<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 e2e571890..edaf1375f 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.11.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2005.11.30">
<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 869f146fc..9b5671aea 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.11.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2005.11.30">
<cd:variables>
<cd:variable name="one" value="een"/>
@@ -1412,10 +1412,10 @@
<cd:command name="stopcomponent" value="stoponderdeel"/>
<cd:command name="startproduct" value="startprodukt"/>
<cd:command name="stopproduct" value="stopprodukt"/>
- <cd:command name="startproject" value="startproject"/>
- <cd:command name="stopproject" value="stopproject"/>
+ <cd:command name="startproject" value="startprojekt"/>
+ <cd:command name="stopproject" value="stopprojekt"/>
<cd:command name="setups" value="instellingen"/>
- <cd:command name="project" value="project"/>
+ <cd:command name="project" value="projekt"/>
<cd:command name="component" value="onderdeel"/>
<cd:command name="product" value="produkt"/>
<cd:command name="environment" value="omgeving"/>
diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml
index acdf123ef..03559bf7d 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.11.24">
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2005.11.30">
<cd:variables>
<cd:variable name="one" value="unu"/>