summaryrefslogtreecommitdiff
path: root/tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex')
-rw-r--r--tex/context/base/cont-new.tex9
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/core-fld.tex50
-rw-r--r--tex/context/base/core-job.tex8
-rw-r--r--tex/context/base/core-mis.tex43
-rw-r--r--tex/context/base/core-ref.tex10
-rw-r--r--tex/context/base/core-sec.tex2
-rw-r--r--tex/context/base/enco-acc.tex18
-rw-r--r--tex/context/base/enco-fde.tex6
-rw-r--r--tex/context/base/enco-lat.tex6
-rw-r--r--tex/context/base/enco-uc.tex308
-rw-r--r--tex/context/base/lang-grk.tex84
-rw-r--r--tex/context/base/lang-ita.tex2
-rw-r--r--tex/context/base/lang-sla.tex2
-rw-r--r--tex/context/base/lang-ura.tex2
-rw-r--r--tex/context/base/page-flt.tex126
-rw-r--r--tex/context/base/page-new.tex2
-rw-r--r--tex/context/base/page-num.tex23
-rw-r--r--tex/context/base/page-set.tex2
-rw-r--r--tex/context/base/s-mod-00.tex20
-rw-r--r--tex/context/base/spec-fdf.tex32
-rw-r--r--tex/context/base/supp-ini.tex8
-rw-r--r--tex/context/base/supp-lan.tex4
-rw-r--r--tex/context/base/supp-mis.tex44
-rw-r--r--tex/context/base/supp-pdf.tex4
-rw-r--r--tex/context/base/syst-new.tex28
-rw-r--r--tex/context/base/xtag-ini.tex28
27 files changed, 573 insertions, 300 deletions
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index 66dc52c3c..23327aa10 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -31,6 +31,15 @@
\unexpanded\def\xmlrent#1{\doXMLentity#1;}
+% \page[left]
+% \definecolumntextarea[intro][left][x=1,y=1,nx=4,ny=20,state=start,background=introlayer]
+% \setupcolumntextareatext[intro][left][\setups{intro}]
+% \flushcolumntextareas
+
+\def\flushcolumntextareas
+ {\initializecolumntextareas
+ \setvsize}
+
% And so, after a few years of keeping this potentially dangerous
% speedup in cont-exp, we now move it to the kernel: the next
% patch is 30\% faster on main interface (seconds) (9->7 sec on
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index 9ce29a94a..2e26cabb2 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.10.19}
+\def\contextversion{2004.10.26}
%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-fld.tex b/tex/context/base/core-fld.tex
index 51cf8749d..8f8c5f263 100644
--- a/tex/context/base/core-fld.tex
+++ b/tex/context/base/core-fld.tex
@@ -233,7 +233,7 @@
\xdef\@@DriverFieldParent {#4}%
\xdef\@@DriverFieldKids {#5}%
\xdef\@@DriverFieldGroup {#6}%
- \setfieldmodes #7%
+ \setfieldmodes #7%
\bgroup
\def\par{\string\n\string\n}%
\xdef\@@DriverFieldValues {#8}%
@@ -255,42 +255,42 @@
\def\doshowfields[#1]% todo: tabulate van maken en runtime
{\bgroup
- \switchtobodyfont[8pt,tt]
- \doifsomething{#1}{\def\collectedfields{#1}}
+ \switchtobodyfont[8pt,tt]%
+ \doifsomething{#1}{\def\collectedfields{#1}}%
\ifx\collectedfields\empty
\par specify [fieldlist] or say \type{\tracefieldstrue} first\par
\else
\def\normalizedfieldmode##1##2##3%
{\ifcase0##2 \else\sl\fi
- \ifcase0##1 loner\or parent\or clone\or copy\fi}
+ \ifcase0##1 loner\or parent\or clone\or copy\fi}%
\def\dosetfield##1##2##3##4##5##6##7##8##9%
- {##1&##2&##3&##4&##5&##6&\normalizedfieldmode##7&##8&##9\cr}
+ {##1&##2&##3&##4&##5&##6&\normalizedfieldmode##7&##8&##9\cr}%
\halign
{&##\strut\hss\quad\cr
- \noalign{\hrule}
+ \noalign{\hrule}%
NAME &TYPE &ROOT &
PARENT&KIDS &GROUP &
MODE &VALUES&DEFAULT\cr
- \noalign{\hrule}
+ \noalign{\hrule}%
\@EA\globalprocesscommalist\@EA[\collectedfields]\getfield
- \noalign{\hrule}}
+ \noalign{\hrule}}%
\fi
\egroup}
-\def\showfields%
+\def\showfields
{\dosingleempty\doshowfields}
\def\dologfields[#1]%
{\bgroup
\immediate\openout\scratchwrite=fields.log
- \doifsomething{#1}{\def\collectedfields{#1}}
+ \doifsomething{#1}{\def\collectedfields{#1}}%
\ifx\colledtedfields\empty
\immediate\write\scratchwrite{use \tracefieldstrue}%
\else
\def\normalizedfieldmode##1##2##3%
{\edef\@@DriverFieldMode
{\ifcase##1 loner \or parent \or clone \or copy \fi
- \ifcase##2 \else(done)\fi}}
+ \ifcase##2 \else(done)\fi}}%
\def\dosetfield##1##2##3##4##5##6##7##8##9%
{\normalizedfieldmode##7%
\immediate\write\scratchwrite
@@ -399,15 +399,15 @@
\def\setfieldreferences
{\def\fieldreference##1##2%
- {\ifundefined{\r!widget##1}
+ {\ifundefined{\r!widget##1}%
\setxvalue{\r!widget##1}{##2}%
\else
\edef\!!stringa{\getvalue{\r!widget##1}}%
\setxvalue{\r!widget##1}{\!!stringa,##2}%
\fi}}
-\def\resetfieldreferences%
- {\let\fieldreference=\gobbletwoarguments}
+\def\resetfieldreferences
+ {\let\fieldreference\gobbletwoarguments}
\def\getmainfieldkids#1%
{\checkfieldreferences
@@ -647,14 +647,10 @@
\writestatus\m!fields{pass parent field and copies}%
\fi}
-\def\copyfield%
- {\dodoubleempty\docopyfield}
+\def\copyfield{\dodoubleempty\docopyfield}
-\unexpanded\def\field%
- {\dotripleempty\dofield[\dohandlefield]}
-
-\unexpanded\def\fitfield%
- {\dotripleempty\dofield[\dohandlefitfield]}
+\unexpanded\def\field {\dotripleempty\dofield[\dohandlefield]}
+\unexpanded\def\fitfield{\dotripleempty\dofield[\dohandlefitfield]}
\def\dofield[#1][#2][#3]%
{\iffirstargument
@@ -751,7 +747,7 @@
\def\docommando##1{\dodosetupfield[##1][#2][][][#3]}%
\processcommalist[#1]\docommando
\else\ifsecondargument
- \doifelse{#2}{\v!reset}
+ \doifelse{#2}\v!reset
{\def\docommando##1{\donosetupfield[#1][][][][]}}
{\def\docommando##1{\dodosetupfield[##1][][][][#2]}}%
\processcommalist[#1]\docommando
@@ -826,13 +822,13 @@
\fi
\dontcomplain
\ifShowFieldLabel
- \setbox0=\hbox
+ \setbox0\hbox
{\reshapeframeboxtrue % else wrong dimensions
\framed
[\c!style=,\c!color=,\c!align=\c!right,#4]
{\@@DriverFieldLabel}}%
\fi
- \setbox2=\hbox
+ \setbox2\hbox
{\reshapeframeboxtrue % else wrong dimensions
\ifVerticalField
\setupframed[\c!height=6ex,\c!width=\hsize]%
@@ -924,8 +920,8 @@
\doifelsenothing{#1}
{\def\therightanswer{#2}}
{\def\therightanswer{#1}}%
- \setbox0=\hbox{#2}%
- \setbox2=\hbox{\therightanswer}%
+ \setbox0\hbox{#2}%
+ \setbox2\hbox{\therightanswer}%
\dimen0=\ifdim\wd0>\wd2 \wd0 \else \wd2 \fi
\advance\dimen0 .2em
\definefield
@@ -955,7 +951,7 @@
\setbox0\hbox
{\dontcomplain
\nextsystemfield
- \setbox0=\hbox{#2}%
+ \setbox0\hbox{#2}%
\definesymbol
[\currentsystemfield:txt]
[{\inframed[\c!frame=\v!off,\c!background=\v!screen]{#3}}]%
diff --git a/tex/context/base/core-job.tex b/tex/context/base/core-job.tex
index b45b5d495..9942f2430 100644
--- a/tex/context/base/core-job.tex
+++ b/tex/context/base/core-job.tex
@@ -364,19 +364,19 @@
\def\executesystemcommand{\immediate\write18}
-\ifnum\etexversion<202
+\ifx\etexversion\undefined \else \ifnum\etexversion<202
\prependtoks
\writestatus\m!systems{eTeX version \number\etexversion\space -> too old (bugs)}%
\writeline
\to \everyjob
-\fi
+\fi \fi
-\ifnum\number\pdftexversion<120
+\ifx\pdftexversion\undefined \else \ifnum\number\pdftexversion<120
\prependtoks
\writestatus\m!systems{pdfTeX version \number\pdftexversion\space -> please update}%
\writeline
\to \everyjob
-\fi
+\fi \fi
\prependtoks \showcontextbanner \to \everyjob
diff --git a/tex/context/base/core-mis.tex b/tex/context/base/core-mis.tex
index be7ba2008..c86df8716 100644
--- a/tex/context/base/core-mis.tex
+++ b/tex/context/base/core-mis.tex
@@ -1667,49 +1667,6 @@
\setrigidcolumnhsize\hsize\@@lddistance\@@ldn
\fi}
-% \def\afterbothpairedboxes
-% {\setbox\secondpairedbox\vbox
-% {\ifnum\@@ldn>1 \rigidcolumnbalance\nextbox \else \flushnextbox \fi}%
-% \ifnum\pairedlocationa<2\hbox\else\vbox\fi\bgroup % hide vsize
-% \forgetall
-% \ifnum\pairedlocationa<2
-% \scratchdimen\maxoftwoboxdimens\ht\firstpairedbox\secondpairedbox
-% \vsize\scratchdimen
-% \ifdim\scratchdimen<\@@ldhoogte\relax % can be \vsize
-% \scratchdimen\@@ldhoogte
-% \fi
-% \ifdim\scratchdimen>\@@ldmaxhoogte\relax
-% \scratchdimen\@@ldmaxhoogte
-% \fi
-% \valignpairedbox\firstpairedbox \scratchdimen
-% \valignpairedbox\secondpairedbox\scratchdimen
-% \else
-% \scratchdimen\maxoftwoboxdimens\wd\firstpairedbox\secondpairedbox
-% \halignpairedbox\firstpairedbox \scratchdimen
-% \halignpairedbox\secondpairedbox\scratchdimen
-% \scratchdimen\ht\secondpairedbox
-% \vsize\scratchdimen
-% \ifdim\ht\secondpairedbox<\@@ldhoogte\relax % can be \vsize
-% \scratchdimen\@@ldhoogte\relax % \relax needed
-% \fi
-% \ifdim\scratchdimen>\@@ldmaxhoogte\relax % todo: totale hoogte
-% \scratchdimen\@@ldmaxhoogte\relax % \relax needed
-% \fi
-% \ifdim\scratchdimen>\ht\secondpairedbox
-% \setbox\secondpairedbox\vbox to \scratchdimen
-% {\ifnum\pairedlocationa=3 \vss\fi %
-% \box\secondpairedbox
-% \ifnum\pairedlocationa=2 \vss\fi}% \kern\zeropoint
-% \fi
-% \fi
-% \ifcase\pairedlocationa
-% \box\secondpairedbox\hskip\@@ldafstand\box\firstpairedbox \or
-% \box\firstpairedbox \hskip\@@ldafstand\box\secondpairedbox\or
-% \box\secondpairedbox\par \@@ldtussen \box\firstpairedbox \or
-% \box\firstpairedbox \par \@@ldtussen \box\secondpairedbox\else
-% \fi
-% \egroup}
-
\def\afterbothpairedboxes
{\setbox\secondpairedbox\vbox
{% \localstartcolor[\@@ldcolor]% does not work yet
diff --git a/tex/context/base/core-ref.tex b/tex/context/base/core-ref.tex
index 75ff24a6d..cfb885e84 100644
--- a/tex/context/base/core-ref.tex
+++ b/tex/context/base/core-ref.tex
@@ -2235,19 +2235,19 @@
\v!start=>\referencingtrue]%
\processaction
[\@@rfinteraction]
- [ \v!all=>\let\dowantedreference\docompletereference,
- \v!label=>\let\dowantedreference\dolabelonlyreference,
+ [ \v!all=>\let\dowantedreference\docompletereference,
+ \v!label=>\let\dowantedreference\dolabelonlyreference,
\v!text=>\let\dowantedreference\dotextonlyreference,
\v!symbol=>\let\dowantedreference\dosymbolreference]%
\chardef\autocrossfilereferences\zerocount
\processaction
[\@@rfautofile]
- [ \v!yes=>\chardef\autocrossfilereferences\plusone,
+ [ \v!yes=>\chardef\autocrossfilereferences\plusone,
\v!page=>\chardef\autocrossfilereferences\plustwo]%
\chardef\referencefilecase\zerocount
\processaction[\@@rfconvertfile]
- [ \v!yes=>\chardef\referencefilecase\plusone,
- \v!big=>\chardef\referencefilecase\plusone,
+ [ \v!yes=>\chardef\referencefilecase\plusone,
+ \v!big=>\chardef\referencefilecase\plusone,
\v!small=>\chardef\referencefilecase\plustwo]%
%\doifelse\@@rfstrut\v!yes % some day an option
% \referencetruttrue\referencestrutfalse
diff --git a/tex/context/base/core-sec.tex b/tex/context/base/core-sec.tex
index 4d4f3248e..bb27285d4 100644
--- a/tex/context/base/core-sec.tex
+++ b/tex/context/base/core-sec.tex
@@ -2028,7 +2028,7 @@
% uit van een meerregelige kop
\defineheadplacement[\v!bottom][\v!vertical]#1#2{\placeheadlohi\vbox{#1}{#2}}
-\defineheadplacement[\v!top][\v!vertical]#1#2{\placeheadlohi\vtop{#1}{#2}}
+\defineheadplacement[\v!top] [\v!vertical]#1#2{\placeheadlohi\vtop{#1}{#2}}
% default == instellingen
% koppeling == koppen, breaks, marks, enz.
diff --git a/tex/context/base/enco-acc.tex b/tex/context/base/enco-acc.tex
index b8b0ff40a..59d89dc54 100644
--- a/tex/context/base/enco-acc.tex
+++ b/tex/context/base/enco-acc.tex
@@ -24,8 +24,8 @@
\defineaccent ^ E {\Ecircumflex} \defineaccent ^ e {\ecircumflex}
\defineaccent ^ G {\Gcircumflex} \defineaccent ^ g {\gcircumflex}
\defineaccent ^ H {\Hcircumflex} \defineaccent ^ h {\hcircumflex}
-\defineaccent ^ I {\Icircumflex} \defineaccent ^ i {\icircumflex}
-\defineaccent ^ J {\Jcircumflex} \defineaccent ^ j {\jcircumflex}
+\defineaccent ^ I {\Icircumflex} \defineaccent ^ i {\icircumflex} \defineaccent ^ {\i} {\icircumflex}
+\defineaccent ^ J {\Jcircumflex} \defineaccent ^ j {\jcircumflex} \defineaccent ^ {\j} {\jcircumflex}
\defineaccent ^ O {\Ocircumflex} \defineaccent ^ o {\ocircumflex}
\defineaccent ^ S {\Scircumflex} \defineaccent ^ s {\scircumflex}
\defineaccent ^ U {\Ucircumflex} \defineaccent ^ u {\ucircumflex}
@@ -34,19 +34,19 @@
\defineaccent ` A {\Agrave} \defineaccent ` a {\agrave}
\defineaccent ` E {\Egrave} \defineaccent ` e {\egrave}
-\defineaccent ` I {\Igrave} \defineaccent ` i {\igrave}
+\defineaccent ` I {\Igrave} \defineaccent ` i {\igrave} \defineaccent ` {\i} {\igrave}
\defineaccent ` O {\Ograve} \defineaccent ` o {\ograve}
\defineaccent ` U {\Ugrave} \defineaccent ` u {\ugrave}
\defineaccent ` Y {\Ygrave} \defineaccent ` y {\ygrave}
\defineaccent ~ A {\Atilde} \defineaccent ~ a {\atilde}
-\defineaccent ~ I {\Itilde} \defineaccent ~ i {\itilde}
+\defineaccent ~ I {\Itilde} \defineaccent ~ i {\itilde} \defineaccent ~ {\i} {\itilde}
\defineaccent ~ O {\Otilde} \defineaccent ~ o {\otilde}
\defineaccent ~ U {\Utilde} \defineaccent ~ u {\utilde}
\defineaccent " A {\Adiaeresis} \defineaccent " a {\adiaeresis}
\defineaccent " E {\Ediaeresis} \defineaccent " e {\ediaeresis}
-\defineaccent " I {\Idiaeresis} \defineaccent " i {\idiaeresis}
+\defineaccent " I {\Idiaeresis} \defineaccent " i {\idiaeresis} \defineaccent " {\i} {\idiaeresis}
\defineaccent " O {\Odiaeresis} \defineaccent " o {\odiaeresis}
\defineaccent " U {\Udiaeresis} \defineaccent " u {\udiaeresis}
\defineaccent " Y {\Ydiaeresis} \defineaccent " y {\ydiaeresis}
@@ -54,7 +54,7 @@
\defineaccent ' A {\Aacute} \defineaccent ' a {\aacute}
\defineaccent ' C {\Cacute} \defineaccent ' c {\cacute}
\defineaccent ' E {\Eacute} \defineaccent ' e {\eacute}
-\defineaccent ' I {\Iacute} \defineaccent ' i {\iacute}
+\defineaccent ' I {\Iacute} \defineaccent ' i {\iacute} \defineaccent ' {\i} {\iacute}
\defineaccent ' L {\Lacute} \defineaccent ' l {\lacute}
\defineaccent ' N {\Nacute} \defineaccent ' n {\nacute}
\defineaccent ' O {\Oacute} \defineaccent ' o {\oacute}
@@ -67,12 +67,12 @@
\defineaccent . C {\Cdotaccent} \defineaccent . c {\cdotaccent}
\defineaccent . E {\Edotaccent} \defineaccent . e {\edotaccent}
\defineaccent . G {\Gdotaccent} \defineaccent . g {\gdotaccent}
-\defineaccent . I {\Idotaccent} \defineaccent . i {\idotaccent}
+\defineaccent . I {\Idotaccent} \defineaccent . i {\idotaccent} \defineaccent . {\i} {\idotaccent}
\defineaccent . Z {\Zdotaccent} \defineaccent . z {\zdotaccent}
\defineaccent = A {\Amacron} \defineaccent = a {\amacron}
\defineaccent = E {\Emacron} \defineaccent = e {\emacron}
-\defineaccent = I {\Imacron} \defineaccent = i {\imacron}
+\defineaccent = I {\Imacron} \defineaccent = i {\imacron} \defineaccent = {\i} {\imacron}
\defineaccent = O {\Omacron} \defineaccent = o {\omacron}
\defineaccent = U {\Umacron} \defineaccent = u {\umacron}
@@ -98,7 +98,7 @@
\defineaccent u A {\Abreve} \defineaccent u a {\abreve}
\defineaccent u E {\Ebreve} \defineaccent u e {\ebreve}
\defineaccent u G {\Gbreve} \defineaccent u g {\gbreve}
-\defineaccent u I {\Ibreve} \defineaccent u i {\ibreve}
+\defineaccent u I {\Ibreve} \defineaccent u i {\ibreve} \defineaccent u {\i} {\ibreve}
\defineaccent u O {\Obreve} \defineaccent u o {\obreve}
\defineaccent u U {\Ubreve} \defineaccent u u {\ubreve}
diff --git a/tex/context/base/enco-fde.tex b/tex/context/base/enco-fde.tex
index 7a3e533cb..92ce7cc96 100644
--- a/tex/context/base/enco-fde.tex
+++ b/tex/context/base/enco-fde.tex
@@ -65,7 +65,7 @@
\installcompoundcharacter "' {\handlequotation\c!rightquotation}
\installcompoundcharacter ". {\kern.1em\ignorespaces}
- \def\setupDElanguage%
+ \def\setupDElanguage
{\setuplanguage
[\s!de]
[\c!leftsentence=\leftguillemot,
@@ -84,9 +84,11 @@
%D An experimental hack:
+% no {\simplifiedcompoundcharacter"}
+
\startencoding[pdfdoc]
\startlanguagespecifics[\s!de]% hm, a % is needed
- \defineactivecharacter " {\"} % no {\simplifiedcompoundcharacter"}
+ \defineactivecharacter " {\"}
\stoplanguagespecifics
\stopencoding
diff --git a/tex/context/base/enco-lat.tex b/tex/context/base/enco-lat.tex
index 3b52c9701..2623aae8d 100644
--- a/tex/context/base/enco-lat.tex
+++ b/tex/context/base/enco-lat.tex
@@ -1,7 +1,7 @@
% temporary module, needed for downward compatibility
-\input regi-lat.tex
+\input regi-lat.tex
-\enableregime[latin2]
+\enableregime[latin2]
-\endinput
+\endinput
diff --git a/tex/context/base/enco-uc.tex b/tex/context/base/enco-uc.tex
index 87121a29d..751f9f340 100644
--- a/tex/context/base/enco-uc.tex
+++ b/tex/context/base/enco-uc.tex
@@ -1,3 +1,19 @@
+%D \module
+%D [ file=enco-uc,
+%D version=2000.xx.xx, % and later
+%D title=\CONTEXT\ Encoding Macros,
+%D subtitle=Unicode (backwards mapping),
+%D author={Adam Lindsay \& Hans Hagen},
+%D date=\currentdate,
+%D copyright=PRAGMA ADE]
+%C
+%C This module is part of the \CONTEXT\ macro||package and is
+%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
+%C details.
+
+%D An alternative approach would be to misuse the utf vectors, but they
+%D don't carry enough info around.
+
\startencoding[uc]
\definecharacter Agrave {\uchar0{192}}
@@ -113,7 +129,7 @@
\definecharacter Iogonek {\uchar1{46}}
\definecharacter iogonek {\uchar1{47}}
\definecharacter Idotaccent {\uchar1{48}}
-\definecharacter idotless {\uchar1{49}}
+\definecharacter dotlessi {\uchar1{49}}
\definecharacter IJligature {\uchar1{50}}
\definecharacter ijligature {\uchar1{51}}
\definecharacter Jcircumflex {\uchar1{52}}
@@ -195,4 +211,294 @@
\stopencoding
+\startencoding[uc]
+
+\definecharacter endash {\uchar{32}{19}}
+\definecharacter emdash {\uchar{32}{20}}
+\definecharacter quoteleft {\uchar{32}{24}}
+\definecharacter quoteright {\uchar{32}{25}}
+\definecharacter quotesinglebase {\uchar{32}{26}}
+
+\definecharacter quotedblleft {\uchar{32}{28}}
+\definecharacter quotedblright {\uchar{32}{29}}
+\definecharacter quotedblbase {\uchar{32}{30}}
+
+\definecharacter leftguillemot {\uchar0{171}}
+\definecharacter rightguillemot {\uchar0{187}}
+\definecharacter guilsingleleft {\uchar{32}{57}}
+\definecharacter guilsingleright {\uchar{32}{58}}
+
+\stopencoding
+
+%D a temporary guess:
+
+\startencoding[default]
+
+\definecommand Greekleftquot {\leftguillemot}
+\definecommand Greekrightquot {\rightguillemot}
+
+\stopencoding
+
+%D Adam Lindsay's additions
+
+\startencoding[uc]
+
+\definecharacter exclamdown {\uchar0{161}}
+\definecharacter textcent {\uchar0{162}}
+\definecharacter textsterling {\uchar0{163}}
+\definecharacter textcurrency {\uchar0{164}}
+\definecharacter textyen {\uchar0{165}}
+\definecharacter textbrokenbar {\uchar0{166}}
+\definecharacter sectionmark {\uchar0{167}}
+\definecharacter textdiaresis {\uchar0{168}}
+\definecharacter copyright {\uchar0{169}}
+
+\definecharacter textlognot {\uchar0{172}}
+\definecharacter softhyphen {\uchar0{173}}
+\definecharacter registered {\uchar0{174}}
+\definecharacter textmacron {\uchar0{175}}
+\definecharacter textdegree {\uchar0{176}}
+\definecharacter textpm {\uchar0{177}}
+\definecharacter twosuperior {\uchar0{178}}
+\definecharacter threesuperior {\uchar0{179}}
+\definecharacter textacute {\uchar0{180}}
+\definecharacter textmu {\uchar0{181}}
+\definecharacter paragraphmark {\uchar0{182}}
+\definecharacter periodcentered {\uchar0{183}}
+\definecharacter textcedilla {\uchar0{184}}
+\definecharacter onesuperior {\uchar0{185}}
+
+\definecharacter textgrave {\uchar3{0}}
+\definecharacter textacute {\uchar3{1}}
+\definecharacter textcircumflex {\uchar3{2}}
+\definecharacter texttilde {\uchar3{3}}
+\definecharacter textmacron {\uchar3{4}}
+\definecharacter textbreve {\uchar3{6}}
+\definecharacter textdotaccent {\uchar3{7}}
+\definecharacter textdiaeresis {\uchar3{8}}
+\definecharacter textring {\uchar3{10}}
+\definecharacter texthungarumlaut {\uchar3{11}}
+\definecharacter textcaron {\uchar3{12}}
+\definecharacter textogonek {\uchar3{40}}
+
+\definecharacter onequarter {\uchar0{188}}
+\definecharacter onehalf {\uchar0{189}}
+\definecharacter threequarters {\uchar0{190}}
+\definecharacter questiondown {\uchar0{191}}
+
+\definecharacter textmultiply {\uchar0{215}}
+\definecharacter textdiv {\uchar0{247}}
+
+\definecharacter textdag {\uchar{32}{32}}
+\definecharacter textddag {\uchar{32}{33}}
+\definecharacter textbullet {\uchar{32}{34}}
+\definecharacter textellipsis {\uchar{32}{38}}
+\definecharacter perthousand {\uchar{32}{48}}
+
+%D semi-automatic conversion meant it was easier to use
+%D hex numbers here:
+
+\definecharacter GreekAlphatonos {\uchar3{"86}}
+\definecharacter GreekEpsilontonos {\uchar3{"88}}
+\definecharacter GreekEtatonos {\uchar3{"89}}
+\definecharacter GreekIotatonos {\uchar3{"8A}}
+\definecharacter GreekOmicrontonos {\uchar3{"8C}}
+\definecharacter GreekUpsilontonos {\uchar3{"8E}}
+\definecharacter GreekOmegatonos {\uchar3{"8F}}
+\definecharacter Greekiotadialytikatonos {\uchar3{"90}}
+\definecharacter GreekAlpha {\uchar3{"91}}
+\definecharacter GreekBeta {\uchar3{"92}}
+\definecharacter GreekGamma {\uchar3{"93}}
+\definecharacter GreekDelta {\uchar3{"94}}
+\definecharacter GreekEpsilon {\uchar3{"95}}
+\definecharacter GreekZeta {\uchar3{"96}}
+\definecharacter GreekEta {\uchar3{"97}}
+\definecharacter GreekTheta {\uchar3{"98}}
+\definecharacter GreekIota {\uchar3{"99}}
+\definecharacter GreekKappa {\uchar3{"9A}}
+\definecharacter GreekLamda {\uchar3{"9B}}
+\definecharacter GreekMu {\uchar3{"9C}}
+\definecharacter GreekNu {\uchar3{"9D}}
+\definecharacter GreekXi {\uchar3{"9E}}
+\definecharacter GreekOmicron {\uchar3{"9F}}
+\definecharacter GreekPi {\uchar3{"A0}}
+\definecharacter GreekRho {\uchar3{"A1}}
+\definecharacter GreekSigma {\uchar3{"A3}}
+\definecharacter GreekTau {\uchar3{"A4}}
+\definecharacter GreekUpsilon {\uchar3{"A5}}
+\definecharacter GreekPhi {\uchar3{"A6}}
+\definecharacter GreekChi {\uchar3{"A7}}
+\definecharacter GreekPsi {\uchar3{"A8}}
+\definecharacter GreekOmega {\uchar3{"A9}}
+
+\definecharacter GreekIotadialytika {\uchar3{"AA}}
+\definecharacter GreekUpsilondialytika {\uchar3{"AB}}
+
+\definecharacter Greekalphatonos {\uchar3{"AC}}
+\definecharacter Greekepsilontonos {\uchar3{"AD}}
+\definecharacter Greeketatonos {\uchar3{"AE}}
+\definecharacter Greekiotatonos {\uchar3{"AF}}
+\definecharacter Greekupsilondialytikatonos {\uchar3{"B0}}
+
+\definecharacter Greekalpha {\uchar3{"B1}}
+\definecharacter Greekbeta {\uchar3{"B2}}
+\definecharacter Greekgamma {\uchar3{"B3}}
+\definecharacter Greekdelta {\uchar3{"B4}}
+\definecharacter Greekepsilon {\uchar3{"B5}}
+\definecharacter Greekzeta {\uchar3{"B6}}
+\definecharacter Greeketa {\uchar3{"B7}}
+\definecharacter Greektheta {\uchar3{"B8}}
+\definecharacter Greekiota {\uchar3{"B9}}
+\definecharacter Greekkappa {\uchar3{"BA}}
+\definecharacter Greeklamda {\uchar3{"BB}}
+\definecharacter Greekmu {\uchar3{"BC}}
+\definecharacter Greeknu {\uchar3{"BD}}
+\definecharacter Greekxi {\uchar3{"BE}}
+\definecharacter Greekomicron {\uchar3{"BF}}
+\definecharacter Greekpi {\uchar3{"C0}}
+\definecharacter Greekrho {\uchar3{"C1}}
+\definecharacter Greekfinalsigma {\uchar3{"C2}}
+\definecharacter Greeksigma {\uchar3{"C3}}
+\definecharacter Greektau {\uchar3{"C4}}
+\definecharacter Greekupsilon {\uchar3{"C5}}
+\definecharacter Greekphi {\uchar3{"C6}}
+\definecharacter Greekchi {\uchar3{"C7}}
+\definecharacter Greekpsi {\uchar3{"C8}}
+\definecharacter Greekomega {\uchar3{"C9}}
+\definecharacter Greekiotadialytika {\uchar3{"CA}}
+\definecharacter Greekupsilondialytika {\uchar3{"CB}}
+\definecharacter Greekomicrontonos {\uchar3{"CC}}
+\definecharacter Greekupsilontonos {\uchar3{"CD}}
+\definecharacter Greekomegatonos {\uchar3{"CE}}
+
+\definecharacter cyrillicA {\uchar4{"10}}
+\definecharacter cyrillicB {\uchar4{"11}}
+\definecharacter cyrillicV {\uchar4{"12}}
+\definecharacter cyrillicG {\uchar4{"13}}
+\definecharacter cyrillicD {\uchar4{"14}}
+\definecharacter cyrillicE {\uchar4{"15}}
+\definecharacter cyrillicZH {\uchar4{"16}}
+\definecharacter cyrillicZ {\uchar4{"17}}
+\definecharacter cyrillicI {\uchar4{"18}}
+\definecharacter cyrillicISHRT {\uchar4{"19}}
+\definecharacter cyrillicK {\uchar4{"1A}}
+\definecharacter cyrillicL {\uchar4{"1B}}
+\definecharacter cyrillicM {\uchar4{"1C}}
+\definecharacter cyrillicN {\uchar4{"1D}}
+\definecharacter cyrillicO {\uchar4{"1E}}
+\definecharacter cyrillicP {\uchar4{"1F}}
+\definecharacter cyrillicR {\uchar4{"20}}
+\definecharacter cyrillicS {\uchar4{"21}}
+\definecharacter cyrillicT {\uchar4{"22}}
+\definecharacter cyrillicU {\uchar4{"23}}
+\definecharacter cyrillicF {\uchar4{"24}}
+\definecharacter cyrillicH {\uchar4{"25}}
+\definecharacter cyrillicC {\uchar4{"26}}
+\definecharacter cyrillicCH {\uchar4{"27}}
+\definecharacter cyrillicSH {\uchar4{"28}}
+\definecharacter cyrillicSHCH {\uchar4{"29}}
+\definecharacter cyrillicHRDSN {\uchar4{"2A}}
+\definecharacter cyrillicERY {\uchar4{"2B}}
+\definecharacter cyrillicSFTSN {\uchar4{"2C}}
+\definecharacter cyrillicEREV {\uchar4{"2D}}
+\definecharacter cyrillicYU {\uchar4{"2E}}
+\definecharacter cyrillicYA {\uchar4{"2F}}
+
+\definecharacter cyrillica {\uchar4{"30}}
+\definecharacter cyrillicb {\uchar4{"31}}
+\definecharacter cyrillicv {\uchar4{"32}}
+\definecharacter cyrillicg {\uchar4{"33}}
+\definecharacter cyrillicd {\uchar4{"34}}
+\definecharacter cyrillice {\uchar4{"35}}
+\definecharacter cyrilliczh {\uchar4{"36}}
+\definecharacter cyrillicz {\uchar4{"37}}
+\definecharacter cyrillici {\uchar4{"38}}
+\definecharacter cyrillicishrt {\uchar4{"39}}
+\definecharacter cyrillick {\uchar4{"3A}}
+\definecharacter cyrillicl {\uchar4{"3B}}
+\definecharacter cyrillicm {\uchar4{"3C}}
+\definecharacter cyrillicn {\uchar4{"3D}}
+\definecharacter cyrillico {\uchar4{"3E}}
+\definecharacter cyrillicp {\uchar4{"3F}}
+\definecharacter cyrillicr {\uchar4{"40}}
+\definecharacter cyrillics {\uchar4{"41}}
+\definecharacter cyrillict {\uchar4{"42}}
+\definecharacter cyrillicu {\uchar4{"43}}
+\definecharacter cyrillicf {\uchar4{"44}}
+\definecharacter cyrillich {\uchar4{"45}}
+\definecharacter cyrillicc {\uchar4{"46}}
+\definecharacter cyrillicch {\uchar4{"47}}
+\definecharacter cyrillicsh {\uchar4{"48}}
+\definecharacter cyrillicshch {\uchar4{"49}}
+\definecharacter cyrillichrdsn {\uchar4{"4A}}
+\definecharacter cyrillicery {\uchar4{"4B}}
+\definecharacter cyrillicsftsn {\uchar4{"4C}}
+\definecharacter cyrillicerev {\uchar4{"4D}}
+\definecharacter cyrillicyu {\uchar4{"4E}}
+\definecharacter cyrillicya {\uchar4{"4F}}
+
+%D For victor:
+
+%D I tried to figure out what these were, but the unicode
+%D tables suggested they were the same as cyrillici, which was
+%D already defined! So, a temporary definition:
+
+% \def\cyrillicII{\cyrillicI}
+% \def\cyrillicii{\cyrillici}
+
+%D a guess derived from looking at enco-cyr suggests that this is
+%D identical to the Roman I/i pair. To me, that sounds like
+%D CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I in the UC tables!
+
+\definecharacter cyrillicII {\uchar4{"06}}
+\definecharacter cyrillicii {\uchar4{"56}}
+
+%D Guessing that tlir6a corresponds with t2a encoding as advertised,
+%D here are some more, cos I had some spare time:
+
+\definecharacter cyrillicDJE {\uchar4{"02}}
+\definecharacter cyrillicdje {\uchar4{"52}}
+\definecharacter cyrillicTSHE {\uchar4{"0B}}
+\definecharacter cyrillictshe {\uchar4{"5B}}
+%definecharacter cyrillicSHHA 132
+%definecharacter cyrillicshha 164
+%definecharacter cyrillicZHDSC 133
+%definecharacter cyrilliczhdsc 165
+\definecharacter cyrillicZDSC {\uchar4{"98}}
+\definecharacter cyrilliczdsc {\uchar4{"99}}
+\definecharacter cyrillicLJE {\uchar4{"09}}
+\definecharacter cyrilliclje {\uchar4{"59}}
+\definecharacter cyrillicYI {\uchar4{"07}}
+\definecharacter cyrillicyi {\uchar4{"57}}
+\definecharacter cyrillicAE {\uchar4{"D4}}
+\definecharacter cyrillicae {\uchar4{"D5}}
+%definecharacter cyrillicNDSC 141
+%definecharacter cyrillicndsc 173
+%definecharacter cyrillicNG 142
+%definecharacter cyrillicng 174
+\definecharacter cyrillicDZE {\uchar4{"05}}
+\definecharacter cyrillicdze {\uchar4{"55}}
+%definecharacter cyrillicOTLD 144
+%definecharacter cyrillicotld 176
+\definecharacter cyrillicSDSC {\uchar4{"AA}}
+\definecharacter cyrillicsdsc {\uchar4{"AB}}
+\definecharacter cyrillicUSHRT {\uchar4{"0E}}
+\definecharacter cyrillicushrt {\uchar4{"5E}}
+%definecharacter cyrillicY 147
+%definecharacter cyrillicy 179
+%definecharacter cyrillicYHCRS 148
+%definecharacter cyrillicyhcrs 180
+%definecharacter cyrillicHDSC 149
+%definecharacter cyrillichdsc 181
+\definecharacter cyrillicDZHE {\uchar4{"0F}}
+\definecharacter cyrillicdzhe {\uchar4{"5F}}
+\definecharacter cyrillicIE {\uchar4{"04}}
+\definecharacter cyrillicie {\uchar4{"54}}
+\definecharacter cyrillicNJE {\uchar4{"0A}}
+\definecharacter cyrillicnje {\uchar4{"5A}}
+\definecharacter cyrillicYO {\uchar4{"01}}
+\definecharacter cyrillicyo {\uchar4{"51}}
+
+\stopencoding
+
\endinput
diff --git a/tex/context/base/lang-grk.tex b/tex/context/base/lang-grk.tex
index b0b0e0b15..9e9223adc 100644
--- a/tex/context/base/lang-grk.tex
+++ b/tex/context/base/lang-grk.tex
@@ -32,54 +32,54 @@
\c!date={\v!day\ \v!month\ \v!year},
\c!state=\v!stop]
-\installlanguage [greek] [\s!gr]
+\installlanguage [greek] [\s!gr]
-\setupheadtext [\s!fi] [\v!content=\GreekPi\Greekepsilon\Greekrho\Greekiota\Greekepsilon\Greekchi\Greekomicrontonos\Greekmu\Greekepsilon\Greeknu\Greekalpha]
-\setupheadtext [\s!fi] [\v!tables=\GreekPi\Greekiotatonos\Greeknu\Greekalpha\Greekkappa\Greekepsilon\Greekfinalsigma]
-\setupheadtext [\s!fi] [\v!figures=\GreekSigma\Greekchi\Greeketatonos\Greekmu\Greekalpha\Greektau\Greekalpha]
-\setupheadtext [\s!fi] [\v!graphics=\GreekGamma\Greekrho\Greekalpha\Greekphi\Greekiota\Greekkappa\Greekalphatonos]
-\setupheadtext [\s!fi] [\v!intermezzi=\GreekPi\Greekalpha\Greekupsilontonos\Greeksigma\Greekepsilon\Greekiota\Greekfinalsigma]
-\setupheadtext [\s!fi] [\v!index=\GreekEpsilon\Greekupsilon\Greekrho\Greekepsilon\Greektau\Greeketatonos\Greekrho\Greekiota\Greekomicron]
-\setupheadtext [\s!fi] [\v!abbreviations=\GreekSigma\Greekupsilon\Greeknu\Greektau\Greekomicron\Greekmu\Greekomicron\Greekgamma\Greekrho\Greekalpha\Greekphi\Greekiotatonos\Greekepsilon\Greekfinalsigma]
-\setupheadtext [\s!fi] [\v!logos=\GreekLamda\Greekomicron\Greekgamma\Greekomicrontonos\Greektau\Greekupsilon\Greekpi\Greekalpha]
-\setupheadtext [\s!fi] [\v!units=\GreekMu\Greekomicron\Greeknu\Greekalphatonos\Greekdelta\Greekepsilon\Greekfinalsigma]
+\setupheadtext [\s!gr] [\v!content=\GreekPi\Greekepsilon\Greekrho\Greekiota\Greekepsilon\Greekchi\Greekomicrontonos\Greekmu\Greekepsilon\Greeknu\Greekalpha]
+\setupheadtext [\s!gr] [\v!tables=\GreekPi\Greekiotatonos\Greeknu\Greekalpha\Greekkappa\Greekepsilon\Greekfinalsigma]
+\setupheadtext [\s!gr] [\v!figures=\GreekSigma\Greekchi\Greeketatonos\Greekmu\Greekalpha\Greektau\Greekalpha]
+\setupheadtext [\s!gr] [\v!graphics=\GreekGamma\Greekrho\Greekalpha\Greekphi\Greekiota\Greekkappa\Greekalphatonos]
+\setupheadtext [\s!gr] [\v!intermezzi=\GreekPi\Greekalpha\Greekupsilontonos\Greeksigma\Greekepsilon\Greekiota\Greekfinalsigma]
+\setupheadtext [\s!gr] [\v!index=\GreekEpsilon\Greekupsilon\Greekrho\Greekepsilon\Greektau\Greeketatonos\Greekrho\Greekiota\Greekomicron]
+\setupheadtext [\s!gr] [\v!abbreviations=\GreekSigma\Greekupsilon\Greeknu\Greektau\Greekomicron\Greekmu\Greekomicron\Greekgamma\Greekrho\Greekalpha\Greekphi\Greekiotatonos\Greekepsilon\Greekfinalsigma]
+\setupheadtext [\s!gr] [\v!logos=\GreekLamda\Greekomicron\Greekgamma\Greekomicrontonos\Greektau\Greekupsilon\Greekpi\Greekalpha]
+\setupheadtext [\s!gr] [\v!units=\GreekMu\Greekomicron\Greeknu\Greekalphatonos\Greekdelta\Greekepsilon\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!table=\GreekPi\Greekiotatonos\Greeknu\Greekalpha\Greekkappa\Greekalpha\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!figure=\GreekSigma\Greekchi\Greeketatonos\Greekmu\Greekalpha]
+\setuplabeltext [\s!gr] [\v!intermezzo=\GreekPi\Greekalpha\Greekupsilontonos\Greeksigma\Greeketa]
+\setuplabeltext [\s!gr] [\v!graphic=\GreekGamma\Greekrho\Greekalpha\Greekphi\Greekiota\Greekkappa\Greekomicrontonos]
-\setuplabeltext [\s!fi] [\v!table=\GreekPi\Greekiotatonos\Greeknu\Greekalpha\Greekkappa\Greekalpha\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!figure=\GreekSigma\Greekchi\Greeketatonos\Greekmu\Greekalpha]
-\setuplabeltext [\s!fi] [\v!intermezzo=\GreekPi\Greekalpha\Greekupsilontonos\Greeksigma\Greeketa]
-\setuplabeltext [\s!fi] [\v!graphic=\GreekGamma\Greekrho\Greekalpha\Greekphi\Greekiota\Greekkappa\Greekomicrontonos]
-\setuplabeltext [\s!fi] [\v!chapter=\GreekKappa\Greekepsilon\Greekphi\Greekalphatonos\Greeklamda\Greekalpha\Greekiota\Greekomicron]
-\setuplabeltext [\s!fi] [\v!section=\GreekEpsilon\Greeknu\Greekomicrontonos\Greektau\Greeketa\Greektau\Greekalpha]
-\setuplabeltext [\s!fi] [\v!subsection=\GreekUpsilon\Greekpi\Greekomicrontonos\Greekepsilon\Greeknu\Greekomicrontonos\Greektau\Greeketa\Greektau\Greekalpha]
-\setuplabeltext [\s!fi] [\v!subsubsection=]
-\setuplabeltext [\s!fi] [\v!subsubsubsection=]
-\setuplabeltext [\s!fi] [\v!appendix=\GreekPi\Greekalpha\Greekrho\Greekalphatonos\Greekrho\Greektau\Greeketa\Greekmu\Greekalpha]
-\setuplabeltext [\s!fi] [\v!part=\GreekMu\Greekepsilontonos\Greekrho\Greekomicron\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!line=\GreekGamma\Greekrho\Greekalpha\Greekmu\Greekmu\Greeketatonos]
-\setuplabeltext [\s!fi] [\v!lines=\GreekGamma\Greekrho\Greekalpha\Greekmu\Greekmu\Greekepsilontonos\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!chapter=\GreekKappa\Greekepsilon\Greekphi\Greekalphatonos\Greeklamda\Greekalpha\Greekiota\Greekomicron]
+\setuplabeltext [\s!gr] [\v!section=\GreekEpsilon\Greeknu\Greekomicrontonos\Greektau\Greeketa\Greektau\Greekalpha]
+\setuplabeltext [\s!gr] [\v!subsection=\GreekUpsilon\Greekpi\Greekomicrontonos\Greekepsilon\Greeknu\Greekomicrontonos\Greektau\Greeketa\Greektau\Greekalpha]
+\setuplabeltext [\s!gr] [\v!subsubsection=]
+\setuplabeltext [\s!gr] [\v!subsubsubsection=]
-\setuplabeltext [\s!fi] [\v!january=\GreekIota\Greekalpha\Greeknu\Greekomicron\Greekupsilon\Greekalphatonos\Greekrho\Greekiota\Greekomicron\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!february=\GreekPhi\Greekepsilon\Greekbeta\Greekrho\Greekomicron\Greekupsilon\Greekalphatonos\Greekrho\Greekiota\Greekomicron\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!march=\GreekMu\Greekalphatonos\Greekrho\Greektau\Greekiota\Greekomicron\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!april=\GreekAlpha\Greekpi\Greekrho\Greekiotatonos\Greeklamda\Greekiota\Greekomicron\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!may=\GreekMu\Greekalphatonos\Greekiota\Greekomicron\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!june=\GreekIota\Greekomicron\Greekupsilontonos\Greeknu\Greekiota\Greekomicron\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!july=\GreekIota\Greekomicron\Greekupsilontonos\Greeklamda\Greekiota\Greekomicron\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!august=\GreekAlpha\Greekupsilontonos\Greekgamma\Greekomicron\Greekupsilon\Greeksigma\Greektau\Greekomicron\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!september=\GreekSigma\Greekepsilon\Greekpi\Greektau\Greekepsilontonos\Greekmu\Greekbeta\Greekrho\Greekiota\Greekomicron\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!october=\GreekOmicron\Greekkappa\Greektau\Greekomegatonos\Greekbeta\Greekrho\Greekiota\Greekomicron\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!november=\GreekNu\Greekomicron\Greekepsilontonos\Greekmu\Greekbeta\Greekrho\Greekiota\Greekomicron\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!december=\GreekDelta\Greekepsilon\Greekkappa\Greekepsilontonos\Greekmu\Greekbeta\Greekrho\Greekiota\Greekomicron\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!appendix=\GreekPi\Greekalpha\Greekrho\Greekalphatonos\Greekrho\Greektau\Greeketa\Greekmu\Greekalpha]
+\setuplabeltext [\s!gr] [\v!part=\GreekMu\Greekepsilontonos\Greekrho\Greekomicron\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!line=\GreekGamma\Greekrho\Greekalpha\Greekmu\Greekmu\Greeketatonos]
+\setuplabeltext [\s!gr] [\v!lines=\GreekGamma\Greekrho\Greekalpha\Greekmu\Greekmu\Greekepsilontonos\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!january=\GreekIota\Greekalpha\Greeknu\Greekomicron\Greekupsilon\Greekalphatonos\Greekrho\Greekiota\Greekomicron\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!february=\GreekPhi\Greekepsilon\Greekbeta\Greekrho\Greekomicron\Greekupsilon\Greekalphatonos\Greekrho\Greekiota\Greekomicron\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!march=\GreekMu\Greekalphatonos\Greekrho\Greektau\Greekiota\Greekomicron\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!april=\GreekAlpha\Greekpi\Greekrho\Greekiotatonos\Greeklamda\Greekiota\Greekomicron\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!may=\GreekMu\Greekalphatonos\Greekiota\Greekomicron\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!june=\GreekIota\Greekomicron\Greekupsilontonos\Greeknu\Greekiota\Greekomicron\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!july=\GreekIota\Greekomicron\Greekupsilontonos\Greeklamda\Greekiota\Greekomicron\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!august=\GreekAlpha\Greekupsilontonos\Greekgamma\Greekomicron\Greekupsilon\Greeksigma\Greektau\Greekomicron\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!september=\GreekSigma\Greekepsilon\Greekpi\Greektau\Greekepsilontonos\Greekmu\Greekbeta\Greekrho\Greekiota\Greekomicron\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!october=\GreekOmicron\Greekkappa\Greektau\Greekomegatonos\Greekbeta\Greekrho\Greekiota\Greekomicron\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!november=\GreekNu\Greekomicron\Greekepsilontonos\Greekmu\Greekbeta\Greekrho\Greekiota\Greekomicron\Greekfinalsigma]
+\setuplabeltext [\s!gr] [\v!december=\GreekDelta\Greekepsilon\Greekkappa\Greekepsilontonos\Greekmu\Greekbeta\Greekrho\Greekiota\Greekomicron\Greekfinalsigma]
-\setuplabeltext [\s!fi] [\v!sunday=\GreekKappa\Greekupsilon\Greekrho\Greekiota\Greekalpha\Greekkappa\Greeketatonos]
-\setuplabeltext [\s!fi] [\v!monday=\GreekDelta\Greekepsilon\Greekupsilon\Greektau\Greekepsilontonos\Greekrho\Greekalpha]
-\setuplabeltext [\s!fi] [\v!tuesday=\GreekTau\Greekrho\Greekiotatonos\Greektau\Greeketa]
-\setuplabeltext [\s!fi] [\v!wednesday=\GreekTau\Greekepsilon\Greektau\Greekalphatonos\Greekrho\Greektau\Greeketa]
-\setuplabeltext [\s!fi] [\v!thursday=\GreekPi\Greekepsilontonos\Greekmu\Greekpi\Greektau\Greeketa]
-\setuplabeltext [\s!fi] [\v!friday=\GreekPi\Greekalpha\Greekrho\Greekalpha\Greeksigma\Greekkappa\Greekepsilon\Greekupsilon\Greeketatonos]
-\setuplabeltext [\s!fi] [\v!saturday=\GreekSigma\Greekalphatonos\Greekbeta\Greekbeta\Greekalpha\Greektau\Greekomicron]
+\setuplabeltext [\s!gr] [\v!sunday=\GreekKappa\Greekupsilon\Greekrho\Greekiota\Greekalpha\Greekkappa\Greeketatonos]
+\setuplabeltext [\s!gr] [\v!monday=\GreekDelta\Greekepsilon\Greekupsilon\Greektau\Greekepsilontonos\Greekrho\Greekalpha]
+\setuplabeltext [\s!gr] [\v!tuesday=\GreekTau\Greekrho\Greekiotatonos\Greektau\Greeketa]
+\setuplabeltext [\s!gr] [\v!wednesday=\GreekTau\Greekepsilon\Greektau\Greekalphatonos\Greekrho\Greektau\Greeketa]
+\setuplabeltext [\s!gr] [\v!thursday=\GreekPi\Greekepsilontonos\Greekmu\Greekpi\Greektau\Greeketa]
+\setuplabeltext [\s!gr] [\v!friday=\GreekPi\Greekalpha\Greekrho\Greekalpha\Greeksigma\Greekkappa\Greekepsilon\Greekupsilon\Greeketatonos]
+\setuplabeltext [\s!gr] [\v!saturday=\GreekSigma\Greekalphatonos\Greekbeta\Greekbeta\Greekalpha\Greektau\Greekomicron]
%D % \ShowAllLanguageValues [\s!gr] [\GreekEpsilon\Greeklamda\Greeklamda\Greeketa\Greeknu\Greekiota\Greekkappa\Greekalphatonos] Greek ...
diff --git a/tex/context/base/lang-ita.tex b/tex/context/base/lang-ita.tex
index 6bfe6c742..6db5bf54c 100644
--- a/tex/context/base/lang-ita.tex
+++ b/tex/context/base/lang-ita.tex
@@ -358,7 +358,7 @@
\setuplabeltext [\s!ca] [\v!january=gener]
\setuplabeltext [\s!ca] [\v!february=febrer]
-\setuplabeltext [\s!ca] [\v!march=mar\,c]
+\setuplabeltext [\s!ca] [\v!march=mar\c{c}]
\setuplabeltext [\s!ca] [\v!april=abril]
\setuplabeltext [\s!ca] [\v!may=maig]
\setuplabeltext [\s!ca] [\v!june=juny]
diff --git a/tex/context/base/lang-sla.tex b/tex/context/base/lang-sla.tex
index c61d36fae..77b6e879b 100644
--- a/tex/context/base/lang-sla.tex
+++ b/tex/context/base/lang-sla.tex
@@ -324,7 +324,7 @@
\setuplabeltext [\s!hr] [\v!appendix=Dodatak ]
\setuplabeltext [\s!sl] [\v!appendix=Dodatek ]
-\setuplabeltext [\s!pl] [\v!part=Ust\c{e}p]
+\setuplabeltext [\s!pl] [\v!part=Ust\k{e}p]
\setuplabeltext [\s!cz] [\v!part=\v{C}\'ast]
\setuplabeltext [\s!sk] [\v!part=\v{C}as\v{t}]
\setuplabeltext [\s!hr] [\v!part=Dio]
diff --git a/tex/context/base/lang-ura.tex b/tex/context/base/lang-ura.tex
index 1686a2e41..3e77c7a22 100644
--- a/tex/context/base/lang-ura.tex
+++ b/tex/context/base/lang-ura.tex
@@ -80,7 +80,7 @@
\setupheadtext [\s!hu] [\v!graphics=Grafik\'ak]
\setupheadtext [\s!hu] [\v!intermezzi=Intermezzok]
\setupheadtext [\s!hu] [\v!index=Index]
-\setupheadtext [\s!hu] [\v!abbreviations=R\"ovid\'\it\'esek]
+\setupheadtext [\s!hu] [\v!abbreviations=R\"ovid\'it\'esek]
\setupheadtext [\s!hu] [\v!logos=Fejl\'ecek]
\setupheadtext [\s!hu] [\v!units=M\'ert\'ekegys\'egek]
diff --git a/tex/context/base/page-flt.tex b/tex/context/base/page-flt.tex
index fcca715d6..20a72ebdc 100644
--- a/tex/context/base/page-flt.tex
+++ b/tex/context/base/page-flt.tex
@@ -1168,10 +1168,10 @@
\hbox{\doattributes{\??kj#1}\c!headstyle\c!headcolor{\strut#2\floatcaptionsuffix}}%
\ifnofloatcaption \else \ifemptyfloatcaption \else
\ifcase#4\relax
- \scratchskip\@@kjkjafstand\relax
+ \scratchskip\@@kjkjdistance\relax
\dotfskip\scratchskip\emergencystretch.5\scratchskip
\else
- \ifx\@@kjkjtussen\empty\else\unskip\@@kjkjtussen\fi
+ \ifx\@@kjkjinbetween\empty\else\unskip\@@kjkjinbetween\fi
\fi
\fi \fi
\fi
@@ -1217,7 +1217,7 @@
\setbox\tempfloatbox\vbox{\borderedfloatbox{#4}}%
\def\locatefloat
{\chardef\alignstrutmode\zerocount
- \alignedline\@@flflplaats\v!middle}%
+ \alignedline\@@flfllocation\v!middle}%
\docheckcaptioncontent{#1}{#2}{#3}{#4}%
\ifnofloatcaption
\dopreparenocaption{#1}{#2}{#3}{#4}%
@@ -1225,13 +1225,13 @@
\doglobal\addlocalbackgroundtobox\floatbox
\else
% todo: installable maken, variant/method=auto vs macro
- \doifinsetelse\@@kjkjplaats{\v!high,\v!middle,\v!low}
+ \doifinsetelse\@@kjkjlocation{\v!high,\v!middle,\v!low}
{\dopreparesidecaption{#1}{#2}{#3}{#4}}
- {\doifelse\@@kjkjminbreedte\v!fit
- {\doifelse\@@kjkjbreedte\v!max
+ {\doifelse\@@kjkjminwidth\v!fit
+ {\doifelse\@@kjkjwidth\v!max
{\dopreparestackcaptionmax{#1}{#2}{#3}{#4}}
{\ifdim\wd\tempcaptionbox>\wd\tempfloatbox % wider caption
- \doifelse\@@kjkjbreedte\v!fit
+ \doifelse\@@kjkjwidth\v!fit
{\dopreparestackcaptionaut{#1}{#2}{#3}{#4}}
{\dopreparestackcaptionwid{#1}{#2}{#3}{#4}}%
\else
@@ -1240,7 +1240,7 @@
{\dopreparestackcaptionfix{#1}{#2}{#3}{#4}}}% new, special effects (see icare)
\edef\width{\the\wd\tempfloatbox}%
\addlocalbackgroundtobox\tempfloatbox
- \setbox\tempcaptionbox\hbox{\@@kjkjcommando{\box\tempcaptionbox}}%
+ \setbox\tempcaptionbox\hbox{\@@kjkjcommand{\box\tempcaptionbox}}%
\addlocalbackgroundtobox\tempcaptionbox
\buildfloatbox
\fi
@@ -1268,43 +1268,43 @@
\locatefloat{\copy\tempfloatbox}}}
\def\dopreparestackcaptionfix#1#2#3#4%
- {\dosetraggedvbox\@@kjkjuitlijnen
+ {\dosetraggedvbox\@@kjkjalign
\setbox\tempcaptionbox\raggedbox
- {\hsize\@@kjkjminbreedte % special effects
+ {\hsize\@@kjkjminwidth % special effects
\putcompletecaption{#4}{#2}{#3}{0}}}
\def\dopreparestackcaptionmax#1#2#3#4%
- {\dosetraggedvbox\@@kjkjuitlijnen
+ {\dosetraggedvbox\@@kjkjalign
\setbox\tempcaptionbox\raggedbox
{\hsize\wd\tempfloatbox
\putcompletecaption{#4}{#2}{#3}{0}}}
\def\dopreparestackcaptionwid#1#2#3#4%
- {\dosetraggedvbox\@@kjkjuitlijnen
+ {\dosetraggedvbox\@@kjkjalign
\setbox\tempcaptionbox\raggedbox
- {\hsize\@@kjkjbreedte
+ {\hsize\@@kjkjwidth
\putcompletecaption{#4}{#2}{#3}{0}}}
\def\dopreparestackcaptionmin#1#2#3#4%
{\raggedcenter % the default
- \dosetraggedvbox\@@kjkjuitlijnen % when given
+ \dosetraggedvbox\@@kjkjalign % when given
\setbox\tempcaptionbox\raggedbox % vbox, keeps footnotes
{\hsize\wd\tempfloatbox
\putcompletecaption{#4}{#2}{#3}{0}}}
% \def\dopreparestackcaptionaut#1#2#3#4%
-% {\doifsomething\@@kjkjuitlijnen
-% {\ExpandBothAfter\doifnotinset\v!middle\@@kjkjuitlijnen
+% {\doifsomething\@@kjkjalign
+% {\ExpandBothAfter\doifnotinset\v!middle\@@kjkjalign
% {\let\captionovershoot\!!zeropoint}}%
% \ifdim\wd\tempfloatbox>\hsize
% % float is wider than \hsize
-% \dosetraggedvbox\@@kjkjuitlijnen
+% \dosetraggedvbox\@@kjkjalign
% \setbox\scratchbox\raggedbox % trial run
% {\hsize\wd\tempfloatbox
% \notesenabledfalse
% \putcompletecaption{#4}{#2}{#3}{0}}%
% \ifdim\ht\scratchbox>\lineheight % more lines
-% \dosetraggedvbox\@@kjkjuitlijnen
+% \dosetraggedvbox\@@kjkjalign
% \setbox\tempcaptionbox\raggedbox
% {\hsize\wd\tempfloatbox
% \advance\hsize -\captionovershoot\relax
@@ -1332,16 +1332,16 @@
% \putcompletecaption{#4}{#2}{#3}{0}}%
% \ifdim\ht\scratchbox>\lineheight
% % at least an average word longer than a line
-% \dosetraggedvbox\@@kjkjuitlijnen
+% \dosetraggedvbox\@@kjkjalign
% \setbox\tempcaptionbox\raggedbox
% {\advance\scratchdimen \captionovershoot
% \ifdim\scratchdimen<\hsize \hsize\scratchdimen \fi
% \putcompletecaption{#4}{#2}{#3}{0}}%
% \else
% % just over a line, don't use an overshoot
-% % \doifinsetelse\@@kjkjuitlijnen{\v!left,\v!right}
-% \expanded{\doifcommonelse{\@@kjkjuitlijnen}}{\v!left,\v!right,\v!flushleft,\v!flushright}
-% {\dosetraggedvbox\@@kjkjuitlijnen
+% % \doifinsetelse\@@kjkjalign{\v!left,\v!right}
+% \expanded{\doifcommonelse{\@@kjkjalign}}{\v!left,\v!right,\v!flushleft,\v!flushright}
+% {\dosetraggedvbox\@@kjkjalign
% \setbox\tempcaptionbox\raggedbox
% {\hsize\scratchdimen
% % strange : \raggedcenter
@@ -1354,19 +1354,19 @@
% \fi}
\def\dopreparestackcaptionaut#1#2#3#4%
- {\doifsomething\@@kjkjuitlijnen
- {\ExpandBothAfter\doifnotinset\v!middle\@@kjkjuitlijnen
+ {\doifsomething\@@kjkjalign
+ {\ExpandBothAfter\doifnotinset\v!middle\@@kjkjalign
{\let\captionovershoot\!!zeropoint}}%
\edef\captionhsize{\the\wd\tempfloatbox}%
\ifdim\captionhsize>\hsize
% float is wider than \hsize
- \dosetraggedvbox\@@kjkjuitlijnen
+ \dosetraggedvbox\@@kjkjalign
\setbox\scratchbox\raggedbox % trial run
{\hsize\captionhsize
\notesenabledfalse
\putcompletecaption{#4}{#2}{#3}{0}}%
\ifdim\ht\scratchbox>\lineheight % more lines
- \dosetraggedvbox\@@kjkjuitlijnen
+ \dosetraggedvbox\@@kjkjalign
\setbox\tempcaptionbox\raggedbox
{\hsize\captionhsize
\advance\hsize -\captionovershoot\relax
@@ -1394,7 +1394,7 @@
\putcompletecaption{#4}{#2}{#3}{0}}%
\ifdim\ht\scratchbox>\lineheight
% at least an average word longer than a line
- \dosetraggedvbox\@@kjkjuitlijnen
+ \dosetraggedvbox\@@kjkjalign
\setbox\tempcaptionbox\raggedbox
{\scratchdimen\captionhsize
\advance\scratchdimen \captionovershoot
@@ -1402,8 +1402,8 @@
\putcompletecaption{#4}{#2}{#3}{0}}%
\else
% just over a line, don't use an overshoot
- \expanded{\doifcommonelse{\@@kjkjuitlijnen}}{\v!left,\v!right,\v!flushleft,\v!flushright}
- {\dosetraggedvbox\@@kjkjuitlijnen
+ \expanded{\doifcommonelse{\@@kjkjalign}}{\v!left,\v!right,\v!flushleft,\v!flushright}
+ {\dosetraggedvbox\@@kjkjalign
\setbox\tempcaptionbox\raggedbox
{\hsize\captionhsize
% strange : \raggedcenter
@@ -1435,38 +1435,38 @@
{\setlocalfloathsize
\forgetall
\processaction
- [\@@kjkjplaats]
+ [\@@kjkjlocation]
[ \v!top=>\locatefloat{\box\tempcaptionbox}%
- \endgraf\nointerlineskip\@@kjkjtussen
+ \endgraf\nointerlineskip\@@kjkjinbetween
\locatefloat{\box\tempfloatbox},
\v!bottom=>\locatefloat{\box\tempfloatbox}%
- \endgraf\nointerlineskip\@@kjkjtussen
+ \endgraf\nointerlineskip\@@kjkjinbetween
\locatefloat{\box\tempcaptionbox},
\v!high=>\locatefloat
- {\doifelse\@@flflplaats\v!left
+ {\doifelse\@@flfllocation\v!left
{\box\tempfloatbox
- \dotfskip\@@kjkjafstand
- \vbox to\ht\tempfloatbox{\@@kjkjtussen\box\tempcaptionbox\vfill}}
- {\vbox to\ht\tempfloatbox{\@@kjkjtussen\box\tempcaptionbox\vfill}%
+ \dotfskip\@@kjkjdistance
+ \vbox to\ht\tempfloatbox{\@@kjkjinbetween\box\tempcaptionbox\vfill}}
+ {\vbox to\ht\tempfloatbox{\@@kjkjinbetween\box\tempcaptionbox\vfill}%
\tfskip
\box\tempfloatbox}},
\v!low=>\locatefloat
- {\doifelse\@@flflplaats\v!left
+ {\doifelse\@@flfllocation\v!left
{\box\tempfloatbox
- \dotfskip\@@kjkjafstand
+ \dotfskip\@@kjkjdistance
\vbox to\ht\tempfloatbox
- {\vfill\box\tempcaptionbox\@@kjkjtussen}}
+ {\vfill\box\tempcaptionbox\@@kjkjinbetween}}
{\vbox to\ht\tempfloatbox
- {\vfill\box\tempcaptionbox\@@kjkjtussen}%
- \dotfskip\@@kjkjafstand
+ {\vfill\box\tempcaptionbox\@@kjkjinbetween}%
+ \dotfskip\@@kjkjdistance
\box\tempfloatbox}},
\v!middle=>\locatefloat
- {\doifelse\@@flflplaats\v!left
+ {\doifelse\@@flfllocation\v!left
{\box\tempfloatbox
- \dotfskip\@@kjkjafstand
+ \dotfskip\@@kjkjdistance
\vbox to\ht\tempfloatbox{\vfill\box\tempcaptionbox\vfill}}
{\vbox to\ht\tempfloatbox{\vfill\box\tempcaptionbox\vfill}%
- \dotfskip\@@kjkjafstand
+ \dotfskip\@@kjkjdistance
\box\tempfloatbox}},
\s!unknown=>\locatefloat{\box\tempfloatbox},
\v!none=>\locatefloat{\box\tempfloatbox}]}}
@@ -1567,11 +1567,11 @@
\ifnofloatcaption
\global\setbox\floatbox\vbox{\box\tempfloatbox}%
\else
- \doifelse\@@kjkjbreedte\v!max
- {\dosetraggedvbox\@@kjkjuitlijnen
+ \doifelse\@@kjkjwidth\v!max
+ {\dosetraggedvbox\@@kjkjalign
\setbox\tempcaptionbox\raggedbox
{\hsize\wd\tempfloatbox\putcompletecaption{#4}{#2}{#3}{0}}}%
- {\doifelse\@@kjkjbreedte\v!fit
+ {\doifelse\@@kjkjwidth\v!fit
{\ifdim\wd\tempcaptionbox>\wd\tempfloatbox\relax
\setbox\tempcaptionbox\vbox
{\forgetall\hsize\wd\tempfloatbox\putcompletecaption{#4}{#2}{#3}{0}}%
@@ -1579,23 +1579,23 @@
\setbox\tempcaptionbox\hbox to \wd\tempfloatbox
{\hss\box\tempcaptionbox\hss}%
\fi}
- {\dosetraggedvbox\@@kjkjuitlijnen
+ {\dosetraggedvbox\@@kjkjalign
\setbox\tempcaptionbox\raggedbox
{\hsize\wd\tempfloatbox\putcompletecaption{#4}{#2}{#3}{0}}}}%
- \setbox\tempcaptionbox\hbox{\@@kjkjcommando{\box\tempcaptionbox}}%
+ \setbox\tempcaptionbox\hbox{\@@kjkjcommand{\box\tempcaptionbox}}%
\addlocalbackgroundtobox\tempcaptionbox % no \doglobal
\global\setbox\floatbox\vbox
{\processaction
- [\@@kjkjplaats]
- [ \v!top=>\box\tempcaptionbox
- \endgraf\nointerlineskip\@@kjkjtussen
+ [\@@kjkjlocation]
+ [ \v!top=>\box\tempcaptionbox
+ \endgraf\nointerlineskip\@@kjkjinbetween
\box\tempfloatbox,
- \v!bottom=>\box\tempfloatbox
- \endgraf\nointerlineskip\@@kjkjtussen
+ \v!bottom=>\box\tempfloatbox
+ \endgraf\nointerlineskip\@@kjkjinbetween
\box\tempcaptionbox,
\v!none=>\box\tempfloatbox,
\s!unknown=>\box\tempfloatbox
- \endgraf\nointerlineskip\@@kjkjtussen
+ \endgraf\nointerlineskip\@@kjkjinbetween
\box\tempcaptionbox]}%
\fi
% \doglobal\addlocalbackgroundtobox\floatbox
@@ -1606,14 +1606,14 @@
\long\def\dosetfloatbox#1#2#3#4% todo : \global\setbox
{\ifvisible
\par
- \edef\@@kjkjplaats {\getvalue{\??kj#4\c!location }}%
- \def\@@kjkjtussen {\getvalue{\??kj#4\c!inbetween }}% no \edef
- \def\@@kjkjcommando {\getvalue{\??kj#4\c!command }}% no \edef
- \edef\@@kjkjbreedte {\getvalue{\??kj#4\c!width }}%
- \edef\@@kjkjminbreedte{\getvalue{\??kj#4\c!minwidth}}% in geval van automatisch
- \edef\@@kjkjafstand {\getvalue{\??kj#4\c!distance }}%
- \edef\@@kjkjuitlijnen {\getvalue{\??kj#4\c!align }}%
- \edef\@@flflplaats {\getvalue{\??fl#4\c!location }}%
+ \edef\@@kjkjlocation {\getvalue{\??kj#4\c!location}}%
+ \def\@@kjkjinbetween{\getvalue{\??kj#4\c!inbetween}}% no \edef
+ \def\@@kjkjcommand {\getvalue{\??kj#4\c!command}}% no \edef
+ \edef\@@kjkjwidth {\getvalue{\??kj#4\c!width}}%
+ \edef\@@kjkjminwidth {\getvalue{\??kj#4\c!minwidth}}% in geval van automatisch
+ \edef\@@kjkjdistance {\getvalue{\??kj#4\c!distance}}%
+ \edef\@@kjkjalign {\getvalue{\??kj#4\c!align}}%
+ \edef\@@flfllocation {\getvalue{\??fl#4\c!location}}%
\ifparfloat
\@EA\dosetparfloat % {#1}{#2}{#3}{#4}%
\else
diff --git a/tex/context/base/page-new.tex b/tex/context/base/page-new.tex
index 1c79f428c..8158f2e97 100644
--- a/tex/context/base/page-new.tex
+++ b/tex/context/base/page-new.tex
@@ -1,5 +1,7 @@
\unprotect
+% % % NOT ENGLISH % % %
+
% clean up footnotes to notes
% We need to set the \dimen globally since we are in the
diff --git a/tex/context/base/page-num.tex b/tex/context/base/page-num.tex
index 5bab4251e..f27e2e8a7 100644
--- a/tex/context/base/page-num.tex
+++ b/tex/context/base/page-num.tex
@@ -384,7 +384,7 @@
\global\rightpagetrue
\fi}
-\def\@@nmin {} % kan vervallen (upward compatibility)
+\def\@@nmin {} % kan vervallen (upward compatibility)
\def\@@nmlocation {} % mag {plaats, in} zijn
\newcounter\@@pagenumberlocation
@@ -402,16 +402,14 @@
\ExpandFirstAfter\processallactionsinset
[\@@nmlocation]
[ \v!middle=>\dododosetpagenumberlocation{\v!text\c!middletext},
- \v!left=>\dododosetpagenumberlocation{\v!text\c!lefttext},
- \v!right=>\dododosetpagenumberlocation{\v!text\c!righttext},
- \v!inleft=>\dododosetpagenumberlocation{\v!margin\c!lefttext},
- \v!inright=>\dododosetpagenumberlocation{\v!margin\c!righttext},
- \v!inmargin=>\dododosetpagenumberlocation{\v!margin\ifdubbelzijdig
- \c!margintext\else\c!righttext\fi},
- \v!margin=>\dododosetpagenumberlocation{\v!margin\ifdubbelzijdig
- \c!margintext\else\c!righttext\fi},
- \v!atmargin=>\dododosetpagenumberlocation{\v!text\c!marginedgetext},
- \v!marginedge=>\dododosetpagenumberlocation{\v!text\c!marginedgetext}]%
+ \v!left=>\dododosetpagenumberlocation{\v!text\c!lefttext},
+ \v!right=>\dododosetpagenumberlocation{\v!text\c!righttext},
+ \v!inleft=>\dododosetpagenumberlocation{\v!margin\c!lefttext},
+ \v!inright=>\dododosetpagenumberlocation{\v!margin\c!righttext},
+ \v!inmargin=>\dododosetpagenumberlocation{\v!margin\ifdubbelzijdig\c!margintext\else\c!righttext\fi},
+ \v!margin=>\dododosetpagenumberlocation{\v!margin\ifdubbelzijdig\c!margintext\else\c!righttext\fi},
+ \v!atmargin=>\dododosetpagenumberlocation{\v!text\c!marginedgetext},
+ \v!marginedge=>\dododosetpagenumberlocation{\v!text\c!marginedgetext}]%
\ifdone \else
\dododosetpagenumberlocation{\v!text\c!middletext}% default
\fi
@@ -528,7 +526,8 @@
{\ifnum\countervalue{\??se#1}>\zerocount
\getvalue{#1\c!number}\@@nmnumberseparator
\fi}%
- \doifsomething\@@nmtext{\@@nmtext\@@nmnumberseparator}\donexttracklevel{#1}}
+ \doifsomething\@@nmtext{\@@nmtext\@@nmnumberseparator}% strange option, what was the purpose of text?
+ \donexttracklevel{#1}}
\unexpanded\def\completepagenumber
{\doif{\@@nmstate\@@pnstate}{\v!start\v!start}
diff --git a/tex/context/base/page-set.tex b/tex/context/base/page-set.tex
index cc5fc1d35..cdf95cb7a 100644
--- a/tex/context/base/page-set.tex
+++ b/tex/context/base/page-set.tex
@@ -2385,7 +2385,7 @@
\processaction
[\getvalue{\??mt##1#2\c!state}]
[ \v!start=>\donetrue,
- \v!repeat=>\donetrue,
+ \v!repeat=>\donetrue,
\s!unknown=>\doperformtest\commalistelement\donetrue\donefalse]%
\ifdone\dodoinitializecolumntextareas{##1}{#2}\fi
\fi}%
diff --git a/tex/context/base/s-mod-00.tex b/tex/context/base/s-mod-00.tex
index e0026fafc..f584a23b6 100644
--- a/tex/context/base/s-mod-00.tex
+++ b/tex/context/base/s-mod-00.tex
@@ -255,7 +255,7 @@
\definetyping [MP] [\c!option=MP, \c!margin=\v!standard]
\definetyping [TEX] [\c!option=TEX,\c!margin=\v!standard]
-\setuptyping [\v!typing] [\c!margin=\v!standard]
+\setuptyping [\v!typing] [\c!margin=\v!standard]
\setuptyping [\v!file] [\c!margin=\v!standard]
\setuptyping [definition] [\c!margin=0pt]
@@ -353,13 +353,13 @@
\defineparagraphs [interface] [\c!n=2]
\setupparagraphs [interface] [1] [\c!width=4cm]
-\def\startvoorbeeld{\par\startnarrower}
-\def\stopvoorbeeld {\stopnarrower}
+\def\startexample{\par\startnarrower} \let\startvoorbeeld\startexample
+\def\stopexample {\stopnarrower} \let\stopvoorbeeld \stopexample
\gdef\VisualizeLastSpace{\ifdim\lastskip>0pt\unskip\tttf\char32\fi}
-\gdef\ShowHeadText #1{\tttf#1\VL\headtext {#1}\VisualizeLastSpace}
-\gdef\ShowLabelText#1{\tttf#1\VL\labeltext{#1}\VisualizeLastSpace}
+\gdef\ShowHeadText #1{\tttf#1\VL\mainlanguage[\currentlanguage]\headtext {#1}\VisualizeLastSpace}
+\gdef\ShowLabelText#1{\tttf#1\VL\mainlanguage[\currentlanguage]\labeltext{#1}\VisualizeLastSpace}
\startbuffer[lang-a]
\starttable[|l|l|]
@@ -390,8 +390,8 @@
\VL \ShowLabelText \v!graphic \VL\MR
\VL \ShowLabelText \v!chapter \VL\MR
\VL \ShowLabelText \v!section \VL\MR
- \VL \ShowLabelText \subsection \VL\MR
- \VL \ShowLabelText \subsubsection \VL\MR
+ \VL \ShowLabelText \v!subsection \VL\MR
+ \VL \ShowLabelText \v!subsubsection \VL\MR
\VL \ShowLabelText \v!appendix \VL\MR
\VL \ShowLabelText \v!part \VL\MR
\VL \ShowLabelText \v!line \VL\MR
@@ -440,9 +440,9 @@
\gdef\ShowTextsValues [#1] [#2]
{\vbox\bgroup
\language[#1]%
- \setbox0=\hbox to \hsize{\hss\bfb#2 language defaults\hss}
- \dp0=0pt
- \box0
+ \setbox\scratchbox\hbox to \hsize{\hss\bfb#2 language defaults\hss}
+ \dp\scratchbox\zeropoint
+ \box\scratchbox
\vskip1em
\hrule
\vskip2em
diff --git a/tex/context/base/spec-fdf.tex b/tex/context/base/spec-fdf.tex
index a1e792bf1..819be008e 100644
--- a/tex/context/base/spec-fdf.tex
+++ b/tex/context/base/spec-fdf.tex
@@ -1416,9 +1416,9 @@
\def\setFDFalignment[#1]%
{\processaction
[#1]
- [ \v!left=>\edef\FDFalign{2}, % raggedleft
+ [ \v!left=>\edef\FDFalign{2}, % raggedleft
\v!middle=>\edef\FDFalign{1}, % raggedcenter
- \v!right=>\edef\FDFalign{0}]} % raggedright
+ \v!right=>\edef\FDFalign{0}]} % raggedright
%D \macros
%D {setFDFattributes}
@@ -1448,7 +1448,7 @@
\def\setFDFattributes[#1,#2,#3,#4]% style, color, backgroundcolor, framecolor
{\bgroup % nog interlinie: n TL
- \setbox\scratchbox=\hbox
+ \setbox\scratchbox\hbox
\bgroup
\doconvertfont{#1}{}%
\PointsToBigPoints\bodyfontsize\size % x/xx, so better the actual size
@@ -1589,12 +1589,10 @@
%D which simply redefined the previous macro to one that prints
%D a message to the console.
-\def\testFDFactions%
+\def\testFDFactions
{\def\setFDFaction##1##2%
- {\doPSsanitizeJScode console.show();console.println("executing:##1");
- \to\sanitizedJScode
- \edef\FDFactions%
- {\FDFactions /##1 << /S /JavaScript /JS (\sanitizedJScode) >> }}}
+ {\doPSsanitizeJScode console.show();console.println("executing:##1"); \to\sanitizedJScode
+ \edef\FDFactions{\FDFactions /##1 << /S /JavaScript /JS (\sanitizedJScode) >> }}}
%D \macros
%D {doFDFregistercalculationset}
@@ -1665,7 +1663,7 @@
\newif\ifbuildFDFdictionary \buildFDFdictionarytrue
\newif\ifbuildFDFencodingvector \buildFDFencodingvectortrue
-\def\defineFDFfonts%
+\def\defineFDFfonts
{\let\FDFfonts\empty
\processcommacommand[\FDFusedfonts]\defineFDFfont}
@@ -1771,13 +1769,13 @@
\def\dosetuppageview#1% watch the v-h swapping here
{\processaction
[#1]
- [\v!fit=>\def\PDFpageviewkey {fit}\def\PDFpageviewwrd{/Fit},
- \v!width=>\def\PDFpageviewkey {fith}\def\PDFpageviewwrd{/FitH},
- \v!height=>\def\PDFpageviewkey {fitv}\def\PDFpageviewwrd{/FitV},
- \v!minbreedte=>\def\PDFpageviewkey{fitbh}\def\PDFpageviewwrd{/FitBH},
- \v!minhoogte=>\def\PDFpageviewkey{fitbv}\def\PDFpageviewwrd{/FitBV},
- \v!standard=>\def\PDFpageviewkey{xyz \PDFpagexyzspec}\def\PDFpageviewwrd{/XYZ \PDFpagexyzspec},
- \s!unknown=>\def\PDFpageviewkey {fit}\def\PDFpageviewwrd{/Fit}]%
+ [ \v!fit=>\def\PDFpageviewkey {fit}\def\PDFpageviewwrd{/Fit},
+ \v!width=>\def\PDFpageviewkey {fith}\def\PDFpageviewwrd{/FitH},
+ \v!height=>\def\PDFpageviewkey {fitv}\def\PDFpageviewwrd{/FitV},
+ \v!minwidth=>\def\PDFpageviewkey{fitbh}\def\PDFpageviewwrd{/FitBH},
+ \v!minheight=>\def\PDFpageviewkey{fitbv}\def\PDFpageviewwrd{/FitBV},
+ \v!standard=>\def\PDFpageviewkey{xyz \PDFpagexyzspec}\def\PDFpageviewwrd{/XYZ \PDFpagexyzspec},
+ \s!unknown=>\def\PDFpageviewkey {fit}\def\PDFpageviewwrd{/Fit}]%
\edef\PDFpageview{/View [\PDFpageviewwrd]}}
%D \macros
@@ -2433,7 +2431,7 @@
% {\reducetocoding[pdfdoc]\simplifycommands}
\def\enablePDFdocencoding
- {\enablecoding[pdfdoc]
+ {\enablecoding[pdfdoc]%
\enablelanguagespecifics[\currentlanguage]% redundant ?
\simplifycommands}
diff --git a/tex/context/base/supp-ini.tex b/tex/context/base/supp-ini.tex
index 96639d108..2dc88d246 100644
--- a/tex/context/base/supp-ini.tex
+++ b/tex/context/base/supp-ini.tex
@@ -20,9 +20,9 @@
\newif\ifeightbitcharacters \eightbitcharacterstrue
%D We want to have access to the raw alternatives of the
-%D special characters. We use a \type {\xdef} instead of
-%D \type {\let} because we need an expandable token in a
-%D \type {\write}.
+%D special characters. We use a \type {\xdef} instead of
+%D \type {\let} because we need an expandable token in a
+%D \type {\write}.
\bgroup
@@ -36,6 +36,8 @@
.catcode `.< 12 .xdef .letterless B.string<E
.catcode `.> 12 .xdef .lettermore B.string>E
.catcode `.# 12 .xdef .letterhash B.string#E
+.catcode `." 12 .xdef .letterdoublequote B.string"E
+.catcode `.' 12 .xdef .lettersinglequote B.string'E
.catcode `.$ 12 .xdef .letterdollar B.string$E
.catcode `.% 12 .xdef .letterpercent B.string%E
.catcode `.^ 12 .xdef .letterhat B.string^E
diff --git a/tex/context/base/supp-lan.tex b/tex/context/base/supp-lan.tex
index e49eac5c8..43c25f755 100644
--- a/tex/context/base/supp-lan.tex
+++ b/tex/context/base/supp-lan.tex
@@ -880,7 +880,7 @@
%D Since we don't have to bother about active characters any
%D longer, we end up with a pretty simple activating macro:
-\def\enableactivediscretionaries%
+\def\enableactivediscretionaries
{\let\dotextmodediscretionary=\activedotextmodediscretionary}
%D Done somewhere else: \type {\enableactivediscretionaries}.
@@ -891,7 +891,7 @@
%D In those situations where the nature of characters is
%D less predictable, we can use the more direct approach:
-\def\directdiscretionary#1%
+\unexpanded\def\directdiscretionary#1%
{\convertargument#1\to\discretionarytoken
\let\textmodediscretionary\compoundhyphen
\expandafter\ifx\csname\@tmd@\string#1\endcsname\relax
diff --git a/tex/context/base/supp-mis.tex b/tex/context/base/supp-mis.tex
index c568dda14..ab089a297 100644
--- a/tex/context/base/supp-mis.tex
+++ b/tex/context/base/supp-mis.tex
@@ -1,6 +1,6 @@
%D \module
%D [ file=supp-mis,
-%D version=1997.01.04,
+%D version=2004.10.26, % 1997.01.04,
%D title=\CONTEXT\ Support Macros,
%D subtitle=Missing (For Generic Use),
%D author=Hans Hagen,
@@ -93,7 +93,7 @@
%D Let's see if it works.
-\writestatus{loading}{Context Support Macros / Miscellaneous }
+\writestatus{loading}{Context Support Macros / Miscellaneous (2004.10.26)}
%D \macros
%D {protect,unprotect}
@@ -177,28 +177,24 @@
\ifnocontextobject \scratchread \do \newread \scratchread \fi
\ifnocontextobject \scratchwrite \do \newwrite \scratchwrite \fi
-\ifnocontextobject \zeropoint \do \newdimen \zeropoint \fi % else problems with dimen12
-\ifnocontextobject \onepoint \do \newdimen \onepoint \fi
-\ifnocontextobject \onebasepoint \do \newdimen \onebasepoint \fi
-\ifnocontextobject \zerocount \do \chardef \zerocount =0 \fi
-\ifnocontextobject \plusone \do \chardef \plusone =1 \fi
-\ifnocontextobject \minusone \do \newcount \minusone \fi
-
-\ifnocontextobject \thousandpoint \do \newdimen \thousandpoint \fi
-
-\ifnocontextobject \onerealpoint \do \newdimen \onerealpoint \fi % latex has a funny \onepoint
-
-\thousandpoint = 1000pt
-\zeropoint = 0pt
-\onepoint = 1pt
-\onebasepoint = 1bp
-\minusone = -1
-\onerealpoint = 1pt
-
-\ifnocontextobject \emptytoks \do \newtoks \emptytoks \fi
-
-\ifnocontextobject \nextbox \do \newbox \nextbox \fi
-\ifnocontextobject \nextdepth \do \newdimen \nextdepth \fi
+%D Watch out, in the past we ran into troubles with \type {\onepoint}
+%D (and others) mening something different in \LATEX\ then here. In
+%D such situations clashes are bound to happen. For this reason the
+%D assignments are no inside the test. We try to catch those situations
+%D but we cannot keep ahead of teh future.
+
+\ifnocontextobject \zeropoint \do \newdimen \zeropoint \zeropoint = 0pt \fi % else problems with dimen12
+\ifnocontextobject \onepoint \do \newdimen \onepoint \onepoint = 1pt \fi
+\ifnocontextobject \onebasepoint \do \newdimen \onebasepoint \onebasepoint = 1bp \fi
+\ifnocontextobject \zerocount \do \chardef \zerocount = 0 \fi
+\ifnocontextobject \plusone \do \chardef \plusone = 1 \fi
+\ifnocontextobject \minusone \do \newcount \minusone \minusone = -1 \fi
+\ifnocontextobject \thousandpoint \do \newdimen \thousandpoint \thousandpoint = 1000pt \fi
+\ifnocontextobject \onerealpoint \do \newdimen \onerealpoint \onerealpoint = 1pt \fi % latex has a funny \onepoint
+
+\ifnocontextobject \emptytoks \do \newtoks \emptytoks \fi
+\ifnocontextobject \nextbox \do \newbox \nextbox \fi
+\ifnocontextobject \nextdepth \do \newdimen \nextdepth \fi
\ifnocontextobject \CONTEXTtrue \do \newif\ifCONTEXT \fi
\ifnocontextobject \eightbitcharacterstrue \do \newif\ifeightbitcharacters \fi
diff --git a/tex/context/base/supp-pdf.tex b/tex/context/base/supp-pdf.tex
index c2c8f79e5..eaca8a0e9 100644
--- a/tex/context/base/supp-pdf.tex
+++ b/tex/context/base/supp-pdf.tex
@@ -1,6 +1,6 @@
%D \module
%D [ file=supp-pdf,
-%D version=2004.03.26,
+%D version=2004.10.26,
%D title=\CONTEXT\ Support Macros,
%D subtitle=\METAPOST\ to \PDF\ conversion,
%D author=Hans Hagen,
@@ -48,7 +48,7 @@
%D default engine for \TEX\ distributions, we need a more complex
%D test.
-\writestatus{loading}{Context Support Macros / PDF (2004.03.26)}
+\writestatus{loading}{Context Support Macros / PDF (2004.10.26)}
\unprotect
diff --git a/tex/context/base/syst-new.tex b/tex/context/base/syst-new.tex
index c56dda731..942f8e643 100644
--- a/tex/context/base/syst-new.tex
+++ b/tex/context/base/syst-new.tex
@@ -525,24 +525,28 @@
% \long\def\unstringdouble"#1"{#1}
% \long\def\unstringsingle'#1'{#1}
% \long\def\unstringspaced #1 {#1}
+%
+% \def\grabstring
+% {\dowithstringed\grabstringdouble\grabstringsingle\grabstringspaced}
+%
+% \def\dowithgrabbedstring#1%
+% {\def\@@dowithgrabbedstring{#1}%
+% \afterassignment\@@dowithgrabbedstring\grabstring}
+%
+% \long\def\grabstringdouble"#1"{\scratchtoks{#1}}
+% \long\def\grabstringsingle'#1'{\scratchtoks{#1}}
+% \long\def\grabstringspaced #1 {\scratchtoks{#1}}
-\long\def\unstringed#1% " ' space
- {\csname\ifcsname @u@s@#1\endcsname @u@s@#1\else\s!empty\fi\endcsname#1}
-
-\long\setvalue{@u@s@"}#1#2"{#2}
-\long\setvalue{@u@s@'}#1#2'{#2}
-\long\setvalue{@u@s@ }#1#2 {#2}
+\long\setvalue{@u@s@"}#1#2"{#2} \long\setvalue{@g@s@"}#1#2"{\scratchtoks{#2}}
+\long\setvalue{@u@s@'}#1#2'{#2} \long\setvalue{@g@s@'}#1#2'{\scratchtoks{#2}}
+\long\setvalue{@u@s@ }#1#2 {#2} \long\setvalue{@g@s@ }#1#2 {\scratchtoks{#2}}
-\def\grabstring
- {\dowithstringed\grabstringdouble\grabstringsingle\grabstringspaced}
+\long\def\unstringed#1{\csname\ifcsname @u@s@#1\endcsname @u@s@#1\else\s!empty\fi\endcsname#1}
+\long\def\grabstring#1{\csname\ifcsname @g@s@#1\endcsname @g@s@#1\else\s!empty\fi\endcsname#1}
\def\dowithgrabbedstring#1%
{\def\@@dowithgrabbedstring{#1}%
\afterassignment\@@dowithgrabbedstring\grabstring}
-
-\long\def\grabstringdouble"#1"{\scratchtoks{#1}}
-\long\def\grabstringsingle'#1'{\scratchtoks{#1}}
-\long\def\grabstringspaced #1 {\scratchtoks{#1}}
\def\expifequalelse#1#2%
{\@@ifequal#1\relax\relax\@@and#2\relax\relax\@@then}
diff --git a/tex/context/base/xtag-ini.tex b/tex/context/base/xtag-ini.tex
index 4cb3940dc..0e08bc083 100644
--- a/tex/context/base/xtag-ini.tex
+++ b/tex/context/base/xtag-ini.tex
@@ -235,6 +235,8 @@
% \def\alwaysreduceXMLtokens {\XMLtokensreduction\plusone}
% \def\permanentreduceXMLtokens{\XMLtokensreduction\plustwo}
+% part of this should move to a low level module
+
\bgroup
\catcode`\*=\@@comment
\catcode`\.=\@@escape
@@ -242,19 +244,19 @@
.catcode`.E=.@@endgroup
.catcode`.P=.@@parameter
-.catcode`.&=.@@active * .gdef.letterampersand B.string&E
-.catcode`.<=.@@active * .gdef.letterless B.string<E
- * .gdef.lettermore B.string>E
-.catcode`.#=.@@active * .gdef.letterhash B.string#E
-.catcode`.$=.@@active * .gdef.letterdollar B.string$E
-.catcode`.%=.@@active * .gdef.letterpercent B.string%E
-.catcode`.\=.@@active * .gdef.letterbackslash B.string\E
-.catcode`.^=.@@active * .gdef.letterhat B.string^E
-.catcode`._=.@@active * .gdef.letterunderscore B.string_E
-.catcode`.{=.@@active * .gdef.letterbgroup B.string{E
-.catcode`.}=.@@active * .gdef.letteregroup B.string}E
-.catcode`.|=.@@active * .gdef.letterbar B.string|E
-.catcode`.~=.@@active * .gdef.lettertilde B.string~E
+.catcode`.&=.@@active * .xdef.letterampersand B.string&E
+.catcode`.<=.@@active * .xdef.letterless B.string<E
+ * .xdef.lettermore B.string>E
+.catcode`.#=.@@active * .xdef.letterhash B.string#E
+.catcode`.$=.@@active * .xdef.letterdollar B.string$E
+.catcode`.%=.@@active * .xdef.letterpercent B.string%E
+.catcode`.\=.@@active * .xdef.letterbackslash B.string\E
+.catcode`.^=.@@active * .xdef.letterhat B.string^E
+.catcode`._=.@@active * .xdef.letterunderscore B.string_E
+.catcode`.{=.@@active * .xdef.letterbgroup B.string{E
+.catcode`.}=.@@active * .xdef.letteregroup B.string}E
+.catcode`.|=.@@active * .xdef.letterbar B.string|E
+.catcode`.~=.@@active * .xdef.lettertilde B.string~E
.gdef.enableXMLexpansion
B.def<B.doXMLelementE.let&=.doXMLentityE