summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--context/data/context.properties4
-rw-r--r--scripts/context/perl/texexec.pl9
-rw-r--r--scripts/context/ruby/textools.rb103
-rw-r--r--scripts/context/ruby/xmltools.rb9
-rw-r--r--scripts/context/ruby/xmpl/switch.rb11
-rw-r--r--tex/context/base/colo-hex.tex21
-rw-r--r--tex/context/base/cont-fil.tex2
-rw-r--r--tex/context/base/cont-new.tex57
-rw-r--r--tex/context/base/cont-usr.ori3
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/core-box.tex2
-rw-r--r--tex/context/base/core-des.tex98
-rw-r--r--tex/context/base/core-fig.tex9
-rw-r--r--tex/context/base/core-gen.tex70
-rw-r--r--tex/context/base/core-int.tex38
-rw-r--r--tex/context/base/core-itm.tex205
-rw-r--r--tex/context/base/core-lst.tex39
-rw-r--r--tex/context/base/core-ltb.tex28
-rw-r--r--tex/context/base/core-mar.tex18
-rw-r--r--tex/context/base/core-mis.tex124
-rw-r--r--tex/context/base/core-new.tex52
-rw-r--r--tex/context/base/core-not.tex102
-rw-r--r--tex/context/base/core-ntb.tex22
-rw-r--r--tex/context/base/core-pos.tex18
-rw-r--r--tex/context/base/core-ref.tex6
-rw-r--r--tex/context/base/core-rul.tex57
-rw-r--r--tex/context/base/core-sec.tex8
-rw-r--r--tex/context/base/core-spa.tex36
-rw-r--r--tex/context/base/core-syn.tex4
-rw-r--r--tex/context/base/core-tbl.tex281
-rw-r--r--tex/context/base/enco-def.tex8
-rw-r--r--tex/context/base/font-ini.tex5
-rw-r--r--tex/context/base/java-exa.tex6
-rw-r--r--tex/context/base/lang-ini.tex2
-rw-r--r--tex/context/base/lang-ita.tex59
-rw-r--r--tex/context/base/m-chart.tex310
-rw-r--r--tex/context/base/math-ini.tex31
-rw-r--r--tex/context/base/mult-ini.tex4
-rw-r--r--tex/context/base/mult-sys.tex1
-rw-r--r--tex/context/base/page-app.tex36
-rw-r--r--tex/context/base/page-bck.tex16
-rw-r--r--tex/context/base/page-flt.tex43
-rw-r--r--tex/context/base/page-ini.tex2
-rw-r--r--tex/context/base/page-lay.tex24
-rw-r--r--tex/context/base/page-lyr.tex13
-rw-r--r--tex/context/base/page-mar.tex36
-rw-r--r--tex/context/base/page-not.tex6
-rw-r--r--tex/context/base/page-one.tex2
-rw-r--r--tex/context/base/page-set.tex4
-rw-r--r--tex/context/base/ppchtex.tex116
-rw-r--r--tex/context/base/s-grk-00.tex2
-rw-r--r--tex/context/base/s-mod-00.tex4
-rw-r--r--tex/context/base/setupb.tex103
-rw-r--r--tex/context/base/spec-fdf.tex2
-rw-r--r--tex/context/base/spec-xtx.tex111
-rw-r--r--tex/context/base/supp-fun.tex1
-rw-r--r--tex/context/base/supp-lan.tex22
-rw-r--r--tex/context/base/syst-ext.tex6
-rw-r--r--tex/context/base/type-cbg.tex14
-rw-r--r--tex/context/base/type-enc.tex18
-rw-r--r--tex/context/base/type-siz.tex88
-rw-r--r--tex/context/base/type-spe.tex4
-rw-r--r--tex/context/base/type-syn.tex43
-rw-r--r--tex/context/base/unic-032.tex201
-rw-r--r--tex/context/base/unic-ini.tex15
-rw-r--r--tex/context/base/x-fe.tex2
-rw-r--r--tex/context/base/x-mathml.tex20
-rw-r--r--tex/context/base/x-res-04.tex8
-rw-r--r--tex/context/base/x-xml-01.tex38
-rw-r--r--tex/context/base/xtag-exp.tex2
-rw-r--r--tex/context/base/xtag-pre.tex8
-rw-r--r--tex/context/config/cont-usr.tex3
72 files changed, 1344 insertions, 1533 deletions
diff --git a/context/data/context.properties b/context/data/context.properties
index 84a526d98..d0cf29fe9 100644
--- a/context/data/context.properties
+++ b/context/data/context.properties
@@ -47,7 +47,7 @@ import latex-scite
# Example : patterns
file.patterns.xml=
-file.patterns.example=*.xml;*.xsd;*.fo;*.exa;*.rlb;*.rlg;*.rlv;*.rng;*.xfdf;*.xslt;*.dtd
+file.patterns.example=*.xml;*.xsl;*.xsd;*.fo;*.exa;*.rlb;*.rlg;*.rlv;*.rng;*.xfdf;*.xslt;*.dtd
filter.example=eXaMpLe|$(file.patterns.example)|
@@ -73,7 +73,7 @@ name.context.texutil=texmfstart texutil.pl
name.context.examplap=texmfstart --browser --file=http://localhost:8061/exalogin
name.context.showcase=texmfstart --file=showcase.pdf --program=context
-name.example.xmlcheck=tidy -xml -errors
+name.example.xmlcheck=tidy -quiet -utf8 -xml -errors
name.example.examplez=texmfstart examplez.rb
name.metafun.mptopdf=texmfstart mptopdf.pl
diff --git a/scripts/context/perl/texexec.pl b/scripts/context/perl/texexec.pl
index 05cd18358..1693094ea 100644
--- a/scripts/context/perl/texexec.pl
+++ b/scripts/context/perl/texexec.pl
@@ -1306,6 +1306,7 @@ sub ScanContent {
my ($ConTeXtInput) = @_;
open( TEX, $ConTeXtInput );
while (<TEX>) {
+ next if (/^\%/) ;
if (
/\\(starttekst|stoptekst|startonderdeel|startdocument|startoverzicht)/
)
@@ -1692,6 +1693,8 @@ if ($JobSuffix =~ /\_fo$/i) {
if ($class eq 'job') {
if ($key eq 'stylefile') {
print TMP "\\environment $value\n" ;
+ } elsif ($key eq 'module') {
+ print TMP "\\usemodule[$value]\n" ;
} elsif ($key eq 'interface') {
$ConTeXtInterface = $value ;
}
@@ -1834,9 +1837,9 @@ if ($JobSuffix =~ /\_fo$/i) {
}
if (($dosish) && (!$Problems) && ($PdfOpen)) {
if ($Result ne '') {
- system("pdfopen --file $Result.pdf")
+ system("pdfopen --file $Result.pdf") if -f "$Result.pdf"
} else {
- system("pdfopen --file $JobName.pdf")
+ system("pdfopen --file $JobName.pdf") if -f "$JobName.pdf"
}
}
}
@@ -2218,7 +2221,7 @@ sub RunOneFormat {
}
if ($Problems) {
$Problems = 0;
- if ( $TeXExecutable =~ /etex|eetex|pdfetex|pdfeetex|pdfxtex|xpdfetex|eomega|aleph/io ) {
+ if ( $TeXExecutable =~ /etex|eetex|pdfetex|pdfeetex|pdfxtex|xpdfetex|eomega|aleph|xetex/io ) {
$TeXPrefix = "*";
}
my $CurrentPath = cwd();
diff --git a/scripts/context/ruby/textools.rb b/scripts/context/ruby/textools.rb
index 1c7e4c926..d8928099c 100644
--- a/scripts/context/ruby/textools.rb
+++ b/scripts/context/ruby/textools.rb
@@ -121,13 +121,14 @@ class Commands
report
used = kpsefile(filename) || pathfile(filename)
if paths = texmfroots then
- found = false
+ found, prefered = false, false
paths.each do |p|
if files = texmffiles(p,filename) then
found = true
files.each do |f|
# unreadable: report("#{if f == used then '>' else '.' end} #{f}")
if f == used then
+ prefered = true
report("> #{f}")
else
report(". #{f}")
@@ -135,7 +136,11 @@ class Commands
end
end
end
- report("! #{used}") unless found
+ if prefered then
+ report("! #{used}") unless found
+ else
+ report("> #{used}")
+ end
elsif used then
report("? #{used}")
else
@@ -457,8 +462,79 @@ class Commands
return used
end
+ def touchcontextfile
+ maincontextfile = 'context.tex'
+ unless FileTest.file?(maincontextfile) then
+ begin
+ maincontextfile = `kpsewhich -progname=context #{maincontextfile}`.chomp
+ rescue
+ maincontextfile = ''
+ end
+ end
+ touchfile(maincontextfile) unless maincontextfile.empty?
+ end
+
+ def downcasefilenames
+ if @commandline.option('recurse') then
+ files = Dir.glob('**/*')
+ else
+ files = Dir.glob('*')
+ end
+ if files && files.length>0 then
+ files.each do |oldname|
+ if FileTest.file?(oldname) then
+ newname = oldname.downcase
+ if oldname != newname then
+ begin
+ File.rename(oldname,newname)
+ rescue
+ report("#{oldname} == #{oldname}\n")
+ else
+ report("#{oldname} => #{newname}\n")
+ end
+ end
+ end
+ end
+ end
+ end
+
private # specific
+ def touchfile(filename)
+
+ if FileTest.file?(filename) then
+ if data = IO.read(filename) then
+ timestamp = Time.now.strftime('%Y.%m.%d')
+ begin
+ data.gsub!(/\\contextversion\{(\d+)\.(\d+)\.(\d+)\}/) do
+ "\\contextversion{#{timestamp}}"
+ end
+ rescue
+ else
+ begin
+ File.delete(filename+'.old')
+ rescue
+ end
+ begin
+ File.copy(filename,filename+'.old')
+ rescue
+ end
+ begin
+ if f = File.open(filename,'w') then
+ f.puts(data)
+ f.close
+ end
+ rescue
+ end
+ end
+ report("#{filename} is touched as #{timestamp}")
+ end
+ else
+ report("#{filename} is not found")
+ end
+
+ end
+
def movefiles(from_path,to_path,suffix,&block)
obsolete = 'obsolete'
force = @commandline.option('force')
@@ -566,16 +642,19 @@ end
logger = EXA::ExaLogger.new(banner.shift)
commandline = CommandLine.new
-commandline.registeraction('removemapnames' , '[pattern] [--recurse]')
-commandline.registeraction('restoremapnames', '[pattern] [--recurse]')
-commandline.registeraction('hidemapnames' , '[pattern] [--recurse]')
-commandline.registeraction('videmapnames' , '[pattern] [--recurse]')
-commandline.registeraction('findfile' , 'filename [--recurse]')
-commandline.registeraction('unzipfiles' , '[pattern] [--recurse]')
-commandline.registeraction('fixafmfiles' , '[pattern] [--recurse]')
-commandline.registeraction('mactodos' , '[pattern] [--recurse]')
-commandline.registeraction('fixtexmftrees' , '[texmfroot] [--force]')
-commandline.registeraction('replace' , 'filename [--force]')
+commandline.registeraction('touchcontextfile', '') # private
+commandline.registeraction('downcasefilenames', '') # private
+
+commandline.registeraction('removemapnames' , '[pattern] [--recurse]')
+commandline.registeraction('restoremapnames' , '[pattern] [--recurse]')
+commandline.registeraction('hidemapnames' , '[pattern] [--recurse]')
+commandline.registeraction('videmapnames' , '[pattern] [--recurse]')
+commandline.registeraction('findfile' , 'filename [--recurse]')
+commandline.registeraction('unzipfiles' , '[pattern] [--recurse]')
+commandline.registeraction('fixafmfiles' , '[pattern] [--recurse]')
+commandline.registeraction('mactodos' , '[pattern] [--recurse]')
+commandline.registeraction('fixtexmftrees' , '[texmfroot] [--force]')
+commandline.registeraction('replace' , 'filename [--force]')
commandline.registeraction('help')
commandline.registeraction('version')
diff --git a/scripts/context/ruby/xmltools.rb b/scripts/context/ruby/xmltools.rb
index 05dd93ba3..b92f159e3 100644
--- a/scripts/context/ruby/xmltools.rb
+++ b/scripts/context/ruby/xmltools.rb
@@ -91,8 +91,13 @@ class Commands
output.xputs("<file name='#{bn}'>\n", 4)
end
output.xputs("<base>#{bn.sub(/\..*$/,'')}</base>\n", 6)
- output.xputs("<type>#{bn.sub(/^.*\./,'')}</type>\n", 6)
- output.xputs("<size>#{File.stat(f).size}</size>\n", 6)
+ if File.stat(f).file? then
+ bt = bn.sub(/^.*\./,'')
+ if bt != bn then
+ output.xputs("<type>#{bt}</type>\n", 6)
+ end
+ output.xputs("<size>#{File.stat(f).size}</size>\n", 6)
+ end
output.xputs("<date>#{File.stat(f).mtime.strftime("%Y-%m-%d %H:%M")}</date>\n", 6)
output.xputs("</file>\n", 4)
end
diff --git a/scripts/context/ruby/xmpl/switch.rb b/scripts/context/ruby/xmpl/switch.rb
index 9c38cdbdd..c0fd1d624 100644
--- a/scripts/context/ruby/xmpl/switch.rb
+++ b/scripts/context/ruby/xmpl/switch.rb
@@ -115,7 +115,14 @@ module CommandBase
files = Array.new
pattern.split(' ').each do |p|
- p = '**/' + p if recurse
+ if recurse then
+ if p =~ /^(.*)(\/.*?)$/i then
+ p = $1 + '/**' + $2
+ else
+ p = '**/' + p
+ end
+ p.gsub!(/[\\\/]+/, '/')
+ end
files.push(Dir.glob(p))
end
files.flatten.sort do |a,b|
@@ -463,4 +470,4 @@ end
# end
#
# c.showhelp("you can provide:\n\n")
-# c.showmandate("you also need to provide:\n\n") \ No newline at end of file
+# c.showmandate("you also need to provide:\n\n")
diff --git a/tex/context/base/colo-hex.tex b/tex/context/base/colo-hex.tex
index 565203191..b493b8c6b 100644
--- a/tex/context/base/colo-hex.tex
+++ b/tex/context/base/colo-hex.tex
@@ -93,4 +93,25 @@
{\setxvalue{\??cr#5}{\hexcolorpattern{#6}}}
{\dodododefinecolor#1#2#3#4[#5][#6]}}
+%D For Adam Lindsay and his XeTeX special driver:
+
+% because we intercept the zero condition, the .23pt in 1.23pt will disappear in the
+% ifcase zero part branch
+
+\def\colorhexcomponent#1%
+ {\ifdim#1\points<.005\points
+ 00\else\lchexnumbers{\the\dimexpr(255\dimexpr(#1\points)\relax+.5\points)\relax}%
+ \fi}
+
+% the faster one
+
+\newdimen\hex@color@a \hex@color@a=.005pt
+\newdimen\hex@color@b \hex@color@b=.5pt
+\chardef \hex@color@c =255
+
+\def\colorhexcomponent#1%
+ {\ifdim#1\points<\hex@color@a
+ 00\else\lchexnumbers{\the\dimexpr(#1\points*\hex@color@c+\hex@color@b)\relax}%
+ \fi}
+
\protect \endinput
diff --git a/tex/context/base/cont-fil.tex b/tex/context/base/cont-fil.tex
index 153e09ca0..6c39a2c4d 100644
--- a/tex/context/base/cont-fil.tex
+++ b/tex/context/base/cont-fil.tex
@@ -37,6 +37,8 @@
\definefilesynonym [fig-fake] [fig-02]
\definefilesynonym [fig-missing] [fig-06]
+\definefilesynonym [exi-interface] [exi-21]
+
\definefilesynonym [res-make] [res-01]
\definefilesynonym [res-base] [res-04]
\definefilesynonym [res-crop] [res-07]
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index 502c3cfe0..966740bd3 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -23,6 +23,51 @@
\ifx\normalcompound\undefined \let\normalcompound=| \fi
+% in xtag-ini:
+
+\def\doexecuteXMLhexcharacter#1\relax{\getXMLcharacter{"#1}}
+
+% in xtag-map:
+
+\unexpanded\def\xmlrent#1{\doXMLentity#1;}
+
+% In 2005 we will abandon support for font encodings that don't have
+% the ascii characters { } $ etc in their normal slot, i.e. latin modern
+% instead of computer modern. Then we can also clean up some of the ugly
+% xml internals that are a result from the need to deal with funny
+% encodings.
+%
+% a solution:
+%
+% \defineXMLargument[ctx:c]{\getXMLcharacter}
+% \defineXMLargument[ctx:e]{\getXMLentity }
+% \defineXMLargument[ctx:u]{\unicodechar }
+%
+% \bgroup \catcode`\<=\active \catcode`\&=\active
+%
+% \gdef\dontexpandutf
+% {\def\getXMLcharacter##1{<ctx:c>##1</ctx:c>}%
+% \def\getXMLentity ##1{<ctx:e>##1</ctx:e>}%
+% \def\unicodechar ##1{<ctx:u>##1</ctx:u>}}
+%
+% \egroup
+%
+% more generic
+
+\def\XMLexpanded#1%
+ {\bgroup
+ \honorunexpanded
+% \dontexpandencoding
+% \dontexpandutf
+ \let\dohandleactivecharacter\donthandleactivecharacter
+ \xdef\@@globalexpanded{#1}%
+ \egroup
+ \@@globalexpanded}
+
+\def\setXMLexpandedmark#1#2% using a tok prevents unwanted expansion in mark
+ {\XMLexpanded{\scratchtoks{\enableXML#2}}%
+ \expanded{\normalsetnormalmark{#1}{\the\scratchtoks}}}
+
\def\checksoundtrack#1%
{\iflocation
\doifdefined{\??sd:#1}{\doifvaluesomething{\??sd:#1}
@@ -570,7 +615,7 @@
% \dontshowcomposition
% \inleftmargin{\vsmash
% {\switchtobodyfont[7pt,tt]%
-% \framed[\c!uitlijnen=\v!rechts]{\thepardata}}}%
+% \framed[\c!align=\v!right]{\thepardata}}}%
% \endgroup}
%
% \def\startshowpardata
@@ -702,8 +747,8 @@
% {\begingroup
% \def\currentlayer{#1}% todo: left/right
% \setbox\nextbox\emptybox % hoogte/breedte are \wd\nextbox/\ht\nextbox
-% \hsize\layerparameter\c!breedte % \overlaywidth = \hsize
-% \vsize\layerparameter\c!hoogte % \overlaywheight = \vsize
+% \hsize\layerparameter\c!width % \overlaywidth = \hsize
+% \vsize\layerparameter\c!height % \overlaywheight = \vsize
% \hbox to \hsize{\composedlayer{#1}}%
% \endgroup}
@@ -746,8 +791,8 @@
% {\doifvalue{##1\c!variant}\v!verborgen{\let\next\phantom}}%
% \next
% {\localframed[##1]
-% [\c!kaderkleur=rollover,\c!achtergrondkleur=rollover,\c!kleur=rollover]%
-% {\dolocationattributes{##1}\c!letter\c!kleur{#3}}}}%
+% [\c!framecolor=rollover,\c!backgroundcolor=rollover,\c!color=rollover]%
+% {\dolocationattributes{##1}\c!style\c!color{#3}}}}%
% \iffirstargument
% \ifsecondargument
% \def\setlocationbox##1{\dosetlocationbox[\??am#1]{##1}[#2]}%
@@ -766,7 +811,7 @@
% \nextsystemfield
% \setupfield
% [rollbutton]
-% [\c!kader=\v!uit,\c!offset=\v!overlay,\c!klikuit={#4}]%
+% [\c!frame=\v!off,\c!offset=\v!overlay,\c!klickoff={#4}]%
% \definefield
% [\currentsystemfield][push][rollbutton]
% [rsym:\nofrollovers:n,%
diff --git a/tex/context/base/cont-usr.ori b/tex/context/base/cont-usr.ori
index 1a98f77ac..50556c463 100644
--- a/tex/context/base/cont-usr.ori
+++ b/tex/context/base/cont-usr.ori
@@ -26,6 +26,7 @@
%D Thomas Esser's \TETEX\ distribution.) This list will be
%D adapted to the actual situation.
+\definefilesynonym [lang-ca.pat] [cahyph.tex]
\definefilesynonym [lang-da.pat] [dkhyph.tex]
\definefilesynonym [lang-de.pat] [dehyphn.tex]
\definefilesynonym [lang-es.pat] [eshyph.tex]
@@ -107,6 +108,7 @@
%D --all}.
% \installlanguage [\s!af] [\c!state=\v!start] % afrikaans
+% \installlanguage [\s!ca] [\c!state=\v!start] % catalan
% \installlanguage [\s!cz] [\c!state=\v!start] % czech
% \installlanguage [\s!da] [\c!state=\v!start] % danish
% \installlanguage [\s!de] [\c!state=\v!start] % german
@@ -138,6 +140,7 @@
%D used at startup time.
% \setupcurrentlanguage[\s!af]
+% \setupcurrentlanguage[\s!ca]
% \setupcurrentlanguage[\s!cz]
% \setupcurrentlanguage[\s!da]
% \setupcurrentlanguage[\s!de]
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index f87d35d3a..dee6cd6e3 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{2004.9.17}
+\def\contextversion{2004.10.07}
%D Welcome to the main module. When this module is ran through
%D \type{initex} or \type {tex -i} or \type {whatevertex} using
diff --git a/tex/context/base/core-box.tex b/tex/context/base/core-box.tex
index 03dea26f7..c1bfaefc6 100644
--- a/tex/context/base/core-box.tex
+++ b/tex/context/base/core-box.tex
@@ -900,7 +900,7 @@
\box\scratchbox
\egroup}
-% \backgroundimage{\hsize}{\vsize}{1}{\externalfigure[cow][\c!breedte=3cm]}
+% \backgroundimage{\hsize}{\vsize}{1}{\externalfigure[cow][\c!width=3cm]}
\def\backgroundimage#1#2#3% repeat hsize vsize
{\bgroup
diff --git a/tex/context/base/core-des.tex b/tex/context/base/core-des.tex
index 742c4272a..3c107b6ff 100644
--- a/tex/context/base/core-des.tex
+++ b/tex/context/base/core-des.tex
@@ -364,11 +364,6 @@
\def\showdnpuretext#1%
{\strut\getvalue{\??dd#1\c!text}} % geen spatie
-% \def\showdntext#1%
-% {\doifelsevaluenothing{\??dd#1\c!tekst}
-% {\ignorespaces}
-% {\strut\getvalue{\??dd#1\c!tekst}\fixedspace}}
-
\def\showdntext#1%
{\doifelsevaluenothing{\??dd#1\c!text}
{\ignorespaces}
@@ -376,31 +371,26 @@
\getvalue{\??dd#1\c!text}%
\removeunwantedspaces\fixedspace}}
-% \def\showdnnummer#1%
-% {\voorafgaandenummer
-% \convertednumber[\getvalue{\??dd#1\??dd\c!nummer}]}
-
-\def\showdnnummer#1%
- {%\preparethenumber{\??dd#1}\voorafgaandenummer\preparednumber
- \preparednumber
+\def\showdnnumber#1%
+ {\preparednumber
\convertednumber[\getvalue{\??dd#1\??dd\c!number}]}
-\def\showdnsubnummer#1%
- {\showdnnummer{#1}%
+\def\showdnsubnumber#1%
+ {\showdnnumber{#1}%
\getvalue{\??dd#1\c!separator}%
\convertednumber[\v!sub\getvalue{\??dd#1\??dd\c!number}]}
-\def\showdnsubsubnummer#1%
- {\showdnsubnummer{#1}%
+\def\showdnsubsubnumber#1%
+ {\showdnsubnumber{#1}%
\getvalue{\??dd#1\c!separator}%
\convertednumber[\v!sub\v!sub\getvalue{\??dd#1\??dd\c!number}]}
-\def\showdnsubsubsubnummer#1%
- {\showdnsubsubnummer{#1}%
+\def\showdnsubsubsubnumber#1%
+ {\showdnsubsubnumber{#1}%
\getvalue{\??dd#1\c!separator}%
\convertednumber[\v!sub\v!sub\v!sub\getvalue{\??dd#1\??dd\c!number}]}
-\def\domakednnummer#1#2#3%
+\def\domakednnumber#1#2#3%
{\getvalue{\??dd#2#1\c!left}%
\strut#3{#1}%
\getvalue{\??dd#2#1\c!stopper}%
@@ -450,7 +440,7 @@
{\??dd#1}\c!headstyle\c!headcolor
{\getvalue{\??dd#1\c!command}% hook for taco
{\showdntext{#2#1}%
- \domakednnummer{#1}{#2}{#3}}}%
+ \domakednnumber{#1}{#2}{#3}}}%
\iflocation\ifcase\descriptioncoupling \else
\edef\localconnection{\getvalue{\??dd#1\c!coupling}:\@@internalenumber}%
\doifreferencefoundelse\localconnection
@@ -464,57 +454,57 @@
\doifnot{#5}{-}{\rawreference\s!num{#5}{}}%
\fi}
-\def\@@ddsetsubsubsubnummer#1%
+\setvalue{\??dd\s!set\v!sub\s!sub\s!sub\c!number}#1%
{\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}%
\setnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]}
-\def\@@ddsetsubsubnummer#1%
- {\@@ddresetsubsubsubnummer{#1}%
+\setvalue{\??dd\s!set\v!sub\s!sub\c!number}#1%
+ {\@@ddresetsubsubsubnumber{#1}%
\setnumber[\v!sub\v!sub\@@descriptionnumber]}
-\def\@@ddsetsubnummer#1%
- {\@@ddresetsubsubnummer{#1}%
+\setvalue{\??dd\s!set\v!sub\c!number}#1%
+ {\@@ddresetsubsubnumber{#1}%
\setnumber[\v!sub\@@descriptionnumber]}
-\def\@@ddsetnummer#1%
- {\@@ddresetsubnummer{#1}%
+\setvalue{\??dd\s!set\c!number}#1%
+ {\@@ddresetsubnumber{#1}%
\setnumber[\@@descriptionnumber]}
-\def\@@ddresetsubsubsubnummer#1%
+\setvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}#1%
{\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}%
\resetnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]}
-\def\@@ddresetsubsubnummer#1%
- {\@@ddresetsubsubsubnummer{#1}%
+\setvalue{\??dd\s!reset\v!sub\v!sub\c!number}#1%
+ {\@@ddresetsubsubsubnumber{#1}%
\resetnumber[\v!sub\v!sub\@@descriptionnumber]}
-\def\@@ddresetsubnummer#1%
- {\@@ddresetsubsubnummer{#1}%
+\setvalue{\??dd\s!reset\v!sub\c!number}#1%
+ {\@@ddresetsubsubnumber{#1}%
\resetnumber[\v!sub\@@descriptionnumber]}
-\def\@@ddresetnumber#1%
- {\@@ddresetsubnummer{#1}%
+\setvalue{\??dd\s!reset\c!number}#1%
+ {\@@ddresetsubnumber{#1}%
\resetnumber[\@@descriptionnumber]}
-\def\@@ddvolgendesubsubsubnummer#1[#2]%
+\setvalue{\??dd\e!next\v!sub\v!sub\v!sub\c!number}#1[#2]%
{\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}%
\incrementnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]%
- \rawreference\s!num{#2}{\showdnsubsubsubnummer{\@@descriptionnumber}}}%
+ \rawreference\s!num{#2}{\showdnsubsubsubnumber{\@@descriptionnumber}}}%
-\def\@@ddvolgendesubsubnummer#1[#2]%
- {\@@ddresetsubsubsubnummer{#1}%
+\setvalue{\??dd\e!next\v!sub\v!sub\c!number}#1[#2]%
+ {\@@ddresetsubsubsubnumber{#1}%
\incrementnumber[\v!sub\v!sub\@@descriptionnumber]%
- \rawreference\s!num{#2}{\showdnsubsubnummer{\@@descriptionnumber}}}
+ \rawreference\s!num{#2}{\showdnsubsubnumber{\@@descriptionnumber}}}
-\def\@@ddvolgendesubnummer#1[#2]%
- {\@@ddresetsubsubnummer{#1}%
+\setvalue{\??dd\e!next\v!sub\c!number}#1[#2]%
+ {\@@ddresetsubsubnumber{#1}%
\incrementnumber[\v!sub\@@descriptionnumber]%
- \rawreference\s!num{#2}{\showdnsubnummer{\@@descriptionnumber}}}
+ \rawreference\s!num{#2}{\showdnsubnumber{\@@descriptionnumber}}}
-\def\@@ddvolgendenummer#1[#2]%
- {\@@ddresetsubnummer{#1}%
+\setvalue{\??dd\e!next\c!number}#1[#2]%
+ {\@@ddresetsubnumber{#1}%
\incrementnumber[\@@descriptionnumber]%
- \rawreference\s!num{#2}{\showdnnummer{\@@descriptionnumber}}}
+ \rawreference\s!num{#2}{\showdnnumber{\@@descriptionnumber}}}
\def\dodosetupenumerations[#1][#2]%
{\getparameters[\??dd#1][#2]%
@@ -566,9 +556,9 @@
\c!blockway=\getvalue{\??dd#1\c!blockway},
\c!sectionnumber=\getvalue{\??dd#1\c!sectionnumber}]%
\doifvalue{\??dd#1\c!levels}{#2}% % for
- {\doifsomething{\getvalue{\??dd#1\c!conversion}}% % old
+ {\doifsomething{\getvalue{\??dd#1\c!conversion}}% % old
{\setupnumber[#3#1] % times
- [\c!conversion=\getvalue{\??dd#1\c!conversion}]}}}% % sake
+ [\c!conversion=\getvalue{\??dd#1\c!conversion}]}}}% % sake
\setvalue{\s!set #3#1}{\dosetenumerationnumber[#1][#3]}%
\setvalue{\s!reset#3#1}{\doresetenumerationnumber[#1][#3]}%
\setvalue{\e!next #3#1}{\dotripleempty\donextenumerationnumber[#1][#3]}}
@@ -581,15 +571,15 @@
\def\donextenumerationnumber[#1][#2]%
{\pluscounter{\??dd\c!coupling#1}% new: global crosslinking
- \getvalue{\??dd\c!next#2\c!number}{#1}}%
+ \getvalue{\??dd\e!next#2\c!number}{#1}}%
\def\dodefineenumeration[#1][#2][#3]%
- {\dododefineenumeration{#1}{1}{}[#2][#3]\showdnnummer
- \dododefineenumeration{#1}{2}{\v!sub}[#2][#3]\showdnsubnummer
- \dododefineenumeration{#1}{3}{\v!sub\v!sub}[#2][#3]\showdnsubsubnummer
- \dododefineenumeration{#1}{4}{\v!sub\v!sub\v!sub}[#2][#3]\showdnsubsubsubnummer}
+ {\dododefineenumeration{#1}{1}{}[#2][#3]\showdnnumber
+ \dododefineenumeration{#1}{2}{\v!sub}[#2][#3]\showdnsubnumber
+ \dododefineenumeration{#1}{3}{\v!sub\v!sub}[#2][#3]\showdnsubsubnumber
+ \dododefineenumeration{#1}{4}{\v!sub\v!sub\v!sub}[#2][#3]\showdnsubsubsubnumber}
-\def\defineenumeration%
+\def\defineenumeration
{\dotripleemptywithset\dodefineenumeration}
% Het default-mechanisme kan mooier: leegtest, enz.
@@ -689,7 +679,7 @@
\setvalue{\s!reset #1}{\resetnumber[#1]}%
\setvalue{\e!increment#1}{\incrementnumber[#1]}%
\setvalue{\e!next #1}{\dodoubleempty\do@@nextlabel[#1]}%
- \setvalue{\c!current #1}{\currentnumber[#1]}}
+ \setvalue{\c!current #1}{\currentnumber[#1]}} % todo
\def\do@@label[#1][#2]%
{\getvalue{\??lb#1\c!before}%
diff --git a/tex/context/base/core-fig.tex b/tex/context/base/core-fig.tex
index d008e472d..fa47c0639 100644
--- a/tex/context/base/core-fig.tex
+++ b/tex/context/base/core-fig.tex
@@ -1901,15 +1901,6 @@
\vtop{\vskip12pt\box2\vskip6pt}}%
\endgroup}
-% \def\dodostartfigure[#1][#2][#3]#4\stopfigure
-% {\doifelse\v!test\@@exoptie
-% {\teststartfigure[#1][#2][#3]#4\teststopfigure
-% \let\@@exhokjes\v!aan}
-% {\let\@@exhokjes\v!uit}%
-% \setvalue{\??ef\??ef#1}%
-% {\dosingleempty{\placestartfigure[#1][#2][#3]#4\placestopfigure}}%
-% \doifundefined{#1}{\setvalue{#1}{\getexternalfigure{#1}}}}
-
\def\dodostartfigure[#1][#2][#3]#4\stopfigure
{\doifelse\v!test\@@exoption
{\teststartfigure[#1][#2][#3]#4\teststopfigure
diff --git a/tex/context/base/core-gen.tex b/tex/context/base/core-gen.tex
index 8b5fc5eac..1b7133280 100644
--- a/tex/context/base/core-gen.tex
+++ b/tex/context/base/core-gen.tex
@@ -107,50 +107,31 @@
%D
%D Let's give this a try:
-\let\nopv!geen \v!none
-\let\posv!groot \v!big
-\let\posv!middel \v!medium
-\let\posv!klein \v!small
-\edef\negv!groot {-\v!big }
-\edef\negv!middel{-\v!medium}
-\edef\negv!klein {-\v!small }
-
-%\def\assigndimension#1#2#3#4#5%
-% {\edef\!!stringa{#1}%
-% \ifx\!!stringa\nopv!geen #2=\zeropoint\else
-% \ifx\!!stringa\posv!groot #2=#5\else
-% \ifx\!!stringa\posv!middel#2=#4\else
-% \ifx\!!stringa\posv!klein #2=#3\else
-% \ifx\!!stringa\negv!groot #2=-#5\else
-% \ifx\!!stringa\negv!middel#2=-#4\else
-% \ifx\!!stringa\negv!klein #2=-#3\else
-% #2=#1\fi\fi\fi\fi\fi\fi\fi}
-%
-%\def\assignalfadimension#1#2#3#4#5%
-% {\edef\!!stringa{#1}%
-% \ifx\!!stringa\posv!groot \edef#2{#5}\else
-% \ifx\!!stringa\posv!middel\edef#2{#4}\else
-% \ifx\!!stringa\posv!klein \edef#2{#3}\else
-% \ifx\!!stringa\nopv!geen \edef#2{0}\else
-% \edef#2{#1}\fi\fi\fi\fi}
+\let\nopv!none \v!none
+\let\posv!big \v!big
+\let\posv!middle \v!medium
+\let\posv!small \v!small
+\edef\negv!big {-\v!big}
+\edef\negv!middle{-\v!medium}
+\edef\negv!small {-\v!small}
\def\assigndimension#1#2#3#4#5%
{\edef\!!stringa{#1}%
- #2=\ifx\!!stringa\nopv!geen \zeropoint\else
- \ifx\!!stringa\posv!groot #5\else
- \ifx\!!stringa\posv!middel #4\else
- \ifx\!!stringa\posv!klein #3\else
- \ifx\!!stringa\negv!groot -#5\else
- \ifx\!!stringa\negv!middel-#4\else
- \ifx\!!stringa\negv!klein -#3\else
+ #2=\ifx\!!stringa\nopv!none \zeropoint\else
+ \ifx\!!stringa\posv!big #5\else
+ \ifx\!!stringa\posv!middle #4\else
+ \ifx\!!stringa\posv!small #3\else
+ \ifx\!!stringa\negv!big -#5\else
+ \ifx\!!stringa\negv!middle-#4\else
+ \ifx\!!stringa\negv!small -#3\else
#1\fi\fi\fi\fi\fi\fi\fi}
\def\assignalfadimension#1#2#3#4#5%
{\edef\!!stringa{#1}%
- \edef#2{\ifx\!!stringa\posv!groot #5\else
- \ifx\!!stringa\posv!middel#4\else
- \ifx\!!stringa\posv!klein #3\else
- \ifx\!!stringa\nopv!geen 0\else
+ \edef#2{\ifx\!!stringa\posv!big #5\else
+ \ifx\!!stringa\posv!middle#4\else
+ \ifx\!!stringa\posv!small #3\else
+ \ifx\!!stringa\nopv!none 0\else
#1\fi\fi\fi\fi}}
%D \macros
@@ -186,23 +167,16 @@
[#1]
[ \v!small=>\edef#2{#3},
\v!medium=>\edef#2{#4},
- \v!big=>\edef#2{#5},
+ \v!big=>\edef#2{#5},
\s!unknown=>\edef#2{#1}]}
%D Or faster:
-%\def\assignvalue#1#2#3#4#5%
-% {\edef\!!stringa{#1}%
-% \ifx\!!stringa\posv!groot \edef#2{#5}\else
-% \ifx\!!stringa\posv!middel\edef#2{#4}\else
-% \ifx\!!stringa\posv!klein \edef#2{#3}\else
-% \edef#2{#1}\fi\fi\fi}
-
\def\assignvalue#1#2#3#4#5%
{\edef\!!stringa{#1}%
- \edef#2{\ifx\!!stringa\posv!groot #5\else
- \ifx\!!stringa\posv!middel#4\else
- \ifx\!!stringa\posv!klein #3\else
+ \edef#2{\ifx\!!stringa\posv!big #5\else
+ \ifx\!!stringa\posv!middle#4\else
+ \ifx\!!stringa\posv!small #3\else
#1\fi\fi\fi}}
%D \macros
diff --git a/tex/context/base/core-int.tex b/tex/context/base/core-int.tex
index 29da77566..230f833b5 100644
--- a/tex/context/base/core-int.tex
+++ b/tex/context/base/core-int.tex
@@ -713,8 +713,8 @@
% \!!doneafalse
% \fi
% \if!!donea
-% \ifcase\csname\??am\??am\csname#1\c!zelfdepagina\endcsname\endcsname\relax
-% \copycsname#1\c!kleur\endcsname\csname#1\c!contrastkleur\endcsname
+% \ifcase\csname\??am\??am\csname#1\c!samepage\endcsname\endcsname\relax
+% \copycsname#1\c!color\endcsname\csname#1\c!contrastkleur\endcsname
% \@EAEAEA\dosetlocationboxyes
% \or
% \@EAEAEA\dosetlocationboxempty
@@ -729,7 +729,7 @@
%
% \def\setlocationboxnop#1%
% {\locationclickfalse
-% \ifcase\csname\??am\??am\csname#1\c!onbekendeverwijzing\endcsname\endcsname\relax
+% \ifcase\csname\??am\??am\csname#1\c!unknownreference\endcsname\endcsname\relax
% \@EA\dosetlocationboxyes
% \or
% \@EA\dosetlocationboxempty
@@ -741,14 +741,14 @@
%
% \def\setlocationbox#1[#2]#3[#4]%
% {\bgroup % really needed !
-% \edef\permittedreferences{\csname#1\c!blokkade\endcsname}%
+% \edef\permittedreferences{\csname#1\c!obstruction\endcsname}%
% \doifreferencepermittedelse{#4}
% {\setlocationboxyes{#1}[#2]{#3}[#4]}
% {\setlocationboxnop{#1}[#2]{#3}[#4]}%
% \egroup}
%
% \def\setlocationboxraw#1[#2]#3[#4]%
-% {\localframed[#1][#2]{\dolocationattributes{#1}\c!letter\c!kleur{#3}}}
+% {\localframed[#1][#2]{\dolocationattributes{#1}\c!style\c!color{#3}}}
\def\setlocationboxyes#1[#2]#3[#4]%
{\locationclicktrue
@@ -2243,45 +2243,45 @@
\struttedbox{\tbox{\dodocomment{#3}}\hss}}}%
\ignorespaces}
-% \startcommentaar
+% \startcomment
% hello beautiful\\world
-% \stopcommentaar
+% \stopcomment
%
-% \startcommentaar[hallo]
+% \startcomment[hello]
% hello << \'e\'erste >>
% beautiful
% world
-% \stopcommentaar
+% \stopcomment
%
-% \startcommentaar[hallo][kleur=groen,breedte=4cm,hoogte=3cm]
+% \startcomment[hello][color=green,width=4cm,height=3cm]
% hello \leftguillemot\ \'e\'erste \rightguillemot\
% beautiful
% world
% \stopcommentaar
%
-% \startcommentaar[hallo][kleur=groen,breedte=4cm,hoogte=3cm]
+% \startcomment[hello][color=green,width=4cm,height=3cm]
% hello \leftguillemot\ \'e\'erste \rightguillemot\ test
%
% beautiful
%
% world
-% \stopcommentaar
+% \stopcomment
%
-% \startcommentaar[symbool=Balloon]
+% \startcomment[symbol=Balloon]
% Do we want this kind of rubish? And, why isn't this and
% some more features related to text annotations so poorly
% (actually not) documented? Anyhow, by providing this
% functionality we demonstrate that \pdfTeX\ can do it. By
% the way, it's funny that when in Acrobat we scale up the
% text, the symbols scale down.
-% \stopcommentaar
+% \stopcomment
-% \definesymbol [comment-normal][{\externalfigure[koe.pdf]}]
-% \definesymbol [comment-down] [{\externalfigure[koe.pdf]}]
+% \definesymbol [comment-normal][{\externalfigure[cow.pdf]}]
+% \definesymbol [comment-down] [{\externalfigure[cow.pdf]}]
%
% \def\CowSymbol#1#2%
% {\scale
-% [\c!hoogte=#1]
+% [\c!height=#1]
% {\startMPcode
% loadfigure "koe.mp" number 1 ;
% refill currentpicture withcolor #2 ;
@@ -2294,8 +2294,8 @@
% [\CowSymbol{4ex}{green}]
%
% \setupcomment
-% [\c!symbool={comment-normal,comment-down},
-% \c!optie=\v!buffer]
+% [\c!symbol={comment-normal,comment-down},
+% \c!option=\v!buffer]
%
% \setupfootertexts[\placecomments]
diff --git a/tex/context/base/core-itm.tex b/tex/context/base/core-itm.tex
index 417e5411a..a248b1077 100644
--- a/tex/context/base/core-itm.tex
+++ b/tex/context/base/core-itm.tex
@@ -366,112 +366,6 @@
{\dodostartitemgroup[#2][]}%
\fi}
-% \def\dodostartitemgroup[#1][#2]%
-% {\setfalse\inlinelistitem % new, no indent (leftskip)
-% \setfalse\concatnextitem % new, concat
-% \ifhmode
-% \ifconditional\autoconcatnextitem % new, concat
-% \ifdim\lastskip=\itemsignal % new, concat
-% \settrue\concatnextitem % new, concat
-% \fi % new, concat
-% \fi % new, concat
-% \iftextitems\else\doifnotinset\v!tekst{#1}\par\fi % suboptimal
-% \fi
-% \ifnum\itemlevel=\maxitemlevel\relax
-% \showmessage\m!layouts9\maxitemlevel
-% \def\itemincrement{0}%
-% \else
-% \def\itemincrement{1}%
-% \fi
-% \doglobal\increment(\itemlevel,\itemincrement)%
-% \initializeitemgrouplevel\itemlevel % safeguard
-% \begingroup
-% \ifnum\itemlevel=\plusone % NIEUW
-% \doadaptleftskip{\getitemparameter1\c!marge}%
-% \fi
-% \dosetraggedcommand{\getitemparameter\itemlevel\c!uitlijnen}\raggedcommand
-% \doifsomething{\getitemparameter\itemlevel\c!inspringen}
-% {\expanded{\setupindenting[\getitemparameter\itemlevel\c!inspringen]}}%
-% \doifinset\v!kolommen{#1}%
-% {\ifinsidecolumns\else\ifnum\itemcolumndepth=\zerocount
-% \globallet\itemcolumndepth\itemlevel
-% \getitemparameter\itemlevel\c!voor
-% \processfirstactioninset
-% [#1]
-% [ \v!een=>\!!counta1\relax,
-% \v!twee=>\!!counta2\relax,
-% \v!drie=>\!!counta3\relax,
-% \v!vier=>\!!counta4\relax,
-% \v!vijf=>\!!counta5\relax,
-% \s!unknown=>\@EA\!!counta\getitemparameter\itemlevel\c!n]%
-% % new
-% \edef\columneditemleftskip{\the\leftskip}%
-% \def\postprocesscolumnbox##1%
-% {\scratchdimen\columneditemleftskip
-% \divide\scratchdimen \nofcolumns
-% \hbox{\hskip\columneditemleftskip\hbox{\box##1}}}%
-% \scratchdimen-\columneditemleftskip
-% \multiply\scratchdimen \nofcolumns
-% \advance\scratchdimen \columneditemleftskip
-% \advance\scratchdimen \hsize
-% \edef\columntextwidth{\the\scratchdimen}%
-% \leftskip\zeropoint
-% % so far
-% \startcolumns
-% [\c!n=\!!counta, % netter \??op\itemlevel\c!n
-% \c!hoogte=,
-% \c!lijn=\v!uit,
-% \c!balanceren=\v!ja,
-% \c!uitlijnen=\v!nee]%
-% \fi\fi}%
-% \doifinsetelse\v!intro{#1}\itemintrotrue\itemintrofalse
-% \doglobal\increment\noflists
-% \let\currentlist\noflists
-% \newcounter\noflistelements
-% \headitemfalse
-% \subitemfalse
-% \symbolitemfalse
-% \let\marsymbol\relax
-% \globallet\somdestination\empty
-% \let\symsymbol\empty
-% \the\itemgroupcommands
-% \setitemlevel{#1}%
-% \getitemparameter\itemlevel\empty
-% \doifelsenothing{#1} % iffirstargument
-% {\edef\@@opsymbool{\getitemparameter\itemlevel\c!symbool}%
-% \letgvalueempty{\@@globalitemsymbol\itemlevel}%
-% \global\letitemparameter\itemlevel\v!verder\empty
-% \setitemmark\@@opsymbool
-% \dosetupitemgroupvariable[\itemlevel][#2]}
-% {\dosetupitemgroupconstant[\itemlevel][#1]%
-% \dosetupitemgroupvariable[\itemlevel][#2]%
-% \doifinsetelse\v!verder{#1}% \noexpand, else problems in non-etex with chinese
-% {\edef\@@opsymbool{\noexpand\getvalue{\@@globalitemsymbol\itemlevel}}%
-% \getitemparameter\itemlevel\v!verder}
-% {\edef\@@opsymbool{\noexpand\getitemparameter{\itemlevel}{\c!symbool}}%
-% \global\setitemparameter\itemlevel\v!verder
-% {\dosetupitemgroupconstant[\itemlevel][#1]%
-% \dosetupitemgroupvariable[\itemlevel][#2]}}%
-% \def\docommando##1% \setitemmark resets \docommando
-% {\doifnot{##1}{0}{\setitemmark{##1}}}%
-% \processcommalist[#1,\@@opsymbool]\docommando}%
-% \ifautoitemintro\ifnum\prevgraf<3
-% \itemintrotrue
-% \fi\fi
-% \ifparagraphitems
-% \ifnum\itemlevel>\plusone
-% \letitemparameter\itemlevel\c!tussen\empty
-% \fi
-% \else\ifpackeditems
-% \letitemparameter\itemlevel\c!tussen\empty
-% \fi\fi
-% \calculatelistwidth\itemlevel{\dimen0}%
-% \ifdim\dimen0>\zeropoint\relax
-% \ifconditional\inlinelistitem\else
-% \advance\leftskip \dimen0\relax
-% \fi
-% \fi}
-
\def\dodostartitemgroup[#1]% [#2]%
{\relax % prevents lookahead
\ifnum\itemlevel=\maxitemlevel\relax
@@ -490,105 +384,6 @@
\fi
\expanded{\redostartitemgroup[\itemgroupoptions]}}% [#2]
-% \def\redostartitemgroup[#1][#2]%
-% {\setfalse\inlinelistitem % new, no indent (leftskip)
-% \setfalse\concatnextitem % new, concat
-% \ifhmode
-% \ifconditional\autoconcatnextitem % new, concat
-% \ifdim\lastskip=\itemsignal % new, concat
-% \settrue\concatnextitem % new, concat
-% \fi % new, concat
-% \fi % new, concat
-% \iftextitems\else\doifnotinset\v!tekst{#1}\par\fi % suboptimal
-% \fi
-% \begingroup
-% \ifnum\itemlevel=\plusone % NIEUW
-% \doadaptleftskip{\getitemparameter1\c!marge}%
-% \fi
-% \dosetraggedcommand{\getitemparameter\itemlevel\c!uitlijnen}\raggedcommand
-% \doifsomething{\getitemparameter\itemlevel\c!inspringen}
-% {% is \expanded needed?
-% \expanded{\setupindenting[\getitemparameter\itemlevel\c!inspringen]}}%
-% \doifinset\v!kolommen{#1}%
-% {\ifinsidecolumns\else\ifnum\itemcolumndepth=\zerocount
-% \globallet\itemcolumndepth\itemlevel
-% \getitemparameter\itemlevel\c!voor
-% \processfirstactioninset
-% [#1]
-% [ \v!een=>\!!counta1\relax,
-% \v!twee=>\!!counta2\relax,
-% \v!drie=>\!!counta3\relax,
-% \v!vier=>\!!counta4\relax,
-% \v!vijf=>\!!counta5\relax,
-% \s!unknown=>\@EA\!!counta\getitemparameter\itemlevel\c!n]%
-% % new
-% \edef\columneditemleftskip{\the\leftskip}%
-% \def\postprocesscolumnbox##1%
-% {\scratchdimen\columneditemleftskip
-% \divide\scratchdimen \nofcolumns
-% \hbox{\hskip\columneditemleftskip\hbox{\box##1}}}%
-% \scratchdimen-\columneditemleftskip
-% \multiply\scratchdimen \nofcolumns
-% \advance\scratchdimen \columneditemleftskip
-% \advance\scratchdimen \hsize
-% \edef\columntextwidth{\the\scratchdimen}%
-% \leftskip\zeropoint
-% % so far
-% \startcolumns
-% [\c!n=\!!counta, % netter \??op\itemlevel\c!n
-% \c!hoogte=,
-% \c!lijn=\v!uit,
-% \c!balanceren=\v!ja,
-% \c!uitlijnen=\v!nee]%
-% \fi\fi}%
-% \doifinsetelse\v!intro{#1}\itemintrotrue\itemintrofalse
-% \doglobal\increment\noflists
-% \let\currentlist\noflists
-% \newcounter\noflistelements
-% \headitemfalse
-% \subitemfalse
-% \symbolitemfalse
-% \let\marsymbol\relax
-% \globallet\somdestination\empty
-% \let\symsymbol\empty
-% \the\itemgroupcommands
-% \setitemlevel{#1}%
-% %\getitemparameter\itemlevel\empty
-% \doifelsenothing{#1} % iffirstargument
-% {\edef\@@opsymbool{\getitemparameter\itemlevel\c!symbool}%
-% \letgvalueempty{\@@globalitemsymbol\itemlevel}%
-% \global\letitemparameter\itemlevel\v!verder\empty
-% \setitemmark\@@opsymbool
-% \dosetupitemgroupvariable[\itemlevel][#2]}
-% {\dosetupitemgroupconstant[\itemlevel][#1]%
-% \dosetupitemgroupvariable[\itemlevel][#2]%
-% \doifinsetelse\v!verder{#1}% \noexpand, else problems in non-etex with chinese
-% {\edef\@@opsymbool{\noexpand\getvalue{\@@globalitemsymbol\itemlevel}}%
-% \getitemparameter\itemlevel\v!verder}
-% {\edef\@@opsymbool{\noexpand\getitemparameter{\itemlevel}{\c!symbool}}%
-% \global\setitemparameter\itemlevel\v!verder
-% {\dosetupitemgroupconstant[\itemlevel][#1]%
-% \dosetupitemgroupvariable[\itemlevel][#2]}}%
-% \def\docommando##1% \setitemmark resets \docommando
-% {\doifnot{##1}{0}{\setitemmark{##1}}}%
-% \processcommalist[#1,\@@opsymbool]\docommando}%
-% \ifautoitemintro\ifnum\prevgraf<3
-% \itemintrotrue
-% \fi\fi
-% \ifparagraphitems
-% \ifnum\itemlevel>\plusone
-% \letitemparameter\itemlevel\c!tussen\empty
-% \fi
-% \else\ifpackeditems
-% \letitemparameter\itemlevel\c!tussen\empty
-% \fi\fi
-% \calculatelistwidth\itemlevel{\dimen0}%
-% \ifdim\dimen0>\zeropoint\relax
-% \ifconditional\inlinelistitem\else
-% \advance\leftskip \dimen0\relax
-% \fi
-% \fi}
-
\def\redostartitemgroup[#1][#2]%
{\setfalse\inlinelistitem % new, no indent (leftskip)
\setfalse\concatnextitem % new, concat
diff --git a/tex/context/base/core-lst.tex b/tex/context/base/core-lst.tex
index 854fb2052..0d5b0f0de 100644
--- a/tex/context/base/core-lst.tex
+++ b/tex/context/base/core-lst.tex
@@ -349,45 +349,6 @@
\def\dohandlelistnumber#1{\separatednumber{#1}}
-% \let\currentlistsymbol\empty
-%
-% the big original one:
-%
-% \def\listsymbol[#1]#2%
-% {{\dosetlistsymbol{#1}{#2}\currentlistsymbol}}
-%
-% \def\dosetlistsymbol#1#2% kan sneller, default case afvangen
-% {\processaction
-% [\getvalue{\??li#1\c!symbool}]
-% [ \v!geen=>\def\currentlistsymbol%
-% {\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}%
-% \hbox to \dimen0{}},
-% 1=>\def\currentlistsymbol%
-% {\strut$\bullet$},
-% 2=>\def\currentlistsymbol%
-% {\vrule\!!width1em\!!height1ex\!!depth\zeropoint},
-% 3=>\def\currentlistsymbol% very slow
-% {{\doassigndimen{\dimen0}{\getvalue{\??li#1\c!breedte}}{1.5em}%
-% \doassigndimen{\dimen2}{\getvalue{\??li#1\c!hoogte}}{1ex}%
-% \doassigndimen{\dimen4}{\getvalue{\??li#1\c!diepte}}{0pt}%
-% \vrule\!!width\dimen0\!!height\dimen2\!!depth\dimen4}},
-% \s!unknown=>\def\currentlistsymbol{\getvalue{\??li#1\c!symbool}},
-% \s!default=>\doifelsevalue{\??li#1\c!prefix}\v!nee % ook nog eerste
-% {\edef\splitlistsymbol{\removefirstprefix{#2}}}
-% {\doifelsevalue{\??li#1\c!prefix}\v!geen
-% {\edef\splitlistsymbol{\removeallprefixes{#2}}}%
-% {\def\splitlistsymbol{#2}}}% geen \edef ivm enz
-% \def\currentlistsymbol% kan iets efficienter met \ifdone
-% {\doifvalue{\??li#1\c!label}\v!ja{\leftlabeltext{#1}}%
-% \strut
-% \def\numberseparator{\getvalue{\??li#1\c!scheider}}%
-% \@EA\dohandlelistnumber\@EA{\splitlistsymbol}%
-% \getvalue{\??li#1\c!afsluiter}%
-% \doifvalue{\??li#1\c!label}\v!ja{\rightlabeltext{#1}}}]}
-%
-% This may be fragile ! test for a long time ; it is a
-% prelude to an definable symbol handler.
-
\let\currentlistsymbol\empty
\def\listsymbol[#1]#2%
diff --git a/tex/context/base/core-ltb.tex b/tex/context/base/core-ltb.tex
index bf8f4ff4e..ba0ba862d 100644
--- a/tex/context/base/core-ltb.tex
+++ b/tex/context/base/core-ltb.tex
@@ -61,8 +61,8 @@
\unprotect
-\chardef\linetablesplitstatus\zerocount
-\chardef\linetableheadstatus \zerocount
+\chardef\linetablesplitstate\zerocount
+\chardef\linetableheadstate \zerocount
\edef\??ler{\??le:r:}
\edef\??lec{\??le:c:}
@@ -315,7 +315,7 @@
\else
% after, later
\fi
- \chardef\linetableheadstatus\plusthree
+ \chardef\linetableheadstate\plusthree
\global\setbox\tablebox\zerocount\emptybox % here
\fi
% reset \linetablerow will be an option, currently
@@ -378,7 +378,7 @@
\relax
%\message{\the\linetablecolumn,\the\linetablesubcol}\wait
% from now on the column counter is already incremented
- \ifcase\linetablesplitstatus
+ \ifcase\linetablesplitstate
\iflinetablepreroll \else
\box\linetablecell
% the columncounter is one ahead !
@@ -485,7 +485,7 @@
[\v!no=>{\setuplinetable[\c!stretch=\maxdimen]},% no stretch
\v!yes=>{\setuplinetable[\c!stretch=\zeropoint]}]% max stretch
\chardef\linetablerepeat\linetableparameter\c!nleft
- \chardef\linetablesplitstatus % =
+ \chardef\linetablesplitstate % =
\ifdim\linetableparameter\c!maxwidth>\zeropoint
\zerocount \else \plusone
\fi
@@ -530,7 +530,7 @@
\def\stoplinetablerun
{\globallet\linetableline\!!maxcard
- \chardef\linetableheadstatus\zerocount % blocked
+ \chardef\linetableheadstate\zerocount % blocked
\flushlinetableparts
\iflinetablepreroll \else
\linetableparameter\c!after
@@ -579,19 +579,19 @@
{\dosingleempty\dolinetableBR}
\def\dolinetableBR[#1]% #1 not yet implemented
- {\ifnum\linetableheadstatus=1\else
+ {\ifnum\linetableheadstate=1\else
\doglobal\increment\linetablerow
\doglobal\increment\linetablerows
\fi
\global\linetablecolumn\plusone
\global\linetablesubcol\plusone
-% \linetableheight\linetablerparameter\c!hoogte
+% \linetableheight\linetablerparameter\c!height
%
% \ifx\linetableheight\empty
% % nothing
-% \else\ifx\linetableheight\v!passend
+% \else\ifx\linetableheight\v!fit
% % keep it simple
-% \else\ifx\linetableheight\v!regel
+% \else\ifx\linetableheight\v!line
% \chardef\linetablemode\plusone
% \else
% \!!heighta\linetableheight
@@ -651,7 +651,7 @@
\fi \fi}
\def\flushlinetablehead
- {\ifcase\linetableheadstatus
+ {\ifcase\linetableheadstate
% 0 blocked
\or
% 1 doing head
@@ -659,9 +659,9 @@
% 2 head done
\or
% 3 trigger flush
- \chardef\linetableheadstatus\plusone
+ \chardef\linetableheadstate\plusone
\the\@@linetablehead\relax
- \chardef\linetableheadstatus\plustwo
+ \chardef\linetableheadstate\plustwo
\fi}
\def\linetableNC % first time special treatment
@@ -706,7 +706,7 @@
{\ifinlinetable
\@@linetablehead\emptytoks
\fi
- \chardef\linetableheadstatus3 % full
+ \chardef\linetableheadstate3 % full
\@@linetablehead{#1}%
\ifinlinetable
\flushlinetablehead
diff --git a/tex/context/base/core-mar.tex b/tex/context/base/core-mar.tex
index d415e5d24..cdc09838e 100644
--- a/tex/context/base/core-mar.tex
+++ b/tex/context/base/core-mar.tex
@@ -79,10 +79,10 @@
% betere protectie
-\letvalue{\??mk\??mk \v!previous}\gettopmark
-\letvalue{\??mk\??mk \v!first}\getfirstmark
-\letvalue{\??mk\??mk\v!last}\getbotmark
-\letvalue{\??mk\??mk\v!current}\getcurrentmark
+\letvalue{\??mk\??mk\v!previous}\gettopmark
+\letvalue{\??mk\??mk\v!first }\getfirstmark
+\letvalue{\??mk\??mk\v!last }\getbotmark
+\letvalue{\??mk\??mk\v!current }\getcurrentmark
% todo: make it work in balancing
%
@@ -98,8 +98,8 @@
% \stopcolumns
% \stoptext
-\letvalue{\??mk\??mk\v!column:\v!first }\getsplitfirstmark
-\letvalue{\??mk\??mk\v!column:\v!last}\getsplitbottommark
+\letvalue{\??mk\??mk\v!column:\v!first}\getsplitfirstmark
+\letvalue{\??mk\??mk\v!column:\v!last }\getsplitbottommark
\ifx\decouplemarking\undefined \def\decouplemarking[#1]{} \fi
@@ -108,7 +108,7 @@
[\c!expansion=\v!no, % saves a macro
\c!separator={ --- }, % watch the spaces
\c!limittext=\@@kolimittext,
- \c!state=\v!start]%
+ \c!state=\v!start]%
\decouplemarking[#1]% % no coupling with sections
\setevalue{\??mk#1\c!coupling}{#2}%
\expandafter\newmark\csname\??mk#2\endcsname
@@ -185,8 +185,8 @@
\setfullsectionnumber{\??mk#1}%
\processaction % slow
[#2]
- [ \v!both=>{\fetchtwomarks[#1]},
- \v!all=>{\fetchallmarks[#1]},
+ [ \v!both=>{\fetchtwomarks[#1]},
+ \v!all=>{\fetchallmarks[#1]},
\s!default=>{\fetchmark [#1][\v!first]},
\s!unknown=>{\fetchmark [#1][#2]}]%
\egroup}}
diff --git a/tex/context/base/core-mis.tex b/tex/context/base/core-mis.tex
index 7712f8606..d157a7ee4 100644
--- a/tex/context/base/core-mis.tex
+++ b/tex/context/base/core-mis.tex
@@ -280,19 +280,7 @@
\c!distance=\getvalue{\??al#1\c!distance}]}%
\setupparagraphs[#1][1][\c!distance=0em]}
-% nog monster
-%
-%\assignwidth
-% {\!!widtha}
-% {\getvalue{\??dd#1\c!breedte}}
-% {\doifelsevaluenothing{\??dd#1\c!monster}
-% {\hskip
-% {\doattributes
-% {\??al#1}\c!letter\c!kleur
-% {\getvalue{\??dd#1\c!monster}}}}
-% {0pt}
-
-\def\defineparagraphs%
+\def\defineparagraphs
{\dodoubleargument\dodefineparagraphs}
\def\dosetupparagraphs[#1][#2][#3]%
@@ -1900,19 +1888,19 @@
%
% \def\dodocombination
% {\vbox
-% {\forgetall % \setupwhitespace[\v!geen]%
+% {\forgetall % \setupwhitespace[\v!none]%
% \let\next\vbox
% \ExpandFirstAfter\processallactionsinset
-% [\combinationparameter\c!plaats]
-% [ \v!boven=>\let\next\tbox,
-% \v!midden=>\let\next\halfwaybox]%
+% [\combinationparameter\c!location]
+% [ \v!top=>\let\next\tbox,
+% \v!middle=>\let\next\halfwaybox]%
% \next{\copy0}%
% \ifdim\ht2>\zeropoint % beter dan \wd2, nu \strut mogelijk
-% \@@cotussen
+% \combinationparameter\c!inbetween
% %\vtop % wrong code
% % {\nointerlineskip % recently added
% % \hsize\wd0
-% % \setupalign[\combinationparameter\c!uitlijnen]% % \raggedcenter
+% % \setupalign[\combinationparameter\c!align]% % \raggedcenter
% % \begstrut\unhbox2\endstrut}%
% \box2
% \fi}%
@@ -1924,15 +1912,15 @@
% {\cr\noalign
% {\forgetall % \setupwhitespace[\v!geen]% no
% \nointerlineskip
-% \combinationparameter\c!na
-% \combinationparameter\c!voor
+% \combinationparameter\c!before
+% \combinationparameter\c!after
% \vss
% \nointerlineskip}%
% \global\horcombination\maxhorcombination\relax
% \docombination}%
% \else
% \def\next
-% {&&&\hskip\combinationparameter\c!afstand&\docombination}%
+% {&&&\hskip\combinationparameter\c!distance&\docombination}%
% \fi
% \else
% \def\next
@@ -1942,12 +1930,12 @@
% \def\dodocombination
% {\vbox
-% {\forgetall % \setupwhitespace[\v!geen]%
+% {\forgetall % \setupwhitespace[\v!none]%
% \let\next\vbox
% \ExpandFirstAfter\processallactionsinset
% [\combinationparameter\c!plaats]
-% [ \v!boven=>\let\next\tbox,
-% \v!midden=>\let\next\halfwaybox]%
+% [ \v!top=>\let\next\tbox,
+% \v!middle=>\let\next\halfwaybox]%
% \next{\copy0}%
% % we need to save the caption for a next alignment line
% \saveoncombinationstack2}%
@@ -1959,18 +1947,18 @@
% {\cr
% \flushcombinationstack
% \noalign
-% {\forgetall % \setupwhitespace[\v!geen]% no
+% {\forgetall % \setupwhitespace[\v!none]% no
% \global\setbox\combinationstack\emptybox
% \nointerlineskip
-% \combinationparameter\c!na
-% \combinationparameter\c!voor
+% \combinationparameter\c!after
+% \combinationparameter\c!before
% \vss
% \nointerlineskip}%
% \global\horcombination\maxhorcombination\relax
% \docombination}%
% \else
% \def\next
-% {&&&\hskip\combinationparameter\c!afstand&\docombination}%
+% {&&&\hskip\combinationparameter\c!distance&\docombination}%
% \fi
% \else
% \def\next
@@ -2185,7 +2173,7 @@
% {\bgroup
% \hbox\bgroup % compatibility hack
% \dowithnextbox
-% {\edef\@@rorotatie{#1}%
+% {\edef\@@rorotation{#1}%
% \setbox\nextbox\vbox{\flushnextbox}%
% \dostoprotate
% \egroup}}
@@ -2193,16 +2181,16 @@
% \def\dodostoprotate#1#2#3#4#5#6%
% {\dontshowcomposition
% \scratchdimen\nextboxht\advance\scratchdimen\nextboxdp
-% \doif\@@roplaats\v!hoog
+% \doif\@@rolocation\v!high
% {\setbox\nextbox\vbox{\hbox{\raise\nextboxdp\flushnextbox}}}%
% \setbox\nextbox\vbox to #1
% {#2\relax
% \hbox to #4
% {#5\relax % \number removes leading spaces too
-% \edef\@@rorotatie{\number\@@rorotatie}%
-% \doifelsenothing\@@rorotatie
+% \edef\@@rorotation{\number\@@rorotation}%
+% \doifelsenothing\@@rorotation
% {\dostartrotation{90}}
-% {\dostartrotation{\@@rorotatie}}%
+% {\dostartrotation{\@@rorotation}}%
% \nextboxwd\zeropoint
% \nextboxht\zeropoint
% %\nextboxdp\zeropoint
@@ -2215,7 +2203,7 @@
% \egroup}
%
% \def\dostoprotate
-% {\!!counta\@@rorotatie
+% {\!!counta\@@rorotation
% \divide\!!counta 90
% \ifcase\!!counta
% \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill
@@ -2230,7 +2218,7 @@
% \or
% \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill
% \else
-% \def\@@rotatie{90}%
+% \def\@@rotation{90}%
% \dodostoprotate\nextboxht\relax\vfill\nextboxwd\relax\hfill
% \fi}
%
@@ -2244,11 +2232,11 @@
% {\bgroup\complexorsimpleempty\rotate}
%
% \setuprotate
-% [\c!rotatie=90,
-% \c!breedte=\v!passend,
-% \c!hoogte=\v!passend,
+% [\c!rotation=90,
+% \c!width=\v!fir,
+% \c!height=\v!fit,
% \c!offset=\v!overlay,
-% \c!kader=\v!uit]
+% \c!frame=\v!off]
% The previous implementation is replaced by one that supports
% rotation over arbitrary angles.
@@ -2449,61 +2437,7 @@
% \hbox to .2\hsize{\hss\ruledhbox{\rotate[location=high] {\ruledhbox{\bfb (high)}}}}}
% \stoplinecorrection}
-% schaal
-
-% \def\doscalelikeafigure
-% {\doifsomething{\@@xyfactor\@@xyhfactor\@@xybfactor\@@xyschaal
-% \@@xybreedte\@@xyhoogte\@@xyregels}
-% {\let \@@efschaal \@@xyschaal
-% \let \@@effactor \@@xyfactor
-% \let \@@efbfactor\@@xybfactor
-% \let \@@efhfactor\@@xyhfactor
-% \let \@@efbreedte\@@xybreedte
-% \let \@@efhoogte \@@xyhoogte
-% \let \@@efregels \@@xyregels
-% \let \@@epx \!!zeropoint
-% \let \@@epy \!!zeropoint
-% \edef\@@epw {\the\nextboxwd}%
-% \edef\@@eph {\the\nextboxht}%
-% \checkfiguresettings
-% \setfactorfiguresize
-% \setscalefiguresize
-% \setdimensionfiguresize
-% \convertfigureinsertscale\@@epx\figx\figxsca\scax
-% \convertfigureinsertscale\@@epy\figy\figysca\scay
-% \scratchdimen\scax\points\divide\scratchdimen 100
-% \edef\@@xysx{\withoutpt\the\scratchdimen}%
-% \scratchdimen\scay\points\divide\scratchdimen 100
-% \edef\@@xysy{\withoutpt\the\scratchdimen}}}
-
-% \def\doschaal[#1]%
-% {\bgroup
-% \forgetall
-% \getparameters
-% [\??xy]
-% [\c!schaal=,\c!breedte=,\c!hoogte=,\c!regels=,
-% \c!factor=,\c!hfactor=,\c!bfactor=,
-% \c!sx=1,\c!sy=1,#1]%
-% \dowithnextbox
-% {\dontshowcomposition
-% \ifdim\nextboxht>\zeropoint \ifdim\nextboxwd>\zeropoint
-% \doscalelikeafigure
-% \dimen0=\@@xysy\nextboxht
-% \dimen2=\@@xysy\nextboxdp
-% \dimen4=\@@xysx\nextboxwd
-% \dimen6=\dimen0\advance\dimen6 \dimen2
-% \setbox\nextbox\vbox to \dimen6
-% {\nextboxht\zeropoint
-% \nextboxdp\zeropoint
-% \vfill % erbij
-% \dostartscaling\@@xysx\@@xysy\flushnextbox\dostopscaling}%
-% \nextboxht\dimen0
-% \nextboxdp\dimen2
-% \nextboxwd\dimen4
-% \fi \fi
-% \flushnextbox
-% \egroup}
-% \hbox}
+% scale
\def\doscalelikeafigure % quite dirty and potential interference possible
{\doifsomething{\@@xyfactor\@@xyhfactor\@@xywfactor\@@xyscale
diff --git a/tex/context/base/core-new.tex b/tex/context/base/core-new.tex
index 0b2447c11..9c5ec0578 100644
--- a/tex/context/base/core-new.tex
+++ b/tex/context/base/core-new.tex
@@ -279,11 +279,8 @@
\letvalue{\e!stop\v!setups}\relax
-\unexpanded \def\setups % {..} or [..]
- {\doifnextcharelse\bgroup\dosetupsA\dosetupsB}
-
-\unexpanded \def\setup % {..} or [..]
- {\doifnextcharelse\bgroup\dosetups\dosetupsC}
+\unexpanded \def\setups{\doifnextcharelse\bgroup\dosetupsA\dosetupsB} % {..} or [..]
+\unexpanded \def\setup {\doifnextcharelse\bgroup\dosetups \dosetupsC} % {..} or [..]
\def\dosetupsA #1{\processcommacommand[#1]\dosetups} % {..}
\def\dosetupsB[#1]{\processcommacommand[#1]\dosetups} % [..]
@@ -297,35 +294,28 @@
\def\doifsetupselse#1% to be done: grid
{\doifdefinedelse{\??su:#1}}
-\def\startsetups % for international purposes
- {\bgroup\doifnextcharelse[{\startsetupsA\stopsetups}{\startsetupsB\stopsetups}}
+\chardef\setupseolmode\plusone
-\def\startlocalsetups % for nested purposes
- {\bgroup\doifnextcharelse[{\startsetupsA\stoplocalsetups}{\startsetupsB\stoplocalsetups}}
+\def\startsetups {\xxstartsetups\plusone \stopsetups } \let\stopsetups \relax
+\def\startlocalsetups{\xxstartsetups\plusone \stoplocalsetups} \let\stoplocalsetups\relax
+\def\startrawsetups {\xxstartsetups\zerocount\stoprawsetups } \let\stoprawsetups \relax
-\let\stopsetups \relax
-\let\stoplocalsetups\relax
+\def\xxstartsetups#1#2%
+ {\bgroup\chardef\setupseolmode#1\doifnextcharelse[{\startsetupsA#2}{\startsetupsB#2}}
-\def\startsetupsA#1%
- {\catcode`\^^M\@@ignore
+\def\startsetupsA#1% [ ] delimited
+ {\ifcase\setupseolmode\or\catcode`\^^M\@@ignore\fi
\dotripleempty\dostartsetups[#1]}
-\def\startsetupsB#1#2 % space delimited / kind of obsolete
- {\catcode`\^^M\@@ignore
+\def\startsetupsB#1#2 % space delimited
+ {\ifcase\setupseolmode\or\catcode`\^^M\@@ignore\fi
\dodostartsetups#1\empty{#2}}
-\def\dostartsetups
- {\ifthirdargument
- \@EA\startsetupsC
- \else
- \@EA\startsetupsD
- \fi}
-
-\def\startsetupsC[#1][#2][#3]% [..] [..]
- {\dodostartsetups#1{#2}{#3}}
+\def\startsetupsC[#1][#2][#3]{\dodostartsetups#1{#2}{#3}} % [..] [..]
+\def\startsetupsD[#1][#2][#3]{\dodostartsetups#1\empty{#2}} % [..]
-\def\startsetupsD[#1][#2][#3]% [..]
- {\dodostartsetups#1\empty{#2}}
+\def\dostartsetups
+ {\ifthirdargument\@EA\startsetupsC\else\@EA\startsetupsD\fi}
\long\def\dodostartsetups#1#2#3% watch out: not \grabuntil
{\dograbuntil#1{\egroup\long\setvalue{\??su#2:#3}}}
@@ -363,7 +353,7 @@
% {\ifsecondargument
% \catcode`\<=\@@active
% \def<{\ifmmode\expandafter\normalless\else\expandafter\doshortcut\fi}%
-% \getparameters[\??te#1][\c!commandos=,\c!commando=,\c!letter=,\c!kleur=,#2]%
+% \getparameters[\??te#1][\c!commands=,\c!command=,\c!style=,\c!color=,#2]%
% \else
% \defineshortcut[][#1]%
% \fi}
@@ -381,17 +371,17 @@
%
% \def\dododoshortcut#1:#2\end
% {\doifelsenothing{#2}
-% {\doifundefinedelse{\??te\c!commandos}
+% {\doifundefinedelse{\??te\c!commands}
% {\shortcut}
% {\@EA\dodododoshortcut\@EA\??te\@EA:\shortcut:\end}}
-% {\doifundefinedelse{\??te#1\c!commandos}
+% {\doifundefinedelse{\??te#1\c!commands}
% {\shortcut}
% {\dodododoshortcut\??te#1:#2\end}}%
% \egroup}
%
% \def\dodododoshortcut#1:#2:\end
-% {\getvalue{#1\c!commandos}%
-% \doattributes{#1}\c!letter\c!kleur{\getvalue{#1\c!commando}{#2}}}
+% {\getvalue{#1\c!commands}%
+% \doattributes{#1}\c!style\c!color{\getvalue{#1\c!command}{#2}}}
\def\defineshortcut
{\dotripleargument\dodefineshortcut}
diff --git a/tex/context/base/core-not.tex b/tex/context/base/core-not.tex
index e6b2e1baa..6f8bfdcc8 100644
--- a/tex/context/base/core-not.tex
+++ b/tex/context/base/core-not.tex
@@ -256,29 +256,29 @@
% \footnoteparameter and not \noteparameter (**)
\setnotedistance
\count\currentnoteins\plusthousand
- \ExpandBothAfter\doifcommonelse{\v!columns,\v!lastcolumn}{\footnoteparameter\c!location} % **
- {\chardef\clevernotes\plustwo}
- {\ExpandBothAfter\doifinsetelse{\v!firstcolumn}{\footnoteparameter\c!location} % **
- {\chardef\clevernotes\plusone}
- {\chardef\clevernotes\zerocount}}%
- \ifcase\clevernotes\relax
- % notes not in column areas
- \ifnum\noteparameter\c!n=\zerocount
- \settextnotes
- \scratchcounter\plusone
- \else
- \setcolumnnotes
- \scratchcounter\noteparameter\c!n\relax
- \divide\count\currentnoteins \scratchcounter
- \fi
- \ExpandBothAfter\doifinsetelse\v!page{\footnoteparameter\c!location} % **
- {\global\endnotesfalse
- \ExpandBothAfter\doifinsetelse\v!high{\footnoteparameter\c!location} % **
- {\global\bottomnotesfalse}
- {\global\bottomnotestrue}}
- {\global\endnotestrue
- \global\bottomnotestrue
- \postponenotes}%
+ \expanded{\doifcommonelse{\v!columns,\v!lastcolumn}{\footnoteparameter\c!location}}% **
+ {\chardef\clevernotes\plustwo}
+ {\expanded{\doifinsetelse{\v!firstcolumn}{\footnoteparameter\c!location}}% **
+ {\chardef\clevernotes\plusone}%
+ {\chardef\clevernotes\zerocount}}%
+ \ifcase\clevernotes\relax
+ % notes not in column areas
+ \ifnum\noteparameter\c!n=\zerocount
+ \settextnotes
+ \scratchcounter\plusone
+ \else
+ \setcolumnnotes
+ \scratchcounter\noteparameter\c!n\relax
+ \divide\count\currentnoteins \scratchcounter
+ \fi
+ \ExpandBothAfter\doifinsetelse\v!page{\footnoteparameter\c!location} % **
+ {\global\endnotesfalse
+ \ExpandBothAfter\doifinsetelse\v!high{\footnoteparameter\c!location} % **
+ {\global\bottomnotesfalse}
+ {\global\bottomnotestrue}}
+ {\global\endnotestrue
+ \global\bottomnotestrue
+ \postponenotes}%
\else
% notes in column areas
\ifnum\@@kln=\zerocount % brrr dependency on \??kl
@@ -1032,48 +1032,44 @@
%D {fakenotes}
\def\fakenotes
- {\ifhmode
- \endgraf
- \fi
- \ifvmode
+ {\ifhmode\endgraf\fi\ifvmode
\calculatetotalclevernoteheight
\ifdim\totalnoteheight>\zeropoint \kern\totalnoteheight \fi
\fi}
+\def\fakepagenotes
+ {\ifhmode\endgraf\fi\ifvmode
+ \calculatetotalpagenoteheight
+ \ifdim\totalnoteheight>\zeropoint \kern\totalnoteheight \fi
+ \fi}
+
\newdimen\totalnoteheight
-\def\docalculatetotalnoteheight
- {\ifdim\ht\currentnoteins>\zeropoint
- \ifcase\clevernotes % tricky here ! ! ! to be sorted out ! ! !
- \ifdim\ht\currentnoteins>\zeropoint
- \advance\totalnoteheight\ht \currentnoteins
- \advance\totalnoteheight\skip\currentnoteins
- \fi
- \else
- \ifdim\ht\currentbackupnoteins>\zeropoint
- \advance\totalnoteheight\ht \currentbackupnoteins
- \advance\totalnoteheight\skip\currentbackupnoteins
- \fi
- \fi
+
+\def\doaddtototalnoteheight#1%
+ {\ifdim\ht#1>\zeropoint
+ \advance\totalnoteheight\ht #1%
+ \advance\totalnoteheight\skip#1%
\fi}
-\def\calculatetotalnoteheight
- {\totalnoteheight\zeropoint
- \processnotes\docalculatetotalnoteheight}
+\def\docalculatetotalnoteheight
+ {\ifcase\clevernotes % tricky here ! ! ! to be sorted out ! ! !
+ \doaddtototalnoteheight\currentnoteins
+ \else
+ \doaddtototalnoteheight\currentbackupnoteins
+ \fi}
\def\docalculatetotalclevernoteheight
- {\ifdim\ht\currentnoteins>\zeropoint
- \ifcase\clevernotes\else % tricky here ! ! ! to be sorted out ! ! !
- \ifdim\ht\currentnoteins>\zeropoint
- \advance\totalnoteheight\ht \currentnoteins
- \advance\totalnoteheight\skip\currentnoteins
- \fi
- \fi
+ {\ifcase\clevernotes \else % tricky here ! ! ! to be sorted out ! ! !
+ \doaddtototalnoteheight\currentnoteins
\fi}
-\def\calculatetotalclevernoteheight
- {\totalnoteheight\zeropoint
- \processnotes\docalculatetotalclevernoteheight}
+\def\docalculatetotalpagenoteheight
+ {\doaddtototalnoteheight\currentnoteins}
+
+\def\calculatetotalnoteheight {\totalnoteheight\zeropoint\processnotes\docalculatetotalnoteheight}
+\def\calculatetotalclevernoteheight{\totalnoteheight\zeropoint\processnotes\docalculatetotalclevernoteheight}
+\def\calculatetotalpagenoteheight {\totalnoteheight\zeropoint\processnotes\docalculatetotalpagenoteheight}
\newif\ifnotespresent
diff --git a/tex/context/base/core-ntb.tex b/tex/context/base/core-ntb.tex
index 3eac578ea..65a9a92be 100644
--- a/tex/context/base/core-ntb.tex
+++ b/tex/context/base/core-ntb.tex
@@ -316,9 +316,7 @@
{\@EA\handleTBLcell\celltag[#1]{#3}}}
\long\def\parseTH[#1]#2\eTH
- {\parseTD
- [#1,\c!color=\tbltblheadcolor,\c!style=\tbltblheadstyle,%
- \c!aligncharacter=\v!no]#2\eTD}
+ {\parseTD[#1,\c!color=\tbltblheadcolor,\c!style=\tbltblheadstyle,\c!aligncharacter=\v!no]#2\eTD}
%D new
@@ -337,17 +335,10 @@
\long\def\bTABLEbody{\dosingleempty\doTABLEbody}
\long\def\bTABLEfoot{\dosingleempty\doTABLEfoot}
-\long\def\doTABLEhead[#1]#2\eTABLEhead
- {\appendtoks\doTABLEsection[#1]{#2}\to\TBLhead}
-
-\long\def\doTABLEnext[#1]#2\eTABLEnext
- {\appendtoks\doTABLEsection[#1]{#2}\to\TBLnext}
-
-\long\def\doTABLEbody[#1]#2\eTABLEbody
- {\appendtoks\doTABLEsection[#1]{#2}\to\TBLbody}
-
-\long\def\doTABLEfoot[#1]#2\eTABLEfoot
- {\appendtoks\doTABLEsection[#1]{#2}\to\TBLfoot}
+\long\def\doTABLEhead[#1]#2\eTABLEhead{\appendtoks\doTABLEsection[#1]{#2}\to\TBLhead}
+\long\def\doTABLEnext[#1]#2\eTABLEnext{\appendtoks\doTABLEsection[#1]{#2}\to\TBLnext}
+\long\def\doTABLEbody[#1]#2\eTABLEbody{\appendtoks\doTABLEsection[#1]{#2}\to\TBLbody}
+\long\def\doTABLEfoot[#1]#2\eTABLEfoot{\appendtoks\doTABLEsection[#1]{#2}\to\TBLfoot}
\long\def\doTABLEsection[#1]#2%
{\def\setupTBLsection{\getparameters[\@@tbl\@@tbl][#1]}%
@@ -1129,8 +1120,7 @@
\bgroup
\localframed
[\@@tbl\@@tbl]
- [#3,\c!width=\widthTBL,
- \c!background=,\c!frame=\v!off]% 25% faster
+ [#3,\c!width=\widthTBL,\c!background=,\c!frame=\v!off]% 25% faster
{\bTBLCELL\TBLcharalign{#2}{#4}\eTBLCELL}%
\egroup}
diff --git a/tex/context/base/core-pos.tex b/tex/context/base/core-pos.tex
index be1176752..9022fa131 100644
--- a/tex/context/base/core-pos.tex
+++ b/tex/context/base/core-pos.tex
@@ -1863,32 +1863,32 @@
%
% \def\dostarttextbackgroundpar
% {\endgraf % new
-% \getvalue{\??td\currenttextbackground\c!voor}%
+% \getvalue{\??td\currenttextbackground\c!before}%
% \noindent\fpos\currentparbackground\ignorespaces
% \bgroup
% \nobreak \vskip-\lineheight \nobreak
-% \doassignsomeskip\getvalue{\??td\currenttextbackground\c!bovenoffset}\to\scratchskip
+% \doassignsomeskip\getvalue{\??td\currenttextbackground\c!topoffset}\to\scratchskip
% \kern\scratchskip\nobreak
-% \dosetleftskipadaption{\getvalue{\??td\currenttextbackground\c!linkeroffset}}%
+% \dosetleftskipadaption{\getvalue{\??td\currenttextbackground\c!leftoffset}}%
% \advance\leftskip\leftskipadaption
-% \dosetleftskipadaption{\getvalue{\??td\currenttextbackground\c!rechteroffset}}%
+% \dosetleftskipadaption{\getvalue{\??td\currenttextbackground\c!rightoffset}}%
% \advance\rightskip\leftskipadaption
-% \dostartattributes{\??td\currenttextbackground}\c!letter\c!kleur{}%
-% \geenwitruimte
+% \dostartattributes{\??td\currenttextbackground}\c!style\c!color{}%
+% \nowhitespace
% \seteffectivehsize
% \par}
%
% \def\dostoptextbackgroundpar
% {\par
% \dostopattributes
-% \doassignsomeskip\getvalue{\??td\currenttextbackground\c!onderoffset}\to\scratchskip
+% \doassignsomeskip\getvalue{\??td\currenttextbackground\c!bottomoffset}\to\scratchskip
% \kern\scratchskip\nobreak
% \nobreak \vskip-\lineheight \nobreak
-% \geenwitruimte
+% \nowhitespace
% \egroup
% \nobreak \noindent \strut \hfill \kern\zeropoint \tpos\currentparbackground
% \endgraf % new
-% \getvalue{\??td\currenttextbackground\c!na}}
+% \getvalue{\??td\currenttextbackground\c!after}}
\def\dostarttextbackgroundpar
{\endgraf % new
diff --git a/tex/context/base/core-ref.tex b/tex/context/base/core-ref.tex
index b102d7378..75ff24a6d 100644
--- a/tex/context/base/core-ref.tex
+++ b/tex/context/base/core-ref.tex
@@ -3605,12 +3605,6 @@
\def\simpleoverlaybutton#1%
{\complexoverlaybutton[#1]}
-% \def\complexoverlaybutton% no text, next argument is [reference]
-% {\button
-% [\c!kader=\v!uit,\c!achtergrond=,
-% \c!breedte=\overlaywidth,\c!hoogte=\overlayheight]%
-% {}}
-
\def\complexoverlaybutton[#1]%
{\iflocation
\doifreferencefoundelse{#1}
diff --git a/tex/context/base/core-rul.tex b/tex/context/base/core-rul.tex
index 9574f0f9c..6a45e1294 100644
--- a/tex/context/base/core-rul.tex
+++ b/tex/context/base/core-rul.tex
@@ -577,7 +577,7 @@
%D {\ovalbox}.
\def\dostrokedroundbox\width#1\height#2\depth#3\radius#4\toggle#5\left#6\\%
- {\doif{#5}{\v!on}{\ovalbox{#1}{#2}{#3}{\ruledlinewidth}{#4}{\v!on}{\v!off}}}
+ {\doif{#5}\v!on{\ovalbox{#1}{#2}{#3}{\ruledlinewidth}{#4}\v!on\v!off}}
%D The next few macros are probably the most misused ones in
%D \CONTEXT. They deal with putting rules around boxes, provide
@@ -1538,40 +1538,40 @@
%D \dontcomplain
%D \startlinecorrection
%D \halign{#\enskip&#\enskip&#\enskip&#\enskip&#\enskip&#\cr
-%D \framed[width=.2\hsize, height=.2\hsize, align=] {a\par b\par c}&
-%D \framed[width=.2\hsize, height=broad, align=] {a\par b\par c}&
-%D \framed[width=.2\hsize, height=fit, align=] {a\par b\par c}&
-%D \framed[width=fit, height=.2\hsize, align=] {a\par b\par c}&
-%D \framed[width=fit, height=broad, align=] {a\par b\par c}&
-%D \framed[width=fit, height=fit, align=] {a\par b\par c}\cr
+%D \framed[width=.2\hsize, height=.2\hsize, align=] {a\par b\par c}&
+%D \framed[width=.2\hsize, height=broad, align=] {a\par b\par c}&
+%D \framed[width=.2\hsize, height=fit, align=] {a\par b\par c}&
+%D \framed[width=fit, height=.2\hsize, align=] {a\par b\par c}&
+%D \framed[width=fit, height=broad, align=] {a\par b\par c}&
+%D \framed[width=fit, height=fit, align=] {a\par b\par c}\cr
%D \noalign{\vskip1em}
-%D \framed[width=.2\hsize, height=.2\hsize, align=yes] {a\par b\par c}&
-%D \framed[width=.2\hsize, height=broad, align=yes] {a\par b\par c}&
-%D \framed[width=.2\hsize, height=fit, align=yes] {a\par b\par c}&
-%D \framed[width=fit, height=.2\hsize, align=yes] {a\par b\par c}&
-%D \framed[width=fit, height=broad, align=yes] {a\par b\par c}&
-%D \framed[width=fit, height=fit, align=yes] {a\par b\par c}\cr
+%D \framed[width=.2\hsize, height=.2\hsize, align=yes] {a\par b\par c}&
+%D \framed[width=.2\hsize, height=broad, align=yes] {a\par b\par c}&
+%D \framed[width=.2\hsize, height=fit, align=yes] {a\par b\par c}&
+%D \framed[width=fit, height=.2\hsize, align=yes] {a\par b\par c}&
+%D \framed[width=fit, height=broad, align=yes] {a\par b\par c}&
+%D \framed[width=fit, height=fit, align=yes] {a\par b\par c}\cr
%D \noalign{\vskip1em}
%D \framed[width=.2\hsize, height=.2\hsize, align=right] {a\par b\par c}&
-%D \framed[width=.2\hsize, height=broad, align=right] {a\par b\par c}&
-%D \framed[width=.2\hsize, height=fit, align=right] {a\par b\par c}&
-%D \framed[width=fit, height=.2\hsize, align=right] {a\par b\par c}&
-%D \framed[width=fit, height=broad, align=right] {a\par b\par c}&
-%D \framed[width=fit, height=fit, align=right] {a\par b\par c}\cr
+%D \framed[width=.2\hsize, height=broad, align=right] {a\par b\par c}&
+%D \framed[width=.2\hsize, height=fit, align=right] {a\par b\par c}&
+%D \framed[width=fit, height=.2\hsize, align=right] {a\par b\par c}&
+%D \framed[width=fit, height=broad, align=right] {a\par b\par c}&
+%D \framed[width=fit, height=fit, align=right] {a\par b\par c}\cr
%D \noalign{\vskip1em}
%D \framed[width=.2\hsize, height=.2\hsize, align=left] {a\par b\par c}&
-%D \framed[width=.2\hsize, height=broad, align=left] {a\par b\par c}&
-%D \framed[width=.2\hsize, height=fit, align=left] {a\par b\par c}&
-%D \framed[width=fit, height=.2\hsize, align=left] {a\par b\par c}&
-%D \framed[width=fit, height=broad, align=left] {a\par b\par c}&
-%D \framed[width=fit, height=fit, align=left] {a\par b\par c}\cr
+%D \framed[width=.2\hsize, height=broad, align=left] {a\par b\par c}&
+%D \framed[width=.2\hsize, height=fit, align=left] {a\par b\par c}&
+%D \framed[width=fit, height=.2\hsize, align=left] {a\par b\par c}&
+%D \framed[width=fit, height=broad, align=left] {a\par b\par c}&
+%D \framed[width=fit, height=fit, align=left] {a\par b\par c}\cr
%D \noalign{\vskip1em}
%D \framed[width=.2\hsize, height=.2\hsize, align=middle] {a\par b\par c}&
-%D \framed[width=.2\hsize, height=broad, align=middle] {a\par b\par c}&
-%D \framed[width=.2\hsize, height=fit, align=middle] {a\par b\par c}&
-%D \framed[width=fit, height=.2\hsize, align=middle] {a\par b\par c}&
-%D \framed[width=fit, height=broad, align=middle] {a\par b\par c}&
-%D \framed[width=fit, height=fit, align=middle] {a\par b\par c}\cr}
+%D \framed[width=.2\hsize, height=broad, align=middle] {a\par b\par c}&
+%D \framed[width=.2\hsize, height=fit, align=middle] {a\par b\par c}&
+%D \framed[width=fit, height=.2\hsize, align=middle] {a\par b\par c}&
+%D \framed[width=fit, height=broad, align=middle] {a\par b\par c}&
+%D \framed[width=fit, height=fit, align=middle] {a\par b\par c}\cr}
%D \stoplinecorrection
%D \blank[2*groot]
%D \egroup
@@ -2487,7 +2487,6 @@
% \setlocalhsize % can have framed texts alongside sidefloats
\checksidefloat
\setlocalhsize
- \advance\localhsize-\hangindent
\else
\localhsize\hsize
\fi\fi}
diff --git a/tex/context/base/core-sec.tex b/tex/context/base/core-sec.tex
index d3c743106..4d4f3248e 100644
--- a/tex/context/base/core-sec.tex
+++ b/tex/context/base/core-sec.tex
@@ -1089,14 +1089,6 @@
{\xdef\@@kolevel{\getvalue{\??se\@@sectie\c!level}}%
\nobreak}
-%\def\dolocalheadsetup#1% koppeling met standaard kopcommando / engels
-% {\forgetall
-% \doifvaluesomething{\??ko#1\c!uitlijnen}
-% {\ExpandFirstAfter\setupalign[\getvalue{\??ko#1\c!uitlijnen}]}%
-% \doifvaluesomething{\??ko#1\c!tolerantie}
-% {\ExpandFirstAfter\setuptolerance[\getvalue{\??ko#1\c!tolerantie}]}%
-% \def\\{\crlf\strut\ignorespaces}}
-
\def\dolocalheadsetup#1% koppeling met standaard kopcommando / engels
{\forgetall % traag dus ...
\doifvaluesomething{\??ko#1\c!align} % wordt al expanded in spa
diff --git a/tex/context/base/core-spa.tex b/tex/context/base/core-spa.tex
index e8b745008..416071374 100644
--- a/tex/context/base/core-spa.tex
+++ b/tex/context/base/core-spa.tex
@@ -1081,7 +1081,7 @@
\defineblank [\s!default] [\v!white]
\defineblank [\v!height] [\strutheight]
-\defineblank [\v!depth] [\strutdepth]
+\defineblank [\v!depth] [\strutdepth]
\let\currentindentation=\empty
@@ -2347,14 +2347,14 @@
\def\dosetraggedhbox#1%
{\processaction % slow
[#1]
- [ \v!left=>\def\raggedbox{\doregelplaats\v!left },
- \v!right=>\def\raggedbox{\doregelplaats\v!right },
- \v!middle=>\def\raggedbox{\doregelplaats\v!middle},
- \v!inner=>\def\raggedbox{\doregelplaats\v!inner },
- \v!outer=>\def\raggedbox{\doregelplaats\v!outer },
- \v!flushleft=>\def\raggedbox{\doregelplaats\v!right },
- \v!flushright=>\def\raggedbox{\doregelplaats\v!left },
- \v!center=>\def\raggedbox{\doregelplaats\v!middle},
+ [ \v!left=>\def\raggedbox{\doalignedline\v!left },
+ \v!right=>\def\raggedbox{\doalignedline\v!right },
+ \v!middle=>\def\raggedbox{\doalignedline\v!middle},
+ \v!inner=>\def\raggedbox{\doalignedline\v!inner },
+ \v!outer=>\def\raggedbox{\doalignedline\v!outer },
+ \v!flushleft=>\def\raggedbox{\doalignedline\v!right },
+ \v!flushright=>\def\raggedbox{\doalignedline\v!left },
+ \v!center=>\def\raggedbox{\doalignedline\v!middle},
\v!normal=>\let\raggedbox\hbox,
\s!default=>\let\raggedbox\hbox,
\s!unknown=>\let\raggedbox\hbox]}
@@ -2363,8 +2363,8 @@
{\expanded{\dodosetraggedcommand{#1}}}
\def\dodosetraggedcommand#1% beware: #1=empty is ignored, keep that!
- {\let\raggedcommand\relax
- \let\raggedtopcommand\empty
+ {\let\raggedcommand \relax
+ \let\raggedtopcommand \empty
\let\raggedbottomcommand\empty
\chardef\raggedoneliner\zerocount
\doifsomething{#1}
@@ -3495,7 +3495,7 @@
\letvalue{\s!do\v!line\v!flushright}\leftaligned
\letvalue{\s!do\v!line\v!center }\midaligned
-\def\doregelplaats#1{\csname\s!do\v!line#1\endcsname}
+\def\doalignedline#1{\csname\s!do\v!line#1\endcsname}
%D Experimental:
@@ -3556,7 +3556,7 @@
%D Better:
-\def\doregelplaats#1{\csname\s!do\v!line#1\endcsname}
+\def\doalignedline#1{\csname\s!do\v!line#1\endcsname}
\def\alignedline#1#2% setting default
{\csname
@@ -3564,7 +3564,7 @@
\ifundefined{\s!do\v!line#1}#2\else#1\fi
\endcsname}
-% \def\doregelplaats#1%
+% \def\doalignedline#1%
% {\alignedline{#1}\v!links}
%D ...
@@ -4129,10 +4129,10 @@
[\v!standard,
\v!big]
-\defineblank[\v!default] [\currentblanko]
-\defineblank[\v!before] [\v!default]
-\defineblank[\v!inbetween] [\v!default]
-\defineblank[\v!after] [\v!before]
+\defineblank[\v!default] [\currentblanko]
+\defineblank[\v!before] [\v!default]
+\defineblank[\v!inbetween][\v!default]
+\defineblank[\v!after] [\v!before]
\setupinterlinespace
[\c!minheight=0pt, % only special purpose
diff --git a/tex/context/base/core-syn.tex b/tex/context/base/core-syn.tex
index 9d085ae66..e32e55f0a 100644
--- a/tex/context/base/core-syn.tex
+++ b/tex/context/base/core-syn.tex
@@ -57,10 +57,6 @@
{\whitespace
\begingroup
\def\currentsynonym{#1}%
-% \def\synplaats{\getvalue{\??sm#1\c!plaats}}%
-% \def\synbreedte{\getvalue{\??sm#1\c!breedte}}%
-% \def\synmonster{\getvalue{\??sm#1\c!monster}}%
-%
\definedescription % nog eens een class van maken, net als framed
[syndef]
[\c!location=\getvalue{\??sm#1\c!location},
diff --git a/tex/context/base/core-tbl.tex b/tex/context/base/core-tbl.tex
index e7b525315..09523a362 100644
--- a/tex/context/base/core-tbl.tex
+++ b/tex/context/base/core-tbl.tex
@@ -951,287 +951,6 @@
%D cum suis, since \TEX's hard coded noalign lookahead fails
%D on it! I mistakenly added this for a while.
-% \def\processtabulate[|#1|]% in the process of optimizing
-% {\tabulateunit\getvalue{\??tt\currenttabulate\c!eenheid}%
-% \checkfulltabulatecontent
-% \ExpandFirstAfter\processaction % use \setalignmentswitch instead
-% [\getvalue{\??tt\currenttabulate\c!uitlijnen}]
-% [\v!normaal=>\def\@@tabulatealign{0},% = default value
-% \v!rechts=>\def\@@tabulatealign{1},% chardefs gebruiken
-% \v!links=>\def\@@tabulatealign{2},%
-% \v!midden=>\def\@@tabulatealign{3},%
-% \s!default=>\def\@@tabulatealign{0},%
-% \s!unknown=>\def\@@tabulatealign{0}]%
-% \let\pretabskip\!!zeropoint
-% \def\postabskip{.5\tabulateunit}%
-% \global\tabulatecolumns\zerocount
-% \global\nofautotabulate\zerocount
-% \doglobal\newcounter\noftabulatelines
-% \let\totalnoftabulatelines\noftabulatelines
-% \let\minusnoftabulatelines\noftabulatelines
-% \global\tabulatepwidth\zeropoint
-% \global\tabulateequalfalse
-% \resettabulatepheight
-% \unexpanded \def\NC{\tabulatenormalcolumn0}%
-% \unexpanded \def\RC{\tabulatenormalcolumn1}%
-% \unexpanded \def\HC{\tabulatenormalcolumn2}%
-% \unexpanded \def\EQ{\tabulateequalcolumn 0}%
-% \unexpanded \def\RQ{\tabulateequalcolumn 1}%
-% \unexpanded \def\HQ{\tabulateequalcolumn 2}%
-% \unexpanded \def\NG{\NC\handletabulatecharalign}%
-% \unexpanded \def\NN{\NC\handletabulatedigits}% new, undocumented, test first
-% \unexpanded \def\ND{\NC\handletabulatedigits}% same, for old times sake
-% \def\tabulaterule{\HR}% a rule with lineheight
-% \def\tabulateline{\HL}% just a spaced rule
-% \def\tabulateautorule{\doHR\plusone}%
-% \def\tabulateautoline{\doHL\plusone}%
-% \def\HR{\doHR\zerocount}
-% \def\HL{\doHL\zerocount}
-% \unexpanded \def\NR % next row
-% {\doglobal\increment\noftabulatelines
-% \global\tabulatefirstflushedfalse
-% \global\tabulateequalfalse
-% \globallet\tabulatecolumn\!!zerocount
-% \resettabulatepheight
-% \unskip\unskip\crcr\flushtabulated
-% \TABLEnoalign
-% {\iftolerantTABLEbreak\else
-% \ifnum\noftabulatelines=\plusone
-% \dotabulatenobreak
-% \else\ifnum\noftabulatelines=\minusnoftabulatelines
-% \ifnum\tabulatemaxplines<\plustwo
-% \dotabulatenobreak
-% \else
-% \allowbreak % needed with pbreak prevention
-% \fi
-% \else
-% \allowbreak % needed with pbreak prevention
-% \fi\fi
-% \fi
-% \global\tabulatefirstflushedfalse}}%
-% \let\HL\empty % not needed
-% \let\SR\NR \let\AR\NR
-% \let\FL\empty \let\FR\NR
-% \let\ML\empty \let\MR\NR
-% \let\LL\empty \let\LR\NR
-% \let\doHR\gobbleoneargument
-% \let\doHL\gobbleoneargument
-% \global\let\flushtabulated\empty
-% \let\savedbar|\let|\nexttabulate
-% \tabskip\zeropoint
-% \ifdim\getvalue{\??tt\currenttabulate\c!marge}>\zeropoint
-% \!!toksa{&\flushtabulateindent\strut##%
-% \tabskip\getvalue{\??tt\currenttabulate\c!marge}\strut
-% &##\tabskip\zeropoint}%
-% \else
-% \!!toksa{&\flushtabulateindent\strut##%
-% &##\tabskip\zeropoint}%
-% \fi
-% \tabulatewidth\zeropoint
-% |#1X|\relax
-% \scratchcounter\tabulatecolumns
-% \multiply\scratchcounter3%
-% \advance\scratchcounter4%
-% \edef\totaltabulatecolumns{\the\scratchcounter}%
-% \tabulatewidth\zeropoint
-% % \dorecurse\tabulatecolumns % can be made faster
-% % {\doifundefinedelse{\@@tabbox@@\recurselevel}
-% % {\expandafter\newbox\csname\@@tabbox@@\recurselevel\endcsname}%
-% % {\global\setbox\csname\@@tabbox@@\recurselevel\endcsname\box\voidb@x}}%
-% \initializetableboxes\tabulatecolumns
-% \appendtoks&##\to\!!toksa
-% \appendtoks\doglobal\increment\tabulatecolumn\to\!!toksa
-% \appendtoks\NC\unskip\unskip\crcr\flushtabulated\to\tabulatedummy % no count
-% \globallet\tabulatecolumn\!!zerocount
-% \resettabulatepheight
-% \def\bskip
-% {\setbox\tabulatebox\vbox\bgroup
-% \global\let\tabulatehook\notabulatehook}%
-% \def\eskip
-% {\par\egroup
-% \global\let\tabulatehook\dotabulatehook}%
-% \def\xbskip
-% {\hbox\bgroup\vbox\bgroup
-% \global\let\tabulatehook\notabulatehook}%
-% \def\xeskip
-% {\par\egroup\egroup
-% \global\let\tabulatehook\dotabulatehook}%
-% \let|\savedbar
-% \global\let\tabulatehook\dotabulatehook
-% \doifvalue{\??tt\currenttabulate\c!inspringen}\v!nee\forgetparindent
-% \ifinsidefloat
-% \let\tabulateindent\!!zeropoint
-% \else
-% \setlocalhsize \hsize\localhsize
-% \fi
-% \dontcomplain
-% \forgetall
-% \setbox0\vbox % outside \if because of line counting
-% {\notesenabledfalse
-% \let\tabulateindent\!!zeropoint
-% \trialtypesettingtrue % very important
-% \@EA\halign\@EA{\the\!!toksa\crcr\fulltabulatecontent\crcr}}%
-% \ifnum\nofautotabulate>\zerocount
-% % so, even if the natural size is larger, in the final
-% % run, we force the calculated width
-% \tabulatewidth\hsize
-% \advance\tabulatewidth -\wd0
-% \advance\tabulatewidth -\tabulatepwidth
-% \ifnum\nofautotabulate>\zerocount
-% \divide\tabulatewidth \nofautotabulate\relax
-% \fi
-% \fi
-% \def\xbskip{\bskip}%
-% \def\xeskip{\eskip}%
-% \ifsplittabulate
-% \splittopskip\strutht
-% \global\let\flushtabulatedindeed\empty
-% \long\def\bbskip
-% {\ifvoid\tablebox\tabulatecolumn
-% \ifx\flushtabulatedindeed\empty\else
-% \setbox0\hbox
-% \fi
-% \fi}%
-% \def\bskip
-% {\ifvoid\tablebox\tabulatecolumn
-% \global\setbox\tablebox\tabulatecolumn\vbox
-% \bgroup
-% \global\let\tabulatehook\notabulatehook
-% \ifautotabulate\hsize\tabulatewidth\fi
-% % \begstrut % interferes with pre-\pars
-% % evt: \appendtoks\begstrut\to\everypar
-% \ignorespaces
-% \def\eskip
-% {\par\egroup
-% \settabulatepheight
-% \global\let\tabulatehook\dotabulatehook
-% \splitofftabulatebox}%
-% \else
-% \let\eskip\empty
-% \dontcomplain
-% \global\let\tabulatehook\dotabulatehook
-% \expandafter\splitofftabulatebox
-% \fi}%
-% \gdef\flushtabulated
-% {\TABLEnoalign % noalign % no interference !
-% {\global\let\flushtabulatedindeed\empty
-% \globallet\tabulatecolumn\!!zerocount
-% \handletabulatepbreak
-% \dorecurse\tabulatecolumns % was: \noftabcolumns
-% {\ifvoid\tablebox\recurselevel\else
-% \gdef\flushtabulatedindeed{\the\tabulatedummy}%
-% \fi}%
-% \global\tabulatefirstflushedtrue}%
-% \flushtabulatedindeed}%
-% \else
-% % tabhook op alles ?
-% \def\bskip
-% {\vtop\bgroup
-% \ifautotabulate\hsize\tabulatewidth\fi
-% % \begstrut % interferes with pre-\pars
-% % evt: \appendtoks\begstrut\to\everypar
-% \ignorespaces}%
-% \def\eskip % vertical strut added august 2003
-% {\par\verticalstrut\vskip-\struttotal\egroup}%
-% \fi
-% \let\totalnoftabulatelines\noftabulatelines
-% \let\minusnoftabulatelines\noftabulatelines
-% \decrement\minusnoftabulatelines
-% \doglobal\newcounter\noftabulatelines
-% \def\doHL##1%
-% {\TABLEnoalign
-% {\ifnum\noftabulatelines=\zerocount
-% \ifcase##1\or
-% \@EAEAEA\FL
-% \fi
-% \else\ifnum\noftabulatelines=\totalnoftabulatelines
-% \ifcase##1\or
-% \@EA\@EAEAEA\@EA\LL
-% \fi
-% \else
-% \@EAEAEA\ML
-% \fi\fi}}%
-% \def\doHR##1% horizontal rule line (break untested)
-% {\TABLEnoalign
-% {\globallet\TABLEautoline\dotabulatelinerule
-% \ifcase##1\or
-% \ifnum\noftabulatelines=\zerocount
-% \gdef\TABLEautoline{\TABLEnoalign{}}%
-% \else\ifnum\noftabulatelines=\totalnoftabulatelines
-% \gdef\TABLEautoline{\TABLEnoalign{}}%
-% \fi\fi
-% \fi
-% \dotabulatenobreak}%
-% \TABLEautoline
-% \TABLEnoalign
-% {\nobreak
-% \ifx\TABLEautoline\dotabulatelinerule\kern-\lineheight\fi
-% \ifnum\noftabulatelines=\totalnoftabulatelines
-% \@EA\dotabulatenobreak
-% \else
-% \@EA\allowbreak
-% \fi}%
-% \TABLEautoline
-% \TABLEnoalign
-% {\dotabulatenobreak}}%
-% \doifelsevalue{\??tt\currenttabulate\c!lijn}\v!regel
-% {\let\HL \HR
-% \let\tabulateautoline\tabulateautorule
-% \let\tabulateline \tabulaterule}%
-% {\def\HL{\doHL\zerocount}}%
-% \def\tablebaselinecorrection
-% {\def\dobaselinecorrection
-% {\vskip-\prevdepth
-% \vskip\strutdp
-% \vskip\strutdp}%
-% \baselinecorrection}%
-% \def\FL{\TABLEnoalign
-% {\ifinsidefloat\else
-% \doifemptyvalue{\??tt\currenttabulate\c!voor} % no expansion
-% {\tablebaselinecorrection}%
-% \fi
-% \dotabulaterule
-% \dotabulatenobreak
-% \dotabulateruleseperator
-% \prevdepth\strutdp
-% \dotabulatenobreak}}%
-% \def\ML{\TABLEnoalign
-% {\dotabulateruleseperator
-% \dotabulaterule
-% \ifnum\noftabulatelines>\plusone
-% \ifnum\noftabulatelines<\minusnoftabulatelines
-% \vskip\topskip\allowbreak\vskip-\topskip
-% \vskip-\getvalue{\??tt\currenttabulate\c!lijndikte}%
-% \dotabulaterule
-% \fi
-% \fi
-% \dotabulateruleseperator}}%
-% \def\LL{\TABLEnoalign
-% {\dotabulatenobreak
-% \dotabulateruleseperator
-% \dotabulatenobreak
-% \dotabulaterule
-% \ifinsidefloat\else
-% \doifemptyvalue{\??tt\currenttabulate\c!na} % no expansion
-% {\vskip\strutdp
-% \verticalstrut
-% \vskip-\struttotal}%
-% \fi}}%
-% \chardef\tabulatepass\plustwo
-% %
-% \startflushtabulate
-% \@EA\halign\@EA{\the\!!toksa\crcr\fulltabulatecontent\crcr}%
-% \prevdepth\strutdp % nog eens beter, temporary hack
-% \doifvalue{\??tt\currenttabulate\c!afstand}\v!grid
-% {\vskip-\strutdp}% experimental tm-prikkels
-% \stopflushtabulate
-% %
-% \egroup
-% \ifinsidefloat \else
-% \getvalue{\??tt\currenttabulate\c!na}%
-% \fi
-% \egroup}
-
\chardef\tabulaterepeathead\zerocount
\def\processtabulate[|#1|]% in the process of optimizing
diff --git a/tex/context/base/enco-def.tex b/tex/context/base/enco-def.tex
index 901fcd47c..422c52826 100644
--- a/tex/context/base/enco-def.tex
+++ b/tex/context/base/enco-def.tex
@@ -458,4 +458,12 @@
\stopencoding
+% \startencoding [default]
+
+% \definecommand prime {\mathematics{'}}
+% \definecommand doubleprime {\mathematics{''}}
+% \definecommand tripleprime {\mathematics{'''}}
+
+% \stopencoding
+
\endinput
diff --git a/tex/context/base/font-ini.tex b/tex/context/base/font-ini.tex
index 98bbd6b6e..adf08b12f 100644
--- a/tex/context/base/font-ini.tex
+++ b/tex/context/base/font-ini.tex
@@ -3532,9 +3532,8 @@
\def\dodefinealternativestyle[#1][#2][#3]%
{\def\docommando##1%
- {\doifundefined{##1}
- {\setvalue{##1}{\groupedcommand{#2}{}}}%
- \setvalue{\@letter@##1}{#2}%
+ {\doifundefined{##1}{\setvalue{##1}{\groupedcommand{#2}{}}}%
+ \setvalue{\@letter@ ##1}{#2}%
\setvalue{\@noletter@##1}{#3}}%
\processcommalist[#1]\docommando}
diff --git a/tex/context/base/java-exa.tex b/tex/context/base/java-exa.tex
index 13d3d6fa3..47ea96f23 100644
--- a/tex/context/base/java-exa.tex
+++ b/tex/context/base/java-exa.tex
@@ -187,13 +187,15 @@
function set_request (command,option) {
exa_command = command ;
- if (option == "") {
+ if (exa_command == "") {
+ exa_option = option ;
+ } else { if (option == "") {
exa_option = "" ;
} else { if (option.indexOf("--")<0) {
exa_option = "--action=" + option ;
} else {
exa_option = option ;
- } }
+ } } }
}
function assemble_request ( ) {
diff --git a/tex/context/base/lang-ini.tex b/tex/context/base/lang-ini.tex
index 8aa8c7307..4a906a46d 100644
--- a/tex/context/base/lang-ini.tex
+++ b/tex/context/base/lang-ini.tex
@@ -804,6 +804,7 @@
%D \blank}
%D
%D \ShowLanguageValues [af] [afrikaans] afrikaanse ...
+%D \ShowLanguageValues [ca] [catalan] catalan ...
%D \ShowLanguageValues [cz] [czech] tjechisch tex
%D \ShowLanguageValues [cz] [slovak] slowaakse ...
%D \ShowLanguageValues [da] [danish] deense ...
@@ -850,6 +851,7 @@
%D \NC \bf mnemonic \NC \bf language \NC \bf group \NC\SR
%D \HL
%D \NC \s!fr \NC french \NC italic \NC\FR
+%D \NC \s!ca \NC catalan \NC italic \NC\MR
%D \NC \s!es \NC spanish \NC italic \NC\MR
%D \NC \s!it \NC italian \NC italic \NC\MR
%D \NC \s!la \NC latin \NC italic \NC\MR
diff --git a/tex/context/base/lang-ita.tex b/tex/context/base/lang-ita.tex
index ddf55cfe9..6bfe6c742 100644
--- a/tex/context/base/lang-ita.tex
+++ b/tex/context/base/lang-ita.tex
@@ -65,6 +65,20 @@
\installlanguage [sp] [\s!es] % old times context
+\installlanguage
+ [\s!ca]
+ [\c!spacing=\v!packed,
+ \c!leftsentence=---,
+ \c!rightsentence=---,
+ \c!leftsubsentence=---,
+ \c!rightsubsentence=---,
+ \c!leftquote=\upperleftsinglesixquote,
+ \c!rightquote=\upperrightsingleninequote,
+ \c!leftquotation=\upperleftdoublesixquote,
+ \c!rightquotation=\upperrightdoubleninequote,
+ \c!date={\v!day,\ ,\v!month,\ ,\v!year},
+ \c!state=\v!stop]
+
% Note GB left|/|right (sub)sentences are for \quote {incisi}.
\installlanguage
@@ -132,6 +146,7 @@
\installlanguage [french] [\s!fr]
\installlanguage [spanish] [\s!es]
+\installlanguage [catalan] [\s!ca]
\installlanguage [italian] [\s!it]
\installlanguage [latin] [\s!la]
\installlanguage [portuguese] [\s!pt]
@@ -141,6 +156,7 @@
\setupheadtext [\s!fr] [\v!content=Table des mati\`eres]
\setupheadtext [\s!es] [\v!content=\'Indice]
+\setupheadtext [\s!ca] [\v!content=\'Index de continguts]
\setupheadtext [\s!it] [\v!content=Indice]
\setupheadtext [\s!la] [\v!content=Quod in libro continetur] %Argumentum
\setupheadtext [\s!pt] [\v!content=Conte\'udo]
@@ -148,6 +164,7 @@
\setupheadtext [\s!fr] [\v!tables=Tables]
\setupheadtext [\s!es] [\v!tables=Tablas]
+\setupheadtext [\s!ca] [\v!tables=Taules]
\setupheadtext [\s!it] [\v!tables=Tabelle]
\setupheadtext [\s!la] [\v!tables=Tabulae]
\setupheadtext [\s!pt] [\v!tables=Tabelas]
@@ -155,6 +172,7 @@
\setupheadtext [\s!fr] [\v!figures=Figures]
\setupheadtext [\s!es] [\v!figures=Ilustraci\'ons]
+\setupheadtext [\s!ca] [\v!figures=Figures]
\setupheadtext [\s!it] [\v!figures=Figure]
\setupheadtext [\s!la] [\v!figures=Imagines]
\setupheadtext [\s!pt] [\v!figures=Figuras]
@@ -163,12 +181,14 @@
\setupheadtext [\s!fr] [\v!graphics=Graphiques]
\setupheadtext [\s!es] [\v!graphics=Gr\'aficos]
\setupheadtext [\s!it] [\v!graphics=Grafici]
+\setupheadtext [\s!ca] [\v!graphics=Gr\`afiques]
\setupheadtext [\s!la] [\v!graphics=Typi]
\setupheadtext [\s!pt] [\v!graphics=Gr\'aficos]
\setupheadtext [\s!ro] [\v!graphics=Grafice]
\setupheadtext [\s!fr] [\v!intermezzi=Interm\`edes]
\setupheadtext [\s!es] [\v!intermezzi=intermedios]
+\setupheadtext [\s!ca] [\v!intermezzi=intermedis]
\setupheadtext [\s!it] [\v!intermezzi=Intermezzi]
\setupheadtext [\s!la] [\v!intermezzi=Intermissa]
\setupheadtext [\s!pt] [\v!intermezzi=Interm\'edios]
@@ -176,6 +196,7 @@
\setupheadtext [\s!fr] [\v!index=Index]
\setupheadtext [\s!es] [\v!index=\'Indice]
+\setupheadtext [\s!ca] [\v!index=\'Index alfab\`etic]
\setupheadtext [\s!it] [\v!index=Indice]
\setupheadtext [\s!la] [\v!index=Indices]
\setupheadtext [\s!pt] [\v!index=\'Indice]
@@ -183,6 +204,7 @@
\setupheadtext [\s!fr] [\v!abbreviations=Abr\'eviations]
\setupheadtext [\s!es] [\v!abbreviations=Abreviaci\'ons]
+\setupheadtext [\s!ca] [\v!abbreviations=Abreviacions]
\setupheadtext [\s!it] [\v!abbreviations=Abbreviazioni]
\setupheadtext [\s!la] [\v!abbreviations=Notae]
\setupheadtext [\s!pt] [\v!abbreviations=Abreviaturas]
@@ -190,6 +212,7 @@
\setupheadtext [\s!fr] [\v!logos=Logos]
\setupheadtext [\s!es] [\v!logos=Logotipos]
+\setupheadtext [\s!ca] [\v!logos=Logotips]
\setupheadtext [\s!it] [\v!logos=Logotipi]
\setupheadtext [\s!la] [\v!logos=Typi negotiales]
\setupheadtext [\s!pt] [\v!logos=Logotipos]
@@ -197,6 +220,7 @@
\setupheadtext [\s!fr] [\v!units=Unit\'es]
\setupheadtext [\s!es] [\v!units=Unidads]
+\setupheadtext [\s!ca] [\v!units=Unitats]
\setupheadtext [\s!it] [\v!units=Unit\`a]
\setupheadtext [\s!la] [\v!units=Modi]
\setupheadtext [\s!pt] [\v!units=Unidades]
@@ -204,6 +228,7 @@
\setuplabeltext [\s!fr] [\v!table=Table ]
\setuplabeltext [\s!es] [\v!table=Tablas ]
+\setuplabeltext [\s!ca] [\v!table=Taules ]
\setuplabeltext [\s!it] [\v!table=Tabella ]
\setuplabeltext [\s!la] [\v!table=Tabula ]
\setuplabeltext [\s!pt] [\v!table=Tabela ]
@@ -211,6 +236,7 @@
\setuplabeltext [\s!fr] [\v!figure=Figure ]
\setuplabeltext [\s!es] [\v!figure=Ilustraci\'on ]
+\setuplabeltext [\s!ca] [\v!figure=Figura ]
\setuplabeltext [\s!it] [\v!figure=Fig. ]
\setuplabeltext [\s!la] [\v!figure=Imago ]
\setuplabeltext [\s!pt] [\v!figure=Figura ]
@@ -218,6 +244,7 @@
\setuplabeltext [\s!fr] [\v!intermezzo=Interm\`ede ]
\setuplabeltext [\s!es] [\v!intermezzo=intermedio ]
+\setuplabeltext [\s!ca] [\v!intermezzo=Intermedi ]
\setuplabeltext [\s!it] [\v!intermezzo=Intermezzo ]
\setuplabeltext [\s!la] [\v!intermezzo=Intermissum ]
\setuplabeltext [\s!pt] [\v!intermezzo=Interm\'edio ]
@@ -225,6 +252,7 @@
\setuplabeltext [\s!fr] [\v!graphic=Illustration ]
\setuplabeltext [\s!es] [\v!graphic=Gr\'afico ]
+\setuplabeltext [\s!ca] [\v!graphic=Gr\'afica ]
\setuplabeltext [\s!it] [\v!graphic=Grafico ]
\setuplabeltext [\s!la] [\v!graphic=Typus ]
\setuplabeltext [\s!pt] [\v!graphic=Gr\'afico ]
@@ -232,6 +260,7 @@
\setuplabeltext [\s!fr] [\v!chapter=]
\setuplabeltext [\s!es] [\v!chapter=]
+\setuplabeltext [\s!ca] [\v!chapter=]
\setuplabeltext [\s!it] [\v!chapter=]
\setuplabeltext [\s!la] [\v!chapter=]
\setuplabeltext [\s!pt] [\v!chapter=]
@@ -239,6 +268,7 @@
\setuplabeltext [\s!fr] [\v!section=]
\setuplabeltext [\s!es] [\v!section=]
+\setuplabeltext [\s!ca] [\v!section=]
\setuplabeltext [\s!it] [\v!section=]
\setuplabeltext [\s!la] [\v!section=]
\setuplabeltext [\s!pt] [\v!section=]
@@ -246,6 +276,7 @@
\setuplabeltext [\s!fr] [\v!subsection=]
\setuplabeltext [\s!es] [\v!subsection=]
+\setuplabeltext [\s!ca] [\v!subsection=]
\setuplabeltext [\s!it] [\v!subsection=]
\setuplabeltext [\s!la] [\v!subsection=]
\setuplabeltext [\s!pt] [\v!subsection=]
@@ -253,6 +284,7 @@
\setuplabeltext [\s!fr] [\v!subsubsection=]
\setuplabeltext [\s!es] [\v!subsubsection=]
+\setuplabeltext [\s!ca] [\v!subsubsection=]
\setuplabeltext [\s!it] [\v!subsubsection=]
\setuplabeltext [\s!la] [\v!subsubsection=]
\setuplabeltext [\s!pt] [\v!subsubsection=]
@@ -260,6 +292,7 @@
\setuplabeltext [\s!fr] [\v!subsubsubsection=]
\setuplabeltext [\s!es] [\v!subsubsubsection=]
+\setuplabeltext [\s!ca] [\v!subsubsubsection=]
\setuplabeltext [\s!it] [\v!subsubsubsection=]
\setuplabeltext [\s!la] [\v!subsubsubsection=]
\setuplabeltext [\s!pt] [\v!subsubsubsection=]
@@ -267,6 +300,7 @@
\setuplabeltext [\s!fr] [\v!appendix=]
\setuplabeltext [\s!es] [\v!appendix=]
+\setuplabeltext [\s!ca] [\v!appendix=]
\setuplabeltext [\s!it] [\v!appendix=]
\setuplabeltext [\s!la] [\v!appendix=]
\setuplabeltext [\s!pt] [\v!appendix=]
@@ -274,6 +308,7 @@
\setuplabeltext [\s!fr] [\v!part=Partie ]
\setuplabeltext [\s!es] [\v!part=Parte ]
+\setuplabeltext [\s!ca] [\v!part=Part ]
\setuplabeltext [\s!it] [\v!part=Parte ]
\setuplabeltext [\s!la] [\v!part=Pars ]
\setuplabeltext [\s!pt] [\v!part=Parte ]
@@ -281,6 +316,7 @@
\setuplabeltext [\s!fr] [\v!line=ligne ]
\setuplabeltext [\s!es] [\v!line=l\'\i nea ]
+\setuplabeltext [\s!ca] [\v!line=l\'\i nia ]
\setuplabeltext [\s!it] [\v!line=riga ]
\setuplabeltext [\s!la] [\v!line=versus ]
\setuplabeltext [\s!pt] [\v!line=linha ]
@@ -288,6 +324,7 @@
\setuplabeltext [\s!fr] [\v!lines=lignes ]
\setuplabeltext [\s!es] [\v!lines=l\'\i neas ]
+\setuplabeltext [\s!ca] [\v!lines=l\'\i nies ]
\setuplabeltext [\s!it] [\v!lines=righe ]
\setuplabeltext [\s!la] [\v!lines=versus ]
\setuplabeltext [\s!pt] [\v!lines=linhas ]
@@ -319,6 +356,19 @@
\setuplabeltext [\s!es] [\v!november=noviembre]
\setuplabeltext [\s!es] [\v!december=deciembre]
+\setuplabeltext [\s!ca] [\v!january=gener]
+\setuplabeltext [\s!ca] [\v!february=febrer]
+\setuplabeltext [\s!ca] [\v!march=mar\,c]
+\setuplabeltext [\s!ca] [\v!april=abril]
+\setuplabeltext [\s!ca] [\v!may=maig]
+\setuplabeltext [\s!ca] [\v!june=juny]
+\setuplabeltext [\s!ca] [\v!july=juliol]
+\setuplabeltext [\s!ca] [\v!august=agost]
+\setuplabeltext [\s!ca] [\v!september=septembre]
+\setuplabeltext [\s!ca] [\v!october=octubre]
+\setuplabeltext [\s!ca] [\v!november=novembre]
+\setuplabeltext [\s!ca] [\v!december=decembre]
+
\setuplabeltext [\s!it] [\v!january=gennaio]
\setuplabeltext [\s!it] [\v!february=febbraio]
\setuplabeltext [\s!it] [\v!march=marzo]
@@ -387,6 +437,14 @@
\setuplabeltext [\s!es] [\v!friday=viernes]
\setuplabeltext [\s!es] [\v!saturday=s\'abado]
+\setuplabeltext [\s!ca] [\v!sunday=diumenge]
+\setuplabeltext [\s!ca] [\v!monday=dilluns]
+\setuplabeltext [\s!ca] [\v!tuesday=dimarts]
+\setuplabeltext [\s!ca] [\v!wednesday=dimecres]
+\setuplabeltext [\s!ca] [\v!thursday=dijous]
+\setuplabeltext [\s!ca] [\v!friday=divendres]
+\setuplabeltext [\s!ca] [\v!saturday=dissabte]
+
\setuplabeltext [\s!it] [\v!sunday=domenica]
\setuplabeltext [\s!it] [\v!monday=luned\`\i]
\setuplabeltext [\s!it] [\v!tuesday=marted\`\i]
@@ -453,6 +511,7 @@
%D \ShowAllLanguageValues [\s!fr] [french] franse slag
%D \ShowAllLanguageValues [\s!es] [spanish] spaans benauwd
+%D \ShowAllLanguageValues [\s!ca] [catalan] catalaans ...
%D \ShowAllLanguageValues [\s!it] [italian] italiaanse ...
%D \ShowAllLanguageValues [\s!la] [latin] latijnse missen
%D \ShowAllLanguageValues [\s!pt] [portuguese] portugese ...
diff --git a/tex/context/base/m-chart.tex b/tex/context/base/m-chart.tex
index 6009f753a..b5defdc8f 100644
--- a/tex/context/base/m-chart.tex
+++ b/tex/context/base/m-chart.tex
@@ -61,7 +61,7 @@
\unprotect
\definesorting [flowchart] [flowcharts] [\v!none] % no access
-\setupsorting [flowchart] [\c!state=\v!stop] % off by default
+\setupsorting [flowchart] [\c!state=\v!stop] % off by default
\def\@FLOW@{@FLOW@}
\def\@FLOC@{@FLOC@}
@@ -134,6 +134,13 @@
\let\locate \doFLOWlocate
\let\connect \doFLOWconnect}
+\let\FLOWcell \s!unknown
+\let\FLOWshape \s!unknown
+\let\FLOWdestination\s!unknown
+\let\FLOWfocus \s!unknown
+\let\FLOWoverlay \empty
+\let\FLOWtext \empty
+
\def\doFLOWname#1%
{\def\FLOWcell{#1}\setFLOWname\FLOWname{name_#1}\ignorespaces}
@@ -288,9 +295,9 @@
\increment(\includeFLOWy,0\FLOWiy)\decrement\includeFLOWy
\def\dodoincludeFLOWchart##1%
{\doifdefined{\@FLOW@-##1}
- {\pushmacro\dohandleflowchart
+ {\globalpushmacro\dohandleflowchart % was local
\gdef\dohandleflowchart[####1][####2]%
- {\popmacro\dohandleflowchart
+ {\globalpopmacro\dohandleflowchart % was local
\resetFLOWlocation
\processFLOWbuffer{####1}}%
\getvalue{\@FLOW@-##1}}}%
@@ -382,7 +389,7 @@
\insidefloattrue
\forgetall
\dontcomplain
- \offinterlineskip
+ % \offinterlineskip % we now explicitly use \nointerlineskip later on
\def\dohandleflowchart[##1][##2]%
{\def\currentFLOWnumber{##1}%
\getparameters[\@@FLOW][##2]}%
@@ -400,8 +407,8 @@
\ifcase\@@FLOWny\relax \let\@@FLOWny\FLOWheight \fi
\doifnothing{\@@FLOWmaxwidth\@@FLOWmaxheight}{\FLOWscalingfalse}%
\ifFLOWscaling
- \doifnothing{\@@FLOWmaxwidth}{\let\@@FLOWmaxwidth\maxdimen}%
- \doifnothing{\@@FLOWmaxheight} {\let\@@FLOWmaxheight \maxdimen}%
+ \doifnothing{\@@FLOWmaxwidth }{\let\@@FLOWmaxwidth \maxdimen}%
+ \doifnothing{\@@FLOWmaxheight}{\let\@@FLOWmaxheight\maxdimen}%
\scratchcounter=\bodyfontpoints
\doloop % NOG FONTSWITCH OM EX EN EM TE LATEN WERKEN
{\ifnum\scratchcounter>1 % NU DIMENSIONS IN TERMS OF BODYFONTSIZE
@@ -432,7 +439,7 @@
\fi}%
\expanded{\switchtobodyfont[\the\scratchcounter pt]}%
\forgetall
- \offinterlineskip
+ % \offinterlineskip % needed ?
\else\ifx\@@FLOWbodyfont\empty\else
\expanded{\switchtobodyfont[\@@FLOWbodyfont]}% \expanded ?
\fi\fi
@@ -472,7 +479,7 @@
[\@@FLOWoffset]
[ \v!none=>\scratchdimen=-2.5\scratchdimen,
\v!overlay=>\scratchdimen=-2.5\scratchdimen,
- \v!standard=>\scratchdimen=\scratchdimen,
+ \v!standard=>\scratchdimen=\scratchdimen,
\s!unknown=>\scratchdimen=\@@FLOWoffset,
\s!default=>\scratchdimen=-2.5\scratchdimen]%
\edef\@@FLOW@@offset{\the\scratchdimen}%
@@ -589,7 +596,8 @@
\c!unit=pt,\c!location=\v!middle]}%
\wd6\wd0\ht6\ht0\dp6\dp0
\setbox8\vbox
- {\forgetall\offinterlineskip
+ {\forgetall
+ \offinterlineskip
\vskip\@@FLOW@@offset
\dostepwiserecurse\@@FLOWy\@@FLOWny\plusone
{\vbox to \FLOWgridheight
@@ -812,31 +820,78 @@
\egroup
\ignorespaces}
-\def\doprocessFLOWcellD#1,#2\end % kan ook met area
- {\!!counta=#1\relax
- \!!countb=#2\relax
- \!!countc=\@@FLOWx
- \!!countd=\@@FLOWy
+% pass D
+
+\def\dophaseoneFLOWcellX#1#2%
+ {\!!counta#1\relax
+ \!!countb#2\relax
+ \!!countc\@@FLOWx
+ \!!countd\@@FLOWy
\advance\!!countc \@@FLOWnx
\advance\!!countd \@@FLOWny
- \advance\!!countc -1
- \advance\!!countd -1
+ \advance\!!countc \minusone
+ \advance\!!countd \minusone
\ifnum\!!counta<\@@FLOWx\relax \donefalse
\else\ifnum\!!counta>\!!countc \donefalse
\else\ifnum\!!countb<\@@FLOWy\relax \donefalse
\else\ifnum\!!countb>\!!countd \donefalse
\else \donetrue
+ \fi\fi\fi\fi}
+
+\def\dophasetwoFLOWcellX
+ {\advance\!!counta -\@@FLOWx
+ \advance\!!counta \plusone
+ \advance\!!countb -\@@FLOWy
+ \advance\!!countb \plusone
+ \dimen0=\FLOWgridwidth
+ \dimen0=\!!counta\dimen0
+ \advance\dimen0 -\FLOWgridwidth
+ \dimen4=\FLOWgridwidth
+ \advance\dimen4 -\FLOWshapewidth
+ \advance\dimen0 .5\dimen4
+ \dimen2=\FLOWgridheight
+ \dimen2=\!!countb\dimen2
+ \dimen4=\FLOWgridheight
+ \advance\dimen4 -\FLOWshapeheight
+ \advance\dimen2 -.5\dimen4
+ \edef\FLOWdx{\the\dimen0}%
+ \edef\FLOWdy{\the\dimen2}}
+
+\def\positionFLOWzero% assumes \FLOWdx and \FLOWdy are set
+ {\setbox0\hbox{\hskip\FLOWdx\lower\FLOWdy\box0}%
+ \smashbox0\box0
+ \nointerlineskip} % new, needed since we somehow reset that
+
+\def\doFLOWtlabel#1#2#3%
+ {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdy\fi
+ \setbox0\hbox{\hskip\dimen2\raise\scratchdimen
+ \hbox{\raise\dimen4\hbox{#1{\strut#3}}}}%
+ \positionFLOWzero}%
+
+\def\doFLOWblabel#1#2#3%
+ {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdy\fi
+ \setbox0\hbox{\hskip\dimen2\raise-\scratchdimen
+ \hbox{#1{\strut#3}}}%
+ \positionFLOWzero}%
+
+\def\doFLOWllabel#1#2#3%
+ {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdx\fi
+ \setbox0\hbox{\hskip-\scratchdimen\raise\dimen6
+ \hbox{#1{\strut#3}}}%
+ \positionFLOWzero}%
+
+\def\doFLOWrlabel#1#2#3%
+ {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdx\fi
+ \setbox0\hbox{\hskip\dimen0\hskip\scratchdimen
+ \hbox{\raise\dimen6\hbox{#1{\strut#3}}}}%
+ \positionFLOWzero}
+
+\def\doprocessFLOWcellD#1,#2\end
+ {\dophaseoneFLOWcellX{#1}{#2}%
+ \ifdone
+ \dophasetwoFLOWcellX
\doglobal\addtocommalist\FLOWcell\FLOWcells
- \advance\!!counta -\@@FLOWx\advance\!!counta \plusone
- \advance\!!countb -\@@FLOWy\advance\!!countb \plusone
- \dimen0=\FLOWgridwidth\dimen0=\!!counta\dimen0
- \advance\dimen0 -\FLOWgridwidth
- \dimen4=\FLOWgridwidth\advance\dimen4 -\FLOWshapewidth
- \advance\dimen0 .5\dimen4
- \dimen2=\FLOWgridheight\dimen2=\!!countb\dimen2
- \dimen4=\FLOWgridheight\advance\dimen4 -\FLOWshapeheight
- \advance\dimen2 -.5\dimen4
- \setbox0=\hbox
+ \setbox0\hbox
{\ifx\FLOWalign\empty\else
\setupframed
[\c!align=\v!normal,\c!bottom=\vfill,\c!top=\vfill]%
@@ -857,37 +912,12 @@
[\c!frame=\v!off,
\c!width=\FLOWshapewidth,\c!height=\FLOWshapeheight]
{\FLOWtext}}%
- \showFLOWhelp0
- \ifx\FLOWdestination\empty\else
- \setbox0=\hbox
- {\setupinteraction[\c!color=,\c!contrastcolor=]%
- \gotobox{\box0}[\FLOWdestination]}%
- \fi
- \edef\FLOWdx{\the\dimen0}%
- \edef\FLOWdy{\the\dimen2}%
- \def\positionFLOWzero% assumes \FLOWdx and \FLOWdy are set
- {\setbox0=\hbox{\hskip\FLOWdx\lower\FLOWdy\box0}%
- \smashbox0\box0}%
- \def\doFLOWtlabel##1##2##3%
- {\scratchdimen=\ifcase##2 \!!zeropoint\else\@@FLOWdy\fi
- \setbox0=\hbox{\hskip\dimen2\raise\scratchdimen
- \hbox{\raise\dimen4\hbox{##1{\strut##3}}}}%
- \positionFLOWzero}%
- \def\doFLOWblabel##1##2##3%
- {\scratchdimen=\ifcase##2 \zeropoint\else\@@FLOWdy\fi
- \setbox0=\hbox{\hskip\dimen2\raise-\scratchdimen
- \hbox{##1{\strut##3}}}%
- \positionFLOWzero}%
- \def\doFLOWllabel##1##2##3%
- {\scratchdimen=\ifcase##2 \zeropoint\else\@@FLOWdx\fi
- \setbox0=\hbox{\hskip-\scratchdimen\raise\dimen6
- \hbox{##1{\strut##3}}}%
- \positionFLOWzero}%
- \def\doFLOWrlabel##1##2##3%
- {\scratchdimen=\ifcase##2 \zeropoint\else\@@FLOWdx\fi
- \setbox0=\hbox{\hskip\dimen0\hskip\scratchdimen
- \hbox{\raise\dimen6\hbox{##1{\strut##3}}}}%
- \positionFLOWzero}%
+ \showFLOWhelp0
+ \ifx\FLOWdestination\empty\else
+ \setbox0\hbox
+ {\setupinteraction[\c!color=,\c!contrastcolor=]%
+ \gotobox{\box0}[\FLOWdestination]}%
+ \fi
\positionFLOWzero
\dimen0=\FLOWshapewidth \dimen2=.5\dimen0
\dimen4=\FLOWshapeheight\dimen6=.5\dimen4
@@ -904,7 +934,7 @@
\ifnum#1=\!!countc \doFLOWrlabel \rightbox1\rFLOWexit \fi
\ifnum#2=\@@FLOWy\relax \doFLOWtlabel \topbox1\tFLOWexit \fi
\ifnum#2=\!!countd \doFLOWblabel \bottombox1\bFLOWexit \fi
- \fi\fi\fi\fi}
+ \fi}
% Pass E
@@ -914,55 +944,141 @@
\let\doprocessFLOWcell\doprocessFLOWcellE
\expandafter\doprocessFLOWcell\FLOWlocation\end}
-\def\doprocessFLOWcellE#1,#2\end % redundant
- {\ifx\FLOWoverlay\empty \else
- \!!counta=#1\relax
- \!!countb=#2\relax
- \!!countc=\@@FLOWx
- \!!countd=\@@FLOWy
+\def\dophaseoneFLOWcellX#1#2%
+ {\!!counta#1\relax
+ \!!countb#2\relax
+ \!!countc\@@FLOWx
+ \!!countd\@@FLOWy
\advance\!!countc \@@FLOWnx
\advance\!!countd \@@FLOWny
\advance\!!countc \minusone
\advance\!!countd \minusone
- \ifnum\!!counta<\@@FLOWx\relax
- \donefalse
- \else\ifnum\!!counta>\!!countc
- \donefalse
- \else\ifnum\!!countb<\@@FLOWy\relax
- \donefalse
- \else\ifnum\!!countb>\!!countd
- \donefalse
- \else
- \donetrue
- \fi\fi\fi\fi
+ \ifnum\!!counta<\@@FLOWx\relax \donefalse
+ \else\ifnum\!!counta>\!!countc \donefalse
+ \else\ifnum\!!countb<\@@FLOWy\relax \donefalse
+ \else\ifnum\!!countb>\!!countd \donefalse
+ \else \donetrue
+ \fi\fi\fi\fi}
+
+\def\dophasetwoFLOWcellX
+ {\advance\!!counta -\@@FLOWx
+ \advance\!!counta \plusone
+ \advance\!!countb -\@@FLOWy
+ \advance\!!countb \plusone
+ \dimen0=\FLOWgridwidth
+ \dimen0=\!!counta\dimen0
+ \advance\dimen0 -\FLOWgridwidth
+ \dimen4=\FLOWgridwidth
+ \advance\dimen4 -\FLOWshapewidth
+ \advance\dimen0 .5\dimen4
+ \dimen2=\FLOWgridheight
+ \dimen2=\!!countb\dimen2
+ \dimen4=\FLOWgridheight
+ \advance\dimen4 -\FLOWshapeheight
+ \advance\dimen2 -.5\dimen4
+ \edef\FLOWdx{\the\dimen0}%
+ \edef\FLOWdy{\the\dimen2}}
+
+\def\positionFLOWzero% assumes \FLOWdx and \FLOWdy are set
+ {\setbox0\hbox{\hskip\FLOWdx\lower\FLOWdy\box0}%
+ \smashbox0\box0
+ \nointerlineskip}%
+
+\def\doFLOWtlabel#1#2#3%
+ {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdy\fi
+ \setbox0\hbox{\hskip\dimen2\raise\scratchdimen
+ \hbox{\raise\dimen4\hbox{#1{\strut#3}}}}%
+ \positionFLOWzero}%
+
+\def\doFLOWblabel#1#2#3%
+ {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdy\fi
+ \setbox0\hbox{\hskip\dimen2\raise-\scratchdimen
+ \hbox{#1{\strut#3}}}%
+ \positionFLOWzero}%
+
+\def\doFLOWllabel#1#2#3%
+ {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdx\fi
+ \setbox0\hbox{\hskip-\scratchdimen\raise\dimen6
+ \hbox{#1{\strut#3}}}%
+ \positionFLOWzero}%
+
+\def\doFLOWrlabel#1#2#3%
+ {\scratchdimen\ifcase#2 \zeropoint\else\@@FLOWdx\fi
+ \setbox0\hbox{\hskip\dimen0\hskip\scratchdimen
+ \hbox{\raise\dimen6\hbox{#1{\strut#3}}}}%
+ \positionFLOWzero}
+
+\def\doprocessFLOWcellD#1,#2\end
+ {\dophaseoneFLOWcellX{#1}{#2}%
\ifdone
- \advance\!!counta -\@@FLOWx\advance\!!counta \plusone
- \advance\!!countb -\@@FLOWy\advance\!!countb \plusone
- \dimen0=\FLOWgridwidth\dimen0=\!!counta\dimen0
- \advance\dimen0 -\FLOWgridwidth
- \dimen4=\FLOWgridwidth\advance\dimen4 -\FLOWshapewidth
- \advance\dimen0 .5\dimen4
- \dimen2=\FLOWgridheight\dimen2=\!!countb\dimen2
- \dimen4=\FLOWgridheight\advance\dimen4 -\FLOWshapeheight
- \advance\dimen2 -.5\dimen4
- \edef\FLOWdx{\the\dimen0}%
- \edef\FLOWdy{\the\dimen2}%
- \setbox0=\hbox
- {\framed
+ \dophasetwoFLOWcellX
+ \doglobal\addtocommalist\FLOWcell\FLOWcells
+ \setbox0\hbox
+ {\ifx\FLOWalign\empty\else
+ \setupframed
+ [\c!align=\v!normal,\c!bottom=\vfill,\c!top=\vfill]%
+ \@EA\processallactionsinset\@EA
+ [\FLOWalign]
+ [t=>{\setupframed[\c!bottom=\vfill,\c!top=]},
+ b=>{\setupframed[\c!bottom=,\c!top=\vfill]},
+ l=>{\setupframed[\c!align=\v!right]},
+ r=>{\setupframed[\c!align=\v!left]},
+ m=>{\setupframed[\c!align=\v!middle]},
+ c=>{\setupframed[\c!align=\v!middle]}]%
+ \fi
+ \doifelse\FLOWshape{none} % {\v!none}
+ {\setupframed[\c!offset=\v!overlay]}
+ %{\setupframed[\c!offset=.5\bodyfontsize]}%
+ {\setupframed[\c!offset=\@@FLOSoffset]}%
+ \framed
[\c!frame=\v!off,
- \c!background={\@@FLOWbackground,\FLOWoverlay},
- \c!backgroundcolor=\@@FLOSbackgroundcolor,
\c!width=\FLOWshapewidth,\c!height=\FLOWshapeheight]
- {}}%
- \setbox0=\hbox{\hskip\FLOWdx\lower\FLOWdy\box0}%
- \smashbox0
- \box0
- \fi
- \fi}
+ {\FLOWtext}}%
+ \showFLOWhelp0
+ \ifx\FLOWdestination\empty\else
+ \setbox0\hbox
+ {\setupinteraction[\c!color=,\c!contrastcolor=]%
+ \gotobox{\box0}[\FLOWdestination]}%
+ \fi
+ \positionFLOWzero
+ \dimen0=\FLOWshapewidth \dimen2=.5\dimen0
+ \dimen4=\FLOWshapeheight\dimen6=.5\dimen4
+ \boxoffset=.5\bodyfontsize
+ \doFLOWtlabel \righttopbox0\tFLOWlabel
+ \doFLOWblabel\rightbottombox0\bFLOWlabel
+ \doFLOWllabel \lefttopbox0\lFLOWlabel
+ \doFLOWrlabel \righttopbox0\rFLOWlabel
+ \doFLOWtlabel \topbox0\tcFLOWlabel % for me only
+ \doFLOWblabel \bottombox0\bcFLOWlabel % for me only
+ \doFLOWllabel \leftbox0\lcFLOWlabel % for me only
+ \doFLOWrlabel \rightbox0\rcFLOWlabel % for me only
+ \ifnum#1=\@@FLOWx\relax \doFLOWllabel \leftbox1\lFLOWexit \fi
+ \ifnum#1=\!!countc \doFLOWrlabel \rightbox1\rFLOWexit \fi
+ \ifnum#2=\@@FLOWy\relax \doFLOWtlabel \topbox1\tFLOWexit \fi
+ \ifnum#2=\!!countd \doFLOWblabel \bottombox1\bFLOWexit \fi
+ \fi}
+
+\def\doprocessFLOWcellE#1,#2\end % redundant
+ {\ifx\FLOWoverlay\empty \else
+ \dophaseoneFLOWcellX{#1}{#2}%
+ \ifdone
+ \dophasetwoFLOWcellX
+ \edef\FLOWdx{\the\dimen0}%
+ \edef\FLOWdy{\the\dimen2}%
+ \setbox0\hbox
+ {\framed
+ [%\c!frame=\v!off,
+ \c!background={\@@FLOWbackground,\FLOWoverlay},
+ \c!backgroundcolor=\@@FLOSbackgroundcolor,
+ \c!width=\FLOWshapewidth,\c!height=\FLOWshapeheight]
+ {}}%
+ \positionFLOWzero
+ \fi
+ \fi}
% Pass F
-\def\checkFLOWautofocus%
+\def\checkFLOWautofocus
{\def\@@FLOWminx{100}\let\@@FLOWminy\@@FLOWminx
\def\@@FLOWmaxx {0}\let\@@FLOWmaxy\@@FLOWmaxx
\def\@@FLOWabsx {0}\let\@@FLOWabsy\@@FLOWabsx
diff --git a/tex/context/base/math-ini.tex b/tex/context/base/math-ini.tex
index 26eabe542..8f3960f16 100644
--- a/tex/context/base/math-ini.tex
+++ b/tex/context/base/math-ini.tex
@@ -281,7 +281,7 @@
\endgraf}%
\fi}
-\def\definemathcommand%
+\def\definemathcommand
{\dotripleempty\dodefinemathcommand}
\def\dodefinemathcommand[#1][#2][#3]#4% command class args meaning
@@ -317,10 +317,10 @@
\def\stopmathcollection
{\popmacro\mathcollection}
-\def\startrawmathcollection%
+\def\startrawmathcollection
{\startmathcollection}
-\def\stoprawmathcollection%
+\def\stoprawmathcollection
{\stopmathcollection}
\newtoks\mathtoks
@@ -465,10 +465,11 @@
\setupbodyfont[lbr] \enablemathcollection[lbr] \input math-lbr \page
\setupbodyfont[eul] \enablemathcollection[eul] \input math-eul \stoptext
-% to be checked
+% to be checked, overloads supp-lan !
\def\defineactivecharacter #1 #2%
- {\scratchcounter=\the\uccode`~
+% {\scratchcounter=\the\uccode`~
+ {\scratchcounter\uccode`~\relax
\expandafter\doifnumberelse\expandafter{\string#1}
{\catcode #1=\@@active \uccode`~= #1\relax}
{\catcode`#1=\@@active \uccode`~=`#1\relax}%
@@ -481,19 +482,25 @@
\expandafter\def\next{\dohandleactivecharacter{#1}{#2}}% new
\uccode`~=\scratchcounter}
-\def\dohandleactivecharacter%
+\def\dohandleactivecharacter
{\ifmmode
\expandafter\dohandleactivemathcharacter
\else
\expandafter\secondoftwoarguments
\fi}
-\let\dohandleactivemathcharacter\secondoftwoarguments
-
-\def\dohandleactivemathcharacter#1#2%
- {\ifundefined{@ma@\string#1}
+\def\dohandleactivemathcharacter#1#2#3%
+ {\ifundefined{@ma@\string#2}%
\expandafter\firstofoneargument
\else
- \getvalue{@ma@\string#1}%
+ \getvalue{@ma@\string#2}%
\expandafter\gobbleoneargument
- \fi{#2}}
+ \fi{#3}}
+
+% \def\dohandleactivemathcharacter#1#2%
+% {\ifcsname @ma@\string#1\endcsname
+% \csname @ma@\string#1\expandafter\endcsname
+% \expandafter\gobbleoneargument
+% \else
+% \expandafter\firstofoneargument
+% \fi{#2}}
diff --git a/tex/context/base/mult-ini.tex b/tex/context/base/mult-ini.tex
index 40dc29378..5e0b68e36 100644
--- a/tex/context/base/mult-ini.tex
+++ b/tex/context/base/mult-ini.tex
@@ -1025,12 +1025,12 @@
%D dutch counterpart is:
%D
%D \starttyping
-%D \c!breedte
+%D breedte
%D \stoptyping
%D
%D When we interpret a setup command each variable is
%D translated to it's \type{c!} counterpart. This means that
-%D \type{breedte} and \type{width} expand to \type{\c!breedte}
+%D \type{breedte} and \type{width} expand to \type{breedte}
%D and \type{\c!width} which both expand to \type{width}. That
%D way user variables become system constants.
%D
diff --git a/tex/context/base/mult-sys.tex b/tex/context/base/mult-sys.tex
index 4775dcf33..92a405672 100644
--- a/tex/context/base/mult-sys.tex
+++ b/tex/context/base/mult-sys.tex
@@ -33,6 +33,7 @@
%D multi||lingual interface and multi||linguag typesetting.
\definesystemconstant {afrikaans} \definesystemconstant {af}
+\definesystemconstant {catalan} \definesystemconstant {ca}
\definesystemconstant {chinese} \definesystemconstant {cn}
\definesystemconstant {croation} \definesystemconstant {hr}
\definesystemconstant {czech} \definesystemconstant {cz}
diff --git a/tex/context/base/page-app.tex b/tex/context/base/page-app.tex
index 9cc1682f3..6a9a10d33 100644
--- a/tex/context/base/page-app.tex
+++ b/tex/context/base/page-app.tex
@@ -35,42 +35,6 @@
\c!rightmargin=\!!zeropoint,\c!rightedge=\!!zeropoint,
\c!header=\!!zeropoint,\c!footer=\!!zeropoint]
-% \def\dostartfittingpage[#1][#2]%
-% {\pagina % this is kind of tricky! there can be preceding page refs
-% \bgroup % resulting in a zero height page; test fig-make !
-% \dontcomplain
-% % runs under current page regime, i.e. page variables passed to mp
-% \setbox\scratchbox\hbox
-% \bgroup
-% \getparameters[#1][#2]%
-% \schaal[\c!schaal=\getvalue{#1\c!schaal}]\bgroup\localframed[#1]\bgroup}
-
-% \def\dostopfittingpage
-% {\egroup\egroup\egroup
-% \edef\fittingwd{\the\wd\scratchbox}%
-% \edef\fittinght{\the\ht\scratchbox}%
-% \startlocallayout
-% \ifdim\fittinght<\lineheight
-% % write status : too small
-% \setbox\scratchbox\vbox to \lineheight{\vss\box\scratchbox\vss}%
-% \edef\fittinght{\the\lineheight}%
-% \fi
-% \let\checkcurrentlayout\relax % else interference with odd/even layout
-% \setuppapersize
-% [\??fp\s!dummy][\??fp\s!dummy]%
-% \definelayout
-% [\v!pagina]%
-% [\c!plaats=\v!midden,
-% \c!breedte=\fittingwd,
-% \c!hoogte=\fittinght]%
-% \setuplayout
-% [\v!pagina]%
-% \startmakeup[\v!standaard][\c!tekststatus=\v!leeg,\c!dubbelzijdig=\v!nee,\c!pagina=]%
-% \centerbox{\box\scratchbox}%
-% \stopmakeup
-% \stoplocallayout
-% \egroup}
-
\def\dostartfittingpage[#1][#2]%
{\page % this is kind of tricky! there can be preceding page refs
\bgroup % resulting in a zero height page; test fig-make !
diff --git a/tex/context/base/page-bck.tex b/tex/context/base/page-bck.tex
index 4a7149658..165bbafaf 100644
--- a/tex/context/base/page-bck.tex
+++ b/tex/context/base/page-bck.tex
@@ -96,22 +96,6 @@
%D (On the 824 pages maps bibliography runtime went down from
%D 309 to 299 seconds.)
-% \def\checkbackground#1%
-% {\edef\!!stringe{\??ma#1}%
-% \doifelsevaluenothing{\!!stringe\c!achtergrond }
-% {\doifelsevaluenothing{\!!stringe\c!voorgrondkleur}
-% {\doifelsevalue{\!!stringe\c!kader }\v!aan\!!doneatrue
-% {\doifelsevalue{\!!stringe\c!linkerkader }\v!aan\!!doneatrue
-% {\doifelsevalue{\!!stringe\c!rechterkader}\v!aan\!!doneatrue
-% {\doifelsevalue{\!!stringe\c!bovenkader }\v!aan\!!doneatrue
-% {\doifelsevalue{\!!stringe\c!onderkader }\v!aan\!!doneatrue
-% \!!doneafalse}}}}}
-% \!!doneatrue}
-% \!!doneatrue
-% \if!!donea
-% \expandafter\setusage\else\expandafter\resetusage
-% \fi{\??ma#1}}
-
\def\checkbackground#1%
{\edef\!!stringe{\??ma#1}%
\doifelsevaluenothing{\!!stringe\c!background }
diff --git a/tex/context/base/page-flt.tex b/tex/context/base/page-flt.tex
index 6e59c495e..fcca715d6 100644
--- a/tex/context/base/page-flt.tex
+++ b/tex/context/base/page-flt.tex
@@ -1077,11 +1077,11 @@
%
% \def\dosetfloatcaption#1#2#3% name will change
% {\def\dofloattekst%
-% {{\doattributes{\??kj#1}\c!letter\c!kleur{#3}}}%
-% \doifelsevalue{\??kj#1\c!nummer}{\v!ja}
+% {{\doattributes{\??kj#1}\c!sttle\c!color{#3}}}%
+% \doifelsevalue{\??kj#1\c!number}\v!yes
% {\def\dofloatnummer%
% {{\xdef\floatcaptionnumber{#1}%
-% \hbox{\doattributes{\??kj#1}\c!kopletter\c!kopkleur
+% \hbox{\doattributes{\??kj#1}\c!headstyle\c!headcolor
% {\strut#2\floatcaptionsuffix}}}%
% \ConvertToConstant\doifnot{#3}{}
% {\tfskip\emergencystretch=.5em}}}
@@ -1186,9 +1186,9 @@
\newbox\tempfloatbox
\newbox\tempcaptionbox
-%\stelblokkopjesin[\c!breedte=5cm]
-%\stelblokkopjesin[\c!uitlijnen=\v!links]
-%\stelblokkopjesin[\c!uitlijnen=\v!rechts]
+%\stelblokkopjesin[\c!width=5cm]
+%\stelblokkopjesin[\c!align=\v!left]
+%\stelblokkopjesin[\c!align=\v!right]
\def\docheckcaptioncontent#1#2#3#4%
{\ifnofloatcaption \else
@@ -1853,35 +1853,6 @@
\appendtoks\the\everytopofpage \to\everystarttext
\appendtoks\global\everytopofpage{}\to\everystoptext
-% \def\douitstellen
-% {\the\everytopofpage
-% \ifvoid\collectedpagefloats\else
-% % message
-% \unvbox\collectedpagefloats
-% \fi
-% \ifinuitstellen\else\ifcase\nofpostponedblocks\else % The \nof-test is
-% \bgroup % we need the color/font switch, else problems inside split verbatim
-% \setnormalcatcodes % uitstellen in verbatim
-% \edef\savedtopofpagecolor{\topofpagecolor}%
-% \doifsomething\savedtopofpagecolor\restorecolormode % \stopcolormode
-% \restoreglobalbodyfont
-% \global\pagetotal\zeropoint % recently added and
-% \global\inuitstellentrue % definitely needed else
-% \dorecurse\nofpostponedblocks % we can loose or disorder
-% {\haalbuffer[buf-\recurselevel]} % floats; anyhow, this
-% \doflushfloats % new but potential dangerous % mechanism is still
-% \doglobal\newcounter\nofpostponedblocks % suboptimal and needs a
-% \global\inuitstellenfalse % proper analysis
-% \doifsomething\savedtopofpagecolor\startcolormode\savedtopofpagecolor
-% \egroup
-% \fi\fi}
-%
-% \setvalue{\e!start\v!uitstellen}%
-% {\doglobal\increment\nofpostponedblocks
-% \showmessage\m!layouts3\nofpostponedblocks
-% \dostartbuffer[buf-\nofpostponedblocks]
-% [\e!start\v!uitstellen][\e!stop\v!uitstellen]}
-
% \startpostponing [pagenumber] [+pageoffset]
%
% \startpostponing[2]
@@ -1903,7 +1874,7 @@
% \ifinuitstellen: handhaven, want gebruikt in stijlen ! ! ! ! !
-\def\douitstellen
+\def\dopostponeblock
{\bgroup % new may 2004
\setsystemmode\v!postponing % new may 2004
\the\everytopofpage
diff --git a/tex/context/base/page-ini.tex b/tex/context/base/page-ini.tex
index 1574832f3..530102cca 100644
--- a/tex/context/base/page-ini.tex
+++ b/tex/context/base/page-ini.tex
@@ -991,7 +991,7 @@
\dosupereject
\fi
\doflushspread
- \douitstellen}
+ \dopostponeblock}
\ifx\doflushspread\undefined \let\doflushspread\relax \fi
diff --git a/tex/context/base/page-lay.tex b/tex/context/base/page-lay.tex
index d24708e23..d8dfeaca1 100644
--- a/tex/context/base/page-lay.tex
+++ b/tex/context/base/page-lay.tex
@@ -409,9 +409,9 @@
\global\negateprintboxfalse
\processallactionsinset
[#1]
- [ \v!landscape=>\global\chardef#2\plusone,
- \v!mirrored=>\global\chardef#5\plusone,
- \v!rotated=>\gdef#3{90}\gdef#4{270},
+ [ \v!landscape=>\global\chardef#2\plusone,
+ \v!mirrored=>\global\chardef#5\plusone,
+ \v!rotated=>\gdef#3{90}\gdef#4{270},
\v!negative=>\global\negateprintboxtrue,
90=>\gdef#3{90}\gdef#4{270},
180=>\gdef#3{180}\gdef#4{0},
@@ -422,7 +422,7 @@
\def\calculatepaperoffsets#1%
{\scratchdimen\getvalue{\??pp#1\c!offset}%
\global\advance\paperwidth -2\scratchdimen
- \global\advance\paperheight -2\scratchdimen}
+ \global\advance\paperheight-2\scratchdimen}
\fi
@@ -638,13 +638,13 @@
{\doublesidedprintfalse
\ExpandFirstAfter\processallactionsinset
[\@@lylocation]
- [ \v!middle=>{\setuppapersize[\c!left=\hss,\c!right=\hss,\c!top=\vss,\c!bottom=\vss]},
+ [ \v!middle=>{\setuppapersize[\c!left=\hss,\c!right=\hss,\c!top=\vss,\c!bottom=\vss]},
\v!left=>{\setuppapersize[\c!left=,\c!right=\hss]},
\v!right=>{\setuppapersize[\c!left=\hss,\c!right=]},
- \v!bottom=>{\setuppapersize[\c!top=\vss,\c!bottom=]},
- \v!top=>{\setuppapersize[\c!top=,\c!bottom=\vss]},%
+ \v!bottom=>{\setuppapersize[\c!top=\vss,\c!bottom=]},
+ \v!top=>{\setuppapersize[\c!top=,\c!bottom=\vss]},%
\v!doublesided=>\doublesidedprinttrue,
- \v!singlesided=>\doublesidedprintfalse]}
+ \v!singlesided=>\doublesidedprintfalse]}
\def\definelayout
{\dodoubleargument\dodefinelayout}
@@ -691,13 +691,13 @@
\let\@@zaheight=\!!zeropoint
\def\dopushpagedimensions
- {\xdef\oldteksthoogte{\the\textheight}%
- \xdef\oldvoethoogte {\the\footerheight}%
+ {\xdef\oldtextheight {\the\textheight }%
+ \xdef\oldfooterheight{\the\footerheight}%
\global\let\@@zaheight\@@zaheight}
\def\dopoppagedimensions
- {\global\textheight\oldteksthoogte
- \global\footerheight\oldvoethoogte
+ {\global\textheight \oldtextheight
+ \global\footerheight\oldfooterheight
\recalculatelayout
\global\let\pushpagedimensions\dopushpagedimensions
\global\let\poppagedimensions\relax}
diff --git a/tex/context/base/page-lyr.tex b/tex/context/base/page-lyr.tex
index c716325ef..0e23d0554 100644
--- a/tex/context/base/page-lyr.tex
+++ b/tex/context/base/page-lyr.tex
@@ -510,19 +510,12 @@
\let\placelayer\flushlayer
-% \def\tightlayer[#1]%
-% {\hbox
-% {\def\currentlayer{#1}% todo: left/right
-% \hsize\layerparameter\c!breedte
-% \vsize\layerparameter\c!hoogte
-% \composedlayer{#1}}}
-
\def\tightlayer[#1]%
{\hbox
{\def\currentlayer{#1}% todo: left/right
- \setbox\nextbox\emptybox % hoogte/breedte are \wd\nextbox/\ht\nextbox
- \hsize\layerparameter\c!width % \overlaywidth = \hsize
- \vsize\layerparameter\c!height % \overlaywheight = \vsize
+ \setbox\nextbox\emptybox % hoogte/breedte are \wd\nextbox/\ht\nextbox
+ \hsize\layerparameter\c!width % \overlaywidth = \hsize
+ \vsize\layerparameter\c!height % \overlaywheight = \vsize
\composedlayer{#1}}}
%D \macros
diff --git a/tex/context/base/page-mar.tex b/tex/context/base/page-mar.tex
index 4cf684bc3..2cb6d8785 100644
--- a/tex/context/base/page-mar.tex
+++ b/tex/context/base/page-mar.tex
@@ -329,10 +329,6 @@
\chardef\margincontentmethod \plusthree % beware: 1 = old method
\chardef\marginpagecheckmethod\plusone
-\beginOMEGA \vadjust
- \chardef\marginpagecheckmethod\plustwo
-\endOMEGA
-
\def\margincontentextralines{1} % old method, play safe
\def\nofmargincontentlines {0}
@@ -650,19 +646,27 @@
\savemargincontentlines
\ifdone
\advance\margincontentheight \margincontentextralines\lineheight
- \bgroup % preserve \margincontentheight
- \advance\margincontentheight \pagetotal
- \ifdim\margincontentheight>\pagegoal
- \egroup
- \ifcase\marginpagecheckmethod\or
- \vadjust pre {\page}%
- \or
- \setmargincontentpenalties
+ \ifdim\pagegoal>\pagetotal
+ \bgroup % preserve \margincontentheight
+ \advance\margincontentheight \pagetotal
+ \ifdim\margincontentheight>\pagegoal
+ \egroup
+ \ifcase\marginpagecheckmethod
+ % disabled
+ \or
+ \setmargincontentpenalties
+ \or
+ % potentially dangerous, maybe better a \goodbreak; the problem is that
+ % there can be a penalty there, which we then overload and we also introduce
+ % nasty side effects, so, we drop this option
+ % \vadjust pre {\page}%
+ \fi
+ \else
+ \egroup
\fi
- \else
- \egroup
\fi
\else % We need the above because interlinepenalties overrule vadjusted \nobreaks.
+ % a bit dangerous
\vadjust{\nobreak}%
\fi
\egroup}
@@ -764,7 +768,7 @@
% more efficient (5K less fotmat file)
%
-% \letvalue{\??im\v!binnen\c!plaats}\v!binnen \letvalue{\??im\v!binnen\c!uitlijnen}\v!binnen
-% \letvalue{\??im\v!buiten\c!plaats}\v!buiten \letvalue{\??im\v!buiten\c!uitlijnen}\v!binnen
+% \letvalue{\??im\v!inner\c!location}\v!inner \letvalue{\??im\v!inner\c!align}\v!inner
+% \letvalue{\??im\v!outer\c!location}\v!outer \letvalue{\??im\v!outer\c!align}\v!inner
\protect \endinput
diff --git a/tex/context/base/page-not.tex b/tex/context/base/page-not.tex
index 42316864b..151f957f4 100644
--- a/tex/context/base/page-not.tex
+++ b/tex/context/base/page-not.tex
@@ -63,8 +63,10 @@
\def\checkendcolumnfootnotes
{\restorenotedata
- \ifcase\clevernotes\else
- \restorenotecontent
+ \ifinsidecolumns
+ \ifcase\clevernotes\else
+ \restorenotecontent
+ \fi
\fi}
\protect \endinput
diff --git a/tex/context/base/page-one.tex b/tex/context/base/page-one.tex
index 1861a5be7..bdae19104 100644
--- a/tex/context/base/page-one.tex
+++ b/tex/context/base/page-one.tex
@@ -222,7 +222,7 @@
\pushproperties % moved from just after #1#2
\dobotinsertions % added
\fi\fi\fi
- \fakenotes}%
+ \fakepagenotes}% was \fakenotes, but wrong! (check with \setupalign[height])
\ifbottomnotes
\ifgridsnapping
\getnoflines\textheight
diff --git a/tex/context/base/page-set.tex b/tex/context/base/page-set.tex
index a0b07dc8a..1aeb05a96 100644
--- a/tex/context/base/page-set.tex
+++ b/tex/context/base/page-set.tex
@@ -620,10 +620,6 @@
\textwidth\localcolumnwidth
\hsize\localcolumnwidth}
-%\def\OTRSETsynchronizehsize
-% {\doifnotvalue{\??mc\OTRSETidentifier\the\mofcolumns\c!breedte}\v!passend
-% \OTRSETsethsize}
-
\def\OTRSETsynchronizehsize
{\ifcase0\getvalue{\??mc\??mc\c!width}\else % some width set
\bgroup
diff --git a/tex/context/base/ppchtex.tex b/tex/context/base/ppchtex.tex
index b25702aff..4e5ed3d25 100644
--- a/tex/context/base/ppchtex.tex
+++ b/tex/context/base/ppchtex.tex
@@ -391,7 +391,7 @@
\def\dowithchemical%
{}
-\doifdefinedelse{@@iastatus}
+\doifdefinedelse{@@iastate}
{\def\localgotochemical#1#2{\naarbox{#2}[#1]}%
\def\localthisischemical#1{\pagereference[#1]}}
{\def\localgotochemical#1{}%
@@ -420,7 +420,7 @@
[\getvalue{#1\c!size}]
[ \v!small=>\def\@@localchemicalformat{\scriptscriptstyle},
\v!medium=>\def\@@localchemicalformat{\ifsmallchemicaltext\scriptscriptstyle\else\scriptstyle\fi},
- \v!big=>\def\@@localchemicalformat{\ifsmallchemicaltext\scriptstyle\else\textstyle\fi},
+ \v!big=>\def\@@localchemicalformat{\ifsmallchemicaltext\scriptstyle\else\textstyle\fi},
\s!unknown=>\def\@@localchemicalformat{\getvalue{#1\c!size}}]%
\processaction
[\getvalue{#1\c!textsize}]
@@ -454,15 +454,15 @@
{\dosingleargument\dosetupchemical}
\def\@@dochemicalstyle% % default mapping
- {\@@chemicalletter}
+ {\@@chemicalstyle}
\def\@@dochemicalcolor% % no mapping yet
{}
-\def\@@chemicalletter % $inner-style$ % (overloaded)
- {\@@chemicalchemicalletter} % $$outer-style$$
+\def\@@chemicalstyle % $inner-style$ % (overloaded)
+ {\@@chemicalchemicalstyle} % $$outer-style$$
-\def\@@writechemicalstatus#1#2%
+\def\@@writechemicalstate#1#2%
{}
\def\@@beginchemicallocalpicture
@@ -585,7 +585,7 @@
\def\@@setsecondchemicalplotsymbol%
{\ifcase\chemicaldrawingmode
\!!widtha=50.8mm
- \divide\!!widtha by \@@chemicalresolutie\relax
+ \divide\!!widtha by \@@chemicalresolution\relax
\plotsymbolspacing=\!!widtha
\setplotsymbol({\vrule\!!height\!!widtha\!!width\!!widtha})%
\fi}
@@ -673,15 +673,15 @@
\resetMPdrawing
\fi
%
- \doif{\@@chemicalvariant}{2}
+ \doif{\@@chemicalalternative}{2}
{\@@setsecondchemicalplotsymbol}%
%
- \doif{\@@chemicalassenstelsel}{\v!on}
+ \doif{\@@chemicalaxis}\v!on
{\let\chemicalframe\hbox}%
%
\!!counta=250000
\divide\!!counta by \@@localchemicalscale
- \!!widtha=\@@chemicalkorps
+ \!!widtha=\@@chemicalbodyfont
\divide\!!widtha by \!!counta
\@@setchemicalcoordinatesystem{\the\!!widtha}%
%
@@ -716,30 +716,30 @@
\fi
\fi}%
\fixedchemicalfalse
- \doif{\@@chemicalbreedte}{\v!fit}
- {\edef\@@chemicalbreedte%
+ \doif\@@chemicalwidth\v!fit
+ {\edef\@@chemicalwidth
{\ifnum\chemicaldrawingmode=1 2000 \else 1 \fi}%
\fixedchemicaltrue}%
- \doif{\@@chemicalhoogte}{\v!fit}
- {\edef\@@chemicalhoogte%
+ \doif\@@chemicalheight\v!fit
+ {\edef\@@chemicalheight
{\ifnum\chemicaldrawingmode=1 2000 \else 1 \fi}%
\fixedchemicaltrue}%
- \doifelse{\@@chemicalplaats}{\v!intext}
+ \doifelse\@@chemicallocation\v!intext
{\!!counta=0 \!!countb=0
\!!counta=0 \!!countd=0 }
{\calculateaxis
- {\!!counta}{\!!countb}
- {\@@chemicallinks}{\@@chemicalrechts}{\@@chemicalbreedte}%
+ \!!counta\!!countb
+ \@@chemicalleft\@@chemicalright\@@chemicalwidth
\calculateaxis
- {\!!countc}{\!!countd}
- {\@@chemicalonder}{\@@chemicalboven}{\@@chemicalhoogte}}%
+ \!!countc\!!countd
+ \@@chemicalbottom\@@chemicaltop\@@chemicalheight}%
%
\edef\@@chemheight {\the\!!countc}%
\edef\@@chemdepth {\the\!!countd}%
- \edef\@@chemicalboven{\the\!!countc}%
- \edef\@@chemicalonder{\the\!!countd}%
+ \edef\@@chemicaltop{\the\!!countc}%
+ \edef\@@chemicalbottom{\the\!!countd}%
%
- \doifinsetelse{\v!on}{\@@chemicalkader,\@@chemicalassenstelsel}
+ \doifinsetelse\v!on{\@@chemicalframe,\@@chemicalaxis}
{\def\@@chemicalborder{\chemicalframe}}
{\def\@@chemicalborder{\normalchemicalframe}}%
%
@@ -748,16 +748,16 @@
\@@beginchemicalpicture
{-\the\!!counta}{\the\!!countb}
{-\the\!!countc}{\the\!!countd}%
- \doif{\@@chemicalstatus}{\v!start}
- {\doif{\@@chemicalassenstelsel}{\v!on}
+ \doif{\@@chemicalstate}\v!start
+ {\doif\@@chemicalaxis\v!on
{\@@setchemicalaxis
{-\the\!!counta}{\the\!!countb}
{-\the\!!countc}{\the\!!countd}}}%
- \doifelse{\@@chemicaloptie}{\v!test}
- {\def\@@writechemicalstatus##1##2%
+ \doifelse\@@chemicaloption\v!test
+ {\def\@@writechemicalstate##1##2%
{\convertargument##2\to\ascii
\writestatus{##1}{\ascii}}}
- {\def\@@writechemicalstatus##1##2{}}%
+ {\def\@@writechemicalstate##1##2{}}%
\ignorespaces}
\def\dostartchemical%
@@ -1152,7 +1152,7 @@
\ifchemicalpicture
\setchemicalpicture{#1}{#2}%
\else
- \doifelse\@@chemicaloptie\v!test
+ \doifelse\@@chemicaloption\v!test
{\def\@@chemicalframe{\chemicalframe}}
{\def\@@chemicalframe{}}%
\dosetsubscripts
@@ -1160,7 +1160,7 @@
\setbox4=\hbox{$\@@dochemicalstyle{\@@localchemicalformat C_2^2}$}%
\setbox6=\hbox{$\@@dochemicalstyle{\@@localchemicalformat O}$}% or C
\doresetsubscripts
- \doifnot\@@chemicalplaats\v!intext
+ \doifnot\@@chemicallocation\v!intext
{\ht2=\ht4
\dp2=\dp4}%
\setbox2=\hbox{\@@chemicalframe{\@@dochemicalcolor\box2}}%
@@ -1252,10 +1252,10 @@
\def\processchemicaltextconstant#1#2#3#4%
{\chemicaltextconstanttrue
- \let\@@oldchemicalframe=\@@chemicalframe
- \let\@@chemicalframe=\relax
+ \let\@@oldchemicalframe\@@chemicalframe
+ \let\@@chemicalframe\relax
\processchemicaltextelement{#1}{#2}{#3}{#4}{}%
- \let\@@chemicalframe=\@@oldchemicalframe
+ \let\@@chemicalframe\@@oldchemicalframe
\chemicaltextconstantfalse}
% \plotchemicalline{#1}{#2}{#3}{#4}
@@ -1786,16 +1786,16 @@
\def\dochemical[#1]%
{\def\simpledochemical%
- {\@@writechemicalstatus{ppchtex}{[#1][]}%
+ {\@@writechemicalstate{ppchtex}{[#1][]}%
\dodochemical[#1][]}%
%
\def\complexdochemical[##1]%
- {\@@writechemicalstatus{ppchtex}{[#1][##1]}%
+ {\@@writechemicalstate{ppchtex}{[#1][##1]}%
\txtchemical=0%
\dodochemical[#1][##1]}%
%
\def\complexdochemical[##1]% % experiment
- {\@@writechemicalstatus{ppchtex}{[#1][##1]}% % experiment
+ {\@@writechemicalstate{ppchtex}{[#1][##1]}% % experiment
\txtchemical=0% % experiment
\dododochemical\dodochemical[#1][##1]}% % experiment
%
@@ -1817,7 +1817,7 @@
% #2: atomen enz.
\def\localdodochemical[#1][#2]%
- {\@@writechemicalstatus{ppchtex}{[#1][#2]}%
+ {\@@writechemicalstate{ppchtex}{[#1][#2]}%
%\bgroup % koppelen en afmetingen gaat fout, vandaar:
\advance\levchemical 1
\letvalue{\??chemical\s!unknown\the\levchemical}\unknownchemical
@@ -1838,14 +1838,14 @@
\ignorespaces}%
\def\dochemical[##1]%
{\def\simpledochemical%
- {\@@writechemicalstatus{ppchtex}{[##1][#2]}%
+ {\@@writechemicalstate{ppchtex}{[##1][#2]}%
\dodochemical[##1][#2]%
\ignorespaces}%
\def\complexdochemical[####1]%
{\dododochemical\localdodochemical[##1][####1,#2]}%
\complexorsimple\dochemical}%
- \doif{\@@chemicalstatus}{\v!start}
- {\doifelse{\chemicalname}{\s!unknown}
+ \doif\@@chemicalstate\v!start
+ {\doifelse\chemicalname\s!unknown
{\getvalue{\s!executechemical\defaultchemical}[#2]}
{\getvalue{\s!executechemical\chemicalname}[#2]}%
\def\unknownchemical##1%
@@ -2184,7 +2184,7 @@
\buildrel
\@@dochemicalstyle{\scriptstyle\quad#1\quad}%
\over{\overrightarrow
- {\hphantom{\@chemicalletter{\scriptstyle\quad#1\quad}}}}%
+ {\hphantom{\@chemicalstyle{\scriptstyle\quad#1\quad}}}}%
\chemicalspace$}}
\def\chemicaldoublepicturearrow#1%
@@ -2204,7 +2204,7 @@
\def\somechemicalbond%
{\hrule width \wd0 height .4pt}
-\def\dochemicalbonds#1#2#3% todo: \@@chemicaltextletter
+\def\dochemicalbonds#1#2#3% todo: \@@chemicaltextstyle
{{\setbox0=\hbox
{${\@@localchemicalstyle M}$}%
\vbox to \ht0
@@ -3161,7 +3161,7 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{},
{\dosetsubscripts%
$\@@dochemicalstyle{\@@localchemicalformat\strut##1}$%
\doresetsubscripts}%
- \doifelse\@@chemicalplaats\v!intext
+ \doifelse\@@chemicallocation\v!intext
{#1{\dochemicaltext\toptext}}%
{\setbox\chemicalsymbols=\hbox
{\box\chemicalsymbols
@@ -3186,7 +3186,7 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{},
{$\leftarrow\hskip-1em$\rightarrowfill\cr}}
\def\executechemicalsign#1[#2]%
- {\doifelse\@@chemicalplaats\v!intext
+ {\doifelse\@@chemicallocation\v!intext
{\dosetsubscripts
$\@@dochemicalstyle{\@@localchemicalformat#1}$%
\doresetsubscripts}
@@ -3206,19 +3206,19 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{},
{\executechemicalsign{=}}
\def\executechemicalSPACE[#1]%
- {\doifnot\@@chemicalplaats\v!intext
+ {\doifnot\@@chemicallocation\v!intext
{\setbox\chemicalsymbols\hbox
{\box\chemicalsymbols
\quad}}}
\def\executechemicalCHEM[#1]%
- {\doifnot\@@chemicalplaats\v!intext
+ {\doifnot\@@chemicallocation\v!intext
{\setbox\chemicalsymbols\hbox
{\box\chemicalsymbols
$\@@dochemicalstyle{\@@localchemicalformat#1}$}}}
\def\executechemicalTEXT[#1]%
- {\doifnot\@@chemicalplaats\v!intext
+ {\doifnot\@@chemicallocation\v!intext
{\setbox\chemicalsymbols\hbox
{\box\chemicalsymbols#1}}}
@@ -3250,9 +3250,9 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{},
\def\executechemicalcomplex#1%
{\bgroup
- \putchemicalrule {0} {-\@@chemicalonder} {0} {\@@chemicalboven}%
- \putchemicalrule {0} {\@@chemicalboven} {#1150} {\@@chemicalboven}%
- \putchemicalrule {0} {-\@@chemicalonder} {#1150} {-\@@chemicalonder}%
+ \putchemicalrule {0} {-\@@chemicalbottom} {0} {\@@chemicaltop}%
+ \putchemicalrule {0} {\@@chemicaltop} {#1150} {\@@chemicaltop}%
+ \putchemicalrule {0} {-\@@chemicalbottom} {#1150} {-\@@chemicalbottom}%
\egroup}
\def\executechemicalOPENCOMPLEX[#1]%
@@ -3269,12 +3269,12 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{},
{\executechemicalTEXT
[$\left#1\relax
\dimen0=\@@chemicalunit
- \scratchcounter=\@@chemicalboven
- \advance\scratchcounter by \@@chemicalonder
+ \scratchcounter=\@@chemicaltop
+ \advance\scratchcounter by \@@chemicalbottom
\dimen0=\scratchcounter\dimen0
\vcenter to \dimen0{}
\dimen2=\@@chemicalunit
- \dimen2=\@@chemicalrechts\dimen0
+ \dimen2=\@@chemicalright\dimen0
\vcenter{\leftskip1em\hsize\dimen2\relax\strut#2\strut}%
\right.$]}%
@@ -3357,25 +3357,25 @@ RT##3##4##5=>\processchemicaltextelement{RN}{##3##4##5}{#1}{0}{},
\ifCONTEXT
\def\setchemicalattributes
- {\scratchdimen\@@chemicalchemicallijndikte
+ {\scratchdimen\@@chemicalchemicalrulethickness
\def\chemicalattributes
{withpen pencircle scaled \the\scratchdimen\space
withcolor }%
- \doifelsenothing\@@chemicalchemicallijnkleur
+ \doifelsenothing\@@chemicalchemicalrulecolor
{\edef\chemicalattributes{\chemicalattributes black}}
{\edef\chemicalattributes
- {\chemicalattributes \MPcolor{\@@chemicalchemicallijnkleur}}}%
+ {\chemicalattributes \MPcolor{\@@chemicalchemicalrulecolor}}}%
\startMPdrawing
drawoptions (\chemicalattributes) ;
\stopMPdrawing}
-\let\@@chemicalkleur\empty
+\let\@@chemicalcolor\empty
\def\@@dochemicalcolor
- {\doifsomething\@@chemicalkleur{\color[\@@chemicalkleur]}}
+ {\doifsomething\@@chemicalcolor{\color[\@@chemicalcolor]}}
\def\@@dochemicalstyle
- {\doconvertfont\@@chemicalletter}
+ {\doconvertfont\@@chemicalstyle}
\setupchemical
[\c!rulethickness=\linewidth,
diff --git a/tex/context/base/s-grk-00.tex b/tex/context/base/s-grk-00.tex
index 4c0c88c0e..ec5ddf1f7 100644
--- a/tex/context/base/s-grk-00.tex
+++ b/tex/context/base/s-grk-00.tex
@@ -14,7 +14,7 @@
\usetypescriptfile[type-cbg]
-\usetypescript [all] [cbgreek]
+\usetypescript [all] [cbgreek-medium]
\startsetups [cbgreek]
diff --git a/tex/context/base/s-mod-00.tex b/tex/context/base/s-mod-00.tex
index 188ee190c..e0026fafc 100644
--- a/tex/context/base/s-mod-00.tex
+++ b/tex/context/base/s-mod-00.tex
@@ -87,8 +87,8 @@
% \stopMPrun
% \externalfigure
% [\bufferprefix mprun.#1]
-% [\c!hoogte=\vsize,
-% \c!breedte=\hsize]}
+% [\c!height=\vsize,
+% \c!width=\hsize]}
%
% \defineoverlay[titelpagina][\TitelPagina{512}]
%
diff --git a/tex/context/base/setupb.tex b/tex/context/base/setupb.tex
index 3d1c0dfbc..fe937ad31 100644
--- a/tex/context/base/setupb.tex
+++ b/tex/context/base/setupb.tex
@@ -5141,26 +5141,6 @@
[\c!resetnumber]
[\v!yes,\v!no]
[\v!yes]
-% \variable
-% [\c!scheider]
-% [\c!text!]
-% [.]
-% \variable
-% [\c!uitlijnen]
-% [\v!links,\v!rechts,\v!normaal,\v!ruim]
-% [\v!normaal]
-% \variable
-% [\c!titeluitlijnen]
-% [\v!ja,\v!nee]
-% [\v!nee]
-% \variable
-% [\c!tolerantie]
-% [\v!zeerstreng,\v!streng,\v!soepel,\v!zeersoepel,\v!rek]
-% [\v!soepel]
-% \variable
-% [\c!springvolgendein]
-% [\v!ja,\v!nee]
-% [\v!nee]
\variable
[\c!file]
[\c!identifier!]
@@ -6978,16 +6958,6 @@
[]
\stopsetup
-% \startsetup
-% \command
-% [\y!brieven]
-% \type
-% [\c!val!]
-% \value
-% [\c!identifier!]
-% []
-% \stopsetup
-
\startsetup
\command
[\y!labels]
@@ -6998,75 +6968,6 @@
[]
\stopsetup
-% \startsetup
-% \command
-% [\y!stelbrievenin]
-% \type
-% [\c!vals!]
-% \value
-% [\v!formeel,\v!informeel,\v!rekening,\v!ls,
-% \v!hoog,\v!midden,\v!laag]
-% [\v!formeel,\v!laag]
-% \stopsetup
-
-% \startsetup
-% \command
-% [\y!stelsheetsin]
-% \type
-% [\c!vars!]
-% \variable
-% [\c!variant]
-% [\c!number!]
-% []
-% \variable
-% [\c!tekst]
-% [\c!text!]
-% []
-% \variable
-% [\c!formaat]
-% [\v!klein,\v!middel,\v!groot]
-% [\v!middel]
-% \variable
-% [\c!letter]
-% [\v!normaal,\v!vet,\v!schuin,\v!vet\v!schuin,\v!type,\v!kap,\v!klein...,\c!command!]
-% [\v!normaal]
-% \variable
-% [\c!nummer]
-% [\c!number!,\v!aansluitend]
-% []
-% \stopsetup
-
-% \startsetup
-% \command
-% [\y!sheet]
-% \type
-% [\c!val!]
-% \value
-% [\c!text!]
-% []
-% \stopsetup
-
-% \startsetup
-% \command
-% [\y!stelstickersin]
-% \type
-% [\c!vars!]
-% \variable
-% [\c!variant]
-% [a]
-% []
-% \variable
-% [\c!n]
-% [\c!number!,\v!alles]
-% [\c!val!]
-% \variable
-% [\c!plaats]
-% [\v!marge,\v!links,\v!rechts,\v!midden]
-% [\v!links]
-% \stopsetup
-
-% *.tex
-
\startsetup
\command
[\y!definetabulate]
@@ -7796,10 +7697,6 @@
[\c!calculate]
[\c!identifier!]
[]
-% \variable
-% [\c!scherm]
-% [\v!normaal,\v!passend,\v!hoogte,\v!breedte]
-% [\v!normaal]
\variable
[\c!strut]
[\v!yes,\v!no]
diff --git a/tex/context/base/spec-fdf.tex b/tex/context/base/spec-fdf.tex
index 5654a5f50..f17777671 100644
--- a/tex/context/base/spec-fdf.tex
+++ b/tex/context/base/spec-fdf.tex
@@ -1651,7 +1651,7 @@
\xdef\FDFcollection{\FDFcollection\space\PDFobjectreference}%
\fi}
-\prependtoksonce \flushFDFnames \to \everylastshipout % test \everybye
+\appendtoksonce \flushFDFnames \to \everylastshipout % test \everybye / was \prependtoksonce
%D \macros
%D {defineFDFfonts,
diff --git a/tex/context/base/spec-xtx.tex b/tex/context/base/spec-xtx.tex
new file mode 100644
index 000000000..56a61631c
--- /dev/null
+++ b/tex/context/base/spec-xtx.tex
@@ -0,0 +1,111 @@
+%D \module
+%D [ file=spec-xtx,
+%D version=2004.*.*,
+%D title=\CONTEXT\ Special Macros,
+%D subtitle=DVIPDFMx support,
+%D author={Adam Lindsay \& Hans Hagen \& \unknown},
+%D date=\currentdate,
+%D copyright={Adam Lindsay \& Hans Hagen}]
+
+\unprotect
+
+\startspecials[xetex]
+
+%D Rotation looks fine. Scaling and mirroring are also fine.
+
+\definespecial\dostartrotation #1{\special{x:gsave}\special{x:rotate #1}}
+\definespecial\dostartscaling #1#2{\special{x:gsave}\special{x:scale #1 #2}}
+\definespecial\dostartmirroring {\special{x:gsave}\special{x:scale -1 1}}
+
+\definespecial\dostoprotation {\special{x:grestore}}
+\definespecial\dostopscaling {\special{x:grestore}}
+\definespecial\dostopmirroring{\special{x:grestore}}
+
+\ifx\colorhexcomponent\undefined
+
+ % this will be added to colo-hex.tex
+
+\else
+
+ % because we intercept the zero condition, the .23pt in 1.23pt will disappear in the
+ % ifcase zero part branch
+
+ \def\colorhexcomponent#1%
+ {\ifdim#1\points<.005\points
+ 00\else\lchexnumbers{\the\dimexpr(255\dimexpr(#1\points)\relax+.5\points)\relax}%
+ \fi}
+
+ % the faster one
+
+ \newdimen\hex@color@a \hex@color@a=.005pt
+ \newdimen\hex@color@b \hex@color@b=.5pt
+ \chardef \hex@color@c =255
+
+ \def\colorhexcomponent#1%
+ {\ifdim#1\points<\hex@color@a
+ 00\else\lchexnumbers{\the\dimexpr(#1\points*\hex@color@c+\hex@color@b)\relax}%
+ \fi}
+
+\fi
+
+%
+
+\definespecial\dostartrgbcolormode#1#2#3%
+ {\bgroup
+ \edef\hexcolorstring{\colorhexcomponent{#1}\colorhexcomponent{#2}\colorhexcomponent{#3}}%
+ \special{x:textcolor=\hexcolorstring}%
+ \special{x:rulecolor=\hexcolorstring}%
+ \egroup}
+
+\definespecial\dostopcolormode
+ {\special{x:textcolor=000000}%
+ \special{x:rulecolor=000000}}
+
+%D Whadda you mean by 'corected;, this hex color model is crazy. Why does
+%D \XETEX\ provide high end font support but only hex rgb colors -)
+
+%D once colors are ``corrected'' by Hans, transparency should
+%D follow fairly easily. A good side-effect of the above approach
+%D is that we need to keep track of the color state (transparency
+%D in \XETEX\ is accomplished setting the color to an RGBA quadruple,
+%D rather than an RGB triple)
+
+%D File/graphic insertion is fouled up. I don't know why, but
+%D the externalfile misses its designated box/frame. It's also not
+%D finding files without the help of a \TEXUTIL\ file.
+
+%D Maybe \XETEX\ should provide a way to report the figure dimensions,
+%D I suppose it can ask the QuickTime Driver.
+
+%D However it gets resolved, the following is the basic schema
+%D of file inclusion for \XETEX. \type {\XeTeXpicfile} supports
+%D rotation, as well, but it seems less important for \CONTEXT.
+%D \XETEX\ uses QuickTime file import, which means a huge number of
+%D file import options.
+
+%D More importantly and interestingly, there is \type
+%D {XeTeXpdffile}, which supports a \type {page} option.
+
+\definespecial\doinsertfile#1#2#3#4#5#6#7#8#9%
+ {\bgroup
+ \dodoinsertfile{xtx}{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}%
+ \egroup}
+
+\definefileinsertion{xtx}{jpg}{\handlepdfimage}
+\definefileinsertion{xtx}{png}{\handlepdfimage}
+\definefileinsertion{xtx}{pdf}{\handlepdfimage}
+\definefileinsertion{xtx}{gif}{\handlepdfimage}
+\definefileinsertion{xtx}{tif}{\handlepdfimage}
+
+% do we need it this way? either provide width and height or provide scales,
+% best provide the dimensions
+
+% \def\handlepdfimage#1#2#3#4#5#6#7#8#9%
+% {\XeTeXpicfile "#1" width #7 height #8 xscaled #3 yscaled #4\relax}
+
+\def\handlepdfimage#1#2#3#4#5#6#7#8#9%
+ {\XeTeXpicfile "#1" width #7 height #8\relax}
+
+\stopspecials
+
+\protect \endinput
diff --git a/tex/context/base/supp-fun.tex b/tex/context/base/supp-fun.tex
index 336a49fd8..185860f73 100644
--- a/tex/context/base/supp-fun.tex
+++ b/tex/context/base/supp-fun.tex
@@ -800,7 +800,6 @@
\fi}
\def\SpreadGapText#1#2%
-% {{\def\+{\blackrule[\c!breedte=#1]}#2}}
{{\def\+{\kern#1}#2}}
\def\GapText#1#2#3#4#5% width distance font spec title
diff --git a/tex/context/base/supp-lan.tex b/tex/context/base/supp-lan.tex
index 7d353d043..e49eac5c8 100644
--- a/tex/context/base/supp-lan.tex
+++ b/tex/context/base/supp-lan.tex
@@ -409,14 +409,30 @@
\chardef\activehackcode=`~
-\def\defineactivecharacter #1 %
- {\scratchcounter\the\uccode\activehackcode
+% \def\defineactivecharacter #1 %
+% {\scratchcounter\the\uccode\activehackcode
+% \uccode\activehackcode\expandafter\doifnumberelse
+% \expandafter{\string#1}\empty`#1%
+% \catcode\uccode\activehackcode\@@active
+% \uppercase{\def\next{~}}%
+% \uccode\activehackcode\scratchcounter
+% \expandafter\def\next}% unexpanded goes wrong in pdfdoc
+
+%D But ...
+
+\def\defineactivecharacter #1 #2%
+ {\scratchcounter\uccode\activehackcode
\uccode\activehackcode\expandafter\doifnumberelse
\expandafter{\string#1}\empty`#1%
\catcode\uccode\activehackcode\@@active
\uppercase{\def\next{~}}%
\uccode\activehackcode\scratchcounter
- \expandafter\def\next}% unexpanded goes wrong in pdfdoc
+ % unexpanded goes wrong in pdfdoc
+ \@EA\@EA\@EA\def\@EA\next\@EA{\@EA\dohandleactivecharacter\next{#2}}}
+
+\let\dohandleactivecharacter\secondoftwoarguments
+
+\def\donthandleactivecharacter#1#2{\noexpand#1}
%D A goody:
diff --git a/tex/context/base/syst-ext.tex b/tex/context/base/syst-ext.tex
index b3ffc4fc0..0cfd9681d 100644
--- a/tex/context/base/syst-ext.tex
+++ b/tex/context/base/syst-ext.tex
@@ -2948,12 +2948,14 @@
\def\complexsetlocalhsize[#1]% don't change !
{\localhsize\hsize
- % \advance\localhsize -\parindent % changed anyway
+ \ifnum\hangafter<\zerocount
+ \advance\localhsize\ifdim\hangindent>\zeropoint-\fi\hangindent
+ \fi
\advance\localhsize -\leftskip
\advance\localhsize -\rightskip
\advance\localhsize #1\relax}
-\def\simplesetlocalhsize%
+\def\simplesetlocalhsize
{\complexsetlocalhsize[\zeropoint]}
\definecomplexorsimple\setlocalhsize
diff --git a/tex/context/base/type-cbg.tex b/tex/context/base/type-cbg.tex
index 4f8070ba6..a3de66d1c 100644
--- a/tex/context/base/type-cbg.tex
+++ b/tex/context/base/type-cbg.tex
@@ -257,7 +257,7 @@
\stoptypescript
-\starttypescript [serif] [cbgreek-some] [size]
+\starttypescript [serif] [cbgreek-medium] [size]
\definebodyfont [4pt,5pt,6pt,7pt,8pt,9pt] [rm]
[tf=grmn0800 sa 1,sl=grmo0800 sa 1,it=grmi0800 sa 1,
@@ -276,7 +276,7 @@
\stoptypescript
-\starttypescript [sans] [cbgreek-some] [size]
+\starttypescript [sans] [cbgreek-medium] [size]
\definebodyfont [4pt,5pt,6pt,7pt,8pt,9pt] [ss]
[tf=gsmn0800 sa 1,sl=gsmo0800 sa 1,it=gsmi0800 sa 1,
@@ -295,7 +295,7 @@
\stoptypescript
-\starttypescript [mono] [cbgreek-some] [size]
+\starttypescript [mono] [cbgreek-medium] [size]
\definebodyfont [4pt,5pt,6pt,7pt,8pt,9pt] [tt]
[tf=gttn0800 sa 1,sl=gtto0800 sa 1,it=gtti0800 sa 1,
@@ -326,13 +326,13 @@
\stoptypescript
-\starttypescript [cbgreek-some] % lowercase, patched HH
+\starttypescript [cbgreek-medium] % lowercase, patched HH
\definebodyfontenvironment [cbgreek] [default] []
- \definetypeface [cbgreek] [rm] [serif] [cbgreek] [cbgreek-some]
- \definetypeface [cbgreek] [ss] [sans] [cbgreek] [cbgreek-some]
- \definetypeface [cbgreek] [tt] [mono] [cbgreek] [cbgreek-some]
+ \definetypeface [cbgreek] [rm] [serif] [cbgreek] [cbgreek-medium]
+ \definetypeface [cbgreek] [ss] [sans] [cbgreek] [cbgreek-medium]
+ \definetypeface [cbgreek] [tt] [mono] [cbgreek] [cbgreek-medium]
\stoptypescript
diff --git a/tex/context/base/type-enc.tex b/tex/context/base/type-enc.tex
index 18ca0c927..022db40c4 100644
--- a/tex/context/base/type-enc.tex
+++ b/tex/context/base/type-enc.tex
@@ -785,11 +785,19 @@
% Euler (AMS)
\starttypescript [math] [euler] [default]
- \definefontsynonym [Euler-Extension] [euex10]
- \definefontsynonym [Euler-Italic] [eurm10]
- \definefontsynonym [Euler-SymbolA] [euex10]
- \definefontsynonym [Euler-SymbolB] [eusm10]
- \definefontsynonym [Euler-SymbolC] [eufm10]
+ \definefontsynonym [Euler-Roman] [zeurm10]
+ \definefontsynonym [Euler-Extension] [zeuex10]
+ \definefontsynonym [Euler-Symbol] [zeusm10]
+ \definefontsynonym [Euler-Fraktur] [eufm10]
+ \definefontsynonym [CharterRomanMath] [bchr8r] [encoding=8r]
+\stoptypescript
+
+\starttypescript [boldmath,bfmath] [euler] [default]
+ \definefontsynonym [Euler-Roman-Bold] [zeurb10]
+ \definefontsynonym [Euler-Extension] [zeuex10]
+ \definefontsynonym [Euler-Symbol-Bold] [zeusb10]
+ \definefontsynonym [Euler-Fraktur-Bold] [eufb10]
+ \definefontsynonym [CharterRomanBoldMath] [bchb8r] [encoding=8r]
\stoptypescript
% AMS (AMS)
diff --git a/tex/context/base/type-siz.tex b/tex/context/base/type-siz.tex
index 5394e3631..465c63c46 100644
--- a/tex/context/base/type-siz.tex
+++ b/tex/context/base/type-siz.tex
@@ -617,26 +617,84 @@
\starttypescript [math] [euler] [size]
-\definebodyfont [12pt,11pt,10pt,9pt] [mm]
- [mi=eurm10 sa 1,
- ex=euex10 sa 1,
- ma=euex10 sa 1,
- mb=eusm10 sa 1,
+\definebodyfont [9pt,10pt,11pt,12pt,14.4pt,17.3pt,20.7pt] [mm]
+ [mr=zeurm10 sa 1,
+ ex=zeuex10 sa 1,
+ mi=zeurm10 sa 1,
+ sy=zeusm10 sa 1,
+ mb=bchr8r sa 1,
mc=eufm10 sa 1]
-\definebodyfont [8pt,7pt,6pt,5pt] [mm]
- [ex=euex10 sa 1,
- ma=euex10 sa 1]
+\definebodyfont [6pt,7pt,8pt] [mm]
+ [mi=zeurm7 sa 1,
+ mr=zeurm7 sa 1,
+ sy=zeusm7 sa 1,
+ mc=eufm7 sa 1,
+ mb=bchr8r sa 1,
+ ex=zeuex10 sa 1]
-\definebodyfont [8pt,7pt,6pt] [mm]
- [mi=eurm7 sa 1,
- mb=eusm7 sa 1,
- mc=eufm7 sa 1]
+\definebodyfont [5pt] [mm]
+ [mi=zeurm5,
+ mr=zeurm5,
+ sy=zeusm5,
+ mc=eufm5,
+ mb=bchr8r at 5pt,
+ ex=zeuex10 at 5pt]
+
+\stoptypescript
+
+\starttypescript [bfmath] [euler] [size]
+
+\definebodyfont [9pt,10pt,11pt,12pt,14.4pt,17.3pt,20.7pt] [mm]
+ [mrbf=zeurb10 sa 1,
+ exbf=zeuex10 sa 1,
+ mibf=zeurb10 sa 1,
+ sybf=zeusb10 sa 1,
+ mbbf=bchb8r sa 1,
+ mcbf=eufb10 sa 1]
+
+\definebodyfont [6pt,7pt,8pt] [mm]
+ [mibf=zeurb7 sa 1,
+ mrbf=zeurb7 sa 1,
+ sybf=zeusb7 sa 1,
+ mcbf=eufb7 sa 1,
+ mbbf=bchb8r sa 1,
+ exbf=zeuex10 sa 1]
+
+\definebodyfont [5pt] [mm]
+ [mibf=zeurb5,
+ mrbf=zeurb5,
+ sybf=zeusb5,
+ mcbf=eufb5,
+ mbbf=bchb8r at 5pt,
+ exbf=zeuex10 at 5pt]
+\stoptypescript
+
+\starttypescript [boldmath] [euler] [size]
+
+\definebodyfont [9pt,10pt,11pt,12pt,14.4pt,17.3pt,20.7pt] [mm]
+ [mr=zeurb10 sa 1,
+ ex=zeuex10 sa 1,
+ mi=zeurb10 sa 1,
+ sy=zeusb10 sa 1,
+ mb=bchb8r sa 1,
+ mc=eufb10 sa 1]
+
+\definebodyfont [6pt,7pt,8pt] [mm]
+ [mi=zeurb7 sa 1,
+ mr=zeurb7 sa 1,
+ sy=zeusb7 sa 1,
+ mc=eufb7 sa 1,
+ mb=bchb8r sa 1,
+ ex=zeuex10 sa 1]
\definebodyfont [5pt] [mm]
- [mi=eurm5,
- mb=eusm5,
- mc=eufm5]
+ [mi=zeurb5,
+ mr=zeurb5,
+ sy=zeusb5,
+ mc=eufb5,
+ mb=bchb8r at 5pt,
+ ex=zeuex10 at 5pt]
\stoptypescript
diff --git a/tex/context/base/type-spe.tex b/tex/context/base/type-spe.tex
index a113a7652..70990d4b0 100644
--- a/tex/context/base/type-spe.tex
+++ b/tex/context/base/type-spe.tex
@@ -39,4 +39,8 @@
\usemathcollection[fou]
\stoptypescript
+\starttypescript [math,boldmath] [euler] [special]
+ \usemathcollection[eul]
+\stoptypescript
+
\endinput
diff --git a/tex/context/base/type-syn.tex b/tex/context/base/type-syn.tex
index 0b4ed6e81..542d3d9e6 100644
--- a/tex/context/base/type-syn.tex
+++ b/tex/context/base/type-syn.tex
@@ -107,11 +107,44 @@
% Euler : Hermann Zapf
\starttypescript [math] [euler] [name]
- \definefontsynonym [MathExtension] [Euler-Extension]
- \definefontsynonym [MathItalic] [Euler-Italic]
- \definefontsynonym [MathAlpha] [Euler-SymbolA]
- \definefontsynonym [MathBeta] [Euler-SymbolB]
- \definefontsynonym [MathGamma] [Euler-SymbolC]
+ \definefontsynonym [MathRoman] [Euler-Roman] % mr
+ \definefontsynonym [MathItalic] [Euler-Roman] % mi
+ \definefontsynonym [MathExtension] [Euler-Extension] % ex
+ \definefontsynonym [MathSymbol] [Euler-Symbol] % sy
+ \definefontsynonym [MathBeta] [CharterRomanMath]
+ \definefontsynonym [MathGamma] [Euler-Fraktur] % mc ?
+\stoptypescript
+
+\starttypescript [boldmath] [euler] [name]
+ \definefontsynonym [MathRoman] [Euler-Roman-Bold] % mr
+ \definefontsynonym [MathItalic] [Euler-Roman-Bold] % mi
+ \definefontsynonym [MathExtension] [Euler-Extension] % ex
+ \definefontsynonym [MathSymbol] [Euler-Symbol-Bold] % sy
+ \definefontsynonym [MathBeta] [CharterRomanBoldMath]
+ \definefontsynonym [MathGamma] [Euler-Fraktur-Bold] % mc ?
+\stoptypescript
+
+\starttypescript [bfmath] [euler] [name]
+ \definefontsynonym [MathRomanBold] [Euler-Roman-Bold] % mr
+ \definefontsynonym [MathItalicBold] [Euler-Roman-Bold] % mi
+ \definefontsynonym [MathExtension] [Euler-Extension] % ex
+ \definefontsynonym [MathSymbolBold] [Euler-Symbol-Bold] % sy
+ \definefontsynonym [MathBetaBold] [CharterRomanBoldMath]
+ \definefontsynonym [MathGammaBold] [Euler-Fraktur-Bold] % mc ?
+\stoptypescript
+
+\starttypescript [math] [euler] [name]
+ \definefontsynonym [OldStyle] [MathGamma]
+ \definefontsynonym [Fraktur] [MathGamma]
+ \definefontsynonym [Gothic] [MathGamma]
+ \definefontsynonym [Calligraphic] [MathSymbol]
+\stoptypescript
+
+\starttypescript [boldmath] [euler] [name]
+ \definefontsynonym [OldStyle] [MathGammaBold]
+ \definefontsynonym [Fraktur] [MathGammaBold]
+ \definefontsynonym [Gothic] [MathGammaBold]
+ \definefontsynonym [Calligraphic] [MathSymbolBold]
\stoptypescript
% American Math Society : Michael Spivak
diff --git a/tex/context/base/unic-032.tex b/tex/context/base/unic-032.tex
index 75009566e..f2061823a 100644
--- a/tex/context/base/unic-032.tex
+++ b/tex/context/base/unic-032.tex
@@ -8,32 +8,32 @@
%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
-\unprotect
+\unprotect
\startunicodevector 32
\ifcase\numexpr(#1-19)
endash\or
- emdash\or
- \@@unknownchar\or
- \@@unknownchar\or
- \@@unknownchar\or
- quoteleft\or
- quoteright\or
+ emdash\or
+ \@@unknownchar\or
+ \@@unknownchar\or
+ \@@unknownchar\or
+ quoteleft\or
+ quoteright\or
quotesinglebase\or
- \@@unknownchar\or
- quotedblleft\or
- quotedblright\or
- quotedblbase\or
- \@@unknownchar\or
- textdag\or
+ \@@unknownchar\or
+ quotedblleft\or
+ quotedblright\or
+ quotedblbase\or
+ \@@unknownchar\or
+ textdag\or
textddag\or
textbullet\or
- \@@unknownchar\or
- \@@unknownchar\or
- \@@unknownchar\or
+ \@@unknownchar\or
+ \@@unknownchar\or
+ \@@unknownchar\or
textellipsis\else
\ifcase\numexpr(#1-48)
perthousand\else
@@ -41,44 +41,165 @@
\@@unknownchar\or % SINGLE LEFT-POINTING ANGLE QUOTATION MARK
\@@unknownchar\else % SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
\ifcase\numexpr(#1-172)
- texteuro\else
+ texteuro\else
\@@unknownchar
\fi\fi\fi\fi
\stopunicodevector
-%D More efficient:
+%D More efficient:
+
+% U+2001 EM QUAD
+% U+2002 EN SPACE
+% U+2003 EM SPACE
+% U+2004 THREE-PER-EM SPACE
+% U+2005 FOUR-PER-EM SPACE
+% U+2006 SIX-PER-EM SPACE
+% U+2007 FIGURE SPACE
+% U+2008 PUNCTUATION SPACE
+% U+2009 THIN SPACE
+% U+200A HAIR SPACE
+% U+200B ZERO WIDTH SPACE
+% U+200C ZERO WIDTH NON-JOINER
+% U+200D ZERO WIDTH JOINER
+% U+200E LEFT-TO-RIGHT MARK
+% U+200F RIGHT-TO-LEFT MARK
+% U+2010 HYPHEN
+% U+2011 NON-BREAKING HYPHEN
+% U+2012 FIGURE DASH
+% U+2013 EN DASH
+% U+2014 EM DASH
+% U+2015 HORIZONTAL BAR
+% U+2016 DOUBLE VERTICAL LINE
+% U+2017 DOUBLE LOW LINE
+% U+2018 LEFT SINGLE QUOTATION MARK
+% U+2019 RIGHT SINGLE QUOTATION MARK
+% U+201A SINGLE LOW-9 QUOTATION MARK
+% U+201B SINGLE HIGH-REVERSED-9 QUOTATION MARK
+% U+201C LEFT DOUBLE QUOTATION MARK
+% U+201D RIGHT DOUBLE QUOTATION MARK
+% U+201E DOUBLE LOW-9 QUOTATION MARK
+% U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+% U+2020 DAGGER
+% U+2021 DOUBLE DAGGER
+% U+2022 BULLET
+% U+2023 TRIANGULAR BULLET
+% U+2024 ONE DOT LEADER
+% U+2025 TWO DOT LEADER
+% U+2026 HORIZONTAL ELLIPSIS
+% U+2027 HYPHENATION POINT
+% U+2028 LINE SEPARATOR
+% U+2029 PARAGRAPH SEPARATOR
+% U+202A LEFT-TO-RIGHT EMBEDDING
+% U+202B RIGHT-TO-LEFT EMBEDDING
+% U+202C POP DIRECTIONAL FORMATTING
+% U+202D LEFT-TO-RIGHT OVERRIDE
+% U+202E RIGHT-TO-LEFT OVERRIDE
+% U+202F NARROW NO-BREAK SPACE
+% U+2030 PER MILLE SIGN
+% U+2031 PER TEN THOUSAND SIGN
+% U+2032 PRIME
+% U+2033 DOUBLE PRIME
+% U+2034 TRIPLE PRIME
+% U+2035 REVERSED PRIME
+% U+2036 REVERSED DOUBLE PRIME
+% U+2037 REVERSED TRIPLE PRIME
+% U+2038 CARET
+% U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+% U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+% U+203B REFERENCE MARK
+% U+203C DOUBLE EXCLAMATION MARK
+% U+203D INTERROBANG
+% U+203E OVERLINE
+% U+203F UNDERTIE
+% U+2040 CHARACTER TIE
+% U+2041 CARET INSERTION POINT
+% U+2042 ASTERISM
+% U+2043 HYPHEN BULLET
+% U+2044 FRACTION SLASH
+% U+2045 LEFT SQUARE BRACKET WITH QUILL
+% U+2046 RIGHT SQUARE BRACKET WITH QUILL
+% U+2047 DOUBLE QUESTION MARK
+% U+2048 QUESTION EXCLAMATION MARK
+% U+2049 EXCLAMATION QUESTION MARK
+% U+204A TIRONIAN SIGN ET
+% U+204B REVERSED PILCROW SIGN
+% U+204C BLACK LEFTWARDS BULLET
+% U+204D BLACK RIGHTWARDS BULLET
+% U+204E LOW ASTERISK
+% U+204F REVERSED SEMICOLON
+% U+2050 CLOSE UP
+% U+2051 TWO ASTERISKS ALIGNED VERTICALLY
+% U+2052 COMMERCIAL MINUS SIGN
+% U+2053 SWUNG DASH
+% U+2054 INVERTED UNDERTIE
+% U+2057 QUADRUPLE PRIME
+% U+205F MEDIUM MATHEMATICAL SPACE
+% U+2060 WORD JOINER
+% U+2061 FUNCTION APPLICATION
+% U+2062 INVISIBLE TIMES
+% U+2063 INVISIBLE SEPARATOR
+% U+206A INHIBIT SYMMETRIC SWAPPING
+% U+206B ACTIVATE SYMMETRIC SWAPPING
+% U+206C INHIBIT ARABIC FORM SHAPING
+% U+206D ACTIVATE ARABIC FORM SHAPING
+% U+206E NATIONAL DIGIT SHAPES
+% U+206F NOMINAL DIGIT SHAPES
\startunicodevector 32
- \ifcase\numexpr(#1-19)
- \strippedcsname \endash \or
- \strippedcsname \emdash \or
- \strippedcsname \unknownchar \or
- \strippedcsname \unknownchar \or
- \strippedcsname \unknownchar \or
- \strippedcsname \quoteleft \or
- \strippedcsname \quoteright \or
+ \ifcase\numexpr(#1)
+ \strippedcsname \enspace \or % U+2000 EN QUAD
+ \strippedcsname \emspace \or % U+2001 EM QUAD
+ \strippedcsname \enspace \or % U+2002 EN SPACE
+ \strippedcsname \emspace \or % U+2003 EM SPACE
+ \strippedcsname \unknownchar \or % U+2004 THREE-PER-EM SPACE
+ \strippedcsname \unknownchar \or % U+2005 FOUR-PER-EM SPACE
+ \strippedcsname \unknownchar \or % U+2006 SIX-PER-EM SPACE
+ \strippedcsname \unknownchar \or % U+2007 FIGURE SPACE
+ \strippedcsname \unknownchar \or % U+2008 PUNCTUATION SPACE
+ \strippedcsname \unknownchar \or % U+2009 THIN SPACE
+ \strippedcsname \unknownchar \or % U+200A HAIR SPACE
+ \strippedcsname \unknownchar \or % U+200B ZERO WIDTH SPACE
+ \strippedcsname \unknownchar \or % U+200C ZERO WIDTH NON-JOINER
+ \strippedcsname \unknownchar \or % U+200D ZERO WIDTH JOINER
+ \strippedcsname \unknownchar \or % U+200E LEFT-TO-RIGHT MARK
+ \strippedcsname \unknownchar \or % U+200F RIGHT-TO-LEFT MARK
+ \strippedcsname \unknownchar \or % U+2010 HYPHEN
+ \strippedcsname \unknownchar \or % U+2011 NON-BREAKING HYPHEN
+ \strippedcsname \unknownchar \or % U+2012 FIGURE DASH
+ % \ifcase\numexpr(#1-19)
+ \strippedcsname \endash \or % U+2013 EN DASH
+ \strippedcsname \emdash \or % U+2014 EM DASH
+ \strippedcsname \unknownchar \or % U+2015 HORIZONTAL BAR
+ \strippedcsname \unknownchar \or % U+2016 DOUBLE VERTICAL LINE
+ \strippedcsname \unknownchar \or % U+2017 DOUBLE LOW LINE
+ \strippedcsname \quoteleft \or
+ \strippedcsname \quoteright \or
\strippedcsname \quotesinglebase \or
- \strippedcsname \unknownchar \or
- \strippedcsname \quotedblleft \or
- \strippedcsname \quotedblright \or
- \strippedcsname \quotedblbase \or
- \strippedcsname \unknownchar \or
- \strippedcsname \textdag \or
+ \strippedcsname \unknownchar \or
+ \strippedcsname \quotedblleft \or
+ \strippedcsname \quotedblright \or
+ \strippedcsname \quotedblbase \or
+ \strippedcsname \unknownchar \or
+ \strippedcsname \textdag \or
\strippedcsname \textddag \or
\strippedcsname \textbullet \or
- \strippedcsname \unknownchar \or
- \strippedcsname \unknownchar \or
- \strippedcsname \unknownchar \or
+ \strippedcsname \unknownchar \or
+ \strippedcsname \unknownchar \or
+ \strippedcsname \unknownchar \or
\strippedcsname \textellipsis \else
\ifcase\numexpr(#1-48)
- \strippedcsname \perthousand \else
+ \strippedcsname \perthousand \or % U+2030 PER MILLE SIGN
+ \strippedcsname \unknownchar \or % U+2031 PER TEN THOUSAND SIGN
+ \strippedcsname \prime \or % U+2032 PRIME
+ \strippedcsname \doubleprime \or % U+2033 DOUBLE PRIME
+ \strippedcsname \tripleprime \else % U+2034 TRIPLE PRIME
\ifcase\numexpr(#1-57)
\strippedcsname \unknownchar \or % SINGLE LEFT-POINTING ANGLE QUOTATION MARK
\strippedcsname \unknownchar \else % SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
\ifcase\numexpr(#1-172)
- \strippedcsname \texteuro \else
+ \strippedcsname \texteuro \else
\strippedcsname \unknownchar
\fi\fi\fi\fi
\stopunicodevector
-\protect \endinput
+\protect \endinput
diff --git a/tex/context/base/unic-ini.tex b/tex/context/base/unic-ini.tex
index 3dc443ce9..8125bab2d 100644
--- a/tex/context/base/unic-ini.tex
+++ b/tex/context/base/unic-ini.tex
@@ -291,17 +291,10 @@
%D problems; somehow \type {\numexpr} cannot look beyond this
%D sign, and expects a number.
-\def\utfunichar #1%
- {{\tttf U\low{\unicodenumber{#1}}}}
-
-\def\utfunisplit#1%
- {{\tttf U\low{\unicodepair{#1}}}}
-
-\def\utfuniboth #1%
- {{\tttf U\low{\unicodenumber{#1\relax}->\unicodepair{#1}}}}
-
-\def\utfunientity #1%
- {{\tttf\&\#\unicodehexnumber{#1};}}
+\def\utfunichar #1{{\tttf U\low{\unicodenumber{#1}}}}
+\def\utfunisplit #1{{\tttf U\low{\unicodepair{#1}}}}
+\def\utfuniboth #1{{\tttf U\low{\unicodenumber{#1\relax}->\unicodepair{#1}}}}
+\def\utfunientity #1{{\tttf\&\#\unicodehexnumber{#1};}}
%D The character itself is accessed and typeset by:
%D
diff --git a/tex/context/base/x-fe.tex b/tex/context/base/x-fe.tex
index cc1be32c1..96cba355f 100644
--- a/tex/context/base/x-fe.tex
+++ b/tex/context/base/x-fe.tex
@@ -50,7 +50,7 @@
\defineXMLcommand
[fe:definefontsynonym]
- [name=,file,encoding=]
+ [name=,file=,encoding=]
{\doifelsenothing{\XMLop{encoding}}
{\expanded{\definefontsynonym[\XMLop{name}][\XMLop{file}][encoding=\XMLop{encoding}]}}
{\expanded{\definefontsynonym[\XMLop{name}][\XMLop{file}]}}}
diff --git a/tex/context/base/x-mathml.tex b/tex/context/base/x-mathml.tex
index 031be0f69..f5db61236 100644
--- a/tex/context/base/x-mathml.tex
+++ b/tex/context/base/x-mathml.tex
@@ -25,24 +25,4 @@
% \useXMLfilter[mea,meb,mec,meh,men,meo,mer]
% \useXMLfilter[mxa,mxb,mxc,mxh,mxn,mxo,mxr]
-%D For simple inline math, we first provide:
-
-\newcount\xmlmathlevel % todo : nesting ! ! ! !
-
-\defineXMLenvironment [m] \startXMLinlinemath \stopXMLinlinemath
-
-\def\startXMLinlinemath
- {\ifmmode
- \advance\xmlmathlevel1\relax
- \else
- \xmlmathlevel1$%
- \fi}
-
-\def\stopXMLinlinemath
- {\ifcase\xmlmathlevel\or
- $\xmlmathlevel0\relax
- \else
- \advance\xmlmathlevel-1\relax
- \fi}
-
\endinput
diff --git a/tex/context/base/x-res-04.tex b/tex/context/base/x-res-04.tex
index 0a2747a67..826a07d23 100644
--- a/tex/context/base/x-res-04.tex
+++ b/tex/context/base/x-res-04.tex
@@ -249,7 +249,7 @@
{\let\figurepathlist\figurefilebasepath
\normalcalculateexternalfigure
[#1][#2][\figurefilebase.pdf]%
- [\c!pagina=\figurefilepage,#4][#5][#6]}
+ [\c!page=\figurefilepage,#4][#5][#6]}
{\@EA\stripspaces\@EA\from\figurefilename\to\figurefilename
\normalcalculateexternalfigure
[#1][#2][\figurefilename][#4][#5][#6]}%
@@ -280,8 +280,8 @@
[r=\XMLop{r},g=\XMLop{g},b=\XMLop{b},s=\XMLop{s},%
c=\XMLop{c},m=\XMLop{m},y=\XMLop{y},k=\XMLop{k}]%
\framed
- [\c!kader=\v!uit,\c!offset=\v!overlay,
- \c!achtergrond=\v!kleur,\c!achtergrondkleur=XMLRLcolor]
+ [\c!frame=\v!off,\c!offset=\v!overlay,
+ \c!background=\v!color,\c!backgroundcolor=XMLRLcolor]
{\box\foundexternalfigure}}}
\defineXMLsingular [rl:viewport] [\??cp] % []
@@ -292,7 +292,7 @@
{\box\foundexternalfigure}}%
\global\setbox\foundexternalfigure\vbox
{\scale
- [\c!hoogte=\figurewidth,\c!hoogte=\figureheight]
+ [\c!width=\figurewidth,\c!height=\figureheight]
{\box\foundexternalfigure}}}
\defineXMLsingular [rl:dimensions] [width=,height=]
diff --git a/tex/context/base/x-xml-01.tex b/tex/context/base/x-xml-01.tex
index a8259d737..9502ab71a 100644
--- a/tex/context/base/x-xml-01.tex
+++ b/tex/context/base/x-xml-01.tex
@@ -49,39 +49,23 @@
\unprotect
-% \setuplayout
-% [backspace=0cm,
-% topspace=0cm,
-% %width=40em,
-% width=middle,
-% height=middle,
-% header=0cm,
-% footer=0cm]
-
\setuplayout
- [\c!rugwit=0cm,
- \c!kopwit=0cm,
- %\c!breedte=40em,
- \c!breedte=\v!midden,
- \c!hoogte=\v!midden,
- \c!hoofd=0cm,
- \c!voet=0cm]
-
-% \setupbodyfont [tt,10pt]
-% \setuptolerance [verytolerant]
-% \setupalign [broad,right]
-% \setupXMLfile [level=2]
-
+ [\c!backspace=0cm,
+ \c!topspace=0cm,
+ %\c!width=40em,
+ \c!width=\v!middle,
+ \c!height=\v!middle,
+ \c!header=0cm,
+ \c!footer=0cm]
\setupbodyfont [tt,10pt]
-\setuptolerance [\v!zeersoepel]
-\setupalign [\v!ruim,\v!rechts]
-\setupXMLfile [\c!niveau=2]
+\setuptolerance [\v!verytolerant]
+\setupalign [\v!broad,\v!right]
+\setupXMLfile [\c!level=2]
\startmode[wide]
-% \setuplayout [width=250cm]
- \setuplayout [\c!breedte=250cm]
+ \setuplayout [\c!width=250cm]
\stopmode
diff --git a/tex/context/base/xtag-exp.tex b/tex/context/base/xtag-exp.tex
index fbcaf07f4..7f289dbf5 100644
--- a/tex/context/base/xtag-exp.tex
+++ b/tex/context/base/xtag-exp.tex
@@ -64,7 +64,7 @@
{\bgroup
\honorunexpanded
\dontexpandencoding
- \xdef\@@globalexpanded{\noexpand#1}%
+ \xdef\@@globalexpanded{\noexpand#1}% why \noexpand?
\egroup
\@@globalexpanded}
diff --git a/tex/context/base/xtag-pre.tex b/tex/context/base/xtag-pre.tex
index feab75ee7..96231bd87 100644
--- a/tex/context/base/xtag-pre.tex
+++ b/tex/context/base/xtag-pre.tex
@@ -156,6 +156,14 @@
{\executeifdefined{XMLcdatamethod\number\XMLcdatamethod}{\begingroup\processXMLcdata}}
%D \starttyping
+%D <!ELEMENT ...">
+%D <!ATTLIST ...">
+%D \stoptyping
+
+\defineXMLescape [ATTLIST]{\gobbleuntil>}
+\defineXMLescape [ELEMENT]{\gobbleuntil>}
+
+%D \starttyping
%D <!ENTITY crap "very new [&#x7B;] crap">
%D <!ENTITY crap SYSTEM "crapfile.xml">
%D <!ENTITY crap SYSTEM "crapfile.pdf" NDATA ignoredanyway>
diff --git a/tex/context/config/cont-usr.tex b/tex/context/config/cont-usr.tex
index 1a98f77ac..50556c463 100644
--- a/tex/context/config/cont-usr.tex
+++ b/tex/context/config/cont-usr.tex
@@ -26,6 +26,7 @@
%D Thomas Esser's \TETEX\ distribution.) This list will be
%D adapted to the actual situation.
+\definefilesynonym [lang-ca.pat] [cahyph.tex]
\definefilesynonym [lang-da.pat] [dkhyph.tex]
\definefilesynonym [lang-de.pat] [dehyphn.tex]
\definefilesynonym [lang-es.pat] [eshyph.tex]
@@ -107,6 +108,7 @@
%D --all}.
% \installlanguage [\s!af] [\c!state=\v!start] % afrikaans
+% \installlanguage [\s!ca] [\c!state=\v!start] % catalan
% \installlanguage [\s!cz] [\c!state=\v!start] % czech
% \installlanguage [\s!da] [\c!state=\v!start] % danish
% \installlanguage [\s!de] [\c!state=\v!start] % german
@@ -138,6 +140,7 @@
%D used at startup time.
% \setupcurrentlanguage[\s!af]
+% \setupcurrentlanguage[\s!ca]
% \setupcurrentlanguage[\s!cz]
% \setupcurrentlanguage[\s!da]
% \setupcurrentlanguage[\s!de]